PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICB6IHUgbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjVEICAgICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgIFZpbSBpc3QgZWluIHNlaHIgbeRjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zkcmVuLiAgRGllc2VyIFR1dG9yIGlzdCBzbwogICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBzbyBkYXNzIER1IGRpZSBG5GhpZ2tlaXQgZXJsYW5nc3QsCiAgIFZpbSBtaXQgTGVpY2h0aWdrZWl0IGFscyBlaW5lbiBBbGx6d2Vjay1FZGl0b3IgenUgYmVudXR6ZW4uCgogICBEaWUgWmVpdCBm/HIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRy5Gd0IGNhLiAyNS0zMCBNaW51dGVuLAogICBhYmjkbmdpZyBkYXZvbiwgd2llIHZpZWwgWmVpdCBEdSBtaXQgRXhwZXJpbWVudGllcmVuIHZlcmJyaW5nc3QuCiAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4KICAgRXJzdGVsbGUgZWluZSBLb3BpZSBkaWVzZXIgRGF0ZWksIGluIGRlciBEdSD8YmVuIHdpbGxzdCAoZmFsbHMgRHUKICAgInZpbXR1dG9yLmJhdCIgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgoKICAgRXMgaXN0IHdpY2h0aWcsIHNpY2ggenUgdmVyZ2VnZW535HJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgYW5nZWxlZ3QgaXN0LCB1bQogICD8YmVyIGRhcyBBbndlbmRlbiB6dSBsZWhyZW4uIERhcyBiZWRldXRldCwgZGFzcyBEdSBkaWUgQmVmZWhsZSBhdXNm/GhyZW4KICAgbXVzc3QsIHVtIHNpZSByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZQogICBCZWZlaGxlIQoKICAgSmV0enQgc3RlbGxlIHNpY2hlciwgZGFzcyBEZWluZSBVbXN0ZWxsdGFzdGUgTklDSFQgZ2Vkcvxja3QgaXN0LCB1bmQKICAgYmV05HRpZ2UgZGllICAgaiAgIFRhc3RlIGdlbvxnZW5kIE1hbGUsIHVtIGRlbiBDdXJzb3IgbmFjaCB1bnRlbiB6dSBiZXdlZ2VuLAogICBzbyBkYXNzIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZvxsbHQuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDEuMTogQkVXRUdFTiBERVMgQ1VSU09SUwoKCiAgKiogVW0gZGVuIEN1cnNvciB6dSBiZXdlZ2VuLCBkcvxja2UgZGllIGgsaixrLGwgVGFzdGVuIHdpZSB1bnRlbiBnZXplaWd0LiAqKgoKCSAgICAgXgkJIEhpbGZlc3RlbGx1bmc6CgkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4KICAgICAgIDwgaAkgbCA+CSBEaWUgbCBUYXN0ZSBsaWVndCByZWNodHMgdW5kIGJld2VndCBuYWNoIHJlY2h0cy4KCSAgICAgagkJIERpZSBqIFRhc3RlIORobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgoJICAgICB2CiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgYXVmIGRlbSBCaWxkc2NoaXJtIGhlcnVtLCBiaXMgRHUgRGljaCBzaWNoZXIgZvxobHN0LgoKICAyLiBIYWx0ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSAoaikgZ2Vkcvxja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgotLS0+IEpldHp0IHdlad90IER1LCB3aWUgRHUgRGljaCB6dXIgbuRjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4KCiAgMy4gQmVudXR6ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSwgdW0gRGljaCB6dSBMZWt0aW9uIDEuMiB6dSBiZXdlZ2VuLgoKQmVtZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCD8YmVyIGRhcywgd2FzIER1IGdldGlwcHQgaGFzdCwKCSAgIGRy/GNrZSA8RVNDPiAsIHVtIERpY2ggaW4gZGVuIE5vcm1hbC1Nb2R1cyB6dSBiZWdlYmVuLgoJICAgRGFubiBnaWIgZGFzIGdld/xuc2NodGUgS29tbWFuZG8gbm9jaCBlaW5tYWwgZWluLgoKQmVtZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1CgkgICBoamtsIGJlbnV0enQsIHdpcnN0IER1IGluIGRlciBMYWdlIHNlaW4sIERpY2ggc2VociB2aWVsIHNjaG5lbGxlcgoJICAgdW1oZXJ6dWJld2VnZW4sIHdlbm4gRHUgRGljaCBlcnN0IGVpbm1hbCBkYXJhbiBnZXf2aG50IGhhc3QuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgTGVrdGlvbiAxLjI6IFNUQVJURU4gVU5EIFZFUkxBU1NFTiBWT04gVklNCgoKICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vm/GhydGVuIFNjaHJpdHRlIGF1c2b8aHJzdCwgbGllcwogICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhCgogIDEuIERy/GNrZSBkaWUgPEVTQz4gVGFzdGUgKHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCkuCgogIDIuIFRpcHBlOgkJCTpxISA8RU5URVI+LgoKLS0tPiBEaWVzIGJlZW5kZXQgZGVuIEVkaXRvciBPSE5FIGplZHdlbGNoZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LgogICAgIFdlbm4gRHUgZGllIMRuZGVydW5nZW4gc3BlaWNoZXJuIHVuZCBiZWVuZGVuIHdpbGxzdCwgdGlwcGU6CgkJCQk6d3EgIDxFTlRFUj4KCiAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIHRpcHBlIGRhcyBLb21tYW5kbywgZGFzIERpY2ggenUKICAgICBkaWVzZW0gVHV0b3IgZ2Vm/GhydCBoYXQuIERhcyBr9m5udGUgc2VpbjogdmltdHV0b3IgPEVOVEVSPgogICAgIEltIE5vcm1hbGZhbGwgd/xyZGVzdCBEdSBlaW5nZWJlbgkJCVZpbSB0dXRvciA8RU5URVI+CgotLS0+ICdWaW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuCgogIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZ2VudWcgZvxobHN0LAogICAgIGb8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCiAgICAgaGluZWluenVnZWxhbmdlbi4gRGFubiBiZXdlZ2UgZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1ciBMZWt0aW9uIDEuMy4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzWU0NIRU4KCgogKiogSW0gTm9ybWFsLU1vZHVzLCBkcvxja2UgIHggIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCgogIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBhdWYgZGVtIFplaWNoZW4gc3RlaHQsCiAgICAgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLgoKICAzLiBEcvxja2UgZGllICB4ICBUYXN0ZSwgdW0gZGFzIPxiZXJmbPxzc2lnZSBaZWljaGVuIHp1IGz2c2NoZW4uCgogIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdC4KCi0tLT4gRGllIEtrdWggc3ByYW5nZyD8YmJlciBkZWVuIE1vb25kLgoKICA1LiBXZW5uIG51biBkaWUgWmVpbGUga29ycmVrdCBpc3QsIGdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDEuNC4KCkFubWVya3VuZzogV+RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUKICAgIGxlcm5lbiwgbGVybmUgdmllbG1laHIgZHVyY2ggQW53ZW5kZW4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBFRElUSUVSRU4gLSBFSU5G3EdFTgoKCiAgICAgKiogV+RocmVuZCBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCwgZHL8Y2tlICBpICAsIHVtIFRleHQgZWluenVm/Gdlbi4gKioKCiAgMS5CZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMi4gVW0gZGllIGVyc3RlIFplaWxlIG1pdCBkZXIgendlaXRlbiBnbGVpY2h6dW1hY2hlbiwgYmV3ZWdlIGRlbiBDdXJzb3IgYXVmCiAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCB3byBkZXIgVGV4dCBlaW5nZWb8Z3Qgd2VyZGVuIHNvbGwuCgogIDMuIERy/GNrZSAgaSAgdW5kIGdpYiBkaWUgbm90d2VuZGlnZSBFcmfkbnp1bmcgZWluLgoKICA0LiBXZW5uIGpld2VpbHMgZWluIEZlaGxlciBiZXNlaXRpZ3QgaXN0LCBkcvxja2UgPEVTQz4gLCB1bSB6dW0gTm9ybWFsLU1vZHVzCiAgICAgenVy/GNrenVrZWhyZW4uCiAgICAgV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gZGVuIFNhdHogenUga29ycmlnaWVyZW4uCgotLS0+IEluIGRpZXNlciBmdCBldHdhcyAuCi0tLT4gSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCgogIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGJld2VnZSBkZW4gQ3Vyc29yIHp1cgogICAgIHVudGVuc3RlaGVuZGVuIFp1c2FtbWVuZmFzc3VuZy4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDEKCgogIDEuIERlciBDdXJzb3Igd2lyZCBiZXdlZ3QsIGluZGVtIG1hbiBlbnR3ZWRlciBkaWUgUGZlaWx0YXN0ZW4gb2RlciBkaWUKICAgICBoamtsIFRhc3RlbiBiZW51dHp0LgoJIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ35HJ0cykgICAgbCAocmVjaHRzKQoKICAyLiBVbSBWaW0gYXVmenVydWZlbiAodm9tICUgcHJvbXB0KSB0aXBwZTogIHZpbSBEQVRFSU5BTUUgPEVOVEVSPgoKICAzLiBVbSBWaW0genUgdmVybGFzc2VuLCB0aXBwZToJPEVTQz4gIDpxISAgPEVOVEVSPiAsCgkgdW0gYWxsZSDEbmRlcnVuZ2VuIHp1IHZlcndlcmZlbi4KICAgICBPREVSIHRpcHBlOgkJCTxFU0M+ICA6d3EgIDxFTlRFUj4gLAoJIHVtIGRpZSDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybi4KCiAgNC4gVW0gZWluIFplaWNoZW4gaW0gTm9ybWFsLU1vZHVzIHp1IGz2c2NoZW4sIHRpcHBlOgl4CgogIDUuIFVtIFRleHQgYmVpbSBDdXJzb3IgZWluenVnZWJlbiwgd+RocmVuZCBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCwgdGlwcGU6CgkgaSAgICAgVGV4dCBlaW5nZWJlbgk8RVNDPgoKQmVtZXJrdW5nOiBEcvxja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsLU1vZHVzIG9kZXIgYnJpY2h0IGVpbgogICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCgpOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0LgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgIExla3Rpb24gMi4xOiBM1lNDSEtPTU1BTkRPUwoKCgkgICAgKiogVGlwcGUgIGR3ICAsIHVtIGJpcyB6dW0gRW5kZSBkZXMgV29ydGVzIHp1IGz2c2NoZW4gKioKCiAgMS4gRHL8Y2tlICA8RVNDPiAgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbC1Nb2R1cyBiaXN0LgoKICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBlaW5lcyBXb3J0ZXMsIGRhcyBnZWz2c2NodCB3ZXJkZW4gc29sbC4KCiAgNC4gVGlwcGUgICBkdyAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KCiAgQmVtZXJrdW5nOiBEaWUgQnVjaHN0YWJlbiAgZHcgIGVyc2NoZWluZW4gYXVmIGRlciBsZXR6dGVuIFplaWxlIGRlcwogICAgIEJpbGRzY2hpcm1zLCB3ZW5uIER1IHNpZSBlaW5naWJzdC4gV2VubiBEdSBldHdhcyBmYWxzY2ggZWluZ2V0aXBwdCBoYXN0LAogICAgIGRy/GNrZSA8RVNDPiB1bmQgZmFocmUgZm9ydC4KCi0tLT4gRWluaWdlIFf2cnRlciBsdXN0aWcgZ2Vo9nJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCgogIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQogICAgIGRhbmFjaCB6dXIgTGVrdGlvbiAyLjIuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgTGVrdGlvbiAyLjI6IFdFSVRFUkUgTNZTQ0hLT01NQU5ET1MKCgoJICAgICoqIFRpcHBlICBkJCAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uICoqCgogIDEuIERy/GNrZSA8RVNDPiAsdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbC1Nb2R1cyBiaXN0LgoKICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4KCiAgNC4gVGlwcGUgICAgZCQgICx1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uCgotLS0+IEplbWFuZCBoYXQgZGFzIEVuZGUgZGVyIFplaWxlIGRvcHBlbHQgZWluZ2VnZWJlbi4gZG9wcGVsdCBlaW5nZWdlYmVuLgoKCiAgNS4gR2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMi4zICwgdW0genUgdmVyc3RlaGVuLCB3YXMgaGllcmJlaSBwYXNzaWVydC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgTGVrdGlvbiAyLjM6INxCRVIgS09NTUFORE9TIFVORCBPQkpFS1RFCgoKICBEYXMgRm9ybWF0IGb8ciBkYXMgTPZzY2hrb21tYW5kbyAgZCAgaXN0IGZvbGdlbmRlcm1h32VuOgoKCSBbTnVtbWVyXSAgIGQJT2JqZWt0CSAgICAgT0RFUglkICAgW051bW1lcl0gICBPYmpla3QKCiAgV29iZWk6CiAgIE51bW1lciAtIGdpYnQgYW4sIHdpZSB2aWVsZSBNYWxlIGRhcyBLb21tYW5kbyBhdXNnZWb8aHJ0IHdlcmRlbiBzb2xsCgkJCQkgICAgICAgKG9wdGlvbmFsLCBzdGFuZGFyZG3k32lnIDEpLgogICBkIC0gaXN0IGRhcyBM9nNjaGtvbW1hbmRvLgogICBPYmpla3QgLSBiZWRldXRldCwgd29yYXVmIGRhcyBLb21tYW5kbyBhbmdld2VuZGV0IHdpcmQgKHVudGVuIGF1ZmdlZvxocnQpLgoKICBFaW5lIGt1cnplIExpc3RlIHZvbiBPYmpla3RlbjoKICAgIHcgLSB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gRW5kZSBkZXMgV29ydGVzLCBpbmtsdXNpdmUgZGVtIExlZXJ6ZWljaGVuLgogICAgZSAtIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBFbmRlIGRlcyBXb3J0ZXMsIE9ITkUgZGFzIExlZXJ6ZWljaGVuLgogICAgJCAtIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBFbmRlIGRlciBaZWlsZS4KCkJlbWVya3VuZzogIEb8ciBkaWUgV2FnZW11dGlnZW46IGRpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgT2JqZWt0LVRlaWxzIGltCiAgICBOb3JtYWwtTW9kdXMgb2huZSBlaW4gS29tbWFuZG8gYmV3ZWd0IGRlbiBDdXJzb3Igc28sCiAgICB3aWUgaW4gZGVyIE9iamVrdGxpc3RlIGFuZ2VnZWJlbiBpc3QuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJTGVrdGlvbiAyLjQ6IEVJTkUgQVVTTkFITUUgWlUgJ0tPTU1BTkRPLU9CSkVLVCcKCgoJICAgICAgICoqIFRpcHBlICBkZCAgLCB1bSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4uICoqCgogIFdlZ2VuIGRlciBI5HVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbPZzY2h0LCBrYW1lbiBkaWUKICBFbnR3aWNrbGVyIHZvbiBWaW0gZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfkcmUsIHp3ZWkgZCdzIGhpbnRlcmVpbmFuZGVyCiAgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZSB6dSBs9nNjaGVuLgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLgogIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbPZzY2hlbi4KICAzLiBOdW4gYmV3ZWdlIERpY2ggenVyIHZpZXJ0ZW4gWmVpbGUuCiAgNC4gVGlwcGUgICAyZGQgICAoZXJpbm5lcmUgRGljaCBhbiAgTnVtbWVyLUtvbW1hbmRvLU9iamVrdCksCiAgICAgdW0gZGllIPxiZXJmbPxzc2lnZW4gWmVpbGVuIHp1IGz2c2NoZW4uCgogICAgICAxKSAgUm9zZW4gc2luZCByb3QsCiAgICAgIDIpICBNYXRzY2ggaXN0IGx1c3RpZywKICAgICAgMykgIFZlaWxjaGVuIHNpbmQgYmxhdSwKICAgICAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLAogICAgICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LAogICAgICA2KSAgWnVja2VyIGlzdCBz/N8sCiAgICAgIDcpICBTbyB3aWUgRHUgYXVjaC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJIExla3Rpb24gMi41OiBS3ENLR8ROR0lHIE1BQ0hFTiAoVU5ETykKCgoJICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3Mgcvxja2fkbmdpZyB6dSBtYWNoZW4gKioKCSAgICAgICoqIG9kZXIgVSB1bSBlaW5lIGdhbnplIFplaWxlIHdpZWRlcmhlcnp1c3RlbGxlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4KICAgICB1bmQgc2V0emUgaWhuIGF1ZiBkZW4gZXJzdGVuIEZlaGxlci4KICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUg/GJlcmZs/HNzaWdlIFplaWNoZW4genUgbPZzY2hlbi4KICAzLiBOdW4gdGlwcGUgIHUgIHVtIGRhcyBzb2ViZW4gYXVzZ2Vm/GhydGUgS29tbWFuZG8gcvxja2fkbmdpZyB6dSBtYWNoZW4uCiAgNC4gRGllc2VzIE1hbCBiZWhlYmUgYWxsZSBGZWhsZXIgYXVmIGRlciBaZWlsZSwgaW5kZW0gRHUgZGFzICB4ICBLb21tYW5kbwogICAgIGFud2VuZGVzdC4KICA1LiBOdW4gdGlwcGUgZWluIGdyb99lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kCiAgICAgd2llZGVyaGVyenVzdGVsbGVuLgogIDYuIE51biB0aXBwZSAgdSAgbWVocmVyZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcwogICAgIHL8Y2tn5G5naWcgenUgbWFjaGVuLgogIDcuIE51biB0aXBwZSBDVFJMLVIgKGhhbHRlIGRpZSBDVFJMLVRhc3RlIGdlZHL8Y2t0IHVuZCBkcvxja2UgUiApCiAgICAgbWVocmVyZSBNYWxlLCB1bSBkaWUgS29tbWFuZG9zIHL8Y2tn5G5naWcgenUgbWFjaGVuCiAgICAgKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4KCi0tLT4gQmVlaGViZSBkaWUgRmVobGxlciBkaWVzc2VyIFplaWxlIHVuZCBzdHRlbGxlIHNpZSBtaXR0ICd1bmRvJyB3aWVkZXIgaGVyLgoKICA4LiBEaWVzZXMgc2luZCBzZWhyIG78dHpsaWNoZSBLb21tYW5kb3MuCiAgICAgTnVuIGdlaGUgd2VpdGVyIHp1ciBadXNhbW1lbmZhc3N1bmcgdm9uIExla3Rpb24gMi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDIKCgogIDEuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGVpbmVzIFdvcnRlcyB6dSBs9nNjaGVuLCB0aXBwZTogICAgZHcKCiAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgICBkJAoKICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkZAoKICA0LiBEYXMgRm9ybWF0IGb8ciBlaW4gS29tbWFuZG9zIGltIE5vcm1hbC1Nb2R1cyBpc3Q6CgogICAgICAgW051bW1lcl0gICBLb21tYW5kbyAgIE9iamVrdCAgICAgT0RFUiAgICAgS29tbWFuZG8gICBbTnVtbWVyXSAgIE9iamVrdAoJIHdvYmVpOgogICAgICAgTnVtbWVyIC0gZ2lidCBhbiwgd2llIG9mdCBkYXMgS29tbWFuZG8gd2llZGVyaG9sdCB3aXJkCiAgICAgICBLb21tYW5kbyAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsCWQgIGb8ciBkZWxldGUKICAgICAgIE9iamVrdCAtIGdpYnQgYW4sIHdvcmF1ZiBkYXMgS29tbWFuZG8gYW5nZXdlbmRldCB3ZXJkZW4gc29sbCwKCSB6dW0gQmVpc3BpZWwgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4KCiAgNS4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkKICAgICBVbSBhbGxlIMRuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHL8Y2tn5G5naWcgenUgbWFjaGVuOiAgIFUgKGdyb99lcyBVKQogICAgIFVtIGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZTogICAgQ1RSTC1SCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgIExla3Rpb24gMy4xOiBBTkbcR0VOIChQVVQpCgoKICAgICAgICoqIFRpcHBlIHAgLCB1bSBkYXMgenVsZXR6dCBHZWz2c2NodGUgbmFjaCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiBaZWlsZSBkZXMgdW50ZW4gc3RlaGVuZGVuIFNpbm5zcHJ1Y2hzLgoKICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4gdW5kIHNpZSBpbiBWaW1zIFB1ZmZlciB6dSBzcGVpY2hlcm4uCgogIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBaZWlsZSDcQkVSIGRlcmplbmlnZW4sCiAgICAgd28gZGllIGdlbPZzY2h0ZSBaZWlsZSBwbGF0emllcnQgd2VyZGVuIHNvbGwuCgogIDQuIEltIE5vcm1hbC1Nb2R1cywgdGlwcGUgICAgcCAgICAsICB1bSBkaWUgWmVpbGUgenUgcGxhdHppZXJlbi4KCiAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlIFJlaWhlbmZvbGdlCiAgICAgenUgYnJpbmdlbi4KCiAgICAgZCkgS2FubnN0IER1IGRhcyBhdWNoPwogICAgIGIpIFZlaWxjaGVuIHNpbmQgYmxhdSwKICAgICBjKSBJbnRlbGxpZ2VueiBpc3QgZXJsZXJuYmFyLAogICAgIGEpIFJvc2VuIHNpbmQgcm90LAoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDMuMjogRVJTRVRaRU4gKFJFUExBQ0UpCgoKICoqIFRpcHBlICByICB1bmQgZWluIFplaWNoZW4sIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBCZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIHNpY2ggYXVmIGRlbSBlcnN0ZW4gRmVobGVyIGJlZmluZGV0LgoKICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGll32VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkZW4gRmVobGVyIGJlaGViZW4gc29sbHRlLgoKICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGtvcnJla3QgaXN0LgoKLS0tPiAgQWxzIGRpZXNlIFplaXRlIGVpbmdlZ29iZW4gd3VyZGUsIHd1cmRlbiBlaW5pa2UgZmFsc2NoZSBUYXN0ZW4gZ2VsaXBwdC4KLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdC4KCiAgNS4gTnVuIGZhaHJlIGZvcnQgbWl0IExla3Rpb24gMy4yLgoKQmVtZXJrdW5nOiBFcmlubmVyZSBEaWNoLCBkYXNzIER1IGR1cmNoIEFud2VuZGVuIGxlcm5lbiBzb2xsdGVzdCwgbmljaHQgZHVyY2gKICAgICBBdXN3ZW5kaWdsZXJuZW4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgTGVrdGlvbiAzLjM6IMROREVSTiAoQ0hBTkdFKQoKCiAgICAgICAqKiBVbSBlaW4gV29ydHRlaWwgb2RlciBlaW4gZ2FuemVzIFdvcnQgenUg5G5kZXJuLCB0aXBwZSAgY3cgLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KCiAgMi4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGRhcyBzIHZvbiBXc3R3ci4KCiAgMy4gVGlwcGUgIGN3ICB1bmQgZGllIFdvcnRrb3JyZWt0dXIgZWluIChpbiBkaWVzZW0gRmFsbCwgdGlwcGUgICf2cnRlcicuKQoKICA0LiBEcvxja2UgPEVTQz4gdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBu5GNoc3RlbiBGZWhsZXIKICAgIChEYXMgZXJzdGUgenUg5G5kZXJuZGUgWmVpY2hlbi4pCgogIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMyB1bmQgNCBiaXMgZGVyIGVyc3RlIFNhdHogZ2xlaWNoIGRlbSB6d2VpdGVuIGlzdC4KCi0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMRuZGVybi1Lb21tYW5kbyBnYWFhdXUgd2VyZGVuLgotLS0+IEVpbmlnZSBX9nJ0ZXIgZGllc2VyIFplaWxlIHNvbGxlbiBtaXQgZGVtIMRuZGVybi1Lb21tYW5kbyBnZeRuZGVydCB3ZXJkZW4uCgpCZW1lcmtlLCBkYXNzICBjdyAgbmljaHQgbnVyIGRhcyBXb3J0IGVyc2V0enQsIHNvbmRlcm4gRGljaCBhdd9lcmRlbSBpbiBkZW4KICAgICBFaW5nYWJlbW9kdXMgdmVyc2V0enQuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDMuNDogTUVIUiDETkRFUlVOR0VOIE1JVFRFTFMgYwoKCiAgICAgKiogRGFzIGNoYW5nZS1Lb21tYW5kbyBhcmJlaXRldCBtaXQgZGVuc2VsYmVuIE9iamVrdGVuIHdpZSBkZWxldGUgICoqCgogIDEuIERhcyBjaGFuZ2UgS29tbWFuZG8gYXJiZWl0ZXQgaW4gZ2xlaWNoZXIgV2Vpc2Ugd2llIGRlbGV0ZS4gRGFzIEZvcm1hdCBpc3Q6CgogICAgICAgW051bW1lcl0gICBjICAgT2JqZWt0ICAgICAgIE9ERVIgICAgICAgYyAgIFtOdW1tZXJdICAgT2JqZWt0CgogIDIuIEF1Y2ggc2luZCBkaWUgT2JqZWt0ZSBnbGVpY2gsIHNvIHdpZSAgdyAgKFdvcnQpLCAkIChFbmRlIGRlciBaZWlsZSksIGV0Yy4KCiAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4sIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCgogIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gVW50ZXJzY2hpZWQgenVyIGFuZGVyZW4gWmVpbGUuCgogIDUuIFRpcHBlICBjJCAgLCB1bSBkZW4gUmVzdCBkZXIgWmVpbGUgYW4gZGllIHp3ZWl0ZSBhbnp1Z2xlaWNoZW4KICAgICB1bmQgZHL8Y2tlIGFic2NobGll32VuZCA8RVNDPiAuCgotLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsdGUgYW4gZGllIHp3ZWl0ZSBaZWlsZSBhbmdlZ2xpY2hlbiB3ZXJkZW4uCi0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGx0ZSBtaXQgZGVtICdjJCcgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAzCgoKICAxLiBVbSBlaW5lbiB2b3JoZXIgZ2Vs9nNjaHRlbiBUZXh0IGFuenVm/GdlbiwgdGlwcGUgIHAgIC4gRGllcyBm/Gd0IGRlbgogICAgIGdlbPZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZXMgc2ljaCB1bSBlaW5lIGdhbnplIFplaWxlCiAgICAgaGFuZGVsdCwgd2lyZCBhYiBkZXIgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciBlaW5nZWb8Z3QpLgoKICAyLiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGVyc2V0emVuLCB0aXBwZSAgIHIgIDsgZGFzIGRhbmFjaAogICAgIGVpbmdlZ2ViZW5lIFplaWNoZW4gZXJzZXR6dCBkYXMgT3JpZ2luYWwuCgogIDMuIERhcyDEbmRlcnVuZ3MtIChjaGFuZ2UpIEtvbW1hbmRvIGVybGF1YnQsIGRhcyBhbmdlZ2ViZW5lIE9iamVrdCB2b20gQ3Vyc29yCiAgICAgYmlzIHp1bSBFbmRlIGRlcyBPYmpla3RlcyB6dSDkbmRlcm4uIFRpcHBlIHouQi4gY3cgLCB1bSBlaW5lIMRuZGVydW5nIHZvbQogICAgIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgYyQgYmlzIHp1bSBFbmRlIGRlciBaZWlsZS4KCiAgNC4gRGFzIEZvcm1hdCBm/HIgY2hhbmdlIGlzdDoKCgkgW051bW1lcl0gICBjCU9iamVrdAkgICAgIE9ERVIJYyAgIFtOdW1tZXJdICAgT2JqZWt0CgpOdW4gZmFocmUgbWl0IGRlciBu5GNoc3RlbiBMZWt0aW9uIGZvcnQuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgTGVrdGlvbiA0LjE6IERBVEVJUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTCgoKICoqIFRpcHBlIENUUkwtZyAsIHVtIERlaW5lIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzIGFuenV6ZWlnZW4uICoqCiAgICAgKiogVGlwcGUgU0hJRlQtRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJld2VnZW4uICoqCgogQmVtZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNm/Ghyc3QhIQoKICAxLiBIYWx0ZSBkaWUgQ3RybCBUYXN0ZSB1bnRlbiB1bmQgZHL8Y2tlICBnIC4gIEVpbmUgU3RhdHVzemVpbGUgZXJzY2hlaW50IGluCiAgICAgZGVyIHVudGVyc3RlbiBaZWlsZSBkZXMgRmVuc3RlcnMgbWl0IGRlbSBEYXRlaW5hbWVuIHVuZCBkZXIgWmVpbGUsCiAgICAgYXVmIGRlciBEdSBEaWNoIGJlZmluZGVzdC4gUHLkZ2UgRGlyIGRpZSBaZWlsZW5udW1tZXIgZvxyIFNjaHJpdHQgMyBlaW4uCgogIDIuIERy/GNrZSBTaGlmdC1HICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KCiAgMy4gR2liIGRpZSBOdW1tZXIgZGVyIFplaWxlIGVpbiwgYXVmIGRlciBEdSB2b3JoZXIgd2Fyc3QsIGdlZm9sZ3Qgdm9uIFNoaWZ0LUcuCiAgICAgRGllc2VzIGJyaW5ndCBEaWNoIHp1cvxjayB6dSBkZXIgWmVpbGUsIGF1ZiBkZXIgRHUgZ2VzdGFuZGVuIGhhc3QsIGFscyBEdQogICAgIGRhcyBlcnN0ZSBNYWwgQ3RybC1nIGdlZHL8Y2t0IGhhc3QuCiAgICAgKFdlbm4gRHUgZGllIFppZmZlcm4gZWluZ2lic3QsIHdlcmRlbiBzaWUgTklDSFQgYXVmIGRlbSBTY2hpcm0gYW5nZXplaWd0LikKCiAgNC4gV2VubiBEdSBzaWNoZXIgZ2VudWcgZvxobHN0LCBm/GhyZSBkaWUgU2Nocml0dGUgMSBiaXMgMyBhdXMuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgIExla3Rpb24gNC4yOiBEQVMgU1VDSEVOIC0gS09NTUFORE8KCgogICoqIFRpcHBlICAvICBnZWZvbGd0IHZvbiBlaW5lbSBBdXNkcnVjaywgdW0gbmFjaCBkZW0gQXVzZHJ1Y2sgenUgc3VjaGVuLiAqKgoKICAxLiBXZW5uIER1IGltIE5vcm1hbC1Nb2R1cyBiaXN0LCB0aXBwZSBkYXMgIC8gIFplaWNoZW4uICBCZWFjaHRlLCBkYXNzIGRhcyAgLwogICAgIHVuZCBkZXIgQ3Vyc29yIGF1ZiBkZXIgdW50ZXJzdGVuIFplaWxlIGRlcyBTY2hpcm1zIGVyc2NoZWluZW4sCiAgICAgc28gd2llIGJlaW0gIDogIEtvbW1hbmRvLgoKICAyLiBOdW4gdGlwcGUgJ0ZlaGhsZXInIDxFTlRFUj4uICBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4KCiAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciAqbipleHQpLgogICAgIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIGluIGRlciBhbmRlcmVuIFJpY2h0dW5nIHp1IHN1Y2hlbiwgU2hpZnQtTiAuCgogIDQuIFdlbm4gRHUgbmFjaCBlaW5lbSBBdXNkcnVjayBy/GNrd+RydHMgaW4gZGVyIERhdGVpIHN1Y2hlbiB3aWxsc3QsCiAgICAgYmVudXR6ZSBkYXMgS29tbWFuZG8gID8gIHN0YXR0ICAvIC4KCi0tLT4gV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZyBmb3J0Z2VzZXR6dC4KCiAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyAiRmVoaGxlciIgaXN0IGVpbiBGZWhsZXIKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4KCgogICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUga29ycmVzcG9uZGllcmVuZGUgS2xhbW1lciApLF0sIG9kZXIgfSB6dSBmaW5kZW4uICoqCgogIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lbSBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsKICAgICBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgoKICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLgoKICAzLiBEZXIgQ3Vyc29yIHNvbGx0ZSBzaWNoIG51biBhdWYgZGVyIGdlZ2Vu/GJlcmxpZWdlbmRlbiBLbGFtbWVyIGJlZmluZGVuLgoKICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVy/GNrIGF1ZiBkaWUgZXJzdGUgR2VnZW5rbGFtbWVyIHp1cvxja3p1YmV3ZWdlbi4KCi0tLT4gRGllcyAoIGlzdCBlaW5lIFRlc3R6ZWlsZSBtaXQgKCB2ZXJzY2hpZWRlbmVuIFsgS2xhbW1lcm4gXSB7IHh4IH0gZGFyaW4uICkpCgpCZW1lcmt1bmc6IERpZXNlIEZ1bmt0aW9uYWxpdOR0IGlzdCBzZWhyIG78dHpsaWNoIGJlaSBkZXIgRmVobGVyc3VjaGUgaW4gZWluZW0KICAgICBQcm9ncmFtbXRleHQsIGluIGRlbSBlaW5lIHBhc3NlbmRlIEtsYW1tZXIgZmVobHQhCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgTGVrdGlvbiA0LjQ6IFdFR0UsIFVNIEZFSExFUiBaVSBCRUhFQkVOCgoKCSAqKiBUaXBwZSA6cy9hbHQvbmV1L2cJLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBUaXBwZSAgOnMvZGllZS9kaWUgPEVOVEVSPiAuICBCZW1lcmtlLCBkYXNzIGRlciBCZWZlaGwgbnVyIGRhcyBlcnN0ZQogICAgIFZvcmtvbW1lbiBhdWYgZGVyIFplaWxlIGVyc2V0enQuCgogIDMuIE51biB0aXBwZSAgIDpzL2RpZWUvZGllL2cgICAgLCB3ZWxjaGVzIGJlZGV1dGV0LCBlaW5lIHplaWxlbndlaXRlCiAgICAgKCpnKmxvYmFsZSkgRXJzZXR6dW5nIHZvcnp1bmVobWVuLgogICAgIERpZXMgZXJzZXR6dCBhbGxlIFZvcmtvbW1lbiBhdWYgZGVyIFplaWxlLgoKLS0tPiBkaWVlIHNjaPZuc3RlIFplaXQsIHVtIGRpZWUgQmx1bWVuIGFuenVzY2hhdWVuLCBpc3QgZGllZSBGcvxobGluZ3N6ZWl0LgoKICA0LiBVbSBhbGxlIFZvcmtvbW1lbiBlaW5lciBaZWljaGVua2V0dGUgendpc2NoZW4gendlaSBaZWlsZW4genUg5G5kZXJuLAogICAgIHRpcHBlICA6Iywjcy9hbHQvbmV1L2cgICwgd29iZWkgIywjIGRpZSB6d2VpIE51bW1lcm4gZGVyIFplaWxlbiBzaW5kLgogICAgIFRpcHBlICA6JXMvYWx0L25ldS9nICwgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IORuZGVybi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDQKCgogIDEuIEN0cmwtZyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLgogICAgIFNoaWZ0LUcgYnJpbmd0IERpY2ggYmlzIHp1bSBFbmRlIGRlciBEYXRlaS4gIEVpbmUgWmVpbGVubnVtbWVyCiAgICAgZ2Vmb2xndCB2b24gU2hpZnQtRyBiZXdlZ3QgZGVuIEN1cnNvciB6dSBkZXIgWmVpbGVubnVtbWVyLgoKICAyLiBEaWUgRWluZ2FiZSB2b24gIC8gZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2sgc3VjaHQgVk9SV8RSVFMgbmFjaCBkZW0KICAgICBBdXNkcnVjay4KICAgICBEaWUgRWluZ2FiZSB2b24gID8gICAgIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFLcQ0tXxFJUUyBuYWNoIGRlbQogICAgIEF1c2RydWNrLgogICAgIFRpcHBlIG5hY2ggZWluZXIgU3VjaGUgIG4gICwgdW0gZGFzIG7kY2hzdGUgVm9ya29tbWVuIGluIGRlciBnbGVpY2hlbgogICAgIFJpY2h0dW5nIHp1IGZpbmRlbjsgb2RlciBTaGlmdC1OICwgdW0gaW4gZGVyIGVudGdlZ2VuZ2VzZXR6dGVuIFJpY2h0dW5nCiAgICAgenUgc3VjaGVuLgoKICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICAoLCksWyxdLHssIG9kZXIgfQogICAgIGJlZmluZGV0LCBmaW5kZXQgZGllIGtvcnJlc3BvbmRpZXJlbmRlIEdlZ2Vua2xhbW1lci4KCiAgNC4gVW0gZGFzIEVSU1RFIFZvcmtvbW1lbiB2b24gYWx0IGluIGVpbmUgWmVpbGUgZHVyY2ggbmV1IHp1IGVyc2V0emVuLCB0aXBwZQoJCTpzL2FsdC9uZXUKICAgICBVbSBBTExFIFZvcmtvbW1lbiB2b24gYWx0IGluIGVpbmUgWmVpbGUgZHVyY2ggbmV1IHp1IGVyc2V0emVuLCB0aXBwZQoJCTpzL2FsdC9uZXUvZwogICAgIFVtIEF1c2Ry/GNrZSBpbm5lcmhhbGIgdm9uIHp3ZWkgWmVpbGVuIHp1IGVyc2V0emVuLCB0aXBwZQoJCTojLCNzL2FsdC9uZXUvZwogICAgIFVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnYW56ZW4gRGF0ZWkgenUgZXJzZXR6ZW4sIHRpcHBlCgkJOiVzL2FsdC9uZXUvZwogICAgIFVtIGplZGVzIE1hbCBuYWNoIGVpbmVyIEJlc3TkdGlndW5nIGdlZnJhZ3QgenUgd2VyZGVuLCBm/GdlICdjJyBoaW56dS4KCQk6JXMvYWx0L25ldS9nYwkJKCpjKm9uZmlybSkKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQlMZWt0aW9uIDUuMTogQVVTRtxIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUwoKCiAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVm/GhyZW4uICoqCgogIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGllIHVudGVyc3RlIFplaWxlCiAgICAgZGVzIEZlbnN0ZXJzIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvIGVpbnp1Z2ViZW4uCgogIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzZXMgZXJt9mdsaWNodCBEaXIsIGVpbgogICAgIGJlbGllYmlnZXMsIGV4dGVybmVzIFNoZWxsa29tbWFuZG8gYXVzenVm/GhyZW4uCgogIDMuIEFscyBCZWlzcGllbCB0aXBwZSAgIGxzICAgbmFjaCBkZW0gICEgIHVuZCBkcvxja2UgPEVOVEVSPi4gRGllcyB6ZWlndAogICAgIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGF1ZiBkZXIKICAgICBFaW5nYWJlYXVmZm9yZGVydW5nIHfkcnN0LgogICAgIFZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBmdW5rdGlvbmllcnQuCgotLS0+IEJlbWVya3VuZzogIE1pdCBkaWVzZXIgTWV0aG9kZSBrYW5uIGplZGVzIGJlbGllYmlnZSBleHRlcm5lIEtvbW1hbmRvCiAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4uCgotLS0+IEJlbWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBt/HNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPgogICAgIGFiZ2VzY2hsb3NzZW4gd2VyZGVuLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCUxla3Rpb24gNS4yOiBNRUhSINxCRVIgREFTIFNDSFJFSUJFTiBWT04gREFURUlFTgoKCioqIFVtIGFuIGRlciBEYXRlaSBkdXJjaGdlZvxocnRlIMRuZGVydW5nZW4gIHp1IHNpY2hlcm4gLCB0aXBwZSA6dyBEQVRFSU5BTUUuICoqCgogIDEuIFRpcHBlICA6IWxzICBvZGVyIDohZGlyICAsIHVtIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXMKICAgICB6dSBlcmhhbHRlbi4KICAgICBEdSB3ZWnfdCBudW4gYmVyZWl0cywgZGFzcyBEdSBkYW5hY2ggPEVOVEVSPiBlaW5nZWJlbiBtdXNzdC4KCiAgMi4gV+RobGUgZWluZW4gRGF0ZWluYW1lbiwgZGVyIGRvcnQgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4KCiAgMy4gTnVuIHRpcHBlOiAgOncgVEVTVCAgICh3b2JlaSBURVNUIGRlciBnZXfkaGx0ZSBEYXRlaW5hbWUgaXN0LikKCiAgNC4gRGllc2VzIHNwZWljaGVydCBkaWVzZSBnYW56ZSBEYXRlaSAgKFZpbSBUdXRvcikgIHVudGVyIGRlbSBOYW1lbiBURVNULgogICAgIFVtIGRpZXNlcyB6dSD8YmVycHL8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwKICAgICB1bSBEZWluZW4gVmVyemVpY2huaXNpbmhhbHQgenUgc2VoZW4uCgotLS0+IEJlYWNodGU6IHf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IGRlbSBEYXRlaW5hbWVuCiAgICAgVEVTVCD2ZmZuZW4sIGRhbm4gd+RyZSBkaWVzZSBEYXRlaSBlaW5lIGV4YWt0ZSBLb3BpZSBkZXMgVHV0b3JzIHp1IGRlbQogICAgIFplaXRwdW5rdCwgYWxzIER1IGlobiBnZXNwZWljaGVydCBoYXN0LgoKICA1LiBOdW4gZW50ZmVybmUgZGllIERhdGVpIGR1cmNoIEVpbmdhYmUgdm9uICAgOiFybSBURVNUICAgYnp3LiAgIDohZGVsIFRFU1QuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJIExla3Rpb24gNS4zOiBTRUxFS1RJVkVTIFNDSFJFSUJFTiBWT04gREFURUlFTgoKCiAgICAqKiBVbSBlaW5lbiBBYnNjaG5pdHQgZGVyIERhdGVpIHp1IHNwZWljaGVybiB0aXBwZSAgIDojLCMgdyBEQVRFSU5BTUUgKioKCiAgMS4gR2liIG5vY2htYWxzICA6IWxzICBiencgIDohZGlyICBlaW4sIHVtIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMKICAgICBWZXJ6ZWljaG5pc3NlcyB6dSBlcmhhbHRlbiB1bmQgd+RobGUgZWluZW4gZ2VlaWduZXRlbiBEYXRlaW5hbWVuIHdpZSBURVNULgoKICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRpZXNlcyBLYXBpdGVscyB1bmQgdGlwcGUgIEN0cmwtZyAgLCB1bSBkaWUKICAgICBOdW1tZXIgZGllc2VyIFplaWxlIHp1IGVyaGFsdGVuLiBQUsRHRSBESVIgRElFU0UgTlVNTUVSIEVJTiEKCiAgMy4gTnVuIGJld2VnZSBEaWNoIHp1bSBFbmRlIGRpZXNlcyBLYXBpdGVscyB1bmQgdGlwcGUgd2llZGVyIEN0cmwtZyAuCiAgICAgUFLER0UgRElSIEFVQ0ggRElFU0UgWkVJTEVOTlVNTUVSIEVJTiEKCiAgNC4gVW0gTlVSIGVpbmVuIEFic2Nobml0dCBlaW5lciBEYXRlaSB6dSBzcGVpY2hlcm4sIHRpcHBlICAgOiMsIyB3IFRFU1QKICAgICB3b2JlaSAjLCMgZGllIHp3ZWkgTnVtbWVybiBzaW5kLCBkaWUgRHUgaW0gR2Vk5GNodG5pcyBoYXN0IChvYmVuLCB1bnRlbik7CiAgICAgdW5kIFRFU1QgRGVpbiBEYXRlaW5hbWUgaXN0LgoKICA1LiDcYmVycHL8ZmUgd2llZGVydW0gbWl0ICA6IWxzICAgb2RlciAgOiFkaXIgICBuYWNoLCBkYXNzIGRpZSBEYXRlaQogICAgIGV4aXN0aWVydCwgYWJlciBs9nNjaGUgc2llIE5JQ0hULgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbcSFJFTiBWT04gREFURUlFTgoKCgkgKiogVW0gZGVuIEluaGFsdCBlaW5lciBEYXRlaSBlaW56dWxlc2VuLCB0aXBwZSA6ciBEQVRFSU5BTUUgKioKCiAgMS4gVGlwcGUgICA6IWxzICAgYnp3LiAgICFkaXIgLCAgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIERlaW5lIERhdGVpIFRFU1QKICAgICB2b24gdm9yaGluIHZvcmhhbmRlbiBpc3QuCgogIDIuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkZXIgZXJzdGVuIFplaWxlIGRpZXNlcyBLYXBpdGVscy4KCkJFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMyBhdXNnZWb8aHJ0IGhhc3QsIHdpcnN0IER1IExla3Rpb24gNS4zICBzZWhlbi4KCSAgQW4gZGllc2VtIFB1bmt0IGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTIHp1IGRpZXNlciBMZWt0aW9uLgoKICAzLiBOdW4gbGllcyBEZWluZSBEYXRlaSBURVNUIGVpbiBpbmRlbSBEdSBkYXMgS29tbWFuZG8gOnIgVEVTVCAgYXVzZvxocnN0LAogICAgIHdvYmVpIFRFU1QgZGVyIE5hbWUgZGVyIERhdGVpIGlzdC4KCkJFTUVSS1VORzogIERpZSBEYXRlaSwgZGllIER1IGVpbmxpZXN0LCB3aXJkIGFuIGRlciBTdGVsbGUgZWluZ2Vm/Gd0LCBhbiBkZXIKICAgIHNpY2ggZGVyIEN1cnNvciBiZWZpbmRldC4KCiAgNC4gVW0genUg/GJlcnBy/GZlbiwgZGFzcyBlaW5lIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVy/GNrIHVuZAogICAgIHNlaGUsIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgZGllCiAgICAgZWluZ2Vm/Gd0ZSBWZXJzaW9uLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMZWt0aW9uIDUKCgogIDEuICA6IUtvbW1hbmRvICBm/GhydCBlaW4gZXh0ZXJuZXMgKFNoZWxsLSlLb21tYW5kbyBhdXMuCgogICAgICBFaW5pZ2Ugbvx0emxpY2hlIEJlaXNwaWVsZSBzaW5kCiAgICAgIFVOSVg6CgkgIDohbHMJCSAgLSAgICBBdWZsaXN0dW5nIGRlcyBha3R1ZWxsZW4gVmVyemVpY2huaXNzZXMKCSAgOiFybSBEQVRFSU5BTUUgIC0gICAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FCiAgICAgIE1TLURPUy9XaW5kb3dzOgoJICA6IWRpcgkJICAtICAgIEF1Zmxpc3R1bmcgZGVzIGFrdHVlbGxlbiBWZXJ6ZWljaG5pc3NlcwoJICA6IWRlbCBEQVRFSU5BTUUgLSAgICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUKCiAgMi4gIDp3IERBVEVJTkFNRSAgc2NocmVpYnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSBhbHMgREFURUlOQU1FIGF1ZiBkaWUKICAgICAgIFBsYXR0ZS4KCiAgMy4gIDojLCN3IERBVEVJTkFNRSAgc3BlaWNoZXJ0IGRpZSBaZWlsZW4gIyBiaXMgIyBpbiBkZXIgRGF0ZWkgREFURUlOQU1FLgoKICA0LiAgOnIgREFURUlOQU1FICBs5GR0IGRpZSBEYXRlaSBEQVRFSU5BTUUgdm9uIGRlciBQbGF0dGUgdW5kIGb8Z3Qgc2llIGluCiAgICAgICBkaWUgYWt0dWVsbGUgRGF0ZWkgbmFjaCBkZXIgQ3Vyc29ycG9zaXRpb24gZWluLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOINZGRk5FTiAoT1BFTikKCgogICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciB6dSD2ZmZuZW4gdW5kIERpY2ggaW4gZGVuICoqCgkJCSAqKiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4KCiAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgYXVmenVtYWNoZW4KICAgICB1bmQgRGljaCBpbiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uCgogIDMuIE51biB0aXBwZSBkZW4gVGV4dCBkZXIgbWl0IC0tLT4gbWFya2llcnRlIFplaWxlIGFiIHVuZCBkcvxja2UgPEVTQz4gLCB1bQogICAgIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLgoKLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIGdl9mZmbmV0ZW4gWmVpbGUgaW0gRWluZ2FiZW1vZHVzIHBsYXR6aWVydC4KCiAgNC4gVW0gZWluZSBaZWlsZSDcQkVSIGRlbSBDdXJzb3IgYXVmenVtYWNoZW4sIGdpYiBlaW5mYWNoIGVpbiBncm/fZXMgIE8KICAgICBhbnN0ZWxsZSBlaW5lcyBrbGVpbmVuICBvICBlaW4uIFZlcnN1Y2hlIGRpZXMgYXVmIGRlciB1bnRlbiBzdGVoZW5kZW4KICAgICBaZWlsZS4K1mZmbmUgZWluZSBaZWlsZSD8YmVyIGRpZXNlciBtaXQgU2hpZnQtTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTGVrdGlvbiA2LjI6IFRFWFQgQU5G3EdFTiAoQVBQRU5EKQoKCgkgICAgICAqKiBUaXBwZSBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZvxnZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPgogICAgIG1hcmtpZXJ0IGlzdCwgaW5kZW0gRHUgaW0gTm9ybWFsLU1vZHVzICAkICAgZWluZ2lic3QuCgogIDIuIFRpcHBlIGVpbiAgYSAgKGtsZWluIGdlc2NocmllYmVuKSwgdW0gVGV4dCBOQUNIIGRlbSBaZWljaGVuIHVudGVyIGRlbQogICAgIEN1cnNvciBlaW56dWdlYmVuLiAgKEVpbiBncm/fZXMgQSBm/Gd0IG5hY2ggZGVtIEVuZGUgZGVyIFplaWxlIGFuLikKCkJlbWVya3VuZzogRGllcyBtYWNodCBlcyD8YmVyZmz8c3NpZywgZXJzdCBpIHp1IHRpcHBlbiwgZGFubiBkYXMgbGV0enRlCgkgICBaZWljaGVuLCBkZW4gYW56dWjkbmdlbmRlbiBUZXh0LCA8RVNDPiwgQ3Vyc29yLVJlY2h0cywKCSAgIHVuZCBzY2hsaWXfbGljaCwgeCwgbnVyIHVtIFRleHQgYW4gZWluZSBaZWlsZSBhbnp1aORuZ2VuIQoKICAzLiBOdW4gdmVydm9sbHN05G5kaWdlIGRpZSBlcnN0ZSBaZWlsZS4gIEJlYWNodGUgYXXfZXJkZW0gLCBkYXNzIEFuZvxnZW4KICAgICAoQXBwZW5kKSBnZW5hdSBkYXMgZ2xlaWNoZSBpc3QsIHdpZSBkZXIgRWluZvxnZS0gKEluc2VydC0pIE1vZHVzLAogICAgIGFiZ2VzZWhlbiB2b24gZGVyIFN0ZWxsZSwgYW4gZGVtIGRlciBUZXh0IGVpbmdlZvxndCB3aXJkLgoKLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQKLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQsIFRleHQgYW4gaWhyIEVuZGUgYW56dWb8Z2VuLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICAgIExla3Rpb24gNi4zOiBFSU5FIEFOREVSRSBWRVJTSU9OIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCgoKICAgICAgICoqIFRpcHBlIGVpbiBncm/fZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGVuIEFuZmFuZyBkZXMgZXJzdGVuIFdvcnRlcywgd2VsY2hlcyBzaWNoIHZvbgogICAgIGRlciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZXJzY2hlaWRldCAoZGFzIFdvcnQgJ2JlbnV0emUnKS4KCiAgMy4gTnVuIGdpYiBlaW4gUiAgZWluLCB1bmQgZXJzZXR6ZSBkZW4gUmVzdCBkZXMgVGV4dGVzIGF1ZiBkZXIgZXJzdGVuCiAgICAgWmVpbGUsIHVtIGRpZXNlIGdsZWljaCBkZXIgendlaXRlbiB6dSBtYWNoZW4sIGluZGVtIER1IGRlbiBhbHRlbiBUZXh0CiAgICAg/GJlcnNjaHJlaWJzdC4KCi0tLT4gVW0gZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiB6dSBtYWNoZW4sIGJlbnV0emUgZGllIFRhc3RhdHVyLgotLS0+IFVtIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4genUgbWFjaGVuLCB0aXBwZSBSIHVuZCBuZXVlbiBUZXh0LgoKICA0LiBCZWFjaHRlLCBkYXNzLCB3ZW5uIER1IHp1bSBWZXJsYXNzZW4gPEVTQz4gZHL8Y2tzdCwgc+RtdGxpY2hlcgogICAgIHVuZ2XkbmRlcnRlIFRleHQgYmVzdGVoZW4gYmxlaWJ0LgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgIExla3Rpb24gNi40OiBPUFRJT05FTiBTRVRaRU4KCgogICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgZWluZSBFcnNldHp1bmcgR3Jv3y0gKioKCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKgoKCiAgMS4gU3VjaGUgbmFjaCAnaWdubycsIGluZGVtIER1ICAgIC9pZ25vICAgZWluZ2lic3QuCiAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHL8Y2tzdC4KCiAgMi4gU2V0emUgZGllICdpYycgKGlnbm9yZWNhc2U7IElnbm9yaWVyZSBHcm/fLS9LbGVpbnNjaHJlaWJ1bmcpIC0gT3B0aW9uLAogICAgIGluZGVtIER1ICAgOnNldCBpYyAgIGVpbmdpYnN0LgoKICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm8nLCBpbmRlbSBEdSBuIHRpcHBzdC4KICAgICBXaWVkZXJob2xlIGRpZXNlcyBub2NoIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiBUYXN0ZSBkcvxja3N0LgoKICA0LiBTZXR6ZSBkaWUgJ2hsc2VhcmNoJyAoU3VjaGUgaGVydm9yaGViZW4pIHVuZCAnaW5jc2VhcmNoJyAoSW5rcmVtZW50ZWxsZQogICAgIFN1Y2hlKSAtIE9wdGlvbmVuOgogICAgIDpzZXQgaGxzIGlzCgogIDUuIEpldHp0IGdpYiBkZW4gU3VjaGVuLUJlZmVobCBub2NoIGVpbm1hbCBlaW4gdW5kIGJlb2JhY2h0ZSwgd2FzIHBhc3NpZXJ0OgogICAgIC9pZ25vCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExla3Rpb24gNgoKCiAgMS4gRGllIEVpbmdhYmUgdm9uICBvICBtYWNodCBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgYXVmIHVuZAogICAgIHBsYXR6aWVydCBkZW4gQ3Vyc29yIGF1ZiBkZXIgZ2X2ZmZuZXRlbiBaZWlsZSBpbSBFaW5m/GdlbW9kdXMuCiAgICAgRGllIEVpbmdhYmUgZWluZXMgZ3Jv32VuICBPICD2ZmZuZXQgZWluZSBaZWlsZSDcQkVSIGRlcmplbmlnZW4sCiAgICAgYXVmIGRlciBzaWNoIGRlciBDdXJzb3IgYmVmaW5kZXQuCgogIDIuIEdpYiBlaW4gIGEgIGVpbiwgdW0gVGV4dCBOQUNIIGRlbSBaZWljaGVuLCBhdWYgZGVtIHNpY2ggZGVyIEN1cnNvcgogICAgIGJlZmluZGV0LCBlaW56dWb8Z2VuLgogICAgIERpZSBFaW5nYWJlIGVpbmVzIGdyb99lbiAgQSAgZXJsYXVidCBkYXMgQW5m/GdlbiB2b24gVGV4dCBuYWNoIGRlbQogICAgIEVuZGUgZGVyIFplaWxlLgoKICAzLiBEaWUgRWluZ2FiZSBlaW5lcyBncm/fZW4gIFIgIHdlY2hzZWx0IGluIGRlbiBFcnNldHp1bmdzLShSZXBsYWNlKS1Nb2R1cywKICAgICBiaXMgenVtIFZlcmxhc3NlbiA8RVNDPiBlaW5nZWdlYmVuIHdpcmQuCgogIDQuIERpZSBFaW5nYWJlIHZvbiAiOnNldCB4eHgiIHNldHp0IGRpZSBPcHRpb24gInh4eCIKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICBMZWt0aW9uIDcgOiBESUUgT05MSU5FLUhJTEZFCgoJCSAgICAgKiogTnV0emUgZGFzIGVpbmdlYmF1dGUgSGlsZmVzeXN0ZW0gKioKCiAgVmltIGJlc2l0enQgZWluIHVtZmFzc2VuZGVzIGVpbmdlYmF1dGVzIEhpbGZlc3lzdGVtLiAgRvxyIGRlbiBBbmZhbmcgcHJvYmllcmUKICBlaW5zIGRlciBkcmVpIGZvbGdlbmRlbiBEaW5nZSBhdXM6CgktIERy/GNrZSBkaWUgPEhpbGZlPiAtIFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpCgktIERy/GNrZSBkaWUgPEYxPiBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQoJLSBUaXBwZSAgIDpoZWxwIDxFTlRFUj4KCiAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLgoKICBEdSBrYW5uc3QgSGlsZmUg/GJlciBwcmFrdGlzY2ggamVkZXMgVGhlbWEgZmluZGVuLCBpbmRlbSBEdSBkZW0gIjpoZWxwIgogIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOgoKICA6aGVscCB3CiAgOmhlbHAgY188VAogIDpoZWxwIGluc2VydC1pbmRleAogIDpoZWxwIHVzZXItbWFudWFsCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgTGVrdGlvbiA4OiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUCgoJCSAqKiAgQWt0aXZpZXJlIGRpZSBGdW5rdGlvbmFsaXTkdGVuIHZvbiBWaW0gKioKCiAgVmltIGJlc2l0enQgdmllbGUgRnVua3Rpb25hbGl05HRlbiwgZGllIPxiZXIgVmkgaGluYXVzZ2VoZW4sIGFiZXIgZGllIG1laXN0ZW4KICB2b24gaWhuZW4gc2luZCBzdGFuZGFyZG3k32lnIGRlYWt0aXZpZXJ0LgogIFVtIGRpZXNlIHp1IGFrdGl2aWVyZW4sIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4KCjEuIFN0YXJ0ZSBkYXMgRWRpdGllcmVuIGRlciAidmltcmMiLURhdGVpLCBkaWVzIGlzdCB2b24gRGVpbmVtIFN5c3RlbSBhYmjkbmdpZzoKCTplZGl0IH4vLnZpbXJjCQkJZvxyIFVuaXgKCTplZGl0ICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cwoKMi4gTnVuIGxpZXMgZGllIEJlaXNwaWVsIC0gInZpbXJjIiBlaW46CgoJOnJlYWQgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KCjMuIFNwZWljaGVyZSBkaWUgRGF0ZWkgbWl0OgoKCTp3cml0ZQoKRGFzIG7kY2hzdGUgTWFsLCB3ZW5uIER1IFZpbSBzdGFydGVzdCwgd2lyZCBkaWUgU3ludGF4LUhlcnZvcmhlYnVuZwpha3RpdmllcnQgc2Vpbi4KRHUga2FubnN0IGFsbCBEZWluZSBMaWVibGluZ3NvcHRpb25lbiB6dSBkaWVzZXIgInZpbXJjIiAtIERhdGVpIHp1ZvxnZW4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgogIERhbWl0IGlzdCBkZXIgVmltIFR1dG9yIGJlZW5kZXQuICBEaWUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZAogIGL8bmRpZ2VuINxiZXJibGljayD8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGxpZWZlcm47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdgogIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga/ZubmVuLgogIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuIEFuc3BydWNoIGF1ZiBWb2xsc3TkbmRpZ2tlaXQ7CiAgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuCiAgV2FnZSBEaWNoIGFscyBu5GNoc3RlcyBhbiBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuCgogIEb8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGthbm4gZm9sZ2VuZGVzIEJ1Y2ggZW1wZm9obGVuIHdlcmRlbjoKCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lCglWZXJsYWc6IE5ldyBSaWRlcnMKICBEYXMgZXJzdGUgQnVjaCwgZGFzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gKICBm/HIgQW5m5G5nZXIuCiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uCiAgU2llaGUgaHR0cDovL3d3dy5pY2NmLm5sL2NsaWNrNS5odG1sCgogIEFscyBha3R1ZWxsZSBSZWZlcmVueiBm77+9ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmbvv71ocnVuZyBkaWVudCBkYXMKICBmb2xnZW5kZSBCdWNoOgogICAgICAgIHZpbSBnZS1wYWNrdCB2b24gUmVpbmhhcmQgV29ic3QKCW1pdHAtVmVybGFnLCBJU0JOIDMtODI2Ni0xNDI1LTkKICBUcm90eiBkZXIga29tcGFrdGVuIERhcnN0ZWxsdW5nIGlzdCBlcyBkdXJjaCB2aWVsZSBu77+9dHpsaWNoZSBCZWlzcGllbGUgYXVjaAogIGbvv71yIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZAogIG9ubGluZSBlcmjvv71sdGxpY2guICBTaWVoZSBodHRwOi8vd3d3LmljY2YubmwvY2xpY2s1Lmh0bWwKCiAgRm9sZ2VuZGVzIEJ1Y2ggaXN0IORsdGVyIHVuZCBtZWhyIPxiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0OgoJTGluZGEgTGFtYiB1bmQgQXJub2xkIFJvYmJpbnMKCVRleHRiZWFyYmVpdHVuZyBtaXQgZGVtIHZpLUVkaXRvcgoJVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2MgogIEluIGRpZXNlbSBCdWNoIGthbm4gbWFuIGZhc3QgYWxsZXMgZmluZGVuLCB3YXMgbWFuIG1pdCBWaSB0dW4gbfZjaHRlLgogIERpZSBzZWNoc3RlIEF1c2dhYmUgZW50aORsdCBhdWNoIEluZm9ybWF0aW9uZW4g/GJlciBWaW0uCgogIERpZXNlcyBUdXRvcmlhbCB3dXJkZSBnZXNjaHJpZWJlbiB2b24gTWljaGFlbCBDLiBQaWVyY2UgYW5kIFJvYmVydCBLLiBXYXJlLAogIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcy4gRXMgYmVudXR6dCBJZGVlbiwgZGllIENoYXJsZXMgU21pdGgsCiAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eSwgenVyIFZlcmb8Z3VuZyBzdGVsbHRlLgogIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgoKICBCZWFyYmVpdGV0IGb8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLgoKICBEZXV0c2NoZSDcYmVyc2V0enVuZyB2b24gSm9hY2hpbSBIb2ZtYW5uLCBTZXB0ZW1iZXIgMjAwMi4KICBFLW1haWw6IEpvYWNoaW0uSG9mQGdteC5kZQp+fn5+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