PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgICBCIGkgZSBuIHYgZSBuIGkgZCBvICAgYSBsICAgdCB1IHQgbyByICAgZCBlICAgViBJIE0gIC0gIFZlcnNp824gMS40ICAgICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgVmltIGVzIHVuIGVkaXRvciBtdXkgcG90ZW50ZSBxdWUgZGlzcG9uZSBkZSBtdWNob3MgbWFuZGF0b3MsIGRlbWFzaWFkb3MKICAgICBwYXJhIHNlciBleHBsaWNhZG9zIGVuIHVuIHR1dG9yIGNvbW8g6XN0ZS4gRXN0ZSB0dXRvciBlc3ThIGRpc2XxYWRvCiAgICAgcGFyYSBkZXNjcmliaXIgc3VmaWNpZW50ZXMgbWFuZGF0b3MgcGFyYSBxdWUgdXN0ZWQgc2VhIGNhcGF6IGRlCiAgICAgYXByZW5kZXIgZuFjaWxtZW50ZSBhIHVzYXIgVmltIGNvbW8gdW4gZWRpdG9yIGRlIHByb3Dzc2l0byBnZW5lcmFsLgoKICAgICBFbCB0aWVtcG8gbmVjZXNhcmlvIHBhcmEgY29tcGxldGFyIGVsIHR1dG9yIGVzIGFwcm94aW1hZGFtZW50ZSBkZSAyNS0zMAogICAgIG1pbnV0b3MsIGRlcGVuZGllbmRvIGRlIGN1YW50byB0aWVtcG8gc2UgZGVkaXF1ZSBhIGxhIGV4cGVyaW1lbnRhY2nzbi4KCiAgICAgTG9zIG1hbmRhdG9zIGRlIGVzdGFzIGxlY2Npb25lcyBtb2RpZmljYXLhbiBlbCB0ZXh0by4gSGFnYSB1bmEgY29waWEgZGUKICAgICBlc3RlIGZpY2hlcm8gcGFyYSBwcmFjdGljYXIgKGNvbiCrdmltdHV0b3K7IGVzdG8geWEgZXMgdW5hIGNvcGlhKS4KCiAgICAgRXMgaW1wb3J0YW50ZSByZWNvcmRhciBxdWUgZXN0ZSB0dXRvciBlc3ThIHBlbnNhZG8gcGFyYSBlbnNl8WFyIGNvbgogICAgIGxhIHBy4WN0aWNhLiBFc3RvIHNpZ25pZmljYSBxdWUgZXMgbmVjZXNhcmlvIGVqZWN1dGFyIGxvcyBtYW5kYXRvcwogICAgIHBhcmEgYXByZW5kZXJsb3MgYWRlY3VhZGFtZW50ZS4gU2kg+m5pY2FtZW50ZSBzZSBsZWUgZWwgdGV4dG8sIHNlCiAgICAgb2x2aWRhcuFuIGxvcyBtYW5kYXRvcy4KCiAgICAgQWhvcmEsIGFzZWf6cmVzZSBkZSBxdWUgbGEgdGVjbGEgZGUgYmxvcXVlbyBkZSBtYXn6c2N1bGFzIG5vIGVzdOEKICAgICBhY3RpdmFkYSB5IHB1bHNlIGxhIHRlY2xhCWogIGxvIHN1ZmljaWVudGUgcGFyYSBtb3ZlciBlbCBjdXJzb3IKICAgICBkZSBmb3JtYSBxdWUgbGEgTGVjY2nzbiAxLjEgb2N1cGUgY29tcGxldGFtZW50ZSBsYSBwYW50YWxsYS4Kfn5+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+CgkJICAgICBMZWNjafNuIDEuMTogTU9WSU1JRU5UT1MgREVMIENVUlNPUgoKICoqIFBhcmEgbW92ZXIgZWwgY3Vyc29yLCBwdWxzZSBsYXMgdGVjbGFzIGgsaixrLGwgZGUgbGEgZm9ybWEgcXVlIHNlIGluZGljYS4gKioKICAgICAgXgogICAgICBrICAgICAgIEluZGljYWNp8246IExhIHRlY2xhIGggZXN04SBhIGxhIGl6cXVpZXJkYSB5IG11ZXZlIGEgbGEgaXpxdWllcmRhLgogPCBoCSBsID4JCSAgTGEgdGVjbGEgbCBlc3ThIGEgbGEgZGVyZWNoYSB5IG11ZXZlIGEgbGEgZGVyZWNoYS4KICAgICAgagkJCSAgTGEgdGVjbGEgaiBwYXJlY2UgdW5hIGZsZWNoYSBxdWUgYXB1bnRhIGhhY2lhIGFiYWpvLgogICAgICB2CgogIDEuIE11ZXZhIGVsIGN1cnNvciBwb3IgbGEgcGFudGFsbGEgaGFzdGEgcXVlIHNlIHNpZW50YSBj821vZG8gY29uIGVsbG8uCgogIDIuIE1hbnRlbmdhIHB1bHNhZGEgbGEgdGVjbGEJaiAgaGFzdGEgcXVlIHNlIHJlcGl0YSCrYXV0b23hZ2ljYW1lbnRluy4KLS0tPiBBaG9yYSB5YSBzYWJlIGNvbW8gbGxlZ2FyIGEgbGEgbGVjY2nzbiBzaWd1aWVudGUuCgogIDMuIFV0aWxpemFuZG8gbGEgdGVjbGEgYWJham8sIHZheWEgYSBsYSBMZWNjafNuIDEuMi4KCk5vdGE6IFNpIGFsZ3VuYSB2ZXogbm8gZXN04SBzZWd1cm8gc29icmUgYWxnbyBxdWUgaGEgdGVjbGVhZG8sIHB1bHNlIDxFU0M+CiAgICAgIHBhcmEgc2l0dWFyc2UgZW4gbW9kbyBOb3JtYWwuIEx1ZWdvIHZ1ZWx2YSBhIHRlY2xlYXIgbGEgb3JkZW4gcXVlIGRlc2VhYmEuCgpOb3RhOiBMYXMgdGVjbGFzIGRlIG1vdmltaWVudG8gZGVsIGN1cnNvciB0YW1iaeluIGZ1bmNpb25hbi4gUGVybyB1c2FuZG8KICAgICAgaGprbCBwb2Ry4SBtb3ZlcnNlIG11Y2hvIG3hcyBy4XBpZG8gdW5hIHZleiBxdWUgc2UgYWNvc3R1bWJyZSBhIGVsbG8uCgp+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+fn4KCQkgICAgTGVjY2nzbiAxLjI6IEVOVFJBTkRPIFkgU0FMSUVORE8gREUgVklNCgogIKGhIE5PVEE6IEFudGVzIGRlIGVqZWN1dGFyIGFsZ3VubyBkZSBsb3MgcGFzb3Mgc2lndWllbnRlcyBsZWEgcHJpbWVybwoJICAgbGEgbGVjY2nzbiBlbnRlcmEhIQoKICAxLiBQdWxzZSBsYSB0ZWNsYSA8RVNDPiAocGFyYSBhc2VndXJhcnNlIGRlIHF1ZSBlc3ThIGVuIG1vZG8gTm9ybWFsKS4KCiAgMi4gRXNjcmliYToJCQk6cSEgPElOVFJPPgoKLS0tPiBFc3RvIHByb3ZvY2EgbGEgc2FsaWRhIGRlbCBlZGl0b3IgU0lOIGd1YXJkYXIgbmluZ/puIGNhbWJpbyBxdWUgc2UgaGF5YQogICAgIGhlY2hvLiBTaSBxdWllcmUgZ3VhcmRhciBsb3MgY2FtYmlvcyB5IHNhbGlyIGVzY3JpYmE6CgkJCQk6d3EgPElOVFJPPgoKICAzLiBDdWFuZG8gdmVhIGVsIHPtbWJvbG8gZGVsIHNpc3RlbWEsIGVzY3JpYmEgZWwgbWFuZGF0byBxdWUgbGUgdHJham8gYSBlc3RlCiAgICAgdHV0b3IuIMlzdGUgcHVlZGUgaGFiZXIgc2lkbzogICB2aW10dXRvciA8SU5UUk8+CiAgICAgTm9ybWFsbWVudGUgc2UgdXNhcu1hOgkgICAgIHZpbSB0dXRvciA8SU5UUk8+CgotLS0+ICd2aW0nIHNpZ25pZmljYSBlbnRyYXIgYWwgZWRpdG9yLCAndHV0b3InIGVzIGVsIGZpY2hlcm8gYSBlZGl0YXIuCgogIDQuIFNpIGhhIG1lbW9yaXphZG8gZXN0b3MgcGFzb3MgeSBzZSBzZSBzaWVudGUgY29uIGNvbmZpYW56YSwgZWplY3V0ZSBsb3MKICAgICBwYXNvcyAxIGEgMyBwYXJhIHNhbGlyIHkgdm9sdmVyIGEgZW50cmFyIGFsIGVkaXRvci4gRGVzcHXpcyBtdWV2YSBlbAogICAgIGN1cnNvciBoYXN0YSBsYSBMZWNjafNuIDEuMy4Kfn5+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+CgkJICAgTGVjY2nzbiAxLjM6IEVESUNJ004gREUgVEVYVE8gLSBCT1JSQURPCgoqKiBFc3RhbmRvIGVuIG1vZG8gTm9ybWFsIHB1bHNlICB4ICBwYXJhIGJvcnJhciBlbCBjYXLhY3RlciBzb2JyZSBlbCBjdXJzb3IuICoqagoKCiAgMS4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCgogIDIuIFBhcmEgY29ycmVnaXIgbG9zIGVycm9yZXMsIG11ZXZhIGVsIGN1cnNvciBoYXN0YSBxdWUgZXN06SBiYWpvIGVsCiAgICAgY2Fy4WN0ZXIgcXVlIHZhIGEgc2VyIGJvcnJhZG8uCgogIDMuIFB1bHNlIGxhIHRlY2xhICB4CXBhcmEgYm9ycmFyIGVsIGNhcuFjdGVyIHNvYnJhbnRlLgoKICA0LiBSZXBpdGEgbG9zIHBhc29zIDIgYSA0IGhhc3RhIHF1ZSBsYSBmcmFzZSBzZWEgbGEgY29ycmVjdGEuCgotLS0+IExhIHZ2YWNhIHNhbHTz8yBzb29icmVlIGxhYSBsdXV1dW5hLgoKICA1LiBBaG9yYSBxdWUgbGEgbO1uZWEgZXN0YSBjb3JyZWN0YSwgY29udGlu+mUgY29uIGxhIExlY2Np824gMS40LgoKCk5PVEE6IEEgbWVkaWRhIHF1ZSB2YXlhIGF2YW56YW5kbyBlbiBlc3RlIHR1dG9yIG5vIGludGVudGUgbWVtb3JpemFyLAogICAgICBhcHJlbmRhIHByYWN0aWNhbmRvLgoKfn5+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+CgkJICAgTGVjY2nzbiAxLjQ6IEVESUNJ004gREUgVEVYVE8gLSBJTlNFUkNJ004KCiAgICAgICoqIEVzdGFuZG8gZW4gbW9kbyBOb3JtYWwgcHVsc2UgIGkgIHBhcmEgaW5zZXJ0YXIgdGV4dG8uICoqCgoKICAxLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgoKICAyLiBQYXJhIHF1ZSBsYSBwcmltZXJhIGztbmVhIHNlIGlndWFsIGEgbGEgc2VndW5kYSBtdWV2YSBlbCBjdXJzb3IgYmFqbyBlbAogICAgIHByaW1lciBjYXLhY3RlciBxdWUgc2lndWUgYWwgdGV4dG8gcXVlIGhhIGRlIHNlciBpbnNlcnRhZG8uCgogIDMuIFB1bHNlICBpICB5IGVzY3JpYmEgbG9zIGNhcmFjdGVyZXMgYSBh8WFkaXIuCgogIDQuIEEgbWVkaWRhIHF1ZSBzZWEgY29ycmVnaWRvIGNhZGEgZXJyb3IgcHVsc2UgPEVTQz4gcGFyYSB2b2x2ZXIgYWwgbW9kbwogICAgIE5vcm1hbC4gUmVwaXRhIGxvcyBwYXNvcyAyIGEgNCBwYXJhIGNvcnJlZ2lyIGxhIGZyYXNlLgoKLS0tPiBGbHRhIHRleHRvIGVuIGVzdGEgLgotLS0+IEZhbHRhIGFsZ28gZGUgdGV4dG8gZW4gZXN0YSBs7W5lYS4KCiAgNS4gQ3VhbmRvIHNlIHNpZW50YSBj821vZG8gaW5zZXJ0YW5kbyB0ZXh0byBwYXNlIGFsIHJlc3VtZW4gcXVlIGVzdGEgbeFzCiAgICAgYWJham8uCgoKfn5+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+CgkJCSAgICBSRVNVTUVOIERFIExBIExFQ0NJ004gMQoKCiAgMS4gRWwgY3Vyc29yIHNlIG11ZXZlIHV0aWxpemFuZG8gbGFzIHRlY2xhcyBkZSBsYXMgZmxlY2hhcyBvIGxhcyB0ZWNsYXMgaGprbC4KCSBoIChpenF1aWVyZGEpCSAgIGogKGFiYWpvKQkgIGsgKGFycmliYSkJICBsIChkZXJlY2hhKQoKICAyLiBQYXJhIGFjY2VkZXIgYSBWaW0gKGRlc2RlIGVsIHPtbWJvbG8gZGVsIHNpc3RlbWEgJSkgZXNjcmliYToKICAgICB2aW0gRklMRU5BTUUgPElOVFJPPgoKICAzLiBQYXJhIHNhbGlyIGRlIFZpbSBlc2NyaWJhOiA8RVNDPiA6cSEgPElOVFJPPiBwYXJhIGVsaW1pbmFyIHRvZG9zCiAgICAgbG9zIGNhbWJpb3MuCgogIDQuIFBhcmEgYm9ycmFyIHVuIGNhcuFjdGVyIHNvYnJlIGVsIGN1cnNvciBlbiBtb2RvIE5vcm1hbCBwdWxzZTogIHgKCiAgNS4gUGFyYSBpbnNlcnRhciB0ZXh0byBlbiBsYSBwb3NpY2nzbiBkZWwgY3Vyc29yIGVzdGFuZG8gZW4gbW9kbyBOb3JtYWw6CgkgIHB1bHNlICAgaSAgIGVzY3JpYmEgZWwgdGV4dG8JIHB1bHNlIDxFU0M+CgpOT1RBOiBQdWxzYW5kbyA8RVNDPiBzZSB2dWVsdmUgYWwgbW9kbyBOb3JtYWwgbyBjYW5jZWxhIHVuIG1hbmRhdG8gbm8gZGVzZWFkbwogICAgICBvIGluY29tcGxldG8uCgpBaG9yYSBjb250aW76ZSBjb24gbGEgTGVjY2nzbiAyLgoKfn5+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+CgkJICAgICBMZWNjafNuIDIuMTogIE1BTkRBVE9TIFBBUkEgQk9SUkFSCgoKICAgICAgICoqIEVzY3JpYmEgZHcgcGFyYSBib3JyYXIgaGFzdGEgZWwgZmluYWwgZGUgdW5hIHBhbGFicmEgKioKCgogIDEuIFB1bHNlIDxFU0M+IHBhcmEgYXNlZ3VyYXJzZSBkZSBxdWUgZXN04SBlbiBlbCBtb2RvIE5vcm1hbC4KCiAgMi4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCgogIDMuIE11ZXZhIGVsIGN1cnNvciBhbCBjb21pZW56byBkZSB1bmEgcGFsYWJyYSBxdWUgZGVzZWUgYm9ycmFyLgoKICA0LiBQdWxzZSAgIGR3ICAgcGFyYSBoYWNlciBxdWUgbGEgcGFsYWJyYSBkZXNhcGFyZXpjYS4KCgogIE5PVEE6IExhcyBsZXRyYXMgICBkdyAgIGFwYXJlY2Vy4W4gZW4gbGEg+mx0aW1hIGztbmVhIGRlIGxhIHBhbnRhbGxhIGN1YW5kbwoJbGFzIGVzY3JpYmEuIFNpIGVzY3JpYmUgYWxnbyBlcXVpdm9jYWRvIHB1bHNlIDxFU0M+IHkgY29taWVuY2UgZGUgbnVldm8uCgoKLS0tPiBIYXkgYWxndW5hcyBwYWxhYnJhcyBw4XNhbG8gYmllbiBxdWUgbm8gcGVydGVuZWNlbiBwYXBlbCBhIGVzdGEgZnJhc2UuCgoKfn5+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+CgkJICAgIExlY2Np824gMi4yOiBNwVMgTUFOREFUT1MgUEFSQSBCT1JSQVIKCgoJICAqKiBFc2NyaWJhICBkJCAgcGFyYSBib3JyYXIgaGFzdGEgZWwgZmluYWwgZGUgbGEgbO1uZWEuICoqCgoKICAxLiBQdWxzZSAgPEVTQz4gIHBhcmEgYXNlZ3VyYXJzZSBkZSBxdWUgZXN04SBlbiBlbCBtb2RvIE5vcm1hbC4KCiAgMi4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCgogIDMuIE11ZXZhIGVsIGN1cnNvciBhbCBmaW5hbCBkZSBsYSBs7W5lYSBjb3JyZWN0YSAoREVTUFXJUyBkZWwgcHJpbWVyIC4gKS4KCiAgNC4gRXNjcmliYSAgZCQgIHBhcmEgYm9ycmFyIGhhc3RhIGVsIGZpbmFsIGRlIGxhIGztbmVhLgoKLS0tPiBBbGd1aWVuIGhhIGVzY3JpdG8gZWwgZmluYWwgZGUgZXN0YSBs7W5lYSBkb3MgdmVjZXMuIGVzdGEgbO1uZWEgZG9zIHZlY2VzLgoKCgoKCgoKfn5+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+CgkJICAgIExlY2Np824gMi4zOiBTT0JSRSBNQU5EQVRPUyBZIE9CSkVUT1MKCgogIEVsIGZvcm1hdG8gZGVsIG1hbmRhdG8gZGUgYm9ycmFyICAgZAkgZXMgY29tbyBzaWd1ZToKCgkgW276bWVyb10gICBkCW9iamV0bwkgICAgTwkgICAgIGQJIFtu+m1lcm9dICAgb2JqZXRvCiAgZG9uZGU6CiAgIG76bWVybyAtIGVzIGN14W50YXMgdmVjZXMgc2UgaGEgZGUgZWplY3V0YXIgZWwgbWFuZGF0byAob3BjaW9uYWwsIGRlZmVjdG89MSkuCiAgIGQgLSBlcyBlbCBtYW5kYXRvIHBhcmEgYm9ycmFyLgogICBvYmpldG8gLSBlcyBzb2JyZSBsbyBxdWUgZWwgbWFuZGF0byB2YSBhIG9wZXJhciAobGlzdGEsIGFiYWpvKS4KCiAgVW5hIGxpc3RhIGNvcnRhIGRlIG9iamV0b3M6CiAgIHcgLSBkZXNkZSBlbCBjdXJzb3IgaGFzdGEgZWwgZmluYWwgZGUgbGEgcGFsYWJyYSwgaW5jbHV5ZW5kbyBlbCBlc3BhY2lvLgogICBlIC0gZGVzZGUgZWwgY3Vyc29yIGhhc3RhIGVsIGZpbmFsIGRlIGxhIHBhbGFicmEsIFNJTiBpbmNsdWlyIGVsIGVzcGFjaW8uCiAgICQgLSBkZXNkZSBlbCBjdXJzb3IgaGFzdGEgZWwgZmluYWwgZGUgbGEgbO1uZWEuCgpOT1RFOiBQYXJhIGxvcyBhdmVudHVyZXJvcywgcHVsc2FuZG8gc/NsbyBlbCBvYmpldG8gZXN0YW5kbyBlbiBtb2RvIE5vcm1hbAogICAgICBzaW4gdW4gbWFuZGF0byBtb3ZlcuEgZWwgY3Vyc29yIGNvbW8gc2UgZXNwZWNpZmljYSBlbiBsYSBsaXN0YSBkZSBvYmpldG9zLgoKCgp+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+fn4KCSAgICAgICBMZWNjafNuIDIuNDogVU5BIEVYQ0VQQ0nTTiBBTCAnTUFOREFUTy1PQkpFVE8nCgoJICAgKiogRXNjcmliYQlkZCAgIHBhcmEgYm9ycmFyIHVuYSBs7W5lYSBlbnRlcmEuICoqCgogIERlYmlkbyBhIGxhIGZyZWN1ZW5jaWEgY29uIHF1ZSBzZSBib3JyYW4gbO1uZWFzIGVudGVyYXMsIGxvcyBkaXNl8WFkb3JlcwogIGRlIFZpbSBkZWNpZGllcm9uIHF1ZSBzZXLtYSBt4XMgZuFjaWwgZWwgZXNjcmliaXIgc2ltcGxlbWVudGUgZG9zIGRlcyBlbgogIHVuYSBmaWxhIHBhcmEgYm9ycmFyCXVuYSBs7W5lYS4KCiAgMS4gTXVldmEgZWwgY3Vyc29yIGEgbGEgc2VndW5kYSBs7W5lYSBkZSBsYSBsaXN0YSBkZSBhYmFqby4KICAyLiBFc2NyaWJhICBkZCAgcGFyYSBib3JyYXIgbGEgbO1uZWEuCiAgMy4gTXXpdmFzZSBhaG9yYSBhIGxhIGN1YXJ0YSBs7W5lYS4KICA0LiBFc2NyaWJhICAgMmRkICAgKHJlY3VlcmRlCW76bWVyby1tYW5kYXRvLW9iamV0bykgcGFyYSBib3JyYXIgbGFzIGRvcwogICAgIGztbmVhcy4KCiAgICAgIDEpIExhcyByb3NhcyBzb24gcm9qYXMsCiAgICAgIDIpIEVsIGJhcnJvIGVzIGRpdmVydGlkbywKICAgICAgMykgRWwgY2llbG8gZXMgYXp1bCwKICAgICAgNCkgWW8gdGVuZ28gdW4gY29jaGUsCiAgICAgIDUpIExvcyByZWxvamVzIG1hcmNhbiBsYSBob3JhLAogICAgICA2KSBFbCBhenVjYXIgZXMgZHVsY2UsCiAgICAgIDcpIFkgYXPtIGVyZXMgdHUuCgp+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+fn4KCQkgICAgICAgTGVjY2nzbiAyLjU6IEVMIE1BTkRBVE8gREVTSEFDRVIKCgogICAqKiBQdWxzZSAgdQlwYXJhIGRlc2hhY2VyIGxvcyD6bHRpbW9zIG1hbmRhdG9zLAoJICAgICBVCXBhcmEgZGVzaGFjZXIgdW5hIGztbmVhIGVudGVyYS4gICAgICAgKioKCiAgMS4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4geSBzaXT6ZWxvIGJham8gZWwKICAgICBwcmltZXIgZXJyb3IuCiAgMi4gUHVsc2UgIHggIHBhcmEgYm9ycmFyIGVsIHByaW1lciBjYXLhdGVyIGVycvNuZW8uCiAgMy4gUHVsc2UgYWhvcmEgIHUgIHBhcmEgZGVzaGFjZXIgZWwg+mx0aW1vIG1hbmRhdG8gZWplY3V0YWRvLgogIDQuIEFob3JhIGNvcnJpamEgdG9kb3MgbG9zIGVycm9yZXMgZGUgbGEgbO1uZWEgdXNhbmRvIGVsIG1hbmRhdG8gIHguCiAgNS4gUHVsc2UgYWhvcmEgIFUgIG1hefpzY3VsYSBwYXJhIGRldm9sdmVyIGxhIGztbmVhIGEgc3UgZXN0YWRvIG9yaWdpbmFsLgogIDYuIFB1bHNlIGFob3JhICB1ICB1bmFzIHBvY2FzIHZlY2VzIHBhcmEgZGVzaGFjZXIgbG8gaGVjaG8gcG9yICBVICB5IGxvcwogICAgIG1hbmRhdG9zIHByZXZpb3MuCiAgNy4gQWhvcmEgcHVsc2UgQ1RSTC1SIChtYW50ZW5nYSBwdWxzYWRhIGxhIHRlY2xhIENUUkwgeSBwdWxzZSBSKSB1bmFzCiAgICAgcG9jYXMgdmVjZXMgcGFyYSB2b2x2ZXIgYSBlamVjdXRhciBsb3MgbWFuZGF0b3MgKGRlc2hhY2VyIGxvIGRlc2hlY2hvKS4KCi0tLT4gQ29ycnJpamEgbG9zIGVycm9yZXMgZGVlIGVzdHR0YSBs7W5lYSB5IHZ1dWVsdmEgYSBwb25lcmxvcyBjb29uIGRlc2hhY2VyLgoKICA4LiBFc3RvcyBtYW5kYXRvcyBzb24gbXV5IPp0aWxlcy4gQWhvcmEgcGFzZSBhbCByZXN1bWVuIGRlIGxhIExlY2Np824gMi4KCn5+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+fgoJCQkgICAgUkVTVU1FTiBERSBMQSBMRUNDSdNOIDIKCiAgMS4gUGFyYSBib3JyYXIgZGVzZGUgZWwgY3Vyc29yIGhhc3RhIGVsIGZpbmFsIGRlIHVuYSBwYWxhYnJhIHB1bHNlOglkdwoKICAyLiBQYXJhIGJvcnJhciBkZXNkZSBlbCBjdXJzb3IgaGFzdGEgZWwgZmluYWwgZGUgdW5hIGztbmVhIHB1bHNlOglkJAoKICAzLiBQYXJhIGJvcnJhciB1bmEgbO1uZWEgZW50ZXJhIHB1bHNlOiAgICBkZAoKICA0LiBFbCBmb3JtYXRvIGRlIHVuIG1hbmRhdG8gZW4gbW9kbyBOb3JtYWwgZXM6CgogICAgICAgW276bWVyb10gICBtYW5kYXRvICAgb2JqZXRvICAgTwkgbWFuZGF0byAgIFtu+m1lcm9dICAgb2JqZXRvCiAgICAgZG9uZGU6CiAgICAgICBu+m1lcm8gLSBlcyBjdeFudGFzIHZlY2VzIHNlIGhhIGRlIGVqZWN1dGFyIGVsIG1hbmRhdG8KICAgICAgIG1hbmRhdG8gLSBlcyBsbyBxdWUgaGF5IHF1ZSBoYWNlciwgcG9yIGVqZW1wbG8sIGQgcGFyYSBib3JyYXIKICAgICAgIG9iamV0byAtIGVzIHNvYnJlIGxvIHF1ZSBlbCBtYW5kYXRvIHZhIGEgb3BlcmFyLCBwb3IgZWplbXBsbwoJCXcgKHBhbGFicmEpLCAkIChoYXN0YSBlbCBmaW5hbCBkZSBsYSBs7W5lYSksIGV0Yy4KCiAgNS4gUGFyYSBkZXNoYWNlciBhY2Npb25lcyBwcmV2aWFzIHB1bHNlOgkJIHUgKHUgbWlu+nNjdWxhKQogICAgIFBhcmEgZGVzaGFjZXIgdG9kb3MgbG9zIGNhbWJpb3MgZGUgdW5hIGztbmVhIHB1bHNlOiBVIChVIG1hefpzY3VsYSkKICAgICBQYXJhIGRlc2hhY2VyIGxvIGRlc2hlY2hvIHB1bHNlOgkJCSBDVFJMLVIKCgp+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+fn4KCQkJIExlY2Np824gMy4xOiBFTCBNQU5EQVRPIKtQVVS7IChwb25lcikKCiAgKiogUHVsc2UgcCBwYXJhIHBvbmVyIGxvIPpsdGltbyBxdWUgaGEgYm9ycmFkbyBkZXNwdelzIGRlbCBjdXJzb3IuICoqCgogIDEuIE11ZXZhIGVsIGN1cnNvciBhbCBmaW5hbCBkZSBsYSBsaXN0YSBkZSBhYmFqby4KCiAgMi4gRXNjcmliYSAgZGQgIHBhcmEgYm9ycmFyIGxhIGztbmVhIHkgYWxtYWNlbmFybGEgZW4gZWwgYnVmZmVyIGRlIFZpbS4KCiAgMy4gTXVldmEgZWwgY3Vyc29yIGEgbGEgbO1uZWEgcXVlIGRlYmUgcXVlZGFyIHBvciBkZWJham8gZGUgbGEKICAgICBs7W5lYSBhIG1vdmVyLgoKICA0LiBFc3RhbmRvIGVuIG1vZCBOb3JtYWwsIHB1bHNlICAgcAlwYXJhIHJlc3RpdHVpciBsYSBs7W5lYSBib3JyYWRhLgoKICA1LiBSZXBpdGEgbG9zIHBhc29zIDIgYSA0IHBhcmEgcG9uZXIgdG9kYXMgbGFzIGztbmVhcyBlbiBlbCBvcmRlbiBjb3JyZWN0by4KCiAgICAgZCkgv1B1ZWRlcyBhcHJlbmRlcmxhIHR1PwogICAgIGIpIExhcyB2aW9sZXRhcyBzb24gYXp1bGVzLAogICAgIGMpIExhIGludGVsaWdlbmNpYSBzZSBhcHJlbmRlLAogICAgIGEpIExhcyByb3NhcyBzb24gcm9qYXMsCgp+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+fn4KCQkgICAgICAgTGVjY2nzbiAzLjI6IEVMIE1BTkRBVE8gq1JFUExBQ0W7IChyZW1wbGF6YXIpCgoKICAqKiBQdWxzZSAgciAgeSB1biBjYXLhY3RlciBwYXJhIHN1c3RpdHVpciBlbCBjYXLhY3RlciBzb2JyZSBlbCBjdXJzb3IuICoqCgoKICAxLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgoKICAyLiBNdWV2YSBlbCBjdXJzb3IgcGFyYSBzaXR1YXJsbyBiYWpvIGVsIHByaW1lciBlcnJvci4KCiAgMy4gUHVsc2UgICByCSB5IGVsIGNhcuFjdGVyIHF1ZSBkZWJlIHN1c3RpdHVpciBhbCBlcnLzbmVvLgoKICA0LiBSZXBpdGEgbG9zIHBhc29zIDIgeSAzIGhhc3RhIHF1ZSBsYSBwcmltZXJhIGztbmVhIGVzdOkgY29ycmVnaWRhLgoKLS0tPiChQ3VlbmRvIGVzdGEgbO1uZWEgZnVlIHJzY3JpdGEgYWxndWllbiBwdWxzbyBhbGd1bmFzIHRlY2xhcyBlcXVpYm9jYWRhcyEKLS0tPiChQ3VhbmRvIGVzdGEgbO1uZWEgZnVlIGVzY3JpdGEgYWxndWllbiBwdWxz8yBhbGd1bmFzIHRlY2xhcyBlcXVpdm9jYWRhcyEKCgoKCgoKfn5+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+CgkJCUxlY2Np824gMy4zOiBFTCBNQU5EQVRPIKtDSEFOR0W7IChjYW1iaWFyKQoKCiAgICAgKiogUGFyYSBjYW1iaWFyIHBhcnRlIGRlIHVuYSBwYWxhYnJhIG8gdG9kYSBlbGxhIGVzY3JpYmEgIGN3IC4gKioKCgogIDEuIE11ZXZhIGVsIGN1cnNvciBhIGxhIHByaW1lcmEgbO1uZWEgZGUgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCgogIDIuIFNpdPplIGVsIGN1cnNvciBlbiBsYSB1IGRlIGx1YnJzLgoKICAzLiBFc2NyaWJhICBjdyAgeSBjb3JyaWphIGxhIHBhbGFicmEgKGVuIGVzdGUgY2FzbywgZXNjcmliYSAn7W5lYScpLgoKICA0LiBQdWxzZSA8RVNDPiB5IG11ZXZhIGVsIGN1cnNvciBhbCBlcnJvciBzaWd1aWVudGUgKGVsIHByaW1lciBjYXLhY3RlcgogICAgIHF1ZSBkZWJhIGNhbWJpYXJzZSkuCgogIDUuIFJlcGl0YSBsb3MgcGFzb3MgMyB5IDQgaGFzdGEgcXVlIGxhIHByaW1lcmEgZnJhc2Ugc2VhIGlndWFsIGEgbGEgc2VndW5kYS4KCi0tLT4gRXN0YSBsdWJycyB0aWVuZSB1bmFzIHBvY2FzIHBza2F2dGFkIHF1ZSBjb3JyZWdpciB1c2VtIGVsIG1hbmRhdG8gY2hhbmdlLgotLS0+IEVzdGEgbO1uZWEgdGllbmUgdW5hcyBwb2NhcyBwYWxhYnJhcyBxdWUgY29ycmVnaXIgdXNhbmRvIGVsIG1hbmRhdG8gY2hhbmdlLgoKCn5+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+fgoJCSAgICAgIExlY2Np824gMy40OiBNwVMgQ0FNQklPUyBVU0FORE8gYwoKICAgKiogRWwgbWFuZGF0byBjaGFuZ2Ugc2UgdXRpbGl6YSBjb24gbG9zIG1pc21vcyBvYmpldG9zIHF1ZSBkZWxldGUuICoqCgogIDEuIEVsIG1hbmRhdG8gY2hhbmdlIGZ1bmNpb25hIGRlIGxhIG1pc21hIGZvcm1hIHF1ZSBkZWxldGUuIEVsIGZvcm1hdG8gZXM6CgogICAgICAgW276bWVyb10gICBjICAgb2JqZXRvCSAgIE8JICAgIGMJW276bWVyb10gICBvYmpldG8KCiAgMi4gTG9zIG9iamV0b3Mgc29uIHRhbWJp6W0gbG9zIG1pc21vcywgdGFsZXMgY29tbyAgdyAocGFsYWJyYSksICQgKGZpbiBkZQogICAgIGxhIGztbmVhKSwgZXRjLgoKICAzLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgoKICA0LiBNdWV2YSBlbCBjdXJzb3IgYWwgcHJpbWVyIGVycm9yLgoKICA1LiBFc2NyaWJhICBjJCAgcGFyYSBoYWNlciBxdWUgZWwgcmVzdG8gZGUgbGEgbO1uZWEgc2VhIGNvbW8gbGEgc2VndW5kYQogICAgIHkgcHVsc2UgPEVTQz4uCgotLS0+IEVsIGZpbmFsIGRlIGVzdGEgbO1uZWEgbmVjZXNpdGEgYWxndW5hIGF5dWRhIHBhcmEgcXVlIHNlYSBjb21vIGxhIHNlZ3VuZGEuCi0tLT4gRWwgZmluYWwgZGUgZXN0YSBs7W5lYSBuZWNlc2l0YSBzZXIgY29ycmVnaWRvIHVzYW5kbyBlbCBtYW5kYXRvICBjJC4KCn5+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+fgoJCQkgICAgUkVTVU1FTiBERSBMQSBMRUNDSdNOIDMKCgogIDEuIFBhcmEgc3VzdGl0dWlyIHRleHRvIHF1ZSBoYSBzaWRvIGJvcnJhZG8sIHB1bHNlICBwIC4gRXN0byBQb25lIGVsIHRleHRvCiAgICAgYm9ycmFkbyBERVNQVclTIGRlbCBjdXJzb3IgKHNpIGxvIHF1ZSBzZSBoYSBib3JyYWRvIGVzIHVuYSBs7W5lYSBzZQogICAgIHNpdHVhcuEgc29icmUgbGEgbO1uZWEgcXVlIGVzdOEgc29icmUgZWwgY3Vyc29yKS4KCiAgMi4gUGFyYSBzdXN0aXR1aXIgZWwgY2Fy4WN0ZXIgYmFqbyBlbCBjdXJzb3IsIHB1bHNlCXIgICB5IGx1ZWdvIGVsCiAgICAgY2Fy4WN0ZXIgcXVlIHN1c3RpdHVpcuEgYWwgb3JpZ2luYWwuCgogIDMuIEVsIG1hbmRhdG8gY2hhbmdlIGxlIHBlcm1pdGUgY2FtYmlhciBlbCBvYmpldG8gZXNwZWNpZmljYWRvIGRlc2RlIGxhCiAgICAgcG9zaWNp824gZGVsIGN1cnNvciBoYXN0YSBlbCBmaW5hbCBkZWwgb2JqZXRvOyBlLmcuIFB1bHNlCWN3ICBwYXJhCiAgICAgY2FtYmlhciBkZXNkZSBlbCBjdXJzb3IgaGFzdGEgZWwgZmluYWwgZGUgbGEgcGFsYWJyYSwgYyQgIHBhcmEgY2FtYmlhcgogICAgIGhhc3RhIGVsIGZpbmFsIGRlIGxhIGztbmVhLgoKICA0LiBFbCBmb3JtYXRvIHBhcmEgY2hhbmdlIGVzOgoKCSBbbvptZXJvXSAgIGMJb2JqZXRvCSAgICAgIE8JCWMgICBbbvptZXJvXSAgIG9iamV0bwoKICBQYXNlIGFob3JhIGEgbGEgbGVjY2nzbiBzaWd1aWVudGUuCgoKfn5+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+CgkgICAgICAgTGVjY2nzbiA0LjE6IFNJVFVBQ0nTTiBFTiBFTCBGSUNIRVJPIFkgU1UgRVNUQURPCgoKICoqIFB1bHNlIENUUkwtZyBwYXJhIG1vc3RyYXIgc3Ugc2l0dWFjafNuIGVuIGVsIGZpY2hlcm8geSBzdSBlc3RhZG8uCiAgICBQdWxzZSBNQVlVLUcgcGFyYSBtb3ZlcnNlIGEgdW5hIGRldGVybWluYWRhIGztbmVhIGRlbCBmaWNoZXJvLiAqKgoKICBOb3RhOiChoUxlYSBlc3RhIGxlY2Np824gZW50ZXJhIGFudGVzIGRlIGVqZWN1dGFyIGFsZ3VubyBkZSBsb3MgcGFzb3MhIQoKCiAgMS4gTWFudGVuZ2EgcHVsc2FkYSBsYSB0ZWNsYSBDdHJsIHkgcHVsc2UgIGcgLiBBcGFyZWNlIHVuYSBs7W5lYSBkZSBlc3RhZG8KICAgICBhbCBmaW5hbCBkZSBsYSBwYW50YWxsYSBjb24gZWwgbm9tYnJlIGRlbCBmaWNoZXJvIHkgbGEgbO1uZWEgZW4gbGEgcXVlCiAgICAgZXN04SBzaXR1YWRvLiBSZWN1ZXJkZSBlbCBu+m1lcm8gZGUgbGEgbO1uZWEgcGFyYSBlbCBQYXNvIDMuCgogIDIuIFB1bHNlIE1heXUtRyBwYXJhIGlyIGFsIGZpbmFsIGRlbCBmaWNoZXJvLgoKICAzLiBFc2NyaWJhIGVsIG76bWVybyBkZSBsYSBs7W5lYSBlbiBsYSBxdWUgZXN0YWJhIHkgZGVzcPplcyBNYXl1LUcuIEVzdG8KICAgICBsZSB2b2x2ZXLhIGEgbGEgbO1uZWEgZW4gbGEgcXVlIGVzdGFiYSBjdWFuZG8gcHVsc/MgQ3RybC1nLgogICAgIChDdWFuZG8gZXNjcmliYSBsb3MgbvptZXJvcyBOTyBzZSBtb3N0cmFy4W4gZW4gbGEgcGFudGFsbGEpLgoKICA0LiBTaSBzZSBzaWVudGUgY29uZmlhZG8gZW4gcG9kZXIgaGFjZXIgZXN0byBlamVjdXRlIGxvcyBwYXNvcyAxIGEgMy4KCn5+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+fgoJCQlMZWNjafNuIDQuMjogRUwgTUFOREFUTyCrU0VBUkNIuyAoYnVzY2FyKQoKICAgICAqKiBFc2NyaWJhICAvICBzZWd1aWRvIGRlIHVuYSBmcmFzZSBwYXJhIGJ1c2NhciBsYSBmcmFzZS4gKioKCiAgMS4gRW4gbW9kbyBOb3JtYWwgcHVsc2UgZWwgY2Fy4WN0ZXIgIC8gLiBG7Wplc2UgcXVlIHRhbnRvIGVsIGNhcuFjdGVyICAvCiAgICAgY29tbyBlbCBjdXJzb3IgYXBhcmVjZW4gZW4gbGEg+mx0aW1hIGztbmVhIGRlIGxhIHBhbnRhbGxhLCBsbyBtaXNtbwogICAgIHF1ZSBlbCBtYW5kYXRvICA6IC4KCiAgMi4gRXNjcmliYSBhaG9yYSAgIGVycnJvb3IgICA8SU5UUk8+LiBFc3RhIGVzIGxhIHBhbGFicmEgcXVlIHF1aWVyZSBidXNjYXIuCgogIDMuIFBhcmEgcmVwZXRpciBsYSBi+nNxdWVkYSwgc2ltcGxlbWVudGUgcHVsc2UgIG4gLgogICAgIFBhcmEgYnVzYWNhciBsYSBtaXNtYSBmcmFzZSBlbiBsYSBkaXJlY2Np824gb3B1ZXN0YSwgcHVsc2UgTWF5dS1OIC4KCiAgNC4gU2kgcXVpZXJlIGJ1c2NhciB1bmEgZnJhc2UgZW4gbGEgZGlyZWNjafNuIG9wdWVzdGEgKGhhY2lhIGFycmliYSksCiAgICAgdXRpbGljZSBlbCBtYW5kYXRvICA/ICBlbiBsdWdhciBkZSAgLyAuCgotLS0+IEN1YW5kbyBsYSBi+nNxdWVkYSBhbGNhbnphIGVsIGZpbmFsIGRlbCBmaWNoZXJvIGNvbnRpbnVhcuEgZGVzZGUgZWwKICAgICBwcmluY2lwaW8uCgogIKtlcnJyb29yuyBubyBlcyBsYSBmb3JtYSBkZSBkZWxldHJlYXIgZXJyb3I7IGVycnJvb3IgZXMgdW4gZXJyb3IuCgp+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+fn4KCSAgICAgICBMZWNjafNuIDQuMzogQtpTUVVFREEgUEFSQSBDT01QUk9CQVIgUEFSyU5URVNJUwoKICAgKiogUHVsc2UgJSAgcGFyYSBlbmNvbnRyYXIgZWwgcGFy6W50ZXNpcyBjb3JyZXNwb25kaWVudGUgYSApLF0gbyB9IC4gKioKCgogIDEuIFNpdPplIGVsIGN1cnNvciBlbiBjdWFscXVpZXJhIGRlIGxvcyBjYXJhY3RlcmVzICksIF0gbyB9IGVuIGxhIGztbmVhIGRlCiAgICAgYWJham8gc2XxYWxhZGEgY29uIC0tLT4uCgogIDIuIFB1bHNlIGFob3JhIGVsIGNhcuFjdGVyICAlICAuCgogIDMuIEVsIGN1cnNvciBkZWJlcu1hIHNpdHVhcnNlIGVuIGVsIHBhculudGVzaXMgKCwgY29yY2hldGUgWyBvIGxsYXZlIHsKICAgICBjb3JyZXNwb25kaWVudGUuCgogIDQuIFB1bHNlICAlICBwYXJhIG1vdmVyIGRlIG51ZXZvIGVsIGN1cnNvciBhbCBwYXLpbnRlc2lzLCBjb3JjaGV0ZSBvIGxsYXZlCiAgICAgY29ycmVzcG9uZGllbnRlLgoKLS0tPiBFc3RvICggZXMgdW5hIGztbmVhIGRlIHBydWViYSBjb24gKCwgWywgXSwgeywgeSB9IGVuIGVsbGEuICkpLgoKTm90YTogoUVzdG8gZXMgbXV5IPp0aWwgZW4gbGEgZGV0ZWNjafNuIGRlIGVycm9yZXMgZW4gdW4gcHJvZ3JhbWEgY29uCiAgICAgIHBhculudGVzaXMsIGNvcmNoZXRlcyBvIGxsYXZlcyBkaXNwYXJlam9zLgoKfn5+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+CgkJICBMZWNjafNuIDQuNDogVU5BIEZPUk1BIERFIENBTUJJQVIgRVJST1JFUwoKCiAgICAqKiBFc2NyaWJhCTpzL3ZpZWpvL251ZXZvL2cgcGFyYSBzdXN0aXR1aXIgJ3ZpZWpvJyBwb3IgJ251ZXZvJy4gKioKCgogIDEuIE11ZXZhIGVsIGN1cnNvciBhIGxhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgoKICAyLiBFc2NyaWJhICA6cy9sYWFzL2xhcy8gIDxJTlRSTz4gLiBUZW5nYSBlbiBjdWVudGEgcXVlIGVzdGUgbWFuZGF0byBjYW1iaWEKICAgICBz82xvIGxhIHByaW1lcmEgYXBhcmljafNuIGVuIGxhIGztbmVhIGRlIGxhIGV4cHJlc2nzbiBhIGNhbWJpYXIuCgotLS0+IExhYXMgbWVqb3JlcyDpcG9jYXMgcGFyYSB2ZXIgbGFhcyBmbG9yZXMgc29uIGxhYXMgcHJpbWF2ZXJhcy4KCiAgNC4gUGFyYSBjYW1iaWFyIHRvZGFzIGxhcyBhcGFyaWNpb25lcyBkZSB1bmEgZXhwcmVzafNuIGVudGUgZG9zIGztbmVhcwogICAgIGVzY3JpYmEgICA6Iywjcy92aWVqby9udWV2by9nICAgZG9uZGUgIywjIHNvbiBsb3MgbvptZXJvcyBkZSBsYXMgZG9zCiAgICAgbO1uZWFzLiBFc2NyaWJhICAgOiVzL3ZpZWpvL251ZXZvL2cgICBwYXJhIGhhY2VyIGxvcyBjYW1iaW9zIGVuIHRvZG8KICAgICBlbCBmaWNoZXJvLgoKCgoKCn5+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+fgoJCQkgICAgUkVTVU1FTiBERSBMQSBMRUNDSdNOIDQKCgogIDEuIEN0cmwtZyAgbXVlc3RyYSBsYSBwb3NpY2nzbiBkZWwgY3Vyc29yIGVuIGVsIGZpY2hlcm8geSBzdSBlc3RhZG8uCiAgICAgTWF5dS1HIG11ZXZlIGVsIGN1cnNvciBhbCBmaW5hbCBkZWwgZmljaGVyby4gVW4gbvptZXJvIGRlIGztbmVhCiAgICAgc2VndWlkbyBkZSBNYXl1LUcgbXVldmUgZWwgY3Vyc29yIGEgbGEgbO1uZWEgY29uIGVzZSBu+m1lcm8uCgogIDIuIFB1bHNhbmRvICAvICBzZWd1aWRvIGRlIHVuYSBmcmFzZSBidXNjYSBsYSBmcmFzZSBoYWNpYSBBREVMQU5URS4KICAgICBQdWxzYW5kbyAgPyAgc2VndWlkbyBkZSB1bmEgZnJhc2UgYnVzY2EgbGEgZnJhc2UgaGFjaWEgQVRSwVMuCiAgICAgRGVzcHXpcyBkZSB1bmEgYvpzcXVlZGEgcHVsc2UgIG4gIHBhcmEgZW5jb250cmFyIGxhIGFwYXJpY2nzbgogICAgIHNpZ3VpZW50ZSBlbiBsYSBtaXNtYSBkaXJlY2Np824uCgogIDMuIFB1bHNhbmRvICAlICBjdWFuZG8gZWwgY3Vyc29yIGVzdGEgc29icmUgKCwpLCBbLF0sIHsgbyB9IGxvY2FsaXphCiAgICAgbGEgcGFyZWphIGNvcnJlc3BvbmRpZW50ZS4KCiAgNC4gUGFyYSBjYW1iaWFyIHZpZWpvIHBvciBudWV2byBlbiB1bmEgbO1uZWEgcHVsc2UJICAgICAgOnMvdmllam8vbnVldm8KICAgICBQYXJhIGNhbWJpYXIgdG9kb3MgbG9zIHZpZWpvIHBvciBudWV2byBlbiB1bmEgbO1uZWEgcHVsc2UgOnMvdmllam8vbnVldm8vZwogICAgIFBhcmEgY2FtYmlhciBmcmFzZXMgZW50cmUgZG9zIG76bWVyb3MgZGUgbO1uZWFzIHB1bHNlICA6Iywjcy92aWVqby9udWV2by9nCiAgICAgUGFyYSBjYW1iaWFyIHZpZWpvIHBvciBudWV2byBlbiB0b2RvIGVsIGZpY2hlcm8gcHVsc2UgIDolcy92aWVqby9udWV2by9nCiAgICAgUGFyYSBwZWRpciBjb25maXJtYWNp824gZW4gY2FkYSBjYXNvIGHxYWRhICAnYycJICAgIDolcy92aWVqby9udWV2by9nYwoKCn5+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+fgoJCUxlY2Np824gNS4xOiBD001PIEVKRUNVVEFSIFVOIE1BTkRBVE8gRVhURVJOTwoKCiAgKiogRXNjcmliYSAgOiEgIHNlZ3VpZG8gZGUgdW4gbWFuZGF0byBleHRlcm5vIHBhcmEgZWplY3V0YXIgZXNlIG1hbmRhdG8uICoqCgoKICAxLiBFc2NyaWJhIGVsIGNvbm9jaWRvIG1hbmRhdG8gIDogIHBhcmEgc2l0dWFyIGVsIGN1cnNvciBhbCBmaW5hbCBkZSBsYQogICAgIHBhbnRhbGxhLiBFc3RvIGxlIHBlcm1pdGly4SBpbnRyb2R1Y2lyIHVuIG1hbmRhdG8uCgogIDIuIEFob3JhIGVzY3JpYmEgZWwgY2Fy4WN0ZXIgISAoc2lnbm8gZGUgYWRtaXJhY2nzbikuIEVzdG8gbGUgcGVybWl0aXLhCiAgICAgZWplY3V0YXIgY3VhbHF1aWVyIG1hbmRhdG8gZGVsIHNpc3RlbWEuCgogIDMuIENvbW8gZWplbXBsbyBlc2NyaWJhICAgbHMJIGRlc3B16XMgZGVsICEgeSBsdWVnbyBwdWxzZSA8SU5UUk8+LiBFc3RvCiAgICAgbGUgbW9zdHJhcuEgdW5hIGxpc3RhIGRlIHN1IGRpcmVjdG9yaW8sIGlndWFsIHF1ZSBzaSBlc3R1dmllcmEgZW4gZWwKICAgICBz7W1ib2xvIGRlbCBzaXN0ZW1hLiBTaSAgbHMgIG5vIGZ1bmNpb25hIHV0aWxpY2UJITpkaXIJLgoKLS0tPk5vdGE6IERlIGVzdGEgbWFuZXJhIGVzIHBvc2libGUgZWplY3V0YXIgY3VhbHF1aWVyIG1hbmRhdG8gZXh0ZXJuby4KCi0tLT5Ob3RhOiBUb2RvcyBsb3MgbWFuZGF0b3MgICA6ICAgZGViZW4gZmluYWxpemFyc2UgcHVsc2FuZG8gPElOVFJPPi4KCgp+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+fgoJCSAgICAgTGVjY2nzbiA1LjI6IE3BUyBTT0JSRSBHVUFSREFSIEZJQ0hFUk9TCgoKICAgICAqKiBQYXJhIGd1YXJkYXIgbG9zIGNhbWJpb3MgaGVjaG9zIGVuIHVuIGZpY2hlcm8sCgllc2NyaWJhICA6dyBOT01CUkVfREVfRklDSEVSTy4gKioKCgogIDEuIEVzY3JpYmEgIDohZGlyICBvCTohbHMgIHBhcmEgdmVyIHVuYSBsaXN0YSBkZSBzdSBkaXJlY3RvcmlvLgogICAgIFlhIHNhYmUgcXVlIGRlYmUgcHVsc2FyIDxJTlRSTz4gZGVzcHXpcyBkZSBlbGxvLgoKICAyLiBFbGlqYSB1biBub21icmUgZGUgZmljaGVybyBxdWUgdG9kYXbtYSBubyBleGlzdGEsIGNvbW8gVEVTVC4KCiAgMy4gQWhvcmEgZXNjcmliYSAgIDp3IFRFU1QgIChkb25kZSBURVNUIGVzIGVsIG5vbWJyZSBkZSBmaWNoZXJvIGVsZWdpZG8pLgoKICA0LiBFc3RhIGFjY2nzbiBndWFyZGEgdG9kbyBlbCBmaWNoZXJvICAoVmltIFR1dG9yKSAgYmFqbyBlbCBub21icmUgVEVTVC4KICAgICBQYXJhIGNvbXByb2JhcmxvIGVzY3JpYmEJOiFkaXIJZGUgbnVldm8geSB2ZWEgc3UgZGlyZWN0b3Jpby4KCi0tLT4gVGVuZ2EgZW4gY3VlbnRhIHF1ZSBzaSBzYWxlIGRlIFZpbSB5ICBlbnRyYSBkZSBudWV2byBjb24gZWwgbm9tYnJlIGRlCiAgICAgZmljaGVybyBURVNULCBlbCBmaWNoZXJvIHNlcu1hIHVuYSBjb3BpYSBleGFjdGEgZGVsIHR1dG9yIGN1YW5kbyBsbwogICAgIGhhIGd1YXJkYWRvLgoKfn5+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+CgkgICAgICAgTGVjY2nzbiA1LjM6IFVOIE1BTkRBVE8gREUgRVNDUklUVVJBIFNFTEVDVElWTwoKICAgKiogUGFyYSBndWFyZGFyIHBhcnRlIGRlbCBmaWNoZXJvIGVzY3JpYmEgICA6IywjIE5PTUJSRV9ERUxfRklDSEVSTyAqKgoKCiAgMS4gRXNjcmliYSBkZSBudWV2bywgdW5hIHZleiBt4XMsICA6IWRpciAgbyAgOiFscyAgcGFyYSBvYnRlbmVyIHVuYSBsaXN0YQogICAgIGRlIHN1IGRpcmVjdG9yaW8geSBlbGlqYSBub21icmUgZGUgZmljaGVybyBhZGVjdWFkbywgY29tbyBURVNULgoKICAyLiBNdWV2YSBlbCBjdXJzb3IgYWwgcHJpbmNpcGlvIGRlIGxhIHBhbnRhbGxhIHkgcHVsc2UgIEN0cmwtZyAgcGFyYSBzYWJlcgogICAgIGVsIG76bWVybyBkZSBsYSBs7W5lYSBjb3JyZXNwb25kaWVudGUuIKFSRUNVRVJERSBFU1RFIE7aTUVSTyEKCiAgMy4gQWhvcmEgbXVldmEgZWwgY3Vyc29yIGEgbGEg+mx0aW1hIGztbmVhIGRlIGxhIHBhbnRhbGxhIHkgcHVsc2UgQ3RybC1nCiAgICAgZGUgbnVldm8uIKFSRUNVRVJERSBUQU1CSclOIEVTVEUgTtpNRVJPIQoKICA0LiBQYXJhIGd1YXJkYXIgU09MQU1FTlRFIHVuYSBwYXJ0ZSBkZSB1biBmaWNoZXJvLCBlc2NyaWJhICA6IywjIHcgVEVTVAogICAgIGRvbmRlICMsIyBzb24gbG9zIG76bWVyb3MgcXVlIHVzdGVkIGhhIHJlY29yZGFkbyAocHJpbWVyYSBs7W5lYSwKICAgICD6bHRpbWEgbO1uZWEpIHkgVEVTVCBlcyBzdSBub21icmUgZGUgZGljaGVyby4KCiAgNS4gRGUgbnVldm8sIHZlYSBxdWUgZWwgZmljaGVybyBlc3RhIGFo7SBjb24JOiFkaXIgIHBlcm8gTk8gbG8gYm9ycmUuCgoKfn5+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+CgkJTGVjY2nzbiA1LjQ6IFJFQ1VQRVJBTkRPIFkgTUVaQ0xBTkRPIEZJQ0hFUk9TCgogKiogUGFyYSBpbnNlcnRhciBlbCBjb250ZW5pZG8gZGUgdW4gZmljaGVybyBlc2NyaWJhIDpyIE5PTUJSRV9ERUxfRklDSEVSTyAqKgoKICAxLiBFc2NyaWJhICAgOiFkaXIgICBwYXJhIGFzZWd1cmFyc2UgZGUgcXVlIHN1IGZpY2hlcm8gVEVTVCBkZWwgZWplcmNpY2lvCiAgICAgYW50ZXJpb3IgZXN04SBwcmVzZW50ZS4KCiAgMi4gU2l0dWUgZWwgY3Vyc29yIGFsIHByaW5jaXBpbyBkZSBlc3RhIHBhbnRhbGxhLgoKTk9UQTogRGVzcHXpcyBkZSBlamVjdXRhciBlbCBwYXNvIDMgc2UgdmVy4SBsYSBMZWNjafNuIDUuMy4gTHVlZ28gbXXpdmFzZQogICAgICBoYWNpYSBBQkFKTyBwYXJhIHZlciBlc3RhIGxlY2Np824gZGUgbnVldm8uCgogIDMuIEFob3JhIHJlY3VwZXJlIGVsIGZpY2hlcm8gVEVTVCB1dGlsaXphbmRvIGVsIG1hbmRhdG8gIDpyIFRFU1QgIGRvbmRlCiAgICAgVEVTVCBlcyBlbCBub21icmUgZGVsIGZpY2hlcm8uCgpOT1RBOiBFbCBmaWNoZXJvIHJlY3VwZXJhZG8gc2Ugc2l0+mEgYSBwYXJ0aXIgZGUgbGEgcG9zaWNp824gZGVsIGN1cnNvci4KCiAgNC4gUGFyYSB2ZXJpZmljYXIgcXVlIGVsIGZpY2hlcm8gaGEgc2lkbyByZWN1cGVyYWRvLCBtdWV2YSBlbCBjdXJzb3IgaGFjaWEKICAgICBhcnJpYmEgeSB2ZWEgcXVlIGhheSBkb3MgY29waWFzIGRlIGxhIExlY2Np824gNS4zLCBsYSBvcmlnaW5hbCB5IGxhCiAgICAgdmVyc2nzbiBkZWwgZmljaGVyby4KCn5+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+fgoJCQkgICBSRVNVTUVOIERFIExBIExFQ0NJ004gNQoKCiAgMS4gIDohbWFuZGF0byAgZWplY3V0YSB1biBtYW5kYXRvIGV4dGVybm8uCgogICAgICBBbGd1bm9zIGVqZW1wbG9zIPp0aWxlcyBzb246CgkgIDohZGlyIC0gbXVlc3RyYSBlbCBjb250ZW5pZG8gZGUgdW4gZGlyZWN0b3Jpby4KCSAgOiFkZWwgTk9NQlJFX0RFX0ZJQ0hFUk8gIC0gIGJvcnJhIGVsIGZpY2hlcm8gTk9NQlJFX0RFIEZJQ0hFUk8uCgogIDIuICA6IywjdyBOT01CUkVfREUgX0ZJQ0hFUk8gIGd1YXJkYSBkZXNkZSBsYXMgbO1uZWFzICMgaGFzdGEgbGEgIyBlbiBlbAogICAgIGZpY2hlcm8gTk9NQlJFX0RFX0ZJQ0hFUk8uCgogIDMuICA6ciBOT01CUkVfREUgX0ZJQ0hFUk8gIHJlY3VwZXJhIGVsIGZpY2hlcm8gZGVsIGRpc2NvIE5PTUJSRV9ERSBGSUNIRVJPCiAgICAgeSBsbyBpbnNlcnRhIGVuIGVsIGZpY2hlcm8gZW4gY3Vyc28gYSBwYXJ0aXIgZGUgbGEgcG9zaWNp824gZGVsIGN1cnNvci4KCgoKCgoKCn5+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+fgoJCQkgTGVjY2nzbiA2LjE6IEVMIE1BTkRBVE8gq09QRU67IChhYnJpcikKCgoJICoqIFB1bHNlICBvICBwYXJhIGFicmlyIHVuYSBs7W5lYSBkZWJham8gZGVsIGN1cnNvcgoJICAgIHkgc2l0dWFybGUgZW4gbW9kbyBJbnNlcnQgKioKCgogIDEuIE11ZXZhIGVsIGN1cnNvciBhIGxhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgoKICAyLiBQdWxzZSAgbyAobWlu+nNjdWxhKSBwYXJhIGFicmlyIHVuYSBs7W5lYSBwb3IgREVCQUpPIGRlbCBjdXJzb3IKICAgICB5IHNpdHVhcmxlIGVuIG1vZG8gSW5zZXJ0LgoKICAzLiBBaG9yYSBjb3BpZSBsYSBs7W5lYSBzZfFhbGFkYSBjb24gLS0tPiB5IHB1bHNlIDxFU0M+IHBhcmEgc2FsaXIgZGVsCiAgICAgbW9kbyBJbnNlcnQuCgotLS0+IEx1ZWdvIGRlIHB1bHNhciAgbyAgZWwgY3Vyc29yIHNlIHNpdPphIGVuIGxhIGztbmVhIGFiaWVydGEgZW4gbW9kbyBJbnNlcnQuCgogIDQuIFBhcmEgYWJyaXIgdW5hIGztbmVhIHBvciBlbmNpbWEgZGVsIGN1cnNvciwgc2ltcGxlbWVudGUgcHVsc2UgdW5hIE8KICAgICBtYXn6c2N1bGEsIGVuIGx1Z2FyIGRlIHVuYSBvIG1pbvpzY3VsYS4gUHJ1ZWJlIGVzdGUgZW4gbGEgbO1uZWEgc2lndWllbnRlLgpBYnJhIHVuYSBs7W5lYSBzb2JyZSDpc3RhIHB1bHNhbmRvIE1heXUtTyBjdWFuZG8gZWwgY3Vyc28gZXN04SBlbiBlc3RhIGztbmVhLgoKfn5+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+CgkJCUxlY2Np824gNi4yOiBFTCBNQU5EQVRPIKtBUFBFTkS7IChh8WFkaXIpCgoJICoqIFB1bHNlICBhICBwYXJhIGluc2VydGFyIHRleHRvIERFU1BVyVMgZGVsIGN1cnNvci4gKioKCgogIDEuIE11ZXZhIGVsIGN1cnNvciBhbCBmaW5hbCBkZSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+CiAgICAgcHVsc2FuZG8gICQgIGVuIG1vZG8gTm9ybWFsLgoKICAyLiBFc2NyaWJhIHVuYSAgYSAgKG1pbvpzY3VsYSkgcGFyYSBh8WFkaXIgdGV4dG8gREVTUFXJUyBkZWwgY2Fy4WN0ZXIKICAgICBxdWUgZXN04SBzb2JyZSBlbCBjdXJzb3IuIChBIG1hefpzY3VsYSBh8WFkZSB0ZXh0byBhbCBmaW5hbCBkZSBsYSBs7W5lYSkuCgpOb3RhOiChRXN0byBldml0YSBlbCBwdWxzYXIgIGkgLCBlbCD6bHRpbW8gY2Fy4WN0ZXIsIGVsIHRleHRvIGEgaW5zZXJ0YXIsCiAgICAgIDxFU0M+LCBjdXJzb3IgYSBsYSBkZXJlY2hhIHksIGZpbmFsbWVudGUsIHggLCBz82xvIHBhcmEgYfFhZGlyIGFsZ28KICAgICAgYWwgZmluYWwgZGUgdW5hIGztbmVhIQoKICAzLiBDb21wbGV0ZSBhaG9yYSBsYSBwcmltZXJhIGztbmVhLiBO83Rlc2UgcXVlIGFwcGVuZCBlcyBleGFjdGFtZW50ZSBsbwogICAgIG1pc21vIHF1ZSBtb2RvIEluc2VydCwgZXhjZXB0byBwb3IgZWwgbHVnYXIgZG9uZGUgc2UgaW5zZXJ0YSBlbCB0ZXh0by4KCi0tLT4gRXN0YSBs7W5lYSBsZSBwZXJtaXRpcuEgcHJhdGljYXIKLS0tPiBFc3RhIGztbmVhIGxlIHBlcm1pdGly4SBwcmF0aWNhciBlbCBh8WFkaWRvIGRlIHRleHRvIGFsIGZpbmFsIGRlIHVuYSBs7W5lYS4KCn5+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+fgoJCSAgICAgTGVjY2nzbiA2LjM6IE9UUkEgVkVSU0nTTiBERSCrUkVQTEFDRbsgKHJlbXBsYXphcikKCiAgICAqKiBQdWxzZSB1bmEgIFIgIG1hefpzY3VsYSBwYXJhIHN1c3RpdHVpciBt4XMgZGUgdW4gY2Fy4WN0ZXIuICoqCgoKICAxLiBNdWV2YSBlbCBjdXJzb3IgYSBsYSBwcmltZXJhIGztbmVhIGRlIGFiYWpvIHNl8WFsYWRhIGNvbiAtLS0+LgoKICAyLiBTaXT6ZSBlbCBjdXJzb3IgYWwgY29taWVuem8gZGUgbGEgcHJpbWVyYSBwYWxhYnJhIHF1ZSBzZWEgZGlmZXJlbnRlCiAgICAgZGUgbGFzIGRlIGxhIHNlZ3VuZGEgbO1uZWEgbWFyY2FkYSBjb24gLS0tPiAobGEgcGFsYWJyYSAnYW50ZXJpb3InKS4KCiAgMy4gQWhvcmEgcHVsc2UgIFIgIHkgc3VzdGl0dXlhIGVsIHJlc3RvIGRlbCB0ZXh0byBkZSBsYSBwcmltZXJhIGztbmVhCiAgICAgZXNjcmliaWVuZG8gc29icmUgZWwgdmllam8gdGV4dG8gcGFyYSBxdWUgbGEgcHJpbWVyYSBs7W5lYSBzZWEgaWd1YWwKICAgICBxdWUgbGEgcHJpbWVyYS4KCi0tLT4gUGFyYSBoYWNlciBxdWUgZXN0YSBs7W5lYSBzZWEgaWd1YWwgcXVlIGxhIGFudGVyaW9yIHVzZSBsYXMgdGVjbGFzLgotLS0+IFBhcmEgaGFjZXIgcXVlIGVzdGEgbO1uZWEgc2VhIGlndWFsIHF1ZSBsYSBzaWd1aWVudGUgZXNjcmliYSBSIHkgZWwgdGV4dG8uCgogIDQuIE7zdGVzZSBxdWUgY3VhbmRvIHB1bHNlIDxFU0M+IHBhcmEgc2FsaXIsIGVsIHRleHRvIG5vIGFsdGVyYWRvIHBlcm1hbmVjZS4KCgoKfn5+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+CgkJCSBMZWNjafNuIDYuNDogRklKQVIgT1BDSU9ORVMKCiAqKiBGaWphciB1bmEgb3BjafNuIGRlIGZvcm1hIHF1ZSB1bmEgYvpzcXVlZGEgbyBzdXN0aXR1Y2nzbiBpZ25vcmUgbGEgY2FqYSAqKgogIChQYXJhIGVsIGNvbmNlcHRvIGRlIGNhamEgZGUgdW5hIGxldHJhLCB26WFzZSBsYSBub3RhIGFsIGZpbmFsIGRlbCBmaWNoZXJvKQoKCiAgMS4gQnVzcXVlICdpZ25vcmFyJyBpbnRyb2R1Y2llbmRvOgogICAgIC9pZ25vcmFyCiAgICAgUmVwaXRhIHZhcmlhcyB2ZWNlcyBsYSBi+nNxdWUgcHVsc2FuZG8gbGEgdGVjbGEgbgoKICAyLiBGaWplIGxhIG9wY2nzbiAnaWMnIChJZ25vcmFyIGxhIGNhamEgZGUgbGEgbGV0cmEpIGVzY3JpYmllbmRvOgogICAgIDpzZXQgaWMKCiAgMy4gQWhvcmEgYnVzcXVlICdpZ25vcmFyJyBkZSBudWV2byBwdWxzYW5kbyBuCiAgICAgUmVwaXRhIGxhIGL6c3F1ZWRhIHZhcmlhcyB2ZWNlcyBt4XMgcHVsc2FuZG8gbGEgdGVjbGEgbgoKICA0LiBGaWplIGxhcyBvcGNpb25lcyAnaGxzZWFyY2gnIHkgJ2luc2VhcmNoJzoKICAgICA6c2V0IGhscyBpcwoKICA1LiBBaG9yYSBpbnRyb2R1emNhIGxhIG9yZGVuIGRlIGL6c3F1ZWRhIG90cmEgdmV6LCB5IHZlYSBxdekgcGFzYToKICAgICAvaWdub3JlCgp+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+fn4KCQkJICAgUkVTVU1FTiBERSBMQSBMRUNDSdNOIDYKCgogIDEuIFB1bHNhbmRvICBvICBhYnJlIHVuYSBs7W5lYSBwb3IgREVCQUpPIGRlbCBjdXJzb3IgeSBzaXT6YSBlbCBjdXJzb3IgZW4KICAgICBsYSBs7W5lYSBhYmllcnRhIGVuIG1vZG8gSW5zZXJ0LgogICAgIFB1bHNhbmRvIHVuYSBPIG1hefpzY3VsYSBzZSBhYnJlIHVuYSBs7W5lYSBTT0JSRSBsYSBxdWUgZXN04SBlbCBjdXJzb3IuCgogIDIuIFB1bHNlIHVuYQlhICBwYXJhIGluc2VydGFyIHRleHRvIERFU1BVyVMgZGVsIGNhcuFjdGVyIHNvYnJlIGVsIGN1cnNvci4KICAgICBQdWxzYW5kbyB1bmEgIEEgIG1hefpzY3VsYSBh8WFkZSBhdXRvbeF0aWNhbWVudGUgdGV4dG8gYWwgZmluYWwgZGUgbGEKICAgICBs7W5lYS4KCiAgMy4gUHVsc2FuZG8gdW5hICBSICBtYXn6c2N1bGEgc2UgZW50cmEgZW4gbW9kbyBSZXBsYWNlIGhhc3RhIHF1ZSwgcGFyYSBzYWxpciwKICAgICBzZSBwdWxzZSA8RVNDPi4KCiAgNC4gRXNjcmliaWVuZG8gqzpzZXQgeHh4uyBmaWphIGxhIG9wY2nzbiCreHh4uwoKCgoKCgoKfn5+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+CgkJICBMZWNjafNuIDc6IE1BTkRBVE9TIFBBUkEgTEEgQVlVREEgRU4gTM1ORUEKCgkJICoqIFV0aWxpY2UgZWwgc2lzdGVtYSBkZSBheXVkYSBlbiBs7W5lYSAqKgoKCiAgVmltIGRpc3BvbmUgZGUgdW4gc2lzdGVtYSBkZSBheXVkYSBlbiBs7W5lYS4gUGFyYSBhY3RpdmFybG8sIHBydWViZSB1bmEKICBkZSBlc3RhcyB0cmVzIGZvcm1hczoKCS0gcHVsc2UgbGEgdGVjbGEgPEFZVURBPiAoc2kgZGlzcG9uZSBkZSBlbGxhKQoJLSBwdWxzZSBsYSB0ZWNsYSA8RjE+IChzaSBkaXNwb25lIGRlIGVsbGEpCgktIGVzY3JpYmEgICA6aGVscCA8SU5UUk8+CgogIEVzY3JpYmEgICA6cSA8SU5UUk8+CSBwYXJhIGNlcnJhciBsYSB2ZW50YW5hIGRlIGF5dWRhLgoKICBQdWVkZSBlbmNvbnRyYXIgYXl1ZGEgZW4gY2FzaSBjdWFscXVpZXIgdGVtYSBh8WFkaWVuZG8gdW4gYXJndW1lbnRvIGFsCiAgbWFuZGF0byCrOmhlbHC7IG1hbmRhdG8uIFBydWViZSDpc3RvczoKCiAgOmhlbHAgdyA8SU5UUk8+CiAgOmhlbHAgY188VCA8SU5UUk8+CiAgOmhlbHAgaW5zZXJ0LWluZGV4IDxJTlRSTz4KCgp+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+fn4KCiAgQXF17SBjb25jbHV5ZSBlbCB0dXRvciBkZSBWaW0uIEVzdOEgcGVuc2FkbyBwYXJhIGRhciB1bmEgdmlzafNuIGJyZXZlIGRlbAogIGVkaXRvciBWaW0sIGxvIHN1ZmljaWVudGUgcGFyYSBwZXJtaXRpcmxlIHVzYXIgZWwgZWRpdG9yIGRlIGZvcm1hIGJhc3RhbnRlCiAgc2VuY2lsbGEuIEVzdOEgbXV5IGxlam9zIGRlIGVzdGFyIGNvbXBsZXRvIHB1ZXMgVmltIHRpZW5lIG11Y2jtc2ltb3MgbeFzCiAgbWFuZGF0b3MuCgogIFBhcmEgbGVjdHVyYXMgeSBlc3R1ZGlvcyBwb3N0ZXJpb3JlcyBzZSByZWNvbWllbmRhIGVsIGxpYnJvOgoJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIHBvciBMaW5kYSBMYW1iCglFZGl0b3JpYWw6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCiAgRXMgdW4gYnVlbiBsaWJybyBwYXJhIGxsZWdhciBhIHNhYmVyIGNhc2kgdG9kbyBsbyBxdWUgZGVzZWUgaGFjZXIgY29uIFZpLgogIExhIHNleHRhIGVkaWNp824gaW5jbHV5ZSB0YW1iaeluIGluZm9ybWFjafNuIHNvYnJlIFZpbS4KCiAgRXN0ZSB0dXRvcmlhbCBoYSBzaWRvIGVzY3JpdG8gcG9yIE1pY2hhZWwgQy4gUGllcmNlIHkgUm9iZXJ0IEsuIFdhcmUsCiAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIHV0aWxpemFuZG8gaWRlYXMgc3VtaW5pc3RyYWRhcyBwb3IgQ2hhcmxlcyBTbWl0aCwKICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LgogIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgoKICBNb2RpZmljYWRvIHBhcmEgVmltIHBvciBCcmFtIE1vb2xlbmFhci4KCn5+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+fgoKICBUcmFkdWNpZG8gZGVsIGluZ2zpcyBwb3I6CgogIEVkdWFyZG8gRi4gQW1hdHJpYQogIENvcnJlbyBlbGVjdHLzbmljbzogZWZlcm5hMUBwbGF0ZWEucG50aWMubWVjLmVzCgp+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+fn4K