PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgICAgVyBpIGwgbCBrIG8gbSBtIGUgbiAgIGltICAgViBJIE0gICBUIHUgdCBvIHIgICAgLSAgICBWZXJzaW9uIDEuN0QgICAgICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgIFZpbSBpc3QgZWluIHNlaHIgbeRjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zkcmVuLiAgRGllc2VyIFR1dG9yIGlzdCBzbwogICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBkYXNzIER1IGRpZSBG5GhpZ2tlaXQgZXJsYW5nc3QsCiAgIFZpbSBtaXQgTGVpY2h0aWdrZWl0IGFscyBlaW5lbiBBbGx6d2Vjay1FZGl0b3IgenUgYmVudXR6ZW4uCiAgIERpZSBaZWl0IGb8ciBkYXMgRHVyY2hhcmJlaXRlbiBkaWVzZXMgVHV0b3JzIGJldHLkZ3QgY2EuIDI1LTMwIE1pbnV0ZW4sCiAgIGFiaORuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4KCiAgIEFDSFRVTkc6CiAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4KICAgRXJzdGVsbGUgZWluZSBLb3BpZSBkaWVzZXIgRGF0ZWksIGluIGRlciBEdSD8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIgogICBhdWZnZXJ1ZmVuIGhhc3QsIGlzdCBkaWVzIGJlcmVpdHMgZWluZSBLb3BpZSkuCgogICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfkcnRpZ2VuLCBkYXNzIGRpZXNlciBUdXRvciBm/HIgZGFzIEFud2VuZGVuCiAgIGtvbnppcGllcnQgaXN0LiBEYXMgYmVkZXV0ZXQsIGRhc3MgRHUgZGllIEJlZmVobGUgYXVzZvxocmVuIG11c3N0LCB1bSBzaWUKICAgcmljaHRpZyB6dSBsZXJuZW4uIFdlbm4gRHUgbnVyIGRlbiBUZXh0IGxpZXN0LCB2ZXJnaXNzdCBEdSBkaWUgQmVmZWhsZSEKCiAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgRGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHL8Y2t0IGlzdCB1bmQgYmV05HRpZ2UKICAgZGllICAgaiAgIFRhc3RlIGdlbvxnZW5kIE1hbGUsIHVtIGRlbiBDdXJzb3IgbmFjaCB1bnRlbiB6dSBiZXdlZ2VuLCBzbyBkYXNzCiAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZvxsbHQuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDEuMTogQkVXRUdFTiBERVMgQ1VSU09SUwoKICAqKiBVbSBkZW4gQ3Vyc29yIHp1IGJld2VnZW4sIGRy/GNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqCgkgICAgIF4JCSBIaWxmZXN0ZWxsdW5nOgoJICAgICBrCQkgRGllIGggVGFzdGUgYmVmaW5kZXQgc2ljaCBsaW5rcyB1bmQgYmV3ZWd0IG5hY2ggbGlua3MuCiAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuCgkgICAgIGoJCSBEaWUgaiBUYXN0ZSDkaG5lbHQgZWluZW0gUGZlaWwgbmFjaCB1bnRlbi4KCSAgICAgdgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIGF1ZiBkZW0gQmlsZHNjaGlybSB1bWhlciwgYmlzIER1IERpY2ggc2ljaGVyIGb8aGxzdC4KCiAgMi4gSGFsdGUgZGllIE5hY2gtVW50ZW4tVGFzdGUgKGopIGdlZHL8Y2t0LCBiaXMgc2llIHNpY2ggd2llZGVyaG9sdC4KICAgICBKZXR6dCB3ZWnfdCBEdSwgd2llIER1IERpY2ggenVyIG7kY2hzdGVuIExla3Rpb24gYmV3ZWdlbiBrYW5uc3QuCgogIDMuIEJlbnV0emUgZGllIE5hY2gtVW50ZW4tVGFzdGUsIHVtIERpY2ggenUgTGVrdGlvbiAxLjIgenUgYmV3ZWdlbi4KCkJlbWVya3VuZzogSW1tZXIsIHdlbm4gRHUgRGlyIHVuc2ljaGVyIGJpc3Qg/GJlciBkYXMsIHdhcyBEdSBnZXRpcHB0IGhhc3QsCgkgICBkcvxja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLgoJICAgRGFubiBnaWIgZGFzIGdld/xuc2NodGUgS29tbWFuZG8gbm9jaCBlaW5tYWwgZWluLgoKQmVtZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1CgkgICBoamtsIGJlbnV0enQsIHdpcnN0IER1IGluIGRlciBMYWdlIHNlaW4sIERpY2ggc2VociB2aWVsIHNjaG5lbGxlcgoJICAgdW1oZXJ6dWJld2VnZW4sIHdlbm4gRHUgRGljaCBlaW5tYWwgZGFyYW4gZ2V39mhudCBoYXN0LiBXaXJrbGljaCEKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4KCgogICEhIEFDSFRVTkc6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzCiAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKCiAgMS4gRHL8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLgoKICAyLiBUaXBwZToJOnEhIDxFTlRFUj4uCiAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgxG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4KCiAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQogICAgIGRpZXNlbSBUdXRvciBnZWb8aHJ0IGhhdC4gRGllcyB35HJlOgl2aW10dXRvciA8RU5URVI+CgogIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZvxobHN0LAogICAgIGb8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCiAgICAgaGluZWluenVnZWxhbmdlbi4KCkJlbWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuIEluCiAgICAgZWluaWdlbiBMZWt0aW9uZW4gbGVybnN0IER1ICwgZGllIMRuZGVydW5nZW4gaW4gZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLgoKICA1LiBCZXdlZ2UgZGVuIEN1cnNvciBhYnfkcnRzIHp1IExla3Rpb24gMS4zLgogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDEuMzogVEVYVCBFRElUSUVSRU4gLSBM1lNDSEVOCgoKCSAqKiBEcvxja2UgIHggIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+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+CgkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBFRElUSUVSRU4gLSBFSU5G3EdFTgoKCgkJICAgICoqICBEcvxja2UgIGkgICwgdW0gVGV4dCBlaW56dWb8Z2VuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYKICAgICBkYXMgZXJzdGUgWmVpY2hlbiBOQUNIIGRlciBTdGVsbGUsIHdvIGRlciBUZXh0IGVpbmdlZvxndCB3ZXJkZW4gc29sbC4KCiAgMy4gRHL8Y2tlICBpICB1bmQgZ2liIGRpZSBub3R3ZW5kaWdlbiBFcmfkbnp1bmdlbiBlaW4uCgogIDQuIFdlbm4gamV3ZWlscyBlaW4gRmVobGVyIGJlc2VpdGlndCBpc3QsIGRy/GNrZSA8RVNDPiAsIHVtIHp1bSBOb3JtYWxtb2R1cwogICAgIHp1cvxja3p1a2VocmVuLgogICAgIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgoKLS0tPiBJbiBkaWVzZXIgZnQgZXR3YXMgLgotLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgoKICA1LiBXZW5uIER1IERpY2ggbWl0IGRlbSBFaW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS41LgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiAxLjU6IFRFWFQgRURJVElFUkVOIC0gQU5G3EdFTgoKCgkJICAgICAqKiBEcvxja2UgIEEgICwgdW0gVGV4dCBhbnp1ZvxnZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCiAgICAgRXMgaXN0IGdsZWljaGf8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4KCiAgMi4gRHL8Y2tlICBBICB1bmQgZ2liIGRpZSBu9nRpZ2VuIEVyZ+RuenVuZ2VuIGVpbi4KCiAgMy4gV2VubiBkYXMgQW5m/GdlbiBhYmdlc2NobG9zc2VuIGlzdCwgZHL8Y2tlIDxFU0M+LCB1bSBpbiBkZW4gTm9ybWFsbW9kdXMKICAgICB6dXL8Y2t6dWtlaHJlbi4KCiAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bmQgd2llZGVyaG9sZQogICAgIGRpZSBTY2hyaXR0ZSAyIHVuZCAzLCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4KCi0tLT4gSW4gZGllc2VyIFplaWxlIGZlaAogICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgotLS0+IEF1Y2ggaGllciBzdGVoCiAgICAgQXVjaCBoaWVyIHN0ZWh0IGV0d2FzIFVudm9sbHN05G5kaWdlcy4KCiAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS42Lgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVOCgoKICAgICAqKiBCZW51dHplICA6d3EgICwgdW0gZWluZSBEYXRlaSB6dSBzcGVpY2hlcm4gdW5kIFZpbSB6dSB2ZXJsYXNzZW4uICoqCgogICEhIEFDSFRVTkc6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzCiAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKCiAgMS4gVmVybGFzc2UgZGVuIEVkaXRvciBzbyB3aWUgaW4gTGVrdGlvbiAxLjI6ICA6cSEKCiAgMi4gR2liIGRpZXNlcyBLb21tYW5kbyBpbiBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBlaW46ICB2aW0gdHV0b3IgPEVOVEVSPgogICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuCiAgICAgQmVudXR6ZSBlaW5lIERhdGVpLCBkaWUgZ2XkbmRlcnQgd2VyZGVuIGthbm4uCgogIDMuIEb8Z2UgVGV4dCBlaW4gb2RlciBs9nNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmlnZW4gTGVrdGlvbmVuIGdlbGVybnQKICAgICBoYXN0LgoKICA0LiBTcGVpY2hlcmUgZGllIGdl5G5kZXJ0ZSBEYXRlaSB1bmQgdmVybGFzc2UgVmltIG1pdDogIDp3cSA8RU5URVI+CgogIDUuIFN0YXJ0ZSBkZW4gdmltdHV0b3IgbmV1IHVuZCBiZXdlZ2UgRGljaCB6dSBkZXIgZm9sZ2VuZGVuIFp1c2FtbWVuZmFzc3VuZy4KCiAgNi4gTmFjaGRlbSBEdSBvYmlnZSBTY2hyaXR0ZSBnZWxlc2VuIHVuZCB2ZXJzdGFuZGVuIGhhc3QsIGb8aHJlIHNpZSBkdXJjaC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMQoKCiAgMS4gRGVyIEN1cnNvciB3aXJkIG1pdCBkZW4gUGZlaWx0YXN0ZW4gb2RlciBkZW4gVGFzdGVuIGhqa2wgYmV3ZWd0LgoJIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ35HJ0cykgICAgbCAocmVjaHRzKQoKICAyLiBVbSBWaW0gdm9uIGRlciBFaW5nYWJlYXVmZm9yZGVydW5nIGF1c3p1ZvxocmVuLCB0aXBwZTogdmltIERBVEVJIDxFTlRFUj4KCiAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDEbmRlcnVuZ2VuIHp1IHZlcndlcmZlbiwgdGlwcGU6CgkJPEVTQz4gIDpxISAgPEVOVEVSPiAuCglPREVSIHRpcHBlOgk8RVNDPiAgOndxICA8RU5URVI+ICwgdW0gZGllIMRuZGVydW5nZW4genUgc3BlaWNoZXJuLgoKICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGz2c2NoZW4sIHRpcHBlOiAgeAoKICA1LiBVbSBUZXh0IGVpbnp1ZvxnZW4gb2RlciBhbnp1ZvxnZW4sIHRpcHBlOgoJIGkgICBFaW56dWb8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICA8RVNDPiAgICBFaW5m/GdlbiB2b3IgZGVtIEN1cnNvcgoJIEEgICBBbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmb8Z2VuIG5hY2ggZGVtIFplaWxlbmRlbmUKCkJlbWVya3VuZzogRHL8Y2tlbiB2b24gPEVTQz4gYnJpbmd0IERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIG9kZXIgYnJpY2h0IGVpbgogICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCgogICAgIE51biBmYWhyZSBtaXQgTGVrdGlvbiAyIGZvcnQuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgIExla3Rpb24gMi4xOiBM1lNDSEtPTU1BTkRPUwoKCgkJICAgKiogVGlwcGUgIGR3ICAsIHVtIGVpbiBXb3J0IHp1IGz2c2NoZW4uICoqCgogIDEuIERy/GNrZSAgPEVTQz4gIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgoKICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBlaW5lcyBXb3J0ZXMsIGRhcyBnZWz2c2NodCB3ZXJkZW4gc29sbC4KCiAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KCiAgQmVtZXJrdW5nOiBEZXIgQnVjaHN0YWJlICBkICBlcnNjaGVpbnQgYXVmIGRlciBsZXR6dGVuIFplaWxlIGRlcyBCaWxkc2NoaXJtcywKICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRh3yBEdSAgdyAgZWluZ2lic3QuIFdlbm4gRHUKICAgICAgICBlaW4gYW5kZXJlcyBaZWljaGVuIGFscyAgZCAgc2llaHN0LCBoYXN0IER1IGV0d2FzIGZhbHNjaGVzIGdldGlwcHQ7CiAgICAgICAgZHL8Y2tlIDxFU0M+IHVuZCBiZWdpbm5lIG5ldS4KCi0tLT4gRWluaWdlIFf2cnRlciBsdXN0aWcgZ2Vo9nJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCgogIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQogICAgIGRhbmFjaCB6dXIgTGVrdGlvbiAyLjIuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgIExla3Rpb24gMi4yOiBXRUlURVJFIEzWU0NIS09NTUFORE9TCgoKCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBs9nNjaGVuLiAqKgoKICAxLiBEcvxja2UgPEVTQz4gLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4KCiAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCgogIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBrb3JyZWt0ZW4gWmVpbGUgKE5BQ0ggZGVtIGVyc3RlbiAuICkuCgogIDQuIFRpcHBlICAgIGQkICAgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBs9nNjaGVuLgoKLS0tPiBKZW1hbmQgaGF0IGRhcyBFbmRlIGRlciBaZWlsZSBkb3BwZWx0IGVpbmdlZ2ViZW4uIGRvcHBlbHQgZWluZ2VnZWJlbi4KCgogIDUuIEdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDIuMyAsIHVtIHp1IHZlcnN0ZWhlbiwgd2FzIGhpZXJiZWkgcGFzc2llcnQuCgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJIExla3Rpb24gMi4zOiDcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rcR0UKCgogIFZpZWxlIEtvbW1hbmRvcywgZGllIFRleHQg5G5kZXJuLCBzZXR6ZW4gc2ljaCBhdXMgZWluZW0gT3BlcmF0b3IgdW5kIGVpbmVyCiAgQmV3ZWd1bmcgenVzYW1tZW4uIERhcyBGb3JtYXQgZvxyIGVpbiBM9nNjaGtvbW1hbmRvIG1pdCBkZW0gTPZzY2hvcGVyYXRvciAgZAogIGxhdXRldCB3aWUgZm9sZ3Q6CgogICAgZCAgQmV3ZWd1bmcKCiAgd29iZWk6CiAgICBkICAgICAgICAtIGRlciBM9nNjaG9wZXJhdG9yCiAgICBCZXdlZ3VuZyAtIHdvcmF1ZiBkZXIgTPZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2VsaXN0ZXQpLgoKICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOgogICAgdyAtIGJpcyB6dW0gQmVnaW5uIGRlcyBu5GNoc3RlbiBXb3J0ZXMgT0hORSBkZXNzZW4gZXJzdGVzIFplaWNoZW4uCiAgICBlIC0genVtIEVuZGUgZGVzIGFrdHVlbGxlbiBXb3J0ZXMgTUlUIGRlc3NlbiBsZXR6dGVtIFplaWNoZW4uCiAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0emVuIFplaWNoZW4uCgogIERlbWVudHNwcmVjaGVuZCBs9nNjaHQgZGllIEVpbmdhYmUgdm9uICBkZSAgdm9tIEN1cnNvciBhbiBiaXMgenVtIFdvcnRlbmRlLgoKQmVtZXJrdW5nOiAgRGllIEVpbmdhYmUgbGVkaWdsaWNoIGRlcyBCZXdlZ3VuZ3N0ZWlscyBpbSBOb3JtYWxtb2R1cyBiZXdlZ3QgZGVuCiAgQ3Vyc29yIGVudHNwcmVjaGVuZC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CglMZWt0aW9uIDIuNDogQU5XRU5EVU5HIEVJTkVTIFrESExFUlMgRtxSIEVJTkVOIEJFV0VHVU5HU1NDSFJJVFQKCgogICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIHZvciBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IHdpZWRlcmhvbHQgZGllc2VuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQmVnaW5uIGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgoKICAyLiBUaXBwZSAgMncgICwgdW0gZGVuIEN1cnNvciB6d2VpIFf2cnRlciB2b3J35HJ0cyB6dSBiZXdlZ2VuLgoKICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4KCiAgNC4gVGlwcGUgIDAgIChOdWxsKSAsIHVtIHp1bSBBbmZhbmcgZGVyIFplaWxlIHp1IGdlbGFuZ2VuLgoKICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDIgdW5kIDMgbWl0IHZlcnNjaGllZGVuZW4gWuRobGVybi4KCiAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV/ZydGVuIHVtIHNpY2ggZGFyaW4gaGVydW16dWJld2VnZW4uCgogIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41LgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBNRUhSRVJFIEzWU0NIVk9SR8ROR0UKCgogICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIG1pdCBlaW5lbSBPcGVyYXRvciB3aWVkZXJob2x0IGRpZXNlbiBtZWhyZmFjaC4gKioKCiAgRvxyIGRpZSBLb21iaW5hdGlvbiBkZXMgTPZzY2hvcGVyYXRvcnMgdW5kIGVpbmVtIEJld2VndW5nc3NjaHJpdHQgKHNpZWhlCiAgb2Jlbikgc3RlbGx0IG1hbiBkZW0gQmV3ZWd1bmdzc2Nocml0dCBlaW5lbiBa5GhsZXIgdm9yYW4sIHVtIG1laHIgenUgbPZzY2hlbjoKCSBkICBOdW1tZXIgIEJld2VndW5nc3NjaHJpdHQKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4KICAgICBtYXJraWVyZW4gWmVpbGUuCgogIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiB6dSBs9nNjaGVuLgoKICAzLiBXaWVkZXJob2xlIFNjaHJpdHRlIDEgdW5kICAyIG1pdCBlaW5lbSBhbmRlcmVuIFrkaGxlciwgdW0gZGllCiAgICAgZGFyYXVmZm9sZ2VuZGVuIFf2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4gbWl0IGVpbmVtIGVpbnppZ2VuIEtvbW1hbmRvCiAgICAgenUgbPZzY2hlbi4KCi0tLT4gIERpZXNlIEFCQyBERSBaZWlsZSBGR0hJIEpLIExNTiBPUCBtaXQgV/ZydGVybiBpc3QgUSBSUyBUVVYgYmVyZWluaWd0LgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJTGVrdGlvbiAyLjY6IEFSQkVJVEVOIEFVRiBaRUlMRU4KCgoJICAgICAgICoqIFRpcHBlICBkZCAgLCB1bSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4uICoqCgogIFdlZ2VuIGRlciBI5HVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbPZzY2h0LCBrYW1lbiBkaWUgRW50d2lja2xlciB2b24KICBWaSBkYXJhdWYsIGRhc3MgZXMgbGVpY2h0ZXIgd+RyZSwgZWluZmFjaCB6d2VpIGQncyBlaW56dWdlYmVuLCB1bSBlaW5lIFplaWxlCiAgenUgbPZzY2hlbi4KCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gWmVpbGUgaW4gZGVyIHVudGVuIHN0ZWhlbmRlbiBSZWRld2VuZHVuZy4KICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4uCiAgMy4gTnVuIGJld2VnZSBEaWNoIHp1ciB2aWVydGVuIFplaWxlLgogIDQuIFRpcHBlICAyZGQgICwgdW0gendlaSBaZWlsZW4genUgbPZzY2hlbi4KCi0tLT4gIDEpICBSb3NlbiBzaW5kIHJvdCwKLS0tPiAgMikgIE1hdHNjaCBpc3QgbHVzdGlnLAotLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LAotLS0+ICA0KSAgSWNoIGhhYmUgZWluIEF1dG8sCi0tLT4gIDUpICBEaWUgVWhyIHNhZ3QgZGllIFplaXQsCi0tLT4gIDYpICBadWNrZXIgaXN0IHP83ywKLS0tPiAgNykgIFNvIHdpZSBEdSBhdWNoLgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDIuNzogUtxDS0fETkdJRyBNQUNIRU4gKFVORE8pCgoKCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHL8Y2tn5G5naWcgenUgbWFjaGVuICoqCgkgICAgICAqKiBvZGVyIFUgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuCiAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuCiAgMi4gVGlwcGUgIHggICwgdW0gZGFzIGVyc3RlIHVuZXJ3/G5zY2h0ZSBaZWljaGVuIHp1IGz2c2NoZW4uCiAgMy4gTnVuIHRpcHBlICB1ICB1bSBkYXMgc29lYmVuIGF1c2dlZvxocnRlIEtvbW1hbmRvIHL8Y2tn5G5naWcgenUgbWFjaGVuLgogIDQuIEpldHp0IGJlaGViZSBhbGxlIEZlaGxlciBhdWYgZGVyIFplaWxlIG1pdCBIaWxmZSBkZXMgeCAgS29tbWFuZG9zLgogIDUuIE51biB0aXBwZSBlaW4gZ3Jv32VzICBVICwgdW0gZGllIFplaWxlIGluIGlocmVuIFVyc3BydW5nc3p1c3RhbmQKICAgICB3aWVkZXJoZXJ6dXN0ZWxsZW4uCiAgNi4gTnVuIHRpcHBlICB1ICBlaW5pZ2UgTWFsZSwgdW0gZGFzIFUgdW5kIGRpZSB2b3JoZXJnZWhlbmRlbiBLb21tYW5kb3MKICAgICBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KICA3LiBOdW4gdGlwcGUgQ1RSTC1SIChoYWx0ZSBDVFJMIGdlZHL8Y2t0IHVuZCBkcvxja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUKICAgICBLb21tYW5kb3Mgd2llZGVyaGVyenVzdGVsbGVuIChkaWUgUvxja2fkbmdpZ21hY2h1bmdlbiBy/GNrZ+RuZ2lnIG1hY2hlbikuCgotLS0+IEJlZWhlYmUgZGllIEZlaGxsZXIgZGllc3NlciBaZWlsZSB1bmQgc3R0ZWxsZSBzaWUgbWl0dCAndW5kbycgd2llZGVyIGhlci4KCiAgOC4gRGllcyBzaW5kIHNlaHIgbvx0emxpY2hlIEtvbW1hbmRvcy4KICAgICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyB2b24gTGVrdGlvbiAyLgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyCgoKICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbuRjaHN0ZW4gV29ydCB6dSBs9nNjaGVuLCB0aXBwZTogICAgZHcKICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBs9nNjaGVuLCB0aXBwZTogICAgIGQkCiAgMy4gVW0gZWluZSBnYW56ZSBaZWlsZSB6dSBs9nNjaGVuLCB0aXBwZTogICAgZGQKCiAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3CiAgNS4gRGFzIEZvcm1hdCBm/HIgZWluIMRuZGVydW5nc2tvbW1hbmRvIGlzdDoKICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQKICAgICB3b2JlaToKICAgICAgIE9wZXJhdG9yIC0gZ2lidCBhbiwgd2FzIGdldGFuIHdlcmRlbiBzb2xsLCB6dW0gQmVpc3BpZWwgIGQgIGb8ciBkZWxldGUKICAgICAgIFtBbnphaGxdIC0gZWluIG9wdGlvbmFsZXIgWuRobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbgogICAgICAgQmV3ZWd1bmdzc2Nocml0dCAtIEJld2VndW5nIPxiZXIgZGVuIHp1IORuZGVybmRlbiBUZXh0LCBzbyB3aWUKCQkgIHcgKFdvcnQpLCAkICh6dW0gRW5kZSBkZXIgWmVpbGUpLCBldGMuCgogIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDAKCiAgNy4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkKICAgICBVbSBhbGxlIMRuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHL8Y2tn5G5naWcgenUgbWFjaGVuOiAgIFUgKGdyb99lcyBVKQogICAgIFVtIGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZTogICAgQ1RSTC1SCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgTGVrdGlvbiAzLjE6IEFORtxHRU4gKFBVVCkKCgogICAgICoqIFRpcHBlICBwICAsIHVtIHZvcmhlciBnZWz2c2NodGVuIFRleHQgbmFjaCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KCiAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuIHVuZCBzaWUgaW4gZWltZW0gVmltLVJlZ2lzdGVyIHp1CiAgICAgc3BlaWNoZXJuLgoKICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksINxCRVIgZGVyamVuaWdlbiwgd28gZGllIGdlbPZzY2h0ZSBaZWlsZQogICAgIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4KCiAgNC4gIFRpcHBlICAgcCAgICwgdW0gZGllIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSBwbGF0emllcmVuLgoKICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBhbGxlIFplaWxlbiBpbiBkaWUgcmljaHRpZ2UKICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLgoKLS0tPiBkKSBLYW5uc3QgRHUgZGFzIGF1Y2g/Ci0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LAotLS0+IGMpIEludGVsbGlnZW56IGlzdCBlcmxlcm5iYXIsCi0tLT4gYSkgUm9zZW4gc2luZCByb3QsCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDMuMjogRVJTRVRaRU4gKFJFUExBQ0UpCgoKICAgKiogVGlwcGUgIHJ4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgZHVyY2ggIHggenUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCgogIDIuIEJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIgc2ljaCBhdWYgZGVtIGVyc3RlbiBGZWhsZXIgYmVmaW5kZXQuCgogIDMuIFRpcHBlICByICB1bmQgYW5zY2hsaWXfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRvcnQgc3RlaGVuIHNvbGx0ZS4KCiAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuCgotLS0+ICBBbHMgZGllc2UgWmVpdGUgZWluZ2Vnb2JlbiB3dXJkZSwgd3VyZGVuIGVpbmlrZSBmYWxzY2hlIFRhc3RlbiBnZWxpcHB0IQotLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0IQoKICA1LiBOdW4gZmFocmUgZm9ydCBtaXQgTGVrdGlvbiAzLjIuCgpCZW1lcmt1bmc6IEVyaW5uZXJlIERpY2gsIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCBkdXJjaAogICAgIEF1c3dlbmRpZ2xlcm5lbi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICBMZWt0aW9uIDMuMzogxE5ERVJOIChDSEFOR0UpCgoKICAgICAgKiogVW0gZWluZSDEbmRlcnVuZyBiaXMgenVtIFdvcnRlbmRlIGR1cmNoenVm/GhyZW4sIHRpcHBlICBjZSAuICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCgogIDIuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkYXMgIHMgIHZvbiBXc3R3ci4KCiAgMy4gVGlwcGUgIGNlICB1bmQgZGllIFdvcnRrb3JyZWt0dXIgZWluIChpbiBkaWVzZW0gRmFsbCB0aXBwZSAg9nJ0ZXIgKS4KCiAgNC4gRHL8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbuRjaHN0ZW4genUg5G5kZXJuZGVuIFplaWNoZW4uCgogIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMyB1bmQgNCBiaXMgZGVyIGVyc3RlIFNhdHogZ2xlaWNoIGRlbSB6d2VpdGVuIGlzdC4KCi0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMRuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLgotLS0+IEVpbmlnZSBX9nJ0ZXIgZGllc2VyIFplaWxlIHNvbGxlbiBtaXQgZGVtIMRuZGVybi1PcGVyYXRvciBnZeRuZGVydCB3ZXJkZW4uCgpCZW1lcmtlLCBkYXNzICBjZSAgZGFzIFdvcnQgbPZzY2h0IHVuZCBEaWNoIGluIGRlbiBFaW5nYWJlbW9kdXMgdmVyc2V0enQuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgxE5ERVJVTkdFTiBNSVRURUxTIGMKCgogICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBCZXdlZ3VuZ2VuIHdpZSBkZWxldGUuICAqKgoKICAxLiBEZXIgY2hhbmdlIE9wZXJhdG9yIGFyYmVpdGV0IGluIGdsZWljaGVyIFdlaXNlIHdpZSBkZWxldGUuIERhcyBGb3JtYXQgaXN0OgoKICAgICAgICAgYyAgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAoKICAyLiBEaWUgQmV3ZWd1bmdzc2Nocml0dGUgc2luZCBkaWUgZ2xlaWNoZW4gLCBzbyB3aWUgIHcgIChXb3J0KSB1bmQgICQKICAgICAoWmVpbGVuZW5kZSkuCgogIDMuIEJld2VnZSBEaWNoIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCgogIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gRmVobGVyLgoKICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcvxja2UgPEVTQz4gLgoKLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBhbiBkaWUgendlaXRlIFplaWxlIGFuZ2VnbGljaGVuIHdlcmRlbi4KLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBtaXQgZGVtICBjJCAgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uCgpCZW1lcmt1bmc6IER1IGthbm5zdCBkaWUgUvxja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAzCgoKICAxLiBVbSBlaW5lbiB2b3JoZXIgZ2Vs9nNjaHRlbiBUZXh0IGFuenVm/GdlbiwgdGlwcGUgICBwIC4gRGllcyBm/Gd0IGRlbgogICAgIGdlbPZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZWluZSBnYW56ZSBaZWlsZSBnZWz2c2NodCB3dXJkZSwKICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZvxndCkuCgogIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYXMgYW4gZGllc2VyCiAgICAgU3RlbGxlIGdld/xuc2NodGUgWmVpY2hlbi4KCiAgMy4gRGVyIMRuZGVydW5ncy0gKGNoYW5nZSkgT3BlcmF0b3IgZXJsYXVidCwgdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzCiAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IORuZGVybi4gVGlwcGUgIGNlICAsIHVtIGVpbmUgxG5kZXJ1bmcgdm9tIEN1cnNvciBiaXMKICAgICB6dW0gRW5kZSBkZXMgV29ydGVzIHZvcnp1bmVobWVuOyAgYyQgIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZS4KCiAgNC4gRGFzIEZvcm1hdCBm/HIgY2hhbmdlIGlzdDoKCgkgYyAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0CgogIE51biBmYWhyZSBtaXQgZGVyIG7kY2hzdGVuIExla3Rpb24gZm9ydC4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICBMZWt0aW9uIDQuMTogQ1VSU09SUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTCgogKiogVGlwcGUgQ1RSTC1HICwgdW0gRGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioKICAgICAqKiBUaXBwZSBHICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmVnZWJlbi4gKioKCkJlbWVya3VuZzogTGllcyBkaWVzZSBnZXNhbXRlIExla3Rpb24sIGJldm9yIER1IGlyZ2VuZGVpbmVuIFNjaHJpdHQgYXVzZvxocnN0ISEKCiAgMS4gSGFsdGUgZGllIEN0cmwgVGFzdGUgdW50ZW4gdW5kIGRy/GNrZSAgZyAuIERpZXMgbmVubmVuIHdpciB3aXIgQ1RSTC1HLgogICAgIEVpbmUgU3RhdHVzbWVsZHVuZyBhbSBGdd8gZGVyIFNlaXRlIGVyc2NoZWludCBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlcgogICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGb8ciBTY2hyaXR0IDMuCgpCZW1lcmt1bmc6IE32Z2xpY2hlcndlaXNlIHNpZWhzdCBEdSBkaWUgQ3Vyc29ycG9zaXRpb24gaW4gZGVyIHVudGVyZW4gcmVjaHRlbgogICAgICBCaWxkc2NoaXJtZWNrZS4gRGllcyBpc3QgRm9sZ2UgZGVyICdydWxlcicgT3B0aW9uIChzaWVoZSA6aGVscCAncnVsZXInKQoKICAyLiBEcvxja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KICAgICBUaXBwZSAgZ2cgICwgdW0gRGljaCB6dW0gQW5mYW5nIGRlciBEYXRlaSB6dSBiZWdlYmVuLgoKICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLgogICAgIERpZXMgYnJpbmd0IERpY2ggenVy/GNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1CiAgICAgZGFzIGVyc3RlIE1hbCBDVFJMLUcgZ2Vkcvxja3QgaGFzdC4KCiAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgIExla3Rpb24gNC4yOiBEQVMgU1VDSEVOIC0gS09NTUFORE8KCgogICoqIFRpcHBlICAvICBnZWZvbGd0IHZvbiBlaW5lbSBBdXNkcnVjaywgdW0gbmFjaCBkZW0gQXVzZHJ1Y2sgenUgc3VjaGVuLiAqKgoKICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVtZXJrZSwgZGFzcyBkYXMgIC8gdW5kIGRlcgogICAgIEN1cnNvciBhbSBGdd8gZGVzIFNjaGlybXMgZXJzY2hlaW5lbiwgc28gd2llIGJlaW0gOglLb21tYW5kby4KCiAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4KCiAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciBuZXh0KS4KICAgICBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4sIHRpcHBlICBOIC4KCiAgNC4gVW0gbmFjaCBlaW5lbSBBdXNkcnVjayBy/GNrd+RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLgoKICA1LiBVbSBkYWhpbiB6dXL8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRy/GNrZSBDVFJMLU8gKEhhbHRlCiAgICAgQ3RybCB1bnRlbiB1bmQgZHL8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIHdlaXRlcgogICAgIHp1cvxja3p1Z2VoZW4uICBDVFJMLUkgYnJpbmd0IGRpY2ggdm9yd+RydHMuCgotLS0+ICBGZWhsZXIgc2NocmVpYnQgc2ljaCBuaWNodCAiRmVoaGxlciI7IEZlaGhsZXIgaXN0IGVpbiBGZWhsZXIKQmVtZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nCiAgICAgICAgZm9ydGdlc2V0enQsIGVzIHNlaSBkZW5uLCBkaWUgJ3dyYXBzY2FuJyBPcHRpb24gd3VyZGUgYWJnZXNjaGFsdGV0Lgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4KCgogICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUga29ycmVzcG9uZGllcmVuZGUgS2xhbW1lciApLF0sIG9kZXIgfSB6dSBmaW5kZW4uICoqCgogIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lcyBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsgaW4gZGVyIHVudGVuCiAgICAgc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgoKICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLgoKICAzLiBEZXIgQ3Vyc29yIGJld2VndCBzaWNoIHp1ciBwYXNzZW5kZW4gZ2VnZW78YmVybGllZ2VuZGVuIEtsYW1tZXIuCgogIDQuIFRpcHBlICAlICwgdW0gZGVuIEN1cnNvciB6dXIgYW5kZXJlbiBwYXNzZW5kZW4gS2xhbW1lciB6dSBiZXdlZ2VuLgoKICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLgoKLS0tPiBEaWVzICggaXN0IGVpbmUgVGVzdHplaWxlICggbWl0IFsgdmVyc2NoaWVkZW5lbiBdIHsgS2xhbW1lcm4gfSAgZGFyaW4uICkpCgpCZW1lcmt1bmc6IERpZXNlIEZ1bmt0aW9uYWxpdOR0IGlzdCBzZWhyIG78dHpsaWNoIGJlaSBkZXIgRmVobGVyc3VjaGUgaW4gZWluZW0KICAgICBQcm9ncmFtbXRleHQsIGluIGRlbSBwYXNzZW5kZSBLbGFtbWVybiBmZWhsZW4hCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJTGVrdGlvbiA0LjQ6IERBUyBFUlNFVFpVTkdTS09NTUFORE8gKFNVQlNUSVRVVEUpCgoKCSAqKiBUaXBwZSA6cy9hbHQvbmV1L2cgICwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KCiAgMi4gVGlwcGUgIDpzL2RpZWUvZGllIDxFTlRFUj4gLiAgQmVtZXJrZSwgZGFzcyBkZXIgQmVmZWhsIG51ciBkYXMgZXJzdGUKICAgICBWb3Jrb21tZW4gdm9uICJkaWVlIiBlcnNldHp0LgoKICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nIC4gRGFzIFp1ZvxnZW4gZGVzIEZsYWdzICBnICAgYmVkZXV0ZXQsIGVpbmUKICAgICBnbG9iYWxlIEVyc2V0enVuZyD8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZvxocmVuLCB3YXMgYWxsZSBWb3Jrb21tZW4gdm9uCiAgICAgImRpZWUiIGF1ZiBkZXIgWmVpbGUgZXJzZXR6dC4KCi0tLT4gZGllZSBzY2j2bnN0ZSBaZWl0LCB1bSBkaWVlIEJsdW1lbiBhbnp1c2NoYXVlbiwgaXN0IGRpZWUgRnL8aGxpbmdzemVpdC4KCiAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuIHp1IORuZGVybiwKICAgICB0aXBwZSAgOiMsI3MvYWx0L25ldS9nICAgd29iZWkgIywjIGRpZSBaZWlsZW5udW1tZXJuIGRlcyBaZWlsZW5iZXJlaWNoZXMKICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmQsIGluIGRlbSBkaWUgRXJzZXR6dW5nIGR1cmNoZ2Vm/GhydCB3ZXJkZW4gc29sbC4KICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUg5G5kZXJuLgogICAgIFRpcHBlICA6JXMvYWx0L25ldS9nYyAgIHVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnZXNhbXRlbiBEYXRlaSB6dSBmaW5kZW4KICAgICAgICAgICAgICAgICAgICAgbWl0IGVpbmVtIEZyYWdlZGlhbG9nLCBvYiBlcnNldHp0IHdlcmRlbiBzb2xsIG9kZXIgbmljaHQuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDQKCiAgMS4gQ1RSTC1HICB6ZWlndCBkaWUgYWt0dWVsbGUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMuCiAgICAgICAgICAgICBHICBicmluZ3QgRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkuCiAgICAgTnVtbWVyICBHICBicmluZ3QgRGljaCB6dXIgZW50c3ByZWNoZW5kZW4gWmVpbGVubnVtbWVyLgogICAgICAgICAgICBnZyAgYnJpbmd0IERpY2ggenVyIGVyc3RlbiBaZWlsZS4KCiAgMi4gRGllIEVpbmdhYmUgdm9uICAvICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgogICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBS3ENLV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suCiAgICAgVGlwcGUgbmFjaCBlaW5lciBTdWNoZSAgbiAgLCB1bSBkYXMgbuRjaHN0ZSBWb3Jrb21tZW4gaW4gZGVyIGdsZWljaGVuCiAgICAgUmljaHR1bmcgenUgZmluZGVuOyBvZGVyICBOICAsIHVtIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbi4KICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVy/GNrIHp1IORsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uCgogIDMuIERpZSBFaW5nYWJlIHZvbiAgJSAgLCB3ZW5uIGRlciBDdXJzb3Igc2ljaCBhdWYgKCwpLFssXSx7LCBvZGVyIH0KICAgICBiZWZpbmRldCwgYnJpbmd0IERpY2ggenVyIEdlZ2Vua2xhbW1lci4KCiAgNC4gVW0gZGFzIGVyc3RlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZWluZXIgWmVpbGUgZHVyY2ggIm5ldSIgenUgZXJzZXR6ZW4sCiAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1CiAgICAgVW0gYWxsZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGRlciBaZWlsZSBlcnNldHplbiwgdGlwcGUgIDpzL2FsdC9uZXUvZwogICAgIFVtIEF1c2Ry/GNrZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbm51bW1lcm4genUgZXJzZXR6ZW4sICA6Iywjcy9hbHQvbmV1L2cKICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZwogICAgIEb8ciBlaW5lIGplZG1hbGlnZSBCZXN05HRpZ3VuZywgYWRkaWVyZSAgJ2MnICAoY29uZmlybSkgICA6JXMvYWx0L25ldS9nYwp+fn5+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/GhyZW4uICoqCgogIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ13yBkZXMgU2NoaXJtcwogICAgIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvemVpbGVuLUtvbW1hbmRvIGVpbnp1Z2ViZW4uCgogIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzIGVybfZnbGljaHQgRGlyLCBlaW4gYmVsaWViaWdlcywKICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZvxocmVuLgoKICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHL8Y2tlIDxFTlRFUj4uIERpZXMgemVpZ3QKICAgICBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzIFZlcnplaWNobmlzc2VzOyBnZW5hdXNvLCBhbHMgd2VubiBEdSBhdWYgZGVyCiAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB35HJzdC4gIE9kZXIgdmVyd2VuZGUgIDohZGlyICAsIGZhbGxzIGxzIG5pY2h0IGdlaHQuCgpCZW1lcmt1bmc6ICBNaXQgZGllc2VyIE1ldGhvZGUga2FubiBqZWRlcyBiZWxpZWJpZ2UgZXh0ZXJuZSBLb21tYW5kbwogICAgIGF1c2dlZvxocnQgd2VyZGVuLCBhdWNoIG1pdCBBcmd1bWVudGVuLgoKQmVtZXJrdW5nOiAgQWxsZSAgOiAgS29tbWFuZG9zIG38c3NlbiBkdXJjaCBFaW5nYWJlIHZvbiA8RU5URVI+CiAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfkaG5lbiB3aXIgZGllcyBuaWNodCBqZWRlc21hbC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQlMZWt0aW9uIDUuMjogTUVIUiDcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KCgoqKiBVbSBhbSBUZXh0IGR1cmNoZ2Vm/GhydGUgxG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4sIHRpcHBlIDp3IERBVEVJTkFNRS4gKioKCiAgMS4gVGlwcGUgIDohZGlyICBvZGVyICA6IWxzICAsIHVtIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXMgenUKICAgICBlcmhhbHRlbi4gIER1IHdlad90IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgoKICAyLiBX5GhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4KCiAgMy4gTnVuIHRpcHBlOiAgOncgVEVTVCAgICh3b2JlaSBURVNUIGRlciBnZXfkaGx0ZSBEYXRlaW5hbWUgaXN0KS4KCiAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4KICAgICBVbSBkaWVzIHp1IPxiZXJwcvxmZW4sIHRpcHBlIG5vY2htYWxzICA6IWxzICBiencuICAhZGlyLCB1bSBEZWluZW4KICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4KCkJlbWVya3VuZzogV/xyZGVzdCBEdSBWaW0gamV0enQgYmVlbmRlbiB1bmQgZGFuYWNoIHdpZWRlciBtaXQgdmltIFRFU1QKICAgIHN0YXJ0ZW4sIGRhbm4gd+RyZSBkaWVzZSBEYXRlaSBlaW5lIGV4YWt0ZSBLb3BpZSBkZXMgVHV0b3JzIHp1IGRlbQogICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCgogIDUuIE51biBlbnRmZXJuZSBkaWUgRGF0ZWkgZHVyY2ggRWluZ2FiZSB2b24gKE1TLURPUyk6ICAgIDohZGVsIFRFU1QKCQkJCW9kZXIgKFVuaXgpOgk6IXJtIFRFU1QKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJIExla3Rpb24gNS4zOiBBVVNXxEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTgoKKiogVW0gZWluZW4gQWJzY2huaXR0IGRlciBEYXRlaSB6dSBzcGVpY2hlcm4sICB0aXBwZSAgdiAgQmV3ZWd1bmcgIDp3IERBVEVJICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRpZXNlciBaZWlsZS4KCiAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZvxuZnRlbiBBdWZsaXN0dW5nc3B1bmt0IHVudGVuLgogICAgIEJlbWVya2UsIGRh3yBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuCgogIDMuIERy/GNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ13yBkZXMgU2NoaXJtcyBlcnNjaGVpbnQgIDonPCwnPiAuCgogIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0LgogICAgIFZlcmdld2lzc2VyZSBEaWNoLCBkYd8gRHUgIDonPCwnPncgVEVTVCAgc2llaHN0LCBiZXZvciBEdSBFbnRlciBkcvxja3N0LgoKICA1LiBWaW0gc2NocmVpYnQgZGllIGF1c2dld+RobHRlbiBaZWlsZW4gaW4gZGllIERhdGVpIFRFU1QuIEJlbnV0emUgIDohZGlyCiAgICAgb2RlciAgOiFscyAsIHVtIHNpZSB6dSBzZWhlbi4gTPZzY2hlIHNpZSBub2NoIG5pY2h0ISBXaXIgd2VyZGVuIHNpZSBpbgogICAgIGRlciBu5GNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLgoKQmVtZXJrdW5nOiBEcvxja2VuIHZvbiAgdiAgc3RhcnRldCBkaWUgVmlzdWVsbGUgQXVzd2FobC4gRHUga2FubnN0IGRlbiBDdXJzb3IKICAgdW1oZXJiZXdlZ2VuLCB1bSBkaWUgQXVzd2FobCBncvbfZXIgb2RlciBrbGVpbmVyIHp1IG1hY2hlbi4gQW5zY2hsaWXfZW5kCiAgIGthbm4gbWFuIGVpbmVuIE9wZXJhdG9yIGFud2VuZGVuLCB1bSBtaXQgZGVtIFRleHQgZXR3YXMgenUgdHVuLiBadW0KICAgQmVpc3BpZWwgbPZzY2h0ICBkICBkZW4gVGV4dC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgICAgICBMZWt0aW9uIDUuNDogRUlOTEVTRU4gVU5EIFpVU0FNTUVORtxIUkVOIFZPTiBEQVRFSUVOCgoKICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioKCiAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3Ig/GJlcmhhbGIgZGllc2VyIFplaWxlLgoKQkVBQ0hURTogIE5hY2hkZW0gRHUgU2Nocml0dCAyIGF1c2dlZvxocnQgaGFzdCwgd2lyc3QgRHUgVGV4dCBhdXMgTGVrdGlvbiA1LjMKICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTLCB1bSBkaWVzZSBMZWt0aW9uIHdpZWRlcnp1c2VoZW4uCgogIDIuIE51biBsaWVzIERlaW5lIERhdGVpIFRFU1QgZWluIGluZGVtIER1IGRhcyBLb21tYW5kbyAgOnIgVEVTVCAgYXVzZvxocnN0LAogICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0LgogICAgIERpZSBlaW5nZWxlc2VuZSBEYXRlaSB3aXJkIHVudGVyaGFsYiBkZXIgQ3Vyc29yemVpbGUgZWluZ2Vm/Gd0LgoKICAzLiBVbSB6dSD8YmVycHL8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1cvxjayB1bmQgc2llaGUsCiAgICAgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCBkaWUKICAgICBlaW5nZWb8Z3RlIERhdGVpdmVyc2lvbi4KCkJlbWVya3VuZzogRHUga2FubnN0IGF1Y2ggZGllIEF1c2dhYmUgZWluZXMgZXh0ZXJuZW4gS29tbWFuZG9zIGVpbmxlc2VuLiBadW0KICAgICBCZWlzcGllbCBsaWVzdCAgOnIgIWxzICBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGxzIGVpbiB1bmQgcGxhdHppZXJ0CiAgICAgc2llIHVudGVyaGFsYiBkZXMgQ3Vyc29ycy4KCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDUKCgogIDEuIDohS29tbWFuZG8gIGb8aHJ0IGVpbiBleHRlcm5lcyBLb21tYW5kbyBhdXMuCgogICAgICBFaW5pZ2Ugbvx0emxpY2hlIEJlaXNwaWVsZSBzaW5kCgkoTVMtRE9TKQkgIChVbml4KQoJIDohZGlyCQkgICA6IWxzCQkgICAtICB6ZWlndCBlaW5lIFZlcnplaWNobmlzYXVmbGlzdHVuZy4KCSA6IWRlbCBEQVRFSU5BTUUgICA6IXJtIERBVEVJTkFNRSAgLSAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FLgoKICAyLiA6dyBEQVRFSU5BTUUgIHNwZWljaGVydCBkaWUgYWt0dWVsbGUgVmltLURhdGVpIHVudGVyIGRlbSBOYW1lbiAgREFURUlOQU1FLgoKICAzLiB2ICBCZXdlZ3VuZyAgOncgREFURUlOQU1FICBzY2hyZWlidCBkaWUgVmlzdWVsbCBhdXNnZXfkaGx0ZW4gWmVpbGVuIGluCiAgICAgZGllIERhdGVpIERBVEVJTkFNRS4KCiAgNC4gOnIgREFURUlOQU1FICBs5GR0IGRpZSBEYXRlaSBEQVRFSU5BTUUgdW5kIGb8Z3Qgc2llIHVudGVyaGFsYiBkZXIKICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCgogIDUuIDpyICFkaXIgIGxpZXN0IGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgZGlyIHVuZCBm/Gd0IHNpZSB1bnRlcmhhbGIgZGVyCiAgICAgQ3Vyc29ycG9zaXRpb24gZWluLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOINZGRk5FTiAoT1BFTikKCgogICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IPZmZm5lbiB1bmQgRGljaCBpbiAqKgogICAgICAgICAgICAgICAgICAgICAgKiogZGVuIEVpbmb8Z2Vtb2R1cyB6dSBiZWdlYmVuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCgogIDIuIFRpcHBlIG8gKGtsZWluIGdlc2NocmllYmVuKSwgdW0gZWluZSBaZWlsZSBVTlRFUkhBTEIgZGVzIEN1cnNvcyB6dSD2ZmZuZW4KICAgICB1bmQgRGljaCBpbiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uCgogIDMuIE51biB0aXBwZSBldHdhcyBUZXh0IHVuZCBkcvxja2UgPEVTQz4gLCB1bSBkZW4gRWluZvxnZW1vZHVzIHp1IHZlcmxhc3Nlbi4KCi0tLT4gTWl0ICBvICB3aXJkIGRlciBDdXJzb3IgYXVmIGRlciBvZmZlbmVuIFplaWxlIGltIEVpbmb8Z2Vtb2R1cyBwbGF0emllcnQuCgogIDQuIFVtIGVpbmUgWmVpbGUg3EJFUkhBTEIgZGVzIEN1cnNvcyBhdWZ6dW1hY2hlbiwgZ2liIGVpbmZhY2ggZWluIGdyb99lcyAgTwogICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4KCi0tLT4g1mZmbmUgZWluZSBaZWlsZSD8YmVyIGRpZXNlciBtaXQgTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgIExla3Rpb24gNi4yOiBURVhUIEFORtxHRU4gKEFQUEVORCkKCgoJICAgICAqKiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBlaW56dWb8Z2VuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4g3GJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uCgogIDIuIERy/GNrZSAgZSAgLCBiaXMgZGVyIEN1cnNvciBhbSBFbmRlIHZvbiAgWmVpICBzdGVodC4KCiAgMy4gVGlwcGUgZWluIGtsZWluZXMgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWb8Z2VuLgoKICA0LiBWZXJ2b2xsc3TkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERy/GNrZSA8RVNDPiAsCiAgICAgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCgogIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7kY2hzdGVuIHVudm9sbHN05G5kaWdlbiBXb3J0IHVuZCB3aWVkZXJob2xlCiAgICAgU2Nocml0dGUgMyB1bmQgNC4KCi0tLT4gRGllc2UgWmVpIGJpZXRldCBHZWxlZ2VuICwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvwuCi0tLT4gRGllc2UgWmVpbGUgYmlldGV0IEdlbGVnZW5oZWl0LCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVm/Gdlbi4KCkJlbWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1h32VuIGluIGRlbiBFaW5m/GdlbW9kdXM7IGRlcgogICAgICAgICAgICBlaW56aWdlIFVudGVyc2NoaWVkIGlzdCwgd28gZGllIFplaWNoZW4gZWluZ2Vm/Gd0IHdlcmRlbi4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgICAgICBMZWt0aW9uIDYuMzogRUlORSBBTkRFUkUgQVJUIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCgoKICAgICAgICoqIFRpcHBlIGVpbiBncm/fZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgogICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4KCiAgMi4gTnVuIGRy/GNrZSAgUiAgdW5kIHRpcHBlIGRpZSBOdW1tZXIsIGRpZSBkYXJ1bnRlciBpbiBkZXIgendlaXRlbiBaZWlsZQogICAgIHN0ZWh0LCBzbyBkYXMgZGllc2UgZGFzIHh4eCBlcnNldHp0LgoKICAzLiBEcvxja2UgPEVTQz4gLCB1bSBkZW4gRXJzZXR6dW5nc21vZHVzIHp1IHZlcmxhc3Nlbi4gQmVtZXJrZSwgZGHfIGRlciBSZXN0CiAgICAgZGVyIFplaWxlIHVudmVy5G5kZXJ0IGJsZWlidC4KCiAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUsIHVtIGRhcyB2ZXJibGllYmVuZSB4eHggenUgZXJzZXR6ZW4uCgotLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IHh4eCBlcmdpYnQgeHh4LgotLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IDQ1NiBlcmdpYnQgNTc5LgoKQmVtZXJrdW5nOiBEZXIgRXJzZXR6dW5nc21vZHVzIGlzdCB3aWUgZGVyIEVpbmb8Z2Vtb2R1cywgYWJlciBqZWRlcyBlaW5nZXRpcHB0ZQogICAgICAgICAgIFplaWNoZW4gbPZzY2h0IGVpbiB2b3JoYW5kZW5lcyBaZWljaGVuLgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgIExla3Rpb24gNi40OiBURVhUIEtPUElFUkVOIFVORCBFSU5G3EdFTgoKICoqIEJlbnV0emUgZGVuICB5ICBPcGVyYXRvciwgdW0gVGV4dCB6dSBrb3BpZXJlbjsgIHAgICwgdW0gaWhuIGVpbnp1ZvxnZW4gKioKCiAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbiwgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4KCiAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLgoKICAzLiBUaXBwZSAgeSAgLCB1bSBkZW4gaGVydm9yZ2Vob2JlbiBUZXh0IHp1IGtvcGllcmVuLgoKICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGU6ICBqJAoKICA1LiBUaXBwZSAgcCAsIHVtIGRlbiBUZXh0IGVpbnp1ZvxnZW4gdW5kIGFuc2NobGll32VuZDogIGEgendlaXRlIDxFU0M+IC4KCiAgNi4gQmVudXR6ZSBkZW4gVmlzdWVsbGVuIE1vZHVzLCB1bSAiIEVpbnRyYWcuIiBhdXN6dXfkaGxlbiwga29waWVyZSBtaXR0ZWxzCiAgICAgeSAsIGJld2VnZSBEaWNoIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZSBtaXQgIGokICB1bmQgZvxnZSBkZW4gVGV4dAogICAgIGRvcnQgbWl0ICBwICBhbi4KCi0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLgogICAgICBiKQoKQmVtZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICBMZWt0aW9uIDYuNTogT1BUSU9ORU4gU0VUWkVOCgogICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgZWluZSBFcnNldHp1bmcgR3Jv3y0gKioKCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKgoKICAxLiBTdWNoZSBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgICAvaWdub3JpZXJlICAgZWluZ2lic3QuCiAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHL8Y2tzdC4KCiAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuCgogIDMuIE51biBzdWNoZSB3aWVkZXIgbmFjaCAnaWdub3JpZXJlJywgaW5kZW0gRHUgIG4gIHRpcHBzdC4KICAgICBCZW1lcmtlLCBkYd8gamV0enQgSWdub3JpZXJlIHVuZCBhdWNoIElHTk9SSUVSRSBnZWZ1bmRlbiB3aXJkLgoKICA0LiBTZXR6ZSBkaWUgJ2hsc2VhcmNoJyB1bmQgJ2luY3NlYXJjaCcgLSBPcHRpb25lbjogICAgIDpzZXQgaGxzIGlzCgogIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+CgogIDYuIFVtIGRhcyBJZ25vcmllcmVuIHZvbiBHcm/fL0tsZWluc2NocmVpYnVuZyBhYnp1c2NoYWx0ZW4sIHRpcHBlOiAgOnNldCBub2ljCgpCZW1lcmt1bmc6IFVtIGRpZSBIZXJ2b3JoZWJ1bmcgZGVyIFRyZWZmZXIgenUgZW5mZXJuZW4sIGdpYiBlaW46ICA6bm9obHNlYXJjaApCZW1lcmt1bmc6IFVtIGRpZSBTY2hyZWlid2Vpc2UgZvxyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplCiAgICAgICAgICAgXGMgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYKCiAxLiBUaXBwZSAgbyAgLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgenUg9mZmbmVuIHVuZCBkZW4gRWluZvxnZW1vZHVzCiAgICAgICAgICAgICAgICB6dSBzdGFydGVuLgogICAgVGlwcGUgIE8gICwgdW0gZWluZSBaZWlsZSDcQkVSIGRlbSBDdXJzb3IgenUg9mZmbmVuLgoKIDIuIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4KICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZvxnZW4uCgogMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuCgogNC4gRGVyIE9wZXJhdG9yICB5ICAoeWFuaykga29waWVydCBUZXh0LCAgcCAgKHB1dCkgZvxndCBpaG4gZWluLgoKIDUuIEVpbiBncm/fZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERy/GNrZW4gdm9uICA8RVNDPiAuCgogNi4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4Ii4gRWluaWdlIE9wdGlvbmVuIHNpbmQ6CgknaWMnICdpZ25vcmVjYXNlJyAgICBJZ25vcmllcmUgR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlCgknaXMnICdpbmNzZWFyY2gnICAgICBaZWlnZSBUZWls/GJlcmVpbnN0aW1tdW5nZW4gZvxyIGVpbmVuIFN1Y2hhdXNkcnVjawoJJ2hscycgJ2hsc2VhcmNoJyAgICAgSGViZSBhbGxlIHBhc3NlbmRlbiBBdXNkcvxja2UgaGVydm9yCiAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4KCiA3LiBTdGVsbGUgZWluZXIgT3B0aW9uICJubyIgdm9yYW4sIHVtIHNpZSBhYnp1c2NoYWx0ZW46ICAgOnNldCBub2ljCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDcuMSA6IEFVRlJVRkVOIFZPTiBISUxGRQoKCgkJICAgICAqKiBOdXR6ZSBkYXMgZWluZ2ViYXV0ZSBIaWxmZXN5c3RlbSAqKgoKICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBG/HIgZGVuIEFuZmFuZyBwcm9iaWVyZQogIGVpbnMgZGVyIGRyZWkgZm9sZ2VuZGVuIERpbmdlIGF1czoKCS0gRHL8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKCS0gRHL8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpCgktIFRpcHBlICAgOmhlbHAgPEVOVEVSPgoKICBMaWVzIGRlbiBUZXh0IGltIEhpbGZlZmVuc3RlciwgdW0genUgdmVyc3RlaGVuIHdpZSBkaWUgSGlsZmUgZnVua3Rpb25pZXJ0LgogIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAgLCB1bSB2b24gZWluZW0gRmVuc3RlciB6dW0gYW5kZXJlbiB6dSBzcHJpbmdlbi4KICBUaXBwZSAgIDpxIDxFTlRFUj4gICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCgogIER1IGthbm5zdCBIaWxmZSB6dSBwcmFrdGlzY2ggamVkZW0gVGhlbWEgZmluZGVuLCBpbmRlbSBEdSBkZW0gIjpoZWxwIi0KICBLb21tYW5kbyBlaW4gQXJndW1lbnQgZ2lic3QuICBQcm9iaWVyZSBmb2xnZW5kZXMgKDxFTlRFUj4gbmljaHQgdmVyZ2Vzc2VuKToKCgk6aGVscCB3Cgk6aGVscCBjX0NUUkwtRAoJOmhlbHAgaW5zZXJ0LWluZGV4Cgk6aGVscCB1c2VyLW1hbnVhbAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gNy4yOiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUCgoKCSAgICoqICBBa3RpdmllcmUgZGllIGVpbmdlYmF1dGVuIEZ1bmt0aW9uYWxpdOR0ZW4gdm9uIFZpbSAqKgoKICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3RlbgogIHZvbiBpaG5lbiBzaW5kIHN0YW5kYXJkbeTfaWcgZGVha3RpdmllcnQuIFVtIG1laHIgRnVua3Rpb25hbGl05HRlbiB6dSBudXR6ZW4sCiAgbXVzc3QgRHUgZWluZSAidmltcmMiIC0gRGF0ZWkgZXJzdGVsbGVuLgoKICAxLiBTdGFydGUgZGFzIEVkaXRpZXJlbiBkZXIgInZpbXJjIi1EYXRlaSwgYWJo5G5naWcgdm9uIERlaW5lbSBTeXN0ZW06Cgk6ZSB+Ly52aW1yYwkJZvxyIFVuaXgKCTplICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cwoKICAyLiBOdW4gbGllcyBkZW4gSW5oYWx0IGRlciBCZWlzcGllbC0idmltcmMiLURhdGVpIGVpbjoKCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCgogIDMuIFNwZWljaGVyZSBkaWUgRGF0ZWkgbWl0OgoJOncKCiAgQmVpbSBu5GNoc3RlbiBTdGFydCB2b24gVmltIHdpcmQgZGllIFN5bnRheGhlcnZvcmhlYnVuZyBha3RpdmllcnQgc2Vpbi4KICBEdSBrYW5uc3QgYWxsIERlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZvxnZW4uCiAgRvxyIG1laHIgSW5mb3JtYXRpb25lbiB0aXBwZSAgOmhlbHAgdmltcmMtaW50cm8Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUxE5ESUdFTgoKCgkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdORuZGlndW5nIG1pdCBDVFJMLUQgYW5kIDxUQUI+ICoqCgogIDEuIFN0ZWxsZSBzaWNoZXIsIGRh3yBWaW0gbmljaHQgaW0gdmktS29tcGF0aWJpbGl05HRzbW9kdXMgaXN0OiAgOnNldCBub2NwCgogIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyCgogIDMuIFRpcHBlIGRlbiBCZWdpbm4gZWluZXMgS29tYW5kb3M6ICA6ZQoKICA0LiBEcvxja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLgoKICA1LiBEcvxja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdORuZGlndCBkZW4gS29tbWFuZG9uYW1lbiB6dSAiOmVkaXQiLgoKICA2LiBOdW4gZvxnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBCZWdpbm4gZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoKICAgICA6ZWRpdCBEQVQKCiAgNy4gRHL8Y2tlIDxUQUI+LiBWaW0gdmVydm9sbHN05G5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuCgpCZW1lcmt1bmc6IFZlcnZvbGxzdORuZGlndW5nIGZ1bmt0aW9uaWVydCBm/HIgdmllbGUgS29tbWFuZG9zLiBWZXJzdWNoZQogICAgIGVpbmZhY2ggQ1RSTC1EIHVuZCA8VEFCPi4gIERpZXMgaXN0IGluc2Jlc29uZGVyZSBu/HR6bGljaCBm/HIgIDpoZWxwIC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNwoKCiAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRy/GNrZSA8RjE+IG9kZXIgPEhlbHA+LCB1bSBlaW4gSGlsZmVmZW5zdGVyIHp1IPZmZm5lbi4KCiAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIPxiZXIgIEtvbW1hbmRvICB6dSBlcmhhbHRlbi4KCiAgMy4gVGlwcGUgIENUUkwtVyBDVFJMLVcgICwgdW0genVtIGFuZGVyZW4gRmVuc3RlciB6dSBzcHJpbmdlbi4KCiAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLgoKICA1LiBFcnN0ZWxsZSBlaW4gdmltcmMgLSBTdGFydHNrcmlwdCB6dXIgU2ljaGVydW5nIGJldm9yenVndGVyIEVpbnN0ZWxsdW5nZW4uCgogIDYuIERy/GNrZSBDVFJMLUQgbmFjaCBkZW0gVGlwcGVuIGVpbmVzIEtvbW1hbmRvcyAgOiAgLCB1bSBt9mdsaWNoZQogICAgIFZlcnZvbGxzdORuZGlndW5nZW4genUgc2VoZW4uCiAgICAgRHL8Y2tlIDxUQUI+IGb8ciBlaW5lIGVpbnppZ2UgVmVydm9sbHN05G5kaWd1bmcuCgoKCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgRGllIEludGVudGlvbiB3YXIsIGVpbmVuIGt1cnplbiB1bmQKICBi/G5kaWdlbiDcYmVyYmxpY2sg/GJlciBkZW4gVmltIEVkaXRvciB6dSBsaWVmZXJuOyBnZXJhZGUgZ2VudWcsIHVtIHJlbGF0aXYKICBsZWljaHQgbWl0IGlobSB1bWdlaGVuIHp1IGv2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuCiAgQW5zcHJ1Y2ggYXVmIFZvbGxzdORuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzCiAgbuRjaHN0ZXMgZGFzIFVzZXIgTWFudWFsOiAiOmhlbHAgdXNlci1tYW51YWwiLgoKICBG/HIgd2VpdGVyZXMgTGVzZW4gdW5kIExlcm5lbiBpc3QgZm9sZ2VuZGVzIEJ1Y2ggZW1wZm9obGVuIDoKCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lCglWZXJsYWc6IE5ldyBSaWRlcnMKICBEYXMgZXJzdGUgQnVjaCwgd2VsY2hlcyBkdXJjaGfkbmdpZyBWaW0gZ2V3aWRtZXQgaXN0LiAgQmVzb25kZXJzIG78dHpsaWNoCiAgZvxyIEFuZuRuZ2VyLiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uCiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKCiAgRm9sZ2VuZGVzIEJ1Y2ggaXN0IORsdGVyIHVuZCBtZWhyIPxiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0OgoJVGV4dGJlYXJiZWl0dW5nIG1pdCBkZW0gdmktRWRpdG9yICAtICB2b24gTGluZGEgTGFtYiB1bmQgQXJub2xkIFJvYmJpbnMKCVZlcmxhZyBPJ1JlaWxseSAtIElTQk46IDM4OTcyMTEyNjIKICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG32Y2h0ZS4KICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIPxiZXIgVmltLgoKICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZvxyIFZlcnNpb24gNi4yIHVuZCBrbmFwcGUgRWluZvxocnVuZyBkaWVudCBkYXMKICBmb2xnZW5kZSBCdWNoOgoJdmltIGdlLXBhY2t0IHZvbiBSZWluaGFyZCBXb2JzdAoJbWl0cC1WZXJsYWcsIElTQk4gMy04MjY2LTE0MjUtOQogIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG78dHpsaWNoZSBCZWlzcGllbGUgYXVjaAogIGb8ciBFaW5zdGVpZ2VyIGVtcGZlaGxlbnN3ZXJ0LiAgUHJvYmVrYXBpdGVsIHVuZCBkaWUgQmVpc3BpZWxza3JpcHRlIHNpbmQKICBvbmxpbmUgZXJo5Gx0bGljaC4gIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCgogIERpZXNlcyBUdXRvcmlhbCB3dXJkZSBnZXNjaHJpZWJlbiB2b24gTWljaGFlbCBDLiBQaWVyY2UgYW5kIFJvYmVydCBLLiBXYXJlLAogIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcy4gRXMgYmVudXR6dCBJZGVlbiwgZGllIENoYXJsZXMgU21pdGgsIENvbG9yYWRvIFN0YXRlCiAgVW5pdmVyc2l0eSwgenVyIFZlcmb8Z3VuZyBzdGVsbHRlLiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCgogIEJlYXJiZWl0ZXQgZvxyIFZpbSB2b24gQnJhbSBNb29sZW5hYXIuCiAgRGV1dHNjaGUg3GJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDA3LiAgRS1tYWlsOiBKb2FjaGltLkhvZkBnbXguZGUKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo=