ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZXMgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZGIxM2QKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmVzCkBAIC0wLDAgKzEsNzY5IEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgICBCIGkgZSBuIHYgZSBuIGkgZCBvICAgYSBsICAgdCB1IHQgbyByICAgZCBlICAgViBJIE0gIC0gIFZlcnNp824gMS40ICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIGVzIHVuIGVkaXRvciBtdXkgcG90ZW50ZSBxdWUgZGlzcG9uZSBkZSBtdWNob3MgbWFuZGF0b3MsIGRlbWFzaWFkb3MKKyAgICAgcGFyYSBzZXIgZXhwbGljYWRvcyBlbiB1biB0dXRvciBjb21vIOlzdGUuIEVzdGUgdHV0b3IgZXN04SBkaXNl8WFkbworICAgICBwYXJhIGRlc2NyaWJpciBzdWZpY2llbnRlcyBtYW5kYXRvcyBwYXJhIHF1ZSB1c3RlZCBzZWEgY2FwYXogZGUKKyAgICAgYXByZW5kZXIgZuFjaWxtZW50ZSBhIHVzYXIgVmltIGNvbW8gdW4gZWRpdG9yIGRlIHByb3Dzc2l0byBnZW5lcmFsLgorCisgICAgIEVsIHRpZW1wbyBuZWNlc2FyaW8gcGFyYSBjb21wbGV0YXIgZWwgdHV0b3IgZXMgYXByb3hpbWFkYW1lbnRlIGRlIDI1LTMwCisgICAgIG1pbnV0b3MsIGRlcGVuZGllbmRvIGRlIGN1YW50byB0aWVtcG8gc2UgZGVkaXF1ZSBhIGxhIGV4cGVyaW1lbnRhY2nzbi4KKworICAgICBMb3MgbWFuZGF0b3MgZGUgZXN0YXMgbGVjY2lvbmVzIG1vZGlmaWNhcuFuIGVsIHRleHRvLiBIYWdhIHVuYSBjb3BpYSBkZQorICAgICBlc3RlIGZpY2hlcm8gcGFyYSBwcmFjdGljYXIgKGNvbiCrdmltdHV0b3K7IGVzdG8geWEgZXMgdW5hIGNvcGlhKS4KKworICAgICBFcyBpbXBvcnRhbnRlIHJlY29yZGFyIHF1ZSBlc3RlIHR1dG9yIGVzdOEgcGVuc2FkbyBwYXJhIGVuc2XxYXIgY29uCisgICAgIGxhIHBy4WN0aWNhLiBFc3RvIHNpZ25pZmljYSBxdWUgZXMgbmVjZXNhcmlvIGVqZWN1dGFyIGxvcyBtYW5kYXRvcworICAgICBwYXJhIGFwcmVuZGVybG9zIGFkZWN1YWRhbWVudGUuIFNpIPpuaWNhbWVudGUgc2UgbGVlIGVsIHRleHRvLCBzZQorICAgICBvbHZpZGFy4W4gbG9zIG1hbmRhdG9zLgorCisgICAgIEFob3JhLCBhc2Vn+nJlc2UgZGUgcXVlIGxhIHRlY2xhIGRlIGJsb3F1ZW8gZGUgbWF5+nNjdWxhcyBubyBlc3ThCisgICAgIGFjdGl2YWRhIHkgcHVsc2UgbGEgdGVjbGEJaiAgbG8gc3VmaWNpZW50ZSBwYXJhIG1vdmVyIGVsIGN1cnNvcgorICAgICBkZSBmb3JtYSBxdWUgbGEgTGVjY2nzbiAxLjEgb2N1cGUgY29tcGxldGFtZW50ZSBsYSBwYW50YWxsYS4KK35+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+fgorCQkgICAgIExlY2Np824gMS4xOiBNT1ZJTUlFTlRPUyBERUwgQ1VSU09SCisKKyAqKiBQYXJhIG1vdmVyIGVsIGN1cnNvciwgcHVsc2UgbGFzIHRlY2xhcyBoLGosayxsIGRlIGxhIGZvcm1hIHF1ZSBzZSBpbmRpY2EuICoqCisgICAgICBeCisgICAgICBrICAgICAgIEluZGljYWNp8246IExhIHRlY2xhIGggZXN04SBhIGxhIGl6cXVpZXJkYSB5IG11ZXZlIGEgbGEgaXpxdWllcmRhLgorIDwgaAkgbCA+CQkgIExhIHRlY2xhIGwgZXN04SBhIGxhIGRlcmVjaGEgeSBtdWV2ZSBhIGxhIGRlcmVjaGEuCisgICAgICBqCQkJICBMYSB0ZWNsYSBqIHBhcmVjZSB1bmEgZmxlY2hhIHF1ZSBhcHVudGEgaGFjaWEgYWJham8uCisgICAgICB2CisKKyAgMS4gTXVldmEgZWwgY3Vyc29yIHBvciBsYSBwYW50YWxsYSBoYXN0YSBxdWUgc2Ugc2llbnRhIGPzbW9kbyBjb24gZWxsby4KKworICAyLiBNYW50ZW5nYSBwdWxzYWRhIGxhIHRlY2xhCWogIGhhc3RhIHF1ZSBzZSByZXBpdGEgq2F1dG9t4WdpY2FtZW50ZbsuCistLS0+IEFob3JhIHlhIHNhYmUgY29tbyBsbGVnYXIgYSBsYSBsZWNjafNuIHNpZ3VpZW50ZS4KKworICAzLiBVdGlsaXphbmRvIGxhIHRlY2xhIGFiYWpvLCB2YXlhIGEgbGEgTGVjY2nzbiAxLjIuCisKK05vdGE6IFNpIGFsZ3VuYSB2ZXogbm8gZXN04SBzZWd1cm8gc29icmUgYWxnbyBxdWUgaGEgdGVjbGVhZG8sIHB1bHNlIDxFU0M+CisgICAgICBwYXJhIHNpdHVhcnNlIGVuIG1vZG8gTm9ybWFsLiBMdWVnbyB2dWVsdmEgYSB0ZWNsZWFyIGxhIG9yZGVuIHF1ZSBkZXNlYWJhLgorCitOb3RhOiBMYXMgdGVjbGFzIGRlIG1vdmltaWVudG8gZGVsIGN1cnNvciB0YW1iaeluIGZ1bmNpb25hbi4gUGVybyB1c2FuZG8KKyAgICAgIGhqa2wgcG9kcuEgbW92ZXJzZSBtdWNobyBt4XMgcuFwaWRvIHVuYSB2ZXogcXVlIHNlIGFjb3N0dW1icmUgYSBlbGxvLgorCit+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+fn4KKwkJICAgIExlY2Np824gMS4yOiBFTlRSQU5ETyBZIFNBTElFTkRPIERFIFZJTQorCisgIKGhIE5PVEE6IEFudGVzIGRlIGVqZWN1dGFyIGFsZ3VubyBkZSBsb3MgcGFzb3Mgc2lndWllbnRlcyBsZWEgcHJpbWVybworCSAgIGxhIGxlY2Np824gZW50ZXJhISEKKworICAxLiBQdWxzZSBsYSB0ZWNsYSA8RVNDPiAocGFyYSBhc2VndXJhcnNlIGRlIHF1ZSBlc3ThIGVuIG1vZG8gTm9ybWFsKS4KKworICAyLiBFc2NyaWJhOgkJCTpxISA8SU5UUk8+CisKKy0tLT4gRXN0byBwcm92b2NhIGxhIHNhbGlkYSBkZWwgZWRpdG9yIFNJTiBndWFyZGFyIG5pbmf6biBjYW1iaW8gcXVlIHNlIGhheWEKKyAgICAgaGVjaG8uIFNpIHF1aWVyZSBndWFyZGFyIGxvcyBjYW1iaW9zIHkgc2FsaXIgZXNjcmliYToKKwkJCQk6d3EgPElOVFJPPgorCisgIDMuIEN1YW5kbyB2ZWEgZWwgc+1tYm9sbyBkZWwgc2lzdGVtYSwgZXNjcmliYSBlbCBtYW5kYXRvIHF1ZSBsZSB0cmFqbyBhIGVzdGUKKyAgICAgdHV0b3IuIMlzdGUgcHVlZGUgaGFiZXIgc2lkbzogICB2aW10dXRvciA8SU5UUk8+CisgICAgIE5vcm1hbG1lbnRlIHNlIHVzYXLtYToJICAgICB2aW0gdHV0b3IgPElOVFJPPgorCistLS0+ICd2aW0nIHNpZ25pZmljYSBlbnRyYXIgYWwgZWRpdG9yLCAndHV0b3InIGVzIGVsIGZpY2hlcm8gYSBlZGl0YXIuCisKKyAgNC4gU2kgaGEgbWVtb3JpemFkbyBlc3RvcyBwYXNvcyB5IHNlIHNlIHNpZW50ZSBjb24gY29uZmlhbnphLCBlamVjdXRlIGxvcworICAgICBwYXNvcyAxIGEgMyBwYXJhIHNhbGlyIHkgdm9sdmVyIGEgZW50cmFyIGFsIGVkaXRvci4gRGVzcHXpcyBtdWV2YSBlbAorICAgICBjdXJzb3IgaGFzdGEgbGEgTGVjY2nzbiAxLjMuCit+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+fn4KKwkJICAgTGVjY2nzbiAxLjM6IEVESUNJ004gREUgVEVYVE8gLSBCT1JSQURPCisKKyoqIEVzdGFuZG8gZW4gbW9kbyBOb3JtYWwgcHVsc2UgIHggIHBhcmEgYm9ycmFyIGVsIGNhcuFjdGVyIHNvYnJlIGVsIGN1cnNvci4gKipqCisKKworICAxLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBs7W5lYSBkZSBhYmFqbyBzZfFhbGFkYSBjb24gLS0tPi4KKworICAyLiBQYXJhIGNvcnJlZ2lyIGxvcyBlcnJvcmVzLCBtdWV2YSBlbCBjdXJzb3IgaGFzdGEgcXVlIGVzdOkgYmFqbyBlbAorICAgICBjYXLhY3RlciBxdWUgdmEgYXNlciBib3JyYWRvLgorCisgIDMuIFB1bHNlIGxhIHRlY2xhICB4CXBhcmEgYm9ycmFyIGVsIGNhcuFjdGVyIHNvYnJhbnRlLgorCisgIDQuIFJlcGl0YSBsb3MgcGFzb3MgMiBhIDQgaGFzdGEgcXVlIGxhIGZyYXNlIHNlYSBsYSBjb3JyZWN0YS4KKworLS0tPiBMYSB2dmFjYSBzYWx08/Mgc29vYnJlZSBsYWEgbHV1dXVuYS4KKworICA1LiBBaG9yYSBxdWUgbGEgbO1uZWEgZXN0YSBjb3JyZWN0YSwgY29udGlu+mUgY29uIGxhIExlY2Np824gMS40LgorCisKK05PVEE6IEEgbWVkaWRhIHF1ZSB2YXlhIGF2YW56YW5kbyBlbiBlc3RlIHR1dG9yIG5vIGludGVudGUgbWVtb3JpemFyLAorICAgICAgYXByZW5kYSBwcmFjdGljYW5kby4KKworfn5+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+CisJCSAgIExlY2Np824gMS40OiBFRElDSdNOIERFIFRFWFRPIC0gSU5TRVJDSdNOCisKKyAgICAgICoqIEVzdGFuZG8gZW4gbW9kbyBOb3JtYWwgcHVsc2UgIGkgIHBhcmEgaW5zZXJ0YXIgdGV4dG8uICoqCisKKworICAxLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgorCisgIDIuIFBhcmEgcXVlIGxhIHByaW1lcmEgbO1uZWEgc2UgaWd1YWwgYSBsYSBzZWd1bmRhIG11ZXZhIGVsIGN1cnNvciBiYWpvIGVsCisgICAgIHByaW1lciBjYXLhY3RlciBxdWUgc2lndWUgYWwgdGV4dG8gcXVlIGhhIGRlIHNlciBpbnNlcnRhZG8uCisKKyAgMy4gUHVsc2UgIGkgIHkgZXNjcmliYSBsb3MgY2FyYWN0ZXJlcyBhIGHxYWRpci4KKworICA0LiBBIG1lZGlkYSBxdWUgc2VhIGNvcnJlZ2lkbyBjYWRhIGVycm9yIHB1bHNlIDxFU0M+IHBhcmEgdm9sdmVyIGFsIG1vZG8KKyAgICAgTm9ybWFsLiBSZXBpdGEgbG9zIHBhc29zIDIgYSA0IHBhcmEgY29ycmVnaXIgbGEgZnJhc2UuCisKKy0tLT4gRmx0YSB0ZXh0byBlbiBlc3RhIC4KKy0tLT4gRmFsdGEgYWxnbyBkZSB0ZXh0byBlbiBlc3RhIGztbmVhLgorCisgIDUuIEN1YW5kbyBzZSBzaWVudGEgY/Ntb2RvIGluc2VydGFuZG8gdGV4dG8gcGFzZSBhbCByZXN1bWVuIHF1ZSBlc3RhIG3hcworICAgICBhYmFqby4KKworCit+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+fn4KKwkJCSAgICBSRVNVTUVOIERFIExBIExFQ0NJ004gMQorCisKKyAgMS4gRWwgY3Vyc29yIHNlIG11ZXZlIHV0aWxpemFtZG8gbGFzIHRlY2xhcyBkZSBsYXMgZmxlY2hhcyBvIGxhcyB0ZWNsYXMgaGprbC4KKwkgaCAoaXpxdWllcmRhKQkgICBqIChhYmFqbykJICBrIChhcnJpYmEpCSAgbCAoZGVyZWNoYSkKKworICAyLiBQYXJhIGFjY2VkZXIgYSBWaW0gKGRlc2RlIGVsIHPtbWJvbG8gZGVsIHNpc3RlbWEgJSkgZXNjcmliYToKKyAgICAgdmluIEZJTEVOQU1FIDxJTlRSTz4KKworICAzLiBQYXJhIHNhbGlyIGRlIFZpbSBlc2NyaWJhOiA8RVNDPiA6cSEgPElOVFJPPiBwYXJhIGVsaW1pbmFyIHRvZG9zCisgICAgIGxvcyBjYW1iaW9zLgorCisgIDQuIFBhcmEgYm9ycmFyIHVuIGNhcuFjdGVyIHNvYnJlIGVsIGN1cnNvciBlbiBtb2RvIE5vcm1hbCBwdWxzZTogIHgKKworICA1LiBQYXJhIGluc2VydGFyIHRleHRvIGVuIGxhIHBvc2ljafNuIGRlbCBjdXJzb3IgZXN0YW5kbyBlbiBtb2RvIE5vcm1hbDoKKwkgIHB1bHNlICAgaSAgIGVzY3JpYmEgZWwgdGV4dG8JIHB1bHNlIDxFU0M+CisKK05PVEE6IFB1bHNhbmRvIDxFU0M+IHNlIHZ1ZWx2ZSBhbCBtb2RvIE5vcm1hbCBvIGNhbmNlbGEgdW4gbWFuZGF0byBubyBkZXNlYWRvCisgICAgICBvIGluY29tcGxldG8uCisKK0Fob3JhIGNvbnRpbvplIGNvbiBsYSBMZWNjafNuIDIuCisKK35+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+fgorCQkgICAgIExlY2Np824gMi4xOiAgTUFOREFUT1MgUEFSQSBCT1JSQVIKKworCisgICAgICAgKiogRXNjcmliYSBkdyBwYXJhIGJvcnJhciBoYXN0YSBlbCBmaW5hbCBkZSB1bmEgcGFsYWJyYSAqKgorCisKKyAgMS4gUHVsc2UgPEVTQz4gcGFyYSBhc2VndXJhcnNlIGRlIHF1ZSBlc3ThIGVuIGVsIG1vZG8gTm9ybWFsLgorCisgIDIuIE11ZXZhIGVsIGN1cnNvciBhIGxhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgorCisgIDMuIE11ZXZhIGVsIGN1cnNvciBhbCBjb21pZW56byBkZSB1bmEgcGFsYWJyYSBxdWUgZGVzZWUgYm9ycmFyLgorCisgIDQuIFB1bHNlICAgZHcgICBwYXJhIGhhY2VyIHF1ZSBsYSBwYWxhYnJhIGRlc2FwYXJlemNhLgorCisKKyAgTk9UQTogTGFzIGxldHJhcyAgIGR3ICAgYXBhcmVjZXLhbiBlbiBsYSD6bHRpbWEgbO1uZWEgZGUgbGEgcGFudGFsbGEgY3VhbmRvCisJbGFzIGVzY3JpYmEuIFNpIGVzY3JpYmUgYWxnbyBlcXVpdm9jYWRvIHB1bHNlIDxFU0M+IHkgY29taWVuY2UgZGUgbnVldm8uCisKKworLS0tPiBIYXkgYWxndW5hcyBwYWxhYnJhcyBw4XNhbG8gYmllbiBxdWUgbm8gcGVydGVuZWNlbiBwYXBlbCBhIGVzdGEgZnJhc2UuCisKKworfn5+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+CisJCSAgICBMZWNjafNuIDIuMjogTcFTIE1BTkRBVE9TIFBBUkEgQk9SUkFSCisKKworCSAgKiogRXNjcmliYSAgZCQgIHBhcmEgYm9ycmFyIGhhc3RhIGVsIGZpbmFsIGRlIGxhIGztbmVhLiAqKgorCisKKyAgMS4gUHVsc2UgIDxFU0M+ICBwYXJhIGFzZWd1cmFyc2UgZGUgcXVlIGVzdOEgZW4gZWwgbW9kbyBOb3JtYWwuCisKKyAgMi4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCisKKyAgMy4gTXVldmEgZWwgY3Vyc29yIGFsIGZpbmFsIGRlIGxhIGztbmVhIGNvcnJlY3RhIChERVNQVclTIGRlbCBwcmltZXIgLiApLgorCisgIDQuIEVzY3JpYmEgIGQkICBwYXJhIGJvcnJhciBoYXN0YSBlbCBmaW5hbCBkZSBsYSBs7W5lYS4KKworLS0tPiBBbGd1aWVuIGhhIGVzY3JpdG8gZWwgZmluYWwgZGUgZXN0YSBs7W5lYSBkb3MgdmVjZXMuIGVzdGEgbO1uZWEgZG9zIHZlY2VzLgorCisKKworCisKKworCit+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+fn4KKwkJICAgIExlY2Np824gMi4zOiBTT0JSRSBNQU5EQVRPUyBZIE9CSkVUT1MKKworCisgIEVsIGZvcm1hdG8gZGVsIG1hbmRhdG8gZGUgYm9ycmFyICAgZAkgZXMgY29tbyBzaWd1ZToKKworCSBbbvptZXJvXSAgIGQJb2JqZXRvCSAgICBPCSAgICAgZAkgW276bWVyb10gICBvYmpldG8KKyAgZG9uZGU6CisgICBu+m1lcm8gLSBlcyBjdeFudGFzIHZlY2VzIHNlIGhhIGRlIGVqZWN1dGFyIGVsIG1hbmRhdG8gKG9wY2lvbmFsLCBkZWZlY3RvPTEpLgorICAgZCAtIGVzIGVsIG1hbmRhdG8gcGFyYSBib3JyYXIuCisgICBvYmpldG8gLSBlcyBzb2JyZSBsbyBxdWUgZWwgbWFuZGF0byB2YSBhIG9wZXJhciAobGlzdGEsIGFiYWpvKS4KKworICBVbmEgbGlzdGEgY29ydGEgZGUgb2JqZXRvczoKKyAgIHcgLSBkZXNkZSBlbCBjdXJzb3IgaGFzdGEgZWwgZmluYWwgZGUgbGEgcGFsYWJyYSwgaW5jbHV5ZW5kbyBlbCBlc3BhY2lvLgorICAgZSAtIGRlc2RlIGVsIGN1cnNvciBoYXN0YSBlbCBmaW5hbCBkZSBsYSBwYWxhYnJhLCBTSU4gaW5jbHVpciBlbCBlc3BhY2lvLgorICAgJCAtIGRlc2RlIGVsIGN1cnNvciBoYXN0YSBlbCBmaW5hbCBkZSBsYSBs7W5lYS4KKworTk9URTogUGFyYSBsb3MgYXZlbnR1cmVyb3MsIHB1bHNhbmRvIHPzbG8gZWwgb2JqZXRvIGVzdGFuZG8gZW4gbW9kbyBOb3JtYWwKKyAgICAgIHNpbiB1biBtYW5kYXRvIG1vdmVy4SBlbCBjdXJzb3IgY29tbyBzZSBlc3BlY2lmaWNhIGVuIGxhIGxpc3RhIGRlIG9iamV0b3MuCisKKworCit+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+fn4KKwkgICAgICAgTGVjY2nzbiAyLjQ6IFVOQSBFWENFUENJ004gQUwgJ01BTkRBVE8tT0JKRVRPJworCisJICAgKiogRXNjcmliYQlkZCAgIHBhcmEgYm9ycmFyIHVuYSBs7W5lYSBlbnRlcmEuICoqCisKKyAgRGViaWRvIGEgbGEgZnJlY3VlbmNpYSBjb24gcXVlIHNlIGJvcnJhbiBs7W5lYXMgZW50ZXJhcywgbG9zIGRpc2XxYWRvcmVzCisgIGRlIFZpbSBkZWNpZGllcm9uIHF1ZSBzZXLtYSBt4XMgZuFjaWwgZWwgZXNjcmliaXIgc2ltcGxlbWVudGUgZG9zIGRlcyBlbgorICB1bmEgZmlsYSBwYXJhIGJvcnJhcgl1bmEgbO1uZWEuCisKKyAgMS4gTXVldmEgZWwgY3Vyc29yIGEgbGEgc2VndW5kYSBs7W5lYSBkZSBsYSBsaXN0YSBkZSBhYmFqby4KKyAgMi4gRXNjcmliYSAgZGQgIHBhcmEgYm9ycmFyIGxhIGztbmVhLgorICAzLiBNdel2YXNlIGFob3JhIGEgbGEgY3VhcnRhIGztbmVhLgorICA0LiBFc2NyaWJhICAgMmRkICAgKHJlY3VlcmRlCW76bWVyby1tYW5kYXRvLW9iamV0bykgcGFyYSBib3JyYXIgbGFzIGRvcworICAgICBs7W5lYXMuCisKKyAgICAgIDEpIExhcyByb3NhcyBzb24gcm9qYXMsCisgICAgICAyKSBFbCBiYXJybyBlcyBkaXZlcnRpZG8sCisgICAgICAzKSBFbCBjaWVsbyBlcyBhenVsLAorICAgICAgNCkgWW8gdGVuZ28gdW4gY29jaGUsCisgICAgICA1KSBMb3MgcmVsb2plcyBtYXJjYW4gbGEgaG9yYSwKKyAgICAgIDYpIEVsIGF6dWNhciBlcyBkdWxjZSwKKyAgICAgIDcpIFkgYXPtIGVyZXMgdHUuCisKK35+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+fgorCQkgICAgICAgTGVjY2nzbiAyLjU6IEVMIE1BTkRBVE8gREVTSEFDRVIKKworCisgICAqKiBQdWxzZSAgdQlwYXJhIGRlc2hhY2VyIGxvcyD6bHRpbW9zIG1hbmRhdG9zLAorCSAgICAgVQlwYXJhIGRlc2hhY2VyIHVuYSBs7W5lYSBlbnRlcmEuICAgICAgICoqCisKKyAgMS4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4geSBzaXT6ZWxvIGJham8gZWwKKyAgICAgcHJpbWVyIGVycm9yLgorICAyLiBQdWxzZSAgeCAgcGFyYSBib3JyYXIgZWwgcHJpbWVyIGNhcuF0ZXIgZXJy825lby4KKyAgMy4gUHVsc2UgYWhvcmEgIHUgIHBhcmEgZGVzaGFjZXIgZWwg+mx0aW1vIG1hbmRhdG8gZWplY3V0YWRvLgorICA0LiBBaG9yYSBjb3JyaWphIHRvZG9zIGxvcyBlcnJvcmVzIGRlIGxhIGztbmVhIHVzYW5kbyBlbCBtYW5kYXRvICB4LgorICA1LiBQdWxzZSBhaG9yYSAgVSAgbWF5+nNjdWxhIHBhcmEgZGV2b2x2ZXIgbGEgbO1uZWEgYSBzdSBlc3RhZG8gb3JpZ2luYWwuCisgIDYuIFB1bHNlIGFob3JhICB1ICB1bmFzIHBvY2FzIHZlY2VzIHBhcmEgZGVzaGFjZXIgbG8gaGVjaG8gcG9yICBVICB5IGxvcworICAgICBtYW5kYXRvcyBwcmV2aW9zLgorICA3LiBBaG9yYSBwdWxzZSBDVFJMLVIgKG1hbnRlbmdhIHB1bHNhZGEgbGEgdGVjbGEgQ1RSTCB5IHB1bHNlIFIpIHVuYXMKKyAgICAgcG9jYXMgdmVjZXMgcGFyYSB2b2x2ZXIgYSBlamVjdXRhciBsb3MgbWFuZGF0b3MgKGRlc2hhY2VyIGxvIGRlc2hlY2hvKS4KKworLS0tPiBDb3JycmlqYSBsb3MgZXJyb3JlcyBkZWUgZXN0dHRhIGztbmVhIHkgdnV1ZWx2YSBhIHBvbmVybG9zIGNvb24gZGVzaGFjZXIuCisKKyAgOC4gRXN0b3MgbWFuZGF0b3Mgc29uIG11eSD6dGlsZXMuIEFob3JhIHBhc2UgYWwgcmVzdW1lbiBkZSBsYSBMZWNjafNuIDIuCisKK35+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+fgorCQkJICAgIFJFU1VNRU4gREUgTEEgTEVDQ0nTTiAyCisKKyAgMS4gUGFyYSBib3JyYXIgZGVzZGUgZWwgY3Vyc29yIGhhc3RhIGVsIGZpbmFsIGRlIHVuYSBwYWxhYnJhIHB1bHNlOglkdworCisgIDIuIFBhcmEgYm9ycmFyIGRlc2RlIGVsIGN1cnNvciBoYXN0YSBlbCBmaW5hbCBkZSB1bmEgbO1uZWEgcHVsc2U6CWQkCisKKyAgMy4gUGFyYSBib3JyYXIgdW5hIGztbmVhIGVudGVyIHB1bHNlOiAgICBkZAorCisgIDQuIEVsIGZvcm1hdG8gZGUgdW4gbWFuZGF0byBlbiBtb2RvIE5vcm1hbCBlczoKKworICAgICAgIFtu+m1lcm9dICAgbWFuZGF0byAgIG9iamV0byAgIE8JIG1hbmRhdG8gICBbbvptZXJvXSAgIG9iamV0bworICAgICBkb25kZToKKyAgICAgICBu+m1lcm8gLSBlcyBjdeFudGFzIHZlY2VzIHNlIGhhIGRlIGVqZWN1dGFyIGVsIG1hbmRhdG8KKyAgICAgICBtYW5kYXRvIC0gZXMgbG8gcXVlIGhheSBxdWUgaGFjZXIsIHBvciBlamVtcGxvLCBkIHBhcmEgYm9ycmFyCisgICAgICAgb2JqZXRvIC0gZXMgc29icmUgbG8gcXVlIGVsIG1hbmRhdG8gdmEgYSBvcGVyYXIsIHBvciBlamVtcGxvCisJCXcgKHBhbGFicmEpLCAkIChoYXN0YSBlbCBmaW5hbCBkZSBsYSBs7W5lYSksIGV0Yy4KKworICA1LiBQYXJhIGRlc2hhY2VyIGFjY2lvbmVzIHByZXZpYXMgcHVsc2U6CQkgdSAodSBtaW76c2N1bGEpCisgICAgIFBhcmEgZGVzaGFjZXIgdG9kb3MgbG9zIGNhbWJpb3MgZGUgdW5hIGztbmVhIHB1bHNlOiBVIChVIG1hefpzY3VsYSkKKyAgICAgUGFyYSBkZXNoYWNlciBsbyBkZXNoZWNobyBwdWxzZToJCQkgQ1RSTC1SCisKKworfn5+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+CisJCQkgTGVjY2nzbiAzLjE6IEVMIE1BTkRBVE8gq1BVVLsgKHBvbmVyKQorCisgICoqIFB1bHNlIHAgcGFyYSBwb25lciBsbyD6bHRpbW8gcXVlIGhhIGJvcnJhZG8gZGVzcHXpcyBkZWwgY3Vyc29yLiAqKgorCisgIDEuIE11ZXZhIGVsIGN1cnNvciBhbCBmaW5hbCBkZSBsYSBsaXN0YSBkZSBhYmFqby4KKworICAyLiBFc2NyaWJhICBkZCAgcGFyYSBib3JyYXIgbGEgbO1uZWEgeSBhbG1hY2VuYXJsYSBlbiBlbCBidWZmZXIgZGUgVmltLgorCisgIDMuIE11ZXZhIGVsIGN1cnNvciBhIGxhIGztbmVhIHF1ZSBkZWJlIHF1ZWRhciBwb3IgZGViYWpvIGRlIGxhCisgICAgIGztbmVhIGEgbW92ZXIuCisKKyAgNC4gRXN0YW5kbyBlbiBtb2QgTm9ybWFsLCBwdWxzZSAgIHAJcGFyYSByZXN0aXR1aXIgbGEgbO1uZWEgYm9ycmFkYS4KKworICA1LiBSZXBpdGEgbG9zIHBhc29zIDIgYSA0IHBhcmEgcG9uZXIgdG9kYXMgbGFzIGztbmVhcyBlbiBlbCBvcmRlbiBjb3JyZWN0by4KKworICAgICBkKSC/UHVlZGVzIGFwcmVuZGVybGEgdHU/CisgICAgIGIpIExhcyB2aW9sZXRhcyBzb24gYXp1bGVzLAorICAgICBjKSBMYSBpbnRlbGlnZW5jaWEgc2UgYXByZW5kZSwKKyAgICAgYSkgTGFzIHJvc2FzIHNvbiByb2phcywKKworfn5+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+CisJCSAgICAgICBMZWNjafNuIDMuMjogRUwgTUFOREFUTyCrUkVQTEFDRbsgKHJlbXBsYXphcikKKworCisgICoqIFB1bHNlICByICB5IHVuIGNhcuFjdGVyIHBhcmEgc3VzdGl0dWlyIGVsIGNhcuFjdGVyIHNvYnJlIGVsIGN1cnNvci4gKioKKworCisgIDEuIE11ZXZhIGVsIGN1cnNvciBhIGxhIHByaW1lcmEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCisKKyAgMi4gTXVldmEgZWwgY3Vyc29yIHBhcmEgc2l0dWFybG8gYmFqbyBlbCBwcmltZXIgZXJyb3IuCisKKyAgMy4gUHVsc2UgICByCSB5IGVsIGNhcuFjdGVyIHF1ZSBkZWJlIHN1c3RpdHVpciBhbCBlcnLzbmVvLgorCisgIDQuIFJlcGl0YSBsb3MgcGFzb3MgMiB5IDMgaGFzdGEgcXVlIGxhIHByaW1lcmEgbO1uZWEgZXN06SBjb3JyZWdpZGEuCisKKy0tLT4goUN1ZW5kbyBlc3RhIGztbmVhIGZ1ZSByc2NyaXRhIGFsZ3VpZW4gcHVsc28gYWxndW5hcyB0ZWNsYXMgZXF1aWJvY2FkYXMhCistLS0+IKFDdWFuZG8gZXN0YSBs7W5lYSBmdWUgZXNjcml0YSBhbGd1aWVuIHB1bHPzIGFsZ3VuYXMgdGVjbGFzIGVxdWl2b2NhZGFzIQorCisKKworCisKKworfn5+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+CisJCQlMZWNjafNuIDMuMzogRUwgTUFOREFUTyCrQ0hBTkdFuyAoY2FtYmlhcikKKworCisgICAgICoqIFBhcmEgY2FtYmlhciBwYXJ0ZSBkZSB1bmEgcGFsYWJyYSBvIHRvZGEgZWxsYSBlc2NyaWJhICBjdyAuICoqCisKKworICAxLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgorCisgIDIuIFNpdPplIGVsIGN1cnNvciBlbiBsYSB1IGRlIGx1YnJzLgorCisgIDMuIEVzY3JpYmEgIGN3ICB5IGNvcnJpamEgbGEgcGFsYWJyYSAoZW4gZXN0ZSBjYXNvLCBlc2NyaWJhICftbmVhJykuCisKKyAgNC4gUHVsc2UgPEVTQz4geSBtdWV2YSBlbCBjdXJzb3IgYWwgZXJyb3Igc2lndWllbnRlIChlbCBwcmltZXIgY2Fy4WN0ZXIKKyAgICAgcXVlIGRlYmEgY2FtYmlhcnNlKS4KKworICA1LiBSZXBpdGEgbG9zIHBhc29zIDMgeSA0IGhhc3RhIHF1ZSBsYSBwcmltZXJhIGZyYXNlIHNlYSBpZ3VhbCBhIGxhIHNlZ3VuZGEuCisKKy0tLT4gRXN0YSBsdWJycyB0aWVuZSB1bmFzIHBvY2FzIHBza2F2dGFkIHF1ZSBjb3JyZWdpciB1c2VtIGVsIG1hbmRhdG8gY2hhbmdlLgorLS0tPiBFc3RhIGztbmVhIHRpZW5lIHVuYXMgcG9jYXMgcGFsYWJyYXMgcXVlIGNvcnJlZ2lyIHVzYW5kbyBlbCBtYW5kYXRvIGNoYW5nZS4KKworCit+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+fn4KKwkJICAgICAgTGVjY2nzbiAzLjQ6IE3BUyBDQU1CSU9TIFVTQU5ETyBjCisKKyAgICoqIEVsIG1hbmRhdG8gY2hhbmdlIHNlIHV0aWxpemEgY29uIGxvcyBtaXNtb3Mgb2JqZXRvcyBxdWUgZGVsZXRlLiAqKgorCisgIDEuIEVsIG1hbmRhdG8gY2hhbmdlIGZ1bmNpb25hIGRlIGxhIG1pc21hIGZvcm1hIHF1ZSBkZWxldGUuIEVsIGZvcm1hdG8gZXM6CisKKyAgICAgICBbbvptZXJvXSAgIGMgICBvYmpldG8JICAgTwkgICAgYwlbbvptZXJvXSAgIG9iamV0bworCisgIDIuIExvcyBvYmpldG9zIHNvbiB0YW1iaeltIGxvcyBtaXNtb3MsIHRhbGVzIGNvbW8gIHcgKHBhbGFicmEpLCAkIChmaW4gZGUKKyAgICAgbGEgbO1uZWEpLCBldGMuCisKKyAgMy4gTXVldmEgZWwgY3Vyc29yIGEgbGEgcHJpbWVyYSBs7W5lYSBkZSBhYmFqbyBzZfFhbGFkYSBjb24gLS0tPi4KKworICA0LiBNdWV2YSBlbCBjdXJzb3IgYWwgcHJpbWVyIGVycm9yLgorCisgIDUuIEVzY3JpYmEgIGMkICBwYXJhIGhhY2VyIHF1ZSBlbCByZXN0byBkZSBsYSBs7W5lYSBzZWEgY29tbyBsYSBzZWd1bmRhCisgICAgIHkgcHVsc2UgPEVTQz4uCisKKy0tLT4gRWwgZmluYWwgZGUgZXN0YSBs7W5lYSBuZWNlc2l0YSBhbGd1bmEgYXl1ZGEgcGFyYSBxdWUgc2VhIGNvbW8gbGEgc2VndW5kYS4KKy0tLT4gRWwgZmluYWwgZGUgZXN0YSBs7W5lYSBuZWNlc2l0YSBzZXIgY29ycmVnaWRvIHVzYW5kbyBlbCBtYW5kYXRvICBjJC4KKworfn5+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+CisJCQkgICAgUkVTVU1FTiBERSBMQSBMRUNDSdNOIDMKKworCisgIDEuIFBhcmEgc3VzdGl0dWlyIHRleHRvIHF1ZSBoYSBzaWRvIGJvcnJhZG8sIHB1bHNlICBwIC4gRXN0byBQb25lIGVsIHRleHRvCisgICAgIGJvcnJhZG8gREVTUFXJUyBkZWwgY3Vyc29yIChzaSBsbyBxdWUgc2UgaGEgYm9ycmFkbyBlcyB1bmEgbO1uZWEgc2UKKyAgICAgc2l0dWFy4SBzb2JyZSBsYSBs7W5lYSBxdWUgZXN04SBzb2JyZSBlbCBjdXJzb3IpLgorCisgIDIuIFBhcmEgc3VzdGl0dWlyIGVsIGNhcuFjdGVyIGJham8gZWwgY3Vyc29yLCBwdWxzZQlyICAgeSBsdWVnbyBlbAorICAgICBjYXLhY3RlciBxdWUgc3VzdGl0dWly4SBhbCBvcmlnaW5hbC4KKworICAzLiBFbCBtYW5kYXRvIGNoYW5nZSBsZSBwZXJtaXRlIGNhbWJpYXIgZWwgb2JqZXRvIGVzcGVjaWZpY2FkbyBkZXNkZSBsYQorICAgICBwb3NpY2nzbiBkZWwgY3Vyc29yIGhhc3RhIGVsIGZpbmFsIGRlbCBvYmpldG87IGUuZy4gUHVsc2UJY3cgIHBhcmEKKyAgICAgY2FtYmlhciBkZXNkZSBlbCBjdXJzb3IgaGFzdGEgZWwgZmluYWwgZGUgbGEgcGFsYWJyYSwgYyQgIHBhcmEgY2FtYmlhcgorICAgICBoYXN0YSBlbCBmaW5hbCBkZSBsYSBs7W5lYS4KKworICA0LiBFbCBmb3JtYXRvIHBhcmEgY2hhbmdlIGVzOgorCisJIFtu+m1lcm9dICAgYwlvYmpldG8JICAgICAgTwkJYyAgIFtu+m1lcm9dICAgb2JqZXRvCisKKyAgUGFzZSBhaG9yYSBhIGxhIGxlY2Np824gc2lndWllbnRlLgorCisKK35+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+fgorCSAgICAgICBMZWNjafNuIDQuMTogU0lUVUFDSdNOIEVOIEVMIEZJQ0hFUk8gWSBTVSBFU1RBRE8KKworCisgKiogUHVsc2UgQ1RSTC1nIHBhcmEgbW9zdHJhciBzdSBzaXR1YWNp824gZW4gZWwgZmljaGVybyB5IHN1IGVzdGFkby4KKyAgICBQdWxzZSBNQVlVLUcgcGFyYSBtb3ZlcnNlIGEgdW5hIGRldGVybWluYWRhIGztbmVhIGRlbCBmaWNoZXJvLiAqKgorCisgIE5vdGE6IKGhTGVhIGVzdGEgbGVjY2nzbiBlbnRlcmEgYW50ZXMgZGUgZWplY3V0YXIgYWxndW5vIGRlIGxvcyBwYXNvcyEhCisKKworICAxLiBNYW50ZW5nYSBwdWxzYWRhIGxhIHRlY2xhIEN0cmwgeSBwdWxzZSAgZyAuIEFwYXJlY2UgdW5hIGztbmVhIGRlIGVzdGFkbworICAgICBhbCBmaW5hbCBkZSBsYSBwYW50YWxsYSBjb24gZWwgbm9tYnJlIGRlbCBmaWNoZXJvIHkgbGEgbO1uZWEgZW4gbGEgcXVlCisgICAgIGVzdOEgc2l0dWFkby4gUmVjdWVyZGUgZWwgbvptZXJvIGRlIGxhIGztbmVhIHBhcmEgZWwgUGFzbyAzLgorCisgIDIuIFB1bHNlIE1heXUtRyBwYXJhIGlyIGFsIGZpbmFsIGRlbCBmaWNoZXJvLgorCisgIDMuIEVzY3JpYmEgZWwgbvptZXJvIGRlIGxhIGztbmVhIGVuIGxhIHF1ZSBlc3RhYmEgeSBkZXNw+mVzIE1heXUtRy4gRXN0bworICAgICBsZSB2b2x2ZXLhIGEgbGEgbO1uZWEgZW4gbGEgcXVlIGVzdGFiYSBjdWFuZG8gcHVsc/MgQ3RybC1nLgorICAgICAoQ3VhbmRvIGVzY3JpYmEgbG9zIG76bWVyb3MgTk8gc2UgbW9zdHJhcuFuIGVuIGxhIHBhbnRhbGxhKS4KKworICA0LiBTaSBzZSBzaWVudGUgY29uZmlhZG8gZW4gcG9kZXIgaGFjZXIgZXN0byBlamVjdXRlIGxvcyBwYXNvcyAxIGEgMy4KKworfn5+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+CisJCQlMZWNjafNuIDQuMjogRUwgTUFOREFUTyCrU0VBUkNIuyAoYnVzY2FyKQorCisgICAgICoqIEVzY3JpYmEgIC8gIHNlZ3VpZG8gZGUgdW5hIGZyYXNlIHBhcmEgYnVzY2FyIGxhIGZyYXNlLiAqKgorCisgIDEuIEVuIG1vZG8gTm9ybWFsIHB1bHNlIGVsIGNhcuFjdGVyICAvIC4gRu1qZXNlIHF1ZSB0YW50byBlbCBjYXLhY3RlciAgLworICAgICBjb21vIGVsIGN1cnNvciBhcGFyZWNlbiBlbiBsYSD6bHRpbWEgbO1uZWEgZGUgbGEgcGFudGFsbGEsIGxvIG1pc21vCisgICAgIHF1ZSBlbCBtYW5kYXRvICA6IC4KKworICAyLiBFc2NyaWJhIGFob3JhICAgZXJycm9vciAgIDxJTlRSTz4uIEVzdGEgZXMgbGEgcGFsYWJyYSBxdWUgcXVpZXJlIGJ1c2Nhci4KKworICAzLiBQYXJhIHJlcGV0aXIgbGEgYvpzcXVlZGEsIHNpbXBsZW1lbnRlIHB1bHNlICBuIC4KKyAgICAgUGFyYSBidXNhY2FyIGxhIG1pc21hIGZyYXNlIGVuIGxhIGRpcmVjY2nzbiBvcHVlc3RhLCBwdWxzZSBNYXl1LU4gLgorCisgIDQuIFNpIHF1aWVyZSBidXNjYXIgdW5hIGZyYXNlIGVuIGxhIGRpcmVjY2nzbiBvcHVlc3RhIChoYWNpYSBhcnJpYmEpLAorICAgICB1dGlsaWNlIGVsIG1hbmRhdG8gID8gIGVuIGx1Z2FyIGRlICAvIC4KKworLS0tPiBDdWFuZG8gbGEgYvpzcXVlZGEgYWxjYW56YSBlbCBmaW5hbCBkZWwgZmljaGVybyBjb250aW51YXLhIGRlc2RlIGVsCisgICAgIHByaW5jaXBpby4KKworICCrZXJycm9vcrsgbm8gZXMgbGEgZm9ybWEgZGUgZGVsZXRyZWFyIGVycm9yOyBlcnJyb29yIGVzIHVuIGVycm9yLgorCit+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+fn4KKwkgICAgICAgTGVjY2nzbiA0LjM6IELaU1FVRURBIFBBUkEgQ09NUFJPQkFSIFBBUslOVEVTSVMKKworICAgKiogUHVsc2UgJSAgcGFyYSBlbmNvbnRyYXIgZWwgcGFy6W50ZXNpcyBjb3JyZXNwb25kaWVudGUgYSApLF0gbyB9IC4gKioKKworCisgIDEuIFNpdPplIGVsIGN1cnNvciBlbiBjdWFscXVpZXJhIGRlIGxvcyBjYXJhY3RlcmVzICksIF0gbyB9IGVuIGxhIGztbmVhIGRlCisgICAgIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgorCisgIDIuIFB1bHNlIGFob3JhIGVsIGNhcuFjdGVyICAlICAuCisKKyAgMy4gRWwgY3Vyc29yIGRlYmVy7WEgc2l0dWFyc2UgZW4gZWwgcGFy6W50ZXNpcyAoLCBjb3JjaGV0ZSBbIG8gbGxhdmUgeworICAgICBjb3JyZXNwb25kaWVudGUuCisKKyAgNC4gUHVsc2UgICUgIHBhcmEgbW92ZXIgZGUgbnVldm8gZWwgY3Vyc29yIGFsIHBhculudGVzaXMsIGNvcmNoZXRlIG8gbGxhdmUKKyAgICAgY29ycmVzcG9uZGllbnRlLgorCistLS0+IEVzdG8gKCBlcyB1bmEgbO1uZWEgZGUgcHJ1ZWJhIGNvbiAoLCBbLCBdLCB7LCB5IH0gZW4gZWxsYS4gKSkuCisKK05vdGE6IKFFc3RvIGVzIG11eSD6dGlsIGVuIGxhIGRldGVjY2nzbiBkZSBlcnJvcmVzIGVuIHVuIHByb2dyYW1hIGNvbgorICAgICAgcGFy6W50ZXNpcywgY29yY2hldGVzIG8gbGxhdmVzIGRpc3BhcmVqb3MuCisKK35+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+fgorCQkgIExlY2Np824gNC40OiBVTkEgRk9STUEgREUgQ0FNQklBUiBFUlJPUkVTCisKKworICAgICoqIEVzY3JpYmEJOnMvdmllam8vbnVldm8vZyBwYXJhIHN1c3RpdHVpciAndmllam8nIHBvciAnbnVldm8nLiAqKgorCisKKyAgMS4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCisKKyAgMi4gRXNjcmliYSAgOnMvbGFhcy9sYXMvICA8SU5UUk8+IC4gVGVuZ2EgZW4gY3VlbnRhIHF1ZSBlc3RlIG1hbmRhdG8gY2FtYmlhCisgICAgIHPzbG8gbGEgcHJpbWVyYSBhcGFyaWNp824gZW4gbGEgbO1uZWEgZGUgbGEgZXhwcmVzafNuIGEgY2FtYmlhci4KKworLS0tPiBMYWFzIG1lam9yZXMg6XBvY2FzIHBhcmEgdmVyIGxhYXMgZmxvcmVzIHNvbiBsYWFzIHByaW1hdmVyYXMuCisKKyAgNC4gUGFyYSBjYW1iaWFyIHRvZGFzIGxhcyBhcGFyaWNpb25lcyBkZSB1bmEgZXhwcmVzafNuIGVudGUgZG9zIGztbmVhcworICAgICBlc2NyaWJhICAgOiMsI3Mvdmllam8vbnVldm8vZyAgIGRvbmRlICMsIyBzb24gbG9zIG76bWVyb3MgZGUgbGFzIGRvcworICAgICBs7W5lYXMuIEVzY3JpYmEgICA6JXMvdmllam8vbnVldm8vZyAgIHBhcmEgaGFjZXIgbG9zIGNhbWJpb3MgZW4gdG9kbworICAgICBlbCBmaWNoZXJvLgorCisKKworCisKK35+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+fgorCQkJICAgIFJFU1VNRU4gREUgTEEgTEVDQ0nTTiA0CisKKworICAxLiBDdHJsLWcgIG11ZXN0cmEgbGEgcG9zaWNp824gZGVsIGN1cnNvciBlbiBlbCBmaWNoZXJvIHkgc3UgZXN0YWRvLgorICAgICBNYXl1LUcgbXVldmUgZWwgY3Vyc29yIGFsIGZpbmFsIGRlbCBmaWNoZXJvLiBVbiBu+m1lcm8gZGUgbO1uZWEKKyAgICAgc2V3Z3VpZG8gZGUgTWF5dS1HIG11ZXZlIGVsIGN1cnNvciBhIGxhIGztbmVhIGNvbiBlc2UgbvptZXJvLgorCisgIDIuIFB1bHNhbmRvICAvICBzZWd1aWRvIGRlIHVuYSBmcmFzZSBidXNjYSBsYSBmcmFzZSBoYWNpYSBBREVMQU5URS4KKyAgICAgUHVsc2FuZG8gID8gIHNlZ3VpZG8gZGUgdW5hIGZyYXNlIGJ1c2NhIGxhIGZyYXNlIGhhY2lhIEFUUsFTLgorICAgICBEZXNwdelzIGRlIHVuYSBi+nNxdWVkYSBwdWxzZSAgbiAgcGFyYSBlbmNvbnRyYXIgbGEgYXBhcmljafNuCisgICAgIHNpZ3VpZW50ZSBlbiBsYSBtaXNtYSBkaXJlY2Np824uCisKKyAgMy4gUHVsc2FuZG8gICUgIGN1YW5kbyBlbCBjdXJzb3IgZXN0YSBzb2JyZSAoLCksIFssXSwgeyBvIH0gbG9jYWxpemEKKyAgICAgbGEgcGFyZWphIGNvcnJlc3BvbmRpZW50ZS4KKworICA0LiBQYXJhIGNhbWJpYXIgdmllam8gcG9yIG51ZXZvIGVuIHVuYSBs7W5lYSBwdWxzZQkgICAgICA6cy92aWVqby9udWV2bworICAgICBQYXJhIGNhbWJpYXIgdG9kb3MgbG9zIHZpZWpvIHBvciBudWV2byBlbiB1bmEgbO1uZWEgcHVsc2UgOnMvdmllam8vbnVldm8vZworICAgICBQYXJhIGNhbWJpYXIgZnJhc2VzIGVudHJlIGRvcyBu+m1lcm9zIGRlIGztbmVhcyBwdWxzZSAgOiMsI3Mvdmllam8vbnVldm8vZworICAgICBQYXJhIGNhbWJpYXIgdmllam8gcG9yIG51ZXZvIGVuIHRvZG8gZWwgZmljaGVybyBwdWxzZSAgOiVzL3ZpZWpvL251ZXZvL2cKKyAgICAgUGFyYSBwZWRpciBjb25maXJtYWNp824gZW4gY2FkYSBjYXNvIGHxYWRhICAnYycJICAgIDolcy92aWVqby9udWV2by9nYworCisKK35+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+fgorCQlMZWNjafNuIDUuMTogQ9NNTyBFSkVDVVRBUiBVTiBNQU5EQVRPIEVYVEVSTk8KKworCisgICoqIEVzY3JpYmEgIDohICBzZWd1aWRvIGRlIHVuIG1hbmRhdG8gZXh0ZXJubyBwYXJhIGVqZWN1dGFyIGVzZSBtYW5kYXRvLiAqKgorCisKKyAgMS4gRXNjcmliYSBlbCBjb25vY2lkbyBtYW5kYXRvICA6ICBwYXJhIHNpdHVhciBlbCBjdXJzb3IgYWwgZmluYWwgZGUgbGEKKyAgICAgcGFudGFsbGEuIEVzdG8gbGUgcGVybWl0aXLhIGludHJvZHVjaXIgdW4gbWFuZGF0by4KKworICAyLiBBaG9yYSBlc2NyaWJhIGVsIGNhcuFjdGVyICEgKHNpZ25vIGRlIGFkbWlyYWNp824pLiBFc3RvIGxlIHBlcm1pdGly4QorICAgICBlamVjdXRhciBjdWFscXVpZXIgbWFuZGF0byBkZWwgc2lzdGVtYS4KKworICAzLiBDb21vIGVqZW1wbG8gZXNjcmliYSAgIGxzCSBkZXNwdelzIGRlbCAhIHkgbHVlZ28gcHVsc2UgPElOVFJPPi4gRXN0bworICAgICBsZSBtb3N0cmFy4SB1bmEgbGlzdGEgZGUgc3UgZGlyZWN0b3JpbywgaWd1YWwgcXVlIHNpIGVzdHV2aWVyYSBlbiBlbAorICAgICBz7W1ib2xvIGRlbCBzaXN0ZW1hLiBTaSAgbHMgIG5vIGZ1bmNpb25hIHV0aWxpY2UJITpkaXIJLgorCistLS0+Tm90YTogRGUgZXN0YSBtYW5lcmEgZXMgcG9zaWJsZSBlamVjdXRhciBjdWFscXVpZXIgbWFuZGF0byBleHRlcm5vLgorCistLS0+Tm90YTogVG9kb3MgbG9zIG1hbmRhdG9zICAgOiAgIGRlYmVuIGZpbmFsaXphcnNlIHB1bHNhbmRvIDxJTlRSTz4uCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWNjafNuIDUuMjogTcFTIFNPQlJFIEdVQVJEQVIgRklDSEVST1MKKworCisgICAgICoqIFBhcmEgZ3VhcmRhciBsb3MgY2FtYmlvcyBoZWNob3MgZW4gdW4gZmljaGVybywKKwllc2NyaWJhICA6dyBOT01CUkVfREVfRklDSEVSTy4gKioKKworCisgIDEuIEVzY3JpYmEgIDohZGlyICBvCTohbHMgIHBhcmEgdmVyIHVuYSBsaXN0YSBkZSBzdSBkaXJlY3RvcmlvLgorICAgICBZYSBzYWJlIHF1ZSBkZWJlIHB1bHNhciA8SU5UUk8+IGRlc3B16XMgZGUgZWxsby4KKworICAyLiBFbGlqYSB1biBub21icmUgZGUgZmljaGVybyBxdWUgdG9kYXbtYSBubyBleGlzdGEsIGNvbW8gVEVTVC4KKworICAzLiBBaG9yYSBlc2NyaWJhICAgOncgVEVTVCAgKGRvbmRlIFRFU1QgZXMgZWwgbm9tYnJlIGRlIGZpY2hlcm8gZWxlZ2lkbykuCisKKyAgNC4gRXN0YSBhY2Np824gZ3VhcmRhIHRvZG8gZWwgZmljaGVybyAgKFZpbSBUdXRvcikgIGJham8gZWwgbm9tYnJlIFRFU1QuCisgICAgIFBhcmEgY29tcHJvYmFybG8gZXNjcmliYQk6IWRpcglkZSBudWV2byB5IHZlYSBzdSBkaXJlY3RvcmlvLgorCistLS0+IFRlbmdhIGVuIGN1ZW50YSBxdWUgc2kgc2FsZSBkZSBWaW0geSAgZW50cmEgZGUgbnVldm8gY29uIGVsIG5vbWJyZSBkZQorICAgICBmaWNoZXJvIFRFU1QsIGVsIGZpY2hlcm8gc2Vy7WEgdW5hIGNvcGlhIGV4YWN0YSBkZWwgdHV0b3IgY3VhbmRvIGxvCisgICAgIGhhIGd1YXJkYWRvLgorCit+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+fn4KKwkgICAgICAgTGVjY2nzbiA1LjM6IFVOIE1BTkRBVE8gREUgRVNDUklUVVJBIFNFTEVDVElWTworCisgICAqKiBQYXJhIGd1YXJkYXIgcGFydGUgZGVsIGZ1Y2hlcm8gZXNjcmliYSAgIDojLCMgTk9NQlJFX0RFTF9GSUNIRVJPICoqCisKKworICAxLiBFc2NyaWJhIGRlIG51ZXZvLCB1bmEgdmV6IG3hcywgIDohZGlyICBvICA6IWxzICBwYXJhIG9idGVuZXIgdW5hIGxpc3RhCisgICAgIGRlIHN1IGRpcmVjdG9yaW8geSBlbGlqYSBub21icmUgZGUgZmljaGVybyBhZGVjdWFkbywgY29tbyBURVNULgorCisgIDIuIE11ZXZhIGVsIGN1cnNvciBhbCBwcmluY2lwaW8gZGUgbGEgcGFudGFsbGEgeSBwdWxzZSAgQ3RybC1nICBwYXJhIHNhYmVyCisgICAgIGVsIG76bWVybyBkZSBsYSBs7W5lYSBjb3JyZXNwb25kaWVudGUuIKFSRUNVRVJERSBFU1RFIE7aTUVSTyEKKworICAzLiBBaG9yYSBtdWV2YSBlbCBjdXJzb3IgYSBsYSD6bHRpbWEgbO1uZWEgZGUgbGEgcGFudGFsbGEgeSBwdWxzZSBDdHJsLWcKKyAgICAgZGUgbnVldm8uIKFSRUNVRVJERSBUQU1CSclOIEVTVEUgTtpNRVJPIQorCisgIDQuIFBhcmEgZ3VhcmRhciBTT0xBTUVOVEUgdW5hIHBhcnRlIGRlIHVuIGZpY2hlcm8sIGVzY3JpYmEgIDojLCMgdyBURVNUCisgICAgIGRvbmRlICMsIyBzb24gbG9zIG76bWVyb3MgcXVlIHVzdGVkIGhhIHJlY29yZGFkbyAocHJpbWVyYSBs7W5lYSwKKyAgICAg+mx0aW1hIGztbmVhKSB5IFRFU1QgZXMgc3Ugbm9tYnJlIGRlIGRpY2hlcm8uCisKKyAgNS4gRGUgbnVldm8sIHZlYSBxdWUgZWwgZmljaGVybyBlc3RhIGFo7SBjb24JOiFkaXIgIHBlcm8gTk8gbG8gYm9ycmUuCisKKworfn5+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+CisJCUxlY2Np824gNS40OiBSRUNVUEVSQU5ETyBZIE1FWkNMQU5ETyBGSUNIRVJPUworCisgKiogUGFyYSBpbnNlcnRhciBlbCBjb250ZW5pZG8gZGUgdW4gZmljaGVybyBlc2NyaWJhIDpyIE5PTUJSRV9ERUxfRklDSEVSTyAqKgorCisgIDEuIEVzY3JpYmEgICA6IWRpciAgIHBhcmEgYXNlZ3VyYXJzZSBkZSBxdWUgc3UgZmljaGVybyBURVNUIGRlbCBlamVyY2ljaW8KKyAgICAgYW50ZXJpb3IgZXN04SBwcmVzZW50ZS4KKworICAyLiBTaXR1ZSBlbCBjdXJzb3IgYWwgcHJpbmNpcGlvIGRlIGVzdGEgcGFudGFsbGEuCisKK05PVEE6IERlc3B16XMgZGUgZWplY3V0YXIgZWwgcGFzbyAzIHNlIHZlcuEgbGEgTGVjY2nzbiA1LjMuIEx1ZWdvIG116XZhc2UKKyAgICAgIGhhY2lhIEFCQUpPIHBhcmEgdmVyIGVzdGEgbGVjY2nzbiBkZSBudWV2by4KKworICAzLiBBaG9yYSByZWN1cGVyZSBlbCBmaWNoZXJvIFRFU1QgdXRpbGl6YW5kbyBlbCBtYW5kYXRvICA6ciBURVNUICBkb25kZQorICAgICBURVNUIGVzIGVsIG5vbWJyZSBkZWwgZmljaGVyby4KKworTk9UQTogRWwgZmljaGVybyByZWN1cGVyYWRvIHNlIHNpdPphIGEgcGFydGlyIGRlIGxhIHBvc2ljafNuIGRlbCBjdXJzb3IuCisKKyAgNC4gUGFyYSB2ZXJpZmljYXIgcXVlIGVsIGZpY2hlcm8gaGEgc2lkbyByZWN1cGVyYWRvLCBtdWV2YSBlbCBjdXJzb3IgaGFjaWEKKyAgICAgYXJyaWJhIHkgdmVhIHF1ZSBoYXkgZG9zIGNvcGlhcyBkZSBsYSBMZWNjafNuIDUuMywgbGEgb3JpZ2luYWwgeSBsYQorICAgICB2ZXJzafNuIGRlbCBmaWNoZXJvLgorCit+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+fn4KKwkJCSAgIFJFU1VNRU4gREUgTEEgTEVDQ0nTTiA1CisKKworICAxLiAgOiFtYW5kYXRvICBlamVjdXRhIHVuIG1hbmRhdG8gZXh0ZXJuby4KKworICAgICAgQWxndW5vcyBlamVtcGxvcyD6dGlsZXMgc29uOgorCSAgOiFkaXIgLSBtdWVzdHJhIGVsIGNvbnRlbmlkbyBkZSB1biBkaXJlY3RvcmlvLgorCSAgOiFkZWwgTk9NQlJFX0RFX0ZJQ0hFUk8gIC0gIGJvcnJhIGVsIGZpY2hlcm8gTk9NQlJFX0RFIEZJQ0hFUk8uCisKKyAgMi4gIDojLCN3IE5PTUJSRV9ERSBfRklDSEVSTyAgZ3VhcmRhIGRlc2RlIGxhcyBs7W5lYXMgIyBoYXN0YSBsYSAjIGVuIGVsCisgICAgIGZpY2hlcm8gTk9NQlJFX0RFX0ZJQ0hFUk8uCisKKyAgMy4gIDpyIE5PTUJSRV9ERSBfRklDSEVSTyAgcmVjdXBlcmEgZWwgZmljaGVybyBkZWwgZGlzY28gTk9NQlJFX0RFIEZJQ0hFUk8KKyAgICAgeSBsbyBpbnNlcnRhIGVuIGVsIGZpY2hlcm8gZW4gY3Vyc28gYSBwYXJ0aXIgZGUgbGEgcG9zaWNp824gZGVsIGN1cnNvci4KKworCisKKworCisKKworfn5+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+CisJCQkgTGVjY2nzbiA2LjE6IEVMIE1BTkRBVE8gq09QRU67IChhYnJpcikKKworCisJICoqIFB1bHNlICBvICBwYXJhIGFicmlyIHVuYSBs7W5lYSBkZWJham8gZGVsIGN1cnNvcgorCSAgICB5IHNpdHVhcmxlIGVuIG1vZG8gSW5zZXJ0ICoqCisKKworICAxLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBs7W5lYSBkZSBhYmFqbyBzZfFhbGFkYSBjb24gLS0tPi4KKworICAyLiBQdWxzZSAgbyAobWlu+nNjdWxhKSBwYXJhIGFicmlyIHVuYSBs7W5lYSBwb3IgREVCQUpPIGRlbCBjdXJzb3IKKyAgICAgeSBzaXR1YXJsZSBlbiBtb2RvIEluc2VydC4KKworICAzLiBBaG9yYSBjb3BpZSBsYSBs7W5lYSBzZfFhbGFkYSBjb24gLS0tPiB5IHB1bHNlIDxFU0M+IHBhcmEgc2FsaXIgZGVsCisgICAgIG1vZG8gSW5zZXJ0LgorCistLS0+IEx1ZWdvIGRlIHB1bHNhciAgbyAgZWwgY3Vyc29yIHNlIHNpdPphIGVuIGxhIGztbmVhIGFiaWVydGEgZW4gbW9kbyBJbnNlcnQuCisKKyAgNC4gUGFyYSBhYnJpciB1bmEgbO1uZWEgcG9yIGVuY2ltYSBkZWwgY3Vyc29yLCBzaW1wbGVtZW50ZSBwdWxzZSB1bmEgTworICAgICBtYXn6c2N1bGEsIGVuIGx1Z2FyIGRlIHVuYSBvIG1pbvpzY3VsYS4gUHJ1ZWJlIGVzdGUgZW4gbGEgbO1uZWEgc2lndWllbnRlLgorQWJyYSB1bmEgbO1uZWEgc29icmUg6XN0YSBwdWxzYW5kbyBNYXl1LU8gY3VhbmRvIGVsIGN1cnNvIGVzdOEgZW4gZXN0YSBs7W5lYS4KKworfn5+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+CisJCQlMZWNjafNuIDYuMjogRUwgTUFOREFUTyCrQVBQRU5EuyAoYfFhZGlyKQorCisJICoqIFB1bHNlICBhICBwYXJhIGluc2VydGFyIHRleHRvIERFU1BVyVMgZGVsIGN1cnNvci4gKioKKworCisgIDEuIE11ZXZhIGVsIGN1cnNvciBhbCBmaW5hbCBkZSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+CisgICAgIHB1bHNhbmRvICAkICBlbiBtb2RvIE5vcm1hbC4KKworICAyLiBFc2NyaWJhIHVuYSAgYSAgKG1pbvpzY3VsYSkgcGFyYSBh8WFkaXIgdGV4dG8gREVTUFXJUyBkZWwgY2Fy4WN0ZXIKKyAgICAgcXVlIGVzdOEgc29icmUgZWwgY3Vyc29yLiAoQSBtYXn6c2N1bGEgYfFhZGUgdGV4dG8gYWwgZmluYWwgZGUgbGEgbO1uZWEpLgorCitOb3RhOiChRXN0byBldml0YSBlbCBwdWxzYXIgIGkgLCBlbCD6bHRpbW8gY2Fy4WN0ZXIsIGVsIHRleHRvIGEgaW5zZXJ0YXIsCisgICAgICA8RVNDPiwgY3Vyc29yIGEgbGEgZGVyZWNoYSB5LCBmaW5hbG1lbnRlLCB4ICwgc/NsbyBwYXJhIGHxYWRpciBhbGdvCisgICAgICBhbCBmaW5hbCBkZSB1bmEgbO1uZWEhCisKKyAgMy4gQ29tcGxldGUgYWhvcmEgbGEgcHJpbWVyYSBs7W5lYS4gTvN0ZXNlIHF1ZSBhcHBlbmQgZXMgZXhhY3RhbWVudGUgbG8KKyAgICAgbWlzbW8gcXVlIG1vZG8gSW5zZXJ0LCBleGNlcHRvIHBvciBlbCBsdWdhciBkb25kZSBzZSBpbnNlcnRhIGVsIHRleHRvLgorCistLS0+IEVzdGEgbO1uZWEgbGUgcGVybWl0aXLhIHByYXRpY2FyCistLS0+IEVzdGEgbO1uZWEgbGUgcGVybWl0aXLhIHByYXRpY2FyIGVsIGHxYWRpZG8gZGUgdGV4dG8gYWwgZmluYWwgZGUgdW5hIGztbmVhLgorCit+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+fn4KKwkJICAgICBMZWNjafNuIDYuMzogT1RSQSBWRVJTSdNOIERFIKtSRVBMQUNFuyAocmVtcGxhemFyKQorCisgICAgKiogUHVsc2UgdW5hICBSICBtYXn6c2N1bGEgcGFyYSBzdXN0aXR1aXIgbeFzIGRlIHVuIGNhcuFjdGVyLiAqKgorCisKKyAgMS4gTXVldmEgZWwgY3Vyc29yIGEgbGEgcHJpbWVyYSBs7W5lYSBkZSBhYmFqbyBzZfFhbGFkYSBjb24gLS0tPi4KKworICAyLiBTaXT6ZSBlbCBjdXJzb3IgYWwgY29taWVuem8gZGUgbGEgcHJpbWVyYSBwYWxhYnJhIHF1ZSBzZWEgZGlmZXJlbnRlCisgICAgIGRlIGxhcyBkZSBsYSBzZWd1bmRhIGztbmVhIG1hcmNhZGEgY29uIC0tLT4gKGxhIHBhbGFicmEgJ2FudGVyaW9yJykuCisKKyAgMy4gQWhvcmEgcHVsc2UgIFIgIHkgc3VzdGl0dXlhIGVsIHJlc3RvIGRlbCB0ZXh0byBkZSBsYSBwcmltZXJhIGztbmVhCisgICAgIGVzY3JpYmllbmRvIHNvYnJlIGVsIHZpZWpvIHRleHRvIHBhcmEgcXVlIGxhIHByaW1lcmEgbO1uZWEgc2VhIGlndWFsCisgICAgIHF1ZSBsYSBwcmltZXJhLgorCistLS0+IFBhcmEgaGFjZXIgcXVlIGVzdGEgbO1uZWEgc2VhIGlndWFsIHF1ZSBsYSBhbnRlcmlvciB1c2UgbGFzIHRlY2xhcy4KKy0tLT4gUGFyYSBoYWNlciBxdWUgZXN0YSBs7W5lYSBzZWEgaWd1YWwgcXVlIGxhIHNpZ3VpZW50ZSBlc2NyaWJhIFIgeSBlbCB0ZXh0by4KKworICA0LiBO83Rlc2UgcXVlIGN1YW5kbyBwdWxzZSA8RVNDPiBwYXJhIHNhbGlyLCBlbCB0ZXh0byBubyBhbHRlcmFkbyBwZXJtYW5lY2UuCisKKworCit+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+fn4KKwkJCSBMZWNjafNuIDYuNDogRklKQVIgT1BDSU9ORVMKKworICoqIEZpamFyIHVuYSBvcGNp824gZGUgZm9ybWEgcXVlIHVuYSBi+nNxdWVkYSBvIHN1c3RpdHVjafNuIGlnbm9yZSBsYSBjYWphICoqCisgIChQYXJhIGVsIGNvbmNlcHRvIGRlIGNhamEgZGUgdW5hIGxldHJhLCB26WFzZSBsYSBub3RhIGFsIGZpbmFsIGRlbCBmaWNoZXJvKQorCisKKyAgMS4gQnVzcXVlICdpZ25vcmFyJyBpbnRyb2R1Y2llbmRvOgorICAgICAvaWdub3JhcgorICAgICBSZXBpdGEgdmFyaWFzIHZlY2VzIGxhIGL6c3F1ZSBwdWxzYW5kbyBsYSB0ZWNsYSBuCisKKyAgMi4gRmlqZSBsYSBvcGNp824gJ2ljJyAoSWdub3JhciBsYSBjYWphIGRlIGxhIGxldHJhKSBlc2NyaWJpZW5kbzoKKyAgICAgOnNldCBpYworCisgIDMuIEFob3JhIGJ1c3F1ZSAnaWdub3JhcicgZGUgbnVldm8gcHVsc2FuZG8gbgorICAgICBSZXBpdGEgbGEgYvpzcXVlZGEgdmFyaWFzIHZlY2VzIG3hcyBwdWxzYW5kbyBsYSB0ZWNsYSBuCisKKyAgNC4gRmlqZSBsYXMgb3BjaW9uZXMgJ2hsc2VhcmNoJyB5ICdpbnNlYXJjaCc6CisgICAgIDpzZXQgaGxzIGlzCisKKyAgNS4gQWhvcmEgaW50cm9kdXpjYSBsYSBvcmRlbiBkZSBi+nNxdWVkYSBvdHJhIHZleiwgeSB2ZWEgcXXpIHBhc2E6CisgICAgIC9pZ25vcmUKKworfn5+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+CisJCQkgICBSRVNVTUVOIERFIExBIExFQ0NJ004gNgorCisKKyAgMS4gUHVsc2FuZG8gIG8gIGFicmUgdW5hIGztbmVhIHBvciBERUJBSk8gZGVsIGN1cnNvciB5IHNpdPphIGVsIGN1cnNvciBlbgorICAgICBsYSBs7W5lYSBhYmllcnRhIGVuIG1vZG8gSW5zZXJ0LgorICAgICBQdWxzYW5kbyB1bmEgTyBtYXn6c2N1bGEgc2UgYWJyZSB1bmEgbO1uZWEgU09CUkUgbGEgcXVlIGVzdOEgZWwgY3Vyc29yLgorCisgIDIuIFB1bHNlIHVuYQlhICBwYXJhIGluc2VydGFyIHRleHRvIERFU1BVyVMgZGVsIGNhcuFjdGVyIHNvYnJlIGVsIGN1cnNvci4KKyAgICAgUHVsc2FuZG8gdW5hICBBICBtYXn6c2N1bGEgYfFhZGUgYXV0b23hdGljYW1lbnRlIHRleHRvIGFsIGZpbmFsIGRlIGxhCisgICAgIGztbmVhLgorCisgIDMuIFB1bHNhbmRvIHVuYSAgUiAgbWF5+nNjdWxhIHNlIGVudHJhIGVuIG1vZG8gUmVwbGFjZSBoYXN0YSBxdWUsIHBhcmEgc2FsaXIsCisgICAgIHNlIHB1bHNlIDxFU0M+LgorCisgIDQuIEVzY3JpYmllbmRvIKs6c2V0IHh4eLsgZmlqYSBsYSBvcGNp824gq3h4eLsKKworCisKKworCisKKworfn5+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+CisJCSAgTGVjY2nzbiA3OiBNQU5EQVRPUyBQQVJBIExBIEFZVURBIEVOIEzNTkVBCisKKwkJICoqIFV0aWxpY2UgZWwgc2lzdGVtYSBkZSBheXVkYSBlbiBs7W5lYSAqKgorCisKKyAgVmltIGRpc3BvbmUgZGUgdW4gc2lzdGVtYSBkZSBheXVkYSBlbiBs7W5lYS4gUGFyYSBhY3RpdmFybG8sIHBydWViZSB1bmEKKyAgZGUgZXN0YXMgdHJlcyBmb3JtYXM6CisJLSBwdWxzZSBsYSB0ZWNsYSA8QVlVREE+IChzaSBkaXNwb25lIGRlIGVsbGEpCisJLSBwdWxzZSBsYSB0ZWNsYSA8RjE+IChzaSBkaXNwb25lIGRlIGVsbGEpCisJLSBlc2NyaWJhICAgOmhlbHAgPElOVFJPPgorCisgIEVzY3JpYmEgICA6cSA8SU5UUk8+CSBwYXJhIGNlcnJhciBsYSB2ZW50YW5hIGRlIGF5dWRhLgorCisgIFB1ZWRlIGVuY29udHJhciBheXVkYSBlbiBjYXNpIGN1YWxxdWllciB0ZW1hIGHxYWRpZW5kbyB1biBhcmd1bWVudG8gYWwKKyAgbWFuZGF0byCrOmhlbHC7IG1hbmRhdG8uIFBydWViZSDpc3RvczoKKworICA6aGVscCB3IDxJTlRSTz4KKyAgOmhlbHAgY188VCA8SU5UUk8+CisgIDpoZWxwIGluc2VydC1pbmRleCA8SU5UUk8+CisKKworfn5+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+CisKKyAgQXF17SBjb25jbHV5ZSBlbCB0dXRvciBkZSBWaW0uIEVzdOEgcGVuc2FkbyBwYXJhIGRhciB1bmEgdmlzafNuIGJyZXZlIGRlbAorICBlZGl0b3IgVmltLCBsbyBzdWZpY2llbnRlIHBhcmEgcGVybWl0aXJsZSB1c2FyIGVsIGVkaXRvciBkZSBmb3JtYSBiYXN0YW50ZQorICBzZW5jaWxsYS4gRXN04SBtdXkgbGVqb3MgZGUgZXN0YXIgY29tcGxldG8gcHVlcyBWaW0gdGllbmUgbXVjaO1zaW1vcyBt4XMKKyAgbWFuZGF0b3MuCisKKyAgUGFyYSBsZWN0dXJhcyB5IGVzdHVkaW9zIHBvc3RlcmlvcmVzIHNlIHJlY29taWVuZGEgZWwgbGlicm86CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIHBvciBMaW5kYSBMYW1iCisJRWRpdG9yaWFsOiBPJ1JlaWxseSAmIEFzc29jaWF0ZXMgSW5jLgorICBFcyB1biBidWVuIGxpYnJvIHBhcmEgbGxlZ2FyIGEgc2FiZXIgY2FzaSB0b2RvIGxvIHF1ZSBkZXNlZSBoYWNlciBjb24gVmkuCisgIExhIHNleHRhIGVkaWNp824gaW5jbHV5ZSB0YW1iaeluIGluZm9ybWFjafNuIHNvYnJlIFZpbS4KKworICBFc3RlIHR1dG9yaWFsIGhhIHNpZG8gZXNjcml0byBwb3IgTWljaGFlbCBDLiBQaWVyY2UgeSBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIHV0aWxpemFuZG8gaWRlYXMgc3VtaW5pc3RyYWRhcyBwb3IgQ2hhcmxlcyBTbWl0aCwKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4KKyAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgTW9kaWZpY2FkbyBwYXJhIFZpbSBwb3IgQnJhbSBNb29sZW5hYXIuCisKK35+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+fgorCisgIFRyYWR1Y2lkbyBkZWwgaW5nbOlzIHBvcjoKKworICBFZHVhcmRvIEYuIEFtYXRyaWEKKyAgQ29ycmVvIGVsZWN0cvNuaWNvOiBlZmVybmExQHBsYXRlYS5wbnRpYy5tZWMuZXMKKworfn5+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+CmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLnNrLmNwMTI1MCBiL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc2suY3AxMjUwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMmM5YjEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnNrLmNwMTI1MApAQCAtMCwwICsxLDEwMDggQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gICAgViBpIHQgYSBqIHQgZSAgIHYgbyAgIFYgSSBNICAgVCB1IHQgbyByIGkgYSBsIGkgICAgLSAgICBWZXJ6aWEgMS43ICAgICAgID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBWaW0gamUgdmW+bWkgdv1rb25u/SBlZGl0b3IsIGt0b3L9IG3hIHBy7WxpniB2Zb5hIHBy7Wthem92IG5hIHRvIGFieQorICAgICBtb2hsaSBieXQgdppldGt5IHBvcO1zYW7pIHZvIHb9dWtlIGFrb3UgamUgdOF0by4gVOF0byB2/XVrYQorICAgICBwb3Bpc3VqZSBkb3N0YXRv6G7pIG1ub55zdHZvIHBy7Wthem92IG5hdG8gYWJ5IGJvbG8gbW+ebukgcG91nu12YZ0KKyAgICAgVmltIGFrbyB2aWFj+uhlbG92/SBlZGl0b3IuCisKKyAgICAgUHJpYmxpnm79IOhhcyBwb3RyZWJu/SBuYSBwcmVicmF0aWUgdGVqdG8gdv11a3kgamUgMjUtMzAgbWlu+nQsCisgICAgIHrhdmlz7SBuYSB0b20sIGtvvmtvIGplIHN0cuF2ZW7paG8g6GFzdSBzIHByZXNr+pphdmFu7W0uCisKKyAgICAgVVBPWk9STkVOSUU6CisgICAgIFBy7WthenkgdiBsZWtjaeFjaCBtb2RpZmlrdWr6IHRleHQuIFZ5dHZvciBr83BpdSB0b2h0byBz+mJvcnUgYWJ5CisgICAgIHNhIG1vaGxvIHByZWN2aehvdmGdIG5hIPJvbSAocHJpIJp0YXJ0ZSAidmltdHV0b3IiIGplIHRvdG8ga/NwaWEpLgorCisgICAgIEplIGT0bGWeaXTpIHphcGFt5HRhnSBzaSwgnmUgdOF0byB2/XVrYSBqZSB2eXR2b3JlbuEgcHJlIHb9dWt1CisgICAgIHBvdZ7tdmFu7W0uIFRvIHpuYW1lbuEsIJ5lIGplIHBvdHJlYm7pIHNpIHBy7Wthenkgdnlza/qaYZ0sIGFieSBib2xvCisgICAgIHXoZW5pZSBzcHLhdm5lLiBBayBsZW4g6Gl0YXMgdGV4dCwgcHLta2F6eSB6YWJ1ZG5lmiEKKworICAgICBQcmVzdmVk6CBzYSwgnmUgU2hpZnQtTG9jayBOSUVKRSBzdGxh6GVu/SBhIHN0bGHodCBrbOF2ZXN1CisgICAgIGogIG5pZWtvvmtvIGty4XQsIGFieSBzYSBrdXJ6b3IgcG9zdW51bCBuYXRvvmtvLCCeZSBsZWtjaWEgMS4xCisgICAgIGNlbGtvbSB6YXBsbu0gb2JyYXpvdmt1LgorCit+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+fn4KKwkJCUxla2NpYSAxLjE6ICBQT0hZQiBLVVJaT1JPTQorCisKKyAgICoqIFByZSBwb2h5YiBrdXJ6b3J1bSBzdGxh6CBrbOF2ZXN5IGgsaixrLGwgYWtvIGplIHpu4Xpvcm5lbukuICoqCisgICAgICAgIF4KKyAgICAgICAgayAgICAgICAgRnVua2NpYTogS2zhdmVzYSBoIGplIG5hvmF2byBhIHZ5a29u4SBwb2h5YiBkb75hdmEuCisgICA8IGggICAgIGwgPiAgIEts4XZlc2EgbCBqZSBuYXByYXZvIGEgdnlrb27hIHBvaHliIGRvcHJhdmEuCisgICAgICAgIGogICAgICAgIEts4XZlc2EgaiB2eXplcuEgYWtvIJrtcGthIGRvbGUKKwkgICAgICB2CisgIDEuIFBvaHlidWoga3Vyem9yb20gcG8gb2JyYXpvdmtlLCBr/W0gc2kgbmEgdG8gbmV6dnlrbmWaLgorCisgIDIuIERyniBzdGxh6GVu+iBrbOF2ZXN1IHByZSBwb2h5YiBkb2xlIChqKSwga/1tIHNhIGplaiBmdW5rY2lhIG5lem9wYWt1amUuCistLS0+IFRlcmF6IHNhIHWeIHZpZZogcG9oeWJvdmGdIG5hIG5hc2xlZHVq+mN1IGxla2NpdS4KKworICAzLiBQb3WeaXTtbSBrbOF2ZXN5IHByZSBwb2h5YiBkb2xlIHByZWpkaSBuYSBMZWtjaXUgMS4yLgorCitQb3pu4W1rYTogQWsgc2kgbmllc2kgaXN0/SB0/W0g6G8gc2kgbmFw7XNhbCwgc3RsYeggPEVTQz4KKwkgICAgICAgIG5hIHByZWNob2QgZG8gbm9ybeFsbmVobyBt82R1LgorCitQb3pu4W1rYTogS3Vyem9yb3bpIGts4XZlc3kgc/ogdGllniBmdW5r6G7pLiBBbGUgcG91nu12YW7tbSBoamtsIHNhIGJ1ZGWaCisJICAgICAgICBzY2hvcG79IHBvaHlib3ZhnSBy/WNobGVqmmllLCBrZe8gc2kgenZ5a25lmiBpY2ggcG91nu12YZ0uIE5hb3phaiEKKworfn5+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+CisJCSAgICAgTEVLQ0lBIDEuMjogWkFUVsFSQU5JRSBWSU1VCisKKworICAhISBQT1pOwU1LQTogUHJlZCB2eWtvbmFu7W0gdP1jaHRvIGtyb2tvdiBzaSBwcmXo7XRhaiBjZWz6IHT6dG8gbGVrY2l1ICEhCisKKyAgMS4gU3RsYegga2zhdmVzdSA8RVNDPiAoYWJ5IHNpIHNhIHXoaXRlIG5hY2jhZHphbCB2IG5vcm3hbG5vbSBt82RlKQorCisgIDIuIE5hcO2aOiAgIDpxISA8RU5URVI+LgorICAgICBU/W0gdWtvbujtmiBwcuFjdSBzIGVkaXRvcm9tIEJFWiB1bG+eZW5pYSB6bWllbiwga3Rvcukgc2kgdnlrb25hbC4KKworICAzLiBLZe8gc2EgZG9zdGFuZZogbmEgcHLta2F6b3b9IHJpYWRvaywgbmFw7ZogcHLta2F6LCBrdG9y/W0gc2EgZG9zdGFuZZoKKyAgICAgc3BlnSBkbyB0ZWp0byB2/XVreS4gVG8gbfSeZSBieZ06CXZpbXR1dG9yIDxFTlRFUj4KKworICA0LiBBayBzaSBzaSB0aWV0byBrcm9reSBzcG++YWhsaXZvIHphcGFt5HRhbCwgdnlrb25haiBrcm9reSAxIGGeIDMsIHByZQorICAgICB1a29u6GVuaWUgYSB6bm92dSBzcHVzdGVuaWUgZWRpdG9yYS4KKworUE9aTsFNS0E6IDpxISA8RU5URVI+IG5ldWxvnu0gem1lbnksIGt0b3LpIHNpIHZ5a29uYWwuIE8gbmlla2++a28gbGVrY2ntCisgICAgICAgICAgc2EgbmF16O2aIGFrbyB1bG+eaZ0gem1lbnkgZG8gc/pib3J1CisKKyAgNS4gcHJlc3XyIGt1cnpvciBkb2xlIG5hIGxla2NpdSAxLjMuCisKK35+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+fgorCQkgICAgICBMZWtjaWEgMS4zOiBFRElUwUNJQSBURVhUVSAtIE1BWkFOSUUKKworCisqKiBTdGxh6GVuaWUga2zhdmVzeSAgeCAgdiBub3Jt4Wxub20gbfNkZSB6bWGeZSB6bmFrIG5hIG1pZXN0ZSBrdXJ6b3JhLiAqKgorCisgIDEuIFByZXN18iBrdXJ6b3IgbmmemmllIG5hIHJpYWRvayBvem5h6GVu/SB6bmHoa291IC0tLT4uCisKKyAgMi4gQWJ5IHNpIG1vaG9sIG9kc3Ry4W5pnSBjaHlieSwgcG9oeWJ1aiBrdXJ6b3JvbSBr/W0gbmVwcmVqZGUgbmEgem5haywKKyAgICAga3Rvcv0gY2hjZZogem1hemGdLgorCisgIDMuIFN0bGHoIGts4XZlc3UgIHggIGFieSBzYSB6bWF6YWwgbmVjaGNlbv0gem5hay4KKworICA0LiBab3Bha3VqIGtyb2t5IDIgYZ4gNCBhniBr/W0gdmV0YSBuaWVqZSBzcHLhdm5hLgorCistLS0+IEtyYWF2YSBza29v6GlsbGEgY2NlenogbWVzaWlhYy4KKworICA1LiBBayBqZSB2ZXRhIHNwcuF2bmEsIHByZWpkaSBuYSBsZWtjaXUgMS40LgorCitQT1pOwU1LQTogTmVza/qaYWogc2kgemFwYW3kdGGdIG9ic2FoIHRlanRvIHb9dWt5LCBhbGUgc2EgdeggcG91nu12YW7tbS4KKworCisKK35+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+fgorCQkgICAgIExla2NpYSAxLjQ6IEVESVTBQ0lBIFRFWFRVIC0gVktMQURBTklFCisKKworICAgICoqIFN0bGHoZW5pZSBrbOF2ZXN5ICBpICB1bW+e8nVqZSB2a2xhZGFuaWUgdGV4dHUuICoqCisKKyAgMS4gUHJlc3XyIGt1cnpvciBuaZ6aaWUgbmEgcHJ2/SByaWFkb2sgemEgem5h6Gt1IC0tLT4uCisKKyAgMi4gUHJlIHVwcmF2ZW5pZSBwcnbpaG8gcmlhZGt1IGRvIHJvdm5ha+lobyB0dmFydSBha28gamUgZHJ1aP0gcmlhZG9rLAorICAgICBwcmVzdfIga3Vyem9yIG5hIHBydv0gem5hayB6YSBtaXN0bywga2RlIG3hIGJ5nSB0ZXh0IHZsb55lbv0uCisKKyAgMy4gU3RsYegga2zhdmVzdSAgaSAgYSBuYXDtmiBwb3RyZWJu/SB0ZXh0LgorCisgIDQuIFBvIG9wcmF2ZW7tIGthnmRlaiBjaHlieSwgc3RsYeggPEVTQz4gcHJlIG7hdnJhdCBkbyBub3Jt4WxuZWhvIG3zZHUuCisgICAgIFpvcGFrdWoga3Jva3kgMiBhniA0IGv9bSBuaWVqZSB2ZXRhIHNwcuF2bmEuCisKKy0tLT4gVHUgamUgdGV4dCBjaP1iYWr6Y2kgdGVqdG8uCistLS0+IFR1IGplIG5lamFr/SB0ZXh0IGNo/WJhavpjaSBvZCB0ZWp0byDoaWFyeS4KKworICA1LiBLZe8gc2EgZG9zdGF0b+huZSBuYXXo7ZogdmtsYWRhnSB0ZXh0LCBwcmVqZGkgbmEgbmFzbGVkdWr6Y2UgemhybnV0aWUuCisKKworfn5+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+CisgICAgICAgIExla2NpYSAxLjU6IEVESVTBQ0lBIFRFWFRVIC0gUFJJRMFWQU5JRQorCisKKyAgICAgKiogU3RsYehlbmllIGts4XZlc3kgIEEgIHVtb57ydWplIHByaWThdmGdIHRleHQuICoqCisKKyAgMS4gUHJlc3XyIGt1cm96ciBuaZ6aaWUgbmEgcHJ2/SByaWFkb2sgemEgem5h6GtvdSAtLS0+LgorICAgICBOZXrhbGWe7SBuYSB0b20sIG5hIGt0b3JvbSB6bmFrdSBzYSBrdXJ6b3IgdiB0b20gcmlhZGt1IG5hY2jhZHphLgorCisgIDIuIFN0bGHoIGts4XZlc3UgIEEgIGEgbmFw7ZogcG90cmVibv0gdGV4dC4KKworICAzLiBQbyBwcmlkYW7tIHRleHR1IHN0bGHoIGts4XZlc3UgPEVTQz4gcHJlIG7hdnJhdCBkbyBOb3Jt4WxuZWhvIG3zZHUuCisKKyAgNC4gUHJlc3XyIGt1cm96ciBuYSBkcnVo/SByaWFkb2sgb3puYehlbv0gLS0tPiBhIHpvcGFrdWoKKyAgICAga3Jva3kgMiBhIDMga/1tIG5pZWplIHZldGEgc3By4XZuYS4KKworLS0tPiBUdSBqZSBuZWpha/0gdGV4dCBjaP1iYWr6Y2kgbworICAgICBUdSBqZSBuZWpha/0gdGV4dCBjaP1iYWr6Y2kgb2QgdGlhvnRvLgorLS0tPiBUdSB0aWWeIGNo/WJhIG5lagorICAgICBUdSB0aWWeIGNo/WJhIG5lamFr/SB0ZXh0LgorCisgIDUuIEtl7yBzYSBkb3N0YXRv6G5lIG5hdejtmiBwcmlk4XZhnSB0ZXh0LCBwcmVqZGkgbmEgbGVrY2l1IDEuNi4KKworCit+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+fn4KKyAgICAgICBMZWtjaWEgMS42OiBFRElUwUNJQSBT2kJPUlUKKworCisgICAgKiogTmFw7XNhbu1tICA6d3EgIHNhIHP6Ym9yIHVsb57tIGEgemF2cmllICoqCisKKyEhIFBPWk7BTUtBOiBQcmVkIHZ5a29uYW7tbSB0/WNodG8ga3Jva292IHNpIHByZejtdGFqIGNlbPogbGVrY2l1ISEKKworMS4gT3B1c3RpIHT6dG8gdv11a3UsIGFrbyBzaSB0byB1cm9iaWwgdiBsZWtjaWkgMS4yOiAgOnEhCisKKzIuIERvIHBy7Wthem926WhvIHJpYWRrdSBuYXDtmiBwcu1rYXo6ICB2aW0gdHV0b3IgPEVOVEVSPgorICAgJ3ZpbScgamUgcHLta2F6LCBrdG9y/SBzcHVzdO0gZWRpdG9yIFZpbSwgJ3R1dG9yJyBqZSBtZW5vIHP6Ym9ydSwKKyAgIGt0b3L9IGNoY2WaIGVkaXRvdmGdLiBQb3WeaSB0YWv9IHP6Ym9yLCBrdG9y/SBt9J5lmiBtZW5pnS4KKworMy4gVmxvniBhIHptYZ4gdGV4dCB0YWssIGFrbyBzaSBzYSBuYXXoaWwgdiBwcmVkb5ps/WNoIGxla2NpYWNoLgorCis0LiBVbG+eIHP6Ym9yIHNvIHptZW5hbWkgYSBvcHVzdGkgVmltIHBy7Wthem9tOiAgOndxICA8RU5URVI+CisKKzUuIFJlmnRhcnR1aiB2aW10dXRvciBhIHByZXN18iBzYSBkb2xlIG5hIG5hc2xlZHVq+mNlIHpocm51dGllLgorCis2LiBVcm9iIHRhayBwbyBwcmXo7XRhbu0gcHJlZG+abP1jaCBrcm9rb3YgYSBwb3JvenVtZW5pdSBpbS4KKworCit+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+fn4KKwkJCSAgICAgICBaSFJOVVRJRSBMRUtDSUUgMQorCisKKyAgMS4gS3Vyem9yIHNhIHBvaHlidWplIHBvdZ5pdO1tIGts4XZlcyBzbyCa7XBrYW1pIGFsZWJvIGts4XZlc21pIGhqa2wuCisJICBoIChkbyBsYXZhKSAgICBqIChkb2xlKSAgICBrIChob3JlKSAgICBsIChkb3ByYXZhKQorCisgIDIuIFByZSBzcHVzdGVuaWUgVmltdSAoeiBwcu1rYXpvdulobyByaWFka3UpIG5hcO2aOiB2aW0gRklMRU5BTUUgPEVOVEVSPgorCisgIDMuIE5hIHVrb27oZW5pZSBWaW11IG5hcO2aOiA8RVNDPiAgOnEhICA8RU5URVI+IHByZSB6cnWaZW5pZSB2mmV0a/1jaCB6bWllbgorICAgICAgIGFsZWJvIG5hcO2aOiAgIDxFU0M+ICAgOndxICAgPEVOVEVSPiAgICBwcmUgdWxvnmVuaWUgem1pZW4uCisKKyAgNC4gTmEgem1hemFuaWUgem5ha3UgbmEgbWllc3RlIGt1cnpvcmEgbmFw7Zo6ICB4CisKKyAgNS4gUHJlIHZsb55lbmllIHRleHR1IG5hIG1pZXN0ZSBrdXJ6b3JhIHYgbm9ybeFsbm9tIG3zZGUgbmFw7Zo6CisJIGkgICAgIG5hcO2aIHZrbGFkYW79IHRleHQgICA8RVNDPiAgdmtsYWRhbmllIHByZWQga3Vyem9yCisgICBBICAgICBuYXDtmiBwcmlk4XZhbv0gdGV4dCAgPEVYQz4gIHZrbGFkYW5pZSB6YSByaWFkb2sKKworUE9aTsFNS0E6IFN0bGHoZW5pZSA8RVNDPiCdYSBwcmVtaWVzdG7tIGRvIG5vcm3hbG5laG8gbfNkdSBhbGVibyB6cnWa7QorCSAgICAgICAgbmVqYWv9IG5lY2hjZW79IGEg6Glhc3Rv6G5lIGRva29u6GVu/SBwcu1rYXouCisKK1RlcmF6IHBva3Jh6HVqIGxla2Npb3UgMi4KKworCit+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+fn4KKwkJCUxla2NpYSAyLjE6IE1hemFjaWUgcHLta2F6eQorCisKKwkgKiogTmFw7XNhbmllIHBy7WthenUgIGR3ICB6bWGeZSB6bmFreSBkbyBrb25jYSBzbG92YS4gKioKKworMS4gU3RsYeggIDxFU0M+ICBhYnkgc2kgYm9sIGJlenBl6G5lIHYgbm9ybeFsbm9tIG3zZGUuCisKKzIuIFByZXN18iBrdXJ6b3IgbmmemmllIG5hIHJpYWRvayBvem5h6GVu/SB6bmHoa291IC0tLT4uCisKKzMuIFByZXN18iBrdXJ6b3IgbmEgemHoaWF0b2sgc2xvdmEsIGt0b3LpIGplIHBvdHJlYm7pIHptYXphnS4KKworNC4gTmFw7ZogIGR3ICBhYnkgc2xvdm8gem1pemxvLgorCitQT1pOwU1LQTogUO1zbWVubyBkIHNhIHpvYnJheu0gbmEgcG9zbGVkbm9tIHJpYWRrdSBvYnJhem92a3kga2XvIGhvCisJICAgICAgICBuYXDtmmWaLiBWaW0gbmEgdGViYSBwb+hr4SwgYWJ5IHNpIG1vaG9sIG5hcO1zYZ0KKyAgICAgICAgICBw7XNtZW5vIHcuIEFrIHZpZO2aIG5pZehvIGlu6SBha28gIGQgLCB0YWsgc2kgbmFw7XNhbAorICAgICAgICAgIG5lc3By4XZueSB6bmFrOyBzdGxh6CAgPEVTQz4gIGEgemHobmkgem5vdmEuCisKKy0tLT4gVHUgamUgbmlla2++a28gc2xvdiB64WJhdmEsIGt0b3LpIG5pZSBwYXRyaWEgbGlzdCBkbyB0ZWp0byB2ZXR5LgorCis1LiBab3Bha3VqIGtyb2t5IDMgYZ4gNCBr/W0gdmV0YSBuaWVqZSBzcHLhdm5hIGEgcHJlamRpIG5hIGxla2NpdSAyLjIuCisKKworCit+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+fn4KKwkJICAgICAgTGVrY2lhIDIuMjogVklBQyBNQVpBQ81DSCBQUs1LQVpPVgorCisKKwkgKiogTmFw7XNhbmllIHBy7WthenUgZCQgIHptYZ5lIHpuYWt5IGRvIGtvbmNhIHJpYWRrdSAqKgorCisxLiBTdGxh6CAgPEVTQz4gIGFieSBzaSBib2wgYmV6cGXobmUgdiBub3Jt4Wxub20gbfNkZS4KKworMi4gUHJlc3XyIGt1cnpvciBuaZ6aaWUgbmEgcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPi4KKworMy4gUHJlc3XyIGt1cnpvciBuYSBrb25pZWMgc3By4XZuZWogdmV0eSAoWkEgcHJ2+iBib2RrdSkuCisKKzQuIE5hcO2aICAgIGQkICAgIGFieSBzYSB6bWF6YWxpIHpuYWt5IGRvIGtvbmNhIHJpYWRrdS4KKworLS0tPiBOaWVrdG8gbmFw7XNhbCBrb25pZWMgdG9odG8gcmlhZGt1IGR2YWty4XQuIGtvbmllYyB0b2hvdCByaWFka3UgZHZha3LhdC4KKworCis1LiBQcmVqZGkgbmEgbGVrY2l1IDIuMyBwcmUgcG9jaG9wZW5pZSB0b2hvIOhvIHNhIHN0YWxvLgorCisKK35+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+fgorCQkgICAgIExla2NpYSAyLjM6IE9QRVLBVE9SWSBBIFBPSFlCWQorCisgIFZlvmEgcHLta2F6b3YsIGt0b3LpIG1lbmlhIHRleHQgc/ogb2R2b2Rlbukgb2Qgb3BlcuF0b3JvdiBhIHBvaHlib3YuCisgIEZvcm3hdCBwcmUgcHLta2F6IG1hemFuaWEga2zhdmVzb3UgIGQgIGplIG5hc2xlZG92bv06CisKKyAgICBkICAgcG9oeWIKKworICBrZGU6CisgICAgZCAgICAgLSBqZSBtYXphY+0gb3BlcuF0b3IKKyAgICBwb2h5YiAtIGplIHRvIOhvIG9wZXLhdG9yIHZ5a29u4XZhICh2eXDtc2Fu6SBuaZ6aaWUpCisKKyAgS3LhdGt5IGxpc3QgcG9oeWJvdjoKKyAgICB3IC0gZG8gemHoaWF0a3Ug72FsmmllaG8gc2xvdmEsIG9rcmVtIGplaG8gcHJ26WhvIHDtc21lbmEuCisgICAgZSAtIGRvIGtvbmNhIHRlcmFqmmllaG8gc2xvdmEsIHZy4XRhbmUgcG9zbGVkbulobyB6bmFrdS4KKyAgICAkIC0gZG8ga29uY2EgcmlhZGt1LCB2cuF0YW5lIHBvc2xlZG7paG8gem5ha3UKKworICBUYWueZSBuYXDtc2Fu7W0gIGRlICBzYSB6bWGeZSB2mmV0a28gb2Qga3Vyem9yYSBkbyBrb25jYSBzbG92YS4KKworUE9aTsFNS0E6IFN0bGHoZW7tbSBpYmEgcG9oeWJ1IHYgbm9ybeFsbm9tIG3zZGUgYmV6IG9wZXLhdG9yYQorICAgICAgICAgIHNhIHByZXN1bmllIGt1cnpvciB0YWsgYWtvIGplIHRvIJpwZWNpdmlrb3ZhbukuCisKK35+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+fgorCQlMZWtjaWEgMi40OiBQb3WeaXRpZSB2aWFjbuFzb2Ju6WhvIHBvaHlidQorCisKKyAgICoqIE5hcO1zYW7tbSDo7XNsYSBwcmVkIHBvaHliIGhvIHpvcGFrdWplIHphZG79IHBv6GV0IGty4XQgKioKKworICAxLiBQcmVzdfIga3Vyb3pyIG5pnpppZSBuYSB6YehpYXRvayByaWFka3Ugb3puYehlbulobyAtLS0+LgorCisgIDIuIE5hcO2aICAydyAgYSBrdXJvenIgc2EgcHJlc3VuaWUgbyBkdmUgc2xvduEgdnByZWQuCisKKyAgMy4gTmFw7ZogIDNlICBhIGt1cm96ciBzYSBwcmVzdW5pZSB2cHJlZCBuYSBrb25pZWMgdHJldGllaG8gc2xvdmEuCisKKyAgNC4gTmFw7ZogIDAgIChudWxhKSBhIGt1cm96ciBzYSBwcmVzdW5pZSBuYSB6YehpYXRvayByaWFka3UuCisKKyAgNS4gWm9wYWt1aiBrcm9reSAyIGEgMyBzIHL0em55bWkg6O1zbGFtaS4KKworLS0tPiBUb3RvIGplIHJpYWRvayBzbyBzbG92YW1pIHBvIGtvdHL9Y2ggc2EgbfSeZXRlIHBvaHlib3ZhnS4KKworICA2LiBQcmVqZGkgbmEgbGVrY2l1IDIuNS4KKworCit+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+fn4KKwkJICBMZWtjaWEgMi41OiBQT1WOSVRJRSBWSUFDTsFTT0JOyUhPIE1BWkFOSUEgUFJFIEhST01BRE7JIE1BWkFOSUUKKworCisgICAgKiogTmFw7XNhbmllIOjtc2xhIHNwb2x1IHMgb3BlcuF0b3JvbSBobyB6b3Bha3VqZSB6YWRhbv0gcG/oZXQga3LhdCAqKgorCisgIFYga29tYmlu4WNpaSBvcGVy4XRvcm92IG1hemFuaWEgYSBwb2h5YnUgc3Bvbe1uYW7paG8gdnmammllIHZsb54gcG/oZXQKKyAgcHJlZCBwb2h5YiBwcmUgZG9jaWVsZW5pZSBocm9tYWRu6WhvIG1hemFuaWE6CisgICAgZCAgIOjtc2xvICAgcG9oeWIKKworICAxLiBQcmVzdfIga3Vyem9yIG5hIHBydukgc2xvdm8gcO1zYW7pIFZFvEvdTUkgUM1TTUVOQU1JCisgICAgIHYgcmlhZGt1IG96bmHoZW5vbSAtLS0+LgorCisgIDIuIE5hcO2aICAyZHcgIGEgem1hnmWaIGR2ZSBzbG924SBw7XNhbukgVkW8S91NSSBQzVNNRU5BTUkKKworICAzLiBab3Bha3VqIGtyb2t5IDEgYSAyIHMgcG91nml07W0gcvR6bmVobyDo7XNsYSB0YWsgYWJ5IHNpIHptYXphbCBzbG924QorICAgICBw7XNhbukgdmW+a/1taSBw7XNtZW5hbWkgamVkbv1tIHBy7Wthem9tLgorCistLS0+IFRlbnRvIEFCQyBERSByaWFkb2sgRkdISSBKSyBMTU4gT1Agc28gc2xvdmFtSSBqZSBRIFJTIFRVViB2eWNpc3RlbnkuCisKK1BPWk7BTUtBOiDI7XNsbyBtZWR6aSBvcGVy4XRvcm9tICBkICBhIHBvaHlib20gZnVuZ3VqZSBwb2RvYm5lIGFrbyBwcmkKKyAgICAgICAgICBwb3WeaXTtIHMgcG9oeWJvbSBiZXogb3BlcuF0b3JhLgorCisKK35+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+fgorICAgIAkJTGVrY2lhIDIuNjogT1BFUsFDSUUgUyBSSUFES0FNSQorCisKKwkgICAgKiogTmFw7XNhbmllIHBy7WthenUgICBkZCAgIHptYZ5lIGNlbP0gcmlhZG9rLiAqKgorCitWemi+YWRvbSBuYSBmcmVrdmVuY2l1IG1hemFuaWEgY2Vs6WhvIHJpYWRrdSwgc2EgYXV0b3JpIFZpbXUgcm96aG9kbGksCiueZSBidWRlIGplZG5vZHVjaJppZSBtYXphnSBjZWz9IHJpYWRvayBuYXDtc2Fu7W0gZHZvY2ggcO1zbWVuIGQuCisKKzEuIFByZXN18iBrdXJ6b3IgbmEgZHJ1aP0gcmlhZG9rIHYgdGV4dGUgbmEgc3BvZHUuCisyLiBOYXDtmiAgZGQgIGFieSBzaSB6bWF6YWwgcmlhZG9rLgorMy4gUHJlamRpIG5hIJp0dnJ0/SByaWFkb2suCis0LiBOYXDtmiAgIDJkZCAgIGFieSBzaSB6bWF6YWwgZHZhIHJpYWRreS4KKworICAgIDEpICBSdZ5lIHP6IOhlcnZlbuksCisgICAgMikgIEJsYXRvIGplIHrhYmF2buksCisgICAgMykgIEZpYWxreSBz+iBtb2Ry6SwKKyAgICA0KSAgTeFtIGF1dG8sCisgICAgNSkgIEhvZGlua3kgdWthenVq+iDoYXMsCisgICAgNikgIEN1a29yIGplIHNsYWRr/SwKKyAgICA3KSAgQSB0byBzaSB0eS4KKworCit+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+fn4KKwkJCUxla2NpYSAyLjc6IFBSzUtBWiBVTkRPCisKKworKiogU3RsYeggIHUgIHByZSB2cuF0ZW5pZSBwb3NsZWRu6WhvIHBy7WthenUsICBVICBwcmUg+nByYXZ1IGNlbOlobyByaWFka3UuICoqCisKKzEuIFByZXN18iBrdXJ6b3IgbmmemmllIG5hIHJpYWRvayBvem5h6GVu/SB6bmHoa291IC0tLT4gYSBwcmVtaWVzdG5pIGhvIG5hCisgICBwcnb6IGNoeWJ1LgorMi4gTmFw7ZogIHggIHByZSB6bWF6YW5pZSBwcnbpaG8gbmVjaGNlbulobyByaWFka3UuCiszLiBUZXJheiBuYXDtmiAgdSAg6O1tIHZy4XTtmiBzcOSdIHBvc2xlZG5lIHZ5a29uYW79IHBy7Wthei4KKzQuIFRlcmF6IG9wcmF2IHaaZXRreSBjaHlieSBuYSByaWFka3UgcG91nml07W0gcHLta2F6dSAgeCAgLgorNS4gVGVyYXogbmFw7ZogdmW+a+kgICBVICDo7W0gdnLhdO2aIHJpYWRvayBkbyBw9HZvZG7paG8gc3RhdnUuCis2LiBUZXJheiBuYXDtmiAgdSAgbmlla2++a28ga3LhdCwg6O1tIHZy4XTtmiBzcOSdIHBy7WtheiBVLgorNy4gVGVyYXogbmFw7ZogQ1RSTC1SIChkcp4ga2zhdmVzdSBDVFJMIHN0bGHoZW76IGv9bSBzdGzh6GGaIFIpIG5pZWtvvmtvCisgICBrcuF0LCDo7W0gdnLhdO2aIHNw5J0gcHJlZHT9bSB2cuF0ZW7pIHBy7WthenkgKHVuZG8geiB1bmRvKS4KKworLS0tPiBPcHByYXYgY2h5YmJ5IG5uYSB0b29tdG8gcmlhZGt1IGEgem1lZfIgaWNoIHBvbW1vY291IHVuZG8uCisKKyAgOC4gVGlldG8gcHLta2F6eSBz+iDoYXN0byBwb3We7XZhbukuIFRlcmF6IHByZWpkaSBuYSB6aHJudXRpZSBsZWtjaWUgMi4KKworCisKKworfn5+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+CisJCQkgICAgICAgTEVLQ0lBIDIgWkhSTlVUSUUKKworCisgIDEuIFByZSB6bWF6YW5pZSB6bmFrb3Ygb2Qga3Vyem9yYSBkbyBrb25jYSBzbG92YSBuYXDtmjogICBkdworCisgIDIuIFByZSB6bWF6YW5pZSB6bmFrb3Ygb2Qga3Vyem9yYSBkbyBrb25jYSByaWFka3UgbmFw7Zo6ICAgZCQKKworICAzLiBQcmUgem1hemFuaWUgY2Vs6WhvIHJpYWRrdSBuYXDtmjogICBkZAorCisgIDQuIFByZSB6b3Bha292YW5pZSBwb2h5YnUsIG5hcO2aIHByZWQgbmVobyDo7XNsbzogICAydworCisgIDUuIEZvcm3hdCBwcmUgcO1rYXo6CisKKyAgICAgICBvcGVy4XRvciAgIFvo7XNsb10gICBwb2h5YgorICAgICBrZGU6CisgICAgICAgb3BlcuF0b3IgLSDobyB0cmViYSByb2JpnSwgbmFwcu1rbGFkICBkICBwcmUgem1hemFuaWUKKyAgICAgICBb6O1zbG9dIC0gamUgdm9saXRlvm79IHBv6GV0IHByZSBvcGFrb3ZhbmllIHBvaHlidQorICAgICAgIHBvaHliIC0gcG9oeWIgcG8gdGV4dGUgdnpovmFkb20gbmEgb3BlcuF0b3IsIG5hcHLta2xhZCB3IChzbG92byksCisJCSQgKGRvIGtvbmNhIHJpYWRrdSksIGF07y4KKworICA2LiBQcmUgcG9oeWIgbmEgemHoaWF0b2sgcmlhZGt1IHBvdZ5pIG51bHU6ICAwCisKKyAgNy4gUHJlIHZy4XRlbmllIHNw5J0gcHJlZG+abGVqIG9wZXLhY2llIG5hcO2aOgl1ICAgKG1hbOkgdSkKKyAgICAgUHJlIHZy4XRlbmllIHaaZXRr/WNoIPpwcmF2IG5hIHJpYWRrdSBuYXDtmjogICAgVSAgICh2Zb5r6SBVKQorICAgICBQcmUgdnLhdGVuaWUgdnLhdGVu/WNoIPpwcmF2IG5hcO2aOgkgICAgICBDVFJMLVIKKworfn5+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+CisJCQkgTGVrY2lhIDMuMTogUFLNS0FaIFZMT45JjQorCisKKwkgICoqIE5hcO1zYW5pZSBwcu1rYXp1ICBwICB2bG+e7SBwc2xlZG79IHb9bWF6IHphIGt1cnpvci4gKioKKworICAxLiBQcmVzdfIga3Vyem9yIG5pnpppZSBuYSBwcnb9IHJpYWRvayB0ZXh0dS4KKworICAyLiBOYXDtmiAgZGQgIOjtbSB6bWGeZZogcmlhZG9rIGEgdWxvnu2aIGhvIGRvIGJ1ZmZlcmEgZWRpdG9yYSBWaW0uCisKKyAgMy4gUHJlc3XyIGt1cnpvciB2eZqaaWUgdGFtLCBrYW0gem1hemFu/SByaWFkb2sgcGF0cu0uCisKKyAgNC4gQWsgbmFw7ZplmiB2IG5vcm3hbG5vbSBt82RlICAgcCAgIHptYXphbv0gcmlhZGsgc2Egdmxvnu0uCisKKyAgNS4gWm9wYWt1aiBrcm9reSAyIGGeIDQsIGv9bSByaWFka3kgbmllc/ogdiBzcHLhdm5vbSBwb3JhZO0uCisKKy0tLT4gZCkgVGllniBzYSBkb2vhnmWaIHZ6ZGVs4XZhnT8KKy0tLT4gYikgRmlhbGt5IHP6IG1vZHLpLAorLS0tPiBjKSBJbnRlbGlnZW5jaWEgc2EgdnpkZWzhdmEsCistLS0+IGEpIFJ1nmUgc/og6GVydmVu6SwKKworCisKK35+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+fgorCQkgICAgICAgTGVrY2lhIDMuMjogUFLNS0FaIE5BSFJBREVOSUEKKworCisgICAgICoqIE5hcO1zYW7tbSAgcnggIHNhIG5haHJhZO0gem5hayBuYSBtaWVzdGUga3Vyem9yYSB6bmFrb20gIHggLiAqKgorCisgIDEuIFByZXN18iBrdXJ6b3IgbmmemmllIG5hIHBydu0gcmlhZG9rIHRleHR1IG96bmHoZW7paG8gem5h6GtvdSAtLS0+LgorCisgIDIuIFByZXN18iBrdXJ6b3IgbmEgemHoaWF0b2sgcHJ2ZWogY2h5YnkuCisKKyAgMy4gbmFw7ZogIHIgIGEgcG90b20gem5haywga3Rvcv0gdGFtIG3hIGJ5nS4KKworICA0LiBab3Bha3VqIGtyb2t5IDIgYSAzLCBr/W0gcHJ2/SByaWFkb2sgbmllamUgemhvZG79IHMgZHJ1aP1tLgorCistLS0+IEth7yBib2wgdGVudG8gcmlhc29rIHDtYWFu/Swgbmlla3JvIHN0bGGaaWwgbmVzcHLhYm5lIGts4XZlc3khCistLS0+IEtl7yBib2wgdGVudG8gcmlhZG9rIHDtc2Fu/Swgbmlla3RvIHN0bGHoaWwgbmVzcHLhdm5lIGts4XZlc3khCisKKyAgNS4gVGVyYXogcHJlamRpIG5hIGxla2NpdSAzLjIuCisKK1BPWk7BTUtBOiBQYW3kdGFqIHNpLCCeZSBuYXXoaZ0gc2EgbfSeZZogbGVuIHBvdZ7tdmFuaW0sIG5pZSBwYW3kdGFu7W0uCisKKworCit+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+fn4KKwkJICAgICAgIExla2NpYSAzLjMuIFBSzUtBWiDaUFJBVlkKKworCisgICAgICoqIEFrIGNoY2WaIHptZW5pnSDoYXOdIHNsb3ZhIGRvIGtvbmNhIHNsb3ZhLCBuYXDtmiAgY2UgLiAqKgorCisgIDEuIFByZXN18iBrdXJ6b3IgbmmemmllIG5hIHBydv0gcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPi4KKworICAyLiBVbWllc3RuaSBrdXJ6b3IgbmEgcO1zbWVubyBvIHYgc2xvdmUgcm9zZnBsLgorCisgIDMuIE5hcO2aICBjZSAgYSBvcHJhdiBzbG92byAodiB0b210byBwcu1wYWRlIG5hcO2aICdpYWRvaycuKQorCisgIDQuIFN0bGHoIDxFU0M+IGEgcHJlamRpIG5hIO9hbJrtIHpuYWssIGt0b3L9IHRyZWJhIHptZW5pnS4KKworICA1LiBab3Bha3VqIGtyb2t5IDMgYSA0LCBr/W0gcHJ24SB2ZXRhIG5pZWplIHJvdm5ha+EgYWtvIGRydWjhLgorCistLS0+IFRlbnRvIHJvc2ZwbCBt4SBuaWVrb75rbyBza2ljLCBrdG9y6SBqZSBwaXJld3Zi7SB6bWVuaZ0gcGl5nXXo4W4gcHLta2F6dS4KKy0tLT4gVGVudG8gcmlhZG9rIG3hIG5pZWtvvmtvIHNsb3YsIGt0b3LpIGplIHBvdHJlYm7pIHptZW5pnSBwb3WeaXTtbSBwcu1rYXp1LgorCitQb3pu4W1rYSwgnmUgIGNlICB6bWGeZSBzbG92byBhIG5hc3Rhdu0gdmtsYWRhY+0gbfNkLgorCisKKworfn5+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+CisJCSAgICAgICBMZWtjaWEgMy40OiBWSUFDIFpNSUVOIFBPVY5JVM1NIGMKKworCisgICAqKiBQcu1rYXogcHJlIPpwcmF2eSBzYSBwb3We7XZhIHMgcm92bmFr/W1pIHBvaHlibWkgYWtvIHByZSBtYXphbmllICoqCisKKyAgMS4gUHLta2F6IHByZSD6cHJhdnkgcHJhY3VqZSByb3ZuYWtvIGFrbyBwcmUgbWF6YW5pZS4gRm9ybeF0IGplOgorCisgICAgICAgIGMgICAgW+jtc2xvXSAgICBwb2h5YgorCisgIDIuIFBvaHlieSBz+iByb3ZuYWvpLCBha28gbmFwcu1rbGFkICAgdyAoc2xvdm8pIGEgICQgKGtvbmllYyByaWFka3UpLgorCisgIDMuIFByZXN18iBrdXJ6b3IgbmmemmllIG5hIHBydv0gcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPi4KKworICA0LiBQcmVzdfIga3Vyem9yIG5hIHBydvogY2h5YnUuCisKKyAgNS4gbmFw7ZogIGMkICBhYnkgc2kgbW9ob2wgdXByYXZpnSB6dnmab2sgcmlhZGt1IHBvZL5hIGRydWjpaG8KKyAgICAgYSBzdGxh6CA8RVNDPi4KKworLS0tPiBLb25pZWMgdG9odG8gcmlhZGt1IHBvdHJlYnVqZSBwb21vYywgYWJ5IGJvbCBha28gZHJ1aHkuCistLS0+IEtvbmllYyB0b2h0byByaWFka3UgcG90cmVidWplIG9wcmF2aZ0gcG91nml07W0gcHLta2F6dSAgYyQgLgorCitQT1pOwU1LQTogTfSeZZogcG91nmmdIGts4XZlc3UgYmFja3NwYWNlIG5hIPpwcmF2dSB6bWllbiBwb+hhcyBw7XNhbmlhLgorCisKK35+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+fgorCQkJICAgICAgIExFS0NJQSAzIFpIUk5VVElFCisKKworICAxLiBOYSB2bG+eZW5pZSB0ZXh0dSwga3Rvcv0gdZ4gYm9sIHptYXphbv0sIG5hcO2aICBwIC4gVG8gdmxvnu0gem1hemFu/QorICAgICB0ZXh0IFpBIGt1cnpvciAoYWsgYm9sIHJpYWRvayB6bWF6YW79IHByZWpkZSBuYSByaWFkb2sgcG9kIGt1cnpvcm9tKS4KKworICAyLiBQcmUgbmFyYWRlbmllIHpuYWt1IG5hIG1pZXN0ZSBrdXJ6b3JhLCBuYXDtmiAgciAgYSBwb3RvbSB6bmFrLCBrdG9y/QorICAgICBuYWhyYWTtIHD0dm9kbv0gem5hay4KKworICAzLiBQcu1rYXogbmEgdXByYXZlbmllIHVtb57ydWplIHptZW5pnSBvZCBrdXJ6b3JhIGGeIHBvIG1pZXN0bywga3RvcukKKyAgICAgdXLodWplIHBvaHliLiAgbmFwci4gTmFw7ZogIGNlICDo7W0gem1u7ZogdGV4dCBvZCBwb3rtY2llCisgICAgIGt1cnpvcmEgZG8ga29uY2Egc2xvdmEsIGMkICB6bWVu7SB0ZXh0IGRvIGtvbmNhIHJpYWRrdS4KKworICA0LiBGb3Jt4XQgcHJlIG5haHJhZGVuaWUgamU6CisKKwkgICAgYyAgICBb6O1zbG9dICAgIHBvaHliCisKKworVGVyYXogcHJlamRpIG5hIG5hbHNlZHVq+mN1IGxla2NpdS4KKworCisKK35+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+fgorCQkgICAgIExla2NpYSA0LjE6IFBPWs1DSUEgQSBTVEFUVVMgU9pCT1JVCisKKworICAqKiBTdGxh6CBDVFJMLWcgcHJlIHpvYnJhemVuaWUgc3ZvamVqIHBveu1jaWUgdiBz+mJvcmUgYSBzdGF0dXN1IHP6Ym9ydS4KKyAgICAgTmFw7ZogIEcgIHByZSBwcmVzdW4gbmEgcmlhZG9rIHYgc/pib3JlLiAqKgorCisgIFBvem7hbWthOiBQcmXo7XRhaiBzaSBjZWz6IHT6dG8gbGVrY2l1IHNr9HIgYWtvIHph6G5lmiB2eWtvbuF2YZ0ga3Jva3khIQorCisgIDEuIERyniBzdGxh6GVu+iBrbOF2ZXN1IEN0cmwgYSBzdGxh6CAgZyAuIFRvdG8gbmF6/XZhbWUgQ1RSTC1HLgorICAgICBOYSBzcG9kdSBvYnJhem92a3kgc2Egem9icmF67SBzcHLhdmEgcyBu4Xp2b20gc/pib3J1IGEgcG967WNpb3UKKyAgICAgdiBz+mJvcmUuIFphcGFt5HRhanNpIHNpIOjtc2xvIHJpYWRrdSBwcmUgcG91nml0aWUgdiBrcm9rdSAzLgorCisgIDIuIFN0bGHoICBHICDo7W0gc2EgZG9zdGFuZZogbmEgc3BvZG9rIHP6Ym9ydS4KKyAgICAgTmFw7ZogIGdnICDo7W0gc2EgZG9zdGFuZZogbmEgemHoaWF0b2sgc/pib3J1LgorCisgIDMuIE5hcO2aIOjtc2xvIHJpYWRrdSBuYSBrdG9yb20gc2kgc2EgbmFjaOFkemFsIGEgc3RsYeggIEcuIFRvIJ1hCisgICAgIHZy4XRpIG5hIHJpYWRvaywgbmEga3Rvcm9tIHNpIHBydv0ga3LhdCBzdGxh6GlsIENUUkwtRy4KKworICA0LiBBayBzYSBj7XTtmiBzY2hvcG79IHZ5a29uYZ0gdGV0byBrcm9reSwgdnlrb25haiBrcm9reSAxIGGeIDMuCisKKworCit+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+fn4KKwkJCUxla2NpYSA0LjI6IFBSzUtBWiBWWUi8QUTBVkFOSUEKKworCisgICoqIE5hcO2aICAvICBuYXNsZWRvdmFu6SByZZ1hemNvbSBwcmUgdnlovmFkYW5pZSBwcu1zbHWabulobyByZZ1hemNhLiAqKgorCisgIDEuIE5hcO2aIHpuYWsgIC8gIHYgbm9ybeFsbm9tIG3zZGUuIFBvem7hbWthLCCeZSB0ZW50byB6bmFrIHNhIHNwb2x1CisgICAgIHMga3Vyem9yb20gem9icmF67SB2IGRvbG5laiDoYXN0aSBvYnJhem92a3kgcyAgOiAgcHLta2F6b20uCisKKyAgMi4gVGVyYXogbmFw7ZogJ2VycnJvb3InIDxFTlRFUj4uIFRvIGplIHNsb3ZvLCBrdG9y6SBjaGNlmiB2eWi+YWRhnS4KKworICAzLiBQcmUgdnlovmFkYW5pZSDvYWyaaWVobyB2/XNreXR1IHJvdm5ha+lobyByZZ1hemNhLCBzdGxh6CBqZWRub2R1Y2hvICBuLgorICAgICBQcmUgdnlovmFkYW5pZSDvYWyaaWVobyB2/XNreXR1IHJvdm5ha+lobyByZZ1hemNhIG9wYehu/W0gc21lcm9tLAorICAgICBOLgorCisgIDQuIEFrIGNoY2WaIHZ5aL5hZGGdIHJlnWF6ZWMgdiBzcOR0bm9tIHNtZXJlLCBwb3We7SBwcu1rYXogID8gIG1pZXN0bworICAgICBwcu1rYXp1IC8uCisKKyAgNS4gUHJlIG7hdnJhdCBuYSBtaWVzdG8geiBrdG9y6WhvIHNpIHByaZppZWwgc3RsYeggQ1RSTC1PIChkcp4gc3RsYehlbvoKKyAgICAga2zhdmVzdSBDdHJsIHBv6GFzIHN0bGHoZW5pYSBrbOF2ZXN5IG8pLiBab3Bha3VqIHByZSDvYWya7SBu4XZyYXQKKyAgICAgc3DknS4gQ1RSTC1JIGlkZSB2cHJlZC4KKworUE9aTsFNS0E6ICJlcnJyb29yIiBuaWVqZSBzcPRzb2IgaGzhc2tvdmFuaWEgZXJyb3I7IGVycnJvb3IgamUgZXJyb3IuCitQT1pOwU1LQTogS2XvIHZ5aL5hZOF2YW5pZSBkb3NpYWhuZSBrb25pZWMgdG9odG8gc/pib3J1LCBidWRlIHBva3Jh6G92YZ0gbmEKKyAgICAgIHph6GlhdGt1LCBkb2tpYb4gbmllamUgcmVzZXRvdmFu6SBuYXN0YXZlbmllICd3cmFwc2NhbicgLgorCisKK35+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+fgorCSAgICAgTGVrY2lhIDQuMzogVllIvEFEwVZBTklFIFpPRFBPVkVEQUraQ0lDSCBawVRBVk9SSUVLCisKKworCSAqKiBOYXDtmiAgJSAgcHJlIHZ5aL5hZGFuaWUgcHLtc2x1mm7paG8gem5ha3UgKSxdLCBhbGVibyB9IC4gKioKKworICAxLiBQcmVtaWVzdG5pIGt1cnpvciBuYSBob2Nha/0gem8gem5ha292ICgsIFssIGFsZWJvIHsgdiByaWFka3UgbmmemmllCisgICAgIG96bmHoZW7paG8gem5h6GtvdSAtLS0+LgorCisgIDIuIFRlcmF6IG5hcO2aIHpuYWsgICUgLgorCisgIDMuIEt1cnpvciBzYSBwcmVtaWVzdG5pIG5hIHpvZHBvdmVkYWr6Y3UgeuF0dm9ya3UuCisKKyAgNC4gTmFw7ZogICUgIHByZSBwcmVzdW4ga3Vyem9ydSBzcOSdIG5hIG90duFyYWr6Y3UgeuF0dm9ya3UuCisKKyAgNS4gUHJlc3XyIGt1cnpvciBuYSBpbv0gem8gem5ha292ICgsKSxbLF0seyBhbGVibyB9IGEgdpppbW5pIHNpCisgICAgIOhvICUgdnlrb27hdmEuCisKKy0tLT4gVG90byAoIGplIHRlc3RvdmFj7SByaWFkb2sgcyAoJ3MsIFsncyBdIGEgeydzIH0gdiByaWFka3UuICkpCisKK1Bvem7hbWthOiBUb3RvIGplIHZlvm1pIHb9aG9kbukgcG91nu2dIHByaSBsYWRlbu0gcHJvZ3JhbXUgcyBjaP1iYWr6Y2ltaQorCSAgdXphdHbhcmFq+mNpbWkgeuF0dm9ya2FtaSEKKworCisKK35+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+fgorCQkgICAgICBMZWtjaWEgNC40OiBQUs1LQVogTkFIUkFERU5JQQorCisKKyAqKiBOYXDtmiAgIDpzL3N0YXL9L25vdv0vZyAgcHJlIG5haHJhZGVuaWUgc2xvdmEgJ3N0YXL9JyB6YSBzbG92byAnbm92/ScuICoqCisKKyAgMS4gUHJlc3XyIGt1cnpvciBuaZ6aaWUgbmEgcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPi4KKworICAyLiBOYXDtmiAgOnMvdGhlZS90aGUgPEVOVEVSPiAuIFBvem5hbWthLCCeZSB0ZW50byBwcu1rYXogem1lbu0gbGVuIHBydv0KKyAgICAgdv1za3l0ICJ0aGVlIiB2IHJpYWRrdS4KKworICAzLiBUZXJheiBuYXDtmiAgIDpzL3RoZWUvdGhlL2cgICDobyB6bmFtZW7hIGNlbGtvdukgbmFocmFkZW5pZSB2IHJpYWRrdS4KKyAgICAgVG90byBuYWhyYWTtIHaaZXRreSB2/XNreXR5IHYgcmlhZGt1LgorCistLS0+IFRoZWUgYmVzdCB0aW1lIHRvIHNlZSB0aGVlIGZsb3dlcnMgaW4gdGhlZSBzcHJpbmcuCisKKyAgNC4gUHJlIHptZW51IHaaZXRr/WNoIHb9c2t5dG92IGRhbulobyByZZ1hemNhIG1lZHppIGR2b21pIHJpZGFrYW1pLAorICAgICBuYXDtmiAgOiMsI3Mvc3Rhcv0vbm92/S9nICBrZGUgIywjIHP6IOjtc2xhIGR2b2NoIHJpYWRrb3YsIHYgcm96c2FodQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrdG9y/WNoIHNhIG5haHJhZGVuaWUgdnlrb27hLgorICAgICBuYXDtmiAgOiVzL3N0YXL9L25vdv0vZyAgICBwcmUgem1lbnUgdppldGv9Y2ggdv1za3l0b3YgdiBjZWxvbSByaWFka3UKKyAgICAgbmFw7ZogIDolcy9zdGFy/S9ub3b9L2djICAgbuFqZGUgdppldGt5IHb9c2t5dHkgdiBjZWxvbSBz+mJvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgb3ThemtvdSDoaSBuYWhyYWRpnSBhbGVibyBuaWUKKworCisKK35+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+fgorCQkJICAgICAgIExFS0NJQSA0IFpIUk5VVElFCisKKworICAxLiBDVFJMLWcgICAgdnlw7ZplIHR2b2p1IHBveu1jaXUgdiBz+mJvcmUgYSBzdGF0dXMgc/pib3J1LgorICAgICAgICAgICAgRyAgnWEgcHJlbWllc3RuaSBuYSBrb25pZWMgcmlhZGt1LgorICAgICDo7XNsbyAgRyAgnWEgcHJlbWllc3RuaSBuYSByaWFkb2sgcyDo7XNsb20uCisgICAgICAgICAgIGdnICCdYSBwcmVzdW5pZSBuYSBwcnb9IHJpYWRvaworCisgIDIuIE5hcO1zYW5pZSAgLyAgbmFzbGVkb3ZhbukgcmWdYXpjb20gdnlovmFk4SByZZ1hemVjIHNtZXJvbSBET1BSRURVLgorICAgICBOYXDtc2FuaWUgID8gIG5hc2xlZG92YW7pIHJlnWF6Y29tIHZ5aL5hZGEgcmWdYXplYyBzbWVyb20gRE9aQURVLgorICAgICBOYXDtc2FuaWUgIG4gIHBvIHZ5aL5hZOF2YW7tLCB2eWi+YWThIG5hc2xlZHVq+mNpIHb9c2t5dCByZZ1hemNhCisgICAgIHYgcm92bmFrb20gc21lcmUsIHByaehvbSAgTiAgdnlovmFk4SB2IG9wYehub20gc21lcmUuCisgICAgIENUUkwtTyCdYSB2cuF0aSBzcOSdIG5hIHN0YXKaaXUgcG967WNpdSwgQ1RSTC1JIG5hIG5vdpppdSBwb3rtY2l1LgorCisgIDMuIE5hcO1zYW5pZSAgJSAga2XvIGt1cnpvciBqZSBuYSAoLCksWyxdLHssIGFsZWJvIH0gbuFqZGUgem9kcG92ZGFq+mN1CisgICAgIHDhcm51IHrhdHZvcmt1LgorCisgIDQuIFByZSBuYWhyYWRlbmllIG5vdulobyB6YSBwcnb9IHN0YXL9IHYgcmlhZGt1IG5hcO2aICAgIDpzL3N0YXL9L25vdv0KKyAgICAgUHJlIG5haHJhZGVuaWUgbm926WhvIHphIHaaZXRreSBzdGFy6SB2IHJpYWRrdSBuYXDtmiAgOnMvc3Rhcv0vbm92/S9nCisgICAgIFByZSBuYWhyYWRlbmllIHJlnWF6Y292IG1lZHppIGR2b21hIHJpYWRrYW1pIDMgbmFw7ZogIDojLCMvc3Rhcv0vbm92/S9nCisgICAgIFByZSBuYWhyYWRlbmllIHaaZXRr/WNoIHb9c2t5dG92IHYgc/pib3JlIG5hcO2aICAgICAgIDolcy9zdGFy/S9ub3b9L2cKKyAgICAgUHJlIHBvdHZyZGVuaWUga2GeZOlobyBuYWhyYWRlbmlhIHByaWRhaiAnYycJICAgICAgICAgOiVzL3N0YXL9L25vdv0vZ2MKKworCit+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+fn4KKwkJTGVrY2lhIDUuMSBBS08gU1BVU1RJjSBWT05LQUqKzSBQUs1LQVoKKworCisgKiogTmFw7ZogcHLta2F6ICA6ISAgbmFzbGVkb3Zhbv0gdm9ua2Fqmu1tIHBy7Wthem9tIHByZSBzcHVzdGVuaWUgcHLta2F6dSAqKgorCisgIDEuIE5hcO2aIG9idnlrbP0gcO1rYXogIDogIGt0b3L9IG5hc3Rhdu0ga3Vyem9yIG5hIHNwb2RvayBvYnJhem92a3kuCisgICAgIFRvIHVtb55u7SBuYXDtc2GdIHBy7Wthei4KKworICAyLiBUZXJheiBuYXDtmiAgISAgKHb9a3Jp6G7taykuIFRvIHVtb55u7SBzcHVzdGmdIGhvY2lha/0gdm9ua2Fqmu0gcHLta2F6CisgICAgIHogcHLta2F6b3bpaG8gcmlhZGt1LgorCisgIDMuIEFrbyBwcu1rbGFkIG5hcO2aICBscyAgemEgISBhIHN0bGHoIDxFTlRFUj4uIFRlbnRvIHBy7WthegorICAgICB6b2JyYXrtIG9ic2FoIHR2b2pobyBhZHJlc+FyYSByb3ZuYWtvIGFrbyBuYSBwcu1rYXpvdm9tIHJpYWRrdS4KKyAgICAgQWxlYm8gcG91nmkgIDohZGlyICBhayBscyBuZWZ1bmd1amUuCisKK1Bvem7hbWthOiAgVGFrdG8gamUgbW+ebukgc3B1c3RpnSBob2NpYWv9IHZvbmthaprtIHBy7WtheiBzIGFyZ3VtZW50YW1pLgorUG96buFta2E6ICBWmmV0a3kgcHLta2F6eSAgOiAgbXVzaWEgYnmdIGRva29u6GVu6SBzdGxh6GVu7W0gPEVOVEVSPgorCisKKworCit+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+fn4KKwkJICAgICAgTGVrY2lhIDUuMjogVklBQyBPIFVLTEFEQU7NIFPaQk9ST1YKKworCisgICAgICoqIFByZSB1bG+eZW5pZSB6bWllbiB2IHP6Ym9yZSwgbmFw7ZogIDp3IEZJTEVOQU1FLiAqKgorCisgIDEuIE5hcO2aICA6IWRpciAgYWxlYm8gIDohbHMgIHByZSB2/XBpcyBha3R14WxuZWhvIGFkcmVz4XJhLgorICAgICBVniB2aWWaLCCeZSBtdXPtmiB6YSB0/W10byBzdGxh6GmdIDxFTlRFUj4gLgorCisgIDIuIFZ5YmVyIG7hem92IHP6Ym9ydSwga3Rvcv0gZZp0ZSBuZWV4aXN0dWplLCBha28gbmFwci4gVEVTVC4KKworICAzLiBUZXJheiBuYXDtmjogICA6dyBURVNUICAgKGtkZSBURVNUIGplIG7hem92IHZ5YnJhdOlobyBz+mJvcnUuKQorCisgIDQuIFRvIHVsb57tIGNlbP0gc/pib3IgIChWaW0gVHV0b3IpICBwb2QgbuF6b3ZtIFRFU1QuCisgICAgIFByZSBvdmVyZW5pZSBuYXDtmiAgIDohZGlyICAgLCDo7W0gIHpvYnJheu2aIG9ic2FoIGFkcmVz4XJhLgorCitQb3pu4W1rYTognmUgYWsgdWtvbujtmiBwcuFjdSBzIGVkaXRvcm9tIFZpbSBhIHpub3Z1IGhvIHNwdXN07ZogcHLta2F6b20KKwkgICAgICAgIHZpbSBURVNULCBz+mJvciBidWRlIGvzcGlhIHb9dWt5LCBrZe8gc2kgaG8gdWxvnmlsLgorCisgIDUuIFRlcmF6IG9kc3Ry4fIgc/pib3IgbmFw7XNhbu1tIChNUy1ET1MpOiAgIDohZGVsIFRFU1QKKwkJCSAgICAgYWxlYm8gKFVuaXgpOiAgICAgOiFybSBURVNUCisKKworfn5+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+CisJCSAgICBMZWtjaWEgNS4zIFbdQkVSIFRFWFRVIFBSRSBVTE+ORU5JRQorCisKKyAgKiogUHJlIHVsb55lbmllIOhhc3RpIHP6Ym9ydSwgbmFw7ZogIHYgIHBvaHliIDp3IEZJTEVOQU1FICoqCisKKyAgMS4gUHJlc3XyIGt1cm96ciBuYSB0ZW50byByaWFkb2suCisKKyAgMi4gU3RsYeggIHYgIGEgcHJlc3XyIGt1cm96ciBuYSBwaWF0dSBwb2xvnmt1IGRvbGUuIFBvem7hbWthLCCeZQorICAgICB0ZW50byB0ZXh0IGplIHZ5em5h6GVu/SAoaGlnaGxpZ2h0ZWQpLgorCisgIDMuIFN0bGHoIGts4XZlc3UgIDogLiBWIHNwb2RuZWog6GFzdGkgb2tuYSBzYSBvYmphdu0gIDonPCwnPi4KKworICA0LiBOYXDtmiB3IFRFU1QgICwga2RlIFRFU1QgamUgbWVubyBz+mJvcnUsIGt0b3L9IHphdGlhbCBuZWV4aXN0dWplLgorICAgICBTa29udHJvbHVqLCBlIHZpZO2aICA6JzwsJz53IFRFU1QgIHByZWR0/W0gbmWeIHN0bGHo7ZogRW50ZXIuCisKKyAgNS4gVmltIHphcO2aZSBvem5h6GVu6SByaWFka3kgZG8gc/pib3J1IFRFU1QuIFBvdZ5pIDohZGlyICBhbGVibyAgIWxzCisgICAgIHByZSBvdmVyZW5pZS4gWmF0aWFsIGhvIGWadGUgbmVtYZ4hIFBvdZ5pamVtZSBobyB2IO9hbJplaiBsZWtjaWkuCisKK1BPWk7BTUtBOiBTdGxh6GVu7W0ga2zhdmVzeSAgdiAgc2Egc3B1c3TtIHZpenXhbG5lIG96bmHob3ZhbmllLgorICAgICAgICAgIE30nmWaIHBvaHlib3ZhnSBrdXJ6b3JvbSBwcmUgdXByZXNuZW5pZSB2eXpuYehlbulobyB0ZXh0dS4KKyAgICAgICAgICBQb3RvbSBt9J5lmiBwb3WeaZ0gb3BlcuF0b3IgcHJlIHZ5a29uYW5pZSBuZWpha2VqIGFrY2llCisgICAgICAgICAgcyB0ZXh0b20uIE5hcHLta2xhZCAgZCAgem1hnmUgdnl6bmHoZW79IHRleHQuCisKKworfn5+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+CisJCSAgIExla2NpYSA1LjQ6IFbdQkVSIEEgWkxVyE9WQU5JRSBT2kJPUk9WCisKKworCSoqIFByZSB2bG+eZW5pZSBvYnNhaHUgc/pib3J1LCBuYXDtmiAgIDpyIEZJTEVOQU1FICoqCisKKyAgMS4gUHJlbWllc3RuaSBrdXJ6b3IgbmFkIHRlbnRvIHJpYWRvay4KKworUE9aTsFNS0E6IFBvIHZ5a29uYW7tIGtyb2t1IDIgdXZpZO2aIHRleHQgeiBsZWtjaWUgNS4zLiBQb3RvbSBzYSBwcmVzdfIKKyAgICAgICAgICBkb2xlLCBhYnkgc2kgdmlkZWwgdPp0byBsZWtjaXUuCisKKyAgMy4gVGVyYXogdmxvniBz+mJvciBURVNUIHBvdZ5pdO1tIHBy7WthenUgICA6ciBURVNUICAga2RlIFRFU1QgamUgbuF6b3YKKyAgICAgc/pib3J1LiBT+mJvciwga3Rvcv0gc2kgcG91nmlsIGplIHVtaWVzdG5lbv0gcG9kIHJpYWRrb20gcyBrdXJ6b3JvbS4KKworUE9aTsFNS0E6IE30nmWaIHRpZZ4gbmHo7XRhnSB2/XN0dXAgdm9ua2FqmmllaG8gcHLta2F6dS4gTmFwcu1rbGFkIDpyICFscworICAgICAgICAgIG5h6O10YSB2/XN0dXAgcHLta2F6dSBscyBhIHVtaWVzdG5pIGhvIHphIHBveu1jaXUga3Vyem9yYS4KKworCit+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+fn4KKwkJCSAgICAgICBMRUtDSUEgNSBaSFJOVVRJRQorCisKKyAgMS4gIDohcHLta2F6ICBzcHVzdO0gdm9ua2Fqmu0gcHLta2F6LgorCisgICAgICBOaWVrdG9y6SB2eXWeaXRlvm7pIHBy7WtsYWR5IHP6OgorCShNU19ET1MpICAgIChVTklYKQorCSA6IWRpciAgICAgICA6IWxzCSAgICAtICB6b2JyYXrtIG9ic2FoIGFkcmVz4XJhCisJIDohZGVsIEZJTEVOQU1FICAgIDohcm0gRklMRU5BTUUgICAgLSAgb2RzdHLhbmkgc/pib3IgRklMRU5BTUUKKworICAyLiAgOncgRklMRU5BTUUgIHVsb57tIGFrdHXhbG55IHP6Ym9yIG5hIGRpc2sgcG9kIG1lbm9tIEZJTEVOQU1FLgorCisgIDMuICB2ICBwb2h5YiAgOncgRklMRU5BTUUgIHVsb57tIHZpenXhbG5lIG96bmHoZW7pIHJpYWRreSBkbworICAgICAgc/pib3J1IEZJTEVOQU1FLgorCisgIDQuICA6ciBGSUxFTkFNRSAgdnliZXJpZSB6IGRpc2t1IHP6Ym9yIEZJTEVOQU1FIGEgdmxvnu0gaG8gZG8gYWt0deFsbmVobworICAgICAgc/pib3J1IHphIHBveu1jaW91IGt1cnpvcmEuCisKKyAgNS4gOnIgIWRpciAgbmHo7XRhIHb9c3R1cCB6IHBy7WthenUgZGlyIGEgdmxvnu0gaG8gemEgcG967WNpdSBrdXJ6b3JhLgorCisKKworfn5+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+CisJCQkgTGVrY2lhIDYuMTogUFLNS0FaIE9UVk9SSY0KKworCisqKiBOYXDtmiAgbyAgcHJlIHZsb55lbmllIHJpYWRrdSBwb2Qga3Vyem9yIGEgcHJlcG51dGllIGRvIHZrbGFkYWNpZWhvIG3zZHUgKioKKworICAxLiBQcmVzdfIga3Vyem9yIG5pnpppZSBuYSByaWFkb2sgb3puYehlbv0gem5h6GtvdSAtLS0+LgorCisgIDIuIE5hcO2aIG8gKG1hbOkgcO1zbWVubykgcHJlIHZsb55lbmllIOhpc3TpaG8gcmlhZGt1IHBvZCBrdXJ6b3JtCisgICAgIGEgcHJlcG51dGllIGRvIHZrbGFkYWNpZWhvIG3zZHUuCisKKyAgMy4gVGVyYXogc2tvcO1ydWogcmlhZG9rIG96bmHoZW79IC0tLT4gYSBzdGxh6CA8RVNDPiBwcmUgdWtvbuhlbmllCisgICAgIHZrbGFkYWNpZWhvIG3zZHUuCisKKy0tLT4gUG8gbmFw7XNhbu0gIG8gIHNhIGt1cnpvciBwcmVtaWVzdG7tIG5hIHZsb55lbv0gcmlhZG9rIGRvIHZrbGFkYWNpZWhvCisgICAgIG3zZHUuCisKKyAgNC4gUHJlIG90dm9yZW5pZSByaWFka3UgbmFkIGt1cnpvcm9tLCBqZWRub3R1Y2hvIG5hcO2aIHZlvmvpICBPICwKKyAgICAgbmFtaWVzdG8gbWFs6WhvICBvLiBWeXNr+pphaiBzaSB0byBuYSByaWFka3UgZG9sZS4KKworLS0tPiBWbG+eIHJpYWRvayBuYWQgdP1tdG8gbmFw7XNhbu1tIE8sIGtl7yBrdXJ6b3IgamUgbmEgdG9tdG8gcmlhZGt1LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla2NpYSA2LjI6IFBSzUtBWiBQUklEQY0KKworCisJICAgKiogTmFw7ZogIGEgIHByZSB2bG+eZW5pZSB0ZXh0dSBaQSBrdXJ6b3IuICoqCisKKyAgMS4gUHJlc3XyIGt1cnpvciBuaZ6aaWUgbmEga29uaWVjIHBydulobyByaWFka3Ugb3puYehlbulobyB6bmHoa291IC0tLT4KKworICAyLiBTdGxh6CBrbOF2ZXN1ICBlICBkb2tpYb4ga3Vyb3pyIG5pZWplIG5hIGtvbmNpIHJpYWRrdS4KKworICAzLiBOYXDtmiAgYSAgKG1hbOkgcO1zbWVubykgcHJlIHByaWRhbmllIHRleHR1IFpBIGt1cnpvcm9tLgorCisgIDQuIERva29u6O0gc2xvdm8gdGFrIGFrbyBqZSB0byB2IGRydWhvbSByaWFka3UuIFN0bGGaIDxFU0M+IHByZQorICAgICBvcHVzdGVuaWUgdmtsYWRhY2llaG8gbfNkdS4KKworICA1LiBQb3WeaSAgZSAgbmEgcHJlc3VuIG5hIO9hbJppZSBuZWRva29u6GVu6SBzbG92byBhIHpvcGFrdWoga3Jva3kgMyBhIDQuCisKKy0tLT4gVGVudG8gcmkgdGkgZG92b751amUgbuFjdiBwcmnhdmFuIHRlc3R1IG5hIGtvbmllYyByaWFka3UuCistLS0+IFRlbnRvIHJpYWRvayB0aSBkb3ZvvnVqZSBu4WN2aWsgcHJpZOF2YW5pYSB0ZXh0dSBuYSBrb25pZWMgcmlhZGt1LgorCitQT1pOwU1LQTogYSwgaSwgQSCadGFydHVq+iByb3ZuYWv9IHZrbGFkYWPtIG3zZCwgamVkaW79IHJvemlkZWwgamUsIGtkZQorICAgICAgICAgIHNhIHpuYWt5IHZrbGFkYWr6LgorCisKK35+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+fgorCQkgICAgTGVrY2lhIDYuMzogSU7dIFNQT1NPQiBOQUhSQURaT1ZBTklBCisKKworICAgICAgKiogTmFw7ZogdmW+a+kgUiBwcmUgbmFocmFkZW5pZSB2aWFjIGFrbyBqZWRu6WhvIHpuYWt1LiAqKgorCisgIDEuIFByZXN18iBrdXJ6b3IgbmmemmllIG5hIHBydv0gcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPi4gUHJlbWllc3RuaQorICAgICBrdXJ6b3IgbmEgemHoaWF0b2sgcHJ26WhvIHb9c2t5dHUgIHh4eC4KKworICAyLiBUZXJheiBuYXDtmiAgUiAgYSAgbmFw7ZogIOjtc2xvIHV2ZWRlbukgdiBkcnVob20gcmlhZGt1LCB0YWueZQorICAgICBzYSBu7W0gbmFocmFk7SBw9HZvZG7pIHh4eC4KKworICAzLiBTdGxh6CA8RVNDPiBwcmUgb3B1c3RlbmllIG5haHJhZHpvdmFjaWVobyBt82R1LiBQb3pu4W1rYSwgnmUgenZ5mm9rCisgICAgIHJpYWRrdSB6b3N0YW5lIG5lem1lbmVu/S4KKworICA0LiBab3Bha3VqIHRpZXRvIGtyb2t5IHByZSBuYWhyYWRlbmllIHp2eZpu/WNoIHh4eC4KKworLS0tPiBQcmlkYW7tbSAxMjMga3UgeHh4IGRvc3RhbmWaIHh4eC4KKy0tLT4gUHJpZGFu7W0gMTIzIGt1IDQ1NiBkb3N0YW5lmiA1NzkuCisKK1BPWk7BTUtBOiAgTmFocmFkem92YWPtIG3zZCBqZSBha28gdmtsYWRhY+0gbfNkLCBhbGUga2GeZP0gbmFw7XNhbv0gem5haworICAgICAgICAgICB6bWGeZSBleGlzdHVq+mNpIHpuYWsuCisKKworfn5+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+CisKKyAgICAgICAgICBMZWtjaWEgNi40OiBDb3B5IFBhc3RlIHRleHR1CisKKyAgICAqKiBwb3We7SBvcGVy4XRvciAgeSAgcHJlIGNvcHkgdGV4dGt1IGEgIHAgIHByZSBqZWhvIHBhc3RlICoqCisKKyAgMS4gQ2hv7yBuaZ6aaWUgbmEgcmlhZG9rIG96bmHoZW79IC0tLT4gYSB1bWllc3RuaSBrdXJvenIgemEgImEpIi4KKworICAyLiBOYZp0YXJ0dWogdml6deFsbnkgbfNkIHBvdZ5pdO1tICB2ICBhIHByZXN18iBrdXJvenIgcHJlZCAiZmlyc3QiLgorCisgIDMuIE5hcO2aICB5ICBwcmUgIHZ5c3RyaWhudXRpZSAoY29weSkgb3puYehlbulobyB0ZXh0dS4KKworICA0LiBQcmVzdfIga3Vyb3pyIG5hIGtvbmllYyDvYWyaaWVobyByaWFka3U6IGokCisKKyAgNS4gTmFw7ZogIHAgIHByZSB2bG+ebmllIChwYXN0ZSkgdGV4dHUuIFBvdG9tIG5hcO2aOiAgYSBkcnVoYSA8RVNDPi4KKworICA2LiBQb3WeaSB2aXp14WxueSBt82QgcHJlIG96bmHoZW5pZSAicG9sb55rYS4iLCB2eXN0cmlobmkgdG8KKyAgICAgcG91nml07W0gIHksIHByZXN18iBzYSBuYSBrb25pZWMgbmFzbGVkdWr6Y2VobyByaWFka3UgcG91nml07W0gIGokCisgICAgIGEgdmxvniBzZW0gdGV4dCBwb3WeaXTtbSAgcC4KKworLS0tPiBhKSB0b3RvIGplIHByduEgcG9sb55rYQorLS0tPiBiKQorCitQT1pOwU1LQTogTfSeZZogcG91nmmdIHRpZZ4gIHkgIGFrbyBvcGVy4XRvcjsgeXcgIHZ5c3RyaWhuZSBqZWRubyBzbG92by4KKworCit+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+fn4KKwkJCSBMZWtjaWEgNi41OiBOQVNUQVZFTklFIE1Pjk5PU1TNCisKKworKiogTmFzdGF2IG1vnm5vc3RpLCB0YWueZSB2eWi+YWThdmFuaWUgYWxlYm8gbmFocmFkem92YW5pZSBpZ25vcnVqZQorICAgcm96bGmab3ZhbmllICoqCisKKworICAxLiBWeWi+YWRhaiByZZ1hemVjICdpZ25vcmUnIG5hcO1zYW7tbToKKyAgICAgL2lnbm9yZSA8RU5URVI+CisgICAgIFpvcGFrdWogdnlovmFk4XZhbmllIG5pZWtvvmtvIGty4XQgc3RsYehlbu1tIGts4XZlc3kgIG4gLgorCisgIDIuIE5hc3RhdiBtb55ub3OdICdpYycgKElnbm9yZSBjYXNlKSBuYXDtc2Fu7W0gcHLta2F6dToKKyAgICAgOnNldCBpYworCisgIDMuIFRlcmF6IHZ5aL5hZGFqIHJlnWF6ZWMgJ2luZ29yZScgem5vdmEgc3RsYehlbu1tIGts4XZlc3kgIG4KKyAgICAgUG96buFta2EsIJ5lIHRlcmF6IHP6IHZ5aL5hZGFu6SBhaiBJZ25vcmUgYSBJR05PUkUuCisKKyAgNC4gTmFzdGF2IG1vnm5vc51pICdobHNlYXJjaCcgYSAnaW5jc2VhcmNoJzoKKyAgICAgOnNldCBobHMgaXMKKworICA1LiBUZXJheiBzcHVzdGkgdnlovmFk4XZhY+0gcHLta2F6IHpub3Z1LCBhIHBvenJpIOhvIHNhIHN0YWxvOgorICAgICAvaWdub3JlIDxFTlRFUj4KKworICA2LiBQcmUgb3BldG92bukgemFwbnV0aWUgcm96bHmab3ZhbmlhIHZlvmv9Y2ggYSBtYWz9Y2ggcO1zbWVuCisgICAgIG5hcO2aOiAgOnNldCBub2ljCisKK1BPWk7BTUtBOiBOYSBvZHN0cuFuZW5pZSB6dv1yYXpuZW5pYSB2/XJhem92IG5hcO2aOiAgOm5vaGxzZWFyY2gKK1BPWk7BTUtBOiBBayBjaGNlmiBuZXJvemx5mm92YZ0gdmW+a29znSBw7XNtZW4gbGVuIHByZSBqZWRubworICAgICAgICAgIHBvdZ5pdGllIHZ5aL5hZOF2YWNpZWhvIHBy7WthenUsIHBvdZ5pIFxjOiAgL2lnbm9yZVxjIDxFTlRFUj4KKworfn5+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+CisJCQkgICAgICBMRUtDSUEgNiBaSFJOVVRJRQorCisKKyAgMS4gTmFw7ZogIG8gIHByZSBvdHZvcmVuaWUgcmlhZGt1IHBvZCBrdXJ6b3JvbSBhIJp0YXJ0IHZrbGFkYWNpZWhvIG3zZHUuCisgICAgIE5hcO2aICBPICBwcmUgb3R2b3JlbmllIHJpYWRrdSBuYWQga3Vyem9yb20uCisKKyAgMi4gTmFw7ZogIGEgIHByZSB2a2xhZGFuaWUgdGV4dHUgWkEga3Vyem9yLgorICAgICBOYXDtmiAgQSAgcHJlIHZrbGFkYW5pZSB0ZXh0dSB6YSBrb25jb20gcmlhZGt1LgorCisgIDMuIFBy7WtheiAgZSAgcHJlc3VuaWUga3Vyb3pyIG5hIGtvbmllYyBzbG92YQorCisgIDQuIE9wZXLhdG9yICB5ICB2eXN0cmlobmUgKHNrb3DtcnVqZSkgdGV4dCwgIHAgIGhvIHZsb57tLgorCisgIDUuIE5hcO1zYW5pZSB2Zb5r6WhvICBSICBwcmVwbmUgZG8gbmFocmFkem92YWNpZWhvIG3zZHUsIGv9bSBuaWVqZQorICAgICBzdGxh6GVu6SA8RVNDPi4KKworICA2LiBOYXDtc2FuaWUgIjpzZXQgeHh4IiBuYXN0YXbtIG1vnm5vc50gInh4eCIuIE5pZWt0b3LpIG5hc3RhdmVuaWEgc/o6CisgICAgICdpYycgJ2lnbm9yZWNhc2UnIGlnbm9ydWplIHZlvmvpIGEgbWFs6SBw7XNtZW7hIHBv6GFzIHZ5aL5hZOF2YW5pYS4KKyAgICAgJ2lzJyAnaW5jc2VhcmNoJyB6b2JyYXp1amUg6Glhc3Rv6G7pIHJlnWF6Y2UgdnlovmFk4XZhbulobyByZZ1hemNhLgorICAgICAnaGxzJyAnaGxzZWFyY2gnIHZ5em5h6O0gdppldGt5IHZ5aL5hZOF2YW7pIHJlnWF6Y2UuCisgICAgICBN9J5lmiBwb3WeaZ0gaG9jaWt0b3L9IHogZGxo/WNoIGEga3LhdGt5Y2ggbuF6dm92IG1vnm5vc3TtLgorCisgIDcuIFZsb54gIm5vIiBwcmVkIG5hc3RhdmVuaWUgcHJlIGplaG8gdnlwbnV0aWU6ICA6c2V0IG5vaWMKKworCisKKworCisKKworfn5+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+CisJCSAgICBMRUtDSUEgNy4xOiBazVNLQU5JRSBOwVBPVkVEWQorCisKKwkgICoqIFBvdZ7tdmFqIG9uLWxpbmUgc3lzdOltIG7hcG92ZWR5ICoqCisKKyAgVmltIG3hIG9ic2lhaGx5IG9uLWxpbmUgc3lzdOltIG7hcG92ZWR5LiBQcmUgb2SadGFydG92YW5pZSwgdnlza/qaYWogamVkZW4KKyAgeiB0/WNodG8gdHJvY2g6CisJLSBzdGxh6CBrbOF2ZXN1IDxIRUxQPiAoYWsgbmVqYWv6IG3hmikKKwktIHN0bGHoIGts4XZlc3UgPEYxPiAoYWsgbmVqYWv6IG3hmikKKwktIG5hcO2aICA6aGVscCA8RU5URVI+CisKKyAgyO10YWogdGV4dCB2IG9rbmUgbuFwb3ZlZHkgcHJlIHrtc2thbmllIHByZWRzdGF2eSBha28gbuFwb3ZlZGEgZnVuZ3VqZS4KKyAgTmFw7ZogICBDVFJMLVcgQ1RSTC1XICBwcmUgc2tvayB6IGplZG7paG8gb2tuYSBkbyBkcnVo6WhvLgorICBOYXDtmiAgICA6cSA8RU5URVI+ICAgIOjtbSB6YXR2b3LtmiBva25vIG7hcG92ZWR5LgorCisgIE30nmWaIG7hanOdIGhlbHAga3UgaG9jaWFrZWogdOltZSBwcmlkYW7tbSBhcmd1bWVudHUga3UgcHLta2F6dSAiOmhlbHAiLgorICBWeXNr+pphaiB0aWV0byAobmV6YWJ1ZG5pIHN0bGHoaZ0gPEVOVEVSPik6CisKKwk6aGVscCB3CisJOmhlbHAgY19DVFJMLUQKKwk6aGVscCBpbnNlcnQtaW5kZXgKKwk6aGVscCB1c2VyLW1hbnVhbAorCisKK35+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+fgorCQkgTEVLQ0lBIDcuMjogVllUVk9SRU5JRSCKVEFSVE9WQUNJRUhPIFNLUklQVFUKKworCQkgICAgICAgKiogWmFwbmkgZnVua2NpZSBlZGl0b3JhIFZpbSAqKgorCisgIFZpbSBt4SBvbW5vaG8gdmlhYyBmdW5rY2lpIG5lniBWaSwgYWxlIHZl6JppbmEgeiBuaWNoIGplIGltcGxpY2l0bmUKKyAgdnlwbnV04S4gUHJlIHBvdZ7tdmFuaWUgdmlhYyBWaW0gZnVua2NpaSB2eXR2b3IgInZpbXJjIiBz+mJvci4KKworICAxLiBaYehuaSBlZGl0b3ZhnSAidmltcmMiIHP6Ym9yLCB0byB64XZpc+0gbmEgcG91nml0b20gc3lzdOltZToKKwk6ZSB+Ly52aW1yYyAgICAgIHByZSBVbml4CisJOmUgJFZJTS9fdmltcmMgICBwcmUgTVMtV2luZG93cworCisgIDIuIFRlcmF6IHNpIHByZejtdGFqIHRleHQgcHLta2xhZHUgInZpbXJjIiBz+mJvcnU6CisKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFVsb54gc/pib3I6CisJOncKKworICBQcmkgbmFzbGVkdWr6Y29tIJp0YXJ0ZSBlZGl0b3JhIFZpbSBzYSBwb3WeaWplIHp2/XJhevJvdmFuaWUgc3ludGF4ZS4KKyAgRG8gInZpbXJjIiBz+mJvcnUgbfSeZZogcHJpZGGdIHaaZXRreSBzdm9qZSB1cHJlZG5vc3Tyb3ZhbukgbmFzdGF2ZW5pYS4KKyAgUHJlIHZpYWMgaW5mb3Jt4WNpaSBuYXDtmiAgOmhlbHAgdmltcmMtaW50cm8KKworfn5+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+CisKKyAgICAgICAgICAgICAgICAgICBMRUtDSUEgNy4zIERPS09OyEVOSUUKKworICAgICAqKiBEb2tvbuhpIHBy7WtheiBuYSBwcu1rYXpvdm9tIHJpYWRrdSBwb3WeaXTtbSBDVFJMLUQgYSA8VEFCPiAqKgorCisgIDEuIFVpc3RpIHNhLCCeZSBWaW0gbmllamUgdiBrb21wYXRpYmlsbm9tIG3zZGU6ICA6c2V0IG5vY3AKKworICAyLiBQb3pyaSBzYSBha+kgc/pib3J5IHNhIG5hY2jhZHphavogdiBhZHJlc+FyaTogIDohbHMgIGFsZWJvICA6IWRpcgorCisgIDMuIE5hcO2aIHph6GlhdG9rIHBy7WthenU6ICA6ZQorCisgIDQuIFN0bGHoICBDVFJMLUQgIGEgVmltIHpvYnJheu0gem96bmFtIHBy7Wthem92IHph6O1uYWr6Y2ljaCAiZSIuCisKKyAgNS4gU3RsYeggPFRBQj4gYSBWaW0gZG9rb27o7SBtZW5vIHBy7WthenUgbmEgIjplZGl0Ii4KKworICA2LiBUZXJheiBwcmlkYWogbWVkemVybu1rIGEgemHoaWF0b2sgbWVuYSBleGlzdHVq+mNlaG8gc/pib3J1OgorICAgICA6ZWRpdCBGSUwKKworICA3LiBTdGxh6CA8VEFCPi4gVmltIGRva29u6O0gbWVubyAoYWsgamUgamVkaW5l6G7pKS4KKworUE9aTsFNS0E6IERva29u6G92YW5pZSBmdW5ndWplIHByZSB2Zb5hIHBy7Wthem92LiBWeXNr+pphaiBzdGxh6GVuaWUKKyAgICAgICAgICBDVFJMLUQgYSA8VEFCPi4ginBlY2nhbG5lIGplIHRvIHWeaXRv6G7pIHByZSBwcu1rYXogIDpoZWxwLgorCisKK35+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+fgorCisgICAgICAgICAgICBMRUtDSUEgNyBaSFJOVVRJRQorCisgIDEuIE5hcO2aICA6aGVscCAgYWxlYm8gc3RsYeggPEYxPiBhbGVibyA8SGVscD4gcHJlIG90dm9yZW5pZSBva25hIG7hcG92ZWR5LgorCisgIDIuIE5hcO2aICA6aGVscCBwcu1rYXogIHByZSB2eWi+YWRhbmllIG7hcG92ZWR5IGt1IHBy7WthenUgcHLta2F6LgorCisgIDMuIE5hcO2aICBDVFJMLVcgQ1RSTC1XICBuYSBwcmVza2/oZW5pZSBkbyBpbulobyBva25hLgorCisgIDQuIE5hcO2aICA6cSAgcHJlIHphdHZvcmVuaWUgb2tuYSBu4XBvdmVkeQorCisgIDUuIFZ5dHZvciCadGFydG92YWPtIHNrcmlwdCB2aW1yYyBwcmUgdWRynmFuaWUgdXByZWRub3N08m92YW79Y2ggbmFzdGF2ZW7tLgorCisgIDYuIFBv6GFzIHDtc2FuaWEgcHLta2F6dSAgOiAgc3RsYeggQ1RSTC1EIHByZSB6b2JyYXplbmllIGRva29u6GVu7S4KKyAgICAgU3RsYeggPFRBQj4gcHJlIHBvdZ5pdGllIGplZG7paG8geiBkb2tvbuhlbu0uCisKKworfn5+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+CisKKworCisgIFRvdG8gdnltZWR6dWplIHb9dWt1IFZpbXUuIFRvdG8gamUgdXLoZW7pIHByZSBzdHJ1Y279IHByZWi+YWQgbyBlZGl0b3JlCisgIFZpbSwg+nBsbmUgcG9zdGHodWr6Y2UgcHJlIL5haGvpIGEgb2JzdG9qbukgcG91nu12YW5pZSB0b2h0byBlZGl0b3JhLgorICBU4XRvIHb9dWthIGplIO9hbGVrbyBvZCBrb21wbGV0bm9zdGksIHByZXRvnmUgVmltIG3hIG9tbm9obyB2aWFjZWogcHLta2F6b3YuCisgIEFrbyDvYWyaaWUgc2kgcHJl6O10YWogdZ7tdmF0vnNr/SBtYW514Ww6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgUHJlIO9hbJppZSDo7XRhbmllIGEgmnT6ZGl1bSBqZSBvZHBvcvroYW7hIGtuaWhhOgorICBWaW0gLSBWaSBJbXByb3ZlZCAtIG9kIFN0ZXZlIE91YWxsaW5lCisgIFZ5ZGF2YXRlvjogTmV3IFJpZGVycworICBQcnbhIGtuaWhhIHVy6GVu4SBwcmUgVmltLiCKcGVjaeFsbmUgdmhvZG7hIHByZSB6YehpYXRv6G7ta292LgorICBPYnNhaHVqZSBtbm+ec3R2byBwcu1rbGFkb3YgYSBvYnLhemtvdi4KKyAgUG96cmkgbmEgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKworICBU4XRvIGtuaWhhIGplIHN0YXKaaWEgYSBqZSB2aWFjIG8gVmkgYWtvIG8gVmltLCBhbGUgamUgdGllniBvZHBvcvroYW7hOgorICBMZWFybmluZyB0aGUgVmkgRWRpdG9yIC0gb2QgTGluZGEgTGFtYgorICBWeWRhdmF0Zb46IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIEplIHRvIGRvYnLhIGtuaWhhIHByZSB67XNrYW5pZSB2ZWRvbW9zdO0gbyBwcuFjaSBzIGVkaXRvcm9tIFZpLgorICCKaWVzdGUgdnlkYW5pZSBvYnNhaHVqZSB0aWWeIGluZm9ybeFjaWUgbyBlZGl0b3JlIFZpbS4KKworICBU4XRvIHb9dWthIGJvbGEgbmFw7XNhbuEgYXV0b3JtaSBNaWNoYWVsIEMuIFBpZXJjZSBhIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgcyBwb3WeaXTtbSBteZpsaWVub2sgZG9kYW79bWkgb2QgQ2hhcmxlcyBTbWl0aCwKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIE1vZGlmaWtvdmFu6SBwcmUgVmltIG9kIEJyYW0gTW9vbGVuYWFyLgorCit+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+fn4KKworICBQcmVrbGFkIGRvIFNsb3Zlbuhpbnk6ILx1Ym+aIMhlbGtvCisgIGUtbWFpbDogICAgICAgY2VsYm9zQGlubWFpbC5zaworICBMYXN0IENoYW5nZTogIDIwMDYgQXByIDE4CisgIGVuY29kaW5nOiAgICAgY3AxMjUwCg==