ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0IGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKaW5kZXggZmVkMWE0OC4uZmYwNWZlNSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKKysrIGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKQEAgLTEsNCArMSw0IEBACi0qYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDE0IFNlcCAyMworKmF1dG9jbWQudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxNSBNYXIgMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTkzMyw2ICs5MzMsMTMgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogNi4gUGF0dGVybnMJCQkJCSphdXRvY21kLXBhdHRlcm5zKiAqe3BhdH0qCiAKK1RoZSB7cGF0fSBhcmd1bWVudCBjYW4gYmUgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdC4gIFRoaXMgd29ya3MgYXMgaWYgdGhlCitjb21tYW5kIHdhcyBnaXZlbiB3aXRoIGVhY2ggcGF0dGVybiBzZXBhcmF0ZWx5LiAgVGh1cyB0aGlzIGNvbW1hbmQ6ID4KKwk6YXV0b2NtZCBCdWZSZWFkICoudHh0LCouaW5mbyBzZXQgZXQKK0lzIGVxdWl2YWxlbnQgdG86ID4KKwk6YXV0b2NtZCBCdWZSZWFkICoudHh0IHNldCBldAorCTphdXRvY21kIEJ1ZlJlYWQgKi5pbmZvIHNldCBldAorCiBUaGUgZmlsZSBwYXR0ZXJuIHtwYXR9IGlzIHRlc3RlZCBmb3IgYSBtYXRjaCBhZ2FpbnN0IHRoZSBmaWxlIG5hbWUgaW4gb25lIG9mCiB0d28gd2F5czoKIDEuIFdoZW4gdGhlcmUgaXMgbm8gJy8nIGluIHRoZSBwYXR0ZXJuLCBWaW0gY2hlY2tzIGZvciBhIG1hdGNoIGFnYWluc3Qgb25seQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZXZhbC50eHQgYi9ydW50aW1lL2RvYy9ldmFsLnR4dAppbmRleCBiNzVkNmE4Li45MDE1YzhjIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ldmFsLnR4dAorKysgYi9ydW50aW1lL2RvYy9ldmFsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpldmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDE1IE1hciAyMQorKmV2YWwudHh0KglGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTUgQXByIDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTUyNSw3ICs1MjUsNyBAQAogVG8gYXZvaWQgdGhlIGV4dHJhIG5hbWUgZm9yIHRoZSBmdW5jdGlvbiBpdCBjYW4gYmUgZGVmaW5lZCBhbmQgZGlyZWN0bHkKIGFzc2lnbmVkIHRvIGEgRGljdGlvbmFyeSBpbiB0aGlzIHdheTogPgogCTpsZXQgbXlkaWN0ID0geydkYXRhJzogWzAsIDEsIDIsIDNdfQotCTpmdW5jdGlvbiBteWRpY3QubGVuKCkgZGljdAorCTpmdW5jdGlvbiBteWRpY3QubGVuKCkKIAk6ICAgcmV0dXJuIGxlbihzZWxmLmRhdGEpCiAJOmVuZGZ1bmN0aW9uCiAJOmVjaG8gbXlkaWN0LmxlbigpCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9oZWxwLnR4dCBiL3J1bnRpbWUvZG9jL2hlbHAudHh0CmluZGV4IGYxM2E1MjkuLmI5NjNjNmIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2hlbHAudHh0CisrKyBiL3J1bnRpbWUvZG9jL2hlbHAudHh0CkBAIC0xLDQgKzEsNCBAQAotKmhlbHAudHh0KglGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTIgRGVjIDA2CisqaGVscC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxNSBBcHIgMTEKIAogCQkJVklNIC0gbWFpbiBoZWxwIGZpbGUKIAkJCQkJCQkJCSBrCkBAIC0yNCw2ICsyNCw3IEBACiAJCSAgICAgIENvbW1hbmQtbGluZSBlZGl0aW5nCSAgY18JICAgOmhlbHAgY188RGVsPgogCQkgICAgICBWaW0gY29tbWFuZCBhcmd1bWVudAkgIC0JICAgOmhlbHAgLXIKIAkJICAgICAgT3B0aW9uCQkJICAnCSAgIDpoZWxwICd0ZXh0d2lkdGgnCisJCSAgICAgIFJlZ3VsYXIgZXhwcmVzc2lvbgkgIC8JICAgOmhlbHAgL1sKICAgU2VhcmNoIGZvciBoZWxwOiAgVHlwZSAiOmhlbHAgd29yZCIsIHRoZW4gaGl0IENUUkwtRCB0byBzZWUgbWF0Y2hpbmcKIAkJICAgIGhlbHAgZW50cmllcyBmb3IgIndvcmQiLgogCQkgICAgT3IgdXNlICI6aGVscGdyZXAgd29yZCIuIHw6aGVscGdyZXB8CkBAIC0yMDMsNiArMjA0LDE2IEBACiB8cGlfemlwLnR4dHwgICAgICAgWmlwIGFyY2hpdmUgZXhwbG9yZXIKIAogTE9DQUwgQURESVRJT05TOgkJCQkqbG9jYWwtYWRkaXRpb25zKgorfE1pbmVzLnR4dHwJVGhlIE1pbmVzIEdhbWUgCQkJCUp1bCAzMCwgMjAwOQorfFRhYnVsYXIudHh0fCAgIENvbmZpZ3VyYWJsZSwgZmxleGlibGUsIGludHVpdGl2ZSB0ZXh0IGFsaWduaW5nCit8Y2VjdXRpbC50eHR8CURyQ2hpcCdzIFV0aWxpdGllcwkJCQlKdW4gMTEsIDIwMDQKK3xleGFtcGxlLnR4dHwJRXhhbXBsZSBmb3IgYSBsb2NhbGx5IGFkZGVkIGhlbHAgZmlsZQorfG1hdGNoaXQudHh0fCAgIEV4dGVuZGVkICIlIiBtYXRjaGluZworfHBpX25ldHJ3LnR4dHwgIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxNCBKdWwgMDkKK3xzeW5jaGsudHh0fAlTeW50YXggQ2hlY2tlciAgICAJCQlNYXkgMTUsIDIwMTMKK3x0ZXN0LnR4dHwJVGVzdGluZyB0aGUgaMOpbHAgY8O2bW3DpW5kIG7DtHcKK3x0eXBlY29yci50eHR8CVBsdWdpbiBmb3IgY29ycmVjdGluZyB0eXBpbmcgbWlzdGFrZXMKK3xoZWxwcC50eHR8CUR1bW15IGxpbmUgdG8gYXZvaWQgYW4gZXJyb3IgbWVzc2FnZQogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICpiYXJzKgkJQmFycyBleGFtcGxlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCBiOTdlYjE2Li5lMTQ1MTk0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDE1IE1hciAyMAorKnN5bnRheC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzMyMiw2ICszMzIyLDMyIEBACiBJdCB3aWxsIGxvb2sgbXVjaCBiZXR0ZXIgd2l0aCBhIGZvbnQgaW4gYSBxdWFkcmF0aWMgY2VsbCBzaXplLCBlLmcuIGZvciBYOiA+CiAJOnNldCBndWlmb250PS0qLWNsZWFuLW1lZGl1bS1yLSotKi04LSotKi0qLSotODAtKgogCisKK1lBTUwJCQkJCQkqeWFtbC52aW0qICpmdC15YW1sLXN5bnRheCoKKworCQkJCQkqZzp5YW1sX3NjaGVtYSogKmI6eWFtbF9zY2hlbWEqCitBIFlBTUwgc2NoZW1hIGlzIGEgY29tYmluYXRpb24gb2YgYSBzZXQgb2YgdGFncyBhbmQgYSBtZWNoYW5pc20gZm9yIHJlc29sdmluZyAKK25vbi1zcGVjaWZpYyB0YWdzLiBGb3IgdXNlciB0aGlzIG1lYW5zIHRoYXQgWUFNTCBwYXJzZXIgbWF5LCBkZXBlbmRpbmcgb24gCitwbGFpbiBzY2FsYXIgY29udGVudHMsIHRyZWF0IHBsYWluIHNjYWxhciAod2hpY2ggY2FuIGFjdHVhbGx5IGJlIG9ubHkgc3RyaW5nIAorYW5kIG5vdGhpbmcgZWxzZSkgYXMgYSB2YWx1ZSBvZiB0aGUgb3RoZXIgdHlwZTogbnVsbCwgYm9vbGVhbiwgZmxvYXRpbmctcG9pbnQsIAoraW50ZWdlci4gYGc6eWFtbF9zY2hlbWFgIG9wdGlvbiBkZXRlcm1pbmVzIGFjY29yZGluZyB0byB3aGljaCBzY2hlbWEgdmFsdWVzIAord2lsbCBiZSBoaWdobGlnaHRlZCBzcGVjaWFsbHkuIFN1cHBvcnRlZCBzY2hlbWFzIGFyZQorCitTY2hlbWEJCURlc2NyaXB0aW9uIH4KK2ZhaWxzYWZlCU5vIGFkZGl0aW9uYWwgaGlnaGxpZ2h0aW5nLgoranNvbgkJU3VwcG9ydHMgSlNPTi1zdHlsZSBudW1iZXJzLCBib29sZWFucyBhbmQgbnVsbC4KK2NvcmUJCVN1cHBvcnRzIG1vcmUgbnVtYmVyLCBib29sZWFuIGFuZCBudWxsIHN0eWxlcy4KK3B5eWFtbAkJSW4gYWRkaXRpb24gdG8gY29yZSBzY2hlbWEgc3VwcG9ydHMgaGlnaGxpZ2h0aW5nIHRpbWVzdGFtcHMsIAorCQlidXQgdGhlcmUgYXJlIHNvbWUgZGlmZmVyZW5jZXMgaW4gd2hhdCBpcyByZWNvZ25pemVkIGFzIAorCQludW1iZXJzIGFuZCBtYW55IGFkZGl0aW9uYWwgYm9vbGVhbiB2YWx1ZXMgbm90IHByZXNlbnQgaW4gY29yZSAKKwkJc2NoZW1hLgorCitEZWZhdWx0IHNjaGVtYSBpcyBgY29yZWAuCisKK05vdGUgdGhhdCBzY2hlbWFzIGFyZSBub3QgYWN0dWFsbHkgbGltaXRlZCB0byBwbGFpbiBzY2FsYXJzLCBidXQgdGhpcyBpcyB0aGUgCitvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBzY2hlbWFzIGRlZmluZWQgaW4gWUFNTCBzcGVjaWZpY2F0aW9uIGFuZCB0aGUgb25seSAKK2RpZmZlcmVuY2UgZGVmaW5lZCBpbiB0aGUgc3ludGF4IGZpbGUuCisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogNS4gRGVmaW5pbmcgYSBzeW50YXgJCQkJCSo6c3luLWRlZmluZSogKkU0MTAqCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDJhYzE5MDAuLjRiNTE1MDcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtOTMyLDYgKzkzMiw3IEBACiAndF9SSScJdGVybS50eHQJLyondF9SSScqCiAndF9SVicJdGVybS50eHQJLyondF9SVicqCiAndF9TSScJdGVybS50eHQJLyondF9TSScqCisndF9TUicJdGVybS50eHQJLyondF9TUicqCiAndF9TYicJdGVybS50eHQJLyondF9TYicqCiAndF9TZicJdGVybS50eHQJLyondF9TZicqCiAndF9XUCcJdGVybS50eHQJLyondF9XUCcqCkBAIC04MTAzLDYgKzgxMDQsNyBAQAogdF9SSQl0ZXJtLnR4dAkvKnRfUkkqCiB0X1JWCXRlcm0udHh0CS8qdF9SVioKIHRfU0kJdGVybS50eHQJLyp0X1NJKgordF9TUgl0ZXJtLnR4dAkvKnRfU1IqCiB0X1NiCXRlcm0udHh0CS8qdF9TYioKIHRfU2YJdGVybS50eHQJLyp0X1NmKgogdF9XUAl0ZXJtLnR4dAkvKnRfV1AqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90b2RvLnR4dCBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CmluZGV4IGNiYzBlOGQuLmEwOTU3NTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RvZG8udHh0CisrKyBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxNSBNYXIgMjAKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTUgQXByIDEyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTY4LDE5ICs2OCwyOCBAQAogLSB0aGlzIGRvZXNuJ3Qgd29yazogInN5bnRheCBtYXRjaCBFcnJvck1zZyAvLlwlOWxcJT4yMGNcJlwlPDI4Yy8iLiAgTGVhdmluZwogICBvdXQgdGhlIFwmIHdvcmtzLiAgU2VlbXMgYW55IGNvbHVtbiBjaGVjayBhZnRlciBcJiBmYWlscy4KIAorUEhQIGNvbXBsZXRlIHVwZGF0ZSwgKGNvbXBsZXgsIDIwMTUgQXByIDIpCisKK1BIUCBzeW50YXggZmlsZSB1cGRhdGUuIChKYXNvbiBXb29mZW5kZW4sIDIwMTUgTWFyIDI0KQorCitVcGRhdGVkIHN5bnRheCBmaWxlcy4gKENoYXJsZXMgQ2FtcGJlbGwsIEFwciAyKQorVHdvIG1lc3NhZ2VzLgorCiBDaGVjayBvdXQgbmVvdmltIGJ1ZyByZXBvcnRzIHRoYXQgYXBwbHkgdG8gVmltOgogaHR0cHM6Ly9naXRodWIuY29tL25lb3ZpbS9uZW92aW0vaXNzdWVzP3E9bGFiZWwlM0FidWctdmltCiBTcGVjaWZpY2FsbHk6CiBodHRwczovL2dpdGh1Yi5jb20vbmVvdmltL25lb3ZpbS9jb21taXQvY2Y4ZTE3NWNmNTQyODFiY2FkNWU3MDQzMDhlOTJlYmIzZTYzODFkMwogaHR0cHM6Ly9naXRodWIuY29tL25lb3ZpbS9uZW92aW0vY29tbWl0L2Q3MDM4MTI3Y2E2YjM1NmFkMzNmZGVjMDhhYTNiMjNhYzZhODE3YWYKIGh0dHBzOi8vZ2l0aHViLmNvbS9uZW92aW0vbmVvdmltL2NvbW1pdC83N2FjZTY1YmRjZTM3OWYyZDliMTNlZTgxYWIzZmMwMTk1MWY5MmRjCitodHRwczovL3BhdGNoLWRpZmYuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Jhdy9uZW92aW0vbmVvdmltL3B1bGwvMjM5MC5wYXRjaAogQW5kIGFsc286CiBodHRwczovL2dpdGh1Yi5jb20vbmVvdmltL25lb3ZpbS9wdWxsLzIxNTcvY29tbWl0cwogCiBTdGlsbCB1c2luZyBmcmVlZCBtZW1vcnkgYWZ0ZXIgdXNpbmcgc2V0bG9jbGlzdCgpLiAobGNkLCAyMDE0IEp1bCAyMykKIE1vcmUgaW5mbyBKdWwgMjQuICBOb3QgY2xlYXIgd2h5LgogCi1VcGRhdGVkIElyaXNoIHRyYW5zbGF0aW9uLiAoS2V2aW4gU2Nhbm5lbGwsIDIwMTUgTWFyIDEzKQorUGF0Y2ggdG8gZml4IGlzc3VlcyB3aXRoIGxvY2tlZCBhbmQgZml4ZWQgdmFyaWFibGVzLgorKE9sYSBEYWJydW56LCAyMDE1IEFwciAxMSwgdXBkYXRlIEFwciAxMikKIAogQmV0dGVyIC5pY28gZmlsZSBmb3IgV2luZG93cy4gKFBhdCBTdXdhbHNraSwgMjAxNSBGZWIgMTMpCiBXYWl0aW5nIGZvciByZXNwb25zZSBvbiByZW1hcmsgZnJvbSBFZHdhcmQgRm94LgpAQCAtODksMjAgKzk4LDM2IEBACiAoWWFzdWhpcm8gTWF0c3Vtb3RvLCAyMDE0IEp1bCA4KQogQnJlYWtzIHRlc3RfZXZhbC4gIEluZWZmaWNpZW50LCBjYW4gd2Ugb25seSBjb21wdXRlIHlfd2lkdGggd2hlbiBuZWVkZWQ/CiAKK1Nob3cgVmltIGljb24gaW4gV2luZG93cyBjb250ZXh0IG1lbnUuIElzc3VlIDI0OS4gIChNYXJpbyBXZWJlciwgMjAxNSBBcHIgMTEpCisKIFByb2JsZW0gdGhhdCBhIHByZXZpb3VzIHNpbGVudCAiOnRocm93IiBjYXVzZXMgYSBmb2xsb3dpbmcgdHJ5L2NhdGNoIG5vdCB0bwogd29yay4gKFp5WCwgMjAxMyBTZXAgMjgpCiAKIFByb2JsZW0gdXNpbmcgIjp0cnkiIGluc2lkZSAiOmV4ZWN1dGUiLiAoWnlYLCAyMDEzIFNlcCAxNSkKIAorUiBpbmRlbnQgZmlsZXMgdXBkYXRlLiAoSmFrc29uIEFsdmVzIGRlIEFxdWlubywgTWFyIDMxKQorCitVcGRhdGVkIFB5dGhvbiBzeW50YXggZmlsZS4gKERtaXRyeSBWYXNpbGlldiwgTWFyIDMwKQorCiAiOmNkIEM6XFdpbmRvd3NcU3lzdGVtMzJcZHJpdmVyc1xldGMqIiBkb2VzIG5vdCB3b3JrLCBldmVuIHRob3VnaCB0aGUKIGRpcmVjdG9yeSBleGlzdHMuIChTZXJnaW8gR2FsbGVsbGksIDIwMTMgRGVjIDI5KQogCitVc2luZyAiOndpbmRvIiB0byBzZXQgb3B0aW9ucyBpbiBhbGwgd2luZG93cyBoYXMgdGhlIHNpZGUgZWZmZWN0IHRoYXQgaXQKK2NoYW5nZXMgdGhlIHdpbmRvdyBsYXlvdXQgYW5kIHRoZSBjdXJyZW50IHdpbmRvdy4gIE1ha2UgYSB2YXJpYW50IHRoYXQgc2F2ZXMKK2FuZCByZXN0b3Jlcy4gIFVzZSBpbiB0aGUgbWF0Y2hwYXJlbiBwbHVnaW4uCitQZXJoYXBzIHdlIGNhbiB1c2UgIjpzaWxlbnQgd2luZG93Ij8KKworUGF0Y2ggdG8gbWFrZSBSdWJ5IDIuMiB3b3JrLiAoQW5kcmVpIE9sc2VuKQorCitXaW5kb3cgZHJhd24gd3Jvbmcgd2l0aCAnbGFzdHN0YXR1cycgemVybyBhbmQgYSBjb21tYW5kLWxpbmUgd2luZG93LgorKFljbGVwdCBOZW1vLCAyMDE1IEFwciA3KQorUGF0Y2ggYnkgQ2hyaXN0aWFuLCBBcHIgOC4KKworUGF0Y2ggdG8gbWFrZSB1bmRvIGZpbGVzIG5vdCBleGVjdXRhYmxlLiAoTWlrYWVsIEJlcnRoZSwgMjAxNSBBcHIgNSkKKwogQyBpbmRlbnQ6IHNob3VsZCByZWNvZ25pemUgQzExIHJhdyBzdHJpbmdzLiAoTWFyayBMb2RhdG8sIDIwMTUgTWFyIDEpCiBOZWVkIHRvIHJlY29nbml6ZSBSInN0cmluZyIuCiAKLVN1Z2dlc3RlZCBwYXRjaCB0byBNaW5nVyBtYWtlZmlsZXMuIChNaWNoYWVsIFNveWthLCAyMDE1IE1hciAxMSkKLUZlZWRiYWNrIGZyb20gb3RoZXJzPwotCiBQYXRjaCBmb3IgOnRhYm1vdmUgbm90IHdvcmtpbmcgYXMgZG9jdW1lbnRlZC4gKEhpcm9oaXRvIEhpZ2FzaGksIDIwMTUgTWFyIDEwKQogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vaC1lYXN0L2ZmYWJiMGNkZDU4OWE1ZjlhY2QyCiBVcGRhdGVkIHBhdGNoIGVtYWlsZWQuIChNYXIgMTcpICBBd2FpdGluZyBjb21tZW50cy4KQEAgLTEzMSwzMiArMTU2LDIwIEBACiBXZWlyZCBlbmNyeXB0aW9uIHByb2JsZW1zIG9uIFdpbmRvd3MuIChCZW4gRnJpdHosIDIwMTUgRmViIDEzKQogR29lcyBhd2F5IHdoZW4gZGlzYWJsaW5nIHRoZSBzd2FwIGZpbGUuIChtaWdodDEsIEZlYiAxNikKIAotUHJvYmxlbSBjYXVzZWQgYnkgcGF0Y2ggNy4zLjYzODogd2luZG93LT5vcGVuIGRvZXMgbm90IHVwZGF0ZSB3aW5kb3cKLWNvcnJlY3RseS4gSXNzdWUgOTEuICBXaXRoIHBhdGNoLgotCiBNUy1XaW5kb3dzOiBDcmFzaCBvcGVuaW5nIHZlcnkgbG9uZyBmaWxlIG5hbWUgc3RhcnRpbmcgd2l0aCAiXFwiLgogKENocmlzdGlhbiBCcm9jaywgMjAxMiBKdW4gMjkpCiAKLVBhdGNoIHRvIGhhbmRsZSBkaXJlY3RvcmllcyBiZXR0ZXIgZm9yIC0tcmVtb3RlLiAoeGFpemVrLCAyMDE1IE1hciAxKQotCi1DdXJzb3JsaW5lIGJhY2tncm91bmQgY29sb3Igbm90IG1peGVkIHdpdGggY2hhcmFjdGVyIGhpZ2hsaWdodC4KLVBhdGNoIGJ5IFlhc3VoaXJvIE1hdHN1bW90bywgMjAxNCBEZWMgMy4KLQogVGhlIGFyZ3VtZW50IGZvciAiLVMiIGlzIG5vdCB0YWtlbiBsaXRlcmFsbHksIHRoZSAiOnNvIiBjb21tYW5kIGV4cGFuZHMKIHdpbGRjYXJkcy4gIEFkZCBhICI6bm93aWxkIiBjb21tYW5kIG1vZGlmaWVyPyAgKFp5WCwgMjAxNSBNYXJjaCA0KQogCi1Qcm9ibGVtIHVzaW5nIGRpZmYgc3ludGF4IHdpdGggY3A5MzIgZW5jb2RpbmcuICBJZGVhIGZyb20gWWFzdWhpcm8gTWF0c3Vtb3RvLAotcGF0Y2ggZnJvbSBLZW4gVGFrYXRhICgyMDE0IE5vdiA2KQorQnVpbGQgd2l0aCBQeXRob24gb24gTWFjIGRvZXMgbm90IGFsd2F5cyB1c2UgdGhlIHJpZ2h0IGxpYnJhcnkuCisoS2F6dW5vYnUgS3VyaXlhbWEsIDIwMTUgTWFyIDI4KQogCiBtbF91cGRhdGVjaHVuaygpIGlzIHNsb3cgd2hlbiByZXRyeWluZyBmb3IgYW5vdGhlciBlbmNvZGluZy4gKEpvaG4gTGl0dGxlLAogMjAxNCBTZXAgMTEpCiAKLVBhdGNoIHRvIGFkZCBjb3VudHMgdG8genIgYW5kIHptLiAoTWFyY2luIFN6YW1vdHVsc2tpLCAyMDE1IEphbiAyOCkKLQotUGF0Y2ggdG8gYWRkIGEgZGlmZmVyZW50IGVzY2FwZSBzZXF1ZW5jZSBmb3IgcmVwbGFjZSBtb2RlLgotKE9tYXIgU2FuZG92YWwsIDIwMTQgTm92IDMwKQotCi1QYXRjaCBvbiBJc3N1ZSAxNjYsIHBvcHVwIGRyYXdpbmcgd2l0aCAnJCcgaW4gJ2NwbycuCitQYXRjaCB0byBhZGQgJ3NwYWNlJyBhcmd1bWVudCB0byAnbGlzdGNoYXJzJy4gKElzc3VlIDM1MCkKK0F1dGhvcjogRGF2aWQgQsO8cmdpbgogCiBXaGVuIGEgc2Vzc2lvbiBmaWxlIGlzIGNyZWF0ZWQgYW5kIHRoZXJlIGFyZSAibm9maWxlIiBidWZmZXJzLCB0aGVzZSBhcmUgbm90CiBmaWxsZWQuICBOZWVkIHRvIHRyaWdnZXIgQnVmUmVhZENtZCBhdXRvY29tbWFuZHMuICBBbHNvIGhhbmRsZSBkZWxldGluZyB0aGUKQEAgLTE3NCwxNSArMTg3LDYgQEAKIE1lbW9yeSBmcmVlZCBieSAiOnN5biBjbGVhciIgYnV0IHN0aWxsIHJlZmVyZW5jZWQsIHN5bnRheCBpdGVtcyByZWZlcmVuY2VkCiBmcm9tIHR3byB3aW5kb3dzPyAgU3RvcHBlZCBoYXBwZW5pbmcgKEZlYiA1KS4KIAotV2luZG93IGhlaWdodCBjb21wdXRlZCBpbmNvcnJlY3RseSB3aGVuIFZpbSBpcyBtaW5pbWl6ZWQuCi1QYXRjaCB0byBmaXggdGhpcy4gKEluZ28gS2Fya2F0LCAyMDE0IERlYyAxOSkKLQotUGF0Y2ggdG8gZml4IENUUkwtVyBoYW5kbGluZyBpbiBJbnNlcnQgbW9kZSBmb3IgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLgotKFlhc3VoaXJvIE1hdHN1bW90bywgMjAxNSBKYW4gMjksIHVwZGF0ZSB3aXRoIHRlc3QpCi0KLVBhdGNoIHRvIGFsbG93IHZhbHVlcyBncmVhdGVyIHRoYW4gMjU1IGZvciBjdGVybWZnL2N0ZXJtYmcgb24gV2luZG93cy4KLShZYXN1aGlybyBNYXRzdW1vdG8sIDIwMTQgRGVjIDUpCi0KIFBhdGNoIGZvciBhbiBleHRyYSBhcmd1bWVudCB0byBtYXRjaGFkZCgpIGZvciBjb25jZWFsLiAoQ2hyaXN0aWFuIEJyYWJhbmR0LAogMjAxNSBGZWIgMTcsIHVwZGF0ZSBGZWIgMTkpCiAKQEAgLTQwOSw2ICs0MTMsOSBAQAogCiBHbyB0aHJvdWdoIG1vcmUgY292ZXJpdHkgcmVwb3J0cy4KIAorVGhlIHVuZG8gZmlsZSBuYW1lIGNhbiBnZXQgdG9vIGxvbmcuIChJc3N1ZSAzNDYpCitGb3IgdGhlIHBhdGggdXNlIGEgaGFzaCBpbnN0ZWFkIG9mIGRpciVkaXIlZGlyJW5hbWUgIGhhc2glbmFtZS4KKwogUGF0Y2ggdG8gYWRkICI6dW5kb3JlY292ZXIiLCBnZXQgYXMgbXVjaCB0ZXh0IG91dCBvZiB0aGUgdW5kbyBmaWxlIGFzCiBwb3NzaWJsZS4gKENocmlzdGlhbiBCcmFiYW5kdCwgMjAxNCBNYXIgMTIsIHVwZGF0ZSBBdWcgMjIpCiAKQEAgLTYyNSw3ICs2MzIsNyBAQAogYWZ0ZXIgc3RhcnRpbmcgdXA/CiAKIFBhdGNoIHRvIGFkZCAiOmxkbyIgYW5kICI6Y2RvIiwgZXhlY3V0ZSBjb21tYW5kcyBvdmVyIHF1aWNrZml4IGxpc3QgYW5kCi1sb2NhdGlvbiBsaXN0LiAoWWVnYXBwYW4gTGFrc2htYW5hbiwgMjAxMyBKdW4gMikKK2xvY2F0aW9uIGxpc3QuIChZZWdhcHBhbiBMYWtzaG1hbmFuLCAyMDEzIEp1biAyLCB1cGRhdGUgMjAxNSBNYXIgMjEpCiAKIDggICAic3RsIiBhbmQgInN0bG5jIiBpbiAnZmlsbGNoYXJzJyBkb24ndCB3b3JrIGZvciBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuCiAgICAgUGF0Y2ggYnkgQ2hyaXN0aWFuIFdlbGxlbmJyb2NrLCAyMDEzIEp1bCA1LgpAQCAtMTQyOSw2ICsxNDM2LDcgQEAKIAogUHJvYmxlbSB3aXRoICdsYW5nbWFwJyBiZWluZyB1c2VkIG9uIHRoZSByaHMgb2YgYSBtYXBwaW5nLiAoTmlrb2xhaSBXZWlidWxsLAogMjAwOCBNYXkgMTQpCitQb3NzaWJseSByZWxhdGVkIHByb2JsZW06IEFsZXhleSBNdXJhbm92LCAyMDE1IEFwciAyCiAKIFByb2JsZW0gd2l0aCBDVFJMLUYuIChDaGFybGVzIENhbXBiZWxsLCAyMDA4IE1hcmNoIDIxKQogT25seSBoYXBwZW5zIHdpdGggImd2aW0gLWdlb21ldHJ5ICIxNjB4MjYrNCsyNyIgLXUgTk9ORSAtVSBOT05FIHByb3AuYyIuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMDIudHh0IGIvcnVudGltZS9kb2MvdXNyXzAyLnR4dAppbmRleCA4YmZhOWJhLi5kYTYzNjQwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMDIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8wMi50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzAyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDEwIEp1bCAyMAorKnVzcl8wMi50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxNSBBcHIgMTIKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTUyNyw5ICs1MjcsMTEgQEAKIAk6aGVscCBzdWJqZWN0KCkKIDwJCUZ1bmN0aW9uICJzdWJqZWN0Ii4gPgogCTpoZWxwIC1zdWJqZWN0Ci08CQlDb21tYW5kLWxpbmUgb3B0aW9uICItc3ViamVjdCIuID4KKzwJCUNvbW1hbmQtbGluZSBhcmd1bWVudCAiLXN1YmplY3QiLiA+CiAJOmhlbHAgK3N1YmplY3QKIDwJCUNvbXBpbGUtdGltZSBmZWF0dXJlICIrc3ViamVjdCIuID4KKwk6aGVscCAvKgorPAkJUmVndWxhciBleHByZXNzaW9uIGl0ZW0gIioiID4KIAk6aGVscCBFdmVudE5hbWUKIDwJCUF1dG9jb21tYW5kIGV2ZW50ICJFdmVudE5hbWUiLiA+CiAJOmhlbHAgZGlncmFwaHMudHh0CmRpZmYgLS1naXQgYS9ydW50aW1lL2ZpbGV0eXBlLnZpbSBiL3J1bnRpbWUvZmlsZXR5cGUudmltCmluZGV4IDUxNTU0ODguLjc0NTUwMzYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZmlsZXR5cGUudmltCisrKyBiL3J1bnRpbWUvZmlsZXR5cGUudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3VwcG9ydCBmaWxlIHRvIGRldGVjdCBmaWxlIHR5cGVzCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDE1IE1hciAxMworIiBMYXN0IENoYW5nZToJMjAxNSBBcHIgMDYKIAogIiBMaXN0ZW4gdmVyeSBjYXJlZnVsbHksIEkgd2lsbCBzYXkgdGhpcyBvbmx5IG9uY2UKIGlmIGV4aXN0cygiZGlkX2xvYWRfZmlsZXR5cGVzIikKQEAgLTEyOTUsNyArMTI5NSw3IEBACiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgTXV0dHtuZyx9cmMJCXNldGYgbXV0dHJjCiAKICIgTmFubwotYXUgQnVmTmV3RmlsZSxCdWZSZWFkICovZXRjL25hbm9yYywubmFub3JjCXNldGYgbmFub3JjCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi9ldGMvbmFub3JjLCoubmFub3JjICAJc2V0ZiBuYW5vcmMKIAogIiBOYXN0cmFuIGlucHV0L0RNQVAKICJhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5kYXQJCQlzZXRmIG5hc3RyYW4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vai52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2oudmltCmluZGV4IDcxYWM0YzUuLjc3NDY5NjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vai52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9qLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6CUoKICIgTWFpbnRhaW5lcjoJRGF2aWQgQsO8cmdpbiA8Njc2Yzc0NzNAZ21haWwuY29tPgogIiBVUkw6CQlodHRwczovL2dpdGh1Yi5jb20vZ2x0cy92aW0tagotIiBMYXN0IENoYW5nZToJMjAxNS0wMS0xMQorIiBMYXN0IENoYW5nZToJMjAxNS0wMy0yNwogCiBpZiBleGlzdHMoJ2I6ZGlkX2Z0cGx1Z2luJykKICAgZmluaXNoCkBAIC0xNiwxMiArMTYsOSBAQAogc2V0bG9jYWwgY29tbWVudHM9Ok5CLgogc2V0bG9jYWwgY29tbWVudHN0cmluZz1OQi5cICVzCiBzZXRsb2NhbCBmb3JtYXRvcHRpb25zLT10Ci1zZXRsb2NhbCBzaGlmdHdpZHRoPTIKLXNldGxvY2FsIHNvZnR0YWJzdG9wPTIKLXNldGxvY2FsIGV4cGFuZHRhYgogc2V0bG9jYWwgbWF0Y2hwYWlycz0oOikKIAotbGV0IGI6dW5kb19mdHBsdWdpbiA9ICdzZXRsb2NhbCBtYXRjaHBhaXJzPCBleHBhbmR0YWI8IHNvZnR0YWJzdG9wPCBzaGlmdHdpZHRoPCBmb3JtYXRvcHRpb25zPCBjb21tZW50c3RyaW5nPCBjb21tZW50czwgaXNrZXl3b3JkPCcKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAnc2V0bG9jYWwgbWF0Y2hwYWlyczwgZm9ybWF0b3B0aW9uczwgY29tbWVudHN0cmluZzwgY29tbWVudHM8IGlza2V5d29yZDwnCiAKICIgU2VjdGlvbiBtb3ZlbWVudCB3aXRoIF1dIF1bIFtbIFtdLiBUaGUgc3RhcnQvZW5kIHBhdHRlcm5zIGJlbG93IGFyZSBhbWVuZGVkCiAiIGluc2lkZSB0aGUgZnVuY3Rpb24gaW4gb3JkZXIgdG8gYXZvaWQgbWF0Y2hpbmcgb24gdGhlIGN1cnJlbnQgY3Vyc29yIGxpbmUuCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92aW0udmltIGIvcnVudGltZS9zeW50YXgvdmltLnZpbQppbmRleCAzNTgyMzdkLi43MWE1NTVlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC92aW0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0KQEAgLTQ3LDcgKzQ3LDcgQEAKIHN5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJaW52YWttIGludmFudGkgaW52YXJhYiBpbnZhcmkgaW52YXV0b2luZGVudCBpbnZhdXRvd3JpdGVhbGwgaW52YmFja3VwIGludmJpbiBpbnZiaW9za2V5IGludmJvbWIgaW52Y2kgaW52Y29tcGF0aWJsZSBpbnZjb25za2V5IGludmNyYiBpbnZjc2NvcGV2ZXJib3NlIGludmNzdmVyYiBpbnZjdXJzb3JiaW5kIGludmRlY28gaW52ZGlmZiBpbnZlYiBpbnZlayBpbnZlcXVhbGFsd2F5cyBpbnZldCBpbnZleHJjIGludmZpbGVpZ25vcmVjYXNlIGludmZvbGRlbmFibGUgaW52Z3VpcHR5IGludmhrIAogCiAiIHRlcm1jYXAgY29kZXMgKHdoaWNoIGNhbiBhbHNvIGJlIHNldCkge3t7Mgotc3luIGtleXdvcmQgdmltT3B0aW9uIGNvbnRhaW5lZAl0X0FCIHRfYWwgdF9iYyB0X2NlIHRfY2wgdF9DbyB0X0NzIHRfQ1MgdF9DViB0X2RhIHRfZGIgdF9kbCB0X0RMIHRfRUkgdF9GMSB0X0YyIHRfRjMgdF9GNCB0X0Y1IHRfRjYgdF9GNyB0X0Y4IHRfRjkgdF9mcyB0X0lFIHRfSVMgdF9rMSB0X0sxIHRfazIgdF9rMyB0X0szIHRfazQgdF9LNCB0X2s1IHRfSzUgdF9rNiB0X0s2IHRfazcgdF9LNyB0X2s4IHRfSzggdF9rOSB0X0s5IHRfS0EgdF9rYiB0X2tCIHRfS0IgdF9LQyB0X2tkIHRfa0QgdF9LRCB0X2tlIHRfS0UgdF9LRiB0X0tHIHRfa2ggdF9LSCB0X2tJIHRfS0kgdF9LSiB0X0tLIHRfa2wgdF9LTCB0X2tOIHRfa1AgdF9rciB0X2tzIHRfa3UgdF9sZSB0X21iIHRfbWQgdF9tZSB0X21yIHRfbXMgdF9uZCB0X29wIHRfUkkgdF9SViB0X1NiIHRfc2UgdF9TZiB0X1NJIHRfc28gdF9zciB0X3RlIHRfdGkgdF90cyB0X3U3IHRfdWUgdF91cyB0X3V0IHRfdmIgdF92ZSB0X3ZpIHRfdnMgdF9XUCB0X1dTIHRfeHMgdF9aSCB0X1pSCitzeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCXRfQUIgdF9hbCB0X2JjIHRfY2UgdF9jbCB0X0NvIHRfQ3MgdF9DUyB0X0NWIHRfZGEgdF9kYiB0X2RsIHRfREwgdF9FSSB0X0YxIHRfRjIgdF9GMyB0X0Y0IHRfRjUgdF9GNiB0X0Y3IHRfRjggdF9GOSB0X2ZzIHRfSUUgdF9JUyB0X2sxIHRfSzEgdF9rMiB0X2szIHRfSzMgdF9rNCB0X0s0IHRfazUgdF9LNSB0X2s2IHRfSzYgdF9rNyB0X0s3IHRfazggdF9LOCB0X2s5IHRfSzkgdF9LQSB0X2tiIHRfa0IgdF9LQiB0X0tDIHRfa2QgdF9rRCB0X0tEIHRfa2UgdF9LRSB0X0tGIHRfS0cgdF9raCB0X0tIIHRfa0kgdF9LSSB0X0tKIHRfS0sgdF9rbCB0X0tMIHRfa04gdF9rUCB0X2tyIHRfa3MgdF9rdSB0X2xlIHRfbWIgdF9tZCB0X21lIHRfbXIgdF9tcyB0X25kIHRfb3AgdF9SSSB0X1JWIHRfU2IgdF9zZSB0X1NmIHRfU0kgdF9TUiB0X3NvIHRfc3IgdF90ZSB0X3RpIHRfdHMgdF91NyB0X3VlIHRfdXMgdF91dCB0X3ZiIHRfdmUgdF92aSB0X3ZzIHRfV1AgdF9XUyB0X3hzIHRfWkggdF9aUgogc3luIGtleXdvcmQgdmltT3B0aW9uIGNvbnRhaW5lZAl0X0FGIHRfQUwgdF9jZCB0X0NlIHRfY20gdF9jcyAKIHN5biBtYXRjaCAgIHZpbU9wdGlvbiBjb250YWluZWQJInRfJTEiCiBzeW4gbWF0Y2ggICB2aW1PcHRpb24gY29udGFpbmVkCSJ0XyMyIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveWFtbC52aW0gYi9ydW50aW1lL3N5bnRheC95YW1sLnZpbQppbmRleCAwNzNkYmY3Li42MjZkYzhhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC95YW1sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC95YW1sLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6ICAgICAgICAgWUFNTCAoWUFNTCBBaW4ndCBNYXJrdXAgTGFuZ3VhZ2UpIDEuMgogIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFBhdmxvdiA8enl4LnZpbUBnbWFpbC5jb20+CiAiIEZpcnN0IGF1dGhvcjogICAgIE5pa29sYWkgV2VpYnVsbCA8bm93QGJpdHdpLnNlPgotIiBMYXRlc3QgUmV2aXNpb246ICAyMDEwLTEwLTA4CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMTUtMDMtMjgKIAogaWYgZXhpc3RzKCdiOmN1cnJlbnRfc3ludGF4JykKICAgICBmaW5pc2gKQEAgLTExLDEzICsxMSw0MCBAQAogbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCiBzZXQgY3BvJnZpbQogCi1sZXQgczpuc19jaGFyID0gJ1wlKFwlKFtcblxyXHVGRUZGIFx0XVwpXEAhXHBcKScKLWxldCBzOm5zX3dvcmRfY2hhciA9ICdcJShcd1x8LVwpJwotbGV0IHM6bnNfdXJpX2NoYXIgID0gJ1wlKCVceFx4XHwnLnM6bnNfd29yZF9jaGFyLidcfFsjLzs/OkAmPSskLC4hfionJygpXFtcXV1cKScKKyIgQ2hvb3NlIHRoZSBzY2hlbWEgdG8gdXNlCisiIFRPRE86IFZhbGlkYXRlIHNjaGVtYQoraWYgIWV4aXN0cygnYjp5YW1sX3NjaGVtYScpCisgIGlmIGV4aXN0cygnZzp5YW1sX3NjaGVtYScpCisgICAgbGV0IGI6eWFtbF9zY2hlbWEgPSBnOnlhbWxfc2NoZW1hCisgIGVsc2UKKyAgICBsZXQgYjp5YW1sX3NjaGVtYSA9ICdjb3JlJworICBlbmRpZgorZW5kaWYKKworbGV0IHM6bnNfY2hhciA9ICdcJShbXG5cclx1RkVGRiBcdF1cQCFccFwpJworbGV0IHM6bnNfd29yZF9jaGFyID0gJ1tbOmFsbnVtOl1fXC1dJworbGV0IHM6bnNfdXJpX2NoYXIgID0gJ1wlKCVceFx4XHwnLnM6bnNfd29yZF9jaGFyLidcfFsjLzs/OkAmPSskLC4hfionJygpW1xdXVwpJwogbGV0IHM6bnNfdGFnX2NoYXIgID0gJ1wlKCVceFx4XHwnLnM6bnNfd29yZF9jaGFyLidcfFsjLzs/OkAmPSskLn4qJycoKV1cKScKLWxldCBzOmNfbnNfYW5jaG9yX2NoYXIgPSAnXCUoXCUoW1xuXHJcdUZFRkYgXHQsXFtcXXt9XVwpXEAhXHBcKScKLWxldCBzOmNfaW5kaWNhdG9yICAgICAgPSAnW1wtPzosXFtcXXt9IyYqIXw+JyciJUBgXScKLWxldCBzOmNfZmxvd19pbmRpY2F0b3IgPSAnWyxcW1xde31dJworbGV0IHM6Y19uc19hbmNob3JfY2hhciA9ICdcJShbXG5cclx1RkVGRiBcdCxbXF17fV1cQCFccFwpJworbGV0IHM6Y19pbmRpY2F0b3IgICAgICA9ICdbXC0/OixbXF17fSMmKiF8PicnIiVAYF0nCitsZXQgczpjX2Zsb3dfaW5kaWNhdG9yID0gJ1ssW1xde31dJworCitsZXQgczpuc19jaGFyX3dpdGhvdXRfY19pbmRpY2F0b3IgPSBzdWJzdGl0dXRlKHM6bnNfY2hhciwgJ1x2XENbXHpzJywgJ1w9czpjX2luZGljYXRvclsxOi0yXScsICcnKQorCitsZXQgczpfY29sbGVjdGlvbiA9ICdbXlxAIVwoXCUoXFxcLlx8XFteXFxcXV1cKVwrXCldJworbGV0IHM6X25lZ19jb2xsZWN0aW9uID0gJ1teXChcJShcXFwuXHxcW15cXFxdXVwpXCtcKV0nCitmdW5jdGlvbiBzOlNpbXBsaWZ5VG9Bc3N1bWVBbGxQcmludGFibGUocCkKKyAgICByZXR1cm4gc3Vic3RpdHV0ZShhOnAsICdcVlxDXFwlKCcuczpfY29sbGVjdGlvbi4nXFxAIVxccFxcKScsICdbXlwxXScsICcnKQorZW5kZnVuY3Rpb24KK2xldCBzOm5zX2NoYXIgPSBzOlNpbXBsaWZ5VG9Bc3N1bWVBbGxQcmludGFibGUoczpuc19jaGFyKQorbGV0IHM6bnNfY2hhcl93aXRob3V0X2NfaW5kaWNhdG9yID0gczpTaW1wbGlmeVRvQXNzdW1lQWxsUHJpbnRhYmxlKHM6bnNfY2hhcl93aXRob3V0X2NfaW5kaWNhdG9yKQorbGV0IHM6Y19uc19hbmNob3JfY2hhciA9IHM6U2ltcGxpZnlUb0Fzc3VtZUFsbFByaW50YWJsZShzOmNfbnNfYW5jaG9yX2NoYXIpCisKK2Z1bmN0aW9uIHM6U2ltcGxpZnlBZGphY2VudENvbGxlY3Rpb25zKHApCisgICAgcmV0dXJuIHN1YnN0aXR1dGUoYTpwLCAnXFZcQycuczpfY29sbGVjdGlvbi4nXFx8Jy5zOl9jb2xsZWN0aW9uLCAnW1wxXDJdJywgJ2cnKQorZW5kZnVuY3Rpb24KK2xldCBzOm5zX3VyaV9jaGFyID0gczpTaW1wbGlmeUFkamFjZW50Q29sbGVjdGlvbnMoczpuc191cmlfY2hhcikKK2xldCBzOm5zX3RhZ19jaGFyID0gczpTaW1wbGlmeUFkamFjZW50Q29sbGVjdGlvbnMoczpuc190YWdfY2hhcikKIAogbGV0IHM6Y192ZXJiYXRpbV90YWcgPSAnITwnLnM6bnNfdXJpX2NoYXIuJ1wrPicKIGxldCBzOmNfbmFtZWRfdGFnX2hhbmRsZSAgICAgPSAnIScuczpuc193b3JkX2NoYXIuJ1wrIScKQEAgLTQ2LDExICs3MywxNSBAQAogbGV0IHM6bnNfcGxhaW5fc2FmZV9vdXQgPSBzOm5zX2NoYXIKIGxldCBzOm5zX3BsYWluX3NhZmVfaW4gID0gJ1wlKCcuczpjX2Zsb3dfaW5kaWNhdG9yLidcQCEnLnM6bnNfY2hhci4nXCknCiAKLWxldCBzOm5zX3BsYWluX2ZpcnN0X2luICA9ICdcJSgnLnM6Y19pbmRpY2F0b3IuJ1xAIScuczpuc19jaGFyLidcfFs/OlwtXVwlKCcuczpuc19wbGFpbl9zYWZlX2luLidcKVxAPVwpJwotbGV0IHM6bnNfcGxhaW5fZmlyc3Rfb3V0ID0gJ1wlKCcuczpjX2luZGljYXRvci4nXEAhJy5zOm5zX2NoYXIuJ1x8Wz86XC1dXCUoJy5zOm5zX3BsYWluX3NhZmVfb3V0LidcKVxAPVwpJworbGV0IHM6bnNfcGxhaW5fc2FmZV9pbiA9IHN1YnN0aXR1dGUoczpuc19wbGFpbl9zYWZlX2luLCAnXFZcQ1xcJSgnLnM6X2NvbGxlY3Rpb24uJ1xcQCEnLnM6X25lZ19jb2xsZWN0aW9uLidcXCknLCAnW15cMVwyXScsICcnKQorbGV0IHM6bnNfcGxhaW5fc2FmZV9pbl93aXRob3V0X2NvbGhhc2ggPSBzdWJzdGl0dXRlKHM6bnNfcGxhaW5fc2FmZV9pbiwgJ1xWXEMnLnM6X25lZ19jb2xsZWN0aW9uLCAnW15cMTojXScsICcnKQorbGV0IHM6bnNfcGxhaW5fc2FmZV9vdXRfd2l0aG91dF9jb2xoYXNoID0gc3Vic3RpdHV0ZShzOm5zX3BsYWluX3NhZmVfb3V0LCAnXFZcQycuczpfbmVnX2NvbGxlY3Rpb24sICdbXlwxOiNdJywgJycpCiAKLWxldCBzOm5zX3BsYWluX2NoYXJfaW4gID0gJ1wlKCcuczpuc19jaGFyLicjXHw6Jy5zOm5zX3BsYWluX3NhZmVfaW4uJ1x8WzojXVxAIScuczpuc19wbGFpbl9zYWZlX2luLidcKScKLWxldCBzOm5zX3BsYWluX2NoYXJfb3V0ID0gJ1wlKCcuczpuc19jaGFyLicjXHw6Jy5zOm5zX3BsYWluX3NhZmVfb3V0LidcfFs6I11cQCEnLnM6bnNfcGxhaW5fc2FmZV9vdXQuJ1wpJworbGV0IHM6bnNfcGxhaW5fZmlyc3RfaW4gID0gJ1wlKCcuczpuc19jaGFyX3dpdGhvdXRfY19pbmRpY2F0b3IuJ1x8Wz86XC1dXCUoJy5zOm5zX3BsYWluX3NhZmVfaW4uJ1wpXEA9XCknCitsZXQgczpuc19wbGFpbl9maXJzdF9vdXQgPSAnXCUoJy5zOm5zX2NoYXJfd2l0aG91dF9jX2luZGljYXRvci4nXHxbPzpcLV1cJSgnLnM6bnNfcGxhaW5fc2FmZV9vdXQuJ1wpXEA9XCknCisKK2xldCBzOm5zX3BsYWluX2NoYXJfaW4gID0gJ1wlKCcuczpuc19jaGFyLicjXHw6Jy5zOm5zX3BsYWluX3NhZmVfaW4uJ1x8Jy5zOm5zX3BsYWluX3NhZmVfaW5fd2l0aG91dF9jb2xoYXNoLidcKScKK2xldCBzOm5zX3BsYWluX2NoYXJfb3V0ID0gJ1wlKCcuczpuc19jaGFyLicjXHw6Jy5zOm5zX3BsYWluX3NhZmVfb3V0LidcfCcuczpuc19wbGFpbl9zYWZlX291dF93aXRob3V0X2NvbGhhc2guJ1wpJwogCiBsZXQgczpuc19wbGFpbl9vdXQgPSBzOm5zX3BsYWluX2ZpcnN0X291dCAuIHM6bnNfcGxhaW5fY2hhcl9vdXQuJyonCiBsZXQgczpuc19wbGFpbl9pbiAgPSBzOm5zX3BsYWluX2ZpcnN0X2luICAuIHM6bnNfcGxhaW5fY2hhcl9pbi4nKicKQEAgLTg5LDkgKzEyMCwxMSBAQAogCiBzeW4gbWF0Y2ggeWFtbEJsb2NrU2NhbGFySGVhZGVyIGNvbnRhaW5lZCAnXHNcK1x6c1t8Pl1cJShbKy1dXD1bMS05XVx8WzEtOV1cPVsrLV1cKVw9JwogCitzeW4gY2x1c3RlciB5YW1sQ29uc3RhbnQgY29udGFpbnM9eWFtbEJvb2wseWFtbE51bGwKKwogc3luIGNsdXN0ZXIgeWFtbEZsb3cgY29udGFpbnM9eWFtbEZsb3dTdHJpbmcseWFtbEZsb3dNYXBwaW5nLHlhbWxGbG93Q29sbGVjdGlvbgogc3luIGNsdXN0ZXIgeWFtbEZsb3cgICAgICBhZGQ9eWFtbEZsb3dNYXBwaW5nS2V5LHlhbWxGbG93TWFwcGluZ01lcmdlCi1zeW4gY2x1c3RlciB5YW1sRmxvdyAgICAgIGFkZD15YW1sQ29uc3RhbnQseWFtbFBsYWluU2NhbGFyLHlhbWxGbG9hdAorc3luIGNsdXN0ZXIgeWFtbEZsb3cgICAgICBhZGQ9QHlhbWxDb25zdGFudCx5YW1sUGxhaW5TY2FsYXIseWFtbEZsb2F0CiBzeW4gY2x1c3RlciB5YW1sRmxvdyAgICAgIGFkZD15YW1sVGltZXN0YW1wLHlhbWxJbnRlZ2VyLHlhbWxNYXBwaW5nS2V5U3RhcnQKIHN5biBjbHVzdGVyIHlhbWxGbG93ICAgICAgYWRkPXlhbWxDb21tZW50CiBzeW4gcmVnaW9uIHlhbWxGbG93TWFwcGluZyAgICBtYXRjaGdyb3VwPXlhbWxGbG93SW5kaWNhdG9yIHN0YXJ0PSd7JyBlbmQ9J30nIGNvbnRhaW5zPUB5YW1sRmxvdwpAQCAtMTAzLDE1ICsxMzYsMTUgQEAKIHN5biBtYXRjaCB5YW1sTWFwcGluZ0tleVN0YXJ0ICc/XHplXHMnCiBzeW4gbWF0Y2ggeWFtbE1hcHBpbmdLZXlTdGFydCAnPycgY29udGFpbmVkCiAKLWV4ZWN1dGUgJ3N5biBtYXRjaCB5YW1sRmxvd01hcHBpbmdLZXkgLycuczpuc19wbGFpbl9pbi4nXHplXHMqOi8gY29udGFpbmVkICcuCitleGVjdXRlICdzeW4gbWF0Y2ggeWFtbEZsb3dNYXBwaW5nS2V5IC9cJSM9MScuczpuc19wbGFpbl9pbi4nXCUoXHNcKycuczpuc19wbGFpbl9pbi4nXCkqXHplXHMqOi8gY29udGFpbmVkICcuCiAgICAgICAgICAgICBcJ25leHRncm91cD15YW1sS2V5VmFsdWVEZWxpbWl0ZXInCiBzeW4gbWF0Y2ggeWFtbEZsb3dNYXBwaW5nTWVyZ2UgLzw8XHplXHMqOi8gY29udGFpbmVkIG5leHRncm91cD15YW1sS2V5VmFsdWVEZWxpbWl0ZXIKIAogc3luIG1hdGNoIHlhbWxCbG9ja0NvbGxlY3Rpb25JdGVtU3RhcnQgJ15ccypcenMtXCUoXHNcKy1cKSpccycgbmV4dGdyb3VwPXlhbWxCbG9ja01hcHBpbmdLZXkseWFtbEJsb2NrTWFwcGluZ01lcmdlCiAiIFVzZSB0aGUgb2xkIHJlZ2V4cCBlbmdpbmUsIHRoZSBORkEgZW5naW5lIGRvZXNuJ3QgbGlrZSBhbGwgdGhlIFxAIGl0ZW1zLgotZXhlY3V0ZSAnc3luIG1hdGNoIHlhbWxCbG9ja01hcHBpbmdLZXkgL1wlIz0xXlxzKlx6cycuczpuc19wbGFpbl9vdXQuJ1x6ZVxzKjpcJShcc1x8JFwpLyAnLgorZXhlY3V0ZSAnc3luIG1hdGNoIHlhbWxCbG9ja01hcHBpbmdLZXkgL1wlIz0xXlxzKlx6cycuczpuc19wbGFpbl9vdXQuJ1wlKFxzXCsnLnM6bnNfcGxhaW5fb3V0LidcKSpcemVccyo6XCUoXHNcfCRcKS8gJy4KICAgICAgICAgICAgIFwnbmV4dGdyb3VwPXlhbWxLZXlWYWx1ZURlbGltaXRlcicKLWV4ZWN1dGUgJ3N5biBtYXRjaCB5YW1sQmxvY2tNYXBwaW5nS2V5IC9cJSM9MVxzKlx6cycuczpuc19wbGFpbl9vdXQuJ1x6ZVxzKjpcJShcc1x8JFwpLyBjb250YWluZWQgJy4KK2V4ZWN1dGUgJ3N5biBtYXRjaCB5YW1sQmxvY2tNYXBwaW5nS2V5IC9cJSM9MVxzKlx6cycuczpuc19wbGFpbl9vdXQuJ1wlKFxzXCsnLnM6bnNfcGxhaW5fb3V0LidcKSpcemVccyo6XCUoXHNcfCRcKS8gY29udGFpbmVkICcuCiAgICAgICAgICAgICBcJ25leHRncm91cD15YW1sS2V5VmFsdWVEZWxpbWl0ZXInCiBzeW4gbWF0Y2ggeWFtbEJsb2NrTWFwcGluZ01lcmdlIC9eXHMqXHpzPDxcemU6XCUoXHNcfCRcKS8gbmV4dGdyb3VwPXlhbWxLZXlWYWx1ZURlbGltaXRlcgogc3luIG1hdGNoIHlhbWxCbG9ja01hcHBpbmdNZXJnZSAvPDxcemVccyo6XCUoXHNcfCRcKS8gbmV4dGdyb3VwPXlhbWxLZXlWYWx1ZURlbGltaXRlciBjb250YWluZWQKQEAgLTExOSwxNCArMTUyLDMyIEBACiBzeW4gbWF0Y2ggICB5YW1sS2V5VmFsdWVEZWxpbWl0ZXIgL1xzKjovIGNvbnRhaW5lZAogc3luIG1hdGNoICAgeWFtbEtleVZhbHVlRGVsaW1pdGVyIC9ccyo6LyBjb250YWluZWQKIAotc3luIGtleXdvcmQgeWFtbENvbnN0YW50IHRydWUgVHJ1ZSBUUlVFIGZhbHNlIEZhbHNlIEZBTFNFCi1zeW4ga2V5d29yZCB5YW1sQ29uc3RhbnQgbnVsbCBOdWxsIE5VTEwKLXN5biBtYXRjaCAgIHlhbWxDb25zdGFudCAnXDxcflw+Jworc3luIGNsdXN0ZXIgeWFtbFNjYWxhcldpdGhTcGVjaWFscyBjb250YWlucz15YW1sUGxhaW5TY2FsYXIseWFtbEJsb2NrTWFwcGluZ0tleSx5YW1sRmxvd01hcHBpbmdLZXkKIAotc3luIG1hdGNoICAgeWFtbFRpbWVzdGFtcCAvXCUoW1xbXF17fSwgXHRdXEAhXHBcKVxAPCFcJShcZFx7NH0tXGRcZFw9LVxkXGRcPVwlKFwlKFtUdF1cfFxzXCtcKVwlKFxkXGRcPVwpOlwlKFxkXGRcKTpcJShcZFxkXClcJShcLlwlKFxkKlwpXClcPVwlKFxzKlwlKFpcfFsrLV1cZFxkXD1cJSg6XGRcZFwpXD1cKVwpXD1cKVw9XClcJShbXFtcXXt9LCBcdF1cQCFccFwpXEAhLworbGV0IHM6X2JvdW5kZXIgPSBzOlNpbXBsaWZ5VG9Bc3N1bWVBbGxQcmludGFibGUoJ1wlKFtbXF17fSwgXHRdXEAhXHBcKScpCitpZiBiOnlhbWxfc2NoZW1hIGlzIyAnanNvbicKKyAgICBzeW4ga2V5d29yZCB5YW1sTnVsbCBudWxsIGNvbnRhaW5lZCBjb250YWluZWRpbj1AeWFtbFNjYWxhcldpdGhTcGVjaWFscworICAgIHN5biBrZXl3b3JkIHlhbWxCb29sIHRydWUgZmFsc2UKKyAgICBleGUgJ3N5biBtYXRjaCAgIHlhbWxJbnRlZ2VyIC8nLnM6X2JvdW5kZXIuJ1xAMTwhXCUoMFx8LVw9WzEtOV1bMC05XSpcKScuczpfYm91bmRlci4nXEAhLyBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMnCisgICAgZXhlICdzeW4gbWF0Y2ggICB5YW1sRmxvYXQgICAvJy5zOl9ib3VuZGVyLidcQDE8IVwlKC1cPVsxLTldWzAtOV0qXCUoXC5bMC05XSpcKVw9XChlWy0rXVw9WzAtOV1cK1wpXD1cfDBcfC1cPVwuaW5mXHxcLm5hblwpJy5zOl9ib3VuZGVyLidcQCEvIGNvbnRhaW5lZCBjb250YWluZWRpbj1AeWFtbFNjYWxhcldpdGhTcGVjaWFscycKK2Vsc2VpZiBiOnlhbWxfc2NoZW1hIGlzIyAnY29yZScKKyAgICBzeW4ga2V5d29yZCB5YW1sTnVsbCBudWxsIE51bGwgTlVMTCBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMKKyAgICBzeW4ga2V5d29yZCB5YW1sQm9vbCB0cnVlIFRydWUgVFJVRSBmYWxzZSBGYWxzZSBGQUxTRSBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMKKyAgICBleGUgJ3N5biBtYXRjaCAgIHlhbWxOdWxsIC8nLnM6X2JvdW5kZXIuJ1xAMTwhXH4nLnM6X2JvdW5kZXIuJ1xAIS8gY29udGFpbmVkIGNvbnRhaW5lZGluPUB5YW1sU2NhbGFyV2l0aFNwZWNpYWxzJworICAgIGV4ZSAnc3luIG1hdGNoICAgeWFtbEludGVnZXIgLycuczpfYm91bmRlci4nXEAxPCFcJShbKy1dXD1cJSgwXCUoYlswLTFfXVwrXHxbMC03X11cK1x8eFswLTlhLWZBLUZfXVwrXClcPVx8XCUoWzEtOV1bMC05X10qXCUoOlswLTVdXD1cZFwpXCtcKVwpXHxbMS05XVswLTlfXSpcKScuczpfYm91bmRlci4nXEAhLyBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMnCisgICAgZXhlICdzeW4gbWF0Y2ggICB5YW1sRmxvYXQgLycuczpfYm91bmRlci4nXEAxPCFcJShbKy1dXD1cJShcJShcZFswLTlfXSpcKVwuWzAtOV9dKlwlKFtlRV1bKy1dXD1cZFwrXClcPVx8XC5bMC05X11cK1wlKFtlRV1bLStdXD1bMC05XVwrXClcPVx8XGRbMC05X10qXCUoOlswLTVdXD1cZFwpXCtcLlswLTlfXSpcfFwuXCUoaW5mXHxJbmZcfElORlwpXClcfFwlKFwuXCUobmFuXHxOYU5cfE5BTlwpXClcKScuczpfYm91bmRlci4nXEAhLyBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMnCitlbHNlaWYgYjp5YW1sX3NjaGVtYSBpcyMgJ3B5eWFtbCcKKyAgICBzeW4ga2V5d29yZCB5YW1sTnVsbCBudWxsIE51bGwgTlVMTCBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMKKyAgICBzeW4ga2V5d29yZCB5YW1sQm9vbCB0cnVlIFRydWUgVFJVRSBmYWxzZSBGYWxzZSBGQUxTRSB5ZXMgWWVzIFlFUyBubyBObyBOTyBvbiBPbiBPTiBvZmYgT2ZmIE9GRiBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMKKyAgICBleGUgJ3N5biBtYXRjaCAgIHlhbWxOdWxsIC8nLnM6X2JvdW5kZXIuJ1xAMTwhXH4nLnM6X2JvdW5kZXIuJ1xAIS8gY29udGFpbmVkIGNvbnRhaW5lZGluPUB5YW1sU2NhbGFyV2l0aFNwZWNpYWxzJworICAgIGV4ZSAnc3luIG1hdGNoICB5YW1sRmxvYXQgLycuczpfYm91bmRlci4nXEAxPCFcJShcdlstK10/JShcZFswLTlfXSopXC5bMC05X10qJShbZUVdWy0rXVxkKyk/fFwuWzAtOV9dKyUoW2VFXVstK11cZCspP3xbLStdP1xkWzAtOV9dKiUoXDpbMC01XT9cZCkrXC5bMC05X10qfFstK10/XC4lKGluZnxJbmZ8SU5GKXxcLiUobmFufE5hTnxOQU4pXG1cKScuczpfYm91bmRlci4nXEAhLyBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMnCisgICAgZXhlICdzeW4gbWF0Y2ggIHlhbWxJbnRlZ2VyIC8nLnM6X2JvdW5kZXIuJ1xAMTwhXCUoXHZbLStdPzBiWzAtMV9dK3xbLStdPzBbMC03X10rfFstK10/JSgwfFsxLTldWzAtOV9dKil8Wy0rXT8weFswLTlhLWZBLUZfXSt8Wy0rXT9bMS05XVswLTlfXSolKDpbMC01XT9cZCkrXG1cKScuczpfYm91bmRlci4nXEAhLyBjb250YWluZWQgY29udGFpbmVkaW49QHlhbWxTY2FsYXJXaXRoU3BlY2lhbHMnCisgICAgZXhlICdzeW4gbWF0Y2ggIHlhbWxUaW1lc3RhbXAgLycuczpfYm91bmRlci4nXEAxPCFcJShcdlxkXGRcZFxkXC1cZFxkXC1cZFxkfFxkXGRcZFxkIFwtXGRcZD8gXC1cZFxkPyUoW1R0XXxbIFx0XSspXGRcZD9cOlxkXGQgXDpcZFxkICUoXC5cZCopPyUoWyBcdF0qJShafFstK11cZFxkPyUoXDpcZFxkKT8pKT9cbVwpJy5zOl9ib3VuZGVyLidcQCEvIGNvbnRhaW5lZCBjb250YWluZWRpbj1AeWFtbFNjYWxhcldpdGhTcGVjaWFscycKK2Vsc2VpZiBiOnlhbWxfc2NoZW1hIGlzIyAnZmFpbHNhZmUnCisgICAgIiBOb3RoaW5nCitlbmRpZgordW5sZXQgczpfYm91bmRlcgogCi1zeW4gbWF0Y2ggICB5YW1sSW50ZWdlciAvXCUoW1xbXF17fSwgXHRdXEAhXHBcKVxAPCFcJShbKy1dXD1cJSgwXCUoYlswLTFfXVwrXHxbMC03X11cK1x8eFswLTlhLWZBLUZfXVwrXClcPVx8XCUoWzEtOV1bMC05X10qXCUoOlswLTVdXD1cZFwpXCtcKVwpXHxbMS05XVswLTlfXSpcKVwlKFtcW1xde30sIFx0XVxAIVxwXClcQCEvCi1zeW4gbWF0Y2ggICB5YW1sRmxvYXQgICAvXCUoW1xbXF17fSwgXHRdXEAhXHBcKVxAPCFcJShbKy1dXD1cJShcJShcZFswLTlfXSpcKVwuWzAtOV9dKlwlKFtlRV1bKy1dXGRcK1wpXD1cfFwuWzAtOV9dXCtcJShbZUVdWy0rXVswLTldXCtcKVw9XHxcZFswLTlfXSpcJSg6WzAtNV1cPVxkXClcK1wuWzAtOV9dKlx8XC5cJShpbmZcfEluZlx8SU5GXClcKVx8XCUoXC5cJShuYW5cfE5hTlx8TkFOXClcKVwpXCUoW1xbXF17fSwgXHRdXEAhXHBcKVxAIS8KIAogZXhlY3V0ZSAnc3luIG1hdGNoIHlhbWxOb2RlVGFnICcuc3RyaW5nKHM6Y19uc190YWdfcHJvcGVydHkpCiBleGVjdXRlICdzeW4gbWF0Y2ggeWFtbEFuY2hvciAgJy5zdHJpbmcoczpjX25zX2FuY2hvcl9wcm9wZXJ0eSkKQEAgLTE3MCw2ICsyMjEsOSBAQAogCiBoaSBkZWYgbGluayB5YW1sQ29uc3RhbnQgICAgICAgICAgICAgICAgIENvbnN0YW50CiAKK2hpIGRlZiBsaW5rIHlhbWxOdWxsICAgICAgICAgICAgICAgICAgICAgeWFtbENvbnN0YW50CitoaSBkZWYgbGluayB5YW1sQm9vbCAgICAgICAgICAgICAgICAgICAgIHlhbWxDb25zdGFudAorCiBoaSBkZWYgbGluayB5YW1sQW5jaG9yICAgICAgICAgICAgICAgICAgIFR5cGUKIGhpIGRlZiBsaW5rIHlhbWxBbGlhcyAgICAgICAgICAgICAgICAgICAgVHlwZQogaGkgZGVmIGxpbmsgeWFtbE5vZGVUYWcgICAgICAgICAgICAgICAgICBUeXBlCkBAIC0xODAsOCArMjM0LDEwIEBACiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInlhbWwiCiAKLXVubGV0IHM6bnNfd29yZF9jaGFyIHM6bnNfdXJpX2NoYXIgczpjX3ZlcmJhdGltX3RhZyBzOmNfbmFtZWRfdGFnX2hhbmRsZSBzOmNfc2Vjb25kYXJ5X3RhZ19oYW5kbGUgczpjX3ByaW1hcnlfdGFnX2hhbmRsZSBzOmNfdGFnX2hhbmRsZSBzOm5zX3RhZ19jaGFyIHM6Y19uc19zaG9ydGhhbmRfdGFnIHM6Y19ub25fc3BlY2lmaWNfdGFnIHM6Y19uc190YWdfcHJvcGVydHkgczpjX25zX2FuY2hvcl9jaGFyIHM6Y19uc19hbmNob3JfbmFtZSBzOmNfbnNfYW5jaG9yX3Byb3BlcnR5IHM6Y19uc19hbGlhc19ub2RlIHM6bnNfY2hhciBzOm5zX2RpcmVjdGl2ZV9uYW1lIHM6bnNfbG9jYWxfdGFnX3ByZWZpeCBzOm5zX2dsb2JhbF90YWdfcHJlZml4IHM6bnNfdGFnX3ByZWZpeCBzOmNfaW5kaWNhdG9yIHM6bnNfcGxhaW5fc2FmZV9vdXQgczpjX2Zsb3dfaW5kaWNhdG9yIHM6bnNfcGxhaW5fc2FmZV9pbiBzOm5zX3BsYWluX2ZpcnN0X2luIHM6bnNfcGxhaW5fZmlyc3Rfb3V0IHM6bnNfcGxhaW5fY2hhcl9pbiBzOm5zX3BsYWluX2NoYXJfb3V0IHM6bnNfcGxhaW5fb3V0IHM6bnNfcGxhaW5faW4KK3VubGV0IHM6bnNfd29yZF9jaGFyIHM6bnNfdXJpX2NoYXIgczpjX3ZlcmJhdGltX3RhZyBzOmNfbmFtZWRfdGFnX2hhbmRsZSBzOmNfc2Vjb25kYXJ5X3RhZ19oYW5kbGUgczpjX3ByaW1hcnlfdGFnX2hhbmRsZSBzOmNfdGFnX2hhbmRsZSBzOm5zX3RhZ19jaGFyIHM6Y19uc19zaG9ydGhhbmRfdGFnIHM6Y19ub25fc3BlY2lmaWNfdGFnIHM6Y19uc190YWdfcHJvcGVydHkgczpjX25zX2FuY2hvcl9jaGFyIHM6Y19uc19hbmNob3JfbmFtZSBzOmNfbnNfYW5jaG9yX3Byb3BlcnR5IHM6Y19uc19hbGlhc19ub2RlIHM6bnNfY2hhciBzOm5zX2RpcmVjdGl2ZV9uYW1lIHM6bnNfbG9jYWxfdGFnX3ByZWZpeCBzOm5zX2dsb2JhbF90YWdfcHJlZml4IHM6bnNfdGFnX3ByZWZpeCBzOmNfaW5kaWNhdG9yIHM6bnNfcGxhaW5fc2FmZV9vdXQgczpjX2Zsb3dfaW5kaWNhdG9yIHM6bnNfcGxhaW5fc2FmZV9pbiBzOm5zX3BsYWluX2ZpcnN0X2luIHM6bnNfcGxhaW5fZmlyc3Rfb3V0IHM6bnNfcGxhaW5fY2hhcl9pbiBzOm5zX3BsYWluX2NoYXJfb3V0IHM6bnNfcGxhaW5fb3V0IHM6bnNfcGxhaW5faW4gczpuc19jaGFyX3dpdGhvdXRfY19pbmRpY2F0b3Igczpuc19wbGFpbl9zYWZlX2luX3dpdGhvdXRfY29saGFzaCBzOm5zX3BsYWluX3NhZmVfb3V0X3dpdGhvdXRfY29saGFzaAordW5sZXQgczpfY29sbGVjdGlvbiBzOl9uZWdfY29sbGVjdGlvbgorZGVsZnVuY3Rpb24gczpTaW1wbGlmeUFkamFjZW50Q29sbGVjdGlvbnMKK2RlbGZ1bmN0aW9uIHM6U2ltcGxpZnlUb0Fzc3VtZUFsbFByaW50YWJsZQogCiBsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKIHVubGV0IHM6Y3BvX3NhdmUKLQpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5kZSBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUKaW5kZXggYTc4MzM1YS4uMmI5YzAyOSAxMDA2NDQKLS0tIGEvcnVudGltZS90dXRvci90dXRvci5kZQorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlCkBAIC0xLDk4MCArMSw5ODIgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLT0gICAgICBXIGkgbCBsIGsgbyBtIG0gZSBuICAgaW0gICBWIEkgTSAgIFQgdSB0IG8gciAgICAtICAgIFZlcnNpb24gMS43RCAgICAgID0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotICAgVmltIGlzdCBlaW4gc2VociBt5GNodGlnZXIgRWRpdG9yLCBkZXIgdmllbGUgQmVmZWhsZSBiZXJlaXRzdGVsbHQ7IHp1IHZpZWxlLAotICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zkcmVuLiAgRGllc2VyIFR1dG9yIGlzdCBzbwotICAgZ2VzdGFsdGV0LCB1bSBnZW51ZyBCZWZlaGxlIHZvcnp1c3RlbGxlbiwgZGFzcyBEdSBkaWUgRuRoaWdrZWl0IGVybGFuZ3N0LAotICAgVmltIG1pdCBMZWljaHRpZ2tlaXQgYWxzIGVpbmVuIEFsbHp3ZWNrLUVkaXRvciB6dSBiZW51dHplbi4KLSAgIERpZSBaZWl0IGb8ciBkYXMgRHVyY2hhcmJlaXRlbiBkaWVzZXMgVHV0b3JzIGJldHLkZ3QgY2EuIDI1LTMwIE1pbnV0ZW4sCi0gICBhYmjkbmdpZyBkYXZvbiwgd2llIHZpZWwgWmVpdCBEdSBtaXQgRXhwZXJpbWVudGllcmVuIHZlcmJyaW5nc3QuCi0KLSAgIEFDSFRVTkc6Ci0gICBEaWUgaW4gZGVuIExla3Rpb25lbiBhbmdld2VuZGV0ZW4gS29tbWFuZG9zIHdlcmRlbiBkZW4gVGV4dCBtb2RpZml6aWVyZW4uCi0gICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IPxiZW4gd2lsbHN0IChmYWxscyBEdSAidmltdHV0b3IiCi0gICBhdWZnZXJ1ZmVuIGhhc3QsIGlzdCBkaWVzIGJlcmVpdHMgZWluZSBLb3BpZSkuCi0KLSAgIEVzIGlzdCB3aWNodGlnLCBzaWNoIHp1IHZlcmdlZ2Vud+RydGlnZW4sIGRhc3MgZGllc2VyIFR1dG9yIGb8ciBkYXMgQW53ZW5kZW4KLSAgIGtvbnppcGllcnQgaXN0LiBEYXMgYmVkZXV0ZXQsIGRhc3MgRHUgZGllIEJlZmVobGUgYXVzZvxocmVuIG11c3N0LCB1bSBzaWUKLSAgIHJpY2h0aWcgenUgbGVybmVuLiBXZW5uIER1IG51ciBkZW4gVGV4dCBsaWVzdCwgdmVyZ2lzc3QgRHUgZGllIEJlZmVobGUhCi0KLSAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgRGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHL8Y2t0IGlzdCB1bmQgYmV05HRpZ2UKLSAgIGRpZSAgIGogICBUYXN0ZSBnZW78Z2VuZCBNYWxlLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcwotICAgTGVrdGlvbiAxLjEgZGVuIEJpbGRzY2hpcm0gdm9sbGtvbW1lbiBhdXNm/GxsdC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJTGVrdGlvbiAxLjE6IEJFV0VHRU4gREVTIENVUlNPUlMKLQotICAqKiBVbSBkZW4gQ3Vyc29yIHp1IGJld2VnZW4sIGRy/GNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqCi0JICAgICBeCQkgSGlsZmVzdGVsbHVuZzoKLQkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4KLSAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuCi0JICAgICBqCQkgRGllIGogVGFzdGUg5GhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uCi0JICAgICB2Ci0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIGF1ZiBkZW0gQmlsZHNjaGlybSB1bWhlciwgYmlzIER1IERpY2ggc2ljaGVyIGb8aGxzdC4KLQotICAyLiBIYWx0ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSAoaikgZ2Vkcvxja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgotICAgICBKZXR6dCB3ZWnfdCBEdSwgd2llIER1IERpY2ggenVyIG7kY2hzdGVuIExla3Rpb24gYmV3ZWdlbiBrYW5uc3QuCi0KLSAgMy4gQmVudXR6ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSwgdW0gRGljaCB6dSBMZWt0aW9uIDEuMiB6dSBiZXdlZ2VuLgotCi1CZW1lcmt1bmc6IEltbWVyLCB3ZW5uIER1IERpciB1bnNpY2hlciBiaXN0IPxiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LAotCSAgIGRy/GNrZSA8RVNDPiAsIHVtIERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIHp1IGJlZ2ViZW4uCi0JICAgRGFubiBnaWIgZGFzIGdld/xuc2NodGUgS29tbWFuZG8gbm9jaCBlaW5tYWwgZWluLgotCi1CZW1lcmt1bmc6IERpZSBDdXJzb3ItVGFzdGVuIHNvbGx0ZW4gZWJlbmZhbGxzIGZ1bmt0aW9uaWVyZW4uICBBYmVyIHdlbm4gRHUKLQkgICBoamtsIGJlbnV0enQsIHdpcnN0IER1IGluIGRlciBMYWdlIHNlaW4sIERpY2ggc2VociB2aWVsIHNjaG5lbGxlcgotCSAgIHVtaGVyenViZXdlZ2VuLCB3ZW5uIER1IERpY2ggZWlubWFsIGRhcmFuIGdld/ZobnQgaGFzdC4gV2lya2xpY2ghCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4KLQotCi0gICEhIEFDSFRVTkc6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzCi0gICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhCi0KLSAgMS4gRHL8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLgotCi0gIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4KLSAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgxG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4KLQotICAzLiBXZW5uIER1IGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIHNpZWhzdCwgZ2liIGRhcyBLb21tYW5kbyBlaW4sIGRhcyBEaWNoIHp1Ci0gICAgIGRpZXNlbSBUdXRvciBnZWb8aHJ0IGhhdC4gRGllcyB35HJlOgl2aW10dXRvciA8RU5URVI+Ci0KLSAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcuRndCBoYXN0IHVuZCBEdSBEaWNoIHNpY2hlciBm/Ghsc3QsCi0gICAgIGb8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCi0gICAgIGhpbmVpbnp1Z2VsYW5nZW4uCi0KLUJlbWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuIEluCi0gICAgIGVpbmlnZW4gTGVrdGlvbmVuIGxlcm5zdCBEdSAsIGRpZSDEbmRlcnVuZ2VuIGluIGVpbmVyIERhdGVpIHp1IHNwZWljaGVybi4KLQotICA1LiBCZXdlZ2UgZGVuIEN1cnNvciBhYnfkcnRzIHp1IExla3Rpb24gMS4zLgotIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzWU0NIRU4KLQotCi0JICoqIERy/GNrZSAgeCAgdW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBs9nNjaGVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBhdWYgZGVtIFplaWNoZW4gc3RlaHQsCi0gICAgIGRhcyBnZWz2c2NodCB3ZXJkZW4gc29sbC4KLQotICAzLiBEcvxja2UgZGllICB4ICBUYXN0ZSwgdW0gZGFzIPxiZXJmbPxzc2lnZSBaZWljaGVuIHp1IGz2c2NoZW4uCi0KLSAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0LgotCi0tLS0+IERpZSBLa3VoIHNwcmFuZ2cg/GJiZXIgZGVlbiBNb29uZC4KLQotICA1LiBXZW5uIG51biBkaWUgWmVpbGUga29ycmVrdCBpc3QsIGdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDEuNC4KLQotQW5tZXJrdW5nOiBX5GhyZW5kIER1IGR1cmNoIGRpZXNlbiBUdXRvciBnZWhzdCwgdmVyc3VjaGUgbmljaHQsIGF1c3dlbmRpZyB6dQotICAgIGxlcm5lbiwgbGVybmUgdmllbG1laHIgZHVyY2ggQW53ZW5kZW4uCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiAxLjQ6IFRFWFQgRURJVElFUkVOIC0gRUlORtxHRU4KLQotCi0JCSAgICAqKiAgRHL8Y2tlICBpICAsIHVtIFRleHQgZWluenVm/Gdlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotCi0gIDIuIFVtIGRpZSBlcnN0ZSBaZWlsZSBtaXQgZGVyIHp3ZWl0ZW4gZ2xlaWNoenVtYWNoZW4sIGJld2VnZSBkZW4gQ3Vyc29yIGF1ZgotICAgICBkYXMgZXJzdGUgWmVpY2hlbiBOQUNIIGRlciBTdGVsbGUsIHdvIGRlciBUZXh0IGVpbmdlZvxndCB3ZXJkZW4gc29sbC4KLQotICAzLiBEcvxja2UgIGkgIHVuZCBnaWIgZGllIG5vdHdlbmRpZ2VuIEVyZ+RuenVuZ2VuIGVpbi4KLQotICA0LiBXZW5uIGpld2VpbHMgZWluIEZlaGxlciBiZXNlaXRpZ3QgaXN0LCBkcvxja2UgPEVTQz4gLCB1bSB6dW0gTm9ybWFsbW9kdXMKLSAgICAgenVy/GNrenVrZWhyZW4uCi0gICAgIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgotCi0tLS0+IEluIGRpZXNlciBmdCBldHdhcyAuCi0tLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgotCi0gIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjUuCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiAxLjU6IFRFWFQgRURJVElFUkVOIC0gQU5G3EdFTgotCi0KLQkJICAgICAqKiBEcvxja2UgIEEgICwgdW0gVGV4dCBhbnp1ZvxnZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLSAgICAgRXMgaXN0IGdsZWljaGf8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4KLQotICAyLiBEcvxja2UgIEEgIHVuZCBnaWIgZGllIG72dGlnZW4gRXJn5G56dW5nZW4gZWluLgotCi0gIDMuIFdlbm4gZGFzIEFuZvxnZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGRy/GNrZSA8RVNDPiwgdW0gaW4gZGVuIE5vcm1hbG1vZHVzCi0gICAgIHp1cvxja3p1a2VocmVuLgotCi0gIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW5kIHdpZWRlcmhvbGUKLSAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgotCi0tLS0+IEluIGRpZXNlciBaZWlsZSBmZWgKLSAgICAgSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCi0tLS0+IEF1Y2ggaGllciBzdGVoCi0gICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdORuZGlnZXMuCi0KLSAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS42Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgICBMZWt0aW9uIDEuNjogRUlORSBEQVRFSSBFRElUSUVSRU4KLQotCi0gICAgICoqIEJlbnV0emUgIDp3cSAgLCB1bSBlaW5lIERhdGVpIHp1IHNwZWljaGVybiB1bmQgVmltIHp1IHZlcmxhc3Nlbi4gKioKLQotICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vm/GhydGVuIFNjaHJpdHRlIGF1c2b8aHJzdCwgbGllcwotICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQotCi0gIDEuIFZlcmxhc3NlIGRlbiBFZGl0b3Igc28gd2llIGluIExla3Rpb24gMS4yOiAgOnEhCi0KLSAgMi4gR2liIGRpZXNlcyBLb21tYW5kbyBpbiBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBlaW46ICB2aW0gdHV0b3IgPEVOVEVSPgotICAgICAndmltJyBpc3QgZGVyIEF1ZnJ1ZiBkZXMgRWRpdG9ycywgJ3R1dG9yJyBpc3QgZGllIHp1IGVkaXRpZXJlbmRlIERhdGVpLgotICAgICBCZW51dHplIGVpbmUgRGF0ZWksIGRpZSBnZeRuZGVydCB3ZXJkZW4ga2Fubi4KLQotICAzLiBG/GdlIFRleHQgZWluIG9kZXIgbPZzY2hlIGlobiwgd2llIER1IGluIGRlbiB2b3JpZ2VuIExla3Rpb25lbiBnZWxlcm50Ci0gICAgIGhhc3QuCi0KLSAgNC4gU3BlaWNoZXJlIGRpZSBnZeRuZGVydGUgRGF0ZWkgdW5kIHZlcmxhc3NlIFZpbSBtaXQ6ICA6d3EgPEVOVEVSPgotCi0gIDUuIFN0YXJ0ZSBkZW4gdmltdHV0b3IgbmV1IHVuZCBiZXdlZ2UgRGljaCB6dSBkZXIgZm9sZ2VuZGVuIFp1c2FtbWVuZmFzc3VuZy4KLQotICA2LiBOYWNoZGVtIER1IG9iaWdlIFNjaHJpdHRlIGdlbGVzZW4gdW5kIHZlcnN0YW5kZW4gaGFzdCwgZvxocmUgc2llIGR1cmNoLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDEKLQotCi0gIDEuIERlciBDdXJzb3Igd2lyZCBtaXQgZGVuIFBmZWlsdGFzdGVuIG9kZXIgZGVuIFRhc3RlbiBoamtsIGJld2VndC4KLQkgaCAobGlua3MpICAgICBqICh1bnRlbikgICAgIGsgKGF1ZnfkcnRzKSAgICBsIChyZWNodHMpCi0KLSAgMi4gVW0gVmltIHZvbiBkZXIgRWluZ2FiZWF1ZmZvcmRlcnVuZyBhdXN6dWb8aHJlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+Ci0KLSAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDEbmRlcnVuZ2VuIHp1IHZlcndlcmZlbiwgdGlwcGU6Ci0JCTxFU0M+ICA6cSEgIDxFTlRFUj4gLgotCU9ERVIgdGlwcGU6CTxFU0M+ICA6d3EgIDxFTlRFUj4gLCB1bSBkaWUgxG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4uCi0KLSAgNC4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBs9nNjaGVuLCB0aXBwZTogIHgKLQotICA1LiBVbSBUZXh0IGVpbnp1ZvxnZW4gb2RlciBhbnp1ZvxnZW4sIHRpcHBlOgotCSBpICAgRWluenVm/GdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZvxnZW4gdm9yIGRlbSBDdXJzb3IKLQkgQSAgIEFuenVm/GdlbmRlbiBUZXh0IGVpbmdlYmVuICAgIDxFU0M+ICAgIEFuZvxnZW4gbmFjaCBkZW0gWmVpbGVuZGVuZQotCi1CZW1lcmt1bmc6IERy/GNrZW4gdm9uIDxFU0M+IGJyaW5ndCBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyBvZGVyIGJyaWNodCBlaW4KLSAgICAgdW5nZXdvbGx0ZXMsIGVyc3QgdGVpbHdlaXNlIGVpbmdlZ2ViZW5lcyBLb21tYW5kbyBhYi4KLQotICAgICBOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgIExla3Rpb24gMi4xOiBM1lNDSEtPTU1BTkRPUwotCi0KLQkJICAgKiogVGlwcGUgIGR3ICAsIHVtIGVpbiBXb3J0IHp1IGz2c2NoZW4uICoqCi0KLSAgMS4gRHL8Y2tlICA8RVNDPiAgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCi0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBlaW5lcyBXb3J0ZXMsIGRhcyBnZWz2c2NodCB3ZXJkZW4gc29sbC4KLQotICA0LiBUaXBwZSAgZHcgICwgdW0gZGFzIFdvcnQgenUgZW50ZmVybmVuLgotCi0gIEJlbWVya3VuZzogRGVyIEJ1Y2hzdGFiZSAgZCAgZXJzY2hlaW50IGF1ZiBkZXIgbGV0enRlbiBaZWlsZSBkZXMgQmlsZHNjaGlybXMsCi0gICAgICAgIHdlbm4gRHUgaWhuIGVpbmdpYnN0LiBWaW0gd2FydGV0IGRhcmF1ZiwgZGHfIER1ICB3ICBlaW5naWJzdC4gV2VubiBEdQotICAgICAgICBlaW4gYW5kZXJlcyBaZWljaGVuIGFscyAgZCAgc2llaHN0LCBoYXN0IER1IGV0d2FzIGZhbHNjaGVzIGdldGlwcHQ7Ci0gICAgICAgIGRy/GNrZSA8RVNDPiB1bmQgYmVnaW5uZSBuZXUuCi0KLS0tLT4gRWluaWdlIFf2cnRlciBsdXN0aWcgZ2Vo9nJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCi0KLSAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMyB1bmQgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0IHVuZCBnZWhlCi0gICAgIGRhbmFjaCB6dXIgTGVrdGlvbiAyLjIuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgTGVrdGlvbiAyLjI6IFdFSVRFUkUgTNZTQ0hLT01NQU5ET1MKLQotCi0JICAgICoqIFRpcHBlICBkJCAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uICoqCi0KLSAgMS4gRHL8Y2tlIDxFU0M+ICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCi0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4KLQotICA0LiBUaXBwZSAgICBkJCAgICAsIHVtIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUgenUgbPZzY2hlbi4KLQotLS0tPiBKZW1hbmQgaGF0IGRhcyBFbmRlIGRlciBaZWlsZSBkb3BwZWx0IGVpbmdlZ2ViZW4uIGRvcHBlbHQgZWluZ2VnZWJlbi4KLQotCi0gIDUuIEdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDIuMyAsIHVtIHp1IHZlcnN0ZWhlbiwgd2FzIGhpZXJiZWkgcGFzc2llcnQuCi0KLQotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSBMZWt0aW9uIDIuMzog3EJFUiBPUEVSQVRPUkVOIFVORCBCRVdFR1VOR1Na3EdFCi0KLQotICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IORuZGVybiwgc2V0emVuIHNpY2ggYXVzIGVpbmVtIE9wZXJhdG9yIHVuZCBlaW5lcgotICBCZXdlZ3VuZyB6dXNhbW1lbi4gRGFzIEZvcm1hdCBm/HIgZWluIEz2c2Noa29tbWFuZG8gbWl0IGRlbSBM9nNjaG9wZXJhdG9yICBkCi0gIGxhdXRldCB3aWUgZm9sZ3Q6Ci0KLSAgICBkICBCZXdlZ3VuZwotCi0gIHdvYmVpOgotICAgIGQgICAgICAgIC0gZGVyIEz2c2Nob3BlcmF0b3IKLSAgICBCZXdlZ3VuZyAtIHdvcmF1ZiBkZXIgTPZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2VsaXN0ZXQpLgotCi0gIEVpbmUga2xlaW5lIEF1Zmxpc3R1bmcgdm9uIEJld2VndW5nZW46Ci0gICAgdyAtIGJpcyB6dW0gQmVnaW5uIGRlcyBu5GNoc3RlbiBXb3J0ZXMgT0hORSBkZXNzZW4gZXJzdGVzIFplaWNoZW4uCi0gICAgZSAtIHp1bSBFbmRlIGRlcyBha3R1ZWxsZW4gV29ydGVzIE1JVCBkZXNzZW4gbGV0enRlbSBaZWljaGVuLgotICAgICQgLSB6dW0gRW5kZSBkZXIgWmVpbGUgTUlUIGRlbSBsZXR6ZW4gWmVpY2hlbi4KLQotICBEZW1lbnRzcHJlY2hlbmQgbPZzY2h0IGRpZSBFaW5nYWJlIHZvbiAgZGUgIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBXb3J0ZW5kZS4KLQotQmVtZXJrdW5nOiAgRGllIEVpbmdhYmUgbGVkaWdsaWNoIGRlcyBCZXdlZ3VuZ3N0ZWlscyBpbSBOb3JtYWxtb2R1cyBiZXdlZ3QgZGVuCi0gIEN1cnNvciBlbnRzcHJlY2hlbmQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQlMZWt0aW9uIDIuNDogQU5XRU5EVU5HIEVJTkVTIFrESExFUlMgRtxSIEVJTkVOIEJFV0VHVU5HU1NDSFJJVFQKLQotCi0gICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIHZvciBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IHdpZWRlcmhvbHQgZGllc2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBCZWdpbm4gZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMi4gVGlwcGUgIDJ3ICAsIHVtIGRlbiBDdXJzb3IgendlaSBX9nJ0ZXIgdm9yd+RydHMgenUgYmV3ZWdlbi4KLQotICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4KLQotICA0LiBUaXBwZSAgMCAgKE51bGwpICwgdW0genVtIEFuZmFuZyBkZXIgWmVpbGUgenUgZ2VsYW5nZW4uCi0KLSAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzIG1pdCB2ZXJzY2hpZWRlbmVuIFrkaGxlcm4uCi0KLSAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV/ZydGVuIHVtIHNpY2ggZGFyaW4gaGVydW16dWJld2VnZW4uCi0KLSAgNi4gR2VoZSB3ZWl0ZXIgenUgTGVrdGlvbiAyLjUuCi0KLQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCSBMZWt0aW9uIDIuNTogQU5XRU5EVU5HIEVJTkVTIFrESExFUlMgRtxSIE1FSFJFUkUgTNZTQ0hWT1JHxE5HRQotCi0KLSAgICoqIERpZSBFaW5nYWJlIGVpbmVyIFphaGwgbWl0IGVpbmVtIE9wZXJhdG9yIHdpZWRlcmhvbHQgZGllc2VuIG1laHJmYWNoLiAqKgotCi0gIEb8ciBkaWUgS29tYmluYXRpb24gZGVzIEz2c2Nob3BlcmF0b3JzIHVuZCBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IChzaWVoZQotICBvYmVuKSBzdGVsbHQgbWFuIGRlbSBCZXdlZ3VuZ3NzY2hyaXR0IGVpbmVuIFrkaGxlciB2b3JhbiwgdW0gbWVociB6dSBs9nNjaGVuOgotCSBkICBOdW1tZXIgIEJld2VndW5nc3NjaHJpdHQKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIFdvcnQgaW4gR1JPU1NCVUNIU1RBQkVOIGluIGRlciBtaXQgLS0tPgotICAgICBtYXJraWVyZW4gWmVpbGUuCi0KLSAgMi4gVGlwcGUgIGQydyAgLCB1bSBkaWUgendlaSBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIHp1IGz2c2NoZW4uCi0KLSAgMy4gV2llZGVyaG9sZSBTY2hyaXR0ZSAxIHVuZCAgMiBtaXQgZWluZW0gYW5kZXJlbiBa5GhsZXIsIHVtIGRpZQotICAgICBkYXJhdWZmb2xnZW5kZW4gV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiBtaXQgZWluZW0gZWluemlnZW4gS29tbWFuZG8KLSAgICAgenUgbPZzY2hlbi4KLQotLS0tPiAgRGllc2UgQUJDIERFIFplaWxlIEZHSEkgSksgTE1OIE9QIG1pdCBX9nJ0ZXJuIGlzdCBRIFJTIFRVViBiZXJlaW5pZ3QuCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCUxla3Rpb24gMi42OiBBUkJFSVRFTiBBVUYgWkVJTEVOCi0KLQotCSAgICAgICAqKiBUaXBwZSAgZGQgICwgdW0gZWluZSBnYW56ZSBaZWlsZSB6dSBs9nNjaGVuLiAqKgotCi0gIFdlZ2VuIGRlciBI5HVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbPZzY2h0LCBrYW1lbiBkaWUgRW50d2lja2xlciB2b24KLSAgVmkgZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfkcmUsIGVpbmZhY2ggendlaSBkJ3MgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZQotICB6dSBs9nNjaGVuLgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIFplaWxlIGluIGRlciB1bnRlbiBzdGVoZW5kZW4gUmVkZXdlbmR1bmcuCi0gIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbPZzY2hlbi4KLSAgMy4gTnVuIGJld2VnZSBEaWNoIHp1ciB2aWVydGVuIFplaWxlLgotICA0LiBUaXBwZSAgMmRkICAsIHVtIHp3ZWkgWmVpbGVuIHp1IGz2c2NoZW4uCi0KLS0tLT4gIDEpICBSb3NlbiBzaW5kIHJvdCwKLS0tLT4gIDIpICBNYXRzY2ggaXN0IGx1c3RpZywKLS0tLT4gIDMpICBWZWlsY2hlbiBzaW5kIGJsYXUsCi0tLS0+ICA0KSAgSWNoIGhhYmUgZWluIEF1dG8sCi0tLS0+ICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LAotLS0tPiAgNikgIFp1Y2tlciBpc3Qgc/zfLAotLS0tPiAgNykgIFNvIHdpZSBEdSBhdWNoLgotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDIuNzogUtxDS0fETkdJRyBNQUNIRU4gKFVORE8pCi0KLQotCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHL8Y2tn5G5naWcgenUgbWFjaGVuICoqCi0JICAgICAgKiogb2RlciBVIHVtIGVpbmUgZ2FuemUgWmVpbGUgd2llZGVyaGVyenVzdGVsbGVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuCi0gICAgIHVuZCBzZXR6ZSBpaG4gYXVmIGRlbiBlcnN0ZW4gRmVobGVyLgotICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUgdW5lcnf8bnNjaHRlIFplaWNoZW4genUgbPZzY2hlbi4KLSAgMy4gTnVuIHRpcHBlICB1ICB1bSBkYXMgc29lYmVuIGF1c2dlZvxocnRlIEtvbW1hbmRvIHL8Y2tn5G5naWcgenUgbWFjaGVuLgotICA0LiBKZXR6dCBiZWhlYmUgYWxsZSBGZWhsZXIgYXVmIGRlciBaZWlsZSBtaXQgSGlsZmUgZGVzIHggIEtvbW1hbmRvcy4KLSAgNS4gTnVuIHRpcHBlIGVpbiBncm/fZXMgIFUgLCB1bSBkaWUgWmVpbGUgaW4gaWhyZW4gVXJzcHJ1bmdzenVzdGFuZAotICAgICB3aWVkZXJoZXJ6dXN0ZWxsZW4uCi0gIDYuIE51biB0aXBwZSAgdSAgZWluaWdlIE1hbGUsIHVtIGRhcyBVIHVuZCBkaWUgdm9yaGVyZ2VoZW5kZW4gS29tbWFuZG9zCi0gICAgIHL8Y2tn5G5naWcgenUgbWFjaGVuLgotICA3LiBOdW4gdGlwcGUgQ1RSTC1SIChoYWx0ZSBDVFJMIGdlZHL8Y2t0IHVuZCBkcvxja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUKLSAgICAgS29tbWFuZG9zIHdpZWRlcmhlcnp1c3RlbGxlbiAoZGllIFL8Y2tn5G5naWdtYWNodW5nZW4gcvxja2fkbmdpZyBtYWNoZW4pLgotCi0tLS0+IEJlZWhlYmUgZGllIEZlaGxsZXIgZGllc3NlciBaZWlsZSB1bmQgc3R0ZWxsZSBzaWUgbWl0dCAndW5kbycgd2llZGVyIGhlci4KLQotICA4LiBEaWVzIHNpbmQgc2VociBu/HR6bGljaGUgS29tbWFuZG9zLgotICAgICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyB2b24gTGVrdGlvbiAyLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDIKLQotCi0gIDEuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBu5GNoc3RlbiBXb3J0IHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkdwotICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBs9nNjaGVuLCB0aXBwZTogICAgIGQkCi0gIDMuIFVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgIGRkCi0KLSAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3Ci0gIDUuIERhcyBGb3JtYXQgZvxyIGVpbiDEbmRlcnVuZ3Nrb21tYW5kbyBpc3Q6Ci0gICAgICAgICAgICAgICBPcGVyYXRvciAgIFtBbnphaGxdICAgQmV3ZWd1bmdzc2Nocml0dAotICAgICB3b2JlaToKLSAgICAgICBPcGVyYXRvciAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsICBkICBm/HIgZGVsZXRlCi0gICAgICAgW0FuemFobF0gLSBlaW4gb3B0aW9uYWxlciBa5GhsZXIsIHVtIGRlbiBCZXdlZ3VuZ3NzY2hyaXR0IHp1IHdpZWRlcmhvbGVuCi0gICAgICAgQmV3ZWd1bmdzc2Nocml0dCAtIEJld2VndW5nIPxiZXIgZGVuIHp1IORuZGVybmRlbiBUZXh0LCBzbyB3aWUKLQkJICB3IChXb3J0KSwgJCAoenVtIEVuZGUgZGVyIFplaWxlKSwgZXRjLgotCi0gIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDAKLQotICA3LiBVbSB2b3JoZXJpZ2UgQWt0aW9uZW4gcvxja2fkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOgkJdSAoa2xlaW5lcyB1KQotICAgICBVbSBhbGxlIMRuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHL8Y2tn5G5naWcgenUgbWFjaGVuOiAgIFUgKGdyb99lcyBVKQotICAgICBVbSBkaWUgUvxja2fkbmdpZ21hY2h1bmdlbiBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6ICAgIENUUkwtUgotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgIExla3Rpb24gMy4xOiBBTkbcR0VOIChQVVQpCi0KLQotICAgICAqKiBUaXBwZSAgcCAgLCB1bSB2b3JoZXIgZ2Vs9nNjaHRlbiBUZXh0IG5hY2ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4gdW5kIHNpZSBpbiBlaW5lbSBWaW0tUmVnaXN0ZXIgenUKLSAgICAgc3BlaWNoZXJuLgotCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBaZWlsZSBjKSwg3EJFUiBkZXJqZW5pZ2VuLCB3byBkaWUgZ2Vs9nNjaHRlIFplaWxlCi0gICAgIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4KLQotICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uCi0KLSAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlCi0gICAgIFJlaWhlbmZvbGdlIHp1IGJyaW5nZW4uCi0KLS0tLT4gZCkgS2FubnN0IER1IGRhcyBhdWNoPwotLS0tPiBiKSBWZWlsY2hlbiBzaW5kIGJsYXUsCi0tLS0+IGMpIEludGVsbGlnZW56IGlzdCBlcmxlcm5iYXIsCi0tLS0+IGEpIFJvc2VuIHNpbmQgcm90LAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMZWt0aW9uIDMuMjogRVJTRVRaRU4gKFJFUExBQ0UpCi0KLQotICAgKiogVGlwcGUgIHJ4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgZHVyY2ggIHggenUgZXJzZXR6ZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBCZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIHNpY2ggYXVmIGRlbSBlcnN0ZW4gRmVobGVyIGJlZmluZGV0LgotCi0gIDMuIFRpcHBlICByICB1bmQgYW5zY2hsaWXfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRvcnQgc3RlaGVuIHNvbGx0ZS4KLQotICA0LiBXaWVkZXJob2xlIFNjaHJpdHRlIDIgdW5kIDMsIGJpcyBkaWUgZXJzdGUgWmVpbGUgZ2xlaWNoIGRlciB6d2VpdGVuIGlzdC4KLQotLS0tPiAgQWxzIGRpZXNlIFplaXRlIGVpbmdlZ29iZW4gd3VyZGUsIHd1cmRlbiBlaW5pa2UgZmFsc2NoZSBUYXN0ZW4gZ2VsaXBwdCEKLS0tLT4gIEFscyBkaWVzZSBaZWlsZSBlaW5nZWdlYmVuIHd1cmRlLCB3dXJkZW4gZWluaWdlIGZhbHNjaGUgVGFzdGVuIGdldGlwcHQhCi0KLSAgNS4gTnVuIGZhaHJlIGZvcnQgbWl0IExla3Rpb24gMy4yLgotCi1CZW1lcmt1bmc6IEVyaW5uZXJlIERpY2gsIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCBkdXJjaAotICAgICBBdXN3ZW5kaWdsZXJuZW4uCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgIExla3Rpb24gMy4zOiDETkRFUk4gKENIQU5HRSkKLQotCi0gICAgICAqKiBVbSBlaW5lIMRuZGVydW5nIGJpcyB6dW0gV29ydGVuZGUgZHVyY2h6dWb8aHJlbiwgdGlwcGUgIGNlIC4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotCi0gIDIuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkYXMgIHMgIHZvbiBXc3R3ci4KLQotICAzLiBUaXBwZSAgY2UgIHVuZCBkaWUgV29ydGtvcnJla3R1ciBlaW4gKGluIGRpZXNlbSBGYWxsIHRpcHBlICD2cnRlciApLgotCi0gIDQuIERy/GNrZSA8RVNDPiB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIG7kY2hzdGVuIHp1IORuZGVybmRlbiBaZWljaGVuLgotCi0gIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMyB1bmQgNCBiaXMgZGVyIGVyc3RlIFNhdHogZ2xlaWNoIGRlbSB6d2VpdGVuIGlzdC4KLQotLS0tPiBFaW5pZ2UgV3N0d3IgZGllc2VyIFpsYXd3IGxhc2RqbGFmIG1pdCBkZW0gxG5kZXJuLU9wZXJhdG9yIGdhYWF1dSB3ZXJkZW4uCi0tLS0+IEVpbmlnZSBX9nJ0ZXIgZGllc2VyIFplaWxlIHNvbGxlbiBtaXQgZGVtIMRuZGVybi1PcGVyYXRvciBnZeRuZGVydCB3ZXJkZW4uCi0KLUJlbWVya2UsIGRhc3MgIGNlICBkYXMgV29ydCBs9nNjaHQgdW5kIERpY2ggaW4gZGVuIEVpbmdhYmVtb2R1cyB2ZXJzZXR6dC4KLQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gMy40OiBNRUhSIMROREVSVU5HRU4gTUlUVEVMUyBjCi0KLQotICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioKLQotICAxLiBEZXIgY2hhbmdlIE9wZXJhdG9yIGFyYmVpdGV0IGluIGdsZWljaGVyIFdlaXNlIHdpZSBkZWxldGUuIERhcyBGb3JtYXQgaXN0OgotCi0gICAgICAgICBjICAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0Ci0KLSAgMi4gRGllIEJld2VndW5nc3NjaHJpdHRlIHNpbmQgZGllIGdsZWljaGVuICwgc28gd2llICB3ICAoV29ydCkgdW5kICAkCi0gICAgIChaZWlsZW5lbmRlKS4KLQotICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotCi0gIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gRmVobGVyLgotCi0gIDUuIFRpcHBlICBjJCAgLCBnaWIgZGVuIFJlc3QgZGVyIFplaWxlIHdpZSBpbiBkZXIgendlaXRlbiBlaW4sIGRy/GNrZSA8RVNDPiAuCi0KLS0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgYW4gZGllIHp3ZWl0ZSBaZWlsZSBhbmdlZ2xpY2hlbiB3ZXJkZW4uCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIG1pdCBkZW0gIGMkICBLb21tYW5kbyBrb3JyaWdpZXJ0IHdlcmRlbi4KLQotQmVtZXJrdW5nOiBEdSBrYW5uc3QgZGllIFL8Y2t0YXN0ZSBiZW51dHplbiwgdW0gVGlwcGZlaGxlciB6dSBrb3JyaWdpZXJlbi4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAzCi0KLQotICAxLiBVbSBlaW5lbiB2b3JoZXIgZ2Vs9nNjaHRlbiBUZXh0IGFuenVm/GdlbiwgdGlwcGUgICBwIC4gRGllcyBm/Gd0IGRlbgotICAgICBnZWz2c2NodGVuIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuICh3ZW5uIGVpbmUgZ2FuemUgWmVpbGUgZ2Vs9nNjaHQgd3VyZGUsCi0gICAgIHdpcmQgZGllc2UgaW4gZGllIFplaWxlIHVudGVyIGRlbSBDdXJzb3IgZWluZ2Vm/Gd0KS4KLQotICAyLiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGVyc2V0emVuLCB0aXBwZSAgIHIgICB1bmQgZGFzIGFuIGRpZXNlcgotICAgICBTdGVsbGUgZ2V3/G5zY2h0ZSBaZWljaGVuLgotCi0gIDMuIERlciDEbmRlcnVuZ3MtIChjaGFuZ2UpIE9wZXJhdG9yIGVybGF1YnQsIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGRlcwotICAgICBCZXdlZ3VuZ3NzY2hyaXR0ZXMgenUg5G5kZXJuLiBUaXBwZSAgY2UgICwgdW0gZWluZSDEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcwotICAgICB6dW0gRW5kZSBkZXMgV29ydGVzIHZvcnp1bmVobWVuOyAgYyQgIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZS4KLQotICA0LiBEYXMgRm9ybWF0IGb8ciBjaGFuZ2UgaXN0OgotCi0JIGMgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAotCi0gIE51biBmYWhyZSBtaXQgZGVyIG7kY2hzdGVuIExla3Rpb24gZm9ydC4KLQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgIExla3Rpb24gNC4xOiBDVVJTT1JQT1NJVElPTiBVTkQgREFURUlTVEFUVVMKLQotICoqIFRpcHBlIENUUkwtRyAsIHVtIERlaW5lIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzIGFuenV6ZWlnZW4uICoqCi0gICAgICoqIFRpcHBlIEcgLCB1bSBEaWNoIHp1IGVpbmVyIFplaWxlIGluIGRlciBEYXRlaSB6dSBiZWdlYmVuLiAqKgotCi1CZW1lcmt1bmc6IExpZXMgZGllc2UgZ2VzYW10ZSBMZWt0aW9uLCBiZXZvciBEdSBpcmdlbmRlaW5lbiBTY2hyaXR0IGF1c2b8aHJzdCEhCi0KLSAgMS4gSGFsdGUgZGllIEN0cmwgVGFzdGUgdW50ZW4gdW5kIGRy/GNrZSAgZyAuIERpZXMgbmVubmVuIHdpciB3aXIgQ1RSTC1HLgotICAgICBFaW5lIFN0YXR1c21lbGR1bmcgYW0gRnXfIGRlciBTZWl0ZSBlcnNjaGVpbnQgbWl0IGRlbSBEYXRlaW5hbWVuIHVuZCBkZXIKLSAgICAgUG9zaXRpb24gaW5uZXJoYWxiIGRlciBEYXRlaS4gTWVya2UgRGlyIGRpZSBaZWlsZW5udW1tZXIgZvxyIFNjaHJpdHQgMy4KLQotQmVtZXJrdW5nOiBN9mdsaWNoZXJ3ZWlzZSBzaWVoc3QgRHUgZGllIEN1cnNvcnBvc2l0aW9uIGluIGRlciB1bnRlcmVuIHJlY2h0ZW4KLSAgICAgIEJpbGRzY2hpcm1lY2tlLiBEaWVzIGlzdCBGb2xnZSBkZXIgJ3J1bGVyJyBPcHRpb24gKHNpZWhlIDpoZWxwICdydWxlcicpCi0KLSAgMi4gRHL8Y2tlICBHICAsIHVtIERpY2ggenVtIEVuZGUgZGVyIERhdGVpIHp1IGJlZ2ViZW4uCi0gICAgIFRpcHBlICBnZyAgLCB1bSBEaWNoIHp1bSBBbmZhbmcgZGVyIERhdGVpIHp1IGJlZ2ViZW4uCi0KLSAgMy4gR2liIGRpZSBOdW1tZXIgZGVyIFplaWxlIGVpbiwgYXVmIGRlciBEdSB2b3JoZXIgd2Fyc3QsIGdlZm9sZ3Qgdm9uICBHIC4KLSAgICAgRGllcyBicmluZ3QgRGljaCB6dXL8Y2sgenUgZGVyIFplaWxlLCBhdWYgZGVyIER1IGdlc3RhbmRlbiBoYXN0LCBhbHMgRHUKLSAgICAgZGFzIGVyc3RlIE1hbCBDVFJMLUcgZ2Vkcvxja3QgaGFzdC4KLQotICA0LiBXZW5uIER1IERpY2ggc2ljaGVyIGdlbnVnIGb8aGxzdCwgZvxocmUgZGllIFNjaHJpdHRlIDEgYmlzIDMgYXVzLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPCi0KLQotICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioKLQotICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVtZXJrZSwgZGFzcyBkYXMgIC8gdW5kIGRlcgotICAgICBDdXJzb3IgYW0gRnXfIGRlcyBTY2hpcm1zIGVyc2NoZWluZW4sIHNvIHdpZSBiZWltIDoJS29tbWFuZG8uCi0KLSAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4KLQotICAzLiBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayB3ZWl0ZXJ6dXN1Y2hlbiwgdGlwcGUgZWluZmFjaCAgbiAoZvxyIG5leHQpLgotICAgICBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4sIHRpcHBlICBOIC4KLQotICA0LiBVbSBuYWNoIGVpbmVtIEF1c2RydWNrIHL8Y2t35HJ0cyB6dSBzdWNoZW4gLCBiZW51dHplICA/ICBzdGF0dCAgLyAuCi0KLSAgNS4gVW0gZGFoaW4genVy/GNrenVrZWhyZW4sIHZvbiB3byBEdSBnZWtvbW1lbiBiaXN0LCBkcvxja2UgQ1RSTC1PIChIYWx0ZQotICAgICBDdHJsIHVudGVuIHVuZCBkcvxja2UgZGVuIEJ1Y2hzdGFiZW4gbykuIFdpZWRlcmhvbGUgZGllcywgdW0gd2VpdGVyCi0gICAgIHp1cvxja3p1Z2VoZW4uICBDVFJMLUkgYnJpbmd0IGRpY2ggdm9yd+RydHMuCi0KLS0tLT4gIEZlaGxlciBzY2hyZWlidCBzaWNoIG5pY2h0ICJGZWhobGVyIjsgRmVoaGxlciBpc3QgZWluIEZlaGxlcgotQmVtZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nCi0gICAgICAgIGZvcnRnZXNldHp0LCBlcyBzZWkgZGVubiwgZGllICd3cmFwc2NhbicgT3B0aW9uIHd1cmRlIGFiZ2VzY2hhbHRldC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4KLQotCi0gICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUga29ycmVzcG9uZGllcmVuZGUgS2xhbW1lciApLF0sIG9kZXIgfSB6dSBmaW5kZW4uICoqCi0KLSAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVzIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4KLSAgICAgc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgotCi0gIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uCi0KLSAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vu/GJlcmxpZWdlbmRlbiBLbGFtbWVyLgotCi0gIDQuIFRpcHBlICAlICwgdW0gZGVuIEN1cnNvciB6dXIgYW5kZXJlbiBwYXNzZW5kZW4gS2xhbW1lciB6dSBiZXdlZ2VuLgotCi0gIDUuIFNldHplIGRlbiBDdXJzb3IgYXVmIGVpbiBhbmRlcmVzICgsKSxbLF0seyBvZGVyIH0gdW5kIHByb2JpZXJlICAlICBhdXMuCi0KLS0tLT4gRGllcyAoIGlzdCBlaW5lIFRlc3R6ZWlsZSAoIG1pdCBbIHZlcnNjaGllZGVuZW4gXSB7IEtsYW1tZXJuIH0gIGRhcmluLiApKQotCi1CZW1lcmt1bmc6IERpZXNlIEZ1bmt0aW9uYWxpdOR0IGlzdCBzZWhyIG78dHpsaWNoIGJlaSBkZXIgRmVobGVyc3VjaGUgaW4gZWluZW0KLSAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gcGFzc2VuZGUgS2xhbW1lcm4gZmVobGVuIQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkKLQotCi0JICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgMi4gVGlwcGUgIDpzL2RpZWUvZGllIDxFTlRFUj4gLiAgQmVtZXJrZSwgZGFzcyBkZXIgQmVmZWhsIG51ciBkYXMgZXJzdGUKLSAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4KLQotICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nIC4gRGFzIFp1ZvxnZW4gZGVzIEZsYWdzICBnICAgYmVkZXV0ZXQsIGVpbmUKLSAgICAgZ2xvYmFsZSBFcnNldHp1bmcg/GJlciBkaWUgWmVpbGUgZHVyY2h6dWb8aHJlbiwgd2FzIGFsbGUgVm9ya29tbWVuIHZvbgotICAgICAiZGllZSIgYXVmIGRlciBaZWlsZSBlcnNldHp0LgotCi0tLS0+IGRpZWUgc2No9m5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZy/GhsaW5nc3plaXQuCi0KLSAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuIHp1IORuZGVybiwKLSAgICAgdGlwcGUgIDojLCNzL2FsdC9uZXUvZyAgIHdvYmVpICMsIyBkaWUgWmVpbGVubnVtbWVybiBkZXMgWmVpbGVuYmVyZWljaGVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2luZCwgaW4gZGVtIGRpZSBFcnNldHp1bmcgZHVyY2hnZWb8aHJ0IHdlcmRlbiBzb2xsLgotICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUg5G5kZXJuLgotICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZ2MgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUgZmluZGVuCi0gICAgICAgICAgICAgICAgICAgICBtaXQgZWluZW0gRnJhZ2VkaWFsb2csIG9iIGVyc2V0enQgd2VyZGVuIHNvbGwgb2RlciBuaWNodC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA0Ci0KLSAgMS4gQ1RSTC1HICB6ZWlndCBkaWUgYWt0dWVsbGUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMuCi0gICAgICAgICAgICAgRyAgYnJpbmd0IERpY2ggenVtIEVuZGUgZGVyIERhdGVpLgotICAgICBOdW1tZXIgIEcgIGJyaW5ndCBEaWNoIHp1ciBlbnRzcHJlY2hlbmRlbiBaZWlsZW5udW1tZXIuCi0gICAgICAgICAgICBnZyAgYnJpbmd0IERpY2ggenVyIGVyc3RlbiBaZWlsZS4KLQotICAyLiBEaWUgRWluZ2FiZSB2b24gIC8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgVk9SV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suCi0gICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBS3ENLV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suCi0gICAgIFRpcHBlIG5hY2ggZWluZXIgU3VjaGUgIG4gICwgdW0gZGFzIG7kY2hzdGUgVm9ya29tbWVuIGluIGRlciBnbGVpY2hlbgotICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLgotICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVy/GNrIHp1IORsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uCi0KLSAgMy4gRGllIEVpbmdhYmUgdm9uICAlICAsIHdlbm4gZGVyIEN1cnNvciBzaWNoIGF1ZiAoLCksWyxdLHssIG9kZXIgfQotICAgICBiZWZpbmRldCwgYnJpbmd0IERpY2ggenVyIEdlZ2Vua2xhbW1lci4KLQotICA0LiBVbSBkYXMgZXJzdGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBlaW5lciBaZWlsZSBkdXJjaCAibmV1IiB6dSBlcnNldHplbiwKLSAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1Ci0gICAgIFVtIGFsbGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBkZXIgWmVpbGUgZXJzZXR6ZW4sIHRpcHBlICA6cy9hbHQvbmV1L2cKLSAgICAgVW0gQXVzZHL8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVubnVtbWVybiB6dSBlcnNldHplbiwgIDojLCNzL2FsdC9uZXUvZwotICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZwotICAgICBG/HIgZWluZSBqZWRtYWxpZ2UgQmVzdOR0aWd1bmcsIGFkZGllcmUgICdjJyAgKGNvbmZpcm0pICAgOiVzL2FsdC9uZXUvZ2MKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQlMZWt0aW9uIDUuMTogQVVTRtxIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUwotCi0KLSAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVm/GhyZW4uICoqCi0KLSAgMS4gVGlwcGUgZGFzIHZlcnRyYXV0ZSBLb21tYW5kbyAgOiAgLCB1bSBkZW4gQ3Vyc29yIGF1ZiBkZW4gRnXfIGRlcyBTY2hpcm1zCi0gICAgIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvemVpbGVuLUtvbW1hbmRvIGVpbnp1Z2ViZW4uCi0KLSAgMi4gTnVuIHRpcHBlIGVpbiAgISAgKEF1c3J1ZmV6ZWljaGVuKS4gIERpZXMgZXJt9mdsaWNodCBEaXIsIGVpbiBiZWxpZWJpZ2VzLAotICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZvxocmVuLgotCi0gIDMuIEFscyBCZWlzcGllbCB0aXBwZSAgIGxzICAgbmFjaCBkZW0gICEgIHVuZCBkcvxja2UgPEVOVEVSPi4gRGllcyB6ZWlndAotICAgICBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzIFZlcnplaWNobmlzc2VzOyBnZW5hdXNvLCBhbHMgd2VubiBEdSBhdWYgZGVyCi0gICAgIEVpbmdhYmVhdWZmb3JkZXJ1bmcgd+Ryc3QuICBPZGVyIHZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBnZWh0LgotCi1CZW1lcmt1bmc6ICBNaXQgZGllc2VyIE1ldGhvZGUga2FubiBqZWRlcyBiZWxpZWJpZ2UgZXh0ZXJuZSBLb21tYW5kbwotICAgICBhdXNnZWb8aHJ0IHdlcmRlbiwgYXVjaCBtaXQgQXJndW1lbnRlbi4KLQotQmVtZXJrdW5nOiAgQWxsZSAgOiAgS29tbWFuZG9zIG38c3NlbiBkdXJjaCBFaW5nYWJlIHZvbiA8RU5URVI+Ci0gICAgIGFiZ2VzY2hsb3NzZW4gd2VyZGVuLiBWb24gamV0enQgYW4gZXJ35GhuZW4gd2lyIGRpZXMgbmljaHQgamVkZXNtYWwuCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCUxla3Rpb24gNS4yOiBNRUhSINxCRVIgREFTIFNDSFJFSUJFTiBWT04gREFURUlFTgotCi0KLSoqIFVtIGFtIFRleHQgZHVyY2hnZWb8aHJ0ZSDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKgotCi0gIDEuIFRpcHBlICA6IWRpciAgb2RlciAgOiFscyAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzIFZlcnplaWNobmlzc2VzIHp1Ci0gICAgIGVyaGFsdGVuLiAgRHUgd2Vp33QgbnVuIGJlcmVpdHMsIGRhc3MgRHUgZGFuYWNoIDxFTlRFUj4gZWluZ2ViZW4gbXVzc3QuCi0KLSAgMi4gV+RobGUgZWluZW4gRGF0ZWluYW1lbiwgZGVyIG5vY2ggbmljaHQgZXhpc3RpZXJ0LCB6LkIuIFRFU1QuCi0KLSAgMy4gTnVuIHRpcHBlOiAgOncgVEVTVCAgICh3b2JlaSBURVNUIGRlciBnZXfkaGx0ZSBEYXRlaW5hbWUgaXN0KS4KLQotICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULgotICAgICBVbSBkaWVzIHp1IPxiZXJwcvxmZW4sIHRpcHBlIG5vY2htYWxzICA6IWxzICBiencuICAhZGlyLCB1bSBEZWluZW4KLSAgICAgVmVyemVpY2huaXNpbmhhbHQgenUgc2VoZW4uCi0KLUJlbWVya3VuZzogV/xyZGVzdCBEdSBWaW0gamV0enQgYmVlbmRlbiB1bmQgZGFuYWNoIHdpZWRlciBtaXQgdmltIFRFU1QKLSAgICBzdGFydGVuLCBkYW5uIHfkcmUgZGllc2UgRGF0ZWkgZWluZSBleGFrdGUgS29waWUgZGVzIFR1dG9ycyB6dSBkZW0KLSAgICBaZWl0cHVua3QsIGFscyBEdSBpaG4gZ2VzcGVpY2hlcnQgaGFzdC4KLQotICA1LiBOdW4gZW50ZmVybmUgZGllIERhdGVpIGR1cmNoIEVpbmdhYmUgdm9uIChNUy1ET1MpOiAgICA6IWRlbCBURVNUCi0JCQkJb2RlciAoVW5peCk6CTohcm0gVEVTVAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSBMZWt0aW9uIDUuMzogQVVTV8RITEVOIFZPTiBURVhUIFpVTSBTQ0hSRUlCRU4KLQotKiogVW0gZWluZW4gQWJzY2huaXR0IGRlciBEYXRlaSB6dSBzcGVpY2hlcm4sICB0aXBwZSAgdiAgQmV3ZWd1bmcgIDp3IERBVEVJICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGllc2VyIFplaWxlLgotCi0gIDIuIFRpcHBlICB2ICB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIGb8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4KLSAgICAgQmVtZXJrZSwgZGHfIGRlciBUZXh0IGhlcnZvcmdlaG9iZW4gd2lyZC4KLQotICAzLiBEcvxja2UgZGFzIFplaWNoZW4gIDogLiBBbSBGdd8gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLgotCi0gIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0LgotICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGHfIER1ICA6JzwsJz53IFRFU1QgIHNpZWhzdCwgYmV2b3IgRHUgRW50ZXIgZHL8Y2tzdC4KLQotICA1LiBWaW0gc2NocmVpYnQgZGllIGF1c2dld+RobHRlbiBaZWlsZW4gaW4gZGllIERhdGVpIFRFU1QuIEJlbnV0emUgIDohZGlyCi0gICAgIG9kZXIgIDohbHMgLCB1bSBzaWUgenUgc2VoZW4uIEz2c2NoZSBzaWUgbm9jaCBuaWNodCEgV2lyIHdlcmRlbiBzaWUgaW4KLSAgICAgZGVyIG7kY2hzdGVuIExla3Rpb24gYmVudXR6ZW4uCi0KLUJlbWVya3VuZzogRHL8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yCi0gICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIGdy9t9lciBvZGVyIGtsZWluZXIgenUgbWFjaGVuLiBBbnNjaGxpZd9lbmQKLSAgIGthbm4gbWFuIGVpbmVuIE9wZXJhdG9yIGFud2VuZGVuLCB1bSBtaXQgZGVtIFRleHQgZXR3YXMgenUgdHVuLiBadW0KLSAgIEJlaXNwaWVsIGz2c2NodCAgZCAgZGVuIFRleHQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkgICAgICBMZWt0aW9uIDUuNDogRUlOTEVTRU4gVU5EIFpVU0FNTUVORtxIUkVOIFZPTiBEQVRFSUVOCi0KLQotICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioKLQotICAxLiBQbGF0emllcmUgZGVuIEN1cnNvciD8YmVyaGFsYiBkaWVzZXIgWmVpbGUuCi0KLUJFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMiBhdXNnZWb8aHJ0IGhhc3QsIHdpcnN0IER1IFRleHQgYXVzIExla3Rpb24gNS4zCi0gICAgICAgc2VoZW4uIERhbm4gYmV3ZWdlIERpY2ggd2llZGVyIEFCV8RSVFMsIHVtIGRpZXNlIExla3Rpb24gd2llZGVyenVzZWhlbi4KLQotICAyLiBOdW4gbGllcyBEZWluZSBEYXRlaSBURVNUIGVpbiBpbmRlbSBEdSBkYXMgS29tbWFuZG8gIDpyIFRFU1QgIGF1c2b8aHJzdCwKLSAgICAgd29iZWkgVEVTVCBkZXIgdm9uIERpciB2ZXJ3ZW5kZXRlIERhdGVpbmFtZSBpc3QuCi0gICAgIERpZSBlaW5nZWxlc2VuZSBEYXRlaSB3aXJkIHVudGVyaGFsYiBkZXIgQ3Vyc29yemVpbGUgZWluZ2Vm/Gd0LgotCi0gIDMuIFVtIHp1IPxiZXJwcvxmZW4sIGRhc3MgZGllIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVy/GNrIHVuZCBzaWVoZSwKLSAgICAgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCBkaWUKLSAgICAgZWluZ2Vm/Gd0ZSBEYXRlaXZlcnNpb24uCi0KLUJlbWVya3VuZzogRHUga2FubnN0IGF1Y2ggZGllIEF1c2dhYmUgZWluZXMgZXh0ZXJuZW4gS29tbWFuZG9zIGVpbmxlc2VuLiBadW0KLSAgICAgQmVpc3BpZWwgbGllc3QgIDpyICFscyAgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBscyBlaW4gdW5kIHBsYXR6aWVydAotICAgICBzaWUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzLgotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNQotCi0KLSAgMS4gOiFLb21tYW5kbyAgZvxocnQgZWluIGV4dGVybmVzIEtvbW1hbmRvIGF1cy4KLQotICAgICAgRWluaWdlIG78dHpsaWNoZSBCZWlzcGllbGUgc2luZAotCShNUy1ET1MpCSAgKFVuaXgpCi0JIDohZGlyCQkgICA6IWxzCQkgICAtICB6ZWlndCBlaW5lIFZlcnplaWNobmlzYXVmbGlzdHVuZy4KLQkgOiFkZWwgREFURUlOQU1FICAgOiFybSBEQVRFSU5BTUUgIC0gIGVudGZlcm50IERhdGVpIERBVEVJTkFNRS4KLQotICAyLiA6dyBEQVRFSU5BTUUgIHNwZWljaGVydCBkaWUgYWt0dWVsbGUgVmltLURhdGVpIHVudGVyIGRlbSBOYW1lbiAgREFURUlOQU1FLgotCi0gIDMuIHYgIEJld2VndW5nICA6dyBEQVRFSU5BTUUgIHNjaHJlaWJ0IGRpZSBWaXN1ZWxsIGF1c2dld+RobHRlbiBaZWlsZW4gaW4KLSAgICAgZGllIERhdGVpIERBVEVJTkFNRS4KLQotICA0LiA6ciBEQVRFSU5BTUUgIGzkZHQgZGllIERhdGVpIERBVEVJTkFNRSB1bmQgZvxndCBzaWUgdW50ZXJoYWxiIGRlcgotICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCi0KLSAgNS4gOnIgIWRpciAgbGllc3QgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBkaXIgdW5kIGb8Z3Qgc2llIHVudGVyaGFsYiBkZXIKLSAgICAgQ3Vyc29ycG9zaXRpb24gZWluLgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgICAgTGVrdGlvbiA2LjE6IFpFSUxFTiDWRkZORU4gKE9QRU4pCi0KLQotICAgKiogVGlwcGUgIG8JLCB1bSBlaW5lIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSD2ZmZuZW4gdW5kIERpY2ggaW4gKioKLSAgICAgICAgICAgICAgICAgICAgICAqKiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIGVyc3RlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDIuIFRpcHBlIG8gKGtsZWluIGdlc2NocmllYmVuKSwgdW0gZWluZSBaZWlsZSBVTlRFUkhBTEIgZGVzIEN1cnNvcyB6dSD2ZmZuZW4KLSAgICAgdW5kIERpY2ggaW4gZGVuIEVpbmb8Z2Vtb2R1cyB6dSBiZWdlYmVuLgotCi0gIDMuIE51biB0aXBwZSBldHdhcyBUZXh0IHVuZCBkcvxja2UgPEVTQz4gLCB1bSBkZW4gRWluZvxnZW1vZHVzIHp1IHZlcmxhc3Nlbi4KLQotLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZvxnZW1vZHVzIHBsYXR6aWVydC4KLQotICA0LiBVbSBlaW5lIFplaWxlINxCRVJIQUxCIGRlcyBDdXJzb3MgYXVmenVtYWNoZW4sIGdpYiBlaW5mYWNoIGVpbiBncm/fZXMgIE8KLSAgICAgc3RhdHQgZWluZW0ga2xlaW5lbiAgbyAgZWluLiBWZXJzdWNoZSBkaWVzIGF1ZiBkZXIgdW50ZW4gc3RlaGVuZGVuIFplaWxlLgotCi0tLS0+INZmZm5lIGVpbmUgWmVpbGUg/GJlciBkaWVzZXIgbWl0IE8gLCB3ZW5uIGRlciBDdXJzb3IgYXVmIGRpZXNlciBaZWlsZSBpc3QuCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgIExla3Rpb24gNi4yOiBURVhUIEFORtxHRU4gKEFQUEVORCkKLQotCi0JICAgICAqKiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBlaW56dWb8Z2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVyIGVyc3RlbiDcYnVuZ3N6ZWlsZSBtaXQgLS0tPiB1bnRlbi4KLQotICAyLiBEcvxja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuCi0KLSAgMy4gVGlwcGUgZWluIGtsZWluZXMgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWb8Z2VuLgotCi0gIDQuIFZlcnZvbGxzdORuZGlnZSBkYXMgV29ydCBzbyB3aWUgaW4gZGVyIFplaWxlIGRhcnVudGVyLiAgRHL8Y2tlIDxFU0M+ICwKLSAgICAgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCi0KLSAgNS4gQmV3ZWdlIERpY2ggbWl0ICBlICB6dW0gbuRjaHN0ZW4gdW52b2xsc3TkbmRpZ2VuIFdvcnQgdW5kIHdpZWRlcmhvbGUKLSAgICAgU2Nocml0dGUgMyB1bmQgNC4KLQotLS0tPiBEaWVzZSBaZWkgYmlldGV0IEdlbGVnZW4gLCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVm/C4KLS0tLT4gRGllc2UgWmVpbGUgYmlldGV0IEdlbGVnZW5oZWl0LCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVm/Gdlbi4KLQotQmVtZXJrdW5nOiAgYSwgaSB1bmQgQSBnZWhlbiBhbGxlIGdsZWljaGVybWHfZW4gaW4gZGVuIEVpbmb8Z2Vtb2R1czsgZGVyCi0gICAgICAgICAgICBlaW56aWdlIFVudGVyc2NoaWVkIGlzdCwgd28gZGllIFplaWNoZW4gZWluZ2Vm/Gd0IHdlcmRlbi4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCSAgICAgIExla3Rpb24gNi4zOiBFSU5FIEFOREVSRSBBUlQgREVTIEVSU0VUWkVOUyAoUkVQTEFDRSkKLQotCi0gICAgICAgKiogVGlwcGUgZWluIGdyb99lcyAgUiAgLCB1bSBtZWhyIGFscyBlaW4gWmVpY2hlbiB6dSBlcnNldHplbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLSAgICAgQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXMgZXJzdGVuICB4eHggLgotCi0gIDIuIE51biBkcvxja2UgIFIgIHVuZCB0aXBwZSBkaWUgTnVtbWVyLCBkaWUgZGFydW50ZXIgaW4gZGVyIHp3ZWl0ZW4gWmVpbGUKLSAgICAgc3RlaHQsIHNvIGRhcyBkaWVzZSBkYXMgeHh4IGVyc2V0enQuCi0KLSAgMy4gRHL8Y2tlIDxFU0M+ICwgdW0gZGVuIEVyc2V0enVuZ3Ntb2R1cyB6dSB2ZXJsYXNzZW4uIEJlbWVya2UsIGRh3yBkZXIgUmVzdAotICAgICBkZXIgWmVpbGUgdW52ZXLkbmRlcnQgYmxlaWJ0LgotCi0gIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlLCB1bSBkYXMgdmVyYmxpZWJlbmUgeHh4IHp1IGVyc2V0emVuLgotCi0tLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IHh4eCBlcmdpYnQgeHh4LgotLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSA0NTYgZXJnaWJ0IDU3OS4KLQotQmVtZXJrdW5nOiBEZXIgRXJzZXR6dW5nc21vZHVzIGlzdCB3aWUgZGVyIEVpbmb8Z2Vtb2R1cywgYWJlciBqZWRlcyBlaW5nZXRpcHB0ZQotICAgICAgICAgICBaZWljaGVuIGz2c2NodCBlaW4gdm9yaGFuZGVuZXMgWmVpY2hlbi4KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORtxHRU4KLQotICoqIEJlbnV0emUgZGVuICB5ICBPcGVyYXRvciwgdW0gVGV4dCB6dSBrb3BpZXJlbjsgIHAgICwgdW0gaWhuIGVpbnp1ZvxnZW4gKioKLQotICAxLiBHZWhlIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLCBzZXR6ZSBkZW4gQ3Vyc29yIGhpbnRlciAiYSkiLgotCi0gIDIuIFN0YXJ0ZSBkZW4gVmlzdWVsbGVuIE1vZHVzIG1pdCAgdiAgLCBiZXdlZ2UgZGVuIEN1cnNvciBnZW5hdSB2b3IgImVyc3RlIi4KLQotICAzLiBUaXBwZSAgeSAgLCB1bSBkZW4gaGVydm9yZ2Vob2JlbiBUZXh0IHp1IGtvcGllcmVuLgotCi0gIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZTogIGokCi0KLSAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWb8Z2VuIHVuZCBhbnNjaGxpZd9lbmQ6ICBhIHp3ZWl0ZSA8RVNDPiAuCi0KLSAgNi4gQmVudXR6ZSBkZW4gVmlzdWVsbGVuIE1vZHVzLCB1bSAiIEVpbnRyYWcuIiBhdXN6dXfkaGxlbiwga29waWVyZSBtaXR0ZWxzCi0gICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGUgbWl0ICBqJCAgdW5kIGb8Z2UgZGVuIFRleHQKLSAgICAgZG9ydCBtaXQgIHAgIGFuLgotCi0tLS0+ICBhKSBkaWVzIGlzdCBkZXIgZXJzdGUgRWludHJhZy4KLSAgICAgIGIpCi0KLUJlbWVya3VuZzogRHUga2FubnN0ICB5ICBhdWNoIGFscyBPcGVyYXRvciB2ZXJ3ZW5kZW47ICB5dyAga29waWVydCBlaW4gV29ydC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICBMZWt0aW9uIDYuNTogT1BUSU9ORU4gU0VUWkVOCi0KLSAgICAgICoqIFNldHplIGVpbmUgT3B0aW9uIHNvLCBkYXNzIGVpbmUgU3VjaGUgb2RlciBlaW5lIEVyc2V0enVuZyBHcm/fLSAqKgotCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKgotCi0gIDEuIFN1Y2hlIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICAgIC9pZ25vcmllcmUgICBlaW5naWJzdC4KLSAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHL8Y2tzdC4KLQotICAyLiBTZXR6ZSBkaWUgJ2ljJyAoSWdub3JlIGNhc2UpIC0gT3B0aW9uLCBpbmRlbSBEdSAgIDpzZXQgaWMgICBlaW5naWJzdC4KLQotICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICBuICB0aXBwc3QuCi0gICAgIEJlbWVya2UsIGRh3yBqZXR6dCBJZ25vcmllcmUgdW5kIGF1Y2ggSUdOT1JJRVJFIGdlZnVuZGVuIHdpcmQuCi0KLSAgNC4gU2V0emUgZGllICdobHNlYXJjaCcgdW5kICdpbmNzZWFyY2gnIC0gT3B0aW9uZW46ICAgICA6c2V0IGhscyBpcwotCi0gIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+Ci0KLSAgNi4gVW0gZGFzIElnbm9yaWVyZW4gdm9uIEdyb98vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMKLQotQmVtZXJrdW5nOiBVbSBkaWUgSGVydm9yaGVidW5nIGRlciBUcmVmZmVyIHp1IGVuZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gKLUJlbWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBm/HIgZWluZSBlaW56aWdlIFN1Y2hlIHp1IGlnbm9yaWVyZW4sIGJlbnV0emUKLSAgICAgICAgICAgXGMgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNgotCi0gMS4gVGlwcGUgIG8gICwgdW0gZWluZSBaZWlsZSBVTlRFUiBkZW0gQ3Vyc29yIHp1IPZmZm5lbiB1bmQgZGVuIEVpbmb8Z2Vtb2R1cwotICAgICAgICAgICAgICAgIHp1IHN0YXJ0ZW4uCi0gICAgVGlwcGUgIE8gICwgdW0gZWluZSBaZWlsZSDcQkVSIGRlbSBDdXJzb3IgenUg9mZmbmVuLgotCi0gMi4gVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWb8Z2VuLgotICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZvxnZW4uCi0KLSAzLiBEYXMgS29tbWFuZG8gIGUgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGVpbmVzIFdvcnRlcy4KLQotIDQuIERlciBPcGVyYXRvciAgeSAgKHlhbmspIGtvcGllcnQgVGV4dCwgIHAgIChwdXQpIGb8Z3QgaWhuIGVpbi4KLQotIDUuIEVpbiBncm/fZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERy/GNrZW4gdm9uICA8RVNDPiAuCi0KLSA2LiBEaWUgRWluZ2FiZSB2b24gIjpzZXQgeHh4IiBzZXR6dCBkaWUgT3B0aW9uICJ4eHgiLiBFaW5pZ2UgT3B0aW9uZW4gc2luZDoKLQknaWMnICdpZ25vcmVjYXNlJyAgICBJZ25vcmllcmUgR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlCi0JJ2lzJyAnaW5jc2VhcmNoJyAgICAgWmVpZ2UgVGVpbPxiZXJlaW5zdGltbXVuZ2VuIGb8ciBlaW5lbiBTdWNoYXVzZHJ1Y2sKLQknaGxzJyAnaGxzZWFyY2gnICAgICBIZWJlIGFsbGUgcGFzc2VuZGVuIEF1c2Ry/GNrZSBoZXJ2b3IKLSAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4KLQotIDcuIFN0ZWxsZSBlaW5lciBPcHRpb24gIm5vIiB2b3JhbiwgdW0gc2llIGFienVzY2hhbHRlbjogICA6c2V0IG5vaWMKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJTGVrdGlvbiA3LjEgOiBBVUZSVUZFTiBWT04gSElMRkUKLQotCi0JCSAgICAgKiogTnV0emUgZGFzIGVpbmdlYmF1dGUgSGlsZmVzeXN0ZW0gKioKLQotICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBG/HIgZGVuIEFuZmFuZyBwcm9iaWVyZQotICBlaW5zIGRlciBkcmVpIGZvbGdlbmRlbiBEaW5nZSBhdXM6Ci0JLSBEcvxja2UgZGllIDxIaWxmZT4gLSBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQotCS0gRHL8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpCi0JLSBUaXBwZSAgIDpoZWxwIDxFTlRFUj4KLQotICBMaWVzIGRlbiBUZXh0IGltIEhpbGZlZmVuc3RlciwgdW0genUgdmVyc3RlaGVuIHdpZSBkaWUgSGlsZmUgZnVua3Rpb25pZXJ0LgotICBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgICwgdW0gdm9uIGVpbmVtIEZlbnN0ZXIgenVtIGFuZGVyZW4genUgc3ByaW5nZW4uCi0gIFRpcHBlICAgOnEgPEVOVEVSPiAgLCB1bSBkYXMgSGlsZmVmZW5zdGVyIHp1IHNjaGxpZd9lbi4KLQotICBEdSBrYW5uc3QgSGlsZmUgenUgcHJha3Rpc2NoIGplZGVtIFRoZW1hIGZpbmRlbiwgaW5kZW0gRHUgZGVtICI6aGVscCItCi0gIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOgotCi0JOmhlbHAgdwotCTpoZWxwIGNfQ1RSTC1ECi0JOmhlbHAgaW5zZXJ0LWluZGV4Ci0JOmhlbHAgdXNlci1tYW51YWwKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gNy4yOiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUCi0KLQotCSAgICoqICBBa3RpdmllcmUgZGllIGVpbmdlYmF1dGVuIEZ1bmt0aW9uYWxpdOR0ZW4gdm9uIFZpbSAqKgotCi0gIFZpbSBiZXNpdHp0IHZpZWxlIEZ1bmt0aW9uYWxpdOR0ZW4sIGRpZSD8YmVyIFZpIGhpbmF1c2dlaGVuLCBhYmVyIGRpZSBtZWlzdGVuCi0gIHZvbiBpaG5lbiBzaW5kIHN0YW5kYXJkbeTfaWcgZGVha3RpdmllcnQuIFVtIG1laHIgRnVua3Rpb25hbGl05HRlbiB6dSBudXR6ZW4sCi0gIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4KLQotICAxLiBTdGFydGUgZGFzIEVkaXRpZXJlbiBkZXIgInZpbXJjIi1EYXRlaSwgYWJo5G5naWcgdm9uIERlaW5lbSBTeXN0ZW06Ci0JOmUgfi8udmltcmMJCWb8ciBVbml4Ci0JOmUgJFZJTS9fdmltcmMJCWb8ciBNUy1XaW5kb3dzCi0KLSAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46Ci0JOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KLQotICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoKLQk6dwotCi0gIEJlaW0gbuRjaHN0ZW4gU3RhcnQgdm9uIFZpbSB3aXJkIGRpZSBTeW50YXhoZXJ2b3JoZWJ1bmcgYWt0aXZpZXJ0IHNlaW4uCi0gIER1IGthbm5zdCBhbGwgRGVpbmUgYmV2b3J6dWd0ZW4gT3B0aW9uZW4genUgZGllc2VyICJ2aW1yYyItRGF0ZWkgenVm/Gdlbi4KLSAgRvxyIG1laHIgSW5mb3JtYXRpb25lbiB0aXBwZSAgOmhlbHAgdmltcmMtaW50cm8KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIExla3Rpb24gNy4zOiBWRVJWT0xMU1TETkRJR0VOCi0KLQotCSAgICoqIEtvbW1hbmRvemVpbGVudmVydm9sbHN05G5kaWd1bmcgbWl0IENUUkwtRCBhbmQgPFRBQj4gKioKLQotICAxLiBTdGVsbGUgc2ljaGVyLCBkYd8gVmltIG5pY2h0IGltIHZpLUtvbXBhdGliaWxpdOR0c21vZHVzIGlzdDogIDpzZXQgbm9jcAotCi0gIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyCi0KLSAgMy4gVGlwcGUgZGVuIEJlZ2lubiBlaW5lcyBLb21hbmRvczogIDplCi0KLSAgNC4gRHL8Y2tlICBDVFJMLUQgIHVuZCBWaW0gemVpZ3QgZWluZSBMaXN0ZSBtaXQgImUiIGJlZ2lubmVuZGVyIEtvbW1hbmRvcy4KLQotICA1LiBEcvxja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdORuZGlndCBkZW4gS29tbWFuZG9uYW1lbiB6dSAiOmVkaXQiLgotCi0gIDYuIE51biBm/GdlIGVpbiBMZWVyemVpY2hlbiB1bmQgZGVuIEJlZ2lubiBlaW5lciBleGlzdGllcmVuZGVuIERhdGVpIGFuOgotICAgICA6ZWRpdCBEQVQKLQotICA3LiBEcvxja2UgPFRBQj4uIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIE5hbWVuIChmYWxscyBlciBlaW5kZXV0aWcgaXN0KS4KLQotQmVtZXJrdW5nOiBWZXJ2b2xsc3TkbmRpZ3VuZyBmdW5rdGlvbmllcnQgZvxyIHZpZWxlIEtvbW1hbmRvcy4gVmVyc3VjaGUKLSAgICAgZWluZmFjaCBDVFJMLUQgdW5kIDxUQUI+LiAgRGllcyBpc3QgaW5zYmVzb25kZXJlIG78dHpsaWNoIGb8ciAgOmhlbHAgLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDcKLQotCi0gIDEuIFRpcHBlICA6aGVscCAgb2RlciBkcvxja2UgPEYxPiBvZGVyIDxIZWxwPiwgdW0gZWluIEhpbGZlZmVuc3RlciB6dSD2ZmZuZW4uCi0KLSAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIPxiZXIgIEtvbW1hbmRvICB6dSBlcmhhbHRlbi4KLQotICAzLiBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgLCB1bSB6dW0gYW5kZXJlbiBGZW5zdGVyIHp1IHNwcmluZ2VuLgotCi0gIDQuIFRpcHBlICA6cSAgLCB1bSBkYXMgSGlsZmVmZW5zdGVyIHp1IHNjaGxpZd9lbi4KLQotICA1LiBFcnN0ZWxsZSBlaW4gdmltcmMgLSBTdGFydHNrcmlwdCB6dXIgU2ljaGVydW5nIGJldm9yenVndGVyIEVpbnN0ZWxsdW5nZW4uCi0KLSAgNi4gRHL8Y2tlIENUUkwtRCBuYWNoIGRlbSBUaXBwZW4gZWluZXMgS29tbWFuZG9zICA6ICAsIHVtIG32Z2xpY2hlCi0gICAgIFZlcnZvbGxzdORuZGlndW5nZW4genUgc2VoZW4uCi0gICAgIERy/GNrZSA8VEFCPiBm/HIgZWluZSBlaW56aWdlIFZlcnZvbGxzdORuZGlndW5nLgotCi0KLQotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLSAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIERpZSBJbnRlbnRpb24gd2FyLCBlaW5lbiBrdXJ6ZW4gdW5kCi0gIGL8bmRpZ2VuINxiZXJibGljayD8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGxpZWZlcm47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdgotICBsZWljaHQgbWl0IGlobSB1bWdlaGVuIHp1IGv2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuCi0gIEFuc3BydWNoIGF1ZiBWb2xsc3TkbmRpZ2tlaXQ7IFZpbSBoYXQgbm9jaCB3ZWl0YXVzIG1laHIgS29tbWFuZG9zLiBMaWVzIGFscwotICBu5GNoc3RlcyBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuCi0KLSAgRvxyIHdlaXRlcmVzIExlc2VuIHVuZCBMZXJuZW4gaXN0IGZvbGdlbmRlcyBCdWNoIGVtcGZvaGxlbiA6Ci0JVmltIC0gVmkgSW1wcm92ZWQgLSB2b24gU3RldmUgT3VhbGxpbmUKLQlWZXJsYWc6IE5ldyBSaWRlcnMKLSAgRGFzIGVyc3RlIEJ1Y2gsIHdlbGNoZXMgZHVyY2hn5G5naWcgVmltIGdld2lkbWV0IGlzdC4gIEJlc29uZGVycyBu/HR6bGljaAotICBm/HIgQW5m5G5nZXIuICBWaWVsZSBCZWlzcGllbGUgdW5kIEJpbGRlciBzaW5kIGVudGhhbHRlbi4KLSAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKLQotICBGb2xnZW5kZXMgQnVjaCBpc3Qg5Gx0ZXIgdW5kIG1laHIg/GJlciBWaSBhbHMgVmltLCBhYmVyIGF1Y2ggZW1wZmVobGVuc3dlcnQ6Ci0JVGV4dGJlYXJiZWl0dW5nIG1pdCBkZW0gdmktRWRpdG9yICAtICB2b24gTGluZGEgTGFtYiB1bmQgQXJub2xkIFJvYmJpbnMKLQlWZXJsYWcgTydSZWlsbHkgLSBJU0JOOiAzODk3MjExMjYyCi0gIEluIGRpZXNlbSBCdWNoIGthbm4gbWFuIGZhc3QgYWxsZXMgZmluZGVuLCB3YXMgbWFuIG1pdCBWaSB0dW4gbfZjaHRlLgotICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIPxiZXIgVmltLgotCi0gIEFscyBha3R1ZWxsZSBSZWZlcmVueiBm/HIgVmVyc2lvbiA2LjIgdW5kIGtuYXBwZSBFaW5m/GhydW5nIGRpZW50IGRhcwotICBmb2xnZW5kZSBCdWNoOgotCXZpbSBnZS1wYWNrdCB2b24gUmVpbmhhcmQgV29ic3QKLQltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05Ci0gIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG78dHpsaWNoZSBCZWlzcGllbGUgYXVjaAotICBm/HIgRWluc3RlaWdlciBlbXBmZWhsZW5zd2VydC4gIFByb2Jla2FwaXRlbCB1bmQgZGllIEJlaXNwaWVsc2tyaXB0ZSBzaW5kCi0gIG9ubGluZSBlcmjkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKLQotICBEaWVzZXMgVHV0b3JpYWwgd3VyZGUgZ2VzY2hyaWViZW4gdm9uIE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKLSAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUKLSAgVW5pdmVyc2l0eSwgenVyIFZlcmb8Z3VuZyBzdGVsbHRlLiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCi0KLSAgQmVhcmJlaXRldCBm/HIgVmltIHZvbiBCcmFtIE1vb2xlbmFhci4KLSAgRGV1dHNjaGUg3GJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDA3LiAgRS1tYWlsOiBKb2FjaGltLkhvZkBnbXguZGUKLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorPSAgICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICBpbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjcuZGUuMSAgPQ0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICBWaW0gaXN0IGVpbiBzZWhyIG3kY2h0aWdlciBFZGl0b3IsIGRlciB2aWVsZSBCZWZlaGxlIGJlcmVpdHN0ZWxsdDsgenUgdmllbGUsDQorICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zkcmVuLiAgRGllc2VyIFR1dG9yIGlzdCBzbw0KKyAgIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIGRhc3MgRHUgZGllIEbkaGlna2VpdCBlcmxhbmdzdCwNCisgICBWaW0gbWl0IExlaWNodGlna2VpdCBhbHMgZWluZW4gQWxsendlY2stRWRpdG9yIHp1IHZlcndlbmRlbi4NCisgICBEaWUgWmVpdCBm/HIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRy5Gd0IGNhLiAyNS0zMCBNaW51dGVuLA0KKyAgIGFiaORuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4NCisNCisgICBBQ0hUVU5HOg0KKyAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4NCisgICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IPxiZW4gd2lsbHN0IChmYWxscyBEdSAidmltdHV0b3IiDQorICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLg0KKw0KKyAgIEVzIGlzdCB3aWNodGlnLCBzaWNoIHp1IHZlcmdlZ2Vud+RydGlnZW4sIGRhc3MgZGllc2VyIFR1dG9yIGb8ciBkYXMgQW53ZW5kZW4NCisgICBrb256aXBpZXJ0IGlzdC4gRGFzIGJlZGV1dGV0LCBkYXNzIER1IGRpZSBCZWZlaGxlIGFud2VuZGVuIG11c3N0LCB1bSBzaWUNCisgICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQ0KKw0KKyAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgZGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHL8Y2t0IGlzdCB1bmQgYmV05HRpZ2UNCisgICBkaWUgICBqICAgVGFzdGUgZ2Vu/GdlbmQgTWFsLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcw0KKyAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZvxsbHQuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJTGVrdGlvbiAxLjE6IEJFV0VHRU4gREVTIENVUlNPUlMNCisNCisgICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHL8Y2tlIGRpZSBoLGosayxsIFRhc3RlbiB3aWUgdW50ZW4gZ2V6ZWlndC4gKioNCisJICAgICBeCQkgSGlsZmVzdGVsbHVuZzoNCisJICAgICBrCQkgRGllIGggVGFzdGUgYmVmaW5kZXQgc2ljaCBsaW5rcyB1bmQgYmV3ZWd0IG5hY2ggbGlua3MuDQorICAgICAgIDwgaAkgbCA+CSBEaWUgbCBUYXN0ZSBsaWVndCByZWNodHMgdW5kIGJld2VndCBuYWNoIHJlY2h0cy4NCisJICAgICBqCQkgRGllIGogVGFzdGUg5GhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uDQorCSAgICAgdg0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgYXVmIGRlbSBCaWxkc2NoaXJtIHVtaGVyLCBiaXMgRHUgRGljaCBzaWNoZXIgZvxobHN0Lg0KKw0KKyAgMi4gSGFsdGUgZGllIE5hY2gtVW50ZW4tVGFzdGUgKGopIGdlZHL8Y2t0LCBiaXMgc2llIHNpY2ggd2llZGVyaG9sdC4NCisgICAgIEpldHp0IHdlad90IER1LCB3aWUgRHUgRGljaCB6dXIgbuRjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4NCisNCisgIDMuIEJlbnV0emUgZGllIE5hY2gtVW50ZW4tVGFzdGUsIHVtIERpY2ggenUgTGVrdGlvbiAxLjIgenUgYmV3ZWdlbi4NCisNCitBbm1lcmt1bmc6IEltbWVyLCB3ZW5uIER1IERpciB1bnNpY2hlciBiaXN0IPxiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LA0KKwkgICBkcvxja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLg0KKwkgICBEYW5uIGdpYiBkYXMgZ2V3/G5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uDQorDQorQW5tZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1DQorCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyDQorCSAgIHVtaGVyenViZXdlZ2VuLCB3ZW5uIER1IERpY2ggZWlubWFsIGRhcmFuIGdld/ZobnQgaGFzdC4gV2lya2xpY2ghDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJICAgIExla3Rpb24gMS4yOiBWSU0gQkVFTkRFTg0KKw0KKw0KKyAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMNCisgICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhDQorDQorICAxLiBEcvxja2UgZGllIDxFU0M+IFRhc3RlICh1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdCkuDQorDQorICAyLiBUaXBwZToJOnEhIDxFTlRFUj4uDQorICAgICBEaWVzIGJlZW5kZXQgZGVuIEVkaXRvciB1bmQgVkVSV0lSRlQgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0Lg0KKw0KKyAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQ0KKyAgICAgZGllc2VtIFR1dG9yIGdlZvxocnQgaGF0LiBEaWVzIHfkcmU6CXZpbXR1dG9yIDxFTlRFUj4NCisNCisgIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZvxobHN0LA0KKyAgICAgZvxocmUgU2Nocml0dGUgMSBiaXMgMyBhdXMsIHVtIGRlbiBFZGl0b3IgenUgdmVybGFzc2VuIHVuZCB3aWVkZXINCisgICAgIGhpbmVpbnp1Z2VsYW5nZW4uDQorDQorQW5tZXJrdW5nOiAgOnEhIDxFTlRFUj4gIHZlcndpcmZ0IGFsbGUgxG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4gRWluaWdlDQorICAgICBMZWt0aW9uZW4gc3DkdGVyIGxlcm5zdCBEdSwgZGllIMRuZGVydW5nZW4gaW4gZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLg0KKw0KKyAgNS4gQmV3ZWdlIGRlbiBDdXJzb3IgYWJ35HJ0cyB6dSBMZWt0aW9uIDEuMy4NCisgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzWU0NIRU4NCisNCisNCisJICoqIERy/GNrZSAgeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGz2c2NoZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciD8YmVyIGRlbSBaZWljaGVuIHN0ZWh0LA0KKyAgICAgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLg0KKw0KKyAgMy4gRHL8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyB1bmVyd/xuc2NodGUgWmVpY2hlbiB6dSBs9nNjaGVuLg0KKw0KKyAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0Lg0KKw0KKy0tLT4gRGllIEtrdWggc3ByYW5nZyD8YmJlcnIgZGVlbiBNb29uZC4NCisNCisgIDUuIE51biwgZGEgZGllIFplaWxlIGtvcnJla3QgaXN0LCBnZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAxLjQuDQorDQorQW5tZXJrdW5nOiBX5GhyZW5kIER1IGR1cmNoIGRpZXNlbiBUdXRvciBnZWhzdCwgdmVyc3VjaGUgbmljaHQsIGF1c3dlbmRpZyB6dQ0KKyAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLg0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBFRElUSUVSRU4gLSBFSU5G3EdFTg0KKw0KKw0KKwkJICAgICoqICBEcvxja2UgIGkgICwgdW0gVGV4dCBlaW56dWb8Z2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIFVtIGRpZSBlcnN0ZSBaZWlsZSBtaXQgZGVyIHp3ZWl0ZW4gZ2xlaWNoenVtYWNoZW4sIGJld2VnZSBkZW4gQ3Vyc29yIGF1Zg0KKyAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCBhbiBkZXIgVGV4dCBlaW5nZWb8Z3Qgd2VyZGVuIHNvbGwuDQorDQorICAzLiBEcvxja2UgIGkgIHVuZCBnaWIgZGllIG72dGlnZW4gRXJn5G56dW5nZW4gZWluLg0KKw0KKyAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHL8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzDQorICAgICB6dXL8Y2t6dWtlaHJlbi4NCisJCSBXaWVkZXJob2xlIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLg0KKw0KKy0tLT4gSW4gZGllc2VyIGZ0IGV0d2FzIC4NCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0Lg0KKw0KKyAgNS4gV2VubiBEdSBEaWNoIG1pdCBkZW0gRWluZvxnZW4gdm9uIFRleHQgc2ljaGVyIGb8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNS4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAxLjU6IFRFWFQgRURJVElFUkVOIC0gQU5G3EdFTg0KKw0KKw0KKwkJICAgICAqKiBEcvxja2UgIEEgICwgdW0gVGV4dCBhbnp1ZvxnZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKyAgICAgRGFiZWkgaXN0IGdsZWljaGf8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4NCisNCisgIDIuIERy/GNrZSAgQSAgdW5kIGdpYiBkaWUgZXJmb3JkZXJsaWNoZW4gRXJn5G56dW5nZW4gZWluLg0KKw0KKyAgMy4gV2VubiBkYXMgQW5m/GdlbiBhYmdlc2NobG9zc2VuIGlzdCwgZHL8Y2tlIDxFU0M+LCB1bSBpbiBkZW4gTm9ybWFsbW9kdXMNCisgICAgIHp1cvxja3p1a2VocmVuLg0KKw0KKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bmQgd2llZGVyaG9sZQ0KKyAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGF1c3p1YmVzc2Vybi4NCisNCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWgNCisgICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0Lg0KKy0tLT4gQXVjaCBoaWVyIHN0ZWgNCisgICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdORuZGlnZXMuDQorDQorICA1LiBXZW5uIER1IGRpY2ggbWl0IGRlbSBBbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjYuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVODQorDQorCQkgKiogQmVudXR6ZSAgOndxICAsIHVtIGVpbmUgRGF0ZWkgenUgc3BlaWNoZXJuIHVuZCBWaW0genUgdmVybGFzc2VuLiAqKg0KKw0KKyAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMNCisgICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhDQorDQorICAxLiBWZXJsYXNzZSBkZW4gRWRpdG9yIHNvIHdpZSBpbiBMZWt0aW9uIDEuMjogIDpxISAgICAgICANCisJICAgT2RlciwgZmFsbHMgZHUgWnVncmlmZiB6dSBlaW5lbSBhbmRlcmVuIFRlcm1pbmFsIGhhc3QsIGb8aHJlIGRhcyANCisJCSBGb2xnZW5kZSBkb3J0IGF1cy4NCisNCisgIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4NCisgICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuDQorICAgICBCZW51dHplIGVpbmUgRGF0ZWksIGRpZSBnZeRuZGVydCB3ZXJkZW4gZGFyZi4NCisNCisgIDMuIEb8Z2UgVGV4dCBlaW4gb2RlciBs9nNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmFuZ2VoZW5kZW4gTGVrdGlvbmVuIA0KKyAgICAgZ2VsZXJudCBoYXN0Lg0KKw0KKyAgNC4gU3BlaWNoZXJlIGRpZSBnZeRuZGVydGUgRGF0ZWkgdW5kIHZlcmxhc3NlIFZpbSBtaXQ6ICA6d3EgIDxFTlRFUj4NCisNCisgIDUuIEZhbGxzIER1IGluIFNjaHJpdHQgMSBkZW4gdmltdHV0b3IgYmVlbmRldCBoYXN0LCBzdGFydGUgdmltdHV0b3IgbmV1IHVuZA0KKwkgICBiZXdlZ2UgZGljaCBhYnfkcnRzIGJpcyB6dXIgZm9sZ2VuZGVuIFp1c2FtbWVuZmFzc3VuZy4NCisNCisgIDYuIE5hY2hkZW0gRHUgb2JpZ2UgU2Nocml0dGUgZ2VsZXNlbiB1bmQgdmVyc3RhbmRlbiBoYXN0OiBm/GhyZSBzaWUgZHVyY2guDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxDQorDQorDQorICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuDQorCSBoIChsaW5rcykgICAgIGogKHVudGVuKSAgICAgayAoYXVmd+RydHMpICAgIGwgKHJlY2h0cykNCisNCisgIDIuIFVtIFZpbSBhdXMgZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgenUgc3RhcnRlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+DQorDQorICAzLiBVbSBWaW0genUgdmVybGFzc2VuIHVuZCBhbGxlIMRuZGVydW5nZW4genUgdmVyd2VyZmVuLCB0aXBwZToNCisJCTxFU0M+ICA6cSEgIDxFTlRFUj4gLg0KKw0KKyAgNC4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBs9nNjaGVuLCB0aXBwZTogIHgNCisNCisgIDUuIFVtIFRleHQgZWluenVm/GdlbiBvZGVyIGFuenVm/GdlbiwgdGlwcGU6DQorCSBpICAgRWluenVm/GdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZvxnZW4gdm9yIGRlbSBDdXJzb3INCisJIEEgICBBbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmb8Z2VuIG5hY2ggZGVtIFplaWxlbmVuZGUNCisNCitBbm1lcmt1bmc6IERy/GNrZW4gdm9uIDxFU0M+IGJyaW5ndCBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyBvZGVyIGJyaWNodCBlaW4NCisgICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuDQorDQorICAgICBOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgTGVrdGlvbiAyLjE6IEzWU0NIS09NTUFORE9TDQorDQorDQorCQkgICAqKiBUaXBwZSAgZHcgICwgdW0gZWluIFdvcnQgenUgbPZzY2hlbi4gKioNCisNCisgIDEuIERy/GNrZSAgPEVTQz4gICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuDQorDQorICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vs9nNjaHQgd2VyZGVuIHNvbGwuDQorDQorICA0LiBUaXBwZSAgZHcgICwgdW0gZGFzIFdvcnQgenUgZW50ZmVybmVuLg0KKw0KKyAgQW5tZXJrdW5nOiBEZXIgQnVjaHN0YWJlICBkICBlcnNjaGVpbnQgYXVmIGRlciB1bnRlcnN0ZW4gWmVpbGUgZGVzIFNjaGlybXMsDQorICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRhc3MgRHUgIHcgIGVpbmdpYnN0LiBGYWxscyBEdQ0KKyAgICAgICAgZWluIGFuZGVyZXMgWmVpY2hlbiBhbHMgIGQgIHNpZWhzdCwgaGFzdCBEdSBldHdhcyBGYWxzY2hlcyBnZXRpcHB0Ow0KKyAgICAgICAgZHL8Y2tlIDxFU0M+IHVuZCBiZWdpbm5lIG5vY2ggZWlubWFsLg0KKw0KKy0tLT4gRWluaWdlIFf2cnRlciBsdXN0aWcgZ2Vo9nJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouDQorDQorICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAzIHVuZCA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QgdW5kIGdlaGUNCisgICAgIHp1ciBMZWt0aW9uIDIuMi4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgIExla3Rpb24gMi4yOiBXRUlURVJFIEzWU0NIS09NTUFORE9TDQorDQorDQorCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBs9nNjaGVuLiAqKg0KKw0KKyAgMS4gRHL8Y2tlIDxFU0M+ICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuDQorDQorICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBrb3JyZWt0ZW4gWmVpbGUgKE5BQ0ggZGVtIGVyc3RlbiAuICkuDQorDQorICA0LiBUaXBwZSAgICBkJCAgICAsIHVtIGJpcyB6dW0gWmVpbGVuZW5kZSB6dSBs9nNjaGVuLg0KKw0KKy0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uDQorDQorDQorICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHZvcmdlaHQuDQorDQorDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgTGVrdGlvbiAyLjM6INxCRVIgT1BFUkFUT1JFTiBVTkQgQkVXRUdVTkdTWtxHRQ0KKw0KKw0KKyAgVmllbGUgS29tbWFuZG9zLCBkaWUgVGV4dCDkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXINCisgIEJld2VndW5nIHp1c2FtbWVuLiBEYXMgRm9ybWF0IGb8ciBlaW4gTPZzY2hrb21tYW5kbyBtaXQgZGVtIEz2c2Nob3BlcmF0b3IgIGQNCisgIGxhdXRldCB3aWUgZm9sZ3Q6DQorDQorICAgIGQgIEJld2VndW5nDQorDQorICB3b2JlaToNCisgICAgZCAgICAgICAgLSBkZXIgTPZzY2hvcGVyYXRvcg0KKyAgICBCZXdlZ3VuZyAtIHdvcmF1ZiBkZXIgTPZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2Vm/GhydCkuDQorDQorICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOg0KKyAgICB3IC0gYmlzIHp1bSBCZWdpbm4gZGVzIG7kY2hzdGVuIFdvcnRlcyBPSE5FIGRlc3NlbiBlcnN0ZXMgWmVpY2hlbi4NCisgICAgZSAtIHp1bSBFbmRlIGRlcyBha3R1ZWxsZW4gV29ydGVzIE1JVCBkZXNzZW4gbGV0enRlbSBaZWljaGVuLg0KKyAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0enRlbiBaZWljaGVuLg0KKw0KKyAgRGVtZW50c3ByZWNoZW5kIGz2c2NodCBkaWUgRWluZ2FiZSB2b24gIGRlICB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gV29ydGVuZGUuDQorDQorQW5tZXJrdW5nOiAgRGllIEVpbmdhYmUgbGVkaWdsaWNoIGRlcyBCZXdlZ3VuZ3N0ZWlscyBpbSBOb3JtYWxtb2R1cyBiZXdlZ3QgZGVuDQorICBDdXJzb3IgZW50c3ByZWNoZW5kLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwlMZWt0aW9uIDIuNDogQU5XRU5EVU5HIEVJTkVTIFrESExFUlMgRtxSIEVJTkVOIEJFV0VHVU5HU1NDSFJJVFQNCisNCisNCisgICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIHZvciBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IHdpZWRlcmhvbHQgZGllc2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEJlZ2lubiBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDIuIFRpcHBlICAydyAgLCB1bSBkZW4gQ3Vyc29yIHp3ZWkgV/ZydGVyIHZvcnfkcnRzIHp1IGJld2VnZW4uDQorDQorICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4NCisNCisgIDQuIFRpcHBlICAwICAoTnVsbCkgLCB1bSB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBnZWxhbmdlbi4NCisNCisgIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMyBtaXQgdmVyc2NoaWVkZW5lbiBOdW1tZXJuLg0KKw0KKyAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV/ZydGVybiwgdW0gc2ljaCBkYXJpbiBoZXJ1bXp1YmV3ZWdlbi4NCisNCisgIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41Lg0KKw0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBNRUhSRVJFIEzWU0NIVk9SR8ROR0UNCisNCisNCisgICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIG1pdCBlaW5lbSBPcGVyYXRvciB3aWVkZXJob2x0IGRpZXNlbiBtZWhyZmFjaC4gKioNCisNCisgIEluIGRlciBLb21iaW5hdGlvbiBhdXMgTPZzY2hvcGVyYXRvciB1bmQgQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUgb2JlbikgDQorICBzdGVsbHQgbWFuLCB1bSBtZWhyIHp1IGz2c2NoZW4gZGVtIFNjaHJpdHQgZWluZW4gWuRobGVyIHZvcmFuOg0KKwkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0DQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIFdvcnQgaW4gR1JPU1NCVUNIU1RBQkVOIGluIGRlciBtaXQgLS0tPg0KKyAgICAgbWFya2llcmVuIFplaWxlLg0KKw0KKyAgMi4gVGlwcGUgIGQydyAgLCB1bSBkaWUgendlaSBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIHp1IGz2c2NoZW4uDQorDQorICAzLiBXaWVkZXJob2xlIFNjaHJpdHRlIDEgdW5kICAyIG1pdCBlaW5lbSBhbmRlcmVuIFrkaGxlciwgdW0gZGllIGRhcmF1ZmZvbC0NCisgICAgIGdlbmRlbiBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbyB6dSBs9nNjaGVuLg0KKw0KKy0tLT4gIERpZXNlIEFCQyBERSBaZWlsZSBGR0hJIEpLIExNTiBPUCBtaXQgV/ZydGVybiBpc3QgUSBSUyBUVVYgYmVyZWluaWd0Lg0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCUxla3Rpb24gMi42OiBBUkJFSVRFTiBBVUYgWkVJTEVODQorDQorDQorCSAgICAgICAqKiBUaXBwZSAgZGQgICwgdW0gZWluZSBnYW56ZSBaZWlsZSB6dSBs9nNjaGVuLiAqKg0KKw0KKyAgV2VnZW4gZGVyIEjkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBs9nNjaHQsIGthbWVuIGRpZSBFbnR3aWNrbGVyIHZvbg0KKyAgVmkgZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfkcmUsIGVpbmZhY2ggendlaSBkJ3MgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZQ0KKyAgenUgbPZzY2hlbi4NCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIFplaWxlIGluIGRlciB1bnRlbiBzdGVoZW5kZW4gUmVkZXdlbmR1bmcuDQorICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4uDQorICAzLiBOdW4gYmV3ZWdlIERpY2ggenVyIHZpZXJ0ZW4gWmVpbGUuDQorICA0LiBUaXBwZSAgMmRkICAsIHVtIHp3ZWkgWmVpbGVuIHp1IGz2c2NoZW4uDQorDQorLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LA0KKy0tLT4gIDIpICBNYXRzY2ggaXN0IGx1c3RpZywNCistLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LA0KKy0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywNCistLS0+ICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LA0KKy0tLT4gIDYpICBadWNrZXIgaXN0IHP83ywNCistLS0+ICA3KSAgU28gd2llIER1IGF1Y2guDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gMi43OiBS3ENLR8ROR0lHIE1BQ0hFTiAoVU5ETykNCisNCisNCisJICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3Mgcvxja2fkbmdpZyB6dSBtYWNoZW4gKioNCisJICAgICAgKiogb2RlciBVICwgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbg0KKyAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuDQorICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUgdW5lcnf8bnNjaHRlIFplaWNoZW4genUgbPZzY2hlbi4NCisgIDMuIE51biB0aXBwZSAgdSAgLCB1bSBkYXMgc29lYmVuIGF1c2dlZvxocnRlIEtvbW1hbmRvIHL8Y2tn5G5naWcgenUgbWFjaGVuLg0KKyAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuDQorICA1LiBOdW4gdGlwcGUgZWluIGdyb99lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kDQorICAgICB3aWVkZXJoZXJ6dXN0ZWxsZW4uDQorICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcw0KKyAgICAgcvxja2fkbmdpZyB6dSBtYWNoZW4uDQorICA3LiBOdW4gdGlwcGUgQ1RSTC1SIChoYWx0ZSBDVFJMIGdlZHL8Y2t0IHVuZCBkcvxja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUNCisgICAgIEtvbW1hbmRvcyB3aWVkZXJoZXJ6dXN0ZWxsZW4gKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4NCisNCistLS0+IEJlZWhlYmUgZGllIEZlaGxsZXIgZGllc3NlciBaZWlsZSB1bmQgc3R0ZWxsZSBzaWUgbWl0dCAndW5kbycgd2llZGVyIGhlci4NCisNCisgIDguIERpZXMgc2luZCBzZWhyIG78dHpsaWNoZSBLb21tYW5kb3MuICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyANCisgICAgIHZvbiBMZWt0aW9uIDIuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyDQorDQorDQorICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbuRjaHN0ZW4gV29ydCB6dSBs9nNjaGVuLCB0aXBwZTogICAgZHcNCisgIDIuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGVpbmVyIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICAgZCQNCisgIDMuIFVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgIGRkDQorDQorICA0LiBVbSBlaW5lIEJld2VndW5nIHp1IHdpZWRlcmhvbGVuLCBzdGVsbGUgZWluZSBOdW1tZXIgdm9yYW46ICAgMncNCisgIDUuIERhcyBGb3JtYXQgZvxyIGVpbiDEbmRlcnVuZ3Nrb21tYW5kbyBpc3Q6DQorICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQNCisgICAgIHdvYmVpOg0KKyAgICAgICBPcGVyYXRvciAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsICBkICBm/HIgZGVsZXRlDQorICAgICAgIFtBbnphaGxdIC0gZWluIG9wdGlvbmFsZXIgWuRobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbg0KKyAgICAgICBCZXdlZ3VuZ3NzY2hyaXR0IC0gQmV3ZWd1bmcg/GJlciBkZW4genUg5G5kZXJuZGVuIFRleHQsIHdpZQ0KKwkJICB3IChXb3J0KSwgJCAoenVtIEVuZGUgZGVyIFplaWxlKSwgZXRjLg0KKw0KKyAgNi4gVW0gRGljaCB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBiZWdlYmVuLCBiZW51dHplIGRpZSBOdWxsOiAgMA0KKw0KKyAgNy4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkNCisgICAgIFVtIGFsbGUgxG5kZXJ1bmdlbiBhdWYgZWluZXIgWmVpbGUgcvxja2fkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jv32VzIFUpDQorICAgICBVbSBkaWUgUvxja2fkbmdpZ21hY2h1bmdlbiBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6ICAgIENUUkwtUg0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgIExla3Rpb24gMy4xOiBBTkbcR0VOIChQVVQpDQorDQorDQorICAgICAqKiBUaXBwZSAgcCAgLCB1bSB2b3JoZXIgZ2Vs9nNjaHRlbiBUZXh0IG5hY2ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKw0KKyAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuIHVuZCBzaWUgaW4gZWluZW0gVmltLVJlZ2lzdGVyIHp1DQorICAgICBzcGVpY2hlcm4uDQorDQorICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksINxCRVIgZGVyamVuaWdlbiwgd28gZGllIGdlbPZzY2h0ZSBaZWlsZQ0KKyAgICAgcGxhdHppZXJ0IHdlcmRlbiBzb2xsLg0KKw0KKyAgNC4gIFRpcHBlICAgcCAgICwgdW0gZGllIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSBwbGF0emllcmVuLg0KKw0KKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlDQorICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLg0KKw0KKy0tLT4gZCkgS2FubnN0IER1IGRhcyBhdWNoPw0KKy0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LA0KKy0tLT4gYykgSW50ZWxsaWdlbnogaXN0IGxlcm5iYXIsDQorLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQlMZWt0aW9uIDMuMjogRVJTRVRaRU4gKFJFUExBQ0UpDQorDQorDQorICAgKiogVGlwcGUgIHJ4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgZHVyY2ggIHggenUgZXJzZXR6ZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKw0KKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4NCisNCisgIDMuIFRpcHBlICByICB1bmQgYW5zY2hsaWXfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRvcnQgc3RlaGVuIHNvbGx0ZS4NCisNCisgIDQuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4gaXN0Lg0KKw0KKy0tLT4gIEFsZiBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhDQorLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdCENCisNCisgIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4NCisNCitBbm1lcmt1bmc6IEVyaW5uZXJlIERpY2ggZGFyYW4sIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCANCisgICAgIGR1cmNoIEF1c3dlbmRpZ2xlcm5lbi4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgIExla3Rpb24gMy4zOiDETkRFUk4gKENIQU5HRSkNCisNCisNCisgICAgICAqKiBVbSBlaW5lIMRuZGVydW5nIGJpcyB6dW0gV29ydGVuZGUgZHVyY2h6dWb8aHJlbiwgdGlwcGUgIGNlIC4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuDQorDQorICAzLiBUaXBwZSAgY2UgIHVuZCBkaWUgV29ydGtvcnJla3R1ciBlaW4gKGluIGRpZXNlbSBGYWxsIHRpcHBlICD2cnRlciApLg0KKw0KKyAgNC4gRHL8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbuRjaHN0ZW4genUg5G5kZXJuZGVuIFplaWNoZW4uDQorDQorICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuDQorDQorLS0tPiBFaW5pZ2UgV3N0d3IgZGllc2VyIFpsYXd3IGxhc2RqbGFmIG1pdCBkZW0gxG5kZXJuLU9wZXJhdG9yIGdhYWF1dSB3ZXJkZW4uDQorLS0tPiBFaW5pZ2UgV/ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2XkbmRlcnQgd2VyZGVuLg0KKw0KK0JlYWNodGUsIGRhc3MgIGNlICBkYXMgV29ydCBs9nNjaHQgdW5kIERpY2ggaW4gZGVuIEVpbmdhYmVtb2R1cyB2ZXJzZXR6dC4NCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgxE5ERVJVTkdFTiBNSVRURUxTIGMNCisNCisNCisgICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBCZXdlZ3VuZ2VuIHdpZSBkZWxldGUuICAqKg0KKw0KKyAgMS4gRGVyIGNoYW5nZSBPcGVyYXRvciBhcmJlaXRldCBpbiBnbGVpY2hlciBXZWlzZSB3aWUgZGVsZXRlLiBEYXMgRm9ybWF0IGlzdDoNCisNCisgICAgICAgICBjICAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0DQorDQorICAyLiBEaWUgQmV3ZWd1bmdzc2Nocml0dGUgc2luZCBkaWUgZ2xlaWNoZW4gLCBzbyB3aWUgIHcgIChXb3J0KSB1bmQgICQNCisgICAgIChaZWlsZW5lbmRlKS4NCisNCisgIDMuIEJld2VnZSBEaWNoIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIEZlaGxlci4NCisNCisgIDUuIFRpcHBlICBjJCAgLCBnaWIgZGVuIFJlc3QgZGVyIFplaWxlIHdpZSBpbiBkZXIgendlaXRlbiBlaW4sIGRy/GNrZSA8RVNDPiAuDQorDQorLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBhbiBkaWUgendlaXRlIFplaWxlIGFuZ2VnbGljaGVuIHdlcmRlbi4NCistLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIG1pdCBkZW0gIGMkICBLb21tYW5kbyBrb3JyaWdpZXJ0IHdlcmRlbi4NCisNCitBbm1lcmt1bmc6IER1IGthbm5zdCBkaWUgUvxja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMw0KKw0KKw0KKyAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBhbnp1ZvxnZW4sIHRpcHBlICAgcCAuIERpZXMgZvxndCBkZW4NCisgICAgIGdlbPZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZWluZSBnYW56ZSBaZWlsZSBnZWz2c2NodCB3dXJkZSwNCisgICAgIHdpcmQgZGllc2UgaW4gZGllIFplaWxlIHVudGVyIGRlbSBDdXJzb3IgZWluZ2Vm/Gd0KS4NCisNCisgIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYW5hY2ggZGFzIA0KKyAgICAgYW4gZGllc2VyIFN0ZWxsZSBnZXdvbGx0ZSBaZWljaGVuLg0KKw0KKyAgMy4gRGVyIMRuZGVydW5ncy0gKGNoYW5nZSkgT3BlcmF0b3IgZXJsYXVidCwgdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzDQorICAgICBCZXdlZ3VuZ3NzY2hyaXR0ZXMgenUg5G5kZXJuLiBUaXBwZSAgY2UgICwgdW0gZWluZSDEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcw0KKyAgICAgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgIGMkICBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUuDQorDQorICA0LiBEYXMgRm9ybWF0IGb8ciBjaGFuZ2UgaXN0Og0KKw0KKwkgYyAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0DQorDQorICBOdW4gZmFocmUgbWl0IGRlciBu5GNoc3RlbiBMZWt0aW9uIGZvcnQuDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgIExla3Rpb24gNC4xOiBDVVJTT1JQT1NJVElPTiBVTkQgREFURUlTVEFUVVMNCisNCisgKiogVGlwcGUgQ1RSTC1HICwgdW0gZGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioNCisgICAgICoqIFRpcHBlIEcgLCB1bSBEaWNoIHp1IGVpbmVyIFplaWxlIGluIGRlciBEYXRlaSB6dSBiZWdlYmVuLiAqKg0KKw0KK0FubWVya3VuZzogTGllcyBkaWVzZSBnZXNhbXRlIExla3Rpb24sIGJldm9yIER1IGlyZ2VuZGVpbmVuIFNjaHJpdHQgYXVzZvxocnN0ISENCisNCisgIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcvxja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgQ1RSTC1HLg0KKyAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ13yBkZXIgU2VpdGUgZXJzY2hlaW50IG1pdCBkZW0gRGF0ZWluYW1lbiB1bmQgZGVyDQorICAgICBQb3NpdGlvbiBpbm5lcmhhbGIgZGVyIERhdGVpLiBNZXJrZSBEaXIgZGllIFplaWxlbm51bW1lciBm/HIgU2Nocml0dCAzLg0KKw0KK0FubWVya3VuZzogTfZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuDQorICAgICAgQmlsZHNjaGlybWVja2UuIERpZXMgaXN0IEF1c3dpcmt1bmcgZGVyICdydWxlcicgT3B0aW9uIA0KKwkgIChzaWVoZSA6aGVscCAncnVsZXInKQ0KKw0KKyAgMi4gRHL8Y2tlICBHICAsIHVtIERpY2ggenVtIEVuZGUgZGVyIERhdGVpIHp1IGJlZ2ViZW4uDQorICAgICBUaXBwZSAgZ2cgICwgdW0gRGljaCB6dW0gQW5mYW5nIGRlciBEYXRlaSB6dSBiZWdlYmVuLg0KKw0KKyAgMy4gR2liIGRpZSBOdW1tZXIgZGVyIFplaWxlIGVpbiwgYXVmIGRlciBEdSB2b3JoZXIgd2Fyc3QsIGdlZm9sZ3Qgdm9uICBHIC4NCisgICAgIERpZXMgYnJpbmd0IERpY2ggenVy/GNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1DQorICAgICBkYXMgZXJzdGUgTWFsIENUUkwtRyBnZWRy/GNrdCBoYXN0Lg0KKw0KKyAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPDQorDQorDQorICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioNCisNCisgIDEuIEltIE5vcm1hbG1vZHVzLCB0aXBwZSBkYXMgIC8gIFplaWNoZW4uICBCZWFjaHRlLCBkYXNzIGRhcyAgLyB1bmQgZGVyDQorICAgICBDdXJzb3IgYW0gRnXfIGRlcyBTY2hpcm1zIGVyc2NoZWluZW4sIHNvIHdpZSBiZWltIDoJS29tbWFuZG8uDQorDQorICAyLiBOdW4gdGlwcGUgJ0ZlaGhsZXInIDxFTlRFUj4uIERpZXMgaXN0IGRhcyBXb3J0LCBuYWNoIGRlbSBEdSBzdWNoZW4gd2lsbHN0Lg0KKw0KKyAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciBuZXh0KS4NCisgICAgIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbiwgdGlwcGUgIE4gLg0KKw0KKyAgNC4gVW0gbmFjaCBlaW5lbSBBdXNkcnVjayBy/GNrd+RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLg0KKw0KKyAgNS4gVW0gZGFoaW4genVy/GNrenVrZWhyZW4sIHZvbiB3byBEdSBnZWtvbW1lbiBiaXN0LCBkcvxja2UgQ1RSTC1PIChIYWx0ZQ0KKyAgICAgQ3RybCB1bnRlbiB1bmQgZHL8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIG5vY2ggd2VpdGVyDQorICAgICB6dXL8Y2t6dWdlaGVuLiAgQ1RSTC1JIGdlaHQgdm9yd+RydHMuDQorDQorLS0tPiAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyBGZWhobGVyIGlzdCBlaW4gRmVobGVyDQorQW5tZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nDQorICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4NCisNCisNCisgICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUgZ2VnZW78YmVybGllZ2VuZGVuIEtsYW1tZXIgKSxdLCBvZGVyIH0genUgZmluZGVuLiAqKg0KKw0KKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVtIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4NCisgICAgIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4NCisNCisgIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uDQorDQorICAzLiBEZXIgQ3Vyc29yIGJld2VndCBzaWNoIHp1ciBwYXNzZW5kZW4gZ2VnZW78YmVybGllZ2VuZGVuIEtsYW1tZXIuDQorDQorICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIHBhc3NlbmRlbiBhbmRlcmVuIEtsYW1tZXIgenUgYmV3ZWdlbi4NCisNCisgIDUuIFNldHplIGRlbiBDdXJzb3IgYXVmIGVpbiBhbmRlcmVzICgsKSxbLF0seyBvZGVyIH0gdW5kIHByb2JpZXJlICAlICBhdXMuDQorDQorLS0tPiBEaWVzICggaXN0IGVpbmUgVGVzdHplaWxlICggbWl0IFsgdmVyc2NoaWVkZW5lbiBdIHsgS2xhbW1lcm4gfSAgZGFyaW4uICkpDQorDQorQW5tZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTkdCBpc3Qgc2VociBu/HR6bGljaCBiZWkgZGVyIEZlaGxlcnN1Y2hlIGluIGVpbmVtDQorICAgICBQcm9ncmFtbXRleHQsIGluIGRlbSBwYXNzZW5kZSBLbGFtbWVybiBmZWhsZW4hDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkNCisNCisNCisJICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIFRpcHBlICA6cy9kaWVlL2RpZSA8RU5URVI+IC4gIEJlYWNodGUsIGRhc3MgZGVyIEJlZmVobCBudXIgZGFzIGVyc3RlDQorICAgICBWb3Jrb21tZW4gdm9uICJkaWVlIiBlcnNldHp0Lg0KKw0KKyAgMy4gTnVuIHRpcHBlICAgOnMvZGllZS9kaWUvZyAuIERhcyBadWb8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lDQorICAgICBnbG9iYWxlIEVyc2V0enVuZyD8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZvxocmVuLCBkaWVzIGVyc2V0enQgYWxsZSANCisJIFZvcmtvbW1lbiB2b24gImRpZWUiIGF1ZiBkZXIgWmVpbGUuDQorDQorLS0tPiBkaWVlIHNjaPZuc3RlIFplaXQsIHVtIGRpZWUgQmx1bWVuIGFuenVzY2hhdWVuLCBpc3QgZGllZSBGcvxobGluZ3N6ZWl0Lg0KKw0KKyAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuIHp1IORuZGVybiwNCisgICAgIHRpcHBlICA6Iywjcy9hbHQvbmV1L2cgIHdvYmVpICMsIyBkaWUgWmVpbGVubnVtbWVybiBkZXMgQmVyZWljaGVzIHNpbmQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBkZW0gZGllIEVyc2V0enVuZyBkdXJjaGdlZvxocnQgd2VyZGVuIHNvbGwuDQorICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUg5G5kZXJuLg0KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbg0KKyAgICAgICAgICAgICAgICAgICAgIG1pdCBlaW5lbSBGcmFnZWRpYWxvZywgb2IgZXJzZXR6dCB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNA0KKw0KKyAgMS4gQ1RSTC1HICB6ZWlndCBkaWUgYWt0dWVsbGUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMuDQorICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4NCisgICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4NCisgICAgICAgICAgICBnZyAgYnJpbmd0IERpY2ggenVyIGVyc3RlbiBaZWlsZS4NCisNCisgIDIuIERpZSBFaW5nYWJlIHZvbiAgLyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBWT1JXxFJUUyBuYWNoIGRlbSBBdXNkcnVjay4NCisgICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBS3ENLV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suDQorICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBu5GNoc3RlIFZvcmtvbW1lbiBpbiBkZXIgZ2xlaWNoZW4NCisgICAgIFJpY2h0dW5nIHp1IGZpbmRlbjsgb2RlciAgTiAgLCB1bSBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4uDQorICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVy/GNrIHp1IORsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uDQorDQorICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9DQorICAgICBiZWZpbmRldCwgYnJpbmd0IERpY2ggenVyIEdlZ2Vua2xhbW1lci4NCisNCisgIDQuIFVtIGRhcyBlcnN0ZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGVpbmVyIFplaWxlIGR1cmNoICJuZXUiIHp1IGVyc2V0emVuLA0KKyAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1DQorICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nDQorICAgICBVbSBBdXNkcvxja2UgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4gIyB6dSBlcnNldHplbiAgICAgICAgOiMsI3MvYWx0L25ldS9nDQorICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZw0KKyAgICAgRvxyIGVpbmUgamVkZXNtYWxpZ2UgQmVzdOR0aWd1bmcsIGFkZGllcmUgJ2MnIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQlMZWt0aW9uIDUuMTogQVVTRtxIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUw0KKw0KKw0KKyAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVm/GhyZW4uICoqDQorDQorICAxLiBUaXBwZSBkYXMgdmVydHJhdXRlIEtvbW1hbmRvICA6ICAsIHVtIGRlbiBDdXJzb3IgYXVmIGRlbiBGdd8gZGVzIFNjaGlybXMNCisgICAgIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvemVpbGVuLUtvbW1hbmRvIGVpbnp1Z2ViZW4uDQorDQorICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm32Z2xpY2h0IERpciwgZWluIGJlbGllYmlnZXMsDQorICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZvxocmVuLg0KKw0KKyAgMy4gQWxzIEJlaXNwaWVsIHRpcHBlICAgbHMgICBuYWNoIGRlbSAgISAgdW5kIGRy/GNrZSA8RU5URVI+LiBEaWVzIGxpZWZlcnQNCisgICAgIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGluIGRlcg0KKyAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB35HJzdC4gIE9kZXIgdmVyd2VuZGUgIDohZGlyICAsIGZhbGxzIGxzIG5pY2h0IGdlaHQuDQorDQorQW5tZXJrdW5nOiAgTWl0IGRpZXNlciBNZXRob2RlIGthbm4gamVkZXMgYmVsaWViaWdlIGV4dGVybmUgS29tbWFuZG8NCisgICAgIGF1c2dlZvxocnQgd2VyZGVuLCBhdWNoIG1pdCBBcmd1bWVudGVuLg0KKw0KK0FubWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBt/HNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPg0KKyAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfkaG5lbiB3aXIgZGllcyBuaWNodCBqZWRlc21hbC4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCUxla3Rpb24gNS4yOiBNRUhSINxCRVIgREFTIFNDSFJFSUJFTiBWT04gREFURUlFTg0KKw0KKw0KKyoqIFVtIGFtIFRleHQgZHVyY2hnZWb8aHJ0ZSDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKg0KKw0KKyAgMS4gVGlwcGUgIDohZGlyICBvZGVyICA6IWxzICAsIHVtIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXMgenUNCisgICAgIGVyaGFsdGVuLiAgRHUgd2Vp33QgbnVuIGJlcmVpdHMsIGRhc3MgRHUgZGFuYWNoIDxFTlRFUj4gZWluZ2ViZW4gbXVzc3QuDQorDQorICAyLiBX5GhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4NCisNCisgIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdCkuDQorDQorICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULg0KKyAgICAgVW0gZGllcyB6dSD8YmVycHL8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gZGVpbmVuDQorICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4NCisNCitBbm1lcmt1bmc6IFf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IHZpbSBURVNUDQorICAgIHN0YXJ0ZW4sIGRhbm4gd+RyZSBkaWVzZSBEYXRlaSBlaW5lIGV4YWt0ZSBLb3BpZSBkZXMgVHV0b3JzIHp1IGRlbQ0KKyAgICBaZWl0cHVua3QsIGFscyBEdSBpaG4gZ2VzcGVpY2hlcnQgaGFzdC4NCisNCisgIDUuIE51biBlbnRmZXJuZSBkaWUgRGF0ZWkgZHVyY2ggRWluZ2FiZSB2b24gKE1TLURPUyk6ICAgIDohZGVsIFRFU1QNCisgICAgICAgICAgICAgICAgICAgICAgb2RlciAoVW5peCk6ICAgICAgICAgICAgICAgICAgICAgICAgIDohcm0gVEVTVA0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJIExla3Rpb24gNS4zOiBBVVNXxEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTg0KKw0KKyoqIFVtIGVpbmVuIEFic2Nobml0dCBkZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCAgdGlwcGUgIHYgIEJld2VndW5nICA6dyBEQVRFSSAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGllc2VyIFplaWxlLg0KKw0KKyAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZvxuZnRlbiBBdWZsaXN0dW5nc3B1bmt0IHVudGVuLg0KKyAgICAgQmVhY2h0ZSwgZGFzcyBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuDQorDQorICAzLiBEcvxja2UgZGFzIFplaWNoZW4gIDogLiBBbSBGdd8gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLg0KKw0KKyAgNC4gVGlwcGUgIHcgVEVTVCAgLCB3b2JlaSBURVNUIGVpbiBub2NoIG5pY2h0IHZvcmhhbmRlbmVyIERhdGVpbmFtZSBpc3QuDQorICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGFzcyBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IDxFTlRFUj4gZHL8Y2tzdC4NCisNCisgIDUuIFZpbSBzY2hyZWlidCBkaWUgYXVzZ2V35GhsdGVuIFplaWxlbiBpbiBkaWUgRGF0ZWkgVEVTVC4gQmVudXR6ZSAgOiFkaXINCisgICAgIG9kZXIgIDohbHMgLCB1bSBzaWUgenUgc2VoZW4uIEz2c2NoZSBzaWUgbm9jaCBuaWNodCEgV2lyIHdlcmRlbiBzaWUgaW4NCisgICAgIGRlciBu5GNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLg0KKw0KK0hpbndlaXM6IERy/GNrZW4gdm9uICB2ICBzdGFydGV0IGRpZSBWaXN1ZWxsZSBBdXN3YWhsLiBEdSBrYW5uc3QgZGVuIEN1cnNvcg0KKyAgIHVtaGVyYmV3ZWdlbiwgdW0gZGllIEF1c3dhaGwgenUgdmVyZ3L232VybiBvZGVyIHp1IHZlcmtsZWluZXJuLiBBbnNjaGxpZd9lbmQNCisgICBs5HNzdCBzaWNoIGVpbiBPcGVyYXRvciBhbndlbmRlbiwgdW0gbWl0IGRlbSBUZXh0IGV0d2FzIHp1IHR1bi4gWnVtIEJlaXNwaWVsDQorICAgbPZzY2h0ICBkICBkZW4gVGV4dC4NCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbcSFJFTiBWT04gREFURUlFTg0KKw0KKw0KKyAgICAgICAqKiBVbSBkZW4gSW5oYWx0IGVpbmVyIERhdGVpIGVpbnp1bGVzZW4sIHRpcHBlICA6ciBEQVRFSU5BTUUgICoqDQorDQorICAxLiBQbGF0emllcmUgZGVuIEN1cnNvciBkaXJla3Qg/GJlciBkaWVzZXIgWmVpbGUuDQorDQorQkVBQ0hURTogIE5hY2hkZW0gRHUgU2Nocml0dCAyIGF1c2dlZvxocnQgaGFzdCwgd2lyc3QgRHUgVGV4dCBhdXMgTGVrdGlvbiA1LjMNCisgICAgICAgc2VoZW4uIERhbm4gYmV3ZWdlIERpY2ggd2llZGVyIEFCV8RSVFMsIExla3Rpb24gNS40IHdpZWRlcnp1c2VoZW4uDQorDQorICAyLiBOdW4gbGllcyBkZWluZSBEYXRlaSBURVNUIGVpbiBpbmRlbSBEdSBkYXMgS29tbWFuZG8gIDpyIFRFU1QgIGF1c2b8aHJzdCwNCisgICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0Lg0KKyAgICAgRGllIGVpbmdlbGVzZW5lIERhdGVpIHdpcmQgdW50ZXJoYWxiIGRlciBDdXJzb3J6ZWlsZSBlaW5nZWb8Z3QuDQorDQorICAzLiBVbSB6dSD8YmVycHL8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1cvxjayB1bmQgDQorICAgICBiZWFjaHRlLCBkYXNzIGVzIGpldHp0IHp3ZWkgS29waWVuIHZvbiBMZWt0aW9uIDUuMyBnaWJ0LCBkYXMgT3JpZ2luYWwgdW5kIA0KKwkgZGllIGVpbmdlZvxndGUgRGF0ZWl2ZXJzaW9uLg0KKw0KK0FubWVya3VuZzogRHUga2FubnN0IGF1Y2ggZGllIEF1c2dhYmUgZWluZXMgZXh0ZXJuZW4gS29tbWFuZG9zIGVpbmxlc2VuLiBadW0NCisgICAgIEJlaXNwaWVsIGxpZXN0ICA6ciAhbHMgIGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgbHMgZWluIHVuZCBwbGF0emllcnQNCisgICAgIHNpZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMuDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA1DQorDQorDQorICAxLiA6IUtvbW1hbmRvICBm/GhydCBlaW4gZXh0ZXJuZXMgS29tbWFuZG8gYXVzLg0KKw0KKyAgICAgIEVpbmlnZSBu/HR6bGljaGUgQmVpc3BpZWxlIHNpbmQNCisJKE1TLURPUykJICAoVW5peCkNCisJIDohZGlyCQkgICA6IWxzCQkgICAtICB6ZWlndCBlaW5lIFZlcnplaWNobmlzYXVmbGlzdHVuZy4NCisJIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuDQorDQorICAyLiA6dyBEQVRFSU5BTUUgIHNwZWljaGVydCBkaWUgYWt0dWVsbGUgVmltLURhdGVpIHVudGVyIGRlbSBOYW1lbiAgREFURUlOQU1FLg0KKw0KKyAgMy4gdiAgQmV3ZWd1bmcgIDp3IERBVEVJTkFNRSAgc2NocmVpYnQgZGllIFZpc3VlbGwgYXVzZ2V35GhsdGVuIFplaWxlbiBpbg0KKyAgICAgZGllIERhdGVpIERBVEVJTkFNRS4NCisNCisgIDQuIDpyIERBVEVJTkFNRSAgbORkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHVuZCBm/Gd0IHNpZSB1bnRlcmhhbGIgZGVyDQorICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uDQorDQorICA1LiA6ciAhZGlyICBsaWVzdCBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGRpciB1bmQgZvxndCBzaWUgdW50ZXJoYWxiIGRlcg0KKyAgICAgQ3Vyc29ycG9zaXRpb24gZWluLg0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICAgIExla3Rpb24gNi4xOiBaRUlMRU4g1kZGTkVOIChPUEVOKQ0KKw0KKw0KKyAgICoqIFRpcHBlICBvCSwgdW0gZWluZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUg9mZmbmVuIHVuZCBEaWNoIGluICoqDQorICAgICAgICAgICAgICAgICAgICAgICoqIGRlbiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBlcnN0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDIuIFRpcHBlIG8gKGtsZWluIGdlc2NocmllYmVuKSwgdW0gZWluZSBaZWlsZSBVTlRFUkhBTEIgZGVzIEN1cnNvcnMgenUg9mZmbmVuDQorICAgICB1bmQgRGljaCBpbiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uDQorDQorICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHL8Y2tlIDxFU0M+ICwgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uDQorDQorLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZvxnZW1vZHVzIHBsYXR6aWVydC4NCisNCisgIDQuIFVtIGVpbmUgWmVpbGUg3EJFUkhBTEIgZGVzIEN1cnNvcnMgYXVmenVtYWNoZW4sIGdpYiBlaW5mYWNoIGVpbiBncm/fZXMgIE8NCisgICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4NCisNCistLS0+INZmZm5lIGVpbmUgWmVpbGUg/GJlciBkaWVzZXIgbWl0IE8gLCB3ZW5uIGRlciBDdXJzb3IgYXVmIGRpZXNlciBaZWlsZSBpc3QuDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgICAgTGVrdGlvbiA2LjI6IFRFWFQgQU5G3EdFTiAoQVBQRU5EKQ0KKw0KKw0KKwkgICAgICoqIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZvxnZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4g3GJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uDQorDQorICAyLiBEcvxja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuDQorDQorICAzLiBUaXBwZSBlaW4ga2xlaW5lcyAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uDQorDQorICA0LiBWZXJ2b2xsc3TkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERy/GNrZSA8RVNDPiAsDQorICAgICB1bSBkZW4gRWluZvxnZW1vZHVzIHp1IHZlcmxhc3Nlbi4NCisNCisgIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7kY2hzdGVuIHVudm9sbHN05G5kaWdlbiBXb3J0IHVuZCB3aWVkZXJob2xlDQorICAgICBTY2hyaXR0ZSAzIHVuZCA0Lg0KKw0KKy0tLT4gRGllc2UgWmVpIGJpZXRldCBHZWxlZ2VuICwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvwuDQorLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWb8Z2VuLg0KKw0KK0FubWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1h32VuIGluIGRlbiBFaW5m/GdlbW9kdXM7IGRlcg0KKyAgICAgICAgICAgIGVpbnppZ2UgVW50ZXJzY2hpZWQgaXN0LCB3byBkaWUgWmVpY2hlbiBlaW5nZWb8Z3Qgd2VyZGVuLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkgICAgICBMZWt0aW9uIDYuMzogRUlORSBBTkRFUkUgQVJUIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpDQorDQorDQorICAgICAgICoqIFRpcHBlIGVpbiBncm/fZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisgICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4NCisNCisgIDIuIE51biBkcvxja2UgIFIgIHVuZCB0aXBwZSBkaWUgTnVtbWVyLCBkaWUgZGFydW50ZXIgaW4gZGVyIHp3ZWl0ZW4gWmVpbGUNCisgICAgIHN0ZWh0LCBzbyBkYXNzIGRpZXNlIGRhcyB4eHggZXJzZXR6dC4NCisNCisgIDMuIERy/GNrZSA8RVNDPiAsIHVtIGRlbiBFcnNldHp1bmdzbW9kdXMgenUgdmVybGFzc2VuLiBCZWFjaHRlLCBkYXNzIGRlciBSZXN0DQorICAgICBkZXIgWmVpbGUgdW52ZXLkbmRlcnQgYmxlaWJ0Lg0KKw0KKyAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUsIHVtIGRhcyB2ZXJibGllYmVuZSB4eHggenUgZXJzZXR6ZW4uDQorDQorLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4NCistLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IDQ1NiBlcmdpYnQgNTc5Lg0KKw0KK0FubWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5m/GdlbW9kdXMsIGFiZXIgamVkZXMgZWluZ2V0aXBwdGUNCisgICAgICAgICAgIFplaWNoZW4gbPZzY2h0IGVpbiB2b3JoYW5kZW5lcyBaZWljaGVuLg0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgIExla3Rpb24gNi40OiBURVhUIEtPUElFUkVOIFVORCBFSU5G3EdFTg0KKw0KKyAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWb8Z2VuICoqDQorDQorICAxLiBHZWhlIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuOyBzZXR6ZSBkZW4gQ3Vyc29yIGhpbnRlciAiYSkiLg0KKw0KKyAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLg0KKw0KKyAgMy4gVGlwcGUgIHkgICwgdW0gZGVuIGhlcnZvcmdlaG9iZW4gVGV4dCB6dSBrb3BpZXJlbi4NCisNCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZTogIGokDQorDQorICA1LiBUaXBwZSAgcCAsIHVtIGRlbiBUZXh0IGVpbnp1ZvxnZW4gdW5kIGFuc2NobGll32VuZDogIGEgendlaXRlIDxFU0M+IC4NCisNCisgIDYuIEJlbnV0emUgZGVuIFZpc3VlbGxlbiBNb2R1cywgdW0gIiBFaW50cmFnLiIgYXVzenV35GhsZW4sIGtvcGllcmUgbWl0dGVscw0KKyAgICAgeSAsIGJld2VnZSBEaWNoIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZSBtaXQgIGokICB1bmQgZvxnZSBkZW4gVGV4dA0KKyAgICAgZG9ydCBtaXQgIHAgIGFuLg0KKw0KKy0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLg0KKyAgICAgIGIpDQorDQorQW5tZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgTGVrdGlvbiA2LjU6IE9QVElPTkVOIFNFVFpFTg0KKw0KKyAgICAgICoqIFNldHplIGVpbmUgT3B0aW9uIHNvLCBkYXNzIGVpbmUgU3VjaGUgb2RlciBFcnNldHp1bmcgR3Jv3y0gKioNCisJCSAgICAgICoqIHVuZCBLbGVpbnNjaHJlaWJ1bmcgaWdub3JpZXJ0ICoqDQorDQorICAxLiBTdWNoZSBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgICAvaWdub3JpZXJlICAgZWluZ2lic3QuDQorICAgICBXaWVkZXJob2xlIGRpZSBTdWNoZSBlaW5pZ2UgTWFsZSwgaW5kZW0gRHUgZGllIG4gLSBUYXN0ZSBkcvxja3N0Lg0KKw0KKyAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuDQorDQorICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICBuICB0aXBwc3QuDQorICAgICBCZWFjaHRlLCBkYXNzIGpldHp0IElnbm9yaWVyZSB1bmQgYXVjaCBJR05PUklFUkUgZ2VmdW5kZW4gd2lyZC4NCisNCisgIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMNCisNCisgIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+DQorDQorICA2LiBVbSBkYXMgSWdub3JpZXJlbiB2b24gR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYWJ6dXNjaGFsdGVuLCB0aXBwZTogIDpzZXQgbm9pYw0KKw0KK0FubWVya3VuZzogVW0gZGllIEhlcnZvcmhlYnVuZyBkZXIgVHJlZmZlciB6dSBlbnRmZXJuZW4sIGdpYiBlaW46ICA6bm9obHNlYXJjaA0KK0FubWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBm/HIgZWluZSBlaW56aWdlIFN1Y2hlIHp1IGlnbm9yaWVyZW4sIGJlbnV0emUgXGMNCisgICAgICAgICAgIGltIFN1Y2hhdXNkcnVjazogIC9pZ25vcmllcmVcYyAgPEVOVEVSPg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNg0KKw0KKyAxLiBUaXBwZSAgbyAgLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgenUg9mZmbmVuIHVuZCBkZW4gRWluZvxnZW1vZHVzDQorICAgICAgICAgICAgICAgIHp1IHN0YXJ0ZW4NCisgICAgVGlwcGUgIE8gICwgdW0gZWluZSBaZWlsZSDcQkVSIGRlbSBDdXJzb3IgenUg9mZmbmVuLg0KKw0KKyAyLiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uDQorICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZvxnZW4uDQorDQorIDMuIERhcyBLb21tYW5kbyAgZSAgYnJpbmd0IERpY2ggenVtIEVuZGUgZWluZXMgV29ydGVzLg0KKw0KKyA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBm/Gd0IGlobiBlaW4uDQorDQorIDUuIEVpbiBncm/fZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERy/GNrZW4gdm9uICA8RVNDPiAuDQorDQorIDYuIERpZSBFaW5nYWJlIHZvbiAiOnNldCB4eHgiIHNldHp0IGRpZSBPcHRpb24gInh4eCIuIEVpbmlnZSBPcHRpb25lbiBzaW5kOg0KKwknaWMnICdpZ25vcmVjYXNlJyAgICBJZ25vcmllcmUgR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlDQorCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWz8YmVyZWluc3RpbW11bmdlbiBm/HIgZWluZW4gU3VjaGF1c2RydWNrDQorCSdobHMnICdobHNlYXJjaCcgICAgIEhlYmUgYWxsZSBwYXNzZW5kZW4gQXVzZHL8Y2tlIGhlcnZvcg0KKyAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4NCisNCisgNy4gU3RlbGxlIGVpbmVyIE9wdGlvbiAibm8iIHZvcmFuLCB1bSBzaWUgYWJ6dXNjaGFsdGVuOiAgIDpzZXQgbm9pYw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFDQorDQorDQorCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqDQorDQorICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBG/HIgZGVuIEFuZmFuZyBwcm9iaWVyZQ0KKyAgZWlucyBkZXIgZHJlaSBmb2xnZW5kZW4gRGluZ2UgYXVzOg0KKwktIERy/GNrZSBkaWUgPEhpbGZlPiAtIFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpDQorCS0gRHL8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpDQorCS0gVGlwcGUgICA6aGVscCA8RU5URVI+DQorDQorICBMaWVzIGRlbiBUZXh0IGltIEhpbGZlZmVuc3RlciwgdW0genUgdmVyc3RlaGVuIHdpZSBkaWUgSGlsZmUgZnVua3Rpb25pZXJ0Lg0KKyAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLg0KKyAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLg0KKw0KKyAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQ0KKyAgS29tbWFuZG8gZWluIEFyZ3VtZW50IGdpYnN0LiAgUHJvYmllcmUgZm9sZ2VuZGVzICg8RU5URVI+IG5pY2h0IHZlcmdlc3Nlbik6DQorDQorCTpoZWxwIHcNCisJOmhlbHAgY19DVFJMLUQNCisJOmhlbHAgaW5zZXJ0LWluZGV4DQorCTpoZWxwIHVzZXItbWFudWFsDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gNy4yOiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUDQorDQorDQorCSAgICAgICAgICAqKiAgQWt0aXZpZXJlIGRpZSBGZWF0dXJlcyB2b24gVmltICoqDQorDQorICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3Rlbg0KKyAgdm9uIGlobmVuIHNpbmQgc3RhbmRhcmRt5N9pZyBkZWFrdGl2aWVydC4gVW0gbWVociBGdW5rdGlvbmFsaXTkdGVuIHp1IG51dHplbiwNCisgIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4NCisNCisgIDEuIFN0YXJ0ZSBkYXMgRWRpdGllcmVuIGRlciAidmltcmMiLURhdGVpLCBhYmjkbmdpZyB2b24gZGVpbmVtIFN5c3RlbToNCisJOmUgfi8udmltcmMJCWb8ciBVbml4DQorCTplICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cw0KKw0KKyAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46DQorCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltDQorDQorICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoNCisJOncNCisNCisgIEJlaW0gbuRjaHN0ZW4gU3RhcnQgdm9uIFZpbSB3aXJkIGRpZSBTeW50YXhoZXJ2b3JoZWJ1bmcgYWt0aXZpZXJ0IHNlaW4uDQorICBEdSBrYW5uc3QgYWxsIGRlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZvxnZW4uDQorICBG/HIgbWVociBJbmZvcm1hdGlvbmVuIHRpcHBlICA6aGVscCB2aW1yYy1pbnRybw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUxE5ESUdFTg0KKw0KKw0KKwkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdORuZGlndW5nIG1pdCBDVFJMLUQgdW5kIDxUQUI+ICoqDQorDQorICAxLiBTdGVsbGUgc2ljaGVyLCBkYXNzIFZpbSBuaWNodCBpbSBWaS1Lb21wYXRpYmlsaXTkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3ANCisNCisgIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyDQorDQorICAzLiBUaXBwZSBkZW4gQmVnaW5uIGVpbmVzIEtvbW1hbmRvczogIDplDQorDQorICA0LiBEcvxja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLg0KKw0KKyAgNS4gRHL8Y2tlICA8VEFCPiAgdW5kIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4NCisNCisgIDYuIE51biBm/GdlIGVpbiBMZWVyemVpY2hlbiB1bmQgZGVuIEFuZmFuZyBlaW5lciBleGlzdGllcmVuZGVuIERhdGVpIGFuOg0KKyAgICAgOmVkaXQgREFUDQorDQorICA3LiBEcvxja2UgPFRBQj4uIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIE5hbWVuIChmYWxscyBlciBlaW5kZXV0aWcgaXN0KS4NCisNCitBbm1lcmt1bmc6IFZlcnZvbGxzdORuZGlndW5nIGZ1bmt0aW9uaWVydCBm/HIgdmllbGUgS29tbWFuZG9zLiBQcm9iaWVyZQ0KKyAgICAgZWluZmFjaCBDVFJMLUQgdW5kIDxUQUI+LiAgRGllcyBpc3QgaW5zYmVzb25kZXJlIG78dHpsaWNoIGb8ciAgOmhlbHAgLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCQkgICAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3DQorDQorDQorICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHL8Y2tlIDxGMT4gb2RlciA8SGVscD4sIHVtIGVpbiBIaWxmZWZlbnN0ZXIgenUg9mZmbmVuLg0KKw0KKyAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIPxiZXIgIEtvbW1hbmRvICB6dSBlcmhhbHRlbi4NCisNCisgIDMuIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAsIHVtIHp1bSBhbmRlcmVuIEZlbnN0ZXIgenUgc3ByaW5nZW4uDQorDQorICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uDQorDQorICA1LiBFcnN0ZWxsZSBlaW4gdmltcmMgLSBTdGFydHNrcmlwdCBtaXQgZGVpbmVuIGJldm9yenVndGVyIEVpbnN0ZWxsdW5nZW4uDQorDQorICA2LiBEcvxja2UgQ1RSTC1EIG5hY2ggZGVtIFRpcHBlbiBlaW5lcyAgOiAgS29tbWFuZG9zLCB1bSBt9mdsaWNoZQ0KKyAgICAgVmVydm9sbHN05G5kaWd1bmdlbiBhbnp1c2VoZW4uDQorICAgICBEcvxja2UgPFRBQj4gLCB1bSBlaW5lIFZlcnZvbGxzdORuZGlndW5nIHp1IGFuenV3ZW5kZW4uDQorDQorDQorDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorDQorICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgU2VpbmUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZA0KKyAgYvxuZGlnZW4g3GJlcmJsaWNrIPxiZXIgZGVuIFZpbSBFZGl0b3IgenUgZ2ViZW47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdg0KKyAgbGVpY2h0IG1pdCBpaG0gdW1nZWhlbiB6dSBr9m5uZW4uICBEZXIgVmltIFR1dG9yIGhhdCBuaWNodCBkZW4gZ2VyaW5nc3Rlbg0KKyAgQW5zcHJ1Y2ggYXVmIFZvbGxzdORuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzDQorICBu5GNoc3RlcyBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuDQorDQorICBG/HIgd2VpdGVyZXMgTGVzZW4gdW5kIExlcm5lbiBpc3QgZm9sZ2VuZGVzIEJ1Y2ggZW1wZmVobGVuc3dlcnQgOg0KKwlWaW0gLSBWaSBJbXByb3ZlZCAtIHZvbiBTdGV2ZSBPdWFsbGluZQ0KKwlWZXJsYWc6IE5ldyBSaWRlcnMNCisgIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gNCisgIGb8ciBBbmbkbmdlci4gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLg0KKyAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwNCisNCisgIEZvbGdlbmRlcyBCdWNoIGlzdCDkbHRlciB1bmQgbWVociD8YmVyIFZpIGFscyBWaW0sIGFiZXIgYXVjaCBlbXBmZWhsZW5zd2VydDoNCisJVGV4dGJlYXJiZWl0dW5nIG1pdCBkZW0gVmktRWRpdG9yICAtICB2b24gTGluZGEgTGFtYiB1bmQgQXJub2xkIFJvYmJpbnMNCisJVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2Mg0KKyAgSW4gZGllc2VtIEJ1Y2gga2FubiBtYW4gZmFzdCBhbGxlcyBmaW5kZW4sIHdhcyBtYW4gbWl0IFZpIHR1biBt9mNodGUuDQorICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIPxiZXIgVmltLg0KKw0KKyAgQWxzIGFrdHVlbGxlIFJlZmVyZW56IGb8ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmb8aHJ1bmcgZGllbnQgZGFzDQorICBmb2xnZW5kZSBCdWNoOg0KKwl2aW0gZ2UtcGFja3Qgdm9uIFJlaW5oYXJkIFdvYnN0DQorCW1pdHAtVmVybGFnLCBJU0JOIDMtODI2Ni0xNDI1LTkNCisgIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG78dHpsaWNoZSBCZWlzcGllbGUgYXVjaA0KKyAgZvxyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZA0KKyAgb25saW5lIGVyaORsdGxpY2guICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbA0KKw0KKyAgRGllc2VzIFR1dG9yaWFsIHd1cmRlIGdlc2NocmllYmVuIHZvbiBNaWNoYWVsIEMuIFBpZXJjZSB1bmQgUm9iZXJ0IEsuIFdhcmUsDQorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMuIEVzIGJlbnV0enQgSWRlZW4sIGRpZSBDaGFybGVzIFNtaXRoLCBDb2xvcmFkbyBTdGF0ZQ0KKyAgVW5pdmVyc2l0eSwgenVyIFZlcmb8Z3VuZyBzdGVsbHRlLiAgRS1NYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuDQorDQorICBCZWFyYmVpdGV0IGb8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLg0KKyAgRGV1dHNjaGUg3GJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDE1LiAgRS1NYWlsOiBKb2FjaGltLkhvZkBnbXguZGUNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLmRlLnV0Zi04IGIvcnVudGltZS90dXRvci90dXRvci5kZS51dGYtOAppbmRleCA5ZDVmNjY4Li4wOWJkNWY4IDEwMDY0NAotLS0gYS9ydW50aW1lL3R1dG9yL3R1dG9yLmRlLnV0Zi04CisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUudXRmLTgKQEAgLTEsOTgwICsxLDk4MiBAQAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotPSAgICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICBpbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjdEICAgICAgPQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0gICBWaW0gaXN0IGVpbiBzZWhyIG3DpGNodGlnZXIgRWRpdG9yLCBkZXIgdmllbGUgQmVmZWhsZSBiZXJlaXRzdGVsbHQ7IHp1IHZpZWxlLAotICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zDpHJlbi4gIERpZXNlciBUdXRvciBpc3Qgc28KLSAgIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIGRhc3MgRHUgZGllIEbDpGhpZ2tlaXQgZXJsYW5nc3QsCi0gICBWaW0gbWl0IExlaWNodGlna2VpdCBhbHMgZWluZW4gQWxsendlY2stRWRpdG9yIHp1IGJlbnV0emVuLgotICAgRGllIFplaXQgZsO8ciBkYXMgRHVyY2hhcmJlaXRlbiBkaWVzZXMgVHV0b3JzIGJldHLDpGd0IGNhLiAyNS0zMCBNaW51dGVuLAotICAgYWJow6RuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4KLQotICAgQUNIVFVORzoKLSAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4KLSAgIEVyc3RlbGxlIGVpbmUgS29waWUgZGllc2VyIERhdGVpLCBpbiBkZXIgRHUgw7xiZW4gd2lsbHN0IChmYWxscyBEdSAidmltdHV0b3IiCi0gICBhdWZnZXJ1ZmVuIGhhc3QsIGlzdCBkaWVzIGJlcmVpdHMgZWluZSBLb3BpZSkuCi0KLSAgIEVzIGlzdCB3aWNodGlnLCBzaWNoIHp1IHZlcmdlZ2Vud8OkcnRpZ2VuLCBkYXNzIGRpZXNlciBUdXRvciBmw7xyIGRhcyBBbndlbmRlbgotICAga29uemlwaWVydCBpc3QuIERhcyBiZWRldXRldCwgZGFzcyBEdSBkaWUgQmVmZWhsZSBhdXNmw7xocmVuIG11c3N0LCB1bSBzaWUKLSAgIHJpY2h0aWcgenUgbGVybmVuLiBXZW5uIER1IG51ciBkZW4gVGV4dCBsaWVzdCwgdmVyZ2lzc3QgRHUgZGllIEJlZmVobGUhCi0KLSAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgRGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHLDvGNrdCBpc3QgdW5kIGJldMOkdGlnZQotICAgZGllICAgaiAgIFRhc3RlIGdlbsO8Z2VuZCBNYWxlLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcwotICAgTGVrdGlvbiAxLjEgZGVuIEJpbGRzY2hpcm0gdm9sbGtvbW1lbiBhdXNmw7xsbHQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTCi0KLSAgKiogVW0gZGVuIEN1cnNvciB6dSBiZXdlZ2VuLCBkcsO8Y2tlIGRpZSBoLGosayxsIFRhc3RlbiB3aWUgdW50ZW4gZ2V6ZWlndC4gKioKLQkgICAgIF4JCSBIaWxmZXN0ZWxsdW5nOgotCSAgICAgawkJIERpZSBoIFRhc3RlIGJlZmluZGV0IHNpY2ggbGlua3MgdW5kIGJld2VndCBuYWNoIGxpbmtzLgotICAgICAgIDwgaAkgbCA+CSBEaWUgbCBUYXN0ZSBsaWVndCByZWNodHMgdW5kIGJld2VndCBuYWNoIHJlY2h0cy4KLQkgICAgIGoJCSBEaWUgaiBUYXN0ZSDDpGhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uCi0JICAgICB2Ci0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIGF1ZiBkZW0gQmlsZHNjaGlybSB1bWhlciwgYmlzIER1IERpY2ggc2ljaGVyIGbDvGhsc3QuCi0KLSAgMi4gSGFsdGUgZGllIE5hY2gtVW50ZW4tVGFzdGUgKGopIGdlZHLDvGNrdCwgYmlzIHNpZSBzaWNoIHdpZWRlcmhvbHQuCi0gICAgIEpldHp0IHdlacOfdCBEdSwgd2llIER1IERpY2ggenVyIG7DpGNoc3RlbiBMZWt0aW9uIGJld2VnZW4ga2FubnN0LgotCi0gIDMuIEJlbnV0emUgZGllIE5hY2gtVW50ZW4tVGFzdGUsIHVtIERpY2ggenUgTGVrdGlvbiAxLjIgenUgYmV3ZWdlbi4KLQotQmVtZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCDDvGJlciBkYXMsIHdhcyBEdSBnZXRpcHB0IGhhc3QsCi0JICAgZHLDvGNrZSA8RVNDPiAsIHVtIERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIHp1IGJlZ2ViZW4uCi0JICAgRGFubiBnaWIgZGFzIGdld8O8bnNjaHRlIEtvbW1hbmRvIG5vY2ggZWlubWFsIGVpbi4KLQotQmVtZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1Ci0JICAgaGprbCBiZW51dHp0LCB3aXJzdCBEdSBpbiBkZXIgTGFnZSBzZWluLCBEaWNoIHNlaHIgdmllbCBzY2huZWxsZXIKLQkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVpbm1hbCBkYXJhbiBnZXfDtmhudCBoYXN0LiBXaXJrbGljaCEKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICAgIExla3Rpb24gMS4yOiBWSU0gQkVFTkRFTgotCi0KLSAgISEgQUNIVFVORzogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZsO8aHJ0ZW4gU2Nocml0dGUgYXVzZsO8aHJzdCwgbGllcwotICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQotCi0gIDEuIERyw7xja2UgZGllIDxFU0M+IFRhc3RlICh1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdCkuCi0KLSAgMi4gVGlwcGU6CTpxISA8RU5URVI+LgotICAgICBEaWVzIGJlZW5kZXQgZGVuIEVkaXRvciB1bmQgVkVSV0lSRlQgYWxsZSDDhG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4KLQotICAzLiBXZW5uIER1IGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIHNpZWhzdCwgZ2liIGRhcyBLb21tYW5kbyBlaW4sIGRhcyBEaWNoIHp1Ci0gICAgIGRpZXNlbSBUdXRvciBnZWbDvGhydCBoYXQuIERpZXMgd8OkcmU6CXZpbXR1dG9yIDxFTlRFUj4KLQotICA0LiBXZW5uIER1IERpciBkaWVzZSBTY2hyaXR0ZSBlaW5nZXByw6RndCBoYXN0IHVuZCBEdSBEaWNoIHNpY2hlciBmw7xobHN0LAotICAgICBmw7xocmUgU2Nocml0dGUgMSBiaXMgMyBhdXMsIHVtIGRlbiBFZGl0b3IgenUgdmVybGFzc2VuIHVuZCB3aWVkZXIKLSAgICAgaGluZWluenVnZWxhbmdlbi4KLQotQmVtZXJrdW5nOiAgOnEhIDxFTlRFUj4gIHZlcndpcmZ0IGFsbGUgw4RuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuIEluCi0gICAgIGVpbmlnZW4gTGVrdGlvbmVuIGxlcm5zdCBEdSAsIGRpZSDDhG5kZXJ1bmdlbiBpbiBlaW5lciBEYXRlaSB6dSBzcGVpY2hlcm4uCi0KLSAgNS4gQmV3ZWdlIGRlbiBDdXJzb3IgYWJ3w6RydHMgenUgTGVrdGlvbiAxLjMuCi0gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiAxLjM6IFRFWFQgRURJVElFUkVOIC0gTMOWU0NIRU4KLQotCi0JICoqIERyw7xja2UgIHggIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbMO2c2NoZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMi4gVW0gZGllIEZlaGxlciB6dSBiZWhlYmVuLCBiZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIGF1ZiBkZW0gWmVpY2hlbiBzdGVodCwKLSAgICAgZGFzIGdlbMO2c2NodCB3ZXJkZW4gc29sbC4KLQotICAzLiBEcsO8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyDDvGJlcmZsw7xzc2lnZSBaZWljaGVuIHp1IGzDtnNjaGVuLgotCi0gIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdC4KLQotLS0tPiBEaWUgS2t1aCBzcHJhbmdnIMO8YmJlciBkZWVuIE1vb25kLgotCi0gIDUuIFdlbm4gbnVuIGRpZSBaZWlsZSBrb3JyZWt0IGlzdCwgZ2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMS40LgotCi1Bbm1lcmt1bmc6IFfDpGhyZW5kIER1IGR1cmNoIGRpZXNlbiBUdXRvciBnZWhzdCwgdmVyc3VjaGUgbmljaHQsIGF1c3dlbmRpZyB6dQotICAgIGxlcm5lbiwgbGVybmUgdmllbG1laHIgZHVyY2ggQW53ZW5kZW4uCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiAxLjQ6IFRFWFQgRURJVElFUkVOIC0gRUlORsOcR0VOCi0KLQotCQkgICAgKiogIERyw7xja2UgIGkgICwgdW0gVGV4dCBlaW56dWbDvGdlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotCi0gIDIuIFVtIGRpZSBlcnN0ZSBaZWlsZSBtaXQgZGVyIHp3ZWl0ZW4gZ2xlaWNoenVtYWNoZW4sIGJld2VnZSBkZW4gQ3Vyc29yIGF1ZgotICAgICBkYXMgZXJzdGUgWmVpY2hlbiBOQUNIIGRlciBTdGVsbGUsIHdvIGRlciBUZXh0IGVpbmdlZsO8Z3Qgd2VyZGVuIHNvbGwuCi0KLSAgMy4gRHLDvGNrZSAgaSAgdW5kIGdpYiBkaWUgbm90d2VuZGlnZW4gRXJnw6RuenVuZ2VuIGVpbi4KLQotICA0LiBXZW5uIGpld2VpbHMgZWluIEZlaGxlciBiZXNlaXRpZ3QgaXN0LCBkcsO8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzCi0gICAgIHp1csO8Y2t6dWtlaHJlbi4KLSAgICAgV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gZGVuIFNhdHogenUga29ycmlnaWVyZW4uCi0KLS0tLT4gSW4gZGllc2VyIGZ0IGV0d2FzIC4KLS0tLT4gSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCi0KLSAgNS4gV2VubiBEdSBEaWNoIG1pdCBkZW0gRWluZsO8Z2VuIHZvbiBUZXh0IHNpY2hlciBmw7xobHN0LCBnZWhlIHp1IExla3Rpb24gMS41LgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gMS41OiBURVhUIEVESVRJRVJFTiAtIEFORsOcR0VOCi0KLQotCQkgICAgICoqIERyw7xja2UgIEEgICwgdW0gVGV4dCBhbnp1ZsO8Z2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0gICAgIEVzIGlzdCBnbGVpY2hnw7xsdGlnLCBhdWYgd2VsY2hlbSBaZWljaGVuIGRlciBaZWlsZSBkZXIgQ3Vyc29yIHN0ZWh0LgotCi0gIDIuIERyw7xja2UgIEEgIHVuZCBnaWIgZGllIG7DtnRpZ2VuIEVyZ8Okbnp1bmdlbiBlaW4uCi0KLSAgMy4gV2VubiBkYXMgQW5mw7xnZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGRyw7xja2UgPEVTQz4sIHVtIGluIGRlbiBOb3JtYWxtb2R1cwotICAgICB6dXLDvGNrenVrZWhyZW4uCi0KLSAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bmQgd2llZGVyaG9sZQotICAgICBkaWUgU2Nocml0dGUgMiB1bmQgMywgdW0gZGVuIFNhdHogenUga29ycmlnaWVyZW4uCi0KLS0tLT4gSW4gZGllc2VyIFplaWxlIGZlaAotICAgICBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4KLS0tLT4gQXVjaCBoaWVyIHN0ZWgKLSAgICAgQXVjaCBoaWVyIHN0ZWh0IGV0d2FzIFVudm9sbHN0w6RuZGlnZXMuCi0KLSAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5mw7xnZW4gdm9uIFRleHQgc2ljaGVyIGbDvGhsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjYuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgIExla3Rpb24gMS42OiBFSU5FIERBVEVJIEVESVRJRVJFTgotCi0KLSAgICAgKiogQmVudXR6ZSAgOndxICAsIHVtIGVpbmUgRGF0ZWkgenUgc3BlaWNoZXJuIHVuZCBWaW0genUgdmVybGFzc2VuLiAqKgotCi0gICEhIEFDSFRVTkc6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWbDvGhydGVuIFNjaHJpdHRlIGF1c2bDvGhyc3QsIGxpZXMKLSAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKLQotICAxLiBWZXJsYXNzZSBkZW4gRWRpdG9yIHNvIHdpZSBpbiBMZWt0aW9uIDEuMjogIDpxIQotCi0gIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4KLSAgICAgJ3ZpbScgaXN0IGRlciBBdWZydWYgZGVzIEVkaXRvcnMsICd0dXRvcicgaXN0IGRpZSB6dSBlZGl0aWVyZW5kZSBEYXRlaS4KLSAgICAgQmVudXR6ZSBlaW5lIERhdGVpLCBkaWUgZ2XDpG5kZXJ0IHdlcmRlbiBrYW5uLgotCi0gIDMuIEbDvGdlIFRleHQgZWluIG9kZXIgbMO2c2NoZSBpaG4sIHdpZSBEdSBpbiBkZW4gdm9yaWdlbiBMZWt0aW9uZW4gZ2VsZXJudAotICAgICBoYXN0LgotCi0gIDQuIFNwZWljaGVyZSBkaWUgZ2XDpG5kZXJ0ZSBEYXRlaSB1bmQgdmVybGFzc2UgVmltIG1pdDogIDp3cSA8RU5URVI+Ci0KLSAgNS4gU3RhcnRlIGRlbiB2aW10dXRvciBuZXUgdW5kIGJld2VnZSBEaWNoIHp1IGRlciBmb2xnZW5kZW4gWnVzYW1tZW5mYXNzdW5nLgotCi0gIDYuIE5hY2hkZW0gRHUgb2JpZ2UgU2Nocml0dGUgZ2VsZXNlbiB1bmQgdmVyc3RhbmRlbiBoYXN0LCBmw7xocmUgc2llIGR1cmNoLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDEKLQotCi0gIDEuIERlciBDdXJzb3Igd2lyZCBtaXQgZGVuIFBmZWlsdGFzdGVuIG9kZXIgZGVuIFRhc3RlbiBoamtsIGJld2VndC4KLQkgaCAobGlua3MpICAgICBqICh1bnRlbikgICAgIGsgKGF1ZnfDpHJ0cykgICAgbCAocmVjaHRzKQotCi0gIDIuIFVtIFZpbSB2b24gZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgYXVzenVmw7xocmVuLCB0aXBwZTogdmltIERBVEVJIDxFTlRFUj4KLQotICAzLiBVbSBWaW0genUgdmVybGFzc2VuIHVuZCBhbGxlIMOEbmRlcnVuZ2VuIHp1IHZlcndlcmZlbiwgdGlwcGU6Ci0JCTxFU0M+ICA6cSEgIDxFTlRFUj4gLgotCU9ERVIgdGlwcGU6CTxFU0M+ICA6d3EgIDxFTlRFUj4gLCB1bSBkaWUgw4RuZGVydW5nZW4genUgc3BlaWNoZXJuLgotCi0gIDQuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbMO2c2NoZW4sIHRpcHBlOiAgeAotCi0gIDUuIFVtIFRleHQgZWluenVmw7xnZW4gb2RlciBhbnp1ZsO8Z2VuLCB0aXBwZToKLQkgaSAgIEVpbnp1ZsO8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICA8RVNDPiAgICBFaW5mw7xnZW4gdm9yIGRlbSBDdXJzb3IKLQkgQSAgIEFuenVmw7xnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmbDvGdlbiBuYWNoIGRlbSBaZWlsZW5kZW5lCi0KLUJlbWVya3VuZzogRHLDvGNrZW4gdm9uIDxFU0M+IGJyaW5ndCBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyBvZGVyIGJyaWNodCBlaW4KLSAgICAgdW5nZXdvbGx0ZXMsIGVyc3QgdGVpbHdlaXNlIGVpbmdlZ2ViZW5lcyBLb21tYW5kbyBhYi4KLQotICAgICBOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgIExla3Rpb24gMi4xOiBMw5ZTQ0hLT01NQU5ET1MKLQotCi0JCSAgICoqIFRpcHBlICBkdyAgLCB1bSBlaW4gV29ydCB6dSBsw7ZzY2hlbi4gKioKLQotICAxLiBEcsO8Y2tlICA8RVNDPiAgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCi0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBlaW5lcyBXb3J0ZXMsIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuCi0KLSAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KLQotICBCZW1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIGxldHp0ZW4gWmVpbGUgZGVzIEJpbGRzY2hpcm1zLAotICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRhw58gRHUgIHcgIGVpbmdpYnN0LiBXZW5uIER1Ci0gICAgICAgIGVpbiBhbmRlcmVzIFplaWNoZW4gYWxzICBkICBzaWVoc3QsIGhhc3QgRHUgZXR3YXMgZmFsc2NoZXMgZ2V0aXBwdDsKLSAgICAgICAgZHLDvGNrZSA8RVNDPiB1bmQgYmVnaW5uZSBuZXUuCi0KLS0tLT4gRWluaWdlIFfDtnJ0ZXIgbHVzdGlnIGdlaMO2cmVuIG5pY2h0IFBhcGllciBpbiBkaWVzZW4gU2F0ei4KLQotICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAzIHVuZCA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QgdW5kIGdlaGUKLSAgICAgZGFuYWNoIHp1ciBMZWt0aW9uIDIuMi4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgICBMZWt0aW9uIDIuMjogV0VJVEVSRSBMw5ZTQ0hLT01NQU5ET1MKLQotCi0JICAgICoqIFRpcHBlICBkJCAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGzDtnNjaGVuLiAqKgotCi0gIDEuIERyw7xja2UgPEVTQz4gLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4KLQotICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KLQotICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIga29ycmVrdGVuIFplaWxlIChOQUNIIGRlbSBlcnN0ZW4gLiApLgotCi0gIDQuIFRpcHBlICAgIGQkICAgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBsw7ZzY2hlbi4KLQotLS0tPiBKZW1hbmQgaGF0IGRhcyBFbmRlIGRlciBaZWlsZSBkb3BwZWx0IGVpbmdlZ2ViZW4uIGRvcHBlbHQgZWluZ2VnZWJlbi4KLQotCi0gIDUuIEdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDIuMyAsIHVtIHp1IHZlcnN0ZWhlbiwgd2FzIGhpZXJiZWkgcGFzc2llcnQuCi0KLQotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSBMZWt0aW9uIDIuMzogw5xCRVIgT1BFUkFUT1JFTiBVTkQgQkVXRUdVTkdTWsOcR0UKLQotCi0gIFZpZWxlIEtvbW1hbmRvcywgZGllIFRleHQgw6RuZGVybiwgc2V0emVuIHNpY2ggYXVzIGVpbmVtIE9wZXJhdG9yIHVuZCBlaW5lcgotICBCZXdlZ3VuZyB6dXNhbW1lbi4gRGFzIEZvcm1hdCBmw7xyIGVpbiBMw7ZzY2hrb21tYW5kbyBtaXQgZGVtIEzDtnNjaG9wZXJhdG9yICBkCi0gIGxhdXRldCB3aWUgZm9sZ3Q6Ci0KLSAgICBkICBCZXdlZ3VuZwotCi0gIHdvYmVpOgotICAgIGQgICAgICAgIC0gZGVyIEzDtnNjaG9wZXJhdG9yCi0gICAgQmV3ZWd1bmcgLSB3b3JhdWYgZGVyIEzDtnNjaG9wZXJhdG9yIGFuZ2V3YW5kdCB3aXJkICh1bnRlbiBhdWZnZWxpc3RldCkuCi0KLSAgRWluZSBrbGVpbmUgQXVmbGlzdHVuZyB2b24gQmV3ZWd1bmdlbjoKLSAgICB3IC0gYmlzIHp1bSBCZWdpbm4gZGVzIG7DpGNoc3RlbiBXb3J0ZXMgT0hORSBkZXNzZW4gZXJzdGVzIFplaWNoZW4uCi0gICAgZSAtIHp1bSBFbmRlIGRlcyBha3R1ZWxsZW4gV29ydGVzIE1JVCBkZXNzZW4gbGV0enRlbSBaZWljaGVuLgotICAgICQgLSB6dW0gRW5kZSBkZXIgWmVpbGUgTUlUIGRlbSBsZXR6ZW4gWmVpY2hlbi4KLQotICBEZW1lbnRzcHJlY2hlbmQgbMO2c2NodCBkaWUgRWluZ2FiZSB2b24gIGRlICB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gV29ydGVuZGUuCi0KLUJlbWVya3VuZzogIERpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgQmV3ZWd1bmdzdGVpbHMgaW0gTm9ybWFsbW9kdXMgYmV3ZWd0IGRlbgotICBDdXJzb3IgZW50c3ByZWNoZW5kLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JTGVrdGlvbiAyLjQ6IEFOV0VORFVORyBFSU5FUyBaw4RITEVSUyBGw5xSIEVJTkVOIEJFV0VHVU5HU1NDSFJJVFQKLQotCi0gICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIHZvciBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IHdpZWRlcmhvbHQgZGllc2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBCZWdpbm4gZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMi4gVGlwcGUgIDJ3ICAsIHVtIGRlbiBDdXJzb3IgendlaSBXw7ZydGVyIHZvcnfDpHJ0cyB6dSBiZXdlZ2VuLgotCi0gIDMuIFRpcHBlICAzZSAgLCB1bSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlcyBkcml0dGVuIFdvcnRlcyB6dSBiZXdlZ2VuLgotCi0gIDQuIFRpcHBlICAwICAoTnVsbCkgLCB1bSB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBnZWxhbmdlbi4KLQotICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDIgdW5kIDMgbWl0IHZlcnNjaGllZGVuZW4gWsOkaGxlcm4uCi0KLSAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV8O2cnRlbiB1bSBzaWNoIGRhcmluIGhlcnVtenViZXdlZ2VuLgotCi0gIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41LgotCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaw4RITEVSUyBGw5xSIE1FSFJFUkUgTMOWU0NIVk9SR8OETkdFCi0KLQotICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCBtaXQgZWluZW0gT3BlcmF0b3Igd2llZGVyaG9sdCBkaWVzZW4gbWVocmZhY2guICoqCi0KLSAgRsO8ciBkaWUgS29tYmluYXRpb24gZGVzIEzDtnNjaG9wZXJhdG9ycyB1bmQgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUKLSAgb2Jlbikgc3RlbGx0IG1hbiBkZW0gQmV3ZWd1bmdzc2Nocml0dCBlaW5lbiBaw6RobGVyIHZvcmFuLCB1bSBtZWhyIHp1IGzDtnNjaGVuOgotCSBkICBOdW1tZXIgIEJld2VndW5nc3NjaHJpdHQKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIFdvcnQgaW4gR1JPU1NCVUNIU1RBQkVOIGluIGRlciBtaXQgLS0tPgotICAgICBtYXJraWVyZW4gWmVpbGUuCi0KLSAgMi4gVGlwcGUgIGQydyAgLCB1bSBkaWUgendlaSBXw7ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiB6dSBsw7ZzY2hlbi4KLQotICAzLiBXaWVkZXJob2xlIFNjaHJpdHRlIDEgdW5kICAyIG1pdCBlaW5lbSBhbmRlcmVuIFrDpGhsZXIsIHVtIGRpZQotICAgICBkYXJhdWZmb2xnZW5kZW4gV8O2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4gbWl0IGVpbmVtIGVpbnppZ2VuIEtvbW1hbmRvCi0gICAgIHp1IGzDtnNjaGVuLgotCi0tLS0+ICBEaWVzZSBBQkMgREUgWmVpbGUgRkdISSBKSyBMTU4gT1AgbWl0IFfDtnJ0ZXJuIGlzdCBRIFJTIFRVViBiZXJlaW5pZ3QuCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCUxla3Rpb24gMi42OiBBUkJFSVRFTiBBVUYgWkVJTEVOCi0KLQotCSAgICAgICAqKiBUaXBwZSAgZGQgICwgdW0gZWluZSBnYW56ZSBaZWlsZSB6dSBsw7ZzY2hlbi4gKioKLQotICBXZWdlbiBkZXIgSMOkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBsw7ZzY2h0LCBrYW1lbiBkaWUgRW50d2lja2xlciB2b24KLSAgVmkgZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfDpHJlLCBlaW5mYWNoIHp3ZWkgZCdzIGVpbnp1Z2ViZW4sIHVtIGVpbmUgWmVpbGUKLSAgenUgbMO2c2NoZW4uCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gWmVpbGUgaW4gZGVyIHVudGVuIHN0ZWhlbmRlbiBSZWRld2VuZHVuZy4KLSAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBsw7ZzY2hlbi4KLSAgMy4gTnVuIGJld2VnZSBEaWNoIHp1ciB2aWVydGVuIFplaWxlLgotICA0LiBUaXBwZSAgMmRkICAsIHVtIHp3ZWkgWmVpbGVuIHp1IGzDtnNjaGVuLgotCi0tLS0+ICAxKSAgUm9zZW4gc2luZCByb3QsCi0tLS0+ICAyKSAgTWF0c2NoIGlzdCBsdXN0aWcsCi0tLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LAotLS0tPiAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLAotLS0tPiAgNSkgIERpZSBVaHIgc2FndCBkaWUgWmVpdCwKLS0tLT4gIDYpICBadWNrZXIgaXN0IHPDvMOfLAotLS0tPiAgNykgIFNvIHdpZSBEdSBhdWNoLgotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDIuNzogUsOcQ0tHw4ROR0lHIE1BQ0hFTiAoVU5ETykKLQotCi0JICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3MgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbiAqKgotCSAgICAgICoqIG9kZXIgVSB1bSBlaW5lIGdhbnplIFplaWxlIHdpZWRlcmhlcnp1c3RlbGxlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbgotICAgICB1bmQgc2V0emUgaWhuIGF1ZiBkZW4gZXJzdGVuIEZlaGxlci4KLSAgMi4gVGlwcGUgIHggICwgdW0gZGFzIGVyc3RlIHVuZXJ3w7xuc2NodGUgWmVpY2hlbiB6dSBsw7ZzY2hlbi4KLSAgMy4gTnVuIHRpcHBlICB1ICB1bSBkYXMgc29lYmVuIGF1c2dlZsO8aHJ0ZSBLb21tYW5kbyByw7xja2fDpG5naWcgenUgbWFjaGVuLgotICA0LiBKZXR6dCBiZWhlYmUgYWxsZSBGZWhsZXIgYXVmIGRlciBaZWlsZSBtaXQgSGlsZmUgZGVzIHggIEtvbW1hbmRvcy4KLSAgNS4gTnVuIHRpcHBlIGVpbiBncm/Dn2VzICBVICwgdW0gZGllIFplaWxlIGluIGlocmVuIFVyc3BydW5nc3p1c3RhbmQKLSAgICAgd2llZGVyaGVyenVzdGVsbGVuLgotICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcwotICAgICByw7xja2fDpG5naWcgenUgbWFjaGVuLgotICA3LiBOdW4gdGlwcGUgQ1RSTC1SIChoYWx0ZSBDVFJMIGdlZHLDvGNrdCB1bmQgZHLDvGNrZSBSKSBtZWhyZXJlIE1hbGUsIHVtIGRpZQotICAgICBLb21tYW5kb3Mgd2llZGVyaGVyenVzdGVsbGVuIChkaWUgUsO8Y2tnw6RuZ2lnbWFjaHVuZ2VuIHLDvGNrZ8OkbmdpZyBtYWNoZW4pLgotCi0tLS0+IEJlZWhlYmUgZGllIEZlaGxsZXIgZGllc3NlciBaZWlsZSB1bmQgc3R0ZWxsZSBzaWUgbWl0dCAndW5kbycgd2llZGVyIGhlci4KLQotICA4LiBEaWVzIHNpbmQgc2VociBuw7x0emxpY2hlIEtvbW1hbmRvcy4KLSAgICAgTnVuIGdlaGUgd2VpdGVyIHp1ciBadXNhbW1lbmZhc3N1bmcgdm9uIExla3Rpb24gMi4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyCi0KLQotICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbsOkY2hzdGVuIFdvcnQgenUgbMO2c2NoZW4sIHRpcHBlOiAgICBkdwotICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBsw7ZzY2hlbiwgdGlwcGU6ICAgICBkJAotICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGzDtnNjaGVuLCB0aXBwZTogICAgZGQKLQotICA0LiBVbSBlaW5lIEJld2VndW5nIHp1IHdpZWRlcmhvbGVuLCBzdGVsbGUgZWluZSBOdW1tZXIgdm9yYW46ICAgMncKLSAgNS4gRGFzIEZvcm1hdCBmw7xyIGVpbiDDhG5kZXJ1bmdza29tbWFuZG8gaXN0OgotICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQKLSAgICAgd29iZWk6Ci0gICAgICAgT3BlcmF0b3IgLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbCAgZCAgZsO8ciBkZWxldGUKLSAgICAgICBbQW56YWhsXSAtIGVpbiBvcHRpb25hbGVyIFrDpGhsZXIsIHVtIGRlbiBCZXdlZ3VuZ3NzY2hyaXR0IHp1IHdpZWRlcmhvbGVuCi0gICAgICAgQmV3ZWd1bmdzc2Nocml0dCAtIEJld2VndW5nIMO8YmVyIGRlbiB6dSDDpG5kZXJuZGVuIFRleHQsIHNvIHdpZQotCQkgIHcgKFdvcnQpLCAkICh6dW0gRW5kZSBkZXIgWmVpbGUpLCBldGMuCi0KLSAgNi4gVW0gRGljaCB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBiZWdlYmVuLCBiZW51dHplIGRpZSBOdWxsOiAgMAotCi0gIDcuIFVtIHZvcmhlcmlnZSBBa3Rpb25lbiByw7xja2fDpG5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkKLSAgICAgVW0gYWxsZSDDhG5kZXJ1bmdlbiBhdWYgZWluZXIgWmVpbGUgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbjogICBVIChncm/Dn2VzIFUpCi0gICAgIFVtIGRpZSBSw7xja2fDpG5naWdtYWNodW5nZW4gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6ICAgIENUUkwtUgotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgIExla3Rpb24gMy4xOiBBTkbDnEdFTiAoUFVUKQotCi0KLSAgICAgKiogVGlwcGUgIHAgICwgdW0gdm9yaGVyIGdlbMO2c2NodGVuIFRleHQgbmFjaCBkZW0gQ3Vyc29yIGFuenVmw7xnZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGzDtnNjaGVuIHVuZCBzaWUgaW4gZWluZW0gVmltLVJlZ2lzdGVyIHp1Ci0gICAgIHNwZWljaGVybi4KLQotICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksIMOcQkVSIGRlcmplbmlnZW4sIHdvIGRpZSBnZWzDtnNjaHRlIFplaWxlCi0gICAgIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4KLQotICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uCi0KLSAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlCi0gICAgIFJlaWhlbmZvbGdlIHp1IGJyaW5nZW4uCi0KLS0tLT4gZCkgS2FubnN0IER1IGRhcyBhdWNoPwotLS0tPiBiKSBWZWlsY2hlbiBzaW5kIGJsYXUsCi0tLS0+IGMpIEludGVsbGlnZW56IGlzdCBlcmxlcm5iYXIsCi0tLS0+IGEpIFJvc2VuIHNpbmQgcm90LAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMZWt0aW9uIDMuMjogRVJTRVRaRU4gKFJFUExBQ0UpCi0KLQotICAgKiogVGlwcGUgIHJ4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgZHVyY2ggIHggenUgZXJzZXR6ZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBCZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIHNpY2ggYXVmIGRlbSBlcnN0ZW4gRmVobGVyIGJlZmluZGV0LgotCi0gIDMuIFRpcHBlICByICB1bmQgYW5zY2hsaWXDn2VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkb3J0IHN0ZWhlbiBzb2xsdGUuCi0KLSAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuCi0KLS0tLT4gIEFscyBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhCi0tLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0IQotCi0gIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4KLQotQmVtZXJrdW5nOiBFcmlubmVyZSBEaWNoLCBkYXNzIER1IGR1cmNoIEFud2VuZGVuIGxlcm5lbiBzb2xsdGVzdCwgbmljaHQgZHVyY2gKLSAgICAgQXVzd2VuZGlnbGVybmVuLgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICBMZWt0aW9uIDMuMzogw4ROREVSTiAoQ0hBTkdFKQotCi0KLSAgICAgICoqIFVtIGVpbmUgw4RuZGVydW5nIGJpcyB6dW0gV29ydGVuZGUgZHVyY2h6dWbDvGhyZW4sIHRpcHBlICBjZSAuICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuCi0KLSAgMy4gVGlwcGUgIGNlICB1bmQgZGllIFdvcnRrb3JyZWt0dXIgZWluIChpbiBkaWVzZW0gRmFsbCB0aXBwZSAgw7ZydGVyICkuCi0KLSAgNC4gRHLDvGNrZSA8RVNDPiB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIG7DpGNoc3RlbiB6dSDDpG5kZXJuZGVuIFplaWNoZW4uCi0KLSAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAzIHVuZCA0IGJpcyBkZXIgZXJzdGUgU2F0eiBnbGVpY2ggZGVtIHp3ZWl0ZW4gaXN0LgotCi0tLS0+IEVpbmlnZSBXc3R3ciBkaWVzZXIgWmxhd3cgbGFzZGpsYWYgbWl0IGRlbSDDhG5kZXJuLU9wZXJhdG9yIGdhYWF1dSB3ZXJkZW4uCi0tLS0+IEVpbmlnZSBXw7ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDDhG5kZXJuLU9wZXJhdG9yIGdlw6RuZGVydCB3ZXJkZW4uCi0KLUJlbWVya2UsIGRhc3MgIGNlICBkYXMgV29ydCBsw7ZzY2h0IHVuZCBEaWNoIGluIGRlbiBFaW5nYWJlbW9kdXMgdmVyc2V0enQuCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDMuNDogTUVIUiDDhE5ERVJVTkdFTiBNSVRURUxTIGMKLQotCi0gICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBCZXdlZ3VuZ2VuIHdpZSBkZWxldGUuICAqKgotCi0gIDEuIERlciBjaGFuZ2UgT3BlcmF0b3IgYXJiZWl0ZXQgaW4gZ2xlaWNoZXIgV2Vpc2Ugd2llIGRlbGV0ZS4gRGFzIEZvcm1hdCBpc3Q6Ci0KLSAgICAgICAgIGMgICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKLQotICAyLiBEaWUgQmV3ZWd1bmdzc2Nocml0dGUgc2luZCBkaWUgZ2xlaWNoZW4gLCBzbyB3aWUgIHcgIChXb3J0KSB1bmQgICQKLSAgICAgKFplaWxlbmVuZGUpLgotCi0gIDMuIEJld2VnZSBEaWNoIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBGZWhsZXIuCi0KLSAgNS4gVGlwcGUgIGMkICAsIGdpYiBkZW4gUmVzdCBkZXIgWmVpbGUgd2llIGluIGRlciB6d2VpdGVuIGVpbiwgZHLDvGNrZSA8RVNDPiAuCi0KLS0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgYW4gZGllIHp3ZWl0ZSBaZWlsZSBhbmdlZ2xpY2hlbiB3ZXJkZW4uCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIG1pdCBkZW0gIGMkICBLb21tYW5kbyBrb3JyaWdpZXJ0IHdlcmRlbi4KLQotQmVtZXJrdW5nOiBEdSBrYW5uc3QgZGllIFLDvGNrdGFzdGUgYmVudXR6ZW4sIHVtIFRpcHBmZWhsZXIgenUga29ycmlnaWVyZW4uCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMwotCi0KLSAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbMO2c2NodGVuIFRleHQgYW56dWbDvGdlbiwgdGlwcGUgICBwIC4gRGllcyBmw7xndCBkZW4KLSAgICAgZ2Vsw7ZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZWluZSBnYW56ZSBaZWlsZSBnZWzDtnNjaHQgd3VyZGUsCi0gICAgIHdpcmQgZGllc2UgaW4gZGllIFplaWxlIHVudGVyIGRlbSBDdXJzb3IgZWluZ2Vmw7xndCkuCi0KLSAgMi4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBlcnNldHplbiwgdGlwcGUgICByICAgdW5kIGRhcyBhbiBkaWVzZXIKLSAgICAgU3RlbGxlIGdld8O8bnNjaHRlIFplaWNoZW4uCi0KLSAgMy4gRGVyIMOEbmRlcnVuZ3MtIChjaGFuZ2UpIE9wZXJhdG9yIGVybGF1YnQsIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGRlcwotICAgICBCZXdlZ3VuZ3NzY2hyaXR0ZXMgenUgw6RuZGVybi4gVGlwcGUgIGNlICAsIHVtIGVpbmUgw4RuZGVydW5nIHZvbSBDdXJzb3IgYmlzCi0gICAgIHp1bSBFbmRlIGRlcyBXb3J0ZXMgdm9yenVuZWhtZW47ICBjJCAgYmlzIHp1bSBFbmRlIGVpbmVyIFplaWxlLgotCi0gIDQuIERhcyBGb3JtYXQgZsO8ciBjaGFuZ2UgaXN0OgotCi0JIGMgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAotCi0gIE51biBmYWhyZSBtaXQgZGVyIG7DpGNoc3RlbiBMZWt0aW9uIGZvcnQuCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICBMZWt0aW9uIDQuMTogQ1VSU09SUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTCi0KLSAqKiBUaXBwZSBDVFJMLUcgLCB1bSBEZWluZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cyBhbnp1emVpZ2VuLiAqKgotICAgICAqKiBUaXBwZSBHICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmVnZWJlbi4gKioKLQotQmVtZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNmw7xocnN0ISEKLQotICAxLiBIYWx0ZSBkaWUgQ3RybCBUYXN0ZSB1bnRlbiB1bmQgZHLDvGNrZSAgZyAuIERpZXMgbmVubmVuIHdpciB3aXIgQ1RSTC1HLgotICAgICBFaW5lIFN0YXR1c21lbGR1bmcgYW0gRnXDnyBkZXIgU2VpdGUgZXJzY2hlaW50IG1pdCBkZW0gRGF0ZWluYW1lbiB1bmQgZGVyCi0gICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGbDvHIgU2Nocml0dCAzLgotCi1CZW1lcmt1bmc6IE3DtmdsaWNoZXJ3ZWlzZSBzaWVoc3QgRHUgZGllIEN1cnNvcnBvc2l0aW9uIGluIGRlciB1bnRlcmVuIHJlY2h0ZW4KLSAgICAgIEJpbGRzY2hpcm1lY2tlLiBEaWVzIGlzdCBGb2xnZSBkZXIgJ3J1bGVyJyBPcHRpb24gKHNpZWhlIDpoZWxwICdydWxlcicpCi0KLSAgMi4gRHLDvGNrZSAgRyAgLCB1bSBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaSB6dSBiZWdlYmVuLgotICAgICBUaXBwZSAgZ2cgICwgdW0gRGljaCB6dW0gQW5mYW5nIGRlciBEYXRlaSB6dSBiZWdlYmVuLgotCi0gIDMuIEdpYiBkaWUgTnVtbWVyIGRlciBaZWlsZSBlaW4sIGF1ZiBkZXIgRHUgdm9yaGVyIHdhcnN0LCBnZWZvbGd0IHZvbiAgRyAuCi0gICAgIERpZXMgYnJpbmd0IERpY2ggenVyw7xjayB6dSBkZXIgWmVpbGUsIGF1ZiBkZXIgRHUgZ2VzdGFuZGVuIGhhc3QsIGFscyBEdQotICAgICBkYXMgZXJzdGUgTWFsIENUUkwtRyBnZWRyw7xja3QgaGFzdC4KLQotICA0LiBXZW5uIER1IERpY2ggc2ljaGVyIGdlbnVnIGbDvGhsc3QsIGbDvGhyZSBkaWUgU2Nocml0dGUgMSBiaXMgMyBhdXMuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgIExla3Rpb24gNC4yOiBEQVMgU1VDSEVOIC0gS09NTUFORE8KLQotCi0gICoqIFRpcHBlICAvICBnZWZvbGd0IHZvbiBlaW5lbSBBdXNkcnVjaywgdW0gbmFjaCBkZW0gQXVzZHJ1Y2sgenUgc3VjaGVuLiAqKgotCi0gIDEuIEltIE5vcm1hbG1vZHVzLCB0aXBwZSBkYXMgIC8gIFplaWNoZW4uICBCZW1lcmtlLCBkYXNzIGRhcyAgLyB1bmQgZGVyCi0gICAgIEN1cnNvciBhbSBGdcOfIGRlcyBTY2hpcm1zIGVyc2NoZWluZW4sIHNvIHdpZSBiZWltIDoJS29tbWFuZG8uCi0KLSAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4KLQotICAzLiBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayB3ZWl0ZXJ6dXN1Y2hlbiwgdGlwcGUgZWluZmFjaCAgbiAoZsO8ciBuZXh0KS4KLSAgICAgVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLCB0aXBwZSAgTiAuCi0KLSAgNC4gVW0gbmFjaCBlaW5lbSBBdXNkcnVjayByw7xja3fDpHJ0cyB6dSBzdWNoZW4gLCBiZW51dHplICA/ICBzdGF0dCAgLyAuCi0KLSAgNS4gVW0gZGFoaW4genVyw7xja3p1a2VocmVuLCB2b24gd28gRHUgZ2Vrb21tZW4gYmlzdCwgZHLDvGNrZSBDVFJMLU8gKEhhbHRlCi0gICAgIEN0cmwgdW50ZW4gdW5kIGRyw7xja2UgZGVuIEJ1Y2hzdGFiZW4gbykuIFdpZWRlcmhvbGUgZGllcywgdW0gd2VpdGVyCi0gICAgIHp1csO8Y2t6dWdlaGVuLiAgQ1RSTC1JIGJyaW5ndCBkaWNoIHZvcnfDpHJ0cy4KLQotLS0tPiAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyBGZWhobGVyIGlzdCBlaW4gRmVobGVyCi1CZW1lcmt1bmc6IFdlbm4gZGllIFN1Y2hlIGRhcyBEYXRlaWVuZGUgZXJyZWljaHQgaGF0LCB3aXJkIHNpZSBhbSBBbmZhbmcKLSAgICAgICAgZm9ydGdlc2V0enQsIGVzIHNlaSBkZW5uLCBkaWUgJ3dyYXBzY2FuJyBPcHRpb24gd3VyZGUgYWJnZXNjaGFsdGV0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiA0LjM6IFBBU1NFTkRFIEtMQU1NRVJOIEZJTkRFTgotCi0KLSAgICoqIFRpcHBlICAlICwgdW0gZWluZSBrb3JyZXNwb25kaWVyZW5kZSBLbGFtbWVyICksXSwgb2RlciB9IHp1IGZpbmRlbi4gKioKLQotICAxLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgaXJnZW5kZWluZXMgZGVyIFplaWNoZW4gKCwgWywgb2RlciB7IGluIGRlciB1bnRlbgotICAgICBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPiBtYXJraWVydCBpc3QuCi0KLSAgMi4gTnVuIHRpcHBlIGRhcyAgJSAgWmVpY2hlbi4KLQotICAzLiBEZXIgQ3Vyc29yIGJld2VndCBzaWNoIHp1ciBwYXNzZW5kZW4gZ2VnZW7DvGJlcmxpZWdlbmRlbiBLbGFtbWVyLgotCi0gIDQuIFRpcHBlICAlICwgdW0gZGVuIEN1cnNvciB6dXIgYW5kZXJlbiBwYXNzZW5kZW4gS2xhbW1lciB6dSBiZXdlZ2VuLgotCi0gIDUuIFNldHplIGRlbiBDdXJzb3IgYXVmIGVpbiBhbmRlcmVzICgsKSxbLF0seyBvZGVyIH0gdW5kIHByb2JpZXJlICAlICBhdXMuCi0KLS0tLT4gRGllcyAoIGlzdCBlaW5lIFRlc3R6ZWlsZSAoIG1pdCBbIHZlcnNjaGllZGVuZW4gXSB7IEtsYW1tZXJuIH0gIGRhcmluLiApKQotCi1CZW1lcmt1bmc6IERpZXNlIEZ1bmt0aW9uYWxpdMOkdCBpc3Qgc2VociBuw7x0emxpY2ggYmVpIGRlciBGZWhsZXJzdWNoZSBpbiBlaW5lbQotICAgICBQcm9ncmFtbXRleHQsIGluIGRlbSBwYXNzZW5kZSBLbGFtbWVybiBmZWhsZW4hCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCUxla3Rpb24gNC40OiBEQVMgRVJTRVRaVU5HU0tPTU1BTkRPIChTVUJTVElUVVRFKQotCi0KLQkgKiogVGlwcGUgOnMvYWx0L25ldS9nICAsIHVtICdhbHQnIGR1cmNoICduZXUnIHp1IGVyc2V0emVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBUaXBwZSAgOnMvZGllZS9kaWUgPEVOVEVSPiAuICBCZW1lcmtlLCBkYXNzIGRlciBCZWZlaGwgbnVyIGRhcyBlcnN0ZQotICAgICBWb3Jrb21tZW4gdm9uICJkaWVlIiBlcnNldHp0LgotCi0gIDMuIE51biB0aXBwZSAgIDpzL2RpZWUvZGllL2cgLiBEYXMgWnVmw7xnZW4gZGVzIEZsYWdzICBnICAgYmVkZXV0ZXQsIGVpbmUKLSAgICAgZ2xvYmFsZSBFcnNldHp1bmcgw7xiZXIgZGllIFplaWxlIGR1cmNoenVmw7xocmVuLCB3YXMgYWxsZSBWb3Jrb21tZW4gdm9uCi0gICAgICJkaWVlIiBhdWYgZGVyIFplaWxlIGVyc2V0enQuCi0KLS0tLT4gZGllZSBzY2jDtm5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZyw7xobGluZ3N6ZWl0LgotCi0gIDQuIFVtIGFsbGUgVm9ya29tbWVuIGVpbmVyIFplaWNoZW5rZXR0ZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbiB6dSDDpG5kZXJuLAotICAgICB0aXBwZSAgOiMsI3MvYWx0L25ldS9nICAgd29iZWkgIywjIGRpZSBaZWlsZW5udW1tZXJuIGRlcyBaZWlsZW5iZXJlaWNoZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICBzaW5kLCBpbiBkZW0gZGllIEVyc2V0enVuZyBkdXJjaGdlZsO8aHJ0IHdlcmRlbiBzb2xsLgotICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUgw6RuZGVybi4KLSAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbgotICAgICAgICAgICAgICAgICAgICAgbWl0IGVpbmVtIEZyYWdlZGlhbG9nLCBvYiBlcnNldHp0IHdlcmRlbiBzb2xsIG9kZXIgbmljaHQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNAotCi0gIDEuIENUUkwtRyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLgotICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4KLSAgICAgTnVtbWVyICBHICBicmluZ3QgRGljaCB6dXIgZW50c3ByZWNoZW5kZW4gWmVpbGVubnVtbWVyLgotICAgICAgICAgICAgZ2cgIGJyaW5ndCBEaWNoIHp1ciBlcnN0ZW4gWmVpbGUuCi0KLSAgMi4gRGllIEVpbmdhYmUgdm9uICAvICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfDhFJUUyBuYWNoIGRlbSBBdXNkcnVjay4KLSAgICAgRGllIEVpbmdhYmUgdm9uICA/ICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFLDnENLV8OEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgotICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBuw6RjaHN0ZSBWb3Jrb21tZW4gaW4gZGVyIGdsZWljaGVuCi0gICAgIFJpY2h0dW5nIHp1IGZpbmRlbjsgb2RlciAgTiAgLCB1bSBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4uCi0gICAgIENUUkwtTyBicmluZ3QgRGljaCB6dXLDvGNrIHp1IMOkbHRlcmVuIFBvc2l0aW9uZW4sIENUUkwtSSB6dSBuZXVlcmVuLgotCi0gIDMuIERpZSBFaW5nYWJlIHZvbiAgJSAgLCB3ZW5uIGRlciBDdXJzb3Igc2ljaCBhdWYgKCwpLFssXSx7LCBvZGVyIH0KLSAgICAgYmVmaW5kZXQsIGJyaW5ndCBEaWNoIHp1ciBHZWdlbmtsYW1tZXIuCi0KLSAgNC4gVW0gZGFzIGVyc3RlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZWluZXIgWmVpbGUgZHVyY2ggIm5ldSIgenUgZXJzZXR6ZW4sCi0gICAgICAgICAgICAgdGlwcGUgICAgICAgOnMvYWx0L25ldQotICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nCi0gICAgIFVtIEF1c2Ryw7xja2UgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW5udW1tZXJuIHp1IGVyc2V0emVuLCAgOiMsI3MvYWx0L25ldS9nCi0gICAgIFVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnYW56ZW4gRGF0ZWkgenUgZXJzZXR6ZW4sIHRpcHBlICA6JXMvYWx0L25ldS9nCi0gICAgIEbDvHIgZWluZSBqZWRtYWxpZ2UgQmVzdMOkdGlndW5nLCBhZGRpZXJlICAnYycgIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJTGVrdGlvbiA1LjE6IEFVU0bDnEhSRU4gRUlORVMgRVhURVJORU4gS09NTUFORE9TCi0KLQotICAqKiBHaWIgIDohICwgZ2Vmb2xndCB2b24gZWluZW0gZXh0ZXJuZW4gS29tbWFuZG8gZWluLCB1bSBlcyBhdXN6dWbDvGhyZW4uICoqCi0KLSAgMS4gVGlwcGUgZGFzIHZlcnRyYXV0ZSBLb21tYW5kbyAgOiAgLCB1bSBkZW4gQ3Vyc29yIGF1ZiBkZW4gRnXDnyBkZXMgU2NoaXJtcwotICAgICB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kb3plaWxlbi1Lb21tYW5kbyBlaW56dWdlYmVuLgotCi0gIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzIGVybcO2Z2xpY2h0IERpciwgZWluIGJlbGllYmlnZXMsCi0gICAgIGV4dGVybmVzIFNoZWxsa29tbWFuZG8gYXVzenVmw7xocmVuLgotCi0gIDMuIEFscyBCZWlzcGllbCB0aXBwZSAgIGxzICAgbmFjaCBkZW0gICEgIHVuZCBkcsO8Y2tlIDxFTlRFUj4uIERpZXMgemVpZ3QKLSAgICAgZWluZSBBdWZsaXN0dW5nIERlaW5lcyBWZXJ6ZWljaG5pc3NlczsgZ2VuYXVzbywgYWxzIHdlbm4gRHUgYXVmIGRlcgotICAgICBFaW5nYWJlYXVmZm9yZGVydW5nIHfDpHJzdC4gIE9kZXIgdmVyd2VuZGUgIDohZGlyICAsIGZhbGxzIGxzIG5pY2h0IGdlaHQuCi0KLUJlbWVya3VuZzogIE1pdCBkaWVzZXIgTWV0aG9kZSBrYW5uIGplZGVzIGJlbGllYmlnZSBleHRlcm5lIEtvbW1hbmRvCi0gICAgIGF1c2dlZsO8aHJ0IHdlcmRlbiwgYXVjaCBtaXQgQXJndW1lbnRlbi4KLQotQmVtZXJrdW5nOiAgQWxsZSAgOiAgS29tbWFuZG9zIG3DvHNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPgotICAgICBhYmdlc2NobG9zc2VuIHdlcmRlbi4gVm9uIGpldHp0IGFuIGVyd8OkaG5lbiB3aXIgZGllcyBuaWNodCBqZWRlc21hbC4KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJTGVrdGlvbiA1LjI6IE1FSFIgw5xCRVIgREFTIFNDSFJFSUJFTiBWT04gREFURUlFTgotCi0KLSoqIFVtIGFtIFRleHQgZHVyY2hnZWbDvGhydGUgw4RuZGVydW5nZW4genUgc3BlaWNoZXJuLCB0aXBwZSA6dyBEQVRFSU5BTUUuICoqCi0KLSAgMS4gVGlwcGUgIDohZGlyICBvZGVyICA6IWxzICAsIHVtIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXMgenUKLSAgICAgZXJoYWx0ZW4uICBEdSB3ZWnDn3QgbnVuIGJlcmVpdHMsIGRhc3MgRHUgZGFuYWNoIDxFTlRFUj4gZWluZ2ViZW4gbXVzc3QuCi0KLSAgMi4gV8OkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBub2NoIG5pY2h0IGV4aXN0aWVydCwgei5CLiBURVNULgotCi0gIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V3w6RobHRlIERhdGVpbmFtZSBpc3QpLgotCi0gIDQuIERpZXMgc3BlaWNoZXJ0IGRpZSBnYW56ZSBEYXRlaSAoZGVuIFZpbSBUdXRvcikgdW50ZXIgZGVtIE5hbWVuIFRFU1QuCi0gICAgIFVtIGRpZXMgenUgw7xiZXJwcsO8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gRGVpbmVuCi0gICAgIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLgotCi1CZW1lcmt1bmc6IFfDvHJkZXN0IER1IFZpbSBqZXR6dCBiZWVuZGVuIHVuZCBkYW5hY2ggd2llZGVyIG1pdCB2aW0gVEVTVAotICAgIHN0YXJ0ZW4sIGRhbm4gd8OkcmUgZGllc2UgRGF0ZWkgZWluZSBleGFrdGUgS29waWUgZGVzIFR1dG9ycyB6dSBkZW0KLSAgICBaZWl0cHVua3QsIGFscyBEdSBpaG4gZ2VzcGVpY2hlcnQgaGFzdC4KLQotICA1LiBOdW4gZW50ZmVybmUgZGllIERhdGVpIGR1cmNoIEVpbmdhYmUgdm9uIChNUy1ET1MpOiAgICA6IWRlbCBURVNUCi0JCQkJb2RlciAoVW5peCk6CTohcm0gVEVTVAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSBMZWt0aW9uIDUuMzogQVVTV8OESExFTiBWT04gVEVYVCBaVU0gU0NIUkVJQkVOCi0KLSoqIFVtIGVpbmVuIEFic2Nobml0dCBkZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCAgdGlwcGUgIHYgIEJld2VndW5nICA6dyBEQVRFSSAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRpZXNlciBaZWlsZS4KLQotICAyLiBUaXBwZSAgdiAgdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBmw7xuZnRlbiBBdWZsaXN0dW5nc3B1bmt0IHVudGVuLgotICAgICBCZW1lcmtlLCBkYcOfIGRlciBUZXh0IGhlcnZvcmdlaG9iZW4gd2lyZC4KLQotICAzLiBEcsO8Y2tlIGRhcyBaZWljaGVuICA6IC4gQW0gRnXDnyBkZXMgU2NoaXJtcyBlcnNjaGVpbnQgIDonPCwnPiAuCi0KLSAgNC4gVGlwcGUgIHcgVEVTVCAgLCB3b2JlaSBURVNUIGVpbiBub2NoIG5pY2h0IHZvcmhhbmRlbmVyIERhdGVpbmFtZSBpc3QuCi0gICAgIFZlcmdld2lzc2VyZSBEaWNoLCBkYcOfIER1ICA6JzwsJz53IFRFU1QgIHNpZWhzdCwgYmV2b3IgRHUgRW50ZXIgZHLDvGNrc3QuCi0KLSAgNS4gVmltIHNjaHJlaWJ0IGRpZSBhdXNnZXfDpGhsdGVuIFplaWxlbiBpbiBkaWUgRGF0ZWkgVEVTVC4gQmVudXR6ZSAgOiFkaXIKLSAgICAgb2RlciAgOiFscyAsIHVtIHNpZSB6dSBzZWhlbi4gTMO2c2NoZSBzaWUgbm9jaCBuaWNodCEgV2lyIHdlcmRlbiBzaWUgaW4KLSAgICAgZGVyIG7DpGNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLgotCi1CZW1lcmt1bmc6IERyw7xja2VuIHZvbiAgdiAgc3RhcnRldCBkaWUgVmlzdWVsbGUgQXVzd2FobC4gRHUga2FubnN0IGRlbiBDdXJzb3IKLSAgIHVtaGVyYmV3ZWdlbiwgdW0gZGllIEF1c3dhaGwgZ3LDtsOfZXIgb2RlciBrbGVpbmVyIHp1IG1hY2hlbi4gQW5zY2hsaWXDn2VuZAotICAga2FubiBtYW4gZWluZW4gT3BlcmF0b3IgYW53ZW5kZW4sIHVtIG1pdCBkZW0gVGV4dCBldHdhcyB6dSB0dW4uIFp1bQotICAgQmVpc3BpZWwgbMO2c2NodCAgZCAgZGVuIFRleHQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkgICAgICBMZWt0aW9uIDUuNDogRUlOTEVTRU4gVU5EIFpVU0FNTUVORsOcSFJFTiBWT04gREFURUlFTgotCi0KLSAgICAgICAqKiBVbSBkZW4gSW5oYWx0IGVpbmVyIERhdGVpIGVpbnp1bGVzZW4sIHRpcHBlICA6ciBEQVRFSU5BTUUgICoqCi0KLSAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3Igw7xiZXJoYWxiIGRpZXNlciBaZWlsZS4KLQotQkVBQ0hURTogIE5hY2hkZW0gRHUgU2Nocml0dCAyIGF1c2dlZsO8aHJ0IGhhc3QsIHdpcnN0IER1IFRleHQgYXVzIExla3Rpb24gNS4zCi0gICAgICAgc2VoZW4uIERhbm4gYmV3ZWdlIERpY2ggd2llZGVyIEFCV8OEUlRTLCB1bSBkaWVzZSBMZWt0aW9uIHdpZWRlcnp1c2VoZW4uCi0KLSAgMi4gTnVuIGxpZXMgRGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNmw7xocnN0LAotICAgICB3b2JlaSBURVNUIGRlciB2b24gRGlyIHZlcndlbmRldGUgRGF0ZWluYW1lIGlzdC4KLSAgICAgRGllIGVpbmdlbGVzZW5lIERhdGVpIHdpcmQgdW50ZXJoYWxiIGRlciBDdXJzb3J6ZWlsZSBlaW5nZWbDvGd0LgotCi0gIDMuIFVtIHp1IMO8YmVycHLDvGZlbiwgZGFzcyBkaWUgRGF0ZWkgZWluZ2VsZXNlbiB3dXJkZSwgZ2VoZSB6dXLDvGNrIHVuZCBzaWVoZSwKLSAgICAgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCBkaWUKLSAgICAgZWluZ2Vmw7xndGUgRGF0ZWl2ZXJzaW9uLgotCi1CZW1lcmt1bmc6IER1IGthbm5zdCBhdWNoIGRpZSBBdXNnYWJlIGVpbmVzIGV4dGVybmVuIEtvbW1hbmRvcyBlaW5sZXNlbi4gWnVtCi0gICAgIEJlaXNwaWVsIGxpZXN0ICA6ciAhbHMgIGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgbHMgZWluIHVuZCBwbGF0emllcnQKLSAgICAgc2llIHVudGVyaGFsYiBkZXMgQ3Vyc29ycy4KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDUKLQotCi0gIDEuIDohS29tbWFuZG8gIGbDvGhydCBlaW4gZXh0ZXJuZXMgS29tbWFuZG8gYXVzLgotCi0gICAgICBFaW5pZ2UgbsO8dHpsaWNoZSBCZWlzcGllbGUgc2luZAotCShNUy1ET1MpCSAgKFVuaXgpCi0JIDohZGlyCQkgICA6IWxzCQkgICAtICB6ZWlndCBlaW5lIFZlcnplaWNobmlzYXVmbGlzdHVuZy4KLQkgOiFkZWwgREFURUlOQU1FICAgOiFybSBEQVRFSU5BTUUgIC0gIGVudGZlcm50IERhdGVpIERBVEVJTkFNRS4KLQotICAyLiA6dyBEQVRFSU5BTUUgIHNwZWljaGVydCBkaWUgYWt0dWVsbGUgVmltLURhdGVpIHVudGVyIGRlbSBOYW1lbiAgREFURUlOQU1FLgotCi0gIDMuIHYgIEJld2VndW5nICA6dyBEQVRFSU5BTUUgIHNjaHJlaWJ0IGRpZSBWaXN1ZWxsIGF1c2dld8OkaGx0ZW4gWmVpbGVuIGluCi0gICAgIGRpZSBEYXRlaSBEQVRFSU5BTUUuCi0KLSAgNC4gOnIgREFURUlOQU1FICBsw6RkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHVuZCBmw7xndCBzaWUgdW50ZXJoYWxiIGRlcgotICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCi0KLSAgNS4gOnIgIWRpciAgbGllc3QgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBkaXIgdW5kIGbDvGd0IHNpZSB1bnRlcmhhbGIgZGVyCi0gICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgIExla3Rpb24gNi4xOiBaRUlMRU4gw5ZGRk5FTiAoT1BFTikKLQotCi0gICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IMO2ZmZuZW4gdW5kIERpY2ggaW4gKioKLSAgICAgICAgICAgICAgICAgICAgICAqKiBkZW4gRWluZsO8Z2Vtb2R1cyB6dSBiZWdlYmVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBlcnN0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KLQotICAyLiBUaXBwZSBvIChrbGVpbiBnZXNjaHJpZWJlbiksIHVtIGVpbmUgWmVpbGUgVU5URVJIQUxCIGRlcyBDdXJzb3MgenUgw7ZmZm5lbgotICAgICB1bmQgRGljaCBpbiBkZW4gRWluZsO8Z2Vtb2R1cyB6dSBiZWdlYmVuLgotCi0gIDMuIE51biB0aXBwZSBldHdhcyBUZXh0IHVuZCBkcsO8Y2tlIDxFU0M+ICwgdW0gZGVuIEVpbmbDvGdlbW9kdXMgenUgdmVybGFzc2VuLgotCi0tLS0+IE1pdCAgbyAgd2lyZCBkZXIgQ3Vyc29yIGF1ZiBkZXIgb2ZmZW5lbiBaZWlsZSBpbSBFaW5mw7xnZW1vZHVzIHBsYXR6aWVydC4KLQotICA0LiBVbSBlaW5lIFplaWxlIMOcQkVSSEFMQiBkZXMgQ3Vyc29zIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jvw59lcyAgTwotICAgICBzdGF0dCBlaW5lbSBrbGVpbmVuICBvICBlaW4uIFZlcnN1Y2hlIGRpZXMgYXVmIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUuCi0KLS0tLT4gw5ZmZm5lIGVpbmUgWmVpbGUgw7xiZXIgZGllc2VyIG1pdCBPICwgd2VubiBkZXIgQ3Vyc29yIGF1ZiBkaWVzZXIgWmVpbGUgaXN0LgotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgICBMZWt0aW9uIDYuMjogVEVYVCBBTkbDnEdFTiAoQVBQRU5EKQotCi0KLQkgICAgICoqIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZsO8Z2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVyIGVyc3RlbiDDnGJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uCi0KLSAgMi4gRHLDvGNrZSAgZSAgLCBiaXMgZGVyIEN1cnNvciBhbSBFbmRlIHZvbiAgWmVpICBzdGVodC4KLQotICAzLiBUaXBwZSBlaW4ga2xlaW5lcyAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLgotCi0gIDQuIFZlcnZvbGxzdMOkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERyw7xja2UgPEVTQz4gLAotICAgICB1bSBkZW4gRWluZsO8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCi0KLSAgNS4gQmV3ZWdlIERpY2ggbWl0ICBlICB6dW0gbsOkY2hzdGVuIHVudm9sbHN0w6RuZGlnZW4gV29ydCB1bmQgd2llZGVyaG9sZQotICAgICBTY2hyaXR0ZSAzIHVuZCA0LgotCi0tLS0+IERpZXNlIFplaSBiaWV0ZXQgR2VsZWdlbiAsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWbDvC4KLS0tLT4gRGllc2UgWmVpbGUgYmlldGV0IEdlbGVnZW5oZWl0LCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVmw7xnZW4uCi0KLUJlbWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1hw59lbiBpbiBkZW4gRWluZsO8Z2Vtb2R1czsgZGVyCi0gICAgICAgICAgICBlaW56aWdlIFVudGVyc2NoaWVkIGlzdCwgd28gZGllIFplaWNoZW4gZWluZ2Vmw7xndCB3ZXJkZW4uCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkgICAgICBMZWt0aW9uIDYuMzogRUlORSBBTkRFUkUgQVJUIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCi0KLQotICAgICAgICoqIFRpcHBlIGVpbiBncm/Dn2VzICBSICAsIHVtIG1laHIgYWxzIGVpbiBaZWljaGVuIHp1IGVyc2V0emVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotICAgICBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlcyBlcnN0ZW4gIHh4eCAuCi0KLSAgMi4gTnVuIGRyw7xja2UgIFIgIHVuZCB0aXBwZSBkaWUgTnVtbWVyLCBkaWUgZGFydW50ZXIgaW4gZGVyIHp3ZWl0ZW4gWmVpbGUKLSAgICAgc3RlaHQsIHNvIGRhcyBkaWVzZSBkYXMgeHh4IGVyc2V0enQuCi0KLSAgMy4gRHLDvGNrZSA8RVNDPiAsIHVtIGRlbiBFcnNldHp1bmdzbW9kdXMgenUgdmVybGFzc2VuLiBCZW1lcmtlLCBkYcOfIGRlciBSZXN0Ci0gICAgIGRlciBaZWlsZSB1bnZlcsOkbmRlcnQgYmxlaWJ0LgotCi0gIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlLCB1bSBkYXMgdmVyYmxpZWJlbmUgeHh4IHp1IGVyc2V0emVuLgotCi0tLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IHh4eCBlcmdpYnQgeHh4LgotLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSA0NTYgZXJnaWJ0IDU3OS4KLQotQmVtZXJrdW5nOiBEZXIgRXJzZXR6dW5nc21vZHVzIGlzdCB3aWUgZGVyIEVpbmbDvGdlbW9kdXMsIGFiZXIgamVkZXMgZWluZ2V0aXBwdGUKLSAgICAgICAgICAgWmVpY2hlbiBsw7ZzY2h0IGVpbiB2b3JoYW5kZW5lcyBaZWljaGVuLgotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgIExla3Rpb24gNi40OiBURVhUIEtPUElFUkVOIFVORCBFSU5Gw5xHRU4KLQotICoqIEJlbnV0emUgZGVuICB5ICBPcGVyYXRvciwgdW0gVGV4dCB6dSBrb3BpZXJlbjsgIHAgICwgdW0gaWhuIGVpbnp1ZsO8Z2VuICoqCi0KLSAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbiwgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4KLQotICAyLiBTdGFydGUgZGVuIFZpc3VlbGxlbiBNb2R1cyBtaXQgIHYgICwgYmV3ZWdlIGRlbiBDdXJzb3IgZ2VuYXUgdm9yICJlcnN0ZSIuCi0KLSAgMy4gVGlwcGUgIHkgICwgdW0gZGVuIGhlcnZvcmdlaG9iZW4gVGV4dCB6dSBrb3BpZXJlbi4KLQotICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbsOkY2hzdGVuIFplaWxlOiAgaiQKLQotICA1LiBUaXBwZSAgcCAsIHVtIGRlbiBUZXh0IGVpbnp1ZsO8Z2VuIHVuZCBhbnNjaGxpZcOfZW5kOiAgYSB6d2VpdGUgPEVTQz4gLgotCi0gIDYuIEJlbnV0emUgZGVuIFZpc3VlbGxlbiBNb2R1cywgdW0gIiBFaW50cmFnLiIgYXVzenV3w6RobGVuLCBrb3BpZXJlIG1pdHRlbHMKLSAgICAgeSAsIGJld2VnZSBEaWNoIHp1bSBFbmRlIGRlciBuw6RjaHN0ZW4gWmVpbGUgbWl0ICBqJCAgdW5kIGbDvGdlIGRlbiBUZXh0Ci0gICAgIGRvcnQgbWl0ICBwICBhbi4KLQotLS0tPiAgYSkgZGllcyBpc3QgZGVyIGVyc3RlIEVpbnRyYWcuCi0gICAgICBiKQotCi1CZW1lcmt1bmc6IER1IGthbm5zdCAgeSAgYXVjaCBhbHMgT3BlcmF0b3IgdmVyd2VuZGVuOyAgeXcgIGtvcGllcnQgZWluIFdvcnQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgTGVrdGlvbiA2LjU6IE9QVElPTkVOIFNFVFpFTgotCi0gICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgZWluZSBFcnNldHp1bmcgR3Jvw58tICoqCi0JCSAgICAgICoqIHVuZCBLbGVpbnNjaHJlaWJ1bmcgaWdub3JpZXJ0ICoqCi0KLSAgMS4gU3VjaGUgbmFjaCAnaWdub3JpZXJlJywgaW5kZW0gRHUgICAgL2lnbm9yaWVyZSAgIGVpbmdpYnN0LgotICAgICBXaWVkZXJob2xlIGRpZSBTdWNoZSBlaW5pZ2UgTWFsZSwgaW5kZW0gRHUgZGllIG4gLSBUYXN0ZSBkcsO8Y2tzdC4KLQotICAyLiBTZXR6ZSBkaWUgJ2ljJyAoSWdub3JlIGNhc2UpIC0gT3B0aW9uLCBpbmRlbSBEdSAgIDpzZXQgaWMgICBlaW5naWJzdC4KLQotICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICBuICB0aXBwc3QuCi0gICAgIEJlbWVya2UsIGRhw58gamV0enQgSWdub3JpZXJlIHVuZCBhdWNoIElHTk9SSUVSRSBnZWZ1bmRlbiB3aXJkLgotCi0gIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMKLQotICA1LiBXaWVkZXJob2xlIGRpZSBTdWNoZSB1bmQgYmVvYmFjaHRlLCB3YXMgcGFzc2llcnQ6IC9pZ25vcmllcmUgPEVOVEVSPgotCi0gIDYuIFVtIGRhcyBJZ25vcmllcmVuIHZvbiBHcm/Dny9LbGVpbnNjaHJlaWJ1bmcgYWJ6dXNjaGFsdGVuLCB0aXBwZTogIDpzZXQgbm9pYwotCi1CZW1lcmt1bmc6IFVtIGRpZSBIZXJ2b3JoZWJ1bmcgZGVyIFRyZWZmZXIgenUgZW5mZXJuZW4sIGdpYiBlaW46ICA6bm9obHNlYXJjaAotQmVtZXJrdW5nOiBVbSBkaWUgU2NocmVpYndlaXNlIGbDvHIgZWluZSBlaW56aWdlIFN1Y2hlIHp1IGlnbm9yaWVyZW4sIGJlbnV0emUKLSAgICAgICAgICAgXGMgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNgotCi0gMS4gVGlwcGUgIG8gICwgdW0gZWluZSBaZWlsZSBVTlRFUiBkZW0gQ3Vyc29yIHp1IMO2ZmZuZW4gdW5kIGRlbiBFaW5mw7xnZW1vZHVzCi0gICAgICAgICAgICAgICAgenUgc3RhcnRlbi4KLSAgICBUaXBwZSAgTyAgLCB1bSBlaW5lIFplaWxlIMOcQkVSIGRlbSBDdXJzb3IgenUgw7ZmZm5lbi4KLQotIDIuIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVmw7xnZW4uCi0gICAgVGlwcGUgIEEgICwgdW0gVGV4dCBuYWNoIGRlbSBaZWlsZW5lbmRlIGFuenVmw7xnZW4uCi0KLSAzLiBEYXMgS29tbWFuZG8gIGUgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGVpbmVzIFdvcnRlcy4KLQotIDQuIERlciBPcGVyYXRvciAgeSAgKHlhbmspIGtvcGllcnQgVGV4dCwgIHAgIChwdXQpIGbDvGd0IGlobiBlaW4uCi0KLSA1LiBFaW4gZ3Jvw59lcyAgUiAgZ2VodCBpbiBkZW4gRXJzZXR6dW5nc21vZHVzIGJpcyB6dW0gRHLDvGNrZW4gdm9uICA8RVNDPiAuCi0KLSA2LiBEaWUgRWluZ2FiZSB2b24gIjpzZXQgeHh4IiBzZXR6dCBkaWUgT3B0aW9uICJ4eHgiLiBFaW5pZ2UgT3B0aW9uZW4gc2luZDoKLQknaWMnICdpZ25vcmVjYXNlJyAgICBJZ25vcmllcmUgR3Jvw58vS2xlaW5zY2hyZWlidW5nIGJlaSBlaW5lciBTdWNoZQotCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWzDvGJlcmVpbnN0aW1tdW5nZW4gZsO8ciBlaW5lbiBTdWNoYXVzZHJ1Y2sKLQknaGxzJyAnaGxzZWFyY2gnICAgICBIZWJlIGFsbGUgcGFzc2VuZGVuIEF1c2Ryw7xja2UgaGVydm9yCi0gICAgRGVyIE9wdGlvbnNuYW1lIGthbm4gaW4gZGVyIEt1cnotIG9kZXIgZGVyIExhbmdmb3JtIGFuZ2VnZWJlbiB3ZXJkZW4uCi0KLSA3LiBTdGVsbGUgZWluZXIgT3B0aW9uICJubyIgdm9yYW4sIHVtIHNpZSBhYnp1c2NoYWx0ZW46ICAgOnNldCBub2ljCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFCi0KLQotCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqCi0KLSAgVmltIGJlc2l0enQgZWluIHVtZmFzc2VuZGVzIGVpbmdlYmF1dGVzIEhpbGZlc3lzdGVtLiAgRsO8ciBkZW4gQW5mYW5nIHByb2JpZXJlCi0gIGVpbnMgZGVyIGRyZWkgZm9sZ2VuZGVuIERpbmdlIGF1czoKLQktIERyw7xja2UgZGllIDxIaWxmZT4gLSBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQotCS0gRHLDvGNrZSBkaWUgPEYxPiBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQotCS0gVGlwcGUgICA6aGVscCA8RU5URVI+Ci0KLSAgTGllcyBkZW4gVGV4dCBpbSBIaWxmZWZlbnN0ZXIsIHVtIHp1IHZlcnN0ZWhlbiB3aWUgZGllIEhpbGZlIGZ1bmt0aW9uaWVydC4KLSAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLgotICBUaXBwZSAgIDpxIDxFTlRFUj4gICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXDn2VuLgotCi0gIER1IGthbm5zdCBIaWxmZSB6dSBwcmFrdGlzY2ggamVkZW0gVGhlbWEgZmluZGVuLCBpbmRlbSBEdSBkZW0gIjpoZWxwIi0KLSAgS29tbWFuZG8gZWluIEFyZ3VtZW50IGdpYnN0LiAgUHJvYmllcmUgZm9sZ2VuZGVzICg8RU5URVI+IG5pY2h0IHZlcmdlc3Nlbik6Ci0KLQk6aGVscCB3Ci0JOmhlbHAgY19DVFJMLUQKLQk6aGVscCBpbnNlcnQtaW5kZXgKLQk6aGVscCB1c2VyLW1hbnVhbAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiA3LjI6IEVSU1RFTExFIEVJTiBTVEFSVC1TS1JJUFQKLQotCi0JICAgKiogIEFrdGl2aWVyZSBkaWUgZWluZ2ViYXV0ZW4gRnVua3Rpb25hbGl0w6R0ZW4gdm9uIFZpbSAqKgotCi0gIFZpbSBiZXNpdHp0IHZpZWxlIEZ1bmt0aW9uYWxpdMOkdGVuLCBkaWUgw7xiZXIgVmkgaGluYXVzZ2VoZW4sIGFiZXIgZGllIG1laXN0ZW4KLSAgdm9uIGlobmVuIHNpbmQgc3RhbmRhcmRtw6TDn2lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdMOkdGVuIHp1IG51dHplbiwKLSAgbXVzc3QgRHUgZWluZSAidmltcmMiIC0gRGF0ZWkgZXJzdGVsbGVuLgotCi0gIDEuIFN0YXJ0ZSBkYXMgRWRpdGllcmVuIGRlciAidmltcmMiLURhdGVpLCBhYmjDpG5naWcgdm9uIERlaW5lbSBTeXN0ZW06Ci0JOmUgfi8udmltcmMJCWbDvHIgVW5peAotCTplICRWSU0vX3ZpbXJjCQlmw7xyIE1TLVdpbmRvd3MKLQotICAyLiBOdW4gbGllcyBkZW4gSW5oYWx0IGRlciBCZWlzcGllbC0idmltcmMiLURhdGVpIGVpbjoKLQk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQotCi0gIDMuIFNwZWljaGVyZSBkaWUgRGF0ZWkgbWl0OgotCTp3Ci0KLSAgQmVpbSBuw6RjaHN0ZW4gU3RhcnQgdm9uIFZpbSB3aXJkIGRpZSBTeW50YXhoZXJ2b3JoZWJ1bmcgYWt0aXZpZXJ0IHNlaW4uCi0gIER1IGthbm5zdCBhbGwgRGVpbmUgYmV2b3J6dWd0ZW4gT3B0aW9uZW4genUgZGllc2VyICJ2aW1yYyItRGF0ZWkgenVmw7xnZW4uCi0gIEbDvHIgbWVociBJbmZvcm1hdGlvbmVuIHRpcHBlICA6aGVscCB2aW1yYy1pbnRybwotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgTGVrdGlvbiA3LjM6IFZFUlZPTExTVMOETkRJR0VOCi0KLQotCSAgICoqIEtvbW1hbmRvemVpbGVudmVydm9sbHN0w6RuZGlndW5nIG1pdCBDVFJMLUQgYW5kIDxUQUI+ICoqCi0KLSAgMS4gU3RlbGxlIHNpY2hlciwgZGHDnyBWaW0gbmljaHQgaW0gdmktS29tcGF0aWJpbGl0w6R0c21vZHVzIGlzdDogIDpzZXQgbm9jcAotCi0gIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyCi0KLSAgMy4gVGlwcGUgZGVuIEJlZ2lubiBlaW5lcyBLb21hbmRvczogIDplCi0KLSAgNC4gRHLDvGNrZSAgQ1RSTC1EICB1bmQgVmltIHplaWd0IGVpbmUgTGlzdGUgbWl0ICJlIiBiZWdpbm5lbmRlciBLb21tYW5kb3MuCi0KLSAgNS4gRHLDvGNrZSAgPFRBQj4gIHVuZCBWaW0gdmVydm9sbHN0w6RuZGlndCBkZW4gS29tbWFuZG9uYW1lbiB6dSAiOmVkaXQiLgotCi0gIDYuIE51biBmw7xnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBCZWdpbm4gZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoKLSAgICAgOmVkaXQgREFUCi0KLSAgNy4gRHLDvGNrZSA8VEFCPi4gVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIE5hbWVuIChmYWxscyBlciBlaW5kZXV0aWcgaXN0KS4KLQotQmVtZXJrdW5nOiBWZXJ2b2xsc3TDpG5kaWd1bmcgZnVua3Rpb25pZXJ0IGbDvHIgdmllbGUgS29tbWFuZG9zLiBWZXJzdWNoZQotICAgICBlaW5mYWNoIENUUkwtRCB1bmQgPFRBQj4uICBEaWVzIGlzdCBpbnNiZXNvbmRlcmUgbsO8dHpsaWNoIGbDvHIgIDpoZWxwIC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3Ci0KLQotICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHLDvGNrZSA8RjE+IG9kZXIgPEhlbHA+LCB1bSBlaW4gSGlsZmVmZW5zdGVyIHp1IMO2ZmZuZW4uCi0KLSAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIMO8YmVyICBLb21tYW5kbyAgenUgZXJoYWx0ZW4uCi0KLSAgMy4gVGlwcGUgIENUUkwtVyBDVFJMLVcgICwgdW0genVtIGFuZGVyZW4gRmVuc3RlciB6dSBzcHJpbmdlbi4KLQotICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXDn2VuLgotCi0gIDUuIEVyc3RlbGxlIGVpbiB2aW1yYyAtIFN0YXJ0c2tyaXB0IHp1ciBTaWNoZXJ1bmcgYmV2b3J6dWd0ZXIgRWluc3RlbGx1bmdlbi4KLQotICA2LiBEcsO8Y2tlIENUUkwtRCBuYWNoIGRlbSBUaXBwZW4gZWluZXMgS29tbWFuZG9zICA6ICAsIHVtIG3DtmdsaWNoZQotICAgICBWZXJ2b2xsc3TDpG5kaWd1bmdlbiB6dSBzZWhlbi4KLSAgICAgRHLDvGNrZSA8VEFCPiBmw7xyIGVpbmUgZWluemlnZSBWZXJ2b2xsc3TDpG5kaWd1bmcuCi0KLQotCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQotICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgRGllIEludGVudGlvbiB3YXIsIGVpbmVuIGt1cnplbiB1bmQKLSAgYsO8bmRpZ2VuIMOcYmVyYmxpY2sgw7xiZXIgZGVuIFZpbSBFZGl0b3IgenUgbGllZmVybjsgZ2VyYWRlIGdlbnVnLCB1bSByZWxhdGl2Ci0gIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga8O2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuCi0gIEFuc3BydWNoIGF1ZiBWb2xsc3TDpG5kaWdrZWl0OyBWaW0gaGF0IG5vY2ggd2VpdGF1cyBtZWhyIEtvbW1hbmRvcy4gTGllcyBhbHMKLSAgbsOkY2hzdGVzIGRhcyBVc2VyIE1hbnVhbDogIjpoZWxwIHVzZXItbWFudWFsIi4KLQotICBGw7xyIHdlaXRlcmVzIExlc2VuIHVuZCBMZXJuZW4gaXN0IGZvbGdlbmRlcyBCdWNoIGVtcGZvaGxlbiA6Ci0JVmltIC0gVmkgSW1wcm92ZWQgLSB2b24gU3RldmUgT3VhbGxpbmUKLQlWZXJsYWc6IE5ldyBSaWRlcnMKLSAgRGFzIGVyc3RlIEJ1Y2gsIHdlbGNoZXMgZHVyY2hnw6RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbsO8dHpsaWNoCi0gIGbDvHIgQW5mw6RuZ2VyLiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uCi0gIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCi0KLSAgRm9sZ2VuZGVzIEJ1Y2ggaXN0IMOkbHRlciB1bmQgbWVociDDvGJlciBWaSBhbHMgVmltLCBhYmVyIGF1Y2ggZW1wZmVobGVuc3dlcnQ6Ci0JVGV4dGJlYXJiZWl0dW5nIG1pdCBkZW0gdmktRWRpdG9yICAtICB2b24gTGluZGEgTGFtYiB1bmQgQXJub2xkIFJvYmJpbnMKLQlWZXJsYWcgTydSZWlsbHkgLSBJU0JOOiAzODk3MjExMjYyCi0gIEluIGRpZXNlbSBCdWNoIGthbm4gbWFuIGZhc3QgYWxsZXMgZmluZGVuLCB3YXMgbWFuIG1pdCBWaSB0dW4gbcO2Y2h0ZS4KLSAgRGllIHNlY2hzdGUgQXVzZ2FiZSBlbnRow6RsdCBhdWNoIEluZm9ybWF0aW9uZW4gw7xiZXIgVmltLgotCi0gIEFscyBha3R1ZWxsZSBSZWZlcmVueiBmw7xyIFZlcnNpb24gNi4yIHVuZCBrbmFwcGUgRWluZsO8aHJ1bmcgZGllbnQgZGFzCi0gIGZvbGdlbmRlIEJ1Y2g6Ci0JdmltIGdlLXBhY2t0IHZvbiBSZWluaGFyZCBXb2JzdAotCW1pdHAtVmVybGFnLCBJU0JOIDMtODI2Ni0xNDI1LTkKLSAgVHJvdHogZGVyIGtvbXBha3RlbiBEYXJzdGVsbHVuZyBpc3QgZXMgZHVyY2ggdmllbGUgbsO8dHpsaWNoZSBCZWlzcGllbGUgYXVjaAotICBmw7xyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZAotICBvbmxpbmUgZXJow6RsdGxpY2guICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAotCi0gIERpZXNlcyBUdXRvcmlhbCB3dXJkZSBnZXNjaHJpZWJlbiB2b24gTWljaGFlbCBDLiBQaWVyY2UgYW5kIFJvYmVydCBLLiBXYXJlLAotICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMuIEVzIGJlbnV0enQgSWRlZW4sIGRpZSBDaGFybGVzIFNtaXRoLCBDb2xvcmFkbyBTdGF0ZQotICBVbml2ZXJzaXR5LCB6dXIgVmVyZsO8Z3VuZyBzdGVsbHRlLiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCi0KLSAgQmVhcmJlaXRldCBmw7xyIFZpbSB2b24gQnJhbSBNb29sZW5hYXIuCi0gIERldXRzY2hlIMOcYmVyc2V0enVuZyB2b24gSm9hY2hpbSBIb2ZtYW5uIDIwMDcuICBFLW1haWw6IEpvYWNoaW0uSG9mQGdteC5kZQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCis9ICAgICAgVyBpIGwgbCBrIG8gbSBtIGUgbiAgIGltICAgViBJIE0gICBUIHUgdCBvIHIgICAgLSAgICBWZXJzaW9uIDEuNy5kZS4xICA9DQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KKyAgIFZpbSBpc3QgZWluIHNlaHIgbcOkY2h0aWdlciBFZGl0b3IsIGRlciB2aWVsZSBCZWZlaGxlIGJlcmVpdHN0ZWxsdDsgenUgdmllbGUsDQorICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zDpHJlbi4gIERpZXNlciBUdXRvciBpc3Qgc28NCisgICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBkYXNzIER1IGRpZSBGw6RoaWdrZWl0IGVybGFuZ3N0LA0KKyAgIFZpbSBtaXQgTGVpY2h0aWdrZWl0IGFscyBlaW5lbiBBbGx6d2Vjay1FZGl0b3IgenUgdmVyd2VuZGVuLg0KKyAgIERpZSBaZWl0IGbDvHIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRyw6RndCBjYS4gMjUtMzAgTWludXRlbiwNCisgICBhYmjDpG5naWcgZGF2b24sIHdpZSB2aWVsIFplaXQgRHUgbWl0IEV4cGVyaW1lbnRpZXJlbiB2ZXJicmluZ3N0Lg0KKw0KKyAgIEFDSFRVTkc6DQorICAgRGllIGluIGRlbiBMZWt0aW9uZW4gYW5nZXdlbmRldGVuIEtvbW1hbmRvcyB3ZXJkZW4gZGVuIFRleHQgbW9kaWZpemllcmVuLg0KKyAgIEVyc3RlbGxlIGVpbmUgS29waWUgZGllc2VyIERhdGVpLCBpbiBkZXIgRHUgw7xiZW4gd2lsbHN0IChmYWxscyBEdSAidmltdHV0b3IiDQorICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLg0KKw0KKyAgIEVzIGlzdCB3aWNodGlnLCBzaWNoIHp1IHZlcmdlZ2Vud8OkcnRpZ2VuLCBkYXNzIGRpZXNlciBUdXRvciBmw7xyIGRhcyBBbndlbmRlbg0KKyAgIGtvbnppcGllcnQgaXN0LiBEYXMgYmVkZXV0ZXQsIGRhc3MgRHUgZGllIEJlZmVobGUgYW53ZW5kZW4gbXVzc3QsIHVtIHNpZQ0KKyAgIHJpY2h0aWcgenUgbGVybmVuLiBXZW5uIER1IG51ciBkZW4gVGV4dCBsaWVzdCwgdmVyZ2lzc3QgRHUgZGllIEJlZmVobGUhDQorDQorICAgSmV0enQgc3RlbGxlIHNpY2hlciwgZGFzcyBkZWluZSBVbXN0ZWxsdGFzdGUgTklDSFQgZ2VkcsO8Y2t0IGlzdCB1bmQgYmV0w6R0aWdlDQorICAgZGllICAgaiAgIFRhc3RlIGdlbsO8Z2VuZCBNYWwsIHVtIGRlbiBDdXJzb3IgbmFjaCB1bnRlbiB6dSBiZXdlZ2VuLCBzbyBkYXNzDQorICAgTGVrdGlvbiAxLjEgZGVuIEJpbGRzY2hpcm0gdm9sbGtvbW1lbiBhdXNmw7xsbHQuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJTGVrdGlvbiAxLjE6IEJFV0VHRU4gREVTIENVUlNPUlMNCisNCisgICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHLDvGNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqDQorCSAgICAgXgkJIEhpbGZlc3RlbGx1bmc6DQorCSAgICAgawkJIERpZSBoIFRhc3RlIGJlZmluZGV0IHNpY2ggbGlua3MgdW5kIGJld2VndCBuYWNoIGxpbmtzLg0KKyAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuDQorCSAgICAgagkJIERpZSBqIFRhc3RlIMOkaG5lbHQgZWluZW0gUGZlaWwgbmFjaCB1bnRlbi4NCisJICAgICB2DQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gdW1oZXIsIGJpcyBEdSBEaWNoIHNpY2hlciBmw7xobHN0Lg0KKw0KKyAgMi4gSGFsdGUgZGllIE5hY2gtVW50ZW4tVGFzdGUgKGopIGdlZHLDvGNrdCwgYmlzIHNpZSBzaWNoIHdpZWRlcmhvbHQuDQorICAgICBKZXR6dCB3ZWnDn3QgRHUsIHdpZSBEdSBEaWNoIHp1ciBuw6RjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4NCisNCisgIDMuIEJlbnV0emUgZGllIE5hY2gtVW50ZW4tVGFzdGUsIHVtIERpY2ggenUgTGVrdGlvbiAxLjIgenUgYmV3ZWdlbi4NCisNCitBbm1lcmt1bmc6IEltbWVyLCB3ZW5uIER1IERpciB1bnNpY2hlciBiaXN0IMO8YmVyIGRhcywgd2FzIER1IGdldGlwcHQgaGFzdCwNCisJICAgZHLDvGNrZSA8RVNDPiAsIHVtIERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIHp1IGJlZ2ViZW4uDQorCSAgIERhbm4gZ2liIGRhcyBnZXfDvG5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uDQorDQorQW5tZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1DQorCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyDQorCSAgIHVtaGVyenViZXdlZ2VuLCB3ZW5uIER1IERpY2ggZWlubWFsIGRhcmFuIGdld8O2aG50IGhhc3QuIFdpcmtsaWNoIQ0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4NCisNCisNCisgICEhIEhpbndlaXM6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWbDvGhydGVuIFNjaHJpdHRlIGF1c2bDvGhyc3QsIGxpZXMNCisgICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhDQorDQorICAxLiBEcsO8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLg0KKw0KKyAgMi4gVGlwcGU6CTpxISA8RU5URVI+Lg0KKyAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgw4RuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuDQorDQorICAzLiBXZW5uIER1IGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIHNpZWhzdCwgZ2liIGRhcyBLb21tYW5kbyBlaW4sIGRhcyBEaWNoIHp1DQorICAgICBkaWVzZW0gVHV0b3IgZ2Vmw7xocnQgaGF0LiBEaWVzIHfDpHJlOgl2aW10dXRvciA8RU5URVI+DQorDQorICA0LiBXZW5uIER1IERpciBkaWVzZSBTY2hyaXR0ZSBlaW5nZXByw6RndCBoYXN0IHVuZCBEdSBEaWNoIHNpY2hlciBmw7xobHN0LA0KKyAgICAgZsO8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyDQorICAgICBoaW5laW56dWdlbGFuZ2VuLg0KKw0KK0FubWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMOEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LiBFaW5pZ2UNCisgICAgIExla3Rpb25lbiBzcMOkdGVyIGxlcm5zdCBEdSwgZGllIMOEbmRlcnVuZ2VuIGluIGVpbmVyIERhdGVpIHp1IHNwZWljaGVybi4NCisNCisgIDUuIEJld2VnZSBkZW4gQ3Vyc29yIGFid8OkcnRzIHp1IExla3Rpb24gMS4zLg0KKyB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAxLjM6IFRFWFQgRURJVElFUkVOIC0gTMOWU0NIRU4NCisNCisNCisJICoqIERyw7xja2UgIHggICwgdW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBsw7ZzY2hlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLg0KKw0KKyAgMi4gVW0gZGllIEZlaGxlciB6dSBiZWhlYmVuLCBiZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIMO8YmVyIGRlbSBaZWljaGVuIHN0ZWh0LA0KKyAgICAgZGFzIGdlbMO2c2NodCB3ZXJkZW4gc29sbC4NCisNCisgIDMuIERyw7xja2UgZGllICB4ICBUYXN0ZSwgdW0gZGFzIHVuZXJ3w7xuc2NodGUgWmVpY2hlbiB6dSBsw7ZzY2hlbi4NCisNCisgIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdC4NCisNCistLS0+IERpZSBLa3VoIHNwcmFuZ2cgw7xiYmVyciBkZWVuIE1vb25kLg0KKw0KKyAgNS4gTnVuLCBkYSBkaWUgWmVpbGUga29ycmVrdCBpc3QsIGdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDEuNC4NCisNCitBbm1lcmt1bmc6IFfDpGhyZW5kIER1IGR1cmNoIGRpZXNlbiBUdXRvciBnZWhzdCwgdmVyc3VjaGUgbmljaHQsIGF1c3dlbmRpZyB6dQ0KKyAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLg0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBFRElUSUVSRU4gLSBFSU5Gw5xHRU4NCisNCisNCisJCSAgICAqKiAgRHLDvGNrZSAgaSAgLCB1bSBUZXh0IGVpbnp1ZsO8Z2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIFVtIGRpZSBlcnN0ZSBaZWlsZSBtaXQgZGVyIHp3ZWl0ZW4gZ2xlaWNoenVtYWNoZW4sIGJld2VnZSBkZW4gQ3Vyc29yIGF1Zg0KKyAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCBhbiBkZXIgVGV4dCBlaW5nZWbDvGd0IHdlcmRlbiBzb2xsLg0KKw0KKyAgMy4gRHLDvGNrZSAgaSAgdW5kIGdpYiBkaWUgbsO2dGlnZW4gRXJnw6RuenVuZ2VuIGVpbi4NCisNCisgIDQuIFdlbm4gamV3ZWlscyBlaW4gRmVobGVyIGJlc2VpdGlndCBpc3QsIGRyw7xja2UgPEVTQz4gLCB1bSB6dW0gTm9ybWFsbW9kdXMNCisgICAgIHp1csO8Y2t6dWtlaHJlbi4NCisJCSBXaWVkZXJob2xlIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLg0KKw0KKy0tLT4gSW4gZGllc2VyIGZ0IGV0d2FzIC4NCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0Lg0KKw0KKyAgNS4gV2VubiBEdSBEaWNoIG1pdCBkZW0gRWluZsO8Z2VuIHZvbiBUZXh0IHNpY2hlciBmw7xobHN0LCBnZWhlIHp1IExla3Rpb24gMS41Lg0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDEuNTogVEVYVCBFRElUSUVSRU4gLSBBTkbDnEdFTg0KKw0KKw0KKwkJICAgICAqKiBEcsO8Y2tlICBBICAsIHVtIFRleHQgYW56dWbDvGdlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorICAgICBEYWJlaSBpc3QgZ2xlaWNoZ8O8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4NCisNCisgIDIuIERyw7xja2UgIEEgIHVuZCBnaWIgZGllIGVyZm9yZGVybGljaGVuIEVyZ8Okbnp1bmdlbiBlaW4uDQorDQorICAzLiBXZW5uIGRhcyBBbmbDvGdlbiBhYmdlc2NobG9zc2VuIGlzdCwgZHLDvGNrZSA8RVNDPiwgdW0gaW4gZGVuIE5vcm1hbG1vZHVzDQorICAgICB6dXLDvGNrenVrZWhyZW4uDQorDQorICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVuZCB3aWVkZXJob2xlDQorICAgICBkaWUgU2Nocml0dGUgMiB1bmQgMywgdW0gZGVuIFNhdHogenUgYXVzenViZXNzZXJuLg0KKw0KKy0tLT4gSW4gZGllc2VyIFplaWxlIGZlaA0KKyAgICAgSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuDQorLS0tPiBBdWNoIGhpZXIgc3RlaA0KKyAgICAgQXVjaCBoaWVyIHN0ZWh0IGV0d2FzIFVudm9sbHN0w6RuZGlnZXMuDQorDQorICA1LiBXZW5uIER1IGRpY2ggbWl0IGRlbSBBbmbDvGdlbiB2b24gVGV4dCBzaWNoZXIgZsO8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNi4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgICBMZWt0aW9uIDEuNjogRUlORSBEQVRFSSBFRElUSUVSRU4NCisNCisJCSAqKiBCZW51dHplICA6d3EgICwgdW0gZWluZSBEYXRlaSB6dSBzcGVpY2hlcm4gdW5kIFZpbSB6dSB2ZXJsYXNzZW4uICoqDQorDQorICAhISBIaW53ZWlzOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vmw7xocnRlbiBTY2hyaXR0ZSBhdXNmw7xocnN0LCBsaWVzDQorICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQ0KKw0KKyAgMS4gVmVybGFzc2UgZGVuIEVkaXRvciBzbyB3aWUgaW4gTGVrdGlvbiAxLjI6ICA6cSEgICAgICAgDQorCSAgIE9kZXIsIGZhbGxzIGR1IFp1Z3JpZmYgenUgZWluZW0gYW5kZXJlbiBUZXJtaW5hbCBoYXN0LCBmw7xocmUgZGFzIA0KKwkJIEZvbGdlbmRlIGRvcnQgYXVzLg0KKw0KKyAgMi4gR2liIGRpZXNlcyBLb21tYW5kbyBpbiBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBlaW46ICB2aW0gdHV0b3IgPEVOVEVSPg0KKyAgICAgJ3ZpbScgaXN0IGRlciBBdWZydWYgZGVzIEVkaXRvcnMsICd0dXRvcicgaXN0IGRpZSB6dSBlZGl0aWVyZW5kZSBEYXRlaS4NCisgICAgIEJlbnV0emUgZWluZSBEYXRlaSwgZGllIGdlw6RuZGVydCB3ZXJkZW4gZGFyZi4NCisNCisgIDMuIEbDvGdlIFRleHQgZWluIG9kZXIgbMO2c2NoZSBpaG4sIHdpZSBEdSBpbiBkZW4gdm9yYW5nZWhlbmRlbiBMZWt0aW9uZW4gDQorICAgICBnZWxlcm50IGhhc3QuDQorDQorICA0LiBTcGVpY2hlcmUgZGllIGdlw6RuZGVydGUgRGF0ZWkgdW5kIHZlcmxhc3NlIFZpbSBtaXQ6ICA6d3EgIDxFTlRFUj4NCisNCisgIDUuIEZhbGxzIER1IGluIFNjaHJpdHQgMSBkZW4gdmltdHV0b3IgYmVlbmRldCBoYXN0LCBzdGFydGUgdmltdHV0b3IgbmV1IHVuZA0KKwkgICBiZXdlZ2UgZGljaCBhYnfDpHJ0cyBiaXMgenVyIGZvbGdlbmRlbiBadXNhbW1lbmZhc3N1bmcuDQorDQorICA2LiBOYWNoZGVtIER1IG9iaWdlIFNjaHJpdHRlIGdlbGVzZW4gdW5kIHZlcnN0YW5kZW4gaGFzdDogZsO8aHJlIHNpZSBkdXJjaC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDENCisNCisNCisgIDEuIERlciBDdXJzb3Igd2lyZCBtaXQgZGVuIFBmZWlsdGFzdGVuIG9kZXIgZGVuIFRhc3RlbiBoamtsIGJld2VndC4NCisJIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ3w6RydHMpICAgIGwgKHJlY2h0cykNCisNCisgIDIuIFVtIFZpbSBhdXMgZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgenUgc3RhcnRlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+DQorDQorICAzLiBVbSBWaW0genUgdmVybGFzc2VuIHVuZCBhbGxlIMOEbmRlcnVuZ2VuIHp1IHZlcndlcmZlbiwgdGlwcGU6DQorCQk8RVNDPiAgOnEhICA8RU5URVI+IC4NCisNCisgIDQuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbMO2c2NoZW4sIHRpcHBlOiAgeA0KKw0KKyAgNS4gVW0gVGV4dCBlaW56dWbDvGdlbiBvZGVyIGFuenVmw7xnZW4sIHRpcHBlOg0KKwkgaSAgIEVpbnp1ZsO8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICA8RVNDPiAgICBFaW5mw7xnZW4gdm9yIGRlbSBDdXJzb3INCisJIEEgICBBbnp1ZsO8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICAgPEVTQz4gICAgQW5mw7xnZW4gbmFjaCBkZW0gWmVpbGVuZW5kZQ0KKw0KK0FubWVya3VuZzogRHLDvGNrZW4gdm9uIDxFU0M+IGJyaW5ndCBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyBvZGVyIGJyaWNodCBlaW4NCisgICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuDQorDQorICAgICBOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgTGVrdGlvbiAyLjE6IEzDllNDSEtPTU1BTkRPUw0KKw0KKw0KKwkJICAgKiogVGlwcGUgIGR3ICAsIHVtIGVpbiBXb3J0IHp1IGzDtnNjaGVuLiAqKg0KKw0KKyAgMS4gRHLDvGNrZSAgPEVTQz4gICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuDQorDQorICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLg0KKw0KKyAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4NCisNCisgIEFubWVya3VuZzogRGVyIEJ1Y2hzdGFiZSAgZCAgZXJzY2hlaW50IGF1ZiBkZXIgdW50ZXJzdGVuIFplaWxlIGRlcyBTY2hpcm1zLA0KKyAgICAgICAgd2VubiBEdSBpaG4gZWluZ2lic3QuIFZpbSB3YXJ0ZXQgZGFyYXVmLCBkYXNzIER1ICB3ICBlaW5naWJzdC4gRmFsbHMgRHUNCisgICAgICAgIGVpbiBhbmRlcmVzIFplaWNoZW4gYWxzICBkICBzaWVoc3QsIGhhc3QgRHUgZXR3YXMgRmFsc2NoZXMgZ2V0aXBwdDsNCisgICAgICAgIGRyw7xja2UgPEVTQz4gdW5kIGJlZ2lubmUgbm9jaCBlaW5tYWwuDQorDQorLS0tPiBFaW5pZ2UgV8O2cnRlciBsdXN0aWcgZ2Vow7ZyZW4gbmljaHQgUGFwaWVyIGluIGRpZXNlbiBTYXR6Lg0KKw0KKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMyB1bmQgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0IHVuZCBnZWhlDQorICAgICB6dXIgTGVrdGlvbiAyLjIuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgICBMZWt0aW9uIDIuMjogV0VJVEVSRSBMw5ZTQ0hLT01NQU5ET1MNCisNCisNCisJICAgICoqIFRpcHBlICBkJCAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGzDtnNjaGVuLiAqKg0KKw0KKyAgMS4gRHLDvGNrZSA8RVNDPiAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0Lg0KKw0KKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIga29ycmVrdGVuIFplaWxlIChOQUNIIGRlbSBlcnN0ZW4gLiApLg0KKw0KKyAgNC4gVGlwcGUgICAgZCQgICAgLCB1bSBiaXMgenVtIFplaWxlbmVuZGUgenUgbMO2c2NoZW4uDQorDQorLS0tPiBKZW1hbmQgaGF0IGRhcyBFbmRlIGRlciBaZWlsZSBkb3BwZWx0IGVpbmdlZ2ViZW4uIGRvcHBlbHQgZWluZ2VnZWJlbi4NCisNCisNCisgIDUuIEdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDIuMyAsIHVtIHp1IHZlcnN0ZWhlbiwgd2FzIGhpZXJiZWkgdm9yZ2VodC4NCisNCisNCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSBMZWt0aW9uIDIuMzogw5xCRVIgT1BFUkFUT1JFTiBVTkQgQkVXRUdVTkdTWsOcR0UNCisNCisNCisgIFZpZWxlIEtvbW1hbmRvcywgZGllIFRleHQgw6RuZGVybiwgc2V0emVuIHNpY2ggYXVzIGVpbmVtIE9wZXJhdG9yIHVuZCBlaW5lcg0KKyAgQmV3ZWd1bmcgenVzYW1tZW4uIERhcyBGb3JtYXQgZsO8ciBlaW4gTMO2c2Noa29tbWFuZG8gbWl0IGRlbSBMw7ZzY2hvcGVyYXRvciAgZA0KKyAgbGF1dGV0IHdpZSBmb2xndDoNCisNCisgICAgZCAgQmV3ZWd1bmcNCisNCisgIHdvYmVpOg0KKyAgICBkICAgICAgICAtIGRlciBMw7ZzY2hvcGVyYXRvcg0KKyAgICBCZXdlZ3VuZyAtIHdvcmF1ZiBkZXIgTMO2c2Nob3BlcmF0b3IgYW5nZXdhbmR0IHdpcmQgKHVudGVuIGF1ZmdlZsO8aHJ0KS4NCisNCisgIEVpbmUga2xlaW5lIEF1Zmxpc3R1bmcgdm9uIEJld2VndW5nZW46DQorICAgIHcgLSBiaXMgenVtIEJlZ2lubiBkZXMgbsOkY2hzdGVuIFdvcnRlcyBPSE5FIGRlc3NlbiBlcnN0ZXMgWmVpY2hlbi4NCisgICAgZSAtIHp1bSBFbmRlIGRlcyBha3R1ZWxsZW4gV29ydGVzIE1JVCBkZXNzZW4gbGV0enRlbSBaZWljaGVuLg0KKyAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0enRlbiBaZWljaGVuLg0KKw0KKyAgRGVtZW50c3ByZWNoZW5kIGzDtnNjaHQgZGllIEVpbmdhYmUgdm9uICBkZSAgdm9tIEN1cnNvciBhbiBiaXMgenVtIFdvcnRlbmRlLg0KKw0KK0FubWVya3VuZzogIERpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgQmV3ZWd1bmdzdGVpbHMgaW0gTm9ybWFsbW9kdXMgYmV3ZWd0IGRlbg0KKyAgQ3Vyc29yIGVudHNwcmVjaGVuZC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJTGVrdGlvbiAyLjQ6IEFOV0VORFVORyBFSU5FUyBaw4RITEVSUyBGw5xSIEVJTkVOIEJFV0VHVU5HU1NDSFJJVFQNCisNCisNCisgICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIHZvciBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IHdpZWRlcmhvbHQgZGllc2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEJlZ2lubiBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDIuIFRpcHBlICAydyAgLCB1bSBkZW4gQ3Vyc29yIHp3ZWkgV8O2cnRlciB2b3J3w6RydHMgenUgYmV3ZWdlbi4NCisNCisgIDMuIFRpcHBlICAzZSAgLCB1bSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlcyBkcml0dGVuIFdvcnRlcyB6dSBiZXdlZ2VuLg0KKw0KKyAgNC4gVGlwcGUgIDAgIChOdWxsKSAsIHVtIHp1bSBBbmZhbmcgZGVyIFplaWxlIHp1IGdlbGFuZ2VuLg0KKw0KKyAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzIG1pdCB2ZXJzY2hpZWRlbmVuIE51bW1lcm4uDQorDQorICAtLS0+IERpZXMgaXN0IG51ciBlaW5lIFplaWxlIGF1cyBXw7ZydGVybiwgdW0gc2ljaCBkYXJpbiBoZXJ1bXp1YmV3ZWdlbi4NCisNCisgIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41Lg0KKw0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaw4RITEVSUyBGw5xSIE1FSFJFUkUgTMOWU0NIVk9SR8OETkdFDQorDQorDQorICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCBtaXQgZWluZW0gT3BlcmF0b3Igd2llZGVyaG9sdCBkaWVzZW4gbWVocmZhY2guICoqDQorDQorICBJbiBkZXIgS29tYmluYXRpb24gYXVzIEzDtnNjaG9wZXJhdG9yIHVuZCBCZXdlZ3VuZ3NzY2hyaXR0IChzaWVoZSBvYmVuKSANCisgIHN0ZWxsdCBtYW4sIHVtIG1laHIgenUgbMO2c2NoZW4gZGVtIFNjaHJpdHQgZWluZW4gWsOkaGxlciB2b3JhbjoNCisJIGQgIE51bW1lciAgQmV3ZWd1bmdzc2Nocml0dA0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4NCisgICAgIG1hcmtpZXJlbiBaZWlsZS4NCisNCisgIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV8O2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4genUgbMO2c2NoZW4uDQorDQorICAzLiBXaWVkZXJob2xlIFNjaHJpdHRlIDEgdW5kICAyIG1pdCBlaW5lbSBhbmRlcmVuIFrDpGhsZXIsIHVtIGRpZSBkYXJhdWZmb2wtDQorICAgICBnZW5kZW4gV8O2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4gbWl0IGVpbmVtIGVpbnppZ2VuIEtvbW1hbmRvIHp1IGzDtnNjaGVuLg0KKw0KKy0tLT4gIERpZXNlIEFCQyBERSBaZWlsZSBGR0hJIEpLIExNTiBPUCBtaXQgV8O2cnRlcm4gaXN0IFEgUlMgVFVWIGJlcmVpbmlndC4NCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQlMZWt0aW9uIDIuNjogQVJCRUlURU4gQVVGIFpFSUxFTg0KKw0KKw0KKwkgICAgICAgKiogVGlwcGUgIGRkICAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbMO2c2NoZW4uICoqDQorDQorICBXZWdlbiBkZXIgSMOkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBsw7ZzY2h0LCBrYW1lbiBkaWUgRW50d2lja2xlciB2b24NCisgIFZpIGRhcmF1ZiwgZGFzcyBlcyBsZWljaHRlciB3w6RyZSwgZWluZmFjaCB6d2VpIGQncyBlaW56dWdlYmVuLCB1bSBlaW5lIFplaWxlDQorICB6dSBsw7ZzY2hlbi4NCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIFplaWxlIGluIGRlciB1bnRlbiBzdGVoZW5kZW4gUmVkZXdlbmR1bmcuDQorICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGzDtnNjaGVuLg0KKyAgMy4gTnVuIGJld2VnZSBEaWNoIHp1ciB2aWVydGVuIFplaWxlLg0KKyAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBsw7ZzY2hlbi4NCisNCistLS0+ICAxKSAgUm9zZW4gc2luZCByb3QsDQorLS0tPiAgMikgIE1hdHNjaCBpc3QgbHVzdGlnLA0KKy0tLT4gIDMpICBWZWlsY2hlbiBzaW5kIGJsYXUsDQorLS0tPiAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLA0KKy0tLT4gIDUpICBEaWUgVWhyIHNhZ3QgZGllIFplaXQsDQorLS0tPiAgNikgIFp1Y2tlciBpc3Qgc8O8w58sDQorLS0tPiAgNykgIFNvIHdpZSBEdSBhdWNoLg0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDIuNzogUsOcQ0tHw4ROR0lHIE1BQ0hFTiAoVU5ETykNCisNCisNCisJICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3MgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbiAqKg0KKwkgICAgICAqKiBvZGVyIFUgLCB1bSBlaW5lIGdhbnplIFplaWxlIHdpZWRlcmhlcnp1c3RlbGxlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuDQorICAgICB1bmQgc2V0emUgaWhuIGF1ZiBkZW4gZXJzdGVuIEZlaGxlci4NCisgIDIuIFRpcHBlICB4ICAsIHVtIGRhcyBlcnN0ZSB1bmVyd8O8bnNjaHRlIFplaWNoZW4genUgbMO2c2NoZW4uDQorICAzLiBOdW4gdGlwcGUgIHUgICwgdW0gZGFzIHNvZWJlbiBhdXNnZWbDvGhydGUgS29tbWFuZG8gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4NCisgIDQuIEpldHp0IGJlaGViZSBhbGxlIEZlaGxlciBhdWYgZGVyIFplaWxlIG1pdCBIaWxmZSBkZXMgeCAgS29tbWFuZG9zLg0KKyAgNS4gTnVuIHRpcHBlIGVpbiBncm/Dn2VzICBVICwgdW0gZGllIFplaWxlIGluIGlocmVuIFVyc3BydW5nc3p1c3RhbmQNCisgICAgIHdpZWRlcmhlcnp1c3RlbGxlbi4NCisgIDYuIE51biB0aXBwZSAgdSAgZWluaWdlIE1hbGUsIHVtIGRhcyBVIHVuZCBkaWUgdm9yaGVyZ2VoZW5kZW4gS29tbWFuZG9zDQorICAgICByw7xja2fDpG5naWcgenUgbWFjaGVuLg0KKyAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRyw7xja3QgdW5kIGRyw7xja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUNCisgICAgIEtvbW1hbmRvcyB3aWVkZXJoZXJ6dXN0ZWxsZW4gKGRpZSBSw7xja2fDpG5naWdtYWNodW5nZW4gcsO8Y2tnw6RuZ2lnIG1hY2hlbikuDQorDQorLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuDQorDQorICA4LiBEaWVzIHNpbmQgc2VociBuw7x0emxpY2hlIEtvbW1hbmRvcy4gIE51biBnZWhlIHdlaXRlciB6dXIgWnVzYW1tZW5mYXNzdW5nIA0KKyAgICAgdm9uIExla3Rpb24gMi4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDINCisNCisNCisgIDEuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBuw6RjaHN0ZW4gV29ydCB6dSBsw7ZzY2hlbiwgdGlwcGU6ICAgIGR3DQorICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBsw7ZzY2hlbiwgdGlwcGU6ICAgICBkJA0KKyAgMy4gVW0gZWluZSBnYW56ZSBaZWlsZSB6dSBsw7ZzY2hlbiwgdGlwcGU6ICAgIGRkDQorDQorICA0LiBVbSBlaW5lIEJld2VndW5nIHp1IHdpZWRlcmhvbGVuLCBzdGVsbGUgZWluZSBOdW1tZXIgdm9yYW46ICAgMncNCisgIDUuIERhcyBGb3JtYXQgZsO8ciBlaW4gw4RuZGVydW5nc2tvbW1hbmRvIGlzdDoNCisgICAgICAgICAgICAgICBPcGVyYXRvciAgIFtBbnphaGxdICAgQmV3ZWd1bmdzc2Nocml0dA0KKyAgICAgd29iZWk6DQorICAgICAgIE9wZXJhdG9yIC0gZ2lidCBhbiwgd2FzIGdldGFuIHdlcmRlbiBzb2xsLCB6dW0gQmVpc3BpZWwgIGQgIGbDvHIgZGVsZXRlDQorICAgICAgIFtBbnphaGxdIC0gZWluIG9wdGlvbmFsZXIgWsOkaGxlciwgdW0gZGVuIEJld2VndW5nc3NjaHJpdHQgenUgd2llZGVyaG9sZW4NCisgICAgICAgQmV3ZWd1bmdzc2Nocml0dCAtIEJld2VndW5nIMO8YmVyIGRlbiB6dSDDpG5kZXJuZGVuIFRleHQsIHdpZQ0KKwkJICB3IChXb3J0KSwgJCAoenVtIEVuZGUgZGVyIFplaWxlKSwgZXRjLg0KKw0KKyAgNi4gVW0gRGljaCB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBiZWdlYmVuLCBiZW51dHplIGRpZSBOdWxsOiAgMA0KKw0KKyAgNy4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOgkJdSAoa2xlaW5lcyB1KQ0KKyAgICAgVW0gYWxsZSDDhG5kZXJ1bmdlbiBhdWYgZWluZXIgWmVpbGUgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbjogICBVIChncm/Dn2VzIFUpDQorICAgICBVbSBkaWUgUsO8Y2tnw6RuZ2lnbWFjaHVuZ2VuIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOiAgICBDVFJMLVINCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgICBMZWt0aW9uIDMuMTogQU5Gw5xHRU4gKFBVVCkNCisNCisNCisgICAgICoqIFRpcHBlICBwICAsIHVtIHZvcmhlciBnZWzDtnNjaHRlbiBUZXh0IG5hY2ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbMO2c2NoZW4gdW5kIHNpZSBpbiBlaW5lbSBWaW0tUmVnaXN0ZXIgenUNCisgICAgIHNwZWljaGVybi4NCisNCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBaZWlsZSBjKSwgw5xCRVIgZGVyamVuaWdlbiwgd28gZGllIGdlbMO2c2NodGUgWmVpbGUNCisgICAgIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4NCisNCisgIDQuICBUaXBwZSAgIHAgICAsIHVtIGRpZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUgcGxhdHppZXJlbi4NCisNCisgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQ0KKyAgICAgUmVpaGVuZm9sZ2UgenUgYnJpbmdlbi4NCisNCistLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8NCistLS0+IGIpIFZlaWxjaGVuIHNpbmQgYmxhdSwNCistLS0+IGMpIEludGVsbGlnZW56IGlzdCBsZXJuYmFyLA0KKy0tLT4gYSkgUm9zZW4gc2luZCByb3QsDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQ0KKw0KKw0KKyAgICoqIFRpcHBlICByeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGR1cmNoICB4IHp1IGVyc2V0emVuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIEJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIgc2ljaCBhdWYgZGVtIGVyc3RlbiBGZWhsZXIgYmVmaW5kZXQuDQorDQorICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGllw59lbmQgZGFzIFplaWNoZW4sIHdlbGNoZXMgZG9ydCBzdGVoZW4gc29sbHRlLg0KKw0KKyAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuDQorDQorLS0tPiAgQWxmIGRpZXNlIFplaXRlIGVpbmdlZ29iZW4gd3VyZGUsIHd1cmRlbiBlaW5pa2UgZmFsc2NoZSBUYXN0ZW4gZ2VsaXBwdCENCistLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0IQ0KKw0KKyAgNS4gTnVuIGZhaHJlIGZvcnQgbWl0IExla3Rpb24gMy4yLg0KKw0KK0FubWVya3VuZzogRXJpbm5lcmUgRGljaCBkYXJhbiwgZGFzcyBEdSBkdXJjaCBBbndlbmRlbiBsZXJuZW4gc29sbHRlc3QsIG5pY2h0IA0KKyAgICAgZHVyY2ggQXVzd2VuZGlnbGVybmVuLg0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgTGVrdGlvbiAzLjM6IMOETkRFUk4gKENIQU5HRSkNCisNCisNCisgICAgICAqKiBVbSBlaW5lIMOEbmRlcnVuZyBiaXMgenVtIFdvcnRlbmRlIGR1cmNoenVmw7xocmVuLCB0aXBwZSAgY2UgLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkYXMgIHMgIHZvbiBXc3R3ci4NCisNCisgIDMuIFRpcHBlICBjZSAgdW5kIGRpZSBXb3J0a29ycmVrdHVyIGVpbiAoaW4gZGllc2VtIEZhbGwgdGlwcGUgIMO2cnRlciApLg0KKw0KKyAgNC4gRHLDvGNrZSA8RVNDPiB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIG7DpGNoc3RlbiB6dSDDpG5kZXJuZGVuIFplaWNoZW4uDQorDQorICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuDQorDQorLS0tPiBFaW5pZ2UgV3N0d3IgZGllc2VyIFpsYXd3IGxhc2RqbGFmIG1pdCBkZW0gw4RuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLg0KKy0tLT4gRWluaWdlIFfDtnJ0ZXIgZGllc2VyIFplaWxlIHNvbGxlbiBtaXQgZGVtIMOEbmRlcm4tT3BlcmF0b3IgZ2XDpG5kZXJ0IHdlcmRlbi4NCisNCitCZWFjaHRlLCBkYXNzICBjZSAgZGFzIFdvcnQgbMO2c2NodCB1bmQgRGljaCBpbiBkZW4gRWluZ2FiZW1vZHVzIHZlcnNldHp0Lg0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDMuNDogTUVIUiDDhE5ERVJVTkdFTiBNSVRURUxTIGMNCisNCisNCisgICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBCZXdlZ3VuZ2VuIHdpZSBkZWxldGUuICAqKg0KKw0KKyAgMS4gRGVyIGNoYW5nZSBPcGVyYXRvciBhcmJlaXRldCBpbiBnbGVpY2hlciBXZWlzZSB3aWUgZGVsZXRlLiBEYXMgRm9ybWF0IGlzdDoNCisNCisgICAgICAgICBjICAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0DQorDQorICAyLiBEaWUgQmV3ZWd1bmdzc2Nocml0dGUgc2luZCBkaWUgZ2xlaWNoZW4gLCBzbyB3aWUgIHcgIChXb3J0KSB1bmQgICQNCisgICAgIChaZWlsZW5lbmRlKS4NCisNCisgIDMuIEJld2VnZSBEaWNoIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIEZlaGxlci4NCisNCisgIDUuIFRpcHBlICBjJCAgLCBnaWIgZGVuIFJlc3QgZGVyIFplaWxlIHdpZSBpbiBkZXIgendlaXRlbiBlaW4sIGRyw7xja2UgPEVTQz4gLg0KKw0KKy0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgYW4gZGllIHp3ZWl0ZSBaZWlsZSBhbmdlZ2xpY2hlbiB3ZXJkZW4uDQorLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBtaXQgZGVtICBjJCAgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uDQorDQorQW5tZXJrdW5nOiBEdSBrYW5uc3QgZGllIFLDvGNrdGFzdGUgYmVudXR6ZW4sIHVtIFRpcHBmZWhsZXIgenUga29ycmlnaWVyZW4uDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAzDQorDQorDQorICAxLiBVbSBlaW5lbiB2b3JoZXIgZ2Vsw7ZzY2h0ZW4gVGV4dCBhbnp1ZsO8Z2VuLCB0aXBwZSAgIHAgLiBEaWVzIGbDvGd0IGRlbg0KKyAgICAgZ2Vsw7ZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZWluZSBnYW56ZSBaZWlsZSBnZWzDtnNjaHQgd3VyZGUsDQorICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZsO8Z3QpLg0KKw0KKyAgMi4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBlcnNldHplbiwgdGlwcGUgICByICAgdW5kIGRhbmFjaCBkYXMgDQorICAgICBhbiBkaWVzZXIgU3RlbGxlIGdld29sbHRlIFplaWNoZW4uDQorDQorICAzLiBEZXIgw4RuZGVydW5ncy0gKGNoYW5nZSkgT3BlcmF0b3IgZXJsYXVidCwgdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzDQorICAgICBCZXdlZ3VuZ3NzY2hyaXR0ZXMgenUgw6RuZGVybi4gVGlwcGUgIGNlICAsIHVtIGVpbmUgw4RuZGVydW5nIHZvbSBDdXJzb3IgYmlzDQorICAgICB6dW0gRW5kZSBkZXMgV29ydGVzIHZvcnp1bmVobWVuOyAgYyQgIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZS4NCisNCisgIDQuIERhcyBGb3JtYXQgZsO8ciBjaGFuZ2UgaXN0Og0KKw0KKwkgYyAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0DQorDQorICBOdW4gZmFocmUgbWl0IGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBmb3J0Lg0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICBMZWt0aW9uIDQuMTogQ1VSU09SUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTDQorDQorICoqIFRpcHBlIENUUkwtRyAsIHVtIGRlaW5lIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzIGFuenV6ZWlnZW4uICoqDQorICAgICAqKiBUaXBwZSBHICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmVnZWJlbi4gKioNCisNCitBbm1lcmt1bmc6IExpZXMgZGllc2UgZ2VzYW10ZSBMZWt0aW9uLCBiZXZvciBEdSBpcmdlbmRlaW5lbiBTY2hyaXR0IGF1c2bDvGhyc3QhIQ0KKw0KKyAgMS4gSGFsdGUgZGllIEN0cmwgVGFzdGUgdW50ZW4gdW5kIGRyw7xja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgQ1RSTC1HLg0KKyAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ1w58gZGVyIFNlaXRlIGVyc2NoZWludCBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlcg0KKyAgICAgUG9zaXRpb24gaW5uZXJoYWxiIGRlciBEYXRlaS4gTWVya2UgRGlyIGRpZSBaZWlsZW5udW1tZXIgZsO8ciBTY2hyaXR0IDMuDQorDQorQW5tZXJrdW5nOiBNw7ZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuDQorICAgICAgQmlsZHNjaGlybWVja2UuIERpZXMgaXN0IEF1c3dpcmt1bmcgZGVyICdydWxlcicgT3B0aW9uIA0KKwkgIChzaWVoZSA6aGVscCAncnVsZXInKQ0KKw0KKyAgMi4gRHLDvGNrZSAgRyAgLCB1bSBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaSB6dSBiZWdlYmVuLg0KKyAgICAgVGlwcGUgIGdnICAsIHVtIERpY2ggenVtIEFuZmFuZyBkZXIgRGF0ZWkgenUgYmVnZWJlbi4NCisNCisgIDMuIEdpYiBkaWUgTnVtbWVyIGRlciBaZWlsZSBlaW4sIGF1ZiBkZXIgRHUgdm9yaGVyIHdhcnN0LCBnZWZvbGd0IHZvbiAgRyAuDQorICAgICBEaWVzIGJyaW5ndCBEaWNoIHp1csO8Y2sgenUgZGVyIFplaWxlLCBhdWYgZGVyIER1IGdlc3RhbmRlbiBoYXN0LCBhbHMgRHUNCisgICAgIGRhcyBlcnN0ZSBNYWwgQ1RSTC1HIGdlZHLDvGNrdCBoYXN0Lg0KKw0KKyAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBmw7xobHN0LCBmw7xocmUgZGllIFNjaHJpdHRlIDEgYmlzIDMgYXVzLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICAgIExla3Rpb24gNC4yOiBEQVMgU1VDSEVOIC0gS09NTUFORE8NCisNCisNCisgICoqIFRpcHBlICAvICBnZWZvbGd0IHZvbiBlaW5lbSBBdXNkcnVjaywgdW0gbmFjaCBkZW0gQXVzZHJ1Y2sgenUgc3VjaGVuLiAqKg0KKw0KKyAgMS4gSW0gTm9ybWFsbW9kdXMsIHRpcHBlIGRhcyAgLyAgWmVpY2hlbi4gIEJlYWNodGUsIGRhc3MgZGFzICAvIHVuZCBkZXINCisgICAgIEN1cnNvciBhbSBGdcOfIGRlcyBTY2hpcm1zIGVyc2NoZWluZW4sIHNvIHdpZSBiZWltIDoJS29tbWFuZG8uDQorDQorICAyLiBOdW4gdGlwcGUgJ0ZlaGhsZXInIDxFTlRFUj4uIERpZXMgaXN0IGRhcyBXb3J0LCBuYWNoIGRlbSBEdSBzdWNoZW4gd2lsbHN0Lg0KKw0KKyAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGbDvHIgbmV4dCkuDQorICAgICBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4sIHRpcHBlICBOIC4NCisNCisgIDQuIFVtIG5hY2ggZWluZW0gQXVzZHJ1Y2sgcsO8Y2t3w6RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLg0KKw0KKyAgNS4gVW0gZGFoaW4genVyw7xja3p1a2VocmVuLCB2b24gd28gRHUgZ2Vrb21tZW4gYmlzdCwgZHLDvGNrZSBDVFJMLU8gKEhhbHRlDQorICAgICBDdHJsIHVudGVuIHVuZCBkcsO8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIG5vY2ggd2VpdGVyDQorICAgICB6dXLDvGNrenVnZWhlbi4gIENUUkwtSSBnZWh0IHZvcnfDpHJ0cy4NCisNCistLS0+ICBGZWhsZXIgc2NocmVpYnQgc2ljaCBuaWNodCAiRmVoaGxlciI7IEZlaGhsZXIgaXN0IGVpbiBGZWhsZXINCitBbm1lcmt1bmc6IFdlbm4gZGllIFN1Y2hlIGRhcyBEYXRlaWVuZGUgZXJyZWljaHQgaGF0LCB3aXJkIHNpZSBhbSBBbmZhbmcNCisgICAgICAgIGZvcnRnZXNldHp0LCBlcyBzZWkgZGVubiwgZGllICd3cmFwc2NhbicgT3B0aW9uIHd1cmRlIGFiZ2VzY2hhbHRldC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiA0LjM6IFBBU1NFTkRFIEtMQU1NRVJOIEZJTkRFTg0KKw0KKw0KKyAgICoqIFRpcHBlICAlICwgdW0gZWluZSBnZWdlbsO8YmVybGllZ2VuZGVuIEtsYW1tZXIgKSxdLCBvZGVyIH0genUgZmluZGVuLiAqKg0KKw0KKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVtIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4NCisgICAgIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4NCisNCisgIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uDQorDQorICAzLiBEZXIgQ3Vyc29yIGJld2VndCBzaWNoIHp1ciBwYXNzZW5kZW4gZ2VnZW7DvGJlcmxpZWdlbmRlbiBLbGFtbWVyLg0KKw0KKyAgNC4gVGlwcGUgICUgLCB1bSBkZW4gQ3Vyc29yIHp1ciBwYXNzZW5kZW4gYW5kZXJlbiBLbGFtbWVyIHp1IGJld2VnZW4uDQorDQorICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLg0KKw0KKy0tLT4gRGllcyAoIGlzdCBlaW5lIFRlc3R6ZWlsZSAoIG1pdCBbIHZlcnNjaGllZGVuZW4gXSB7IEtsYW1tZXJuIH0gIGRhcmluLiApKQ0KKw0KK0FubWVya3VuZzogRGllc2UgRnVua3Rpb25hbGl0w6R0IGlzdCBzZWhyIG7DvHR6bGljaCBiZWkgZGVyIEZlaGxlcnN1Y2hlIGluIGVpbmVtDQorICAgICBQcm9ncmFtbXRleHQsIGluIGRlbSBwYXNzZW5kZSBLbGFtbWVybiBmZWhsZW4hDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkNCisNCisNCisJICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIFRpcHBlICA6cy9kaWVlL2RpZSA8RU5URVI+IC4gIEJlYWNodGUsIGRhc3MgZGVyIEJlZmVobCBudXIgZGFzIGVyc3RlDQorICAgICBWb3Jrb21tZW4gdm9uICJkaWVlIiBlcnNldHp0Lg0KKw0KKyAgMy4gTnVuIHRpcHBlICAgOnMvZGllZS9kaWUvZyAuIERhcyBadWbDvGdlbiBkZXMgRmxhZ3MgIGcgICBiZWRldXRldCwgZWluZQ0KKyAgICAgZ2xvYmFsZSBFcnNldHp1bmcgw7xiZXIgZGllIFplaWxlIGR1cmNoenVmw7xocmVuLCBkaWVzIGVyc2V0enQgYWxsZSANCisJIFZvcmtvbW1lbiB2b24gImRpZWUiIGF1ZiBkZXIgWmVpbGUuDQorDQorLS0tPiBkaWVlIHNjaMO2bnN0ZSBaZWl0LCB1bSBkaWVlIEJsdW1lbiBhbnp1c2NoYXVlbiwgaXN0IGRpZWUgRnLDvGhsaW5nc3plaXQuDQorDQorICA0LiBVbSBhbGxlIFZvcmtvbW1lbiBlaW5lciBaZWljaGVua2V0dGUgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4genUgw6RuZGVybiwNCisgICAgIHRpcHBlICA6Iywjcy9hbHQvbmV1L2cgIHdvYmVpICMsIyBkaWUgWmVpbGVubnVtbWVybiBkZXMgQmVyZWljaGVzIHNpbmQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBkZW0gZGllIEVyc2V0enVuZyBkdXJjaGdlZsO8aHJ0IHdlcmRlbiBzb2xsLg0KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IMOkbmRlcm4uDQorICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZ2MgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUgZmluZGVuDQorICAgICAgICAgICAgICAgICAgICAgbWl0IGVpbmVtIEZyYWdlZGlhbG9nLCBvYiBlcnNldHp0IHdlcmRlbiBzb2xsIG9kZXIgbmljaHQuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA0DQorDQorICAxLiBDVFJMLUcgIHplaWd0IGRpZSBha3R1ZWxsZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cy4NCisgICAgICAgICAgICAgRyAgYnJpbmd0IERpY2ggenVtIEVuZGUgZGVyIERhdGVpLg0KKyAgICAgTnVtbWVyICBHICBicmluZ3QgRGljaCB6dXIgZW50c3ByZWNoZW5kZW4gWmVpbGVubnVtbWVyLg0KKyAgICAgICAgICAgIGdnICBicmluZ3QgRGljaCB6dXIgZXJzdGVuIFplaWxlLg0KKw0KKyAgMi4gRGllIEVpbmdhYmUgdm9uICAvICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfDhFJUUyBuYWNoIGRlbSBBdXNkcnVjay4NCisgICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBSw5xDS1fDhFJUUyBuYWNoIGRlbSBBdXNkcnVjay4NCisgICAgIFRpcHBlIG5hY2ggZWluZXIgU3VjaGUgIG4gICwgdW0gZGFzIG7DpGNoc3RlIFZvcmtvbW1lbiBpbiBkZXIgZ2xlaWNoZW4NCisgICAgIFJpY2h0dW5nIHp1IGZpbmRlbjsgb2RlciAgTiAgLCB1bSBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4uDQorICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVyw7xjayB6dSDDpGx0ZXJlbiBQb3NpdGlvbmVuLCBDVFJMLUkgenUgbmV1ZXJlbi4NCisNCisgIDMuIERpZSBFaW5nYWJlIHZvbiAgJSAgLCB3ZW5uIGRlciBDdXJzb3Igc2ljaCBhdWYgKCwpLFssXSx7LCBvZGVyIH0NCisgICAgIGJlZmluZGV0LCBicmluZ3QgRGljaCB6dXIgR2VnZW5rbGFtbWVyLg0KKw0KKyAgNC4gVW0gZGFzIGVyc3RlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZWluZXIgWmVpbGUgZHVyY2ggIm5ldSIgenUgZXJzZXR6ZW4sDQorICAgICAgICAgICAgIHRpcHBlICAgICAgIDpzL2FsdC9uZXUNCisgICAgIFVtIGFsbGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBkZXIgWmVpbGUgZXJzZXR6ZW4sIHRpcHBlICA6cy9hbHQvbmV1L2cNCisgICAgIFVtIEF1c2Ryw7xja2UgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4gIyB6dSBlcnNldHplbiAgICAgICAgOiMsI3MvYWx0L25ldS9nDQorICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZw0KKyAgICAgRsO8ciBlaW5lIGplZGVzbWFsaWdlIEJlc3TDpHRpZ3VuZywgYWRkaWVyZSAnYycgKGNvbmZpcm0pICAgOiVzL2FsdC9uZXUvZ2MNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCUxla3Rpb24gNS4xOiBBVVNGw5xIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUw0KKw0KKw0KKyAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVmw7xocmVuLiAqKg0KKw0KKyAgMS4gVGlwcGUgZGFzIHZlcnRyYXV0ZSBLb21tYW5kbyAgOiAgLCB1bSBkZW4gQ3Vyc29yIGF1ZiBkZW4gRnXDnyBkZXMgU2NoaXJtcw0KKyAgICAgenUgc2V0emVuLiBEaWVzIGVybGF1YnQgRGlyLCBlaW4gS29tbWFuZG96ZWlsZW4tS29tbWFuZG8gZWluenVnZWJlbi4NCisNCisgIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzIGVybcO2Z2xpY2h0IERpciwgZWluIGJlbGllYmlnZXMsDQorICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZsO8aHJlbi4NCisNCisgIDMuIEFscyBCZWlzcGllbCB0aXBwZSAgIGxzICAgbmFjaCBkZW0gICEgIHVuZCBkcsO8Y2tlIDxFTlRFUj4uIERpZXMgbGllZmVydA0KKyAgICAgZWluZSBBdWZsaXN0dW5nIGRlaW5lcyBWZXJ6ZWljaG5pc3NlczsgZ2VuYXVzbywgYWxzIHdlbm4gRHUgaW4gZGVyDQorICAgICBFaW5nYWJlYXVmZm9yZGVydW5nIHfDpHJzdC4gIE9kZXIgdmVyd2VuZGUgIDohZGlyICAsIGZhbGxzIGxzIG5pY2h0IGdlaHQuDQorDQorQW5tZXJrdW5nOiAgTWl0IGRpZXNlciBNZXRob2RlIGthbm4gamVkZXMgYmVsaWViaWdlIGV4dGVybmUgS29tbWFuZG8NCisgICAgIGF1c2dlZsO8aHJ0IHdlcmRlbiwgYXVjaCBtaXQgQXJndW1lbnRlbi4NCisNCitBbm1lcmt1bmc6ICBBbGxlICA6ICBLb21tYW5kb3MgbcO8c3NlbiBkdXJjaCBFaW5nYWJlIHZvbiA8RU5URVI+DQorICAgICBhYmdlc2NobG9zc2VuIHdlcmRlbi4gVm9uIGpldHp0IGFuIGVyd8OkaG5lbiB3aXIgZGllcyBuaWNodCBqZWRlc21hbC4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCUxla3Rpb24gNS4yOiBNRUhSIMOcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4NCisNCisNCisqKiBVbSBhbSBUZXh0IGR1cmNoZ2Vmw7xocnRlIMOEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKg0KKw0KKyAgMS4gVGlwcGUgIDohZGlyICBvZGVyICA6IWxzICAsIHVtIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXMgenUNCisgICAgIGVyaGFsdGVuLiAgRHUgd2Vpw590IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0Lg0KKw0KKyAgMi4gV8OkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBub2NoIG5pY2h0IGV4aXN0aWVydCwgei5CLiBURVNULg0KKw0KKyAgMy4gTnVuIHRpcHBlOiAgOncgVEVTVCAgICh3b2JlaSBURVNUIGRlciBnZXfDpGhsdGUgRGF0ZWluYW1lIGlzdCkuDQorDQorICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULg0KKyAgICAgVW0gZGllcyB6dSDDvGJlcnByw7xmZW4sIHRpcHBlIG5vY2htYWxzICA6IWxzICBiencuICAhZGlyLCB1bSBkZWluZW4NCisgICAgIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLg0KKw0KK0FubWVya3VuZzogV8O8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IHZpbSBURVNUDQorICAgIHN0YXJ0ZW4sIGRhbm4gd8OkcmUgZGllc2UgRGF0ZWkgZWluZSBleGFrdGUgS29waWUgZGVzIFR1dG9ycyB6dSBkZW0NCisgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuDQorDQorICA1LiBOdW4gZW50ZmVybmUgZGllIERhdGVpIGR1cmNoIEVpbmdhYmUgdm9uIChNUy1ET1MpOiAgICA6IWRlbCBURVNUDQorICAgICAgICAgICAgICAgICAgICAgIG9kZXIgKFVuaXgpOiAgICAgICAgICAgICAgICAgICAgICAgICA6IXJtIFRFU1QNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSBMZWt0aW9uIDUuMzogQVVTV8OESExFTiBWT04gVEVYVCBaVU0gU0NIUkVJQkVODQorDQorKiogVW0gZWluZW4gQWJzY2huaXR0IGRlciBEYXRlaSB6dSBzcGVpY2hlcm4sICB0aXBwZSAgdiAgQmV3ZWd1bmcgIDp3IERBVEVJICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkaWVzZXIgWmVpbGUuDQorDQorICAyLiBUaXBwZSAgdiAgdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBmw7xuZnRlbiBBdWZsaXN0dW5nc3B1bmt0IHVudGVuLg0KKyAgICAgQmVhY2h0ZSwgZGFzcyBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuDQorDQorICAzLiBEcsO8Y2tlIGRhcyBaZWljaGVuICA6IC4gQW0gRnXDnyBkZXMgU2NoaXJtcyBlcnNjaGVpbnQgIDonPCwnPiAuDQorDQorICA0LiBUaXBwZSAgdyBURVNUICAsIHdvYmVpIFRFU1QgZWluIG5vY2ggbmljaHQgdm9yaGFuZGVuZXIgRGF0ZWluYW1lIGlzdC4NCisgICAgIFZlcmdld2lzc2VyZSBEaWNoLCBkYXNzIER1ICA6JzwsJz53IFRFU1QgIHNpZWhzdCwgYmV2b3IgRHUgPEVOVEVSPiBkcsO8Y2tzdC4NCisNCisgIDUuIFZpbSBzY2hyZWlidCBkaWUgYXVzZ2V3w6RobHRlbiBaZWlsZW4gaW4gZGllIERhdGVpIFRFU1QuIEJlbnV0emUgIDohZGlyDQorICAgICBvZGVyICA6IWxzICwgdW0gc2llIHp1IHNlaGVuLiBMw7ZzY2hlIHNpZSBub2NoIG5pY2h0ISBXaXIgd2VyZGVuIHNpZSBpbg0KKyAgICAgZGVyIG7DpGNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLg0KKw0KK0hpbndlaXM6IERyw7xja2VuIHZvbiAgdiAgc3RhcnRldCBkaWUgVmlzdWVsbGUgQXVzd2FobC4gRHUga2FubnN0IGRlbiBDdXJzb3INCisgICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIHp1IHZlcmdyw7bDn2VybiBvZGVyIHp1IHZlcmtsZWluZXJuLiBBbnNjaGxpZcOfZW5kDQorICAgbMOkc3N0IHNpY2ggZWluIE9wZXJhdG9yIGFud2VuZGVuLCB1bSBtaXQgZGVtIFRleHQgZXR3YXMgenUgdHVuLiBadW0gQmVpc3BpZWwNCisgICBsw7ZzY2h0ICBkICBkZW4gVGV4dC4NCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbDnEhSRU4gVk9OIERBVEVJRU4NCisNCisNCisgICAgICAgKiogVW0gZGVuIEluaGFsdCBlaW5lciBEYXRlaSBlaW56dWxlc2VuLCB0aXBwZSAgOnIgREFURUlOQU1FICAqKg0KKw0KKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgZGlyZWt0IMO8YmVyIGRpZXNlciBaZWlsZS4NCisNCitCRUFDSFRFOiAgTmFjaGRlbSBEdSBTY2hyaXR0IDIgYXVzZ2Vmw7xocnQgaGFzdCwgd2lyc3QgRHUgVGV4dCBhdXMgTGVrdGlvbiA1LjMNCisgICAgICAgc2VoZW4uIERhbm4gYmV3ZWdlIERpY2ggd2llZGVyIEFCV8OEUlRTLCBMZWt0aW9uIDUuNCB3aWVkZXJ6dXNlaGVuLg0KKw0KKyAgMi4gTnVuIGxpZXMgZGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNmw7xocnN0LA0KKyAgICAgd29iZWkgVEVTVCBkZXIgdm9uIERpciB2ZXJ3ZW5kZXRlIERhdGVpbmFtZSBpc3QuDQorICAgICBEaWUgZWluZ2VsZXNlbmUgRGF0ZWkgd2lyZCB1bnRlcmhhbGIgZGVyIEN1cnNvcnplaWxlIGVpbmdlZsO8Z3QuDQorDQorICAzLiBVbSB6dSDDvGJlcnByw7xmZW4sIGRhc3MgZGllIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVyw7xjayB1bmQgDQorICAgICBiZWFjaHRlLCBkYXNzIGVzIGpldHp0IHp3ZWkgS29waWVuIHZvbiBMZWt0aW9uIDUuMyBnaWJ0LCBkYXMgT3JpZ2luYWwgdW5kIA0KKwkgZGllIGVpbmdlZsO8Z3RlIERhdGVpdmVyc2lvbi4NCisNCitBbm1lcmt1bmc6IER1IGthbm5zdCBhdWNoIGRpZSBBdXNnYWJlIGVpbmVzIGV4dGVybmVuIEtvbW1hbmRvcyBlaW5sZXNlbi4gWnVtDQorICAgICBCZWlzcGllbCBsaWVzdCAgOnIgIWxzICBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGxzIGVpbiB1bmQgcGxhdHppZXJ0DQorICAgICBzaWUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzLg0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNQ0KKw0KKw0KKyAgMS4gOiFLb21tYW5kbyAgZsO8aHJ0IGVpbiBleHRlcm5lcyBLb21tYW5kbyBhdXMuDQorDQorICAgICAgRWluaWdlIG7DvHR6bGljaGUgQmVpc3BpZWxlIHNpbmQNCisJKE1TLURPUykJICAoVW5peCkNCisJIDohZGlyCQkgICA6IWxzCQkgICAtICB6ZWlndCBlaW5lIFZlcnplaWNobmlzYXVmbGlzdHVuZy4NCisJIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuDQorDQorICAyLiA6dyBEQVRFSU5BTUUgIHNwZWljaGVydCBkaWUgYWt0dWVsbGUgVmltLURhdGVpIHVudGVyIGRlbSBOYW1lbiAgREFURUlOQU1FLg0KKw0KKyAgMy4gdiAgQmV3ZWd1bmcgIDp3IERBVEVJTkFNRSAgc2NocmVpYnQgZGllIFZpc3VlbGwgYXVzZ2V3w6RobHRlbiBaZWlsZW4gaW4NCisgICAgIGRpZSBEYXRlaSBEQVRFSU5BTUUuDQorDQorICA0LiA6ciBEQVRFSU5BTUUgIGzDpGR0IGRpZSBEYXRlaSBEQVRFSU5BTUUgdW5kIGbDvGd0IHNpZSB1bnRlcmhhbGIgZGVyDQorICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uDQorDQorICA1LiA6ciAhZGlyICBsaWVzdCBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGRpciB1bmQgZsO8Z3Qgc2llIHVudGVyaGFsYiBkZXINCisgICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOIMOWRkZORU4gKE9QRU4pDQorDQorDQorICAgKiogVGlwcGUgIG8JLCB1bSBlaW5lIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSDDtmZmbmVuIHVuZCBEaWNoIGluICoqDQorICAgICAgICAgICAgICAgICAgICAgICoqIGRlbiBFaW5mw7xnZW1vZHVzIHp1IGJlZ2ViZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAyLiBUaXBwZSBvIChrbGVpbiBnZXNjaHJpZWJlbiksIHVtIGVpbmUgWmVpbGUgVU5URVJIQUxCIGRlcyBDdXJzb3JzIHp1IMO2ZmZuZW4NCisgICAgIHVuZCBEaWNoIGluIGRlbiBFaW5mw7xnZW1vZHVzIHp1IGJlZ2ViZW4uDQorDQorICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHLDvGNrZSA8RVNDPiAsIHVtIGRlbiBFaW5mw7xnZW1vZHVzIHp1IHZlcmxhc3Nlbi4NCisNCistLS0+IE1pdCAgbyAgd2lyZCBkZXIgQ3Vyc29yIGF1ZiBkZXIgb2ZmZW5lbiBaZWlsZSBpbSBFaW5mw7xnZW1vZHVzIHBsYXR6aWVydC4NCisNCisgIDQuIFVtIGVpbmUgWmVpbGUgw5xCRVJIQUxCIGRlcyBDdXJzb3JzIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jvw59lcyAgTw0KKyAgICAgc3RhdHQgZWluZW0ga2xlaW5lbiAgbyAgZWluLiBWZXJzdWNoZSBkaWVzIGF1ZiBkZXIgdW50ZW4gc3RlaGVuZGVuIFplaWxlLg0KKw0KKy0tLT4gw5ZmZm5lIGVpbmUgWmVpbGUgw7xiZXIgZGllc2VyIG1pdCBPICwgd2VubiBkZXIgQ3Vyc29yIGF1ZiBkaWVzZXIgWmVpbGUgaXN0Lg0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICAgIExla3Rpb24gNi4yOiBURVhUIEFORsOcR0VOIChBUFBFTkQpDQorDQorDQorCSAgICAgKiogVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgZWluenVmw7xnZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4gw5xidW5nc3plaWxlIG1pdCAtLS0+IHVudGVuLg0KKw0KKyAgMi4gRHLDvGNrZSAgZSAgLCBiaXMgZGVyIEN1cnNvciBhbSBFbmRlIHZvbiAgWmVpICBzdGVodC4NCisNCisgIDMuIFRpcHBlIGVpbiBrbGVpbmVzICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVmw7xnZW4uDQorDQorICA0LiBWZXJ2b2xsc3TDpG5kaWdlIGRhcyBXb3J0IHNvIHdpZSBpbiBkZXIgWmVpbGUgZGFydW50ZXIuICBEcsO8Y2tlIDxFU0M+ICwNCisgICAgIHVtIGRlbiBFaW5mw7xnZW1vZHVzIHp1IHZlcmxhc3Nlbi4NCisNCisgIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7DpGNoc3RlbiB1bnZvbGxzdMOkbmRpZ2VuIFdvcnQgdW5kIHdpZWRlcmhvbGUNCisgICAgIFNjaHJpdHRlIDMgdW5kIDQuDQorDQorLS0tPiBEaWVzZSBaZWkgYmlldGV0IEdlbGVnZW4gLCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVmw7wuDQorLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWbDvGdlbi4NCisNCitBbm1lcmt1bmc6ICBhLCBpIHVuZCBBIGdlaGVuIGFsbGUgZ2xlaWNoZXJtYcOfZW4gaW4gZGVuIEVpbmbDvGdlbW9kdXM7IGRlcg0KKyAgICAgICAgICAgIGVpbnppZ2UgVW50ZXJzY2hpZWQgaXN0LCB3byBkaWUgWmVpY2hlbiBlaW5nZWbDvGd0IHdlcmRlbi4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJICAgICAgTGVrdGlvbiA2LjM6IEVJTkUgQU5ERVJFIEFSVCBERVMgRVJTRVRaRU5TIChSRVBMQUNFKQ0KKw0KKw0KKyAgICAgICAqKiBUaXBwZSBlaW4gZ3Jvw59lcyAgUiAgLCB1bSBtZWhyIGFscyBlaW4gWmVpY2hlbiB6dSBlcnNldHplbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKyAgICAgQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXMgZXJzdGVuICB4eHggLg0KKw0KKyAgMi4gTnVuIGRyw7xja2UgIFIgIHVuZCB0aXBwZSBkaWUgTnVtbWVyLCBkaWUgZGFydW50ZXIgaW4gZGVyIHp3ZWl0ZW4gWmVpbGUNCisgICAgIHN0ZWh0LCBzbyBkYXNzIGRpZXNlIGRhcyB4eHggZXJzZXR6dC4NCisNCisgIDMuIERyw7xja2UgPEVTQz4gLCB1bSBkZW4gRXJzZXR6dW5nc21vZHVzIHp1IHZlcmxhc3Nlbi4gQmVhY2h0ZSwgZGFzcyBkZXIgUmVzdA0KKyAgICAgZGVyIFplaWxlIHVudmVyw6RuZGVydCBibGVpYnQuDQorDQorICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSwgdW0gZGFzIHZlcmJsaWViZW5lIHh4eCB6dSBlcnNldHplbi4NCisNCistLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IHh4eCBlcmdpYnQgeHh4Lg0KKy0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgNDU2IGVyZ2lidCA1NzkuDQorDQorQW5tZXJrdW5nOiBEZXIgRXJzZXR6dW5nc21vZHVzIGlzdCB3aWUgZGVyIEVpbmbDvGdlbW9kdXMsIGFiZXIgamVkZXMgZWluZ2V0aXBwdGUNCisgICAgICAgICAgIFplaWNoZW4gbMO2c2NodCBlaW4gdm9yaGFuZGVuZXMgWmVpY2hlbi4NCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORsOcR0VODQorDQorICoqIEJlbnV0emUgZGVuICB5ICBPcGVyYXRvciwgdW0gVGV4dCB6dSBrb3BpZXJlbjsgIHAgICwgdW0gaWhuIGVpbnp1ZsO8Z2VuICoqDQorDQorICAxLiBHZWhlIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuOyBzZXR6ZSBkZW4gQ3Vyc29yIGhpbnRlciAiYSkiLg0KKw0KKyAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLg0KKw0KKyAgMy4gVGlwcGUgIHkgICwgdW0gZGVuIGhlcnZvcmdlaG9iZW4gVGV4dCB6dSBrb3BpZXJlbi4NCisNCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBuw6RjaHN0ZW4gWmVpbGU6ICBqJA0KKw0KKyAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWbDvGdlbiB1bmQgYW5zY2hsaWXDn2VuZDogIGEgendlaXRlIDxFU0M+IC4NCisNCisgIDYuIEJlbnV0emUgZGVuIFZpc3VlbGxlbiBNb2R1cywgdW0gIiBFaW50cmFnLiIgYXVzenV3w6RobGVuLCBrb3BpZXJlIG1pdHRlbHMNCisgICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbsOkY2hzdGVuIFplaWxlIG1pdCAgaiQgIHVuZCBmw7xnZSBkZW4gVGV4dA0KKyAgICAgZG9ydCBtaXQgIHAgIGFuLg0KKw0KKy0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLg0KKyAgICAgIGIpDQorDQorQW5tZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgTGVrdGlvbiA2LjU6IE9QVElPTkVOIFNFVFpFTg0KKw0KKyAgICAgICoqIFNldHplIGVpbmUgT3B0aW9uIHNvLCBkYXNzIGVpbmUgU3VjaGUgb2RlciBFcnNldHp1bmcgR3Jvw58tICoqDQorCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKg0KKw0KKyAgMS4gU3VjaGUgbmFjaCAnaWdub3JpZXJlJywgaW5kZW0gRHUgICAgL2lnbm9yaWVyZSAgIGVpbmdpYnN0Lg0KKyAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHLDvGNrc3QuDQorDQorICAyLiBTZXR6ZSBkaWUgJ2ljJyAoSWdub3JlIGNhc2UpIC0gT3B0aW9uLCBpbmRlbSBEdSAgIDpzZXQgaWMgICBlaW5naWJzdC4NCisNCisgIDMuIE51biBzdWNoZSB3aWVkZXIgbmFjaCAnaWdub3JpZXJlJywgaW5kZW0gRHUgIG4gIHRpcHBzdC4NCisgICAgIEJlYWNodGUsIGRhc3MgamV0enQgSWdub3JpZXJlIHVuZCBhdWNoIElHTk9SSUVSRSBnZWZ1bmRlbiB3aXJkLg0KKw0KKyAgNC4gU2V0emUgZGllICdobHNlYXJjaCcgdW5kICdpbmNzZWFyY2gnIC0gT3B0aW9uZW46ICAgICA6c2V0IGhscyBpcw0KKw0KKyAgNS4gV2llZGVyaG9sZSBkaWUgU3VjaGUgdW5kIGJlb2JhY2h0ZSwgd2FzIHBhc3NpZXJ0OiAvaWdub3JpZXJlIDxFTlRFUj4NCisNCisgIDYuIFVtIGRhcyBJZ25vcmllcmVuIHZvbiBHcm/Dny9LbGVpbnNjaHJlaWJ1bmcgYWJ6dXNjaGFsdGVuLCB0aXBwZTogIDpzZXQgbm9pYw0KKw0KK0FubWVya3VuZzogVW0gZGllIEhlcnZvcmhlYnVuZyBkZXIgVHJlZmZlciB6dSBlbnRmZXJuZW4sIGdpYiBlaW46ICA6bm9obHNlYXJjaA0KK0FubWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBmw7xyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplIFxjDQorICAgICAgICAgICBpbSBTdWNoYXVzZHJ1Y2s6ICAvaWdub3JpZXJlXGMgIDxFTlRFUj4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYNCisNCisgMS4gVGlwcGUgIG8gICwgdW0gZWluZSBaZWlsZSBVTlRFUiBkZW0gQ3Vyc29yIHp1IMO2ZmZuZW4gdW5kIGRlbiBFaW5mw7xnZW1vZHVzDQorICAgICAgICAgICAgICAgIHp1IHN0YXJ0ZW4NCisgICAgVGlwcGUgIE8gICwgdW0gZWluZSBaZWlsZSDDnEJFUiBkZW0gQ3Vyc29yIHp1IMO2ZmZuZW4uDQorDQorIDIuIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVmw7xnZW4uDQorICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZsO8Z2VuLg0KKw0KKyAzLiBEYXMgS29tbWFuZG8gIGUgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGVpbmVzIFdvcnRlcy4NCisNCisgNC4gRGVyIE9wZXJhdG9yICB5ICAoeWFuaykga29waWVydCBUZXh0LCAgcCAgKHB1dCkgZsO8Z3QgaWhuIGVpbi4NCisNCisgNS4gRWluIGdyb8OfZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERyw7xja2VuIHZvbiAgPEVTQz4gLg0KKw0KKyA2LiBEaWUgRWluZ2FiZSB2b24gIjpzZXQgeHh4IiBzZXR6dCBkaWUgT3B0aW9uICJ4eHgiLiBFaW5pZ2UgT3B0aW9uZW4gc2luZDoNCisJJ2ljJyAnaWdub3JlY2FzZScgICAgSWdub3JpZXJlIEdyb8OfL0tsZWluc2NocmVpYnVuZyBiZWkgZWluZXIgU3VjaGUNCisJJ2lzJyAnaW5jc2VhcmNoJyAgICAgWmVpZ2UgVGVpbMO8YmVyZWluc3RpbW11bmdlbiBmw7xyIGVpbmVuIFN1Y2hhdXNkcnVjaw0KKwknaGxzJyAnaGxzZWFyY2gnICAgICBIZWJlIGFsbGUgcGFzc2VuZGVuIEF1c2Ryw7xja2UgaGVydm9yDQorICAgIERlciBPcHRpb25zbmFtZSBrYW5uIGluIGRlciBLdXJ6LSBvZGVyIGRlciBMYW5nZm9ybSBhbmdlZ2ViZW4gd2VyZGVuLg0KKw0KKyA3LiBTdGVsbGUgZWluZXIgT3B0aW9uICJubyIgdm9yYW4sIHVtIHNpZSBhYnp1c2NoYWx0ZW46ICAgOnNldCBub2ljDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJTGVrdGlvbiA3LjEgOiBBVUZSVUZFTiBWT04gSElMRkUNCisNCisNCisJCSAgICAgKiogTnV0emUgZGFzIGVpbmdlYmF1dGUgSGlsZmVzeXN0ZW0gKioNCisNCisgIFZpbSBiZXNpdHp0IGVpbiB1bWZhc3NlbmRlcyBlaW5nZWJhdXRlcyBIaWxmZXN5c3RlbS4gIEbDvHIgZGVuIEFuZmFuZyBwcm9iaWVyZQ0KKyAgZWlucyBkZXIgZHJlaSBmb2xnZW5kZW4gRGluZ2UgYXVzOg0KKwktIERyw7xja2UgZGllIDxIaWxmZT4gLSBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQ0KKwktIERyw7xja2UgZGllIDxGMT4gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkNCisJLSBUaXBwZSAgIDpoZWxwIDxFTlRFUj4NCisNCisgIExpZXMgZGVuIFRleHQgaW0gSGlsZmVmZW5zdGVyLCB1bSB6dSB2ZXJzdGVoZW4gd2llIGRpZSBIaWxmZSBmdW5rdGlvbmllcnQuDQorICBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgICwgdW0gdm9uIGVpbmVtIEZlbnN0ZXIgenVtIGFuZGVyZW4genUgc3ByaW5nZW4uDQorICBUaXBwZSAgIDpxIDxFTlRFUj4gICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXDn2VuLg0KKw0KKyAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQ0KKyAgS29tbWFuZG8gZWluIEFyZ3VtZW50IGdpYnN0LiAgUHJvYmllcmUgZm9sZ2VuZGVzICg8RU5URVI+IG5pY2h0IHZlcmdlc3Nlbik6DQorDQorCTpoZWxwIHcNCisJOmhlbHAgY19DVFJMLUQNCisJOmhlbHAgaW5zZXJ0LWluZGV4DQorCTpoZWxwIHVzZXItbWFudWFsDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gNy4yOiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUDQorDQorDQorCSAgICAgICAgICAqKiAgQWt0aXZpZXJlIGRpZSBGZWF0dXJlcyB2b24gVmltICoqDQorDQorICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTDpHRlbiwgZGllIMO8YmVyIFZpIGhpbmF1c2dlaGVuLCBhYmVyIGRpZSBtZWlzdGVuDQorICB2b24gaWhuZW4gc2luZCBzdGFuZGFyZG3DpMOfaWcgZGVha3RpdmllcnQuIFVtIG1laHIgRnVua3Rpb25hbGl0w6R0ZW4genUgbnV0emVuLA0KKyAgbXVzc3QgRHUgZWluZSAidmltcmMiIC0gRGF0ZWkgZXJzdGVsbGVuLg0KKw0KKyAgMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGFiaMOkbmdpZyB2b24gZGVpbmVtIFN5c3RlbToNCisJOmUgfi8udmltcmMJCWbDvHIgVW5peA0KKwk6ZSAkVklNL192aW1yYwkJZsO8ciBNUy1XaW5kb3dzDQorDQorICAyLiBOdW4gbGllcyBkZW4gSW5oYWx0IGRlciBCZWlzcGllbC0idmltcmMiLURhdGVpIGVpbjoNCisJOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0NCisNCisgIDMuIFNwZWljaGVyZSBkaWUgRGF0ZWkgbWl0Og0KKwk6dw0KKw0KKyAgQmVpbSBuw6RjaHN0ZW4gU3RhcnQgdm9uIFZpbSB3aXJkIGRpZSBTeW50YXhoZXJ2b3JoZWJ1bmcgYWt0aXZpZXJ0IHNlaW4uDQorICBEdSBrYW5uc3QgYWxsIGRlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZsO8Z2VuLg0KKyAgRsO8ciBtZWhyIEluZm9ybWF0aW9uZW4gdGlwcGUgIDpoZWxwIHZpbXJjLWludHJvDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIExla3Rpb24gNy4zOiBWRVJWT0xMU1TDhE5ESUdFTg0KKw0KKw0KKwkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdMOkbmRpZ3VuZyBtaXQgQ1RSTC1EIHVuZCA8VEFCPiAqKg0KKw0KKyAgMS4gU3RlbGxlIHNpY2hlciwgZGFzcyBWaW0gbmljaHQgaW0gVmktS29tcGF0aWJpbGl0w6R0c21vZHVzIGlzdDogIDpzZXQgbm9jcA0KKw0KKyAgMi4gU2llaGUgbmFjaCwgd2VsY2hlIERhdGVpZW4gaW0gVmVyemVpY2huaXMgZXhpc3RpZXJlbjogIDohbHMgIG9kZXIgIDpkaXINCisNCisgIDMuIFRpcHBlIGRlbiBCZWdpbm4gZWluZXMgS29tbWFuZG9zOiAgOmUNCisNCisgIDQuIERyw7xja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLg0KKw0KKyAgNS4gRHLDvGNrZSAgPFRBQj4gIHVuZCBWaW0gdmVydm9sbHN0w6RuZGlndCBkZW4gS29tbWFuZG9uYW1lbiB6dSAiOmVkaXQiLg0KKw0KKyAgNi4gTnVuIGbDvGdlIGVpbiBMZWVyemVpY2hlbiB1bmQgZGVuIEFuZmFuZyBlaW5lciBleGlzdGllcmVuZGVuIERhdGVpIGFuOg0KKyAgICAgOmVkaXQgREFUDQorDQorICA3LiBEcsO8Y2tlIDxUQUI+LiBWaW0gdmVydm9sbHN0w6RuZGlndCBkZW4gTmFtZW4gKGZhbGxzIGVyIGVpbmRldXRpZyBpc3QpLg0KKw0KK0FubWVya3VuZzogVmVydm9sbHN0w6RuZGlndW5nIGZ1bmt0aW9uaWVydCBmw7xyIHZpZWxlIEtvbW1hbmRvcy4gUHJvYmllcmUNCisgICAgIGVpbmZhY2ggQ1RSTC1EIHVuZCA8VEFCPi4gIERpZXMgaXN0IGluc2Jlc29uZGVyZSBuw7x0emxpY2ggZsO8ciAgOmhlbHAgLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCQkgICAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3DQorDQorDQorICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHLDvGNrZSA8RjE+IG9kZXIgPEhlbHA+LCB1bSBlaW4gSGlsZmVmZW5zdGVyIHp1IMO2ZmZuZW4uDQorDQorICAyLiBUaXBwZSAgOmhlbHAgS29tbWFuZG8gICwgdW0gSGlsZmUgw7xiZXIgIEtvbW1hbmRvICB6dSBlcmhhbHRlbi4NCisNCisgIDMuIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAsIHVtIHp1bSBhbmRlcmVuIEZlbnN0ZXIgenUgc3ByaW5nZW4uDQorDQorICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXDn2VuLg0KKw0KKyAgNS4gRXJzdGVsbGUgZWluIHZpbXJjIC0gU3RhcnRza3JpcHQgbWl0IGRlaW5lbiBiZXZvcnp1Z3RlciBFaW5zdGVsbHVuZ2VuLg0KKw0KKyAgNi4gRHLDvGNrZSBDVFJMLUQgbmFjaCBkZW0gVGlwcGVuIGVpbmVzICA6ICBLb21tYW5kb3MsIHVtIG3DtmdsaWNoZQ0KKyAgICAgVmVydm9sbHN0w6RuZGlndW5nZW4gYW56dXNlaGVuLg0KKyAgICAgRHLDvGNrZSA8VEFCPiAsIHVtIGVpbmUgVmVydm9sbHN0w6RuZGlndW5nIHp1IGFuenV3ZW5kZW4uDQorDQorDQorDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorDQorICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgU2VpbmUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZA0KKyAgYsO8bmRpZ2VuIMOcYmVyYmxpY2sgw7xiZXIgZGVuIFZpbSBFZGl0b3IgenUgZ2ViZW47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdg0KKyAgbGVpY2h0IG1pdCBpaG0gdW1nZWhlbiB6dSBrw7ZubmVuLiAgRGVyIFZpbSBUdXRvciBoYXQgbmljaHQgZGVuIGdlcmluZ3N0ZW4NCisgIEFuc3BydWNoIGF1ZiBWb2xsc3TDpG5kaWdrZWl0OyBWaW0gaGF0IG5vY2ggd2VpdGF1cyBtZWhyIEtvbW1hbmRvcy4gTGllcyBhbHMNCisgIG7DpGNoc3RlcyBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuDQorDQorICBGw7xyIHdlaXRlcmVzIExlc2VuIHVuZCBMZXJuZW4gaXN0IGZvbGdlbmRlcyBCdWNoIGVtcGZlaGxlbnN3ZXJ0IDoNCisJVmltIC0gVmkgSW1wcm92ZWQgLSB2b24gU3RldmUgT3VhbGxpbmUNCisJVmVybGFnOiBOZXcgUmlkZXJzDQorICBEYXMgZXJzdGUgQnVjaCwgd2VsY2hlcyBkdXJjaGfDpG5naWcgVmltIGdld2lkbWV0IGlzdC4gIEJlc29uZGVycyBuw7x0emxpY2gNCisgIGbDvHIgQW5mw6RuZ2VyLiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uDQorICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbA0KKw0KKyAgRm9sZ2VuZGVzIEJ1Y2ggaXN0IMOkbHRlciB1bmQgbWVociDDvGJlciBWaSBhbHMgVmltLCBhYmVyIGF1Y2ggZW1wZmVobGVuc3dlcnQ6DQorCVRleHRiZWFyYmVpdHVuZyBtaXQgZGVtIFZpLUVkaXRvciAgLSAgdm9uIExpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zDQorCVZlcmxhZyBPJ1JlaWxseSAtIElTQk46IDM4OTcyMTEyNjINCisgIEluIGRpZXNlbSBCdWNoIGthbm4gbWFuIGZhc3QgYWxsZXMgZmluZGVuLCB3YXMgbWFuIG1pdCBWaSB0dW4gbcO2Y2h0ZS4NCisgIERpZSBzZWNoc3RlIEF1c2dhYmUgZW50aMOkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIMO8YmVyIFZpbS4NCisNCisgIEFscyBha3R1ZWxsZSBSZWZlcmVueiBmw7xyIFZlcnNpb24gNi4yIHVuZCBrbmFwcGUgRWluZsO8aHJ1bmcgZGllbnQgZGFzDQorICBmb2xnZW5kZSBCdWNoOg0KKwl2aW0gZ2UtcGFja3Qgdm9uIFJlaW5oYXJkIFdvYnN0DQorCW1pdHAtVmVybGFnLCBJU0JOIDMtODI2Ni0xNDI1LTkNCisgIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG7DvHR6bGljaGUgQmVpc3BpZWxlIGF1Y2gNCisgIGbDvHIgRWluc3RlaWdlciBlbXBmZWhsZW5zd2VydC4gIFByb2Jla2FwaXRlbCB1bmQgZGllIEJlaXNwaWVsc2tyaXB0ZSBzaW5kDQorICBvbmxpbmUgZXJow6RsdGxpY2guICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbA0KKw0KKyAgRGllc2VzIFR1dG9yaWFsIHd1cmRlIGdlc2NocmllYmVuIHZvbiBNaWNoYWVsIEMuIFBpZXJjZSB1bmQgUm9iZXJ0IEsuIFdhcmUsDQorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMuIEVzIGJlbnV0enQgSWRlZW4sIGRpZSBDaGFybGVzIFNtaXRoLCBDb2xvcmFkbyBTdGF0ZQ0KKyAgVW5pdmVyc2l0eSwgenVyIFZlcmbDvGd1bmcgc3RlbGx0ZS4gIEUtTWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1Lg0KKw0KKyAgQmVhcmJlaXRldCBmw7xyIFZpbSB2b24gQnJhbSBNb29sZW5hYXIuDQorICBEZXV0c2NoZSDDnGJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDE1LiAgRS1NYWlsOiBKb2FjaGltLkhvZkBnbXguZGUNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCmRpZmYgLS1naXQgYS9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltIGIvcnVudGltZS92aW1yY19leGFtcGxlLnZpbQppbmRleCAyMTVmZDI0Li5mNzVkZWUzIDEwMDY0NAotLS0gYS9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltCisrKyBiL3J1bnRpbWUvdmltcmNfZXhhbXBsZS52aW0KQEAgLTEsNyArMSw3IEBACiAiIEFuIGV4YW1wbGUgZm9yIGEgdmltcmMgZmlsZS4KICIKICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBjaGFuZ2U6CTIwMTQgTm92IDA1CisiIExhc3QgY2hhbmdlOgkyMDE1IE1hciAyNAogIgogIiBUbyB1c2UgaXQsIGNvcHkgaXQgdG8KICIgICAgIGZvciBVbml4IGFuZCBPUy8yOiAgfi8udmltcmMKQEAgLTczLDEwICs3Myw4IEBACiAgICIgV2hlbiBlZGl0aW5nIGEgZmlsZSwgYWx3YXlzIGp1bXAgdG8gdGhlIGxhc3Qga25vd24gY3Vyc29yIHBvc2l0aW9uLgogICAiIERvbid0IGRvIGl0IHdoZW4gdGhlIHBvc2l0aW9uIGlzIGludmFsaWQgb3Igd2hlbiBpbnNpZGUgYW4gZXZlbnQgaGFuZGxlcgogICAiIChoYXBwZW5zIHdoZW4gZHJvcHBpbmcgYSBmaWxlIG9uIGd2aW0pLgotICAiIEFsc28gZG9uJ3QgZG8gaXQgd2hlbiB0aGUgbWFyayBpcyBpbiB0aGUgZmlyc3QgbGluZSwgdGhhdCBpcyB0aGUgZGVmYXVsdAotICAiIHBvc2l0aW9uIHdoZW4gb3BlbmluZyBhIGZpbGUuCiAgIGF1dG9jbWQgQnVmUmVhZFBvc3QgKgotICAgIFwgaWYgbGluZSgiJ1wiIikgPiAxICYmIGxpbmUoIidcIiIpIDw9IGxpbmUoIiQiKSB8CisgICAgXCBpZiBsaW5lKCInXCIiKSA+PSAxICYmIGxpbmUoIidcIiIpIDw9IGxpbmUoIiQiKSB8CiAgICAgXCAgIGV4ZSAibm9ybWFsISBnYFwiIiB8CiAgICAgXCBlbmRpZgogCg==