ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlCmluZGV4IGJhODM0M2YuLjc0MzhjOTYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUKKysrIGIvcnVudGltZS90dXRvci90dXRvci5kZQpAQCAtMSw4NCArMSw3NyBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotPSAgICBXIGkgbCBsIGsgbyBtIG0gZSBuICAgeiB1IG0gICBWIEkgTSAgIFQgdSB0IG8gciAgICAtICAgIFZlcnNpb24gMS41RCAgICAgPQorPSAgICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICBpbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjdEICAgICAgPQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiAgICBWaW0gaXN0IGVpbiBzZWhyIG3kY2h0aWdlciBFZGl0b3IsIGRlciB2aWVsZSBCZWZlaGxlIGJlcmVpdHN0ZWxsdDsgenUgdmllbGUsCiAgICB1bSBhbGxlIGluIGVpbmVtIFR1dG9yIHdpZSBkaWVzZW0genUgZXJrbORyZW4uICBEaWVzZXIgVHV0b3IgaXN0IHNvCi0gICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBzbyBkYXNzIER1IGRpZSBG5GhpZ2tlaXQgZXJsYW5nc3QsCisgICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBkYXNzIER1IGRpZSBG5GhpZ2tlaXQgZXJsYW5nc3QsCiAgICBWaW0gbWl0IExlaWNodGlna2VpdCBhbHMgZWluZW4gQWxsendlY2stRWRpdG9yIHp1IGJlbnV0emVuLgotCiAgICBEaWUgWmVpdCBm/HIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRy5Gd0IGNhLiAyNS0zMCBNaW51dGVuLAogICAgYWJo5G5naWcgZGF2b24sIHdpZSB2aWVsIFplaXQgRHUgbWl0IEV4cGVyaW1lbnRpZXJlbiB2ZXJicmluZ3N0LgorCisgICBBQ0hUVU5HOgogICAgRGllIGluIGRlbiBMZWt0aW9uZW4gYW5nZXdlbmRldGVuIEtvbW1hbmRvcyB3ZXJkZW4gZGVuIFRleHQgbW9kaWZpemllcmVuLgotICAgRXJzdGVsbGUgZWluZSBLb3BpZSBkaWVzZXIgRGF0ZWksIGluIGRlciBEdSD8YmVuIHdpbGxzdCAoZmFsbHMgRHUKLSAgICJ2aW10dXRvci5iYXQiIGF1ZmdlcnVmZW4gaGFzdCwgaXN0IGRpZXMgYmVyZWl0cyBlaW5lIEtvcGllKS4KKyAgIEVyc3RlbGxlIGVpbmUgS29waWUgZGllc2VyIERhdGVpLCBpbiBkZXIgRHUg/GJlbiB3aWxsc3QgKGZhbGxzIER1ICJ2aW10dXRvciIKKyAgIGF1ZmdlcnVmZW4gaGFzdCwgaXN0IGRpZXMgYmVyZWl0cyBlaW5lIEtvcGllKS4KIAotICAgRXMgaXN0IHdpY2h0aWcsIHNpY2ggenUgdmVyZ2VnZW535HJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgYW5nZWxlZ3QgaXN0LCB1bQotICAg/GJlciBkYXMgQW53ZW5kZW4genUgbGVocmVuLiBEYXMgYmVkZXV0ZXQsIGRhc3MgRHUgZGllIEJlZmVobGUgYXVzZvxocmVuCi0gICBtdXNzdCwgdW0gc2llIHJpY2h0aWcgenUgbGVybmVuLiBXZW5uIER1IG51ciBkZW4gVGV4dCBsaWVzdCwgdmVyZ2lzc3QgRHUgZGllCi0gICBCZWZlaGxlIQorICAgRXMgaXN0IHdpY2h0aWcsIHNpY2ggenUgdmVyZ2VnZW535HJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZvxyIGRhcyBBbndlbmRlbgorICAga29uemlwaWVydCBpc3QuIERhcyBiZWRldXRldCwgZGFzcyBEdSBkaWUgQmVmZWhsZSBhdXNm/GhyZW4gbXVzc3QsIHVtIHNpZQorICAgcmljaHRpZyB6dSBsZXJuZW4uIFdlbm4gRHUgbnVyIGRlbiBUZXh0IGxpZXN0LCB2ZXJnaXNzdCBEdSBkaWUgQmVmZWhsZSEKIAotICAgSmV0enQgc3RlbGxlIHNpY2hlciwgZGFzcyBEZWluZSBVbXN0ZWxsdGFzdGUgTklDSFQgZ2Vkcvxja3QgaXN0LCB1bmQKLSAgIGJldOR0aWdlIGRpZSAgIGogICBUYXN0ZSBnZW78Z2VuZCBNYWxlLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwKLSAgIHNvIGRhc3MgTGVrdGlvbiAxLjEgZGVuIEJpbGRzY2hpcm0gdm9sbGtvbW1lbiBhdXNm/GxsdC4KKyAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgRGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHL8Y2t0IGlzdCB1bmQgYmV05HRpZ2UKKyAgIGRpZSAgIGogICBUYXN0ZSBnZW78Z2VuZCBNYWxlLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcworICAgTGVrdGlvbiAxLjEgZGVuIEJpbGRzY2hpcm0gdm9sbGtvbW1lbiBhdXNm/GxsdC4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkJTGVrdGlvbiAxLjE6IEJFV0VHRU4gREVTIENVUlNPUlMKIAotCiAgICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHL8Y2tlIGRpZSBoLGosayxsIFRhc3RlbiB3aWUgdW50ZW4gZ2V6ZWlndC4gKioKLQogCSAgICAgXgkJIEhpbGZlc3RlbGx1bmc6CiAJICAgICBrCQkgRGllIGggVGFzdGUgYmVmaW5kZXQgc2ljaCBsaW5rcyB1bmQgYmV3ZWd0IG5hY2ggbGlua3MuCiAgICAgICAgPCBoCSBsID4JIERpZSBsIFRhc3RlIGxpZWd0IHJlY2h0cyB1bmQgYmV3ZWd0IG5hY2ggcmVjaHRzLgogCSAgICAgagkJIERpZSBqIFRhc3RlIORobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgogCSAgICAgdgotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gaGVydW0sIGJpcyBEdSBEaWNoIHNpY2hlciBm/Ghsc3QuCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIGF1ZiBkZW0gQmlsZHNjaGlybSB1bWhlciwgYmlzIER1IERpY2ggc2ljaGVyIGb8aGxzdC4KIAogICAyLiBIYWx0ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSAoaikgZ2Vkcvxja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgotLS0tPiBKZXR6dCB3ZWnfdCBEdSwgd2llIER1IERpY2ggenVyIG7kY2hzdGVuIExla3Rpb24gYmV3ZWdlbiBrYW5uc3QuCisgICAgIEpldHp0IHdlad90IER1LCB3aWUgRHUgRGljaCB6dXIgbuRjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4KIAogICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uCiAKIEJlbWVya3VuZzogSW1tZXIsIHdlbm4gRHUgRGlyIHVuc2ljaGVyIGJpc3Qg/GJlciBkYXMsIHdhcyBEdSBnZXRpcHB0IGhhc3QsCi0JICAgZHL8Y2tlIDxFU0M+ICwgdW0gRGljaCBpbiBkZW4gTm9ybWFsLU1vZHVzIHp1IGJlZ2ViZW4uCisJICAgZHL8Y2tlIDxFU0M+ICwgdW0gRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgenUgYmVnZWJlbi4KIAkgICBEYW5uIGdpYiBkYXMgZ2V3/G5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uCiAKIEJlbWVya3VuZzogRGllIEN1cnNvci1UYXN0ZW4gc29sbHRlbiBlYmVuZmFsbHMgZnVua3Rpb25pZXJlbi4gIEFiZXIgd2VubiBEdQogCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyCi0JICAgdW1oZXJ6dWJld2VnZW4sIHdlbm4gRHUgRGljaCBlcnN0IGVpbm1hbCBkYXJhbiBnZXf2aG50IGhhc3QuCi0KLQorCSAgIHVtaGVyenViZXdlZ2VuLCB3ZW5uIER1IERpY2ggZWlubWFsIGRhcmFuIGdld/ZobnQgaGFzdC4gV2lya2xpY2ghCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgTGVrdGlvbiAxLjI6IFNUQVJURU4gVU5EIFZFUkxBU1NFTiBWT04gVklNCisJCQkgICAgTGVrdGlvbiAxLjI6IFZJTSBCRUVOREVOCiAKIAogICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vm/GhydGVuIFNjaHJpdHRlIGF1c2b8aHJzdCwgbGllcwogICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQogCi0gIDEuIERy/GNrZSBkaWUgPEVTQz4gVGFzdGUgKHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCkuCisgIDEuIERy/GNrZSBkaWUgPEVTQz4gVGFzdGUgKHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0KS4KIAotICAyLiBUaXBwZToJCQk6cSEgPEVOVEVSPi4KKyAgMi4gVGlwcGU6CTpxISA8RU5URVI+LgorICAgICBEaWVzIGJlZW5kZXQgZGVuIEVkaXRvciB1bmQgVkVSV0lSRlQgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LgogCi0tLS0+IERpZXMgYmVlbmRldCBkZW4gRWRpdG9yIE9ITkUgamVkd2VsY2hlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuCi0gICAgIFdlbm4gRHUgZGllIMRuZGVydW5nZW4gc3BlaWNoZXJuIHVuZCBiZWVuZGVuIHdpbGxzdCwgdGlwcGU6Ci0JCQkJOndxICA8RU5URVI+CisgIDMuIFdlbm4gRHUgZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgc2llaHN0LCBnaWIgZGFzIEtvbW1hbmRvIGVpbiwgZGFzIERpY2ggenUKKyAgICAgZGllc2VtIFR1dG9yIGdlZvxocnQgaGF0LiBEaWVzIHfkcmU6CXZpbXR1dG9yIDxFTlRFUj4KIAotICAzLiBXZW5uIER1IGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIHNpZWhzdCwgdGlwcGUgZGFzIEtvbW1hbmRvLCBkYXMgRGljaCB6dQotICAgICBkaWVzZW0gVHV0b3IgZ2Vm/GhydCBoYXQuIERhcyBr9m5udGUgc2VpbjogdmltdHV0b3IgPEVOVEVSPgotICAgICBJbSBOb3JtYWxmYWxsIHf8cmRlc3QgRHUgZWluZ2ViZW4JCQlWaW0gdHV0b3IgPEVOVEVSPgotCi0tLS0+ICdWaW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuCi0KLSAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcuRndCBoYXN0IHVuZCBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsCisgIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZvxobHN0LAogICAgICBm/GhyZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cywgdW0gZGVuIEVkaXRvciB6dSB2ZXJsYXNzZW4gdW5kIHdpZWRlcgotICAgICBoaW5laW56dWdlbGFuZ2VuLiBEYW5uIGJld2VnZSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genVyIExla3Rpb24gMS4zLgorICAgICBoaW5laW56dWdlbGFuZ2VuLgogCitCZW1lcmt1bmc6ICA6cSEgPEVOVEVSPiAgdmVyd2lyZnQgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LiBJbgorICAgICBlaW5pZ2VuIExla3Rpb25lbiBsZXJuc3QgRHUgLCBkaWUgxG5kZXJ1bmdlbiBpbiBlaW5lciBEYXRlaSB6dSBzcGVpY2hlcm4uCiAKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICA1LiBCZXdlZ2UgZGVuIEN1cnNvciBhYnfkcnRzIHp1IExla3Rpb24gMS4zLgorIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzWU0NIRU4KIAogCi0gKiogSW0gTm9ybWFsLU1vZHVzLCBkcvxja2UgIHggIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKKwkgKiogRHL8Y2tlICB4ICB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGz2c2NoZW4uICoqCiAKICAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCiAKQEAgLTEwMSw4OSArOTQsMTMwIEBACiAJCSAgICAgTGVrdGlvbiAxLjQ6IFRFWFQgRURJVElFUkVOIC0gRUlORtxHRU4KIAogCi0gICAgICoqIFfkaHJlbmQgRHUgaW0gTm9ybWFsLU1vZHVzIGJpc3QsIGRy/GNrZSAgaSAgLCB1bSBUZXh0IGVpbnp1ZvxnZW4uICoqCisJCSAgICAqKiAgRHL8Y2tlICBpICAsIHVtIFRleHQgZWluenVm/Gdlbi4gKioKIAotICAxLkJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgogCiAgIDIuIFVtIGRpZSBlcnN0ZSBaZWlsZSBtaXQgZGVyIHp3ZWl0ZW4gZ2xlaWNoenVtYWNoZW4sIGJld2VnZSBkZW4gQ3Vyc29yIGF1ZgogICAgICBkYXMgZXJzdGUgWmVpY2hlbiBOQUNIIGRlciBTdGVsbGUsIHdvIGRlciBUZXh0IGVpbmdlZvxndCB3ZXJkZW4gc29sbC4KIAotICAzLiBEcvxja2UgIGkgIHVuZCBnaWIgZGllIG5vdHdlbmRpZ2UgRXJn5G56dW5nIGVpbi4KKyAgMy4gRHL8Y2tlICBpICB1bmQgZ2liIGRpZSBub3R3ZW5kaWdlbiBFcmfkbnp1bmdlbiBlaW4uCiAKLSAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHL8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbC1Nb2R1cworICA0LiBXZW5uIGpld2VpbHMgZWluIEZlaGxlciBiZXNlaXRpZ3QgaXN0LCBkcvxja2UgPEVTQz4gLCB1bSB6dW0gTm9ybWFsbW9kdXMKICAgICAgenVy/GNrenVrZWhyZW4uCiAgICAgIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgogCiAtLS0+IEluIGRpZXNlciBmdCBldHdhcyAuCiAtLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgogCi0gIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGJld2VnZSBkZW4gQ3Vyc29yIHp1cgotICAgICB1bnRlbnN0ZWhlbmRlbiBadXNhbW1lbmZhc3N1bmcuCisgIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjUuCiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgICBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMQorCQkgICAgIExla3Rpb24gMS41OiBURVhUIEVESVRJRVJFTiAtIEFORtxHRU4KIAogCi0gIDEuIERlciBDdXJzb3Igd2lyZCBiZXdlZ3QsIGluZGVtIG1hbiBlbnR3ZWRlciBkaWUgUGZlaWx0YXN0ZW4gb2RlciBkaWUKLSAgICAgaGprbCBUYXN0ZW4gYmVudXR6dC4KKwkJICAgICAqKiBEcvxja2UgIEEgICwgdW0gVGV4dCBhbnp1ZvxnZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKyAgICAgRXMgaXN0IGdsZWljaGf8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4KKworICAyLiBEcvxja2UgIEEgIHVuZCBnaWIgZGllIG72dGlnZW4gRXJn5G56dW5nZW4gZWluLgorCisgIDMuIFdlbm4gZGFzIEFuZvxnZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGRy/GNrZSA8RVNDPiwgdW0gaW4gZGVuIE5vcm1hbG1vZHVzCisgICAgIHp1cvxja3p1a2VocmVuLgorCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW5kIHdpZWRlcmhvbGUKKyAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgorCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWgKKyAgICAgSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCistLS0+IEF1Y2ggaGllciBzdGVoCisgICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdORuZGlnZXMuCisKKyAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS42Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWt0aW9uIDEuNjogRUlORSBEQVRFSSBFRElUSUVSRU4KKworCisgICAgICoqIEJlbnV0emUgIDp3cSAgLCB1bSBlaW5lIERhdGVpIHp1IHNwZWljaGVybiB1bmQgVmltIHp1IHZlcmxhc3Nlbi4gKioKKworICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vm/GhydGVuIFNjaHJpdHRlIGF1c2b8aHJzdCwgbGllcworICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQorCisgIDEuIFZlcmxhc3NlIGRlbiBFZGl0b3Igc28gd2llIGluIExla3Rpb24gMS4yOiAgOnEhCisKKyAgMi4gR2liIGRpZXNlcyBLb21tYW5kbyBpbiBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBlaW46ICB2aW0gdHV0b3IgPEVOVEVSPgorICAgICAndmltJyBpc3QgZGVyIEF1ZnJ1ZiBkZXMgRWRpdG9ycywgJ3R1dG9yJyBpc3QgZGllIHp1IGVkaXRpZXJlbmRlIERhdGVpLgorICAgICBCZW51dHplIGVpbmUgRGF0ZWksIGRpZSBnZeRuZGVydCB3ZXJkZW4ga2Fubi4KKworICAzLiBG/GdlIFRleHQgZWluIG9kZXIgbPZzY2hlIGlobiwgd2llIER1IGluIGRlbiB2b3JpZ2VuIExla3Rpb25lbiBnZWxlcm50CisgICAgIGhhc3QuCisKKyAgNC4gU3BlaWNoZXJlIGRpZSBnZeRuZGVydGUgRGF0ZWkgdW5kIHZlcmxhc3NlIFZpbSBtaXQ6ICA6d3EgPEVOVEVSPgorCisgIDUuIFN0YXJ0ZSBkZW4gdmltdHV0b3IgbmV1IHVuZCBiZXdlZ2UgRGljaCB6dSBkZXIgZm9sZ2VuZGVuIFp1c2FtbWVuZmFzc3VuZy4KKworICA2LiBOYWNoZGVtIER1IG9iaWdlIFNjaHJpdHRlIGdlbGVzZW4gdW5kIHZlcnN0YW5kZW4gaGFzdCwgZvxocmUgc2llIGR1cmNoLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDEKKworCisgIDEuIERlciBDdXJzb3Igd2lyZCBtaXQgZGVuIFBmZWlsdGFzdGVuIG9kZXIgZGVuIFRhc3RlbiBoamtsIGJld2VndC4KIAkgaCAobGlua3MpICAgICBqICh1bnRlbikgICAgIGsgKGF1ZnfkcnRzKSAgICBsIChyZWNodHMpCiAKLSAgMi4gVW0gVmltIGF1Znp1cnVmZW4gKHZvbSAlIHByb21wdCkgdGlwcGU6ICB2aW0gREFURUlOQU1FIDxFTlRFUj4KKyAgMi4gVW0gVmltIHZvbiBkZXIgRWluZ2FiZWF1ZmZvcmRlcnVuZyBhdXN6dWb8aHJlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+CiAKLSAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiwgdGlwcGU6CTxFU0M+ICA6cSEgIDxFTlRFUj4gLAotCSB1bSBhbGxlIMRuZGVydW5nZW4genUgdmVyd2VyZmVuLgotICAgICBPREVSIHRpcHBlOgkJCTxFU0M+ICA6d3EgIDxFTlRFUj4gLAotCSB1bSBkaWUgxG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4uCisgIDMuIFVtIFZpbSB6dSB2ZXJsYXNzZW4gdW5kIGFsbGUgxG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgorCQk8RVNDPiAgOnEhICA8RU5URVI+IC4KKwlPREVSIHRpcHBlOgk8RVNDPiAgOndxICA8RU5URVI+ICwgdW0gZGllIMRuZGVydW5nZW4genUgc3BlaWNoZXJuLgogCi0gIDQuIFVtIGVpbiBaZWljaGVuIGltIE5vcm1hbC1Nb2R1cyB6dSBs9nNjaGVuLCB0aXBwZToJeAorICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGz2c2NoZW4sIHRpcHBlOiAgeAogCi0gIDUuIFVtIFRleHQgYmVpbSBDdXJzb3IgZWluenVnZWJlbiwgd+RocmVuZCBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCwgdGlwcGU6Ci0JIGkgICAgIFRleHQgZWluZ2ViZW4JPEVTQz4KKyAgNS4gVW0gVGV4dCBlaW56dWb8Z2VuIG9kZXIgYW56dWb8Z2VuLCB0aXBwZToKKwkgaSAgIEVpbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgIDxFU0M+ICAgIEVpbmb8Z2VuIHZvciBkZW0gQ3Vyc29yCisJIEEgICBBbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmb8Z2VuIG5hY2ggZGVtIFplaWxlbmRlbmUKIAotQmVtZXJrdW5nOiBEcvxja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsLU1vZHVzIG9kZXIgYnJpY2h0IGVpbgorQmVtZXJrdW5nOiBEcvxja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluCiAgICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCiAKLU51biBmYWhyZSBtaXQgTGVrdGlvbiAyIGZvcnQuCi0KLQorICAgICBOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0Lgogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCQkgIExla3Rpb24gMi4xOiBM1lNDSEtPTU1BTkRPUwogCiAKLQkgICAgKiogVGlwcGUgIGR3ICAsIHVtIGJpcyB6dW0gRW5kZSBkZXMgV29ydGVzIHp1IGz2c2NoZW4gKioKKwkJICAgKiogVGlwcGUgIGR3ICAsIHVtIGVpbiBXb3J0IHp1IGz2c2NoZW4uICoqCiAKLSAgMS4gRHL8Y2tlICA8RVNDPiAgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbC1Nb2R1cyBiaXN0LgorICAxLiBEcvxja2UgIDxFU0M+ICB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4KIAogICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KIAogICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGVpbmVzIFdvcnRlcywgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLgogCi0gIDQuIFRpcHBlICAgZHcgLCB1bSBkYXMgV29ydCB6dSBlbnRmZXJuZW4uCisgIDQuIFRpcHBlICBkdyAgLCB1bSBkYXMgV29ydCB6dSBlbnRmZXJuZW4uCiAKLSAgQmVtZXJrdW5nOiBEaWUgQnVjaHN0YWJlbiAgZHcgIGVyc2NoZWluZW4gYXVmIGRlciBsZXR6dGVuIFplaWxlIGRlcwotICAgICBCaWxkc2NoaXJtcywgd2VubiBEdSBzaWUgZWluZ2lic3QuIFdlbm4gRHUgZXR3YXMgZmFsc2NoIGVpbmdldGlwcHQgaGFzdCwKLSAgICAgZHL8Y2tlIDxFU0M+IHVuZCBmYWhyZSBmb3J0LgorICBCZW1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIGxldHp0ZW4gWmVpbGUgZGVzIEJpbGRzY2hpcm1zLAorICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRh3yBEdSAgdyAgZWluZ2lic3QuIFdlbm4gRHUKKyAgICAgICAgZWluIGFuZGVyZXMgWmVpY2hlbiBhbHMgIGQgIHNpZWhzdCwgaGFzdCBEdSBldHdhcyBmYWxzY2hlcyBnZXRpcHB0OworICAgICAgICBkcvxja2UgPEVTQz4gdW5kIGJlZ2lubmUgbmV1LgogCiAtLS0+IEVpbmlnZSBX9nJ0ZXIgbHVzdGlnIGdlaPZyZW4gbmljaHQgUGFwaWVyIGluIGRpZXNlbiBTYXR6LgogCiAgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQogICAgICBkYW5hY2ggenVyIExla3Rpb24gMi4yLgotCi0KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgICBMZWt0aW9uIDIuMjogV0VJVEVSRSBM1lNDSEtPTU1BTkRPUwogCiAKIAkgICAgKiogVGlwcGUgIGQkICAsIHVtIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUgenUgbPZzY2hlbi4gKioKIAotICAxLiBEcvxja2UgPEVTQz4gLHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdC4KKyAgMS4gRHL8Y2tlIDxFU0M+ICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCiAKICAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCiAKICAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4KIAotICA0LiBUaXBwZSAgICBkJCAgLHVtIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUgenUgbPZzY2hlbi4KKyAgNC4gVGlwcGUgICAgZCQgICAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uCiAKIC0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uCiAKQEAgLTE5MSw1NyArMjI1LDEwMyBAQAogICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHBhc3NpZXJ0LgogCiAKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgTGVrdGlvbiAyLjM6INxCRVIgS09NTUFORE9TIFVORCBPQkpFS1RFCiAKIAotICBEYXMgRm9ybWF0IGb8ciBkYXMgTPZzY2hrb21tYW5kbyAgZCAgaXN0IGZvbGdlbmRlcm1h32VuOgotCi0JIFtOdW1tZXJdICAgZAlPYmpla3QJICAgICBPREVSCWQgICBbTnVtbWVyXSAgIE9iamVrdAotCi0gIFdvYmVpOgotICAgTnVtbWVyIC0gZ2lidCBhbiwgd2llIHZpZWxlIE1hbGUgZGFzIEtvbW1hbmRvIGF1c2dlZvxocnQgd2VyZGVuIHNvbGwKLQkJCQkgICAgICAgKG9wdGlvbmFsLCBzdGFuZGFyZG3k32lnIDEpLgotICAgZCAtIGlzdCBkYXMgTPZzY2hrb21tYW5kby4KLSAgIE9iamVrdCAtIGJlZGV1dGV0LCB3b3JhdWYgZGFzIEtvbW1hbmRvIGFuZ2V3ZW5kZXQgd2lyZCAodW50ZW4gYXVmZ2Vm/GhydCkuCi0KLSAgRWluZSBrdXJ6ZSBMaXN0ZSB2b24gT2JqZWt0ZW46Ci0gICAgdyAtIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBFbmRlIGRlcyBXb3J0ZXMsIGlua2x1c2l2ZSBkZW0gTGVlcnplaWNoZW4uCi0gICAgZSAtIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBFbmRlIGRlcyBXb3J0ZXMsIE9ITkUgZGFzIExlZXJ6ZWljaGVuLgotICAgICQgLSB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUuCi0KLUJlbWVya3VuZzogIEb8ciBkaWUgV2FnZW11dGlnZW46IGRpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgT2JqZWt0LVRlaWxzIGltCi0gICAgTm9ybWFsLU1vZHVzIG9obmUgZWluIEtvbW1hbmRvIGJld2VndCBkZW4gQ3Vyc29yIHNvLAotICAgIHdpZSBpbiBkZXIgT2JqZWt0bGlzdGUgYW5nZWdlYmVuIGlzdC4KLQogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJTGVrdGlvbiAyLjQ6IEVJTkUgQVVTTkFITUUgWlUgJ0tPTU1BTkRPLU9CSkVLVCcKKwkJIExla3Rpb24gMi4zOiDcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rcR0UKKworCisgIFZpZWxlIEtvbW1hbmRvcywgZGllIFRleHQg5G5kZXJuLCBzZXR6ZW4gc2ljaCBhdXMgZWluZW0gT3BlcmF0b3IgdW5kIGVpbmVyCisgIEJld2VndW5nIHp1c2FtbWVuLiBEYXMgRm9ybWF0IGb8ciBlaW4gTPZzY2hrb21tYW5kbyBtaXQgZGVtIEz2c2Nob3BlcmF0b3IgIGQKKyAgbGF1dGV0IHdpZSBmb2xndDoKKworICAgIGQgIEJld2VndW5nCisKKyAgd29iZWk6CisgICAgZCAgICAgICAgLSBkZXIgTPZzY2hvcGVyYXRvcgorICAgIEJld2VndW5nIC0gd29yYXVmIGRlciBM9nNjaG9wZXJhdG9yIGFuZ2V3YW5kdCB3aXJkICh1bnRlbiBhdWZnZWxpc3RldCkuCisKKyAgRWluZSBrbGVpbmUgQXVmbGlzdHVuZyB2b24gQmV3ZWd1bmdlbjoKKyAgICB3IC0gYmlzIHp1bSBCZWdpbm4gZGVzIG7kY2hzdGVuIFdvcnRlcyBPSE5FIGRlc3NlbiBlcnN0ZXMgWmVpY2hlbi4KKyAgICBlIC0genVtIEVuZGUgZGVzIGFrdHVlbGxlbiBXb3J0ZXMgTUlUIGRlc3NlbiBsZXR6dGVtIFplaWNoZW4uCisgICAgJCAtIHp1bSBFbmRlIGRlciBaZWlsZSBNSVQgZGVtIGxldHplbiBaZWljaGVuLgorCisgIERlbWVudHNwcmVjaGVuZCBs9nNjaHQgZGllIEVpbmdhYmUgdm9uICBkZSAgdm9tIEN1cnNvciBhbiBiaXMgenVtIFdvcnRlbmRlLgorCitCZW1lcmt1bmc6ICBEaWUgRWluZ2FiZSBsZWRpZ2xpY2ggZGVzIEJld2VndW5nc3RlaWxzIGltIE5vcm1hbG1vZHVzIGJld2VndCBkZW4KKyAgQ3Vyc29yIGVudHNwcmVjaGVuZC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCUxla3Rpb24gMi40OiBBTldFTkRVTkcgRUlORVMgWsRITEVSUyBG3FIgRUlORU4gQkVXRUdVTkdTU0NIUklUVAorCisKKyAgICoqIERpZSBFaW5nYWJlIGVpbmVyIFphaGwgdm9yIGVpbmVtIEJld2VndW5nc3NjaHJpdHQgd2llZGVyaG9sdCBkaWVzZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEJlZ2lubiBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KKworICAyLiBUaXBwZSAgMncgICwgdW0gZGVuIEN1cnNvciB6d2VpIFf2cnRlciB2b3J35HJ0cyB6dSBiZXdlZ2VuLgorCisgIDMuIFRpcHBlICAzZSAgLCB1bSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlcyBkcml0dGVuIFdvcnRlcyB6dSBiZXdlZ2VuLgorCisgIDQuIFRpcHBlICAwICAoTnVsbCkgLCB1bSB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBnZWxhbmdlbi4KKworICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDIgdW5kIDMgbWl0IHZlcnNjaGllZGVuZW4gWuRobGVybi4KKworICAtLS0+IERpZXMgaXN0IG51ciBlaW5lIFplaWxlIGF1cyBX9nJ0ZW4gdW0gc2ljaCBkYXJpbiBoZXJ1bXp1YmV3ZWdlbi4KKworICA2LiBHZWhlIHdlaXRlciB6dSBMZWt0aW9uIDIuNS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJIExla3Rpb24gMi41OiBBTldFTkRVTkcgRUlORVMgWsRITEVSUyBG3FIgTUVIUkVSRSBM1lNDSFZPUkfETkdFCisKKworICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCBtaXQgZWluZW0gT3BlcmF0b3Igd2llZGVyaG9sdCBkaWVzZW4gbWVocmZhY2guICoqCisKKyAgRvxyIGRpZSBLb21iaW5hdGlvbiBkZXMgTPZzY2hvcGVyYXRvcnMgdW5kIGVpbmVtIEJld2VndW5nc3NjaHJpdHQgKHNpZWhlCisgIG9iZW4pIHN0ZWxsdCBtYW4gZGVtIEJld2VndW5nc3NjaHJpdHQgZWluZW4gWuRobGVyIHZvcmFuLCB1bSBtZWhyIHp1IGz2c2NoZW46CisJIGQgIE51bW1lciAgQmV3ZWd1bmdzc2Nocml0dAorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gV29ydCBpbiBHUk9TU0JVQ0hTVEFCRU4gaW4gZGVyIG1pdCAtLS0+CisgICAgIG1hcmtpZXJlbiBaZWlsZS4KKworICAyLiBUaXBwZSAgZDJ3ICAsIHVtIGRpZSB6d2VpIFf2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4genUgbPZzY2hlbi4KKworICAzLiBXaWVkZXJob2xlIFNjaHJpdHRlIDEgdW5kICAyIG1pdCBlaW5lbSBhbmRlcmVuIFrkaGxlciwgdW0gZGllCisgICAgIGRhcmF1ZmZvbGdlbmRlbiBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbworICAgICB6dSBs9nNjaGVuLgorCistLS0+ICBEaWVzZSBBQkMgREUgWmVpbGUgRkdISSBKSyBMTU4gT1AgbWl0IFf2cnRlcm4gaXN0IFEgUlMgVFVWIGJlcmVpbmlndC4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrdGlvbiAyLjY6IEFSQkVJVEVOIEFVRiBaRUlMRU4KIAogCiAJICAgICAgICoqIFRpcHBlICBkZCAgLCB1bSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4uICoqCiAKLSAgV2VnZW4gZGVyIEjkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBs9nNjaHQsIGthbWVuIGRpZQotICBFbnR3aWNrbGVyIHZvbiBWaW0gZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfkcmUsIHp3ZWkgZCdzIGhpbnRlcmVpbmFuZGVyCi0gIGVpbnp1Z2ViZW4sIHVtIGVpbmUgWmVpbGUgenUgbPZzY2hlbi4KKyAgV2VnZW4gZGVyIEjkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBs9nNjaHQsIGthbWVuIGRpZSBFbnR3aWNrbGVyIHZvbgorICBWaSBkYXJhdWYsIGRhc3MgZXMgbGVpY2h0ZXIgd+RyZSwgZWluZmFjaCB6d2VpIGQncyBlaW56dWdlYmVuLCB1bSBlaW5lIFplaWxlCisgIHp1IGz2c2NoZW4uCiAKICAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gWmVpbGUgaW4gZGVyIHVudGVuIHN0ZWhlbmRlbiBSZWRld2VuZHVuZy4KICAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuLgogICAzLiBOdW4gYmV3ZWdlIERpY2ggenVyIHZpZXJ0ZW4gWmVpbGUuCi0gIDQuIFRpcHBlICAgMmRkICAgKGVyaW5uZXJlIERpY2ggYW4gIE51bW1lci1Lb21tYW5kby1PYmpla3QpLAotICAgICB1bSBkaWUg/GJlcmZs/HNzaWdlbiBaZWlsZW4genUgbPZzY2hlbi4KKyAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBs9nNjaGVuLgogCi0gICAgICAxKSAgUm9zZW4gc2luZCByb3QsCi0gICAgICAyKSAgTWF0c2NoIGlzdCBsdXN0aWcsCi0gICAgICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LAotICAgICAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLAotICAgICAgNSkgIERpZSBVaHIgc2FndCBkaWUgWmVpdCwKLSAgICAgIDYpICBadWNrZXIgaXN0IHP83ywKLSAgICAgIDcpICBTbyB3aWUgRHUgYXVjaC4KLQorLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LAorLS0tPiAgMikgIE1hdHNjaCBpc3QgbHVzdGlnLAorLS0tPiAgMykgIFZlaWxjaGVuIHNpbmQgYmxhdSwKKy0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywKKy0tLT4gIDUpICBEaWUgVWhyIHNhZ3QgZGllIFplaXQsCistLS0+ICA2KSAgWnVja2VyIGlzdCBz/N8sCistLS0+ICA3KSAgU28gd2llIER1IGF1Y2guCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIExla3Rpb24gMi41OiBS3ENLR8ROR0lHIE1BQ0hFTiAoVU5ETykKKwkJICAgICBMZWt0aW9uIDIuNzogUtxDS0fETkdJRyBNQUNIRU4gKFVORE8pCiAKIAogCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHL8Y2tn5G5naWcgenUgbWFjaGVuICoqCkBAIC0yNDksODggKzMyOSw4MiBAQAogCiAgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuCiAgICAgIHVuZCBzZXR6ZSBpaG4gYXVmIGRlbiBlcnN0ZW4gRmVobGVyLgotICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUg/GJlcmZs/HNzaWdlIFplaWNoZW4genUgbPZzY2hlbi4KKyAgMi4gVGlwcGUgIHggICwgdW0gZGFzIGVyc3RlIHVuZXJ3/G5zY2h0ZSBaZWljaGVuIHp1IGz2c2NoZW4uCiAgIDMuIE51biB0aXBwZSAgdSAgdW0gZGFzIHNvZWJlbiBhdXNnZWb8aHJ0ZSBLb21tYW5kbyBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KLSAgNC4gRGllc2VzIE1hbCBiZWhlYmUgYWxsZSBGZWhsZXIgYXVmIGRlciBaZWlsZSwgaW5kZW0gRHUgZGFzICB4ICBLb21tYW5kbwotICAgICBhbndlbmRlc3QuCisgIDQuIEpldHp0IGJlaGViZSBhbGxlIEZlaGxlciBhdWYgZGVyIFplaWxlIG1pdCBIaWxmZSBkZXMgeCAgS29tbWFuZG9zLgogICA1LiBOdW4gdGlwcGUgZWluIGdyb99lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kCiAgICAgIHdpZWRlcmhlcnp1c3RlbGxlbi4KLSAgNi4gTnVuIHRpcHBlICB1ICBtZWhyZXJlIE1hbGUsIHVtIGRhcyBVIHVuZCBkaWUgdm9yaGVyZ2VoZW5kZW4gS29tbWFuZG9zCisgIDYuIE51biB0aXBwZSAgdSAgZWluaWdlIE1hbGUsIHVtIGRhcyBVIHVuZCBkaWUgdm9yaGVyZ2VoZW5kZW4gS29tbWFuZG9zCiAgICAgIHL8Y2tn5G5naWcgenUgbWFjaGVuLgotICA3LiBOdW4gdGlwcGUgQ1RSTC1SIChoYWx0ZSBkaWUgQ1RSTC1UYXN0ZSBnZWRy/GNrdCB1bmQgZHL8Y2tlIFIgKQotICAgICBtZWhyZXJlIE1hbGUsIHVtIGRpZSBLb21tYW5kb3Mgcvxja2fkbmdpZyB6dSBtYWNoZW4KLSAgICAgKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4KKyAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRy/GNrdCB1bmQgZHL8Y2tlIFIpIG1laHJlcmUgTWFsZSwgdW0gZGllCisgICAgIEtvbW1hbmRvcyB3aWVkZXJoZXJ6dXN0ZWxsZW4gKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4KIAogLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuCiAKLSAgOC4gRGllc2VzIHNpbmQgc2VociBu/HR6bGljaGUgS29tbWFuZG9zLgorICA4LiBEaWVzIHNpbmQgc2VociBu/HR6bGljaGUgS29tbWFuZG9zLgogICAgICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyB2b24gTGVrdGlvbiAyLgotCi0KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICAgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDIKKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMgogCiAKLSAgMS4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXMgV29ydGVzIHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkdwotCisgIDEuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBu5GNoc3RlbiBXb3J0IHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkdwogICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBs9nNjaGVuLCB0aXBwZTogICAgIGQkCi0KICAgMy4gVW0gZWluZSBnYW56ZSBaZWlsZSB6dSBs9nNjaGVuLCB0aXBwZTogICAgZGQKIAotICA0LiBEYXMgRm9ybWF0IGb8ciBlaW4gS29tbWFuZG9zIGltIE5vcm1hbC1Nb2R1cyBpc3Q6CisgIDQuIFVtIGVpbmUgQmV3ZWd1bmcgenUgd2llZGVyaG9sZW4sIHN0ZWxsZSBlaW5lIE51bW1lciB2b3JhbjogICAydworICA1LiBEYXMgRm9ybWF0IGb8ciBlaW4gxG5kZXJ1bmdza29tbWFuZG8gaXN0OgorICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQKKyAgICAgd29iZWk6CisgICAgICAgT3BlcmF0b3IgLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbCAgZCAgZvxyIGRlbGV0ZQorICAgICAgIFtBbnphaGxdIC0gZWluIG9wdGlvbmFsZXIgWuRobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbgorICAgICAgIEJld2VndW5nc3NjaHJpdHQgLSBCZXdlZ3VuZyD8YmVyIGRlbiB6dSDkbmRlcm5kZW4gVGV4dCwgc28gd2llCisJCSAgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4KIAotICAgICAgIFtOdW1tZXJdICAgS29tbWFuZG8gICBPYmpla3QgICAgIE9ERVIgICAgIEtvbW1hbmRvICAgW051bW1lcl0gICBPYmpla3QKLQkgd29iZWk6Ci0gICAgICAgTnVtbWVyIC0gZ2lidCBhbiwgd2llIG9mdCBkYXMgS29tbWFuZG8gd2llZGVyaG9sdCB3aXJkCi0gICAgICAgS29tbWFuZG8gLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbAlkICBm/HIgZGVsZXRlCi0gICAgICAgT2JqZWt0IC0gZ2lidCBhbiwgd29yYXVmIGRhcyBLb21tYW5kbyBhbmdld2VuZGV0IHdlcmRlbiBzb2xsLAotCSB6dW0gQmVpc3BpZWwgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4KKyAgNi4gVW0gRGljaCB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBiZWdlYmVuLCBiZW51dHplIGRpZSBOdWxsOiAgMAogCi0gIDUuIFVtIHZvcmhlcmlnZSBBa3Rpb25lbiBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6CQl1IChrbGVpbmVzIHUpCisgIDcuIFVtIHZvcmhlcmlnZSBBa3Rpb25lbiBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6CQl1IChrbGVpbmVzIHUpCiAgICAgIFVtIGFsbGUgxG5kZXJ1bmdlbiBhdWYgZWluZXIgWmVpbGUgcvxja2fkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jv32VzIFUpCiAgICAgIFVtIGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZTogICAgQ1RSTC1SCiAKLQogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCQkgICBMZWt0aW9uIDMuMTogQU5G3EdFTiAoUFVUKQogCiAKLSAgICAgICAqKiBUaXBwZSBwICwgdW0gZGFzIHp1bGV0enQgR2Vs9nNjaHRlIG5hY2ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uICoqCisgICAgICoqIFRpcHBlICBwICAsIHVtIHZvcmhlciBnZWz2c2NodGVuIFRleHQgbmFjaCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4gKioKIAotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIFplaWxlIGRlcyB1bnRlbiBzdGVoZW5kZW4gU2lubnNwcnVjaHMuCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCiAKLSAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuIHVuZCBzaWUgaW4gVmltcyBQdWZmZXIgenUgc3BlaWNoZXJuLgorICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4gdW5kIHNpZSBpbiBlaW1lbSBWaW0tUmVnaXN0ZXIgenUKKyAgICAgc3BlaWNoZXJuLgogCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBaZWlsZSDcQkVSIGRlcmplbmlnZW4sCi0gICAgIHdvIGRpZSBnZWz2c2NodGUgWmVpbGUgcGxhdHppZXJ0IHdlcmRlbiBzb2xsLgorICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksINxCRVIgZGVyamVuaWdlbiwgd28gZGllIGdlbPZzY2h0ZSBaZWlsZQorICAgICBwbGF0emllcnQgd2VyZGVuIHNvbGwuCiAKLSAgNC4gSW0gTm9ybWFsLU1vZHVzLCB0aXBwZSAgICBwICAgICwgIHVtIGRpZSBaZWlsZSB6dSBwbGF0emllcmVuLgorICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uCiAKLSAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlIFJlaWhlbmZvbGdlCi0gICAgIHp1IGJyaW5nZW4uCisgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQorICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLgogCi0gICAgIGQpIEthbm5zdCBEdSBkYXMgYXVjaD8KLSAgICAgYikgVmVpbGNoZW4gc2luZCBibGF1LAotICAgICBjKSBJbnRlbGxpZ2VueiBpc3QgZXJsZXJuYmFyLAotICAgICBhKSBSb3NlbiBzaW5kIHJvdCwKLQotCistLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8KKy0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LAorLS0tPiBjKSBJbnRlbGxpZ2VueiBpc3QgZXJsZXJuYmFyLAorLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQogCiAKLSAqKiBUaXBwZSAgciAgdW5kIGVpbiBaZWljaGVuLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGVyc2V0emVuLiAqKgorICAgKiogVGlwcGUgIHJ4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgZHVyY2ggIHggenUgZXJzZXR6ZW4uICoqCiAKLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4sIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCiAKICAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4KIAotICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGll32VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkZW4gRmVobGVyIGJlaGViZW4gc29sbHRlLgorICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGll32VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkb3J0IHN0ZWhlbiBzb2xsdGUuCiAKLSAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBrb3JyZWt0IGlzdC4KKyAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuCiAKLS0tLT4gIEFscyBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQuCi0tLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0LgorLS0tPiAgQWxzIGRpZXNlIFplaXRlIGVpbmdlZ29iZW4gd3VyZGUsIHd1cmRlbiBlaW5pa2UgZmFsc2NoZSBUYXN0ZW4gZ2VsaXBwdCEKKy0tLT4gIEFscyBkaWVzZSBaZWlsZSBlaW5nZWdlYmVuIHd1cmRlLCB3dXJkZW4gZWluaWdlIGZhbHNjaGUgVGFzdGVuIGdldGlwcHQhCiAKICAgNS4gTnVuIGZhaHJlIGZvcnQgbWl0IExla3Rpb24gMy4yLgogCkBAIC0zNDIsNDI3ICs0MTYsNDQyIEBACiAJCQkgIExla3Rpb24gMy4zOiDETkRFUk4gKENIQU5HRSkKIAogCi0gICAgICAgKiogVW0gZWluIFdvcnR0ZWlsIG9kZXIgZWluIGdhbnplcyBXb3J0IHp1IORuZGVybiwgdGlwcGUgIGN3IC4gKioKKyAgICAgICoqIFVtIGVpbmUgxG5kZXJ1bmcgYmlzIHp1bSBXb3J0ZW5kZSBkdXJjaHp1ZvxocmVuLCB0aXBwZSAgY2UgLiAqKgogCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgogCi0gIDIuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkYXMgcyB2b24gV3N0d3IuCisgIDIuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkYXMgIHMgIHZvbiBXc3R3ci4KIAotICAzLiBUaXBwZSAgY3cgIHVuZCBkaWUgV29ydGtvcnJla3R1ciBlaW4gKGluIGRpZXNlbSBGYWxsLCB0aXBwZSAgJ/ZydGVyJy4pCisgIDMuIFRpcHBlICBjZSAgdW5kIGRpZSBXb3J0a29ycmVrdHVyIGVpbiAoaW4gZGllc2VtIEZhbGwgdGlwcGUgIPZydGVyICkuCiAKLSAgNC4gRHL8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbuRjaHN0ZW4gRmVobGVyCi0gICAgKERhcyBlcnN0ZSB6dSDkbmRlcm5kZSBaZWljaGVuLikKKyAgNC4gRHL8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbuRjaHN0ZW4genUg5G5kZXJuZGVuIFplaWNoZW4uCiAKICAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAzIHVuZCA0IGJpcyBkZXIgZXJzdGUgU2F0eiBnbGVpY2ggZGVtIHp3ZWl0ZW4gaXN0LgogCi0tLS0+IEVpbmlnZSBXc3R3ciBkaWVzZXIgWmxhd3cgbGFzZGpsYWYgbWl0IGRlbSDEbmRlcm4tS29tbWFuZG8gZ2FhYXV1IHdlcmRlbi4KLS0tLT4gRWluaWdlIFf2cnRlciBkaWVzZXIgWmVpbGUgc29sbGVuIG1pdCBkZW0gxG5kZXJuLUtvbW1hbmRvIGdl5G5kZXJ0IHdlcmRlbi4KKy0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMRuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLgorLS0tPiBFaW5pZ2UgV/ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2XkbmRlcnQgd2VyZGVuLgogCi1CZW1lcmtlLCBkYXNzICBjdyAgbmljaHQgbnVyIGRhcyBXb3J0IGVyc2V0enQsIHNvbmRlcm4gRGljaCBhdd9lcmRlbSBpbiBkZW4KLSAgICAgRWluZ2FiZW1vZHVzIHZlcnNldHp0LgorQmVtZXJrZSwgZGFzcyAgY2UgIGRhcyBXb3J0IGz2c2NodCB1bmQgRGljaCBpbiBkZW4gRWluZ2FiZW1vZHVzIHZlcnNldHp0LgorCiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgxE5ERVJVTkdFTiBNSVRURUxTIGMKIAogCi0gICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBPYmpla3RlbiB3aWUgZGVsZXRlICAqKgorICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioKIAotICAxLiBEYXMgY2hhbmdlIEtvbW1hbmRvIGFyYmVpdGV0IGluIGdsZWljaGVyIFdlaXNlIHdpZSBkZWxldGUuIERhcyBGb3JtYXQgaXN0OgorICAxLiBEZXIgY2hhbmdlIE9wZXJhdG9yIGFyYmVpdGV0IGluIGdsZWljaGVyIFdlaXNlIHdpZSBkZWxldGUuIERhcyBGb3JtYXQgaXN0OgogCi0gICAgICAgW051bW1lcl0gICBjICAgT2JqZWt0ICAgICAgIE9ERVIgICAgICAgYyAgIFtOdW1tZXJdICAgT2JqZWt0CisgICAgICAgICBjICAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0CiAKLSAgMi4gQXVjaCBzaW5kIGRpZSBPYmpla3RlIGdsZWljaCwgc28gd2llICB3ICAoV29ydCksICQgKEVuZGUgZGVyIFplaWxlKSwgZXRjLgorICAyLiBEaWUgQmV3ZWd1bmdzc2Nocml0dGUgc2luZCBkaWUgZ2xlaWNoZW4gLCBzbyB3aWUgIHcgIChXb3J0KSB1bmQgICQKKyAgICAgKFplaWxlbmVuZGUpLgogCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgogCi0gIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gVW50ZXJzY2hpZWQgenVyIGFuZGVyZW4gWmVpbGUuCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gRmVobGVyLgogCi0gIDUuIFRpcHBlICBjJCAgLCB1bSBkZW4gUmVzdCBkZXIgWmVpbGUgYW4gZGllIHp3ZWl0ZSBhbnp1Z2xlaWNoZW4KLSAgICAgdW5kIGRy/GNrZSBhYnNjaGxpZd9lbmQgPEVTQz4gLgorICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcvxja2UgPEVTQz4gLgogCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsdGUgYW4gZGllIHp3ZWl0ZSBaZWlsZSBhbmdlZ2xpY2hlbiB3ZXJkZW4uCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsdGUgbWl0IGRlbSAnYyQnIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLgorLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBhbiBkaWUgendlaXRlIFplaWxlIGFuZ2VnbGljaGVuIHdlcmRlbi4KKy0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgbWl0IGRlbSAgYyQgIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLgogCi0KK0JlbWVya3VuZzogRHUga2FubnN0IGRpZSBS/GNrdGFzdGUgYmVudXR6ZW4sIHVtIFRpcHBmZWhsZXIgenUga29ycmlnaWVyZW4uCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAzCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDMKIAogCi0gIDEuIFVtIGVpbmVuIHZvcmhlciBnZWz2c2NodGVuIFRleHQgYW56dWb8Z2VuLCB0aXBwZSAgcCAgLiBEaWVzIGb8Z3QgZGVuCi0gICAgIGdlbPZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZXMgc2ljaCB1bSBlaW5lIGdhbnplIFplaWxlCi0gICAgIGhhbmRlbHQsIHdpcmQgYWIgZGVyIFplaWxlIHVudGVyIGRlbSBDdXJzb3IgZWluZ2Vm/Gd0KS4KKyAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBhbnp1ZvxnZW4sIHRpcHBlICAgcCAuIERpZXMgZvxndCBkZW4KKyAgICAgZ2Vs9nNjaHRlbiBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbiAod2VubiBlaW5lIGdhbnplIFplaWxlIGdlbPZzY2h0IHd1cmRlLAorICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZvxndCkuCiAKLSAgMi4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBlcnNldHplbiwgdGlwcGUgICByICA7IGRhcyBkYW5hY2gKLSAgICAgZWluZ2VnZWJlbmUgWmVpY2hlbiBlcnNldHp0IGRhcyBPcmlnaW5hbC4KKyAgMi4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBlcnNldHplbiwgdGlwcGUgICByICAgdW5kIGRhcyBhbiBkaWVzZXIKKyAgICAgU3RlbGxlIGdld/xuc2NodGUgWmVpY2hlbi4KIAotICAzLiBEYXMgxG5kZXJ1bmdzLSAoY2hhbmdlKSBLb21tYW5kbyBlcmxhdWJ0LCBkYXMgYW5nZWdlYmVuZSBPYmpla3Qgdm9tIEN1cnNvcgotICAgICBiaXMgenVtIEVuZGUgZGVzIE9iamVrdGVzIHp1IORuZGVybi4gVGlwcGUgei5CLiBjdyAsIHVtIGVpbmUgxG5kZXJ1bmcgdm9tCi0gICAgIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgYyQgYmlzIHp1bSBFbmRlIGRlciBaZWlsZS4KKyAgMy4gRGVyIMRuZGVydW5ncy0gKGNoYW5nZSkgT3BlcmF0b3IgZXJsYXVidCwgdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzCisgICAgIEJld2VndW5nc3NjaHJpdHRlcyB6dSDkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMRuZGVydW5nIHZvbSBDdXJzb3IgYmlzCisgICAgIHp1bSBFbmRlIGRlcyBXb3J0ZXMgdm9yenVuZWhtZW47ICBjJCAgYmlzIHp1bSBFbmRlIGVpbmVyIFplaWxlLgogCiAgIDQuIERhcyBGb3JtYXQgZvxyIGNoYW5nZSBpc3Q6CiAKLQkgW051bW1lcl0gICBjCU9iamVrdAkgICAgIE9ERVIJYyAgIFtOdW1tZXJdICAgT2JqZWt0CisJIGMgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAogCi1OdW4gZmFocmUgbWl0IGRlciBu5GNoc3RlbiBMZWt0aW9uIGZvcnQuCisgIE51biBmYWhyZSBtaXQgZGVyIG7kY2hzdGVuIExla3Rpb24gZm9ydC4KKwogCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICBMZWt0aW9uIDQuMTogREFURUlQT1NJVElPTiBVTkQgREFURUlTVEFUVVMKKwkJICBMZWt0aW9uIDQuMTogQ1VSU09SUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTCiAKKyAqKiBUaXBwZSBDVFJMLUcgLCB1bSBEZWluZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cyBhbnp1emVpZ2VuLiAqKgorICAgICAqKiBUaXBwZSBHICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmVnZWJlbi4gKioKIAotICoqIFRpcHBlIENUUkwtZyAsIHVtIERlaW5lIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzIGFuenV6ZWlnZW4uICoqCi0gICAgICoqIFRpcHBlIFNISUZULUcgLCB1bSBEaWNoIHp1IGVpbmVyIFplaWxlIGluIGRlciBEYXRlaSB6dSBiZXdlZ2VuLiAqKgorQmVtZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNm/Ghyc3QhIQogCi0gQmVtZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNm/Ghyc3QhIQorICAxLiBIYWx0ZSBkaWUgQ3RybCBUYXN0ZSB1bnRlbiB1bmQgZHL8Y2tlICBnIC4gRGllcyBuZW5uZW4gd2lyIHdpciBDVFJMLUcuCisgICAgIEVpbmUgU3RhdHVzbWVsZHVuZyBhbSBGdd8gZGVyIFNlaXRlIGVyc2NoZWludCBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlcgorICAgICBQb3NpdGlvbiBpbm5lcmhhbGIgZGVyIERhdGVpLiBNZXJrZSBEaXIgZGllIFplaWxlbm51bW1lciBm/HIgU2Nocml0dCAzLgogCi0gIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcvxja2UgIGcgLiAgRWluZSBTdGF0dXN6ZWlsZSBlcnNjaGVpbnQgaW4KLSAgICAgZGVyIHVudGVyc3RlbiBaZWlsZSBkZXMgRmVuc3RlcnMgbWl0IGRlbSBEYXRlaW5hbWVuIHVuZCBkZXIgWmVpbGUsCi0gICAgIGF1ZiBkZXIgRHUgRGljaCBiZWZpbmRlc3QuIFBy5GdlIERpciBkaWUgWmVpbGVubnVtbWVyIGb8ciBTY2hyaXR0IDMgZWluLgorQmVtZXJrdW5nOiBN9mdsaWNoZXJ3ZWlzZSBzaWVoc3QgRHUgZGllIEN1cnNvcnBvc2l0aW9uIGluIGRlciB1bnRlcmVuIHJlY2h0ZW4KKyAgICAgIEJpbGRzY2hpcm1lY2tlLiBEaWVzIGlzdCBGb2xnZSBkZXIgJ3J1bGVyJyBPcHRpb24gKHNpZWhlIDpoZWxwICdydWxlcicpCiAKLSAgMi4gRHL8Y2tlIFNoaWZ0LUcgLCB1bSBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaSB6dSBiZWdlYmVuLgorICAyLiBEcvxja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KKyAgICAgVGlwcGUgIGdnICAsIHVtIERpY2ggenVtIEFuZmFuZyBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KIAotICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gU2hpZnQtRy4KLSAgICAgRGllc2VzIGJyaW5ndCBEaWNoIHp1cvxjayB6dSBkZXIgWmVpbGUsIGF1ZiBkZXIgRHUgZ2VzdGFuZGVuIGhhc3QsIGFscyBEdQotICAgICBkYXMgZXJzdGUgTWFsIEN0cmwtZyBnZWRy/GNrdCBoYXN0LgotICAgICAoV2VubiBEdSBkaWUgWmlmZmVybiBlaW5naWJzdCwgd2VyZGVuIHNpZSBOSUNIVCBhdWYgZGVtIFNjaGlybSBhbmdlemVpZ3QuKQorICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLgorICAgICBEaWVzIGJyaW5ndCBEaWNoIHp1cvxjayB6dSBkZXIgWmVpbGUsIGF1ZiBkZXIgRHUgZ2VzdGFuZGVuIGhhc3QsIGFscyBEdQorICAgICBkYXMgZXJzdGUgTWFsIENUUkwtRyBnZWRy/GNrdCBoYXN0LgogCi0gIDQuIFdlbm4gRHUgc2ljaGVyIGdlbnVnIGb8aGxzdCwgZvxocmUgZGllIFNjaHJpdHRlIDEgYmlzIDMgYXVzLgotCi0KKyAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgICAgTGVrdGlvbiA0LjI6IERBUyBTVUNIRU4gLSBLT01NQU5ETwogCiAKICAgKiogVGlwcGUgIC8gIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrLCB1bSBuYWNoIGRlbSBBdXNkcnVjayB6dSBzdWNoZW4uICoqCiAKLSAgMS4gV2VubiBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCwgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVhY2h0ZSwgZGFzcyBkYXMgIC8KLSAgICAgdW5kIGRlciBDdXJzb3IgYXVmIGRlciB1bnRlcnN0ZW4gWmVpbGUgZGVzIFNjaGlybXMgZXJzY2hlaW5lbiwKLSAgICAgc28gd2llIGJlaW0gIDogIEtvbW1hbmRvLgorICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVtZXJrZSwgZGFzcyBkYXMgIC8gdW5kIGRlcgorICAgICBDdXJzb3IgYW0gRnXfIGRlcyBTY2hpcm1zIGVyc2NoZWluZW4sIHNvIHdpZSBiZWltIDoJS29tbWFuZG8uCiAKLSAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiAgRGllcyBpc3QgZGFzIFdvcnQsIG5hY2ggZGVtIER1IHN1Y2hlbiB3aWxsc3QuCisgIDIuIE51biB0aXBwZSAnRmVoaGxlcicgPEVOVEVSPi4gRGllcyBpc3QgZGFzIFdvcnQsIG5hY2ggZGVtIER1IHN1Y2hlbiB3aWxsc3QuCiAKLSAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciAqbipleHQpLgotICAgICBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayBpbiBkZXIgYW5kZXJlbiBSaWNodHVuZyB6dSBzdWNoZW4sIFNoaWZ0LU4gLgorICAzLiBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayB3ZWl0ZXJ6dXN1Y2hlbiwgdGlwcGUgZWluZmFjaCAgbiAoZvxyIG5leHQpLgorICAgICBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4sIHRpcHBlICBOIC4KIAotICA0LiBXZW5uIER1IG5hY2ggZWluZW0gQXVzZHJ1Y2sgcvxja3fkcnRzIGluIGRlciBEYXRlaSBzdWNoZW4gd2lsbHN0LAotICAgICBiZW51dHplIGRhcyBLb21tYW5kbyAgPyAgc3RhdHQgIC8gLgorICA0LiBVbSBuYWNoIGVpbmVtIEF1c2RydWNrIHL8Y2t35HJ0cyB6dSBzdWNoZW4gLCBiZW51dHplICA/ICBzdGF0dCAgLyAuCiAKLS0tLT4gV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZyBmb3J0Z2VzZXR6dC4KKyAgNS4gVW0gZGFoaW4genVy/GNrenVrZWhyZW4sIHZvbiB3byBEdSBnZWtvbW1lbiBiaXN0LCBkcvxja2UgQ1RSTC1PIChIYWx0ZQorICAgICBDdHJsIHVudGVuIHVuZCBkcvxja2UgZGVuIEJ1Y2hzdGFiZW4gbykuIFdpZWRlcmhvbGUgZGllcywgdW0gd2VpdGVyCisgICAgIHp1cvxja3p1Z2VoZW4uICBDVFJMLUkgYnJpbmd0IGRpY2ggdm9yd+RydHMuCiAKLSAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyAiRmVoaGxlciIgaXN0IGVpbiBGZWhsZXIKLQotCistLS0+ICBGZWhsZXIgc2NocmVpYnQgc2ljaCBuaWNodCAiRmVoaGxlciI7IEZlaGhsZXIgaXN0IGVpbiBGZWhsZXIKK0JlbWVya3VuZzogV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZworICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJICAgICBMZWt0aW9uIDQuMzogUEFTU0VOREUgS0xBTU1FUk4gRklOREVOCiAKIAogICAgKiogVGlwcGUgICUgLCB1bSBlaW5lIGtvcnJlc3BvbmRpZXJlbmRlIEtsYW1tZXIgKSxdLCBvZGVyIH0genUgZmluZGVuLiAqKgogCi0gIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lbSBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsKLSAgICAgaW4gZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4KKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVzIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4KKyAgICAgc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgogCiAgIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uCiAKLSAgMy4gRGVyIEN1cnNvciBzb2xsdGUgc2ljaCBudW4gYXVmIGRlciBnZWdlbvxiZXJsaWVnZW5kZW4gS2xhbW1lciBiZWZpbmRlbi4KKyAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vu/GJlcmxpZWdlbmRlbiBLbGFtbWVyLgogCi0gIDQuIFRpcHBlICAlICwgdW0gZGVuIEN1cnNvciB6dXL8Y2sgYXVmIGRpZSBlcnN0ZSBHZWdlbmtsYW1tZXIgenVy/GNrenViZXdlZ2VuLgorICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIGFuZGVyZW4gcGFzc2VuZGVuIEtsYW1tZXIgenUgYmV3ZWdlbi4KIAotLS0tPiBEaWVzICggaXN0IGVpbmUgVGVzdHplaWxlIG1pdCAoIHZlcnNjaGllZGVuZW4gWyBLbGFtbWVybiBdIHsgeHggfSBkYXJpbi4gKSkKKyAgNS4gU2V0emUgZGVuIEN1cnNvciBhdWYgZWluIGFuZGVyZXMgKCwpLFssXSx7IG9kZXIgfSB1bmQgcHJvYmllcmUgICUgIGF1cy4KKworLS0tPiBEaWVzICggaXN0IGVpbmUgVGVzdHplaWxlICggbWl0IFsgdmVyc2NoaWVkZW5lbiBdIHsgS2xhbW1lcm4gfSAgZGFyaW4uICkpCiAKIEJlbWVya3VuZzogRGllc2UgRnVua3Rpb25hbGl05HQgaXN0IHNlaHIgbvx0emxpY2ggYmVpIGRlciBGZWhsZXJzdWNoZSBpbiBlaW5lbQotICAgICBQcm9ncmFtbXRleHQsIGluIGRlbSBlaW5lIHBhc3NlbmRlIEtsYW1tZXIgZmVobHQhCisgICAgIFByb2dyYW1tdGV4dCwgaW4gZGVtIHBhc3NlbmRlIEtsYW1tZXJuIGZlaGxlbiEKIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgTGVrdGlvbiA0LjQ6IFdFR0UsIFVNIEZFSExFUiBaVSBCRUhFQkVOCisJCUxla3Rpb24gNC40OiBEQVMgRVJTRVRaVU5HU0tPTU1BTkRPIChTVUJTVElUVVRFKQogCiAKLQkgKiogVGlwcGUgOnMvYWx0L25ldS9nCSwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqCisJICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioKIAogICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCiAKICAgMi4gVGlwcGUgIDpzL2RpZWUvZGllIDxFTlRFUj4gLiAgQmVtZXJrZSwgZGFzcyBkZXIgQmVmZWhsIG51ciBkYXMgZXJzdGUKLSAgICAgVm9ya29tbWVuIGF1ZiBkZXIgWmVpbGUgZXJzZXR6dC4KKyAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4KIAotICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nICAgICwgd2VsY2hlcyBiZWRldXRldCwgZWluZSB6ZWlsZW53ZWl0ZQotICAgICAoKmcqbG9iYWxlKSBFcnNldHp1bmcgdm9yenVuZWhtZW4uCi0gICAgIERpZXMgZXJzZXR6dCBhbGxlIFZvcmtvbW1lbiBhdWYgZGVyIFplaWxlLgorICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nIC4gRGFzIFp1ZvxnZW4gZGVzIEZsYWdzICBnICAgYmVkZXV0ZXQsIGVpbmUKKyAgICAgZ2xvYmFsZSBFcnNldHp1bmcg/GJlciBkaWUgWmVpbGUgZHVyY2h6dWb8aHJlbiwgd2FzIGFsbGUgVm9ya29tbWVuIHZvbgorICAgICAiZGllZSIgYXVmIGRlciBaZWlsZSBlcnNldHp0LgogCiAtLS0+IGRpZWUgc2No9m5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZy/GhsaW5nc3plaXQuCiAKLSAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIHp3aXNjaGVuIHp3ZWkgWmVpbGVuIHp1IORuZGVybiwKLSAgICAgdGlwcGUgIDojLCNzL2FsdC9uZXUvZyAgLCB3b2JlaSAjLCMgZGllIHp3ZWkgTnVtbWVybiBkZXIgWmVpbGVuIHNpbmQuCi0gICAgIFRpcHBlICA6JXMvYWx0L25ldS9nICwgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IORuZGVybi4KLQotCisgIDQuIFVtIGFsbGUgVm9ya29tbWVuIGVpbmVyIFplaWNoZW5rZXR0ZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbiB6dSDkbmRlcm4sCisgICAgIHRpcHBlICA6Iywjcy9hbHQvbmV1L2cgICB3b2JlaSAjLCMgZGllIFplaWxlbm51bW1lcm4gZGVzIFplaWxlbmJlcmVpY2hlcworICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmQsIGluIGRlbSBkaWUgRXJzZXR6dW5nIGR1cmNoZ2Vm/GhydCB3ZXJkZW4gc29sbC4KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IORuZGVybi4KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbgorICAgICAgICAgICAgICAgICAgICAgbWl0IGVpbmVtIEZyYWdlZGlhbG9nLCBvYiBlcnNldHp0IHdlcmRlbiBzb2xsIG9kZXIgbmljaHQuCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA0CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDQKIAorICAxLiBDVFJMLUcgIHplaWd0IGRpZSBha3R1ZWxsZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cy4KKyAgICAgICAgICAgICBHICBicmluZ3QgRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkuCisgICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4KKyAgICAgICAgICAgIGdnICBicmluZ3QgRGljaCB6dXIgZXJzdGVuIFplaWxlLgogCi0gIDEuIEN0cmwtZyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLgotICAgICBTaGlmdC1HIGJyaW5ndCBEaWNoIGJpcyB6dW0gRW5kZSBkZXIgRGF0ZWkuICBFaW5lIFplaWxlbm51bW1lcgotICAgICBnZWZvbGd0IHZvbiBTaGlmdC1HIGJld2VndCBkZW4gQ3Vyc29yIHp1IGRlciBaZWlsZW5udW1tZXIuCi0KLSAgMi4gRGllIEVpbmdhYmUgdm9uICAvIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfEUlRTIG5hY2ggZGVtCi0gICAgIEF1c2RydWNrLgotICAgICBEaWUgRWluZ2FiZSB2b24gID8gICAgIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFLcQ0tXxFJUUyBuYWNoIGRlbQotICAgICBBdXNkcnVjay4KKyAgMi4gRGllIEVpbmdhYmUgdm9uICAvICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgorICAgICBEaWUgRWluZ2FiZSB2b24gID8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgUtxDS1fEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgogICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBu5GNoc3RlIFZvcmtvbW1lbiBpbiBkZXIgZ2xlaWNoZW4KLSAgICAgUmljaHR1bmcgenUgZmluZGVuOyBvZGVyIFNoaWZ0LU4gLCB1bSBpbiBkZXIgZW50Z2VnZW5nZXNldHp0ZW4gUmljaHR1bmcKLSAgICAgenUgc3VjaGVuLgorICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLgorICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVy/GNrIHp1IORsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uCiAKLSAgMy4gRGllIEVpbmdhYmUgdm9uICAlICAsIHdlbm4gZGVyIEN1cnNvciBzaWNoIGF1ZiAgKCwpLFssXSx7LCBvZGVyIH0KLSAgICAgYmVmaW5kZXQsIGZpbmRldCBkaWUga29ycmVzcG9uZGllcmVuZGUgR2VnZW5rbGFtbWVyLgorICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9CisgICAgIGJlZmluZGV0LCBicmluZ3QgRGljaCB6dXIgR2VnZW5rbGFtbWVyLgogCi0gIDQuIFVtIGRhcyBFUlNURSBWb3Jrb21tZW4gdm9uIGFsdCBpbiBlaW5lIFplaWxlIGR1cmNoIG5ldSB6dSBlcnNldHplbiwgdGlwcGUKLQkJOnMvYWx0L25ldQotICAgICBVbSBBTExFIFZvcmtvbW1lbiB2b24gYWx0IGluIGVpbmUgWmVpbGUgZHVyY2ggbmV1IHp1IGVyc2V0emVuLCB0aXBwZQotCQk6cy9hbHQvbmV1L2cKLSAgICAgVW0gQXVzZHL8Y2tlIGlubmVyaGFsYiB2b24gendlaSBaZWlsZW4genUgZXJzZXR6ZW4sIHRpcHBlCi0JCTojLCNzL2FsdC9uZXUvZwotICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZQotCQk6JXMvYWx0L25ldS9nCi0gICAgIFVtIGplZGVzIE1hbCBuYWNoIGVpbmVyIEJlc3TkdGlndW5nIGdlZnJhZ3QgenUgd2VyZGVuLCBm/GdlICdjJyBoaW56dS4KLQkJOiVzL2FsdC9uZXUvZ2MJCSgqYypvbmZpcm0pCi0KLQorICA0LiBVbSBkYXMgZXJzdGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBlaW5lciBaZWlsZSBkdXJjaCAibmV1IiB6dSBlcnNldHplbiwKKyAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1CisgICAgIFVtIGFsbGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBkZXIgWmVpbGUgZXJzZXR6ZW4sIHRpcHBlICA6cy9hbHQvbmV1L2cKKyAgICAgVW0gQXVzZHL8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVubnVtbWVybiB6dSBlcnNldHplbiwgIDojLCNzL2FsdC9uZXUvZworICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZworICAgICBG/HIgZWluZSBqZWRtYWxpZ2UgQmVzdOR0aWd1bmcsIGFkZGllcmUgICdjJyAgKGNvbmZpcm0pICAgOiVzL2FsdC9uZXUvZ2MKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQlMZWt0aW9uIDUuMTogQVVTRtxIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUwogCiAKICAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVm/GhyZW4uICoqCiAKLSAgMS4gVGlwcGUgZGFzIHZlcnRyYXV0ZSBLb21tYW5kbyAgOiAgLCB1bSBkZW4gQ3Vyc29yIGF1ZiBkaWUgdW50ZXJzdGUgWmVpbGUKLSAgICAgZGVzIEZlbnN0ZXJzIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvIGVpbnp1Z2ViZW4uCisgIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ13yBkZXMgU2NoaXJtcworICAgICB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kb3plaWxlbi1Lb21tYW5kbyBlaW56dWdlYmVuLgogCi0gIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzZXMgZXJt9mdsaWNodCBEaXIsIGVpbgotICAgICBiZWxpZWJpZ2VzLCBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZvxocmVuLgorICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm32Z2xpY2h0IERpciwgZWluIGJlbGllYmlnZXMsCisgICAgIGV4dGVybmVzIFNoZWxsa29tbWFuZG8gYXVzenVm/GhyZW4uCiAKICAgMy4gQWxzIEJlaXNwaWVsIHRpcHBlICAgbHMgICBuYWNoIGRlbSAgISAgdW5kIGRy/GNrZSA8RU5URVI+LiBEaWVzIHplaWd0CiAgICAgIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGF1ZiBkZXIKLSAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB35HJzdC4KLSAgICAgVmVyd2VuZGUgIDohZGlyICAsIGZhbGxzIGxzIG5pY2h0IGZ1bmt0aW9uaWVydC4KKyAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB35HJzdC4gIE9kZXIgdmVyd2VuZGUgIDohZGlyICAsIGZhbGxzIGxzIG5pY2h0IGdlaHQuCiAKLS0tLT4gQmVtZXJrdW5nOiAgTWl0IGRpZXNlciBNZXRob2RlIGthbm4gamVkZXMgYmVsaWViaWdlIGV4dGVybmUgS29tbWFuZG8KLSAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4uCitCZW1lcmt1bmc6ICBNaXQgZGllc2VyIE1ldGhvZGUga2FubiBqZWRlcyBiZWxpZWJpZ2UgZXh0ZXJuZSBLb21tYW5kbworICAgICBhdXNnZWb8aHJ0IHdlcmRlbiwgYXVjaCBtaXQgQXJndW1lbnRlbi4KIAotLS0tPiBCZW1lcmt1bmc6ICBBbGxlICA6ICBLb21tYW5kb3Mgbfxzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4KLSAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uCitCZW1lcmt1bmc6ICBBbGxlICA6ICBLb21tYW5kb3Mgbfxzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4KKyAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfkaG5lbiB3aXIgZGllcyBuaWNodCBqZWRlc21hbC4KIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJTGVrdGlvbiA1LjI6IE1FSFIg3EJFUiBEQVMgU0NIUkVJQkVOIFZPTiBEQVRFSUVOCiAKIAotKiogVW0gYW4gZGVyIERhdGVpIGR1cmNoZ2Vm/GhydGUgxG5kZXJ1bmdlbiAgenUgc2ljaGVybiAsIHRpcHBlIDp3IERBVEVJTkFNRS4gKioKKyoqIFVtIGFtIFRleHQgZHVyY2hnZWb8aHJ0ZSDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKgogCi0gIDEuIFRpcHBlICA6IWxzICBvZGVyIDohZGlyICAsIHVtIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXMKLSAgICAgenUgZXJoYWx0ZW4uCi0gICAgIER1IHdlad90IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgorICAxLiBUaXBwZSAgOiFkaXIgIG9kZXIgIDohbHMgICwgdW0gZWluZSBBdWZsaXN0dW5nIERlaW5lcyBWZXJ6ZWljaG5pc3NlcyB6dQorICAgICBlcmhhbHRlbi4gIER1IHdlad90IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgogCi0gIDIuIFfkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBkb3J0IG5vY2ggbmljaHQgZXhpc3RpZXJ0LCB6LkIuIFRFU1QuCisgIDIuIFfkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBub2NoIG5pY2h0IGV4aXN0aWVydCwgei5CLiBURVNULgogCi0gIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdC4pCisgIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdCkuCiAKLSAgNC4gRGllc2VzIHNwZWljaGVydCBkaWVzZSBnYW56ZSBEYXRlaSAgKFZpbSBUdXRvcikgIHVudGVyIGRlbSBOYW1lbiBURVNULgotICAgICBVbSBkaWVzZXMgenUg/GJlcnBy/GZlbiwgdGlwcGUgbm9jaG1hbHMgIDohbHMgIGJ6dy4gICFkaXIsCi0gICAgIHVtIERlaW5lbiBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4KKyAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4KKyAgICAgVW0gZGllcyB6dSD8YmVycHL8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gRGVpbmVuCisgICAgIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLgogCi0tLS0+IEJlYWNodGU6IHf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IGRlbSBEYXRlaW5hbWVuCi0gICAgIFRFU1Qg9mZmbmVuLCBkYW5uIHfkcmUgZGllc2UgRGF0ZWkgZWluZSBleGFrdGUgS29waWUgZGVzIFR1dG9ycyB6dSBkZW0KLSAgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCitCZW1lcmt1bmc6IFf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IHZpbSBURVNUCisgICAgc3RhcnRlbiwgZGFubiB35HJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCisgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCiAKLSAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAgIDohcm0gVEVTVCAgIGJ6dy4gICA6IWRlbCBURVNULgotCi0KKyAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorCQkJCW9kZXIgKFVuaXgpOgk6IXJtIFRFU1QKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgTGVrdGlvbiA1LjM6IFNFTEVLVElWRVMgU0NIUkVJQkVOIFZPTiBEQVRFSUVOCisJCSBMZWt0aW9uIDUuMzogQVVTV8RITEVOIFZPTiBURVhUIFpVTSBTQ0hSRUlCRU4KIAorKiogVW0gZWluZW4gQWJzY2huaXR0IGRlciBEYXRlaSB6dSBzcGVpY2hlcm4sICB0aXBwZSAgdiAgQmV3ZWd1bmcgIDp3IERBVEVJICoqCiAKLSAgICAqKiBVbSBlaW5lbiBBYnNjaG5pdHQgZGVyIERhdGVpIHp1IHNwZWljaGVybiB0aXBwZSAgIDojLCMgdyBEQVRFSU5BTUUgKioKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGllc2VyIFplaWxlLgogCi0gIDEuIEdpYiBub2NobWFscyAgOiFscyAgYnp3ICA6IWRpciAgZWluLCB1bSBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzCi0gICAgIFZlcnplaWNobmlzc2VzIHp1IGVyaGFsdGVuIHVuZCB35GhsZSBlaW5lbiBnZWVpZ25ldGVuIERhdGVpbmFtZW4gd2llIFRFU1QuCisgIDIuIFRpcHBlICB2ICB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIGb8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4KKyAgICAgQmVtZXJrZSwgZGHfIGRlciBUZXh0IGhlcnZvcmdlaG9iZW4gd2lyZC4KIAotICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRpZXNlcyBLYXBpdGVscyB1bmQgdGlwcGUgIEN0cmwtZyAgLCB1bSBkaWUKLSAgICAgTnVtbWVyIGRpZXNlciBaZWlsZSB6dSBlcmhhbHRlbi4gUFLER0UgRElSIERJRVNFIE5VTU1FUiBFSU4hCisgIDMuIERy/GNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ13yBkZXMgU2NoaXJtcyBlcnNjaGVpbnQgIDonPCwnPiAuCiAKLSAgMy4gTnVuIGJld2VnZSBEaWNoIHp1bSBFbmRlIGRpZXNlcyBLYXBpdGVscyB1bmQgdGlwcGUgd2llZGVyIEN0cmwtZyAuCi0gICAgIFBSxEdFIERJUiBBVUNIIERJRVNFIFpFSUxFTk5VTU1FUiBFSU4hCisgIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0LgorICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGHfIER1ICA6JzwsJz53IFRFU1QgIHNpZWhzdCwgYmV2b3IgRHUgRW50ZXIgZHL8Y2tzdC4KIAotICA0LiBVbSBOVVIgZWluZW4gQWJzY2huaXR0IGVpbmVyIERhdGVpIHp1IHNwZWljaGVybiwgdGlwcGUgICA6IywjIHcgVEVTVAotICAgICB3b2JlaSAjLCMgZGllIHp3ZWkgTnVtbWVybiBzaW5kLCBkaWUgRHUgaW0gR2Vk5GNodG5pcyBoYXN0IChvYmVuLCB1bnRlbik7Ci0gICAgIHVuZCBURVNUIERlaW4gRGF0ZWluYW1lIGlzdC4KKyAgNS4gVmltIHNjaHJlaWJ0IGRpZSBhdXNnZXfkaGx0ZW4gWmVpbGVuIGluIGRpZSBEYXRlaSBURVNULiBCZW51dHplICA6IWRpcgorICAgICBvZGVyICA6IWxzICwgdW0gc2llIHp1IHNlaGVuLiBM9nNjaGUgc2llIG5vY2ggbmljaHQhIFdpciB3ZXJkZW4gc2llIGluCisgICAgIGRlciBu5GNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLgogCi0gIDUuINxiZXJwcvxmZSB3aWVkZXJ1bSBtaXQgIDohbHMgICBvZGVyICA6IWRpciAgIG5hY2gsIGRhc3MgZGllIERhdGVpCi0gICAgIGV4aXN0aWVydCwgYWJlciBs9nNjaGUgc2llIE5JQ0hULgotCi0KK0JlbWVya3VuZzogRHL8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yCisgICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIGdy9t9lciBvZGVyIGtsZWluZXIgenUgbWFjaGVuLiBBbnNjaGxpZd9lbmQKKyAgIGthbm4gbWFuIGVpbmVuIE9wZXJhdG9yIGFud2VuZGVuLCB1bSBtaXQgZGVtIFRleHQgZXR3YXMgenUgdHVuLiBadW0KKyAgIEJlaXNwaWVsIGz2c2NodCAgZCAgZGVuIFRleHQuCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkgICAgICBMZWt0aW9uIDUuNDogRUlOTEVTRU4gVU5EIFpVU0FNTUVORtxIUkVOIFZPTiBEQVRFSUVOCiAKIAotCSAqKiBVbSBkZW4gSW5oYWx0IGVpbmVyIERhdGVpIGVpbnp1bGVzZW4sIHRpcHBlIDpyIERBVEVJTkFNRSAqKgorICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioKIAotICAxLiBUaXBwZSAgIDohbHMgICBiencuICAgIWRpciAsICB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRGVpbmUgRGF0ZWkgVEVTVAotICAgICB2b24gdm9yaGluIHZvcmhhbmRlbiBpc3QuCisgIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIPxiZXJoYWxiIGRpZXNlciBaZWlsZS4KIAotICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGVyIGVyc3RlbiBaZWlsZSBkaWVzZXMgS2FwaXRlbHMuCitCRUFDSFRFOiAgTmFjaGRlbSBEdSBTY2hyaXR0IDIgYXVzZ2Vm/GhydCBoYXN0LCB3aXJzdCBEdSBUZXh0IGF1cyBMZWt0aW9uIDUuMworICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTLCB1bSBkaWVzZSBMZWt0aW9uIHdpZWRlcnp1c2VoZW4uCiAKLUJFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMyBhdXNnZWb8aHJ0IGhhc3QsIHdpcnN0IER1IExla3Rpb24gNS4zICBzZWhlbi4KLQkgIEFuIGRpZXNlbSBQdW5rdCBiZXdlZ2UgRGljaCB3aWVkZXIgQUJXxFJUUyB6dSBkaWVzZXIgTGVrdGlvbi4KKyAgMi4gTnVuIGxpZXMgRGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNm/Ghyc3QsCisgICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0LgorICAgICBEaWUgZWluZ2VsZXNlbmUgRGF0ZWkgd2lyZCB1bnRlcmhhbGIgZGVyIEN1cnNvcnplaWxlIGVpbmdlZvxndC4KIAotICAzLiBOdW4gbGllcyBEZWluZSBEYXRlaSBURVNUIGVpbiBpbmRlbSBEdSBkYXMgS29tbWFuZG8gOnIgVEVTVCAgYXVzZvxocnN0LAotICAgICB3b2JlaSBURVNUIGRlciBOYW1lIGRlciBEYXRlaSBpc3QuCisgIDMuIFVtIHp1IPxiZXJwcvxmZW4sIGRhc3MgZGllIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVy/GNrIHVuZCBzaWVoZSwKKyAgICAgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCBkaWUKKyAgICAgZWluZ2Vm/Gd0ZSBEYXRlaXZlcnNpb24uCiAKLUJFTUVSS1VORzogIERpZSBEYXRlaSwgZGllIER1IGVpbmxpZXN0LCB3aXJkIGFuIGRlciBTdGVsbGUgZWluZ2Vm/Gd0LCBhbiBkZXIKLSAgICBzaWNoIGRlciBDdXJzb3IgYmVmaW5kZXQuCi0KLSAgNC4gVW0genUg/GJlcnBy/GZlbiwgZGFzcyBlaW5lIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVy/GNrIHVuZAotICAgICBzZWhlLCBkYXNzIGVzIGpldHp0IHp3ZWkgS29waWVuIHZvbiBMZWt0aW9uIDUuMyBnaWJ0LCBkYXMgT3JpZ2luYWwgdW5kIGRpZQotICAgICBlaW5nZWb8Z3RlIFZlcnNpb24uCi0KK0JlbWVya3VuZzogRHUga2FubnN0IGF1Y2ggZGllIEF1c2dhYmUgZWluZXMgZXh0ZXJuZW4gS29tbWFuZG9zIGVpbmxlc2VuLiBadW0KKyAgICAgQmVpc3BpZWwgbGllc3QgIDpyICFscyAgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBscyBlaW4gdW5kIHBsYXR6aWVydAorICAgICBzaWUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzLgogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExla3Rpb24gNQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA1CiAKIAotICAxLiAgOiFLb21tYW5kbyAgZvxocnQgZWluIGV4dGVybmVzIChTaGVsbC0pS29tbWFuZG8gYXVzLgorICAxLiA6IUtvbW1hbmRvICBm/GhydCBlaW4gZXh0ZXJuZXMgS29tbWFuZG8gYXVzLgogCiAgICAgICBFaW5pZ2Ugbvx0emxpY2hlIEJlaXNwaWVsZSBzaW5kCi0gICAgICBVTklYOgotCSAgOiFscwkJICAtICAgIEF1Zmxpc3R1bmcgZGVzIGFrdHVlbGxlbiBWZXJ6ZWljaG5pc3NlcwotCSAgOiFybSBEQVRFSU5BTUUgIC0gICAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FCi0gICAgICBNUy1ET1MvV2luZG93czoKLQkgIDohZGlyCQkgIC0gICAgQXVmbGlzdHVuZyBkZXMgYWt0dWVsbGVuIFZlcnplaWNobmlzc2VzCi0JICA6IWRlbCBEQVRFSU5BTUUgLSAgICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUKKwkoTVMtRE9TKQkgIChVbml4KQorCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuCisJIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuCiAKLSAgMi4gIDp3IERBVEVJTkFNRSAgc2NocmVpYnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSBhbHMgREFURUlOQU1FIGF1ZiBkaWUKLSAgICAgICBQbGF0dGUuCisgIDIuIDp3IERBVEVJTkFNRSAgc3BlaWNoZXJ0IGRpZSBha3R1ZWxsZSBWaW0tRGF0ZWkgdW50ZXIgZGVtIE5hbWVuICBEQVRFSU5BTUUuCiAKLSAgMy4gIDojLCN3IERBVEVJTkFNRSAgc3BlaWNoZXJ0IGRpZSBaZWlsZW4gIyBiaXMgIyBpbiBkZXIgRGF0ZWkgREFURUlOQU1FLgorICAzLiB2ICBCZXdlZ3VuZyAgOncgREFURUlOQU1FICBzY2hyZWlidCBkaWUgVmlzdWVsbCBhdXNnZXfkaGx0ZW4gWmVpbGVuIGluCisgICAgIGRpZSBEYXRlaSBEQVRFSU5BTUUuCiAKLSAgNC4gIDpyIERBVEVJTkFNRSAgbORkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHZvbiBkZXIgUGxhdHRlIHVuZCBm/Gd0IHNpZSBpbgotICAgICAgIGRpZSBha3R1ZWxsZSBEYXRlaSBuYWNoIGRlciBDdXJzb3Jwb3NpdGlvbiBlaW4uCisgIDQuIDpyIERBVEVJTkFNRSAgbORkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHVuZCBm/Gd0IHNpZSB1bnRlcmhhbGIgZGVyCisgICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4KKworICA1LiA6ciAhZGlyICBsaWVzdCBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGRpciB1bmQgZvxndCBzaWUgdW50ZXJoYWxiIGRlcgorICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOINZGRk5FTiAoT1BFTikKIAogCi0gICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciB6dSD2ZmZuZW4gdW5kIERpY2ggaW4gZGVuICoqCi0JCQkgKiogRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uICoqCisgICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IPZmZm5lbiB1bmQgRGljaCBpbiAqKgorICAgICAgICAgICAgICAgICAgICAgICoqIGRlbiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4gKioKIAotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCiAKLSAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgYXVmenVtYWNoZW4KKyAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29zIHp1IPZmZm5lbgogICAgICB1bmQgRGljaCBpbiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uCiAKLSAgMy4gTnVuIHRpcHBlIGRlbiBUZXh0IGRlciBtaXQgLS0tPiBtYXJraWVydGUgWmVpbGUgYWIgdW5kIGRy/GNrZSA8RVNDPiAsIHVtCi0gICAgIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLgorICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHL8Y2tlIDxFU0M+ICwgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCiAKLS0tLT4gTWl0ICBvICB3aXJkIGRlciBDdXJzb3IgYXVmIGRlciBnZfZmZm5ldGVuIFplaWxlIGltIEVpbmdhYmVtb2R1cyBwbGF0emllcnQuCistLS0+IE1pdCAgbyAgd2lyZCBkZXIgQ3Vyc29yIGF1ZiBkZXIgb2ZmZW5lbiBaZWlsZSBpbSBFaW5m/GdlbW9kdXMgcGxhdHppZXJ0LgogCi0gIDQuIFVtIGVpbmUgWmVpbGUg3EJFUiBkZW0gQ3Vyc29yIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jv32VzICBPCi0gICAgIGFuc3RlbGxlIGVpbmVzIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbgotICAgICBaZWlsZS4KLdZmZm5lIGVpbmUgWmVpbGUg/GJlciBkaWVzZXIgbWl0IFNoaWZ0LU8gLCB3ZW5uIGRlciBDdXJzb3IgYXVmIGRpZXNlciBaZWlsZSBpc3QuCisgIDQuIFVtIGVpbmUgWmVpbGUg3EJFUkhBTEIgZGVzIEN1cnNvcyBhdWZ6dW1hY2hlbiwgZ2liIGVpbmZhY2ggZWluIGdyb99lcyAgTworICAgICBzdGF0dCBlaW5lbSBrbGVpbmVuICBvICBlaW4uIFZlcnN1Y2hlIGRpZXMgYXVmIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUuCisKKy0tLT4g1mZmbmUgZWluZSBaZWlsZSD8YmVyIGRpZXNlciBtaXQgTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4KKwogCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgICAgTGVrdGlvbiA2LjI6IFRFWFQgQU5G3EdFTiAoQVBQRU5EKQogCiAKLQkgICAgICAqKiBUaXBwZSBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZvxnZW4uICoqCisJICAgICAqKiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBlaW56dWb8Z2VuLiAqKgogCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPgotICAgICBtYXJraWVydCBpc3QsIGluZGVtIER1IGltIE5vcm1hbC1Nb2R1cyAgJCAgIGVpbmdpYnN0LgorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4g3GJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uCiAKLSAgMi4gVGlwcGUgZWluICBhICAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBUZXh0IE5BQ0ggZGVtIFplaWNoZW4gdW50ZXIgZGVtCi0gICAgIEN1cnNvciBlaW56dWdlYmVuLiAgKEVpbiBncm/fZXMgQSBm/Gd0IG5hY2ggZGVtIEVuZGUgZGVyIFplaWxlIGFuLikKKyAgMi4gRHL8Y2tlICBlICAsIGJpcyBkZXIgQ3Vyc29yIGFtIEVuZGUgdm9uICBaZWkgIHN0ZWh0LgogCi1CZW1lcmt1bmc6IERpZXMgbWFjaHQgZXMg/GJlcmZs/HNzaWcsIGVyc3QgaSB6dSB0aXBwZW4sIGRhbm4gZGFzIGxldHp0ZQotCSAgIFplaWNoZW4sIGRlbiBhbnp1aORuZ2VuZGVuIFRleHQsIDxFU0M+LCBDdXJzb3ItUmVjaHRzLAotCSAgIHVuZCBzY2hsaWXfbGljaCwgeCwgbnVyIHVtIFRleHQgYW4gZWluZSBaZWlsZSBhbnp1aORuZ2VuIQorICAzLiBUaXBwZSBlaW4ga2xlaW5lcyAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uCiAKLSAgMy4gTnVuIHZlcnZvbGxzdORuZGlnZSBkaWUgZXJzdGUgWmVpbGUuICBCZWFjaHRlIGF132VyZGVtICwgZGFzcyBBbmb8Z2VuCi0gICAgIChBcHBlbmQpIGdlbmF1IGRhcyBnbGVpY2hlIGlzdCwgd2llIGRlciBFaW5m/GdlLSAoSW5zZXJ0LSkgTW9kdXMsCi0gICAgIGFiZ2VzZWhlbiB2b24gZGVyIFN0ZWxsZSwgYW4gZGVtIGRlciBUZXh0IGVpbmdlZvxndCB3aXJkLgorICA0LiBWZXJ2b2xsc3TkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERy/GNrZSA8RVNDPiAsCisgICAgIHVtIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLgogCi0tLS0+IERpZXNlIFplaWxlIGJpZXRldCBHZWxlZ2VuaGVpdAotLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQsIFRleHQgYW4gaWhyIEVuZGUgYW56dWb8Z2VuLgorICA1LiBCZXdlZ2UgRGljaCBtaXQgIGUgIHp1bSBu5GNoc3RlbiB1bnZvbGxzdORuZGlnZW4gV29ydCB1bmQgd2llZGVyaG9sZQorICAgICBTY2hyaXR0ZSAzIHVuZCA0LgogCistLS0+IERpZXNlIFplaSBiaWV0ZXQgR2VsZWdlbiAsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWb8LgorLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWb8Z2VuLgogCitCZW1lcmt1bmc6ICBhLCBpIHVuZCBBIGdlaGVuIGFsbGUgZ2xlaWNoZXJtYd9lbiBpbiBkZW4gRWluZvxnZW1vZHVzOyBkZXIKKyAgICAgICAgICAgIGVpbnppZ2UgVW50ZXJzY2hpZWQgaXN0LCB3byBkaWUgWmVpY2hlbiBlaW5nZWb8Z3Qgd2VyZGVuLgogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JICAgIExla3Rpb24gNi4zOiBFSU5FIEFOREVSRSBWRVJTSU9OIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCisJICAgICAgTGVrdGlvbiA2LjM6IEVJTkUgQU5ERVJFIEFSVCBERVMgRVJTRVRaRU5TIChSRVBMQUNFKQogCiAKICAgICAgICAqKiBUaXBwZSBlaW4gZ3Jv32VzICBSICAsIHVtIG1laHIgYWxzIGVpbiBaZWljaGVuIHp1IGVyc2V0emVuLiAqKgogCiAgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorICAgICBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlcyBlcnN0ZW4gIHh4eCAuCiAKLSAgMi4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGRlbiBBbmZhbmcgZGVzIGVyc3RlbiBXb3J0ZXMsIHdlbGNoZXMgc2ljaCB2b24KLSAgICAgZGVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlcnNjaGVpZGV0IChkYXMgV29ydCAnYmVudXR6ZScpLgorICAyLiBOdW4gZHL8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlCisgICAgIHN0ZWh0LCBzbyBkYXMgZGllc2UgZGFzIHh4eCBlcnNldHp0LgogCi0gIDMuIE51biBnaWIgZWluIFIgIGVpbiwgdW5kIGVyc2V0emUgZGVuIFJlc3QgZGVzIFRleHRlcyBhdWYgZGVyIGVyc3RlbgotICAgICBaZWlsZSwgdW0gZGllc2UgZ2xlaWNoIGRlciB6d2VpdGVuIHp1IG1hY2hlbiwgaW5kZW0gRHUgZGVuIGFsdGVuIFRleHQKLSAgICAg/GJlcnNjaHJlaWJzdC4KKyAgMy4gRHL8Y2tlIDxFU0M+ICwgdW0gZGVuIEVyc2V0enVuZ3Ntb2R1cyB6dSB2ZXJsYXNzZW4uIEJlbWVya2UsIGRh3yBkZXIgUmVzdAorICAgICBkZXIgWmVpbGUgdW52ZXLkbmRlcnQgYmxlaWJ0LgogCi0tLS0+IFVtIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4genUgbWFjaGVuLCBiZW51dHplIGRpZSBUYXN0YXR1ci4KLS0tLT4gVW0gZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiB6dSBtYWNoZW4sIHRpcHBlIFIgdW5kIG5ldWVuIFRleHQuCisgIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlLCB1bSBkYXMgdmVyYmxpZWJlbmUgeHh4IHp1IGVyc2V0emVuLgogCi0gIDQuIEJlYWNodGUsIGRhc3MsIHdlbm4gRHUgenVtIFZlcmxhc3NlbiA8RVNDPiBkcvxja3N0LCBz5G10bGljaGVyCi0gICAgIHVuZ2XkbmRlcnRlIFRleHQgYmVzdGVoZW4gYmxlaWJ0LgorLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4KKy0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgNDU2IGVyZ2lidCA1NzkuCiAKK0JlbWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5m/GdlbW9kdXMsIGFiZXIgamVkZXMgZWluZ2V0aXBwdGUKKyAgICAgICAgICAgWmVpY2hlbiBs9nNjaHQgZWluIHZvcmhhbmRlbmVzIFplaWNoZW4uCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICBMZWt0aW9uIDYuNDogT1BUSU9ORU4gU0VUWkVOCisJCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORtxHRU4KIAorICoqIEJlbnV0emUgZGVuICB5ICBPcGVyYXRvciwgdW0gVGV4dCB6dSBrb3BpZXJlbjsgIHAgICwgdW0gaWhuIGVpbnp1ZvxnZW4gKioKKworICAxLiBHZWhlIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLCBzZXR6ZSBkZW4gQ3Vyc29yIGhpbnRlciAiYSkiLgorCisgIDIuIFN0YXJ0ZSBkZW4gVmlzdWVsbGVuIE1vZHVzIG1pdCAgdiAgLCBiZXdlZ2UgZGVuIEN1cnNvciBnZW5hdSB2b3IgImVyc3RlIi4KKworICAzLiBUaXBwZSAgeSAgLCB1bSBkZW4gaGVydm9yZ2Vob2JlbiBUZXh0IHp1IGtvcGllcmVuLgorCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZTogIGokCisKKyAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWb8Z2VuIHVuZCBhbnNjaGxpZd9lbmQ6ICBhIHp3ZWl0ZSA8RVNDPiAuCisKKyAgNi4gQmVudXR6ZSBkZW4gVmlzdWVsbGVuIE1vZHVzLCB1bSAiIEVpbnRyYWcuIiBhdXN6dXfkaGxlbiwga29waWVyZSBtaXR0ZWxzCisgICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGUgbWl0ICBqJCAgdW5kIGb8Z2UgZGVuIFRleHQKKyAgICAgZG9ydCBtaXQgIHAgIGFuLgorCistLS0+ICBhKSBkaWVzIGlzdCBkZXIgZXJzdGUgRWludHJhZy4KKyAgICAgIGIpCisKK0JlbWVya3VuZzogRHUga2FubnN0ICB5ICBhdWNoIGFscyBPcGVyYXRvciB2ZXJ3ZW5kZW47ICB5dyAga29waWVydCBlaW4gV29ydC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICBMZWt0aW9uIDYuNTogT1BUSU9ORU4gU0VUWkVOCiAKICAgICAgICoqIFNldHplIGVpbmUgT3B0aW9uIHNvLCBkYXNzIGVpbmUgU3VjaGUgb2RlciBlaW5lIEVyc2V0enVuZyBHcm/fLSAqKgogCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKgogCi0KLSAgMS4gU3VjaGUgbmFjaCAnaWdubycsIGluZGVtIER1ICAgIC9pZ25vICAgZWluZ2lic3QuCisgIDEuIFN1Y2hlIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICAgIC9pZ25vcmllcmUgICBlaW5naWJzdC4KICAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHL8Y2tzdC4KIAotICAyLiBTZXR6ZSBkaWUgJ2ljJyAoaWdub3JlY2FzZTsgSWdub3JpZXJlIEdyb98tL0tsZWluc2NocmVpYnVuZykgLSBPcHRpb24sCi0gICAgIGluZGVtIER1ICAgOnNldCBpYyAgIGVpbmdpYnN0LgorICAyLiBTZXR6ZSBkaWUgJ2ljJyAoSWdub3JlIGNhc2UpIC0gT3B0aW9uLCBpbmRlbSBEdSAgIDpzZXQgaWMgICBlaW5naWJzdC4KIAotICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm8nLCBpbmRlbSBEdSBuIHRpcHBzdC4KLSAgICAgV2llZGVyaG9sZSBkaWVzZXMgbm9jaCBlaW5pZ2UgTWFsZSwgaW5kZW0gRHUgZGllIG4gVGFzdGUgZHL8Y2tzdC4KKyAgMy4gTnVuIHN1Y2hlIHdpZWRlciBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgbiAgdGlwcHN0LgorICAgICBCZW1lcmtlLCBkYd8gamV0enQgSWdub3JpZXJlIHVuZCBhdWNoIElHTk9SSUVSRSBnZWZ1bmRlbiB3aXJkLgogCi0gIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIChTdWNoZSBoZXJ2b3JoZWJlbikgdW5kICdpbmNzZWFyY2gnIChJbmtyZW1lbnRlbGxlCi0gICAgIFN1Y2hlKSAtIE9wdGlvbmVuOgotICAgICA6c2V0IGhscyBpcworICA0LiBTZXR6ZSBkaWUgJ2hsc2VhcmNoJyB1bmQgJ2luY3NlYXJjaCcgLSBPcHRpb25lbjogICAgIDpzZXQgaGxzIGlzCiAKLSAgNS4gSmV0enQgZ2liIGRlbiBTdWNoZW4tQmVmZWhsIG5vY2ggZWlubWFsIGVpbiB1bmQgYmVvYmFjaHRlLCB3YXMgcGFzc2llcnQ6Ci0gICAgIC9pZ25vCisgIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+CiAKKyAgNi4gVW0gZGFzIElnbm9yaWVyZW4gdm9uIEdyb98vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMKIAorQmVtZXJrdW5nOiBVbSBkaWUgSGVydm9yaGVidW5nIGRlciBUcmVmZmVyIHp1IGVuZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gKK0JlbWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBm/HIgZWluZSBlaW56aWdlIFN1Y2hlIHp1IGlnbm9yaWVyZW4sIGJlbnV0emUKKyAgICAgICAgICAgXGMgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+CiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExla3Rpb24gNgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA2CiAKKyAxLiBUaXBwZSAgbyAgLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgenUg9mZmbmVuIHVuZCBkZW4gRWluZvxnZW1vZHVzCisgICAgICAgICAgICAgICAgenUgc3RhcnRlbi4KKyAgICBUaXBwZSAgTyAgLCB1bSBlaW5lIFplaWxlINxCRVIgZGVtIEN1cnNvciB6dSD2ZmZuZW4uCiAKLSAgMS4gRGllIEVpbmdhYmUgdm9uICBvICBtYWNodCBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgYXVmIHVuZAotICAgICBwbGF0emllcnQgZGVuIEN1cnNvciBhdWYgZGVyIGdl9mZmbmV0ZW4gWmVpbGUgaW0gRWluZvxnZW1vZHVzLgotICAgICBEaWUgRWluZ2FiZSBlaW5lcyBncm/fZW4gIE8gIPZmZm5ldCBlaW5lIFplaWxlINxCRVIgZGVyamVuaWdlbiwKLSAgICAgYXVmIGRlciBzaWNoIGRlciBDdXJzb3IgYmVmaW5kZXQuCisgMi4gVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWb8Z2VuLgorICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZvxnZW4uCiAKLSAgMi4gR2liIGVpbiAgYSAgZWluLCB1bSBUZXh0IE5BQ0ggZGVtIFplaWNoZW4sIGF1ZiBkZW0gc2ljaCBkZXIgQ3Vyc29yCi0gICAgIGJlZmluZGV0LCBlaW56dWb8Z2VuLgotICAgICBEaWUgRWluZ2FiZSBlaW5lcyBncm/fZW4gIEEgIGVybGF1YnQgZGFzIEFuZvxnZW4gdm9uIFRleHQgbmFjaCBkZW0KLSAgICAgRW5kZSBkZXIgWmVpbGUuCisgMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuCiAKLSAgMy4gRGllIEVpbmdhYmUgZWluZXMgZ3Jv32VuICBSICB3ZWNoc2VsdCBpbiBkZW4gRXJzZXR6dW5ncy0oUmVwbGFjZSktTW9kdXMsCi0gICAgIGJpcyB6dW0gVmVybGFzc2VuIDxFU0M+IGVpbmdlZ2ViZW4gd2lyZC4KKyA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBm/Gd0IGlobiBlaW4uCiAKLSAgNC4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4IgorIDUuIEVpbiBncm/fZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERy/GNrZW4gdm9uICA8RVNDPiAuCiAKKyA2LiBEaWUgRWluZ2FiZSB2b24gIjpzZXQgeHh4IiBzZXR6dCBkaWUgT3B0aW9uICJ4eHgiLiBFaW5pZ2UgT3B0aW9uZW4gc2luZDoKKwknaWMnICdpZ25vcmVjYXNlJyAgICBJZ25vcmllcmUgR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlCisJJ2lzJyAnaW5jc2VhcmNoJyAgICAgWmVpZ2UgVGVpbPxiZXJlaW5zdGltbXVuZ2VuIGb8ciBlaW5lbiBTdWNoYXVzZHJ1Y2sKKwknaGxzJyAnaGxzZWFyY2gnICAgICBIZWJlIGFsbGUgcGFzc2VuZGVuIEF1c2Ry/GNrZSBoZXJ2b3IKKyAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4KIAorIDcuIFN0ZWxsZSBlaW5lciBPcHRpb24gIm5vIiB2b3JhbiwgdW0gc2llIGFienVzY2hhbHRlbjogICA6c2V0IG5vaWMKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICBMZWt0aW9uIDcgOiBESUUgT05MSU5FLUhJTEZFCisJCQlMZWt0aW9uIDcuMSA6IEFVRlJVRkVOIFZPTiBISUxGRQorCiAKIAkJICAgICAqKiBOdXR6ZSBkYXMgZWluZ2ViYXV0ZSBIaWxmZXN5c3RlbSAqKgogCkBAIC03NzIsODIgKzg2MSwxMjAgQEAKIAktIERy/GNrZSBkaWUgPEYxPiBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQogCS0gVGlwcGUgICA6aGVscCA8RU5URVI+CiAKKyAgTGllcyBkZW4gVGV4dCBpbSBIaWxmZWZlbnN0ZXIsIHVtIHp1IHZlcnN0ZWhlbiB3aWUgZGllIEhpbGZlIGZ1bmt0aW9uaWVydC4KKyAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLgogICBUaXBwZSAgIDpxIDxFTlRFUj4gICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCiAKLSAgRHUga2FubnN0IEhpbGZlIPxiZXIgcHJha3Rpc2NoIGplZGVzIFRoZW1hIGZpbmRlbiwgaW5kZW0gRHUgZGVtICI6aGVscCIKKyAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQogICBLb21tYW5kbyBlaW4gQXJndW1lbnQgZ2lic3QuICBQcm9iaWVyZSBmb2xnZW5kZXMgKDxFTlRFUj4gbmljaHQgdmVyZ2Vzc2VuKToKIAotICA6aGVscCB3Ci0gIDpoZWxwIGNfPFQKLSAgOmhlbHAgaW5zZXJ0LWluZGV4Ci0gIDpoZWxwIHVzZXItbWFudWFsCi0KLQorCTpoZWxwIHcKKwk6aGVscCBjX0NUUkwtRAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgTGVrdGlvbiA4OiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUCisJCSAgICAgTGVrdGlvbiA3LjI6IEVSU1RFTExFIEVJTiBTVEFSVC1TS1JJUFQKIAotCQkgKiogIEFrdGl2aWVyZSBkaWUgRnVua3Rpb25hbGl05HRlbiB2b24gVmltICoqCisKKwkgICAqKiAgQWt0aXZpZXJlIGRpZSBlaW5nZWJhdXRlbiBGdW5rdGlvbmFsaXTkdGVuIHZvbiBWaW0gKioKIAogICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3RlbgotICB2b24gaWhuZW4gc2luZCBzdGFuZGFyZG3k32lnIGRlYWt0aXZpZXJ0LgotICBVbSBkaWVzZSB6dSBha3RpdmllcmVuLCBtdXNzdCBEdSBlaW5lICJ2aW1yYyIgLSBEYXRlaSBlcnN0ZWxsZW4uCisgIHZvbiBpaG5lbiBzaW5kIHN0YW5kYXJkbeTfaWcgZGVha3RpdmllcnQuIFVtIG1laHIgRnVua3Rpb25hbGl05HRlbiB6dSBudXR6ZW4sCisgIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4KIAotMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGRpZXMgaXN0IHZvbiBEZWluZW0gU3lzdGVtIGFiaORuZ2lnOgotCTplZGl0IH4vLnZpbXJjCQkJZvxyIFVuaXgKLQk6ZWRpdCAkVklNL192aW1yYwkJZvxyIE1TLVdpbmRvd3MKKyAgMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGFiaORuZ2lnIHZvbiBEZWluZW0gU3lzdGVtOgorCTplIH4vLnZpbXJjCQlm/HIgVW5peAorCTplICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cwogCi0yLiBOdW4gbGllcyBkaWUgQmVpc3BpZWwgLSAidmltcmMiIGVpbjoKKyAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46CisJOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KIAotCTpyZWFkICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisgIDMuIFNwZWljaGVyZSBkaWUgRGF0ZWkgbWl0OgorCTp3CiAKLTMuIFNwZWljaGVyZSBkaWUgRGF0ZWkgbWl0OgorICBCZWltIG7kY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLgorICBEdSBrYW5uc3QgYWxsIERlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZvxnZW4uCisgIEb8ciBtZWhyIEluZm9ybWF0aW9uZW4gdGlwcGUgIDpoZWxwIHZpbXJjLWludHJvCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUxE5ESUdFTgogCi0JOndyaXRlCiAKLURhcyBu5GNoc3RlIE1hbCwgd2VubiBEdSBWaW0gc3RhcnRlc3QsIHdpcmQgZGllIFN5bnRheC1IZXJ2b3JoZWJ1bmcKLWFrdGl2aWVydCBzZWluLgotRHUga2FubnN0IGFsbCBEZWluZSBMaWVibGluZ3NvcHRpb25lbiB6dSBkaWVzZXIgInZpbXJjIiAtIERhdGVpIHp1ZvxnZW4uCisJICAgKiogS29tbWFuZG96ZWlsZW52ZXJ2b2xsc3TkbmRpZ3VuZyBtaXQgQ1RSTC1EIGFuZCA8VEFCPiAqKgorCisgIDEuIFN0ZWxsZSBzaWNoZXIsIGRh3yBWaW0gbmljaHQgaW0gdmktS29tcGF0aWJpbGl05HRzbW9kdXMgaXN0OiAgOnNldCBub2NwCisKKyAgMi4gU2llaGUgbmFjaCwgd2VsY2hlIERhdGVpZW4gaW0gVmVyemVpY2huaXMgZXhpc3RpZXJlbjogIDohbHMgIG9kZXIgIDpkaXIKKworICAzLiBUaXBwZSBkZW4gQmVnaW5uIGVpbmVzIEtvbWFuZG9zOiAgOmUKKworICA0LiBEcvxja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLgorCisgIDUuIERy/GNrZSAgPFRBQj4gIHVuZCBWaW0gdmVydm9sbHN05G5kaWd0IGRlbiBLb21tYW5kb25hbWVuIHp1ICI6ZWRpdCIuCisKKyAgNi4gTnVuIGb8Z2UgZWluIExlZXJ6ZWljaGVuIHVuZCBkZW4gQmVnaW5uIGVpbmVyIGV4aXN0aWVyZW5kZW4gRGF0ZWkgYW46CisgICAgIDplZGl0IERBVAorCisgIDcuIERy/GNrZSA8VEFCPi4gVmltIHZlcnZvbGxzdORuZGlndCBkZW4gTmFtZW4gKGZhbGxzIGVyIGVpbmRldXRpZyBpc3QpLgorCitCZW1lcmt1bmc6IFZlcnZvbGxzdORuZGlndW5nIGZ1bmt0aW9uaWVydCBm/HIgdmllbGUgS29tbWFuZG9zLiBWZXJzdWNoZQorICAgICBlaW5mYWNoIENUUkwtRCB1bmQgPFRBQj4uICBEaWVzIGlzdCBpbnNiZXNvbmRlcmUgbvx0emxpY2ggZvxyICA6aGVscCAuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNworCisKKyAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRy/GNrZSA8RjE+IG9kZXIgPEhlbHA+LCB1bSBlaW4gSGlsZmVmZW5zdGVyIHp1IPZmZm5lbi4KKworICAyLiBUaXBwZSAgOmhlbHAgS29tbWFuZG8gICwgdW0gSGlsZmUg/GJlciAgS29tbWFuZG8gIHp1IGVyaGFsdGVuLgorCisgIDMuIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAsIHVtIHp1bSBhbmRlcmVuIEZlbnN0ZXIgenUgc3ByaW5nZW4uCisKKyAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLgorCisgIDUuIEVyc3RlbGxlIGVpbiB2aW1yYyAtIFN0YXJ0c2tyaXB0IHp1ciBTaWNoZXJ1bmcgYmV2b3J6dWd0ZXIgRWluc3RlbGx1bmdlbi4KKworICA2LiBEcvxja2UgQ1RSTC1EIG5hY2ggZGVtIFRpcHBlbiBlaW5lcyBLb21tYW5kb3MgIDogICwgdW0gbfZnbGljaGUKKyAgICAgVmVydm9sbHN05G5kaWd1bmdlbiB6dSBzZWhlbi4KKyAgICAgRHL8Y2tlIDxUQUI+IGb8ciBlaW5lIGVpbnppZ2UgVmVydm9sbHN05G5kaWd1bmcuCisKKworCisKIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAogICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgRGllIEludGVudGlvbiB3YXIsIGVpbmVuIGt1cnplbiB1bmQKICAgYvxuZGlnZW4g3GJlcmJsaWNrIPxiZXIgZGVuIFZpbSBFZGl0b3IgenUgbGllZmVybjsgZ2VyYWRlIGdlbnVnLCB1bSByZWxhdGl2Ci0gIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga/ZubmVuLgotICBEZXIgVmltIFR1dG9yIGhhdCBuaWNodCBkZW4gZ2VyaW5nc3RlbiBBbnNwcnVjaCBhdWYgVm9sbHN05G5kaWdrZWl0OwotICBWaW0gaGF0IG5vY2ggd2VpdGF1cyBtZWhyIEtvbW1hbmRvcy4KLSAgV2FnZSBEaWNoIGFscyBu5GNoc3RlcyBhbiBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisgIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga/ZubmVuLiAgRGVyIFZpbSBUdXRvciBoYXQgbmljaHQgZGVuIGdlcmluZ3N0ZW4KKyAgQW5zcHJ1Y2ggYXVmIFZvbGxzdORuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzCisgIG7kY2hzdGVzIGRhcyBVc2VyIE1hbnVhbDogIjpoZWxwIHVzZXItbWFudWFsIi4KIAotICBG/HIgd2VpdGVyZXMgTGVzZW4gdW5kIExlcm5lbiBrYW5uIGZvbGdlbmRlcyBCdWNoIGVtcGZvaGxlbiB3ZXJkZW46CisgIEb8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGlzdCBmb2xnZW5kZXMgQnVjaCBlbXBmb2hsZW4gOgogCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lCiAJVmVybGFnOiBOZXcgUmlkZXJzCi0gIERhcyBlcnN0ZSBCdWNoLCBkYXMgZHVyY2hn5G5naWcgVmltIGdld2lkbWV0IGlzdC4gIEJlc29uZGVycyBu/HR6bGljaAotICBm/HIgQW5m5G5nZXIuCi0gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLgotICBTaWVoZSBodHRwOi8vd3d3LmljY2YubmwvY2xpY2s1Lmh0bWwKLQotICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZu+/vXIgVmVyc2lvbiA2LjIgdW5kIGtuYXBwZSBFaW5m77+9aHJ1bmcgZGllbnQgZGFzCi0gIGZvbGdlbmRlIEJ1Y2g6Ci0gICAgICAgIHZpbSBnZS1wYWNrdCB2b24gUmVpbmhhcmQgV29ic3QKLQltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05Ci0gIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG7vv710emxpY2hlIEJlaXNwaWVsZSBhdWNoCi0gIGbvv71yIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZAotICBvbmxpbmUgZXJo77+9bHRsaWNoLiAgU2llaGUgaHR0cDovL3d3dy5pY2NmLm5sL2NsaWNrNS5odG1sCisgIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gKKyAgZvxyIEFuZuRuZ2VyLiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uCisgIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCiAKICAgRm9sZ2VuZGVzIEJ1Y2ggaXN0IORsdGVyIHVuZCBtZWhyIPxiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0OgotCUxpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zCi0JVGV4dGJlYXJiZWl0dW5nIG1pdCBkZW0gdmktRWRpdG9yCisJVGV4dGJlYXJiZWl0dW5nIG1pdCBkZW0gdmktRWRpdG9yICAtICB2b24gTGluZGEgTGFtYiB1bmQgQXJub2xkIFJvYmJpbnMKIAlWZXJsYWcgTydSZWlsbHkgLSBJU0JOOiAzODk3MjExMjYyCiAgIEluIGRpZXNlbSBCdWNoIGthbm4gbWFuIGZhc3QgYWxsZXMgZmluZGVuLCB3YXMgbWFuIG1pdCBWaSB0dW4gbfZjaHRlLgogICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIPxiZXIgVmltLgogCisgIEFscyBha3R1ZWxsZSBSZWZlcmVueiBm/HIgVmVyc2lvbiA2LjIgdW5kIGtuYXBwZSBFaW5m/GhydW5nIGRpZW50IGRhcworICBmb2xnZW5kZSBCdWNoOgorCXZpbSBnZS1wYWNrdCB2b24gUmVpbmhhcmQgV29ic3QKKwltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05CisgIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG78dHpsaWNoZSBCZWlzcGllbGUgYXVjaAorICBm/HIgRWluc3RlaWdlciBlbXBmZWhsZW5zd2VydC4gIFByb2Jla2FwaXRlbCB1bmQgZGllIEJlaXNwaWVsc2tyaXB0ZSBzaW5kCisgIG9ubGluZSBlcmjkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKwogICBEaWVzZXMgVHV0b3JpYWwgd3VyZGUgZ2VzY2hyaWViZW4gdm9uIE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKLSAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwKLSAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eSwgenVyIFZlcmb8Z3VuZyBzdGVsbHRlLgotICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUKKyAgVW5pdmVyc2l0eSwgenVyIFZlcmb8Z3VuZyBzdGVsbHRlLiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCiAKICAgQmVhcmJlaXRldCBm/HIgVmltIHZvbiBCcmFtIE1vb2xlbmFhci4KKyAgRGV1dHNjaGUg3GJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDA3LiAgRS1tYWlsOiBKb2FjaGltLkhvZkBnbXguZGUKIAotICBEZXV0c2NoZSDcYmVyc2V0enVuZyB2b24gSm9hY2hpbSBIb2ZtYW5uLCBTZXB0ZW1iZXIgMjAwMi4KLSAgRS1tYWlsOiBKb2FjaGltLkhvZkBnbXguZGUKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5nciBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZ3IKaW5kZXggNTI4OTc3Yi4uZDQwMmJjOCAxMDA2NDQKLS0tIGEvcnVudGltZS90dXRvci90dXRvci5ncgorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmdyCkBAIC01NTcsNyArNTU3LDcgQEAKIAogCSAgKiogw+nhIO3hIPP+8+X05SD07N7s4SD07/Ug4fH35d/v9Swg4/Hc+PTlICA6IywjIHcgwdHXxcnPICoqCiAKLSAgMS4gouvr5yDs6eEg9u/x3Cwg4/Hc+PTlICA6IWRpciAg3iAgOiFscyAg4+nhIO3hIPDc8eX05SDs3+Eg69/z9OEg4fD8IPTv7QorICAxLiC26+vnIOzp4SD27/HcLCDj8dz49OUgIDohZGlyICDeICA6IWxzICDj6eEg7eEg8Nzx5fTlIOzf4SDr3/P04SDh8Pwg9O/tCiAgICAgIOrh9Nzr7+P8IPPh8iDq4ekg5Onh693u9OUg3e3hIOrh9Nzr6+fr7yD87e/s4SDh8ffl3+/1IPzw+fIg9O8gVEVTVC4KIAogICAyLiDM5fTh6unt5d/z9OUg9O/tIOTx7+zd4SDz9O8g8Nzt+SDs3fHv8iDh9fTe8iD05/Ig8+Xr3+Th8iDq4ekg8OH03vP05QpAQCAtNjQ2LDcgKzY0Niw3IEBACiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCQkgzNzo5+zhIDYuMjogxyDFzdTPy8cg0NHP08jHysfTCiAKLQkgICoqINDh9N7z9OUgICBhICAg4+nhIO3hIOXp89zj5fTlIOrl3+zl7e8gzMXUoiD07+0g5PHv7N3hLiAqKgorCSAgKiog0OH03vP05SAgIGEgICDj6eEg7eEg5enz3OPl9OUg6uXf7OXt7yDMxdTBIPTv7SDk8e/s3eEuICoqCiAKICAgMS4gzOX04erp7eXf8/TlIPTv7SDk8e/s3eEg8/TvIPTd6+/yIPTn8iDw8f705/Ig4/Hh7Oze8iDw4fHh6tz0+QogICAgICDz5+zl6fns3e3nIOzlIC0tLT4g8OH0/u304fIgICQgIPP05+0gyuHt7+3p6t4gyuH03PP04fPnLgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5nci5jcDczNyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZ3IuY3A3MzcKaW5kZXggNmFkMzcyZS4uNjljZWZmMSAxMDA2NDQKLS0tIGEvcnVudGltZS90dXRvci90dXRvci5nci5jcDczNworKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmdyLmNwNzM3CkBAIC04Nyw3ICs4Nyw3IEBACiAKIC0tLT4gVGhlIGNjb3cganVtcGVkZCBvdnZlcnIgdGhoZSBtb29vbi4KIAotICA1LiCS6aiYIKemrCCeIJqomKOj4yCc5aSYoCCp4Kmr4ywgp56amOWknKucIKmrpiCL4Z+eo5ggMS40LgorICA1LiCS6aiYIKemrCCeIJqomKOj4yCc5aSYoCCp4Kmr4ywgp56amOWkq5wgqaumIIvhn56jmCAxLjQuCiAKIJGGi4SIl5GGOiCJmJ/pqiCboJirqOKunKucIJisq+OkIKuepCCnnKig45qeqZ4sIKeopqmnmJ/jqaucIKSYIKOepAogCSAgmKemo6Seo6aknOecq5wsIKOYn5jlpJyrnCCjnCCrniCuqOOpni4KQEAgLTEyNCw3ICsxMjQsNyBAQAogICAyLiCCoJggpJggo6ec5aucIKmrpqQgVmltICiYp+Ygq56kIKeopquopqfjICUpIJqo4a+rnDogIHZpbSCAkJWEiI4gPEVOVEVSPgogCiAgIDMuIIKgmCCkmCCZmpzlq5wgmqjhr6ucOiAgPEVTQz4gICA6cSEgICA8RU5URVI+ICAgmqCYIJin5qiooK+eIKvgpCCYoqKYmumkLgotCQkg7CCaqOGvq5w6ICA8RVNDPiAgIDp3cQk8RU5URVI+ICAgmqCYIJinpp/joZysqZ4gq+CkIJiiopia6aQuCisJCSDsIJqo4a+rnDogIDxFU0M+ICAgOndxICAgPEVOVEVSPiAgIJqgmCCYp6af46GcrKmeIKvgpCCYoqKYmumkLgogCiAgIDQuIIKgmCCkmCCboJiaqOGvnKucIOKkmKQgrpiomKGr46iYIKHhq+AgmKfmIKumpCCbqKaj4pggqZwKICAgICAgiZikpqSgoeMgiZir4amrmKmeIKeYq+Opq5w6ICB4CkBAIC0xNTcsNyArMTU3LDcgQEAKIC0tLT4gVGhlcmUgYXJlIGEgc29tZSB3b3JkcyBmdW4gdGhhdCBkb24ndCBiZWxvbmcgcGFwZXIgaW4gdGhpcyBzZW50ZW5jZS4KIAogICA1LiCEp5ikmKLhmZyrnCCrmCCZ46OYq5ggMyChmKAgNCCj4q6ooCCeIKeo5quYqZ4gpJggnOWkmKAgqeCpq+MgoZigCi0gICAgIKeempjlpKucIKmrpiCL4Z+eo5ggMi4yLgorICAgICCnnpqY5aScq5wgqaumIIvhn56jmCAyLjIuCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJICAgi+GfnqOYIDIuMjogj4SQiJGRjpKEkISRIISMko6KhJEgg4iAgpCAlIaRCkBAIC0yNzcsNiArMjc3LDcgQEAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCYvhn56jmCAzLjE6IIYghIySjoqGIJKOj46HhJKGkYaRCiAKKwogICAqKiCPmKvjqaucICBwICCaoJggpJggq6anpp+cq+OpnKucIKuepCCrnKKcrKuY5Zggm6CYmqiYreMgo5yr4SCrpqQgm6imo+KYLiAgKioKIAogICAxLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCCpq56kIKeo6aueIJqomKOj4yCrnqogp5iomKHhq+AgpqPhm5iqLgpAQCAtMzA0LDcgKzMwNSw3IEBACiAgICAgKiogj5ir46mrnCAgciAgoZigIK6YqJihq+OomCCaoJggpJggmKKi4aWcq5wgmKyr5qQgp6asIJzlpJigCiAgICAgICAgoeGr4CCYp+Ygq6akIJuopqPimC4gKioKIAotICAxLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCCpq56kIKeo6aueIJqomKOj4yCnmKiYoeGr4CCpnqOcoOmjnKSeIKOcIC0tLT4uCisgIDEuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIKmrnqQgp6jpq54gmqiYo6PjIKeYqJih4avgIKmeo5yg4KPipJ4go5wgLS0tPi4KIAogICAyLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCDiq6mgIOmpq5wgpJggnOWkmKAgp+Gk4CCpq6Ygp6jpq6YgouGfpqouCiAKQEAgLTYwMyw3ICs2MDQsNyBAQAogICAxLiAgOiGcpKumouMgIJyhq5yinOUgo+WYIJyl4KucqKCh4yCcpKumouMuCiAKICAgICAgIIucqKCh4SCuqOOpoKOYIKeYqJibnOWao5irmCCc5aSYoCAoTVMtRE9TKToKLSAgICAgIDohZGlyCSAgICAgICAtIJyjreGkoKmeIKLlqauYqiCcpOaqIKGYq5ii5pqmrC4KKyAgICAgIDohZGlyICAgICAgICAgICAgLSCco63hpKCpniCi5amrmKognKTmqiChmKuYouaapqwuCiAgICAgICA6IWRlbCCAkJWEiI4gICAgIC0gm6CYmqjhrZygIKumIICQlYSIji4KIAogICAyLiAgOncggJCVhIiOICAgmqjhrZygIKumIKuo4q7gpCCYqK6c5aYgq6asIFZpbSCpq6Ygm+WpoaYgo5wg5qSmo5gggJCVhIiOLgpAQCAtNjQ1LDcgKzY0Niw3IEBACiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCQkgi+GfnqOYIDYuMjoghiCEjJKOioYgj5COkYeGiYaRCiAKLQkgICoqII+Yq+Opq5wgICBhICAgmqCYIKSYIJygqeGanKucIKGc5aOcpKYgi4SS6iCrpqQgm6imo+KYLiAqKgorCSAgKiogj5ir46mrnCAgIGEgICCaoJggpJggnKCp4Zqcq5wgoZzlo5ykpiCLhJKAIKumpCCbqKaj4pguICoqCiAKICAgMS4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqaumIKvioqaqIKueqiCnqOmrnqogmqiYo6PjqiCnmKiYoeGr4AogICAgICCpnqOcoOCj4qSeIKOcIC0tLT4gp5ir6aSrmKogICQgIKmrnqQgiZikpqSgoeMgiZir4amrmKmeLgpAQCAtNjYwLDcgKzY2MSw3IEBACiAKICAgMy4gkayjp6KeqOmpq5wgq+momCCrnqQgp6jpq54gmqiYo6PjLiCRnqOcoOmpq5wgnKflqZ6qIOaroCCeIKeopqmf46GeIJzlpJigCiAgICAgIJihqKCZ6aog5ZugmCCpq56kIImYq+Gpq5ipniCJnKCj4qSmrCCjnCCrnqQgiZir4amrmKmeIISgqZia4JrjqiwgnKGr5qoKLQkgIJin5iCrniCf4qmeIKemrCCcoKnhmpyrmKAgq6YgoZzlo5ykpi4KKyAgICAgmKfmIKueIJ/iqZ4gp6asIJygqeGanKuYoCCrpiChnOWjnKSmLgogCiAtLS0+IFRoaXMgbGluZSB3aWxsIGFsbG93IHlvdSB0byBwcmFjdGljZQogLS0tPiBUaGlzIGxpbmUgd2lsbCBhbGxvdyB5b3UgdG8gcHJhY3RpY2UgYXBwZW5kaW5nIHRleHQgdG8gdGhlIGVuZCBvZiBhIGxpbmUuCkBAIC04MTIsNCArODEzLDMgQEAKICAgj6imqZioo6aa4yCaoJggq6akIFZpbSCYp+Ygq6akIEJyYW0gTW9vbGVuYWFyLgogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3Iubm8gYi9ydW50aW1lL3R1dG9yL3R1dG9yLm5vCmluZGV4IDJlMDM2MDQuLjE3MTc4ZGYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3Iubm8KKysrIGIvcnVudGltZS90dXRvci90dXRvci5ubwpAQCAtMSwyNSArMSwyNiBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotPSBWIGUgbCBrIG8gbSBtIGUgbiAgIHQgaSBsICAgaSBuIG4gZiD4IHIgaSBuIGcgZSBuICAgaSAgIFYgaSBtICAtLSAgVmVyLiAxLjUgPQorPSBWIGUgbCBrIG8gbSBtIGUgbiAgIHQgaSBsICAgaSBuIG4gZiD4IHIgaSBuIGcgZSBuICAgaSAgIFYgaSBtICAtLSAgVmVyLiAxLjcgPQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0gICAgIFZpbSBlciBlbiBtZWdldCBrcmFmdGlnIGVkaXRvciBtZWQgbWFuZ2Uga29tbWFuZG9lciwgYWx0IGZvciBtYW5nZQotICAgICB0aWwg5SBrdW5uZSBn5SBnamVubm9tIGFsbGUgaSBlbiBpbm5m+HJpbmcgc29tIGRlbm5lLiBEZW4gZXIgYmVyZWduZXQKLSAgICAgcOUg5SBzZXR0ZSBkZWcgaW5uIGkgYnJ1a2VuIGF2IG5vayBrb21tYW5kb2VyIHPlIGR1IHZpbCB25nJlIGkgc3RhbmQKLSAgICAgdGlsIGxldHQg5SBrdW5uZSBicnVrZSBWaW0gc29tIGVuIGVkaXRvciB0aWwgYWxsZSBmb3Jt5WwuCisgICAgIFZpbSBlciBlbiBtZWdldCBrcmFmdGlnIGVkaXRvciBtZWQgbWFuZ2Uga29tbWFuZG9lciwgYWx0IGZvciBtYW5nZSB0aWwg5QorICAgICBrdW5uZSBn5SBnamVubm9tIGFsbGUgaSBlbiBpbm5m+HJpbmcgc29tIGRlbm5lLiBEZW4gZXIgYmVyZWduZXQgcOUg5QorICAgICBzZXR0ZSBkZWcgaW5uIGkgYnJ1a2VuIGF2IG5vayBrb21tYW5kb2VyIHPlIGR1IHZpbCB25nJlIGkgc3RhbmQgdGlsIGxldHQKKyAgICAg5SBrdW5uZSBicnVrZSBWaW0gc29tIGVuIGVkaXRvciB0aWwgYWxsZSBmb3Jt5WwuCiAKICAgICAgVGlkZW4gc29tIGtyZXZlcyBmb3Ig5SBn5SBnamVubm9tIGRlbm5lIGlubmb4cmluZ2VuIHRhciBjYS4gMjUtMzAKICAgICAgbWludXR0ZXIsIGF2aGVuZ2lnIGF2IGh2b3IgbXllIHRpZCBkdSBicnVrZXIgdGlsIGVrc3BlcmltZW50ZXJpbmcuCiAKKyAgICAgTUVSSzoKICAgICAgS29tbWFuZG9lbmUgaSBsZWtzam9uZW5lIHZpbCBtb2RpZmlzZXJlIHRla3N0ZW4uIExhZyBlbiBrb3BpIGF2IGRlbm5lCiAgICAgIGZpbGVuIHNvbSBkdSBrYW4g+HZlIGRlZyBw5SAoaHZpcyBkdSBravhydGUgq3ZpbXR1dG9yuy1rb21tYW5kb2VuLCBlcgogICAgICBkZXR0ZSBhbGxlcmVkZSBlbiBrb3BpKS4KIAotICAgICBEZXQgZXIgdmlrdGlnIOUgaHVza2UgYXQgZGVubmUgaW5uZvhyaW5nZW4gZXIgYmVyZWduZXQgcOUgbOZyaW5nCi0gICAgIGdqZW5ub20gYnJ1ay4gRGV0IGJldHlyIGF0IGR1IG3lIHV0ZvhyZSBrb21tYW5kb2VuZSBmb3Ig5SBs5nJlIGRlbQotICAgICBza2lra2VsaWcuIEh2aXMgZHUgYmFyZSBsZXNlciB0ZWtzdGVuLCB2aWwgZHUgZ2xlbW1lIGtvbW1hbmRvZW5lIQorICAgICBEZXQgZXIgdmlrdGlnIOUgaHVza2UgYXQgZGVubmUgaW5uZvhyaW5nZW4gZXIgYmVyZWduZXQgcOUgbOZyaW5nIGdqZW5ub20KKyAgICAgYnJ1ay4gRGV0IGJldHlyIGF0IGR1IG3lIHV0ZvhyZSBrb21tYW5kb2VuZSBmb3Ig5SBs5nJlIGRlbSBza2lra2VsaWcuCisgICAgIEh2aXMgZHUgYmFyZSBsZXNlciB0ZWtzdGVuLCB2aWwgZHUgZ2xlbW1lIGtvbW1hbmRvZW5lIQogCi0gICAgIEb4cnN0IGF2IGFsdCwgc2pla2sgYXQgq0NhcHMgTG9ja7sgSUtLRSBlciBha3RpdiBvZyB0cnlrayCrarstdGFzdGVuCi0gICAgIGhlbHQgdGlsIGxla3Nqb24gMS4xIGZ5bGxlciBza2plcm1lbi4KKyAgICAgRvhyc3QgYXYgYWx0LCBzamVrayBhdCCrQ2FwcyBMb2NruyBJS0tFIGVyIGFrdGl2IG9nIHRyeWtrIKtquy10YXN0ZW4gZm9yCisgICAgIOUgZmx5dHRlIG1hcmv4cmVuIGhlbHQgdGlsIGxla3Nqb24gMS4xIGZ5bGxlciBza2plcm1lbi4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgICBMZWtzam9uIDEuMTogIEZMWVRUSU5HIEFWIE1BUkvYUkVOCiAKQEAgLTMzLDQ2ICszNCw0NiBAQAogICAxLiBGbHl0dCBtYXJr+HJlbiBydW5kdCBw5SBza2plcm1lbiB0aWwgZHUgaGFyIGbldHQgZGV0IGlubiBpIGZpbmdyZW5lLgogCiAgIDIuIEhvbGQgaW5uZSBuZWRvdmVydGFzdGVuIChqKSB0aWwgZGVuIHJlcGV0ZXJlci4KLS0tLT4gTuUgdmV0IGR1IGh2b3JkYW4gZHUgYmV2ZWdlciBkZWcgdGlsIG5lc3RlIGxla3Nqb24uCisgICAgIE7lIHZldCBkdSBodm9yZGFuIGR1IGJldmVnZXIgZGVnIHRpbCBuZXN0ZSBsZWtzam9uLgogCiAgIDMuIEflIHRpbCBsZWtzam9uIDEuMiB2ZWQgaGplbHAgYXYgbmVkb3ZlcnRhc3Rlbi4KIAotTUVSSzogSHZpcyBkdSBibGlyIHVzaWtrZXIgcOUgbm9lIGR1IGhhciBza3JldmV0LCB0cnlrayA8RVNDPiBmb3Ig5SBn5SB0aWwKLSAgICAgIG5vcm1hbG1vZHVzLiBTa3JpdiBkZXJldHRlciBrb21tYW5kb2VuIGR1IPhuc2tldC4KK01lcms6IEh2aXMgZHUgYmxpciB1c2lra2VyIHDlIG5vZSBkdSBoYXIgc2tyZXZldCwgdHJ5a2sgPEVTQz4gZm9yIOUgZ+UgdGlsCisgICAgICBub3JtYWxtb2R1cy4gU2tyaXYgZGVyZXR0ZXIga29tbWFuZG9lbiBkdSD4bnNrZXQgcOUgbnl0dC4KIAotTUVSSzogUGlsdGFzdGVuZSBza2FsIG9nc+Ugdmlya2UuIE1lbiB2ZWQg5SBicnVrZSBoamtsIHZpbCBkdSB25nJlIGkgc3RhbmQgdGlsCi0gICAgICDlIGJldmVnZSBtYXJr+HJlbiBteWUgcmFza2VyZSBu5XIgZHUgZXIgYmxpdHQgdmFudCB0aWwgZGV0LgorTWVyazogUGlsdGFzdGVuZSBza2FsIG9nc+Ugdmlya2UuIE1lbiB2ZWQg5SBicnVrZSBoamtsIHZpbCBkdSB25nJlIGkgc3RhbmQgdGlsCisgICAgICDlIGJldmVnZSBtYXJr+HJlbiBteWUgcmFza2VyZSBu5XIgZHUgZXIgYmxpdHQgdmFudCB0aWwgZGV0LiBIZWx0IHNhbnQhCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgIExla3Nqb24gMS4yOiBPUFBTVEFSVCBPRyBBVlNMVVROSU5HIEFWIFZJTQorCQkJICBMZWtzam9uIDEuMjogQVZTTFVUVEUgVklNCiAKIAotICAhISBNRVJLOiBG+HIgZHUgdXRm+HJlciBub2VuIGF2IHB1bmt0ZW5lIG5lZGVuZm9yLCBsZXMgaGVsZSBsZWtzam9uZW4hCisgICEhIE1FUks6IEb4ciBkdSB1dGb4cmVyIG5vZW4gYXYgcHVua3RlbmUgbmVkZW5mb3IsIGxlcyBoZWxlIGxla3Nqb25lbiEhCiAKICAgMS4gVHJ5a2sgPEVTQz4tdGFzdGVuIChmb3Ig5SBmb3JzaWtyZSBkZWcgb20gYXQgZHUgZXIgaSBub3JtYWxtb2R1cykuCiAKLSAgMi4gU2tyaXY6ICA6cSEgPEVOVEVSPgotCi0tLS0+IERldHRlIGF2c2x1dHRlciBlZGl0b3JlbiBVVEVOIGF0IGVuZHJpbmdlciBibGlyIGxhZ3JldC4KLSAgICAgSHZpcyBkdSB2aWwgbGFncmUgZW5kcmluZ2VuZSBvZyBhdnNsdXR0ZSwgc2tyaXZlciBkdToKLQkgICAgIDp3cSA8RU5URVI+CisgIDIuIFNrcml2Ogk6cSEgPEVOVEVSPi4KKyAgICAgRGV0dGUgYXZzbHV0dGVyIGVkaXRvcmVuIG9nIEZPUktBU1RFUiBhbGxlIGZvcmFuZHJpbmdlciBzb20gZHUgaGFyIGdqb3J0LgogCiAgIDMuIE7lciBkdSBzZXIga29tbWFuZG9saW5qZW4gaSBza2FsbGV0LCBza3JpdiBrb21tYW5kb2VuIHNvbSBzdGFydGV0IGRlbm5lCi0gICAgIGlubmb4cmluZ2VuLiBEZXQga2FuIHbmcmU6ICB2aW10dXRvciA8RU5URVI+Ci0gICAgIE5vcm1hbHQgdmlsIGR1IGJydWtlOgkgdmltIHR1dG9yIDxFTlRFUj4KLQotLS0tPiBNZWQgq3ZpbbsgbWVuZXMgVmltLWVkaXRvcmVuLCCrdHV0b3K7IGVyIGZpbGVuIHNvbSBkdSB2aWwgcmVkaWdlcmUuCisgICAgIGlubmb4cmluZ2VuLiBEZW4gZXI6ICAgdmltdHV0b3IgPEVOVEVSPgogCiAgIDQuIEh2aXMgZHUgZXIgc2lra2VyIHDlIGF0IGR1IGh1c2tlciBkZXR0ZSwgdXRm+HIgcHVua3RlbmUgMSB0aWwgMyBmb3Ig5QotICAgICBhdnNsdXR0ZSBvZyBzdGFydGUgZWRpdG9yZW4gcOUgbnl0dC4gRGVyZXR0ZXIgZmx5dHRlciBkdSBtYXJr+HJlbiBuZWQgdGlsCi0gICAgIGxla3Nqb24gMS4zLgorICAgICBhdnNsdXR0ZSBvZyBzdGFydGUgZWRpdG9yZW4gcOUgbnl0dC4KKworTUVSSzogIDpxISA8RU5URVI+ICBmb3JrYXN0ZXIgYWxsZSBmb3JhbmRyaW5nZXIgc29tIGR1IGdqb3JkZS4gSSBs+HBldCBhdiBub2VuCisgICAgICAgZuUgbGVrc2pvbmVyIHZpbCBkdSBs5nJlIGh2b3JkYW4gZHUgbGFncmVyIGZvcmFuZHJpbmdlbmUgdGlsIGVuIGZpbC4KKworICA1LiBGbHl0dCBtYXJr+HJlbiBuZWQgdGlsIGxla3Nqb24gMS4zLgorCisKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgTGVrc2pvbiAxLjM6IFJFRElHRVJJTkcgQVYgVEVLU1QgLS0gU0xFVFRJTkcKIAogCi0JICAqKiBUcnlrayB0YXN0ZW4gIHggIGZvciDlIHNsZXR0ZSB0ZWduZXQgdW5kZXIgbWFya/hyZW4uICoqCisJICAgICAqKiBUcnlrayAgeCAgZm9yIOUgc2xldHRlIHRlZ25ldCB1bmRlciBtYXJr+HJlbi4gKioKIAotICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbWVya2V0IG1lZCAgLS0tPiAgLgorICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbWVya2V0IG1lZCAgLS0tPi4KIAogICAyLiBGb3Ig5SBvcmRuZSBmZWlsZW5lIHDlIGxpbmplbiwgZmx5dHQgbWFya/hyZW4gdGlsIGRlbiBlciBvcHDlIHRlZ25ldCBzb20KICAgICAgc2thbCBzbGV0dGVzLgpAQCAtODEsMjEgKzgyLDIxIEBACiAKICAgNC4gUmVwZXRlciBwdW5rdCAyIHRpbCA0IHRpbCBzZXRuaW5nZW4gZXIgbGlrIGRlbiBzb20gZXIgdW5kZXIuCiAKLS0tLT4gS2t1YSBob3BwZXR0IG92dmVyciBt5eXl5W5lbm4uCi0tLS0+IEt1YSBob3BwZXQgb3ZlciBt5W5lbi4KKy0tLT4gSGVzc3N0ZW5ubm4gYnJycuVzbnVkZGRkZSBpaSBnYWFhdGEuCistLS0+IEhlc3RlbiBicuVzbnVkZGUgaSBnYXRhLgogCiAgIDUuIE7lIHNvbSBsaW5qZW4gZXIga29ycmVrdCwgZ+UgdGlsIGxla3Nqb24gMS40LgogCi1IVVNLOiBO5XIgZHUgZ+VyIGdqZW5ub20gaW5uZvhyaW5nZW4sIGlra2UgYmFyZSBwcvh2IOUgaHVza2Uga29tbWFuZG9lbmUsIG1lbgorTUVSSzogTuVyIGR1IGflciBnamVubm9tIGlubmb4cmluZ2VuLCBpa2tlIGJhcmUgcHL4diDlIGh1c2tlIGtvbW1hbmRvZW5lLCBtZW4KICAgICAgIGJydWsgZGVtIGhlbHQgdGlsIGRlIHNpdHRlci4KIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCUxla3Nqb24gMS40OiBSRURJR0VSSU5HIEFWIFRFS1NUIC0tIElOTlNFVFRJTkcKIAogCi0gICAgICAgKiogTuVyIGR1IGVyIGkgbm9ybWFsbW9kdXMsIHRyeWtrICBpICBmb3Ig5SBzZXR0ZSBpbm4gdGVrc3QuICoqCisJCSAgICAqKiBUcnlrayAgaSAgZm9yIOUgc2V0dGUgaW5uIHRla3N0LiAqKgogCi0gIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW4gZvhyc3RlIGxpbmplbiBzb20gZXIgbWVya2V0IG1lZCAgLS0tPiAgLgorICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gc29tIGVyIG1lcmtldCBtZWQgLS0tPi4KIAogICAyLiBGb3Ig5SBnavhyZSBkZW4gZvhyc3RlIGxpbmplbiBsaWsgZGVuIGFuZHJlLCBmbHl0dCBtYXJr+HJlbiB0aWwgZGVuIHN05XIKICAgICAgcOUgdGVnbmV0IEVUVEVSIHBvc2lzam9uZW4gZGVyIHRla3N0ZW4gc2thbCBzZXR0ZXMgaW5uLgpAQCAtMTEzLDQ1ICsxMTQsOTEgQEAKIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJTGVrc2pvbiAxLjU6IFJFRElHRVJJTkcgQVYgVEVLU1QgLS0gTEVHR0UgVElMCisKKworCQkgICAgKiogVHJ5a2sgIEEgIGZvciDlIGxlZ2dlIHRpbCB0ZWtzdC4gKioKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3IgbWVya2V0IC0tLT4uCisgICAgIERldCBoYXIgaWtrZSBub2Ug5SBzaSBodm9yIG1hcmv4cmVuIGVyIHBsYXNzZXJ0IHDlIGRlbiBsaW5qZW4uCisKKyAgMi4gVHJ5a2sgIEEgIG9nIHNrcml2IGlubiBkZXQgc29tIHNrYWwgbGVnZ2VzIHRpbC4KKworICAzLiBO5XIgdGVrc3RlbiBlciBsYWd0IHRpbCwgdHJ5a2sgPEVTQz4gZm9yIOUgcmV0dXJuZXJlIHRpbCBub3JtYWxtb2R1c2VuLgorCisgIDQuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW4gYW5kcmUgbGluamVuIG1hcmtlcnQgbWVkIC0tLT4gb2cgcmVwZXRlciBzdGVnIDIgb2cKKyAgICAgMyBmb3Ig5SByZXBhcmVyZSBkZW5uZSBzZXRuaW5nZW4uCisKKy0tLT4gRGV0IG1hbmdsZXIgbm9lIHRla3N0IHAKKyAgICAgRGV0IG1hbmdsZXIgbm9lIHRla3N0IHDlIGRlbm5lIGxpbmplbi4KKy0tLT4gRGV0IG1hbmdsZXIgb2dz5SBsaXR0IHRlaworICAgICBEZXQgbWFuZ2xlciBvZ3PlIGxpdHQgdGVrc3QgcOUgZGVubmUgbGluamVuLgorCisgIDUuIE7lciBkdSBm+GxlciBhdCBkdSBiZWhlcnNrZXIg5SBsZWdnZSB0aWwgdGVrc3QsIGflIHRpbCBsZWtzam9uIDEuNi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgTGVrc2pvbiAxLjY6IFJFRElHRVJFIEVOIEZJTAorCisKKwkgICAgICAgKiogQnJ1awk6d3EgIGZvciDlIGxhZ3JlIGVuIGZpbCBvZyBhdnNsdXR0ZS4gKioKKworICAhISBNRVJLOiBG+HIgZHUgdXRm+HJlciBub2VuIGF2IHN0ZWdlbmUgbmVkZW5mb3IsIGxlcyBoZWxlIGRlbm5lIGxla3Nqb25lbiEhCisKKyAgMS4gQXZzbHV0dCBkZW5uZSBpbm5m+HJpbmdlbiBzb20gZHUgZ2pvcmRlIGkgbGVrc2pvbiAxLjI6ICA6cSEKKworICAyLiBTa3JpdiBkZW5uZSBrb21tYW5kb2VuIHDlIGtvbW1hbmRvbGluamE6ICB2aW0gdHV0b3IgPEVOVEVSPgorICAgICCrdmltuyBlciBrb21tYW5kb2VuIGZvciDlIHN0YXJ0ZSBWaW0tZWRpdG9yZW4sIKt0dXRvcrsgZXIgbmF2bmV0IHDlIGZpbGEKKyAgICAgc29tIGR1IHZpbCByZWRpZ2VyZS4gQnJ1ayBlbiBmaWwgc29tIGthbiBmb3JhbmRyZXMuCisKKyAgMy4gU2V0dCBpbm4gb2cgc2xldHQgdGVrc3Qgc29tIGR1IGzmcnRlIGkgZGUgZm9yZWflZW5kZSBsZWtzam9uZW5lLgorCisgIDQuIExhZ3JlIGZpbGVuIG1lZCBmb3JhbmRyaW5nZW5lIG9nIGF2c2x1dHQgVmltIG1lZDoJOndxIDxFTlRFUj4KKworICA1LiBTdGFydCBpbm5m+HJpbmdlbiBw5SBueXR0IG9nIGZseXR0IG5lZCB0aWwgb3Bwc3VtbWVyaW5nZW4gc29tIGb4bGdlci4KKworICA2LiBFdHRlciDlIGhhIGxlc3Qgb2cgZm9yc3TldHQgc3RlZ2VuZSBvdmVuZm9yOiBTZXR0IGkgZ2FuZy4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSAgT1BQU1VNTUVSSU5HIEFWIExFS1NKT04gMQogCiAKICAgMS4gTWFya/hyZW4gYmV2ZWdlcyB2ZWQgaGplbHAgYXYgcGlsdGFzdGVuZSBlbGxlciBoamtsLXRhc3RlbmUuCiAJIGggKHZlbnN0cmUpCSBqIChuZWQpICAgICBrIChvcHApCSBsICho+HlyZSkKIAotICAyLiBGb3Ig5SBzdGFydGUgVmltIChmcmEgc2thbGwta29tbWFuZG9saW5qZW4pLCBza3JpdjogIHZpbSBGSUxOQVZOIDxFTlRFUj4KKyAgMi4gRm9yIOUgc3RhcnRlIFZpbSBmcmEgc2thbGwta29tbWFuZG9saW5qZW4sIHNrcml2Ogl2aW0gRklMTkFWTiA8RU5URVI+CiAKLSAgMy4gRm9yIOUgYXZzbHV0dGUgVmltLCBza3JpdjogIDxFU0M+IDpxISA8RU5URVI+ICBmb3Ig5SBmb3JrYXN0ZSBmb3JhbmRyaW5nZXIuCisgIDMuIEZvciDlIGF2c2x1dHRlIFZpbSwgc2tyaXY6ICA8RVNDPiA6cSEgPEVOVEVSPiAgZm9yIOUgZm9ya2FzdGUgZW5kcmluZ2VyLgogCQkgICBFTExFUiBza3JpdjogIDxFU0M+IDp3cSA8RU5URVI+ICBmb3Ig5SBsYWdyZSBmb3JhbmRyaW5nZW5lLgogCi0gIDQuIEZvciDlIHNsZXR0ZSBldCB0ZWduIHVuZGVyIG1hcmv4cmVuIG7lciBkdSBlciBpIG5vcm1hbG1vZHVzLCB0cnlrayAgeAorICA0LiBGb3Ig5SBzbGV0dGUgdGVnbmV0IHVuZGVyIG1hcmv4cmVuLCB0cnlrazogIHgKIAotICA1LiBGb3Ig5SBzZXR0ZSBpbm4gdGVrc3QgdmVkIG1hcmv4cmVuIG7lciBkdSBlciBpIG5vcm1hbG1vZHVzLCB0cnlrazoKLQkgaSAgICBbc2tyaXYgaW5uIHRla3N0ZW5dICAgIDxFU0M+CisgIDUuIEZvciDlIHNldHRlIGlubiBlbGxlciBsZWdnZSB0aWwgdGVrc3QsIHRyeWtrOgorCSBpICAgIHNrcml2IGlubnNhdHQgdGVrc3QgIDxFU0M+CXNldHQgaW5uIGb4ciBtYXJr+HJlbgorCSBBICAgIHNrcml2IHRpbGxhZ3QgdGVrc3QgIDxFU0M+CWxlZ2cgdGlsIHDlIHNsdXR0ZW4gYXYgbGluamVuCiAKIE1FUks6IE7lciBkdSB0cnlra2VyIDxFU0M+IGflciBkdSB0aWwgbm9ybWFsbW9kdXMgZWxsZXIgZHUgYXZicnl0ZXIgZW4gdfhuc2tldAogICAgICAgb2cgZGVsdmlzIGZ1bGxm+HJ0IGtvbW1hbmRvLgogCiAgIE7lIGthbiBkdSBn5SB2aWRlcmUgdGlsIGxla3Nqb24gMi4KIAotCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCUxla3Nqb24gMi4xOiBTTEVUVEVLT01NQU5ET0VSCiAKIAotCSAgICAgKiogVHJ5a2sgIGR3ICBmb3Ig5SBzbGV0dGUgdGlsIHNsdXR0ZW4gYXYgZXQgb3JkLiAqKgorCQkgICAgKiogVHJ5a2sgIGR3ICBmb3Ig5SBzbGV0dGUgZXQgb3JkLiAqKgogCiAgIDEuIFRyeWtrIDxFU0M+IGZvciDlIHbmcmUgc2lra2VyIHDlIGF0IGR1IGVyIGkgbm9ybWFsbW9kdXMuCiAKLSAgMi4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIG1lcmtldCAgLS0tPiAgLgorICAyLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3IgbWVya2V0IC0tLT4uCiAKICAgMy4gRmx5dHQgbWFya/hyZW4gdGlsIGJlZ3lubmVsc2VuIGF2IG9yZGV0IHNvbSBza2FsIHNsZXR0ZXMuCiAKICAgNC4gVHJ5a2sgIGR3CW9nIG9yZGV0IHZpbCBmb3JzdmlubmUuCiAKLU1FUks6IEJva3N0YXZlbmUgdmlsIGtvbW1lIHRpbCBzeW5lIHDlIGRlbiBuZWRlcnN0ZSBsaW5qZW4gcOUgc2tqZXJtZW4KLSAgICAgIGV0dGVyaHZlcnQgc29tIGR1IHNrcml2ZXIgZGVtLiBIdmlzIGR1IHNrcml2ZXIgZmVpbCwgdHJ5a2sgPEVTQz4gb2cKLSAgICAgIHN0YXJ0IHDlIG55dHQuCitNRVJLOiBCb2tzdGF2ZW4gIGQgIHZpbCBrb21tZSB0aWwgc3luZSBw5SBkZW4gbmVkZXJzdGUgbGluamVuIHDlIHNramVybWVuIG7lcgorICAgICAgZHUgc2tyaXZlciBkZW4uIFZpbSB2ZW50ZXIgcOUgYXQgZHUgc2thbCBza3JpdmUgdyAuIEh2aXMgZHUgc2VyIGV0IGFubmV0CisgICAgICB0ZWduIGVubglkICBoYXIgZHUgc2tyZXZldCBub2UgZmVpbDsgdHJ5a2sgPEVTQz4gb2cgc3RhcnQgcOUgbnl0dC4KIAogLS0tPiBEZXQgZXIgYWd1cmsgdHJlIG9yZCBlcGxlIHNvbSBpa2tlIGj4cmVyIHDmcmUgaGplbW1lIGkgZGVubmUgc2V0bmluZ2VuLgogLS0tPiBEZXQgZXIgdHJlIG9yZCBzb20gaWtrZSBo+HJlciBoamVtbWUgaSBkZW5uZSBzZXRuaW5nZW4uCkBAIC0xNjYsMTMgKzIxMywxMyBAQAogCiAgIDEuIFRyeWtrIDxFU0M+IGZvciDlIHbmcmUgc2lra2VyIHDlIGF0IGR1IGVyIGkgbm9ybWFsbW9kdXMuCiAKLSAgMi4gRmx5dHQgbWFya/hyZW4gdGlsIGxpbmplbiBuZWRlbmZvciBtZXJrZXQJLS0tPiAgLgorICAyLiBGbHl0dCBtYXJr+HJlbiB0aWwgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LgogCiAgIDMuIEZseXR0IG1hcmv4cmVuIHRpbCBwdW5rdGV0IGRlciBsaW5qZW4gc2thbCBrdXR0ZXMgKEVUVEVSIGb4cnN0ZSBwdW5rdHVtKS4KIAogICA0LiBUcnlrayAgZCQJZm9yIOUgc2xldHRlIGFsdCB0aWwgc2x1dHRlbiBhdiBsaW5qZW4uCiAKLS0tLT4gTm9lbiBza3JldiBzbHV0dGVuIHDlIGxpbmplbiBlbiBnYW5nIGZvciBteWUuIHDlIGxpbmplbiBlbiBnYW5nIGZvciBteWUuCistLS0+IE5vZW4gc2tyZXYgc2x1dHRlbiBw5SBsaW5qZW4gZW4gZ2FuZyBmb3IgbXllLiBsaW5qZW4gZW4gZ2FuZyBmb3IgbXllLgogCiAgIDUuIEflIHRpbCBsZWtzam9uIDIuMyBmb3Ig5SBmb3JzdOUgaHZhIHNvbSBza2plci4KIApAQCAtMTgyLDY1ICsyMjksMTEyIEBACiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICBMZWtzam9uIDIuMzogT00gS09NTUFORE9FUiBPRyBPQkpFS1RFUgorCQkgICBMZWtzam9uIDIuMzogT00gT1BFUkFUT1JFUiBPRyBCRVZFR0VMU0VSCiAKIAotICBGb3JtYXRldCBmb3Igc2xldHRla29tbWFuZG9lbiAgZCAgZXIgc29tIGb4bGdlcjoKKyAgTWFuZ2Uga29tbWFuZG9lciBzb20gZm9yYW5kcmVyIHRla3N0ZW4gZXIgbGFnZXQgdXQgaSBmcmEgZW4gb3BlcmF0b3Igb2cgZW4KKyAgYmV2ZWdlbHNlLiBGb3JtYXRldCBmb3IgZW4gc2xldHRla29tbWFuZG8gbWVkIHNsZXR0ZW9wZXJhdG9yZW4gIGQgIGVyOgogCi0JW251bW1lcl0gIGQgIG9iamVrdAlFTExFUgkgIGQgIFtudW1tZXJdICBvYmpla3QKKwlkICAgYmV2ZWdlbHNlCiAKICAgRGVyOgotICAgIG51bW1lciAtLSBodm9yIG1hbmdlIGdhbmdlciBrb21tYW5kb2VuIHV0ZvhyZXMgKHZhbGdmcmksIHN0YW5kYXJkPTEpLgotICAgIGQJICAgLS0gc2VsdmUgc2xldHRla29tbWFuZG9lbi4KLSAgICBvYmpla3QgLS0gaHZhIGtvbW1hbmRvZW4gdmlsIG9wZXJlcmUgcOUgKGxpc3RldCB1dCBuZWRlbmZvcikuCisgICAgZAkgICAgICAtIGVyIHNsZXR0ZW9wZXJhdG9yZW4uCisgICAgYmV2ZWdlbHNlIC0gZXIgaHZhIG9wZXJhdG9yZW4gdmlsIG9wZXJlIHDlIChsaXN0ZXQgbmVkZW5mb3IpLgogCi0gIEVuIGtvcnQgbGlzdGUgbWVkIG9iamVrdGVyOgotICAgIHcgLS0gZnJhIG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IG9yZGV0LCBpbmtsdWRlcnQgbWVsbG9tcm9tLgotICAgIGUgLS0gZnJhIG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IG9yZGV0LCBJS0tFIGlua2x1ZGVydCBtZWxsb21yb20uCi0gICAgJCAtLSBmcmEgbWFya/hyZW4gdGlsIHNsdXR0ZW4gYXYgbGluamVuLgorICBFbiBrb3J0IGxpc3RlIG1lZCBiZXZlZ2Vsc2VyOgorICAgIHcgLSB0aWwgc3RhcnRlbiBhdiBkZXQgbmVzdGUgb3JkZXQsIFVOTlRBVFQgZGV0IGb4cnN0ZSB0ZWduZXQuCisgICAgZSAtIHRpbCBzbHV0dGVuIGF2IGRldCBu5XbmcmVuZGUgb3JkZXQsIElOS0xVREVSVCBkZXQgc2lzdGUgdGVnbmV0LgorICAgICQgLSB0aWwgc2x1dHRlbiBhdiBsaW5qZW4sIElOS0xVREVSVCBkZXQgc2lzdGUgdGVnbmV0LgogCi1NRVJLOiBGb3IgZGVuIGV2ZW50eXJseXN0bmU6IFNrcml2aW5nIGF2IGt1biBvYmpla3RldCBpIG5vcm1hbG1vZHVzIHV0ZW4gZW4KLSAgICAgIGtvbW1hbmRvIHZpbCBmbHl0dGUgbWFya/hyZW4gdGlsIG9iamVrdGV0IGkgbGlzdGVuLgorICBWZWQg5SBza3JpdmUJZGUgIHZpbCBhbHRz5SBhbHQgZnJhIG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IG9yZGV0IGJsaQorICBzbGV0dGV0LgorCitNRVJLOiAgVmVkIOUgc2tyaXZlIGt1biBiZXZlZ2Vsc2VuIGkgbm9ybWFsbW9kdXNlbiB1dGVuIGVuIG9wZXJhdG9yIHZpbAorICAgICAgIG1hcmv4cmVuIGZseXR0ZXMgc29tIHNwZXNpZmlzZXJ0Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSBMRUtTSk9OIDIuNDogQlJVSyBBViBURUxMRVIgRk9SIEVOIEJFVkVHRUxTRQorCisKKyAqKiBWZWQg5SBza3JpdmUgZXQgdGFsbCBmb3JhbiBlbiBiZXZlZ2Vsc2UgcmVwZXRlcmVyIGRlbiBz5SBtYW5nZSBnYW5nZXIuICoqCisKKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIHN0YXJ0ZW4gYXYgbGluamVuIG1hcmtlcnQgLS0tPiBuZWRlbmZvci4KKworICAyLiBTa3JpdiAgMncJZm9yIOUgZmx5dHRlIG1hcmv4cmVuIHRvIG9yZCBmcmFtb3Zlci4KKworICAzLiBTa3JpdiAgM2UJZm9yIOUgZmx5dHRlIG1hcmv4cmVuIGZyYW1vdmVyIHRpbCBzbHV0dGVuIGF2IGRldCB0cmVkamUKKyAgICAgb3JkZXQuCisKKyAgNC4gU2tyaXYgIDAgIChudWxsKSBmb3Ig5SBmbHl0dGUgdGlsIHN0YXJ0ZW4gYXYgbGluamVuLgorCisgIDUuIFJlcGV0ZXIgc3RlZyAyIG9nIDMgbWVkIGZvcnNramVsbGlnZSB0YWxsLgorCistLS0+IERldHRlIGVyIGVuIGxpbmplIG1lZCBub2VuIG9yZCBzb20gZHUga2FuIGJldmVnZSBkZWcgcnVuZHQgcOUuCisKKyAgNi4gR+UgdmlkZXJlIHRpbCBsZWtzam9uIDIuNS4KIAogCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCSAgICAgTGVrc2pvbiAyLjQ6IEVUIFVOTlRBSyBGUkEgq0tPTU1BTkRPLU9CSkVLVLstUkVHRUxFTgorCQkgTGVrc2pvbiAyLjU6IEJSVUsgQVYgQU5UQUxMIEZPUiDFIFNMRVRURSBNRVIKKworCisgICAgICoqIEV0IHRhbGwgc2FtbWVuIG1lZCBlbiBvcGVyYXRvciByZXBldGVyZXIgZGVuIHPlIG1hbmdlIGdhbmdlci4gKioKKworICBJIGtvbWJpbmFzam9uZW4gbWVkIHNsZXR0ZW9wZXJhdG9yZW4gb2cgZW4gYmV2ZWdlbHNlIG5ldm50IG92ZW5mb3Igc2V0dGVyIGR1CisgIGlubiBhbnRhbGwgZvhyIGJldmVnZWxzZW4gZm9yIOUgc2xldHRlIG1lcjoKKwkgZCAgbnVtbWVyICBiZXZlZ2Vsc2UKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGV0IGb4cnN0ZSBvcmRldCBtZWQgU1RPUkUgQk9LU1RBVkVSIHDlIGxpbmplbiBtYXJrZXJ0CisgICAgIG1lZCAtLS0+LgorCisgIDIuIFNrcml2ICAyZHcgIGZvciDlIHNsZXR0ZSBkZSB0byBvcmRlbmUgbWVkIHN0b3JlIGJva3N0YXZlci4KKworICAzLiBSZXBldGVyIHN0ZWcgMSBvZyAyIG1lZCBmb3Jza2plbGxpbmcgYW50YWxsIGZvciDlIHNsZXR0ZSBkZSBldHRlcmb4bGdlbmRlCisgICAgIG9yZGVuZSBzb20gaGFyIHN0b3JlIGJva3N0YXZlci4KKworLS0tPiBEZW5uZSBBQkMgREUgbGluamVuIEZHSEkgSksgTE1OIE9QIGVyIG7lIFEgUlMgVFVWIGxpdHQgbWVyIGxlc2Jhci4KKworTUVSSzogRXQgYW50YWxsIG1lbGxvbSBvcGVyYXRvcmVuICBkICBvZyBiZXZlZ2Vsc2VuIHZpcmtlciBw5SBzYW1tZSBt5XRlIHNvbSDlCisgICAgICBicnVrZSBiZXZlZ2Vsc2VuIHV0ZW4gZW4gb3BlcmF0b3IuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrc2pvbiAyLjY6IE9QRVJFUkUgUMUgTElOSkVSCiAKIAogCQkgKiogVHJ5a2sgIGRkICBmb3Ig5SBzbGV0dGUgZW4gaGVsIGxpbmplLiAqKgogCiAgIFDlIGdydW5uIGF2IGF0IHNsZXR0aW5nIGF2IGxpbmplciBlciBteWUgYnJ1a3QsIGZhbnQgdXR2aWtsZXJuZSBhdiBWaSB1dCBhdAotICBkZXQgdmlsIHbmcmUgbGV0dGVyZSDlIHJldHQgb2cgc2xldHQgdHJ5a2tlIHRvIKtkuy1lciBldHRlciBodmVyYW5kcmUgZm9yIOUKLSAgc2xldHRlIGVuIGxpbmplLgorICBkZXQgdmlsIHbmcmUgbGV0dGVyZSDlIHJldHQgb2cgc2xldHQgdHJ5a2tlIHRvIGQtZXIgZm9yIOUgc2xldHRlIGVuIGxpbmplLgogCiAgIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW4gYW5kcmUgbGluamVuIGkgdmVyc2V0IG5lZGVuZm9yLgotICAyLiBUcnlrayAgZGQJZm9yIOUgc2xldHRlIGxpbmplbi4KKyAgMi4gVHJ5a2sgIGRkCSDlIHNsZXR0ZSBsaW5qZW4uCiAgIDMuIEZseXR0IGRlcmV0dGVyIHRpbCBkZW4gZmplcmRlIGxpbmplbi4KLSAgNC4gVHJ5a2sgIDJkZCAgKGh1c2sgq251bW1lci1rb21tYW5kby1vYmpla3S7KSBmb3Ig5SBzbGV0dGUgZGlzc2UgdG8KLSAgICAgbGluamVuZS4KKyAgNC4gVHJ5a2sgIDJkZCAgZm9yIOUgc2xldHRlIHRvIGxpbmplci4KIAotICAgICAgIDEpIFJvc2VyIGVyIHL4ZGUKLSAgICAgICAyKSBHavhybWUgZXIgZ/h5LAotICAgICAgIDMpIEZpb2xlciBlciBibOUsCi0gICAgICAgNCkgSmVnIGhhciBlbiBiaWwsCi0gICAgICAgNSkgS2xva2tlciB2aXNlciB0aWRlbiwKLSAgICAgICA2KSBEcnVlciBlciBz+HRlCi0gICAgICAgNykgT2cgZHUgZXIgbGlrZXPlLgorLS0tPiAgMSkgUm9zZXIgZXIgcvhkZSwKKy0tLT4gIDIpIEdq+HJtZSBlciBn+HksCistLS0+ICAzKSBGaW9sZXIgZXIgYmzlLAorLS0tPiAgNCkgSmVnIGhhciBlbiBiaWwsCistLS0+ICA1KSBLbG9ra2VyIHZpc2VyIHRpZGVuLAorLS0tPiAgNikgRHJ1ZXIgZXIgc/h0ZQorLS0tPiAgNykgT2cgZHUgZXIgbGlrZXPlLgorCisKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJTGVrc2pvbiAyLjU6IEFOR1JFLUtPTU1BTkRPRU4KKwkJCUxla3Nqb24gMi43OiBBTkdSRS1LT01NQU5ET0VOCiAKIAogICAqKiBUcnlrayAgdSAgZm9yIOUgYW5ncmUgc2lzdGUga29tbWFuZG8sICBVICBmb3Ig5SBmaWtzZSBlbiBoZWwgbGluamUuICoqCiAKLSAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGxpbmplbiBuZWRlbmZvciBtZXJrZXQJLS0tPiAgb2cgcGxhc3NlciBkZW4gcOUgZGVuCisgIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBsaW5qZW4gbmVkZW5mb3IgbWVya2V0IC0tLT4gb2cgcGxhc3NlciBkZW4gcOUgZGVuCiAgICAgIGb4cnN0ZSBmZWlsZW4uCiAgIDIuIFRyeWtrICB4ICBmb3Ig5SBzbGV0dGUgZGV0IGb4cnN0ZSB1+G5za2VkZSB0ZWduZXQuCiAgIDMuIFRyeWtrIHPlICB1ICBmb3Ig5SBhbmdyZSBkZW4gc2lzdGUgdXRm+HJ0ZSBrb21tYW5kb2VuLgotICA0LiBEZXJldHRlciBvcmRuZXIgZHUgYWxsZSBmZWlsZW5lIHDlIGxpbmplbmUgdmVkIOUgYnJ1a2UgIHgJa29tbWFuZG9lbi4KLSAgNS4gVHJ5a2sgbuUgZW4gc3RvciAgVSAgZm9yIOUgc2V0dGUgbGluamVuIHRpbGJha2UgdGlsIGRldCBkZW4gdmFyLgorICA0LiBEZXJldHRlciBvcmRuZXIgZHUgYWxsZSBmZWlsZW5lIHDlIGxpbmplbmUgdmVkIOUgYnJ1a2Uga29tbWFuZG9lbgl4ICAuCisgIDUuIFRyeWtrIG7lIGVuIHN0b3IgIFUgIGZvciDlIHNldHRlIGxpbmplbiB0aWxiYWtlIHRpbCBkZXQgZGVuIHZhcgorICAgICBvcmlnaW5hbHQuCiAgIDYuIFRyeWtrICB1ICBub2VuIGdhbmdlciBmb3Ig5SBhbmdyZQlVICBvZyBmb3JlZ+VlbmRlIGtvbW1hbmRvZXIuCi0gIDcuIERlcmV0dGVyIHRyeWtrZXIgZHUgIEN0cmwtciAgKGhvbGQgQ3RybCBuZWRlIG1lbnMgZHUgdHJ5a2tlciCrcrspIG5vZW4KKyAgNy4gRGVyZXR0ZXIgdHJ5a2tlciBkdSAgQ1RSTC1SICAoaG9sZCBDVFJMIG5lZGUgbWVucyBkdSB0cnlra2VyIFIpIG5vZW4KICAgICAgZ2FuZ2VyIGZvciDlIGdqZW5vcHByZXR0ZSBrb21tYW5kb2VuZSAob21navhyZSBhbmdyZWtvbW1hbmRvZW5lKS4KIAogLS0tPiBSUmVwYXJlciBmZWlpbGVuZSBw5eUgZGVubmUgbGlubm5qZW4gb29nIGVyc3NzdGF0dCBkZW0gbWVlZCBhbmdyZS4KQEAgLTI0OSw1MCArMzQzLDQ5IEBACiAgICAgIGxla3Nqb24gMi4KIAogCi0KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkJICBPUFBTVU1NRVJJTkcgQVYgTEVLU0pPTiAyCiAKIAotICAxLiBGb3Ig5SBzbGV0dGUgZnJhIG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IGV0IG9yZCwgdHJ5a2s6ICBkdwotCisgIDEuIEZvciDlIHNsZXR0ZSBmcmEgbWFya/hyZW4gZnJhbSB0aWwgZGV0IG5lc3RlIG9yZGV0LCB0cnlrazogIGR3CiAgIDIuIEZvciDlIHNsZXR0ZSBmcmEgbWFya/hyZW4gdGlsIHNsdXR0ZW4gYXYgZW4gbGluamUsIHRyeWtrOglkJAotCiAgIDMuIEZvciDlIHNsZXR0ZSBlbiBoZWwgbGluamUsIHRyeWtrOglkZAogCi0gIDQuIEZvcm1hdGV0IGZvciBlbiBrb21tYW5kbyBpIG5vcm1hbG1vZHVzIGVyOgotCi0gICAgICAgW251bW1lcl0gIGtvbW1hbmRvICBvYmpla3QgICAgRUxMRVIgICAga29tbWFuZG8JW251bW1lcl0gIG9iamVrdAorICA0LiBGb3Ig5SByZXBldGVyZSBlbiBiZXZlZ2Vsc2UsIHNldHQgZXQgbnVtbWVyIGZvcmFuOiAgMncKKyAgNS4gRm9ybWF0ZXQgZm9yIGVuIGZvcmFuZHJpbmdza29tbWFuZG8gZXI6CisJICAgICAgIG9wZXJhdG9yICBbbnVtbWVyXSAgYmV2ZWdlbHNlCiAgICAgIGRlcjoKLSAgICAgICBudW1tZXIJLS0gaHZvciBtYW5nZSBnYW5nZXIga29tbWFuZG9lbiBza2FsIHJlcGV0ZXJlcwotICAgICAgIGtvbW1hbmRvIC0tIGh2YSBzb20gc2thbCBnavhyZXMsIGYuZWtzLglkICBmb3Ig5SBzbGV0dGUKLSAgICAgICBvYmpla3QJLS0gaHZhIGtvbW1hbmRvZW4gc2thbCBvcGVyZXJlIHDlLCBla3NlbXBlbHZpcwl3ICAob3JkKSwKKyAgICAgICBvcGVyYXRvciAgLSBodmEgc29tIHNrYWwgZ2r4cmVzLCBmLmVrcy4JZCAgZm9yIOUgc2xldHRlCisgICAgICAgW251bW1lcl0gIC0gZXQgdmFsZ2ZyaXR0IGFudGFsbCBmb3Ig5SByZXBldGVyZSBiZXZlZ2Vsc2VuCisgICAgICAgYmV2ZWdlbHNlIC0gaHZhIGtvbW1hbmRvZW4gc2thbCBvcGVyZXJlIHDlLCBla3NlbXBlbHZpcwl3ICAob3JkKSwKIAkJICAgJCAgKHRpbCBzbHV0dGVuIGF2IGxpbmplbikgb2cgc+UgdmlkZXJlLgogCi0gIDUuIEZvciDlIGFuZ3JlIHRpZGxpZ2VyZSBrb21tYW5kb2VyLCBza3JpdiAgdSAgKGxpdGVuIHUpCi0gICAgIEZvciDlIGFuZ3JlIGFsbGUgZm9yYW5kcmluZ2VyIHDlIGVuIGxpbmplLCBza3JpdiAgVSAgKHN0b3IgVSkKLSAgICAgRm9yIOUgb21navhyZSBhbmdyaW5nZW4sIHRyeWtrICBDdHJsLXIKKyAgNi4gRm9yIOUgZ+UgdGlsIHN0YXJ0ZW4gYXYgZW4gbGluamUsIGJydWsgZW4gbnVsbDogIDAKKworICA3LiBGb3Ig5SBhbmdyZSB0aWRsaWdlcmUgZW5kcmluZ2VyLCBza3JpdjoJCXUgIChsaXRlbiB1KQorICAgICBGb3Ig5SBhbmdyZSBhbGxlIGZvcmFuZHJpbmdlciBw5SBlbiBsaW5qZSwgc2tyaXY6CVUgIChzdG9yIFUpCisgICAgIEZvciDlIG9tZ2r4cmUgYW5ncmluZ2VuLCB0cnlrazoJCQlDVFJMLVIKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgICAgIExla3Nqb24gMy4xOiCrTElNIElOTrstS09NTUFORE9FTgogCiAKLSAgICoqIFRyeWtrICBwCWZvciDlIGxpbWUgaW5uIGRlbiBzaXN0ZSBzbGV0dGVkZSB0ZWtzdGVuIGV0dGVyIG1hcmv4cmVuICoqCisgICAgKiogVHJ5a2sgIHAgIGZvciDlIGxpbWUgaW5uIHRpZGxpZ2VyZSBzbGV0dGV0IHRla3N0IGV0dGVyIG1hcmv4cmVuICoqCiAKLSAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIGkgbGlzdGVuIG5lZGVuZm9yLgorICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbWVkIC0tLT4gbmVkZW5mb3IuCiAKLSAgMi4gVHJ5a2sgIGRkCWZvciDlIHNsZXR0ZSBsaW5qZW4gb2cgbGFncmUgZGVuIGkgdXRrbGlwcHN0YXZsZW4gdGlsIFZpbS4KKyAgMi4gVHJ5a2sgIGRkCWZvciDlIHNsZXR0ZSBsaW5qZW4gb2cgbGFncmUgZGVuIGkgZXQgVmltLXJlZ2lzdGVyLgogCi0gIDMuIEZseXR0IG1hcmv4cmVuIHRpbCBsaW5qZW4gT1ZFUiBwb3Npc2pvbmVuIGxpbmplbiBza2FsIHNldHRlcyBpbm4uCisgIDMuIEZseXR0IG1hcmv4cmVuIHRpbCBjKS1saW5qZW4sIE9WRVIgcG9zaXNqb25lbiBsaW5qZW4gc2thbCBzZXR0ZXMgaW5uLgogCi0gIDQuIE1lbnMgZHUgZXIgaSBub3JtYWxtb2R1cywgdHJ5a2sgIHAgIGZvciDlIGVyc3RhdHRlIGxpbmplbi4KKyAgNC4gVHJ5a2sgIHAgIGZvciDlIGxlZ2dlIGxpbmplbiB1bmRlciBtYXJr+HJlbi4KIAogICA1LiBSZXBldGVyIHB1bmt0IDIgdGlsIDQgaGVsdCB0aWwgbGluamVuZSBlciBpIHJpa3RpZyByZWtrZWb4bGdlLgogCi0gICAgICAgZCkgS2FuIGR1IG9nc+UgbOZyZT8KLSAgICAgICBiKSBGaW9sZXIgZXIgYmzlLAotICAgICAgIGMpIEludGVsbGlnZW5zIG3lIGzmcmVzLAotICAgICAgIGEpIFJvc2VyIGVyIHL4ZGUsCistLS0+IGQpIEthbiBkdSBvZ3PlIGzmcmU/CistLS0+IGIpIEZpb2xlciBlciBibOUsCistLS0+IGMpIEludGVsbGlnZW5zIG3lIGzmcmVzLAorLS0tPiBhKSBSb3NlciBlciBy+GRlLAogCiAKIApAQCAtMzAwLDE3ICszOTMsMTcgQEAKIAkJICAgICAgTGVrc2pvbiAzLjI6IKtFUlNUQVRUuy1LT01NQU5ET0VOCiAKIAotICAgICAgICoqIFRyeWtrICByICBvZyBldCB0ZWduIGZvciDlIGVyc3RhdHRlIHRlZ25ldCB1bmRlciBtYXJr+HJlbi4gKioKKwkgKiogVHJ5a2sgIHJ4ICBmb3Ig5SBlcnN0YXR0ZSB0ZWduZXQgdW5kZXIgbWFya/hyZW4gbWVkIHguICoqCiAKLSAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIG1lcmtldCAgLS0tPiAgLgorICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3IgbWVya2V0IC0tLT4uCiAKICAgMi4gRmx5dHQgbWFya/hyZW4gc+UgZGVuIHN05XIgb3Bw5SBkZW4gZvhyc3RlIGZlaWxlbi4KIAotICAzLiBUcnlrayAgciAgb2cgZGVyZXR0ZXIgdGVnbmV0IHNvbSBza2FsIGVyc3RhdHRlIGRldCBzb20gZXIgZmVpbC4KKyAgMy4gVHJ5a2sgIHIgIG9nIGRlcmV0dGVyIHRlZ25ldCBzb20gc2thbCB25nJlIGRlci4KIAotICA0LiBSZXBldGVyIHB1bmt0IDIgb2cgMyB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gZXIga29ycmVrdC4KKyAgNC4gUmVwZXRlciBwdW5rdCAyIG9nIDMgdGlsIGRlbiBm+HJzdGUgbGluamVuIGVyIGxpayBkZW4gYW5kcmUuCiAKLS0tLT4gRGEgZGZubmUgbHluanhuIGJsZSB6a3JldmV0LCB2YXIgZGV0IG74ZW4gc29tIHRyeWtrZXQgZmVpdGUgdGFzdGVyIQorLS0tPiBEYSBkZm5uZSBseW5qeG4gYmxlIHprcmV2ZXQsIHZhciBkZXQgbvhlbiBzb20gdGp5a2tldCBmZWl0ZSB0YXN0ZXIhCiAtLS0+IERhIGRlbm5lIGxpbmplbiBibGUgc2tyZXZldCwgdmFyIGRldCBub2VuIHNvbSB0cnlra2V0IGZlaWxlIHRhc3RlciEKIAogICA1LiBH5SB2aWRlcmUgdGlsIGxla3Nqb24gMy4yLgpAQCAtMzIwLDE4OSArNDEzLDE4OSBAQAogCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgICBMZWtzam9uIDMuMzogq0ZPUkFORFJFuy1LT01NQU5ET0VOCisJCSAgICAgIExla3Nqb24gMy4zOiCrRk9SQU5EUkW7LU9QRVJBVE9SRU4KIAogCi0JKiogRm9yIOUgZm9yYW5kcmUgZW4gZGVsIGF2IGVsbGVyIGV0IGhlbHQgb3JkLCB0cnlrayAgY3cgIC4gKioKKwkgICAqKiBGb3Ig5SBmb3JhbmRyZSB0aWwgc2x1dHRlbiBhdiBldCBvcmQsIHRyeWtrICBjZSAuICoqCiAKLSAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIHNvbSBlciBtZXJrZXQgIC0tLT4JLgorICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3Igc29tIGVyIG1lcmtldCAtLS0+LgogCi0gIDIuIFBsYXNzZXIgbWFya/hyZW4gcOUgq3W7LWVuIGkgq2x1Ymp3crsuCisgIDIuIFBsYXNzZXIgbWFya/hyZW4gcOUgIHUgIGkgq2x1Ymp3crsuCiAKLSAgMy4gVHJ5a2sgIGN3CW9nIGRldCBrb3JyZWt0ZSBvcmRldCAoaSBkZXR0ZSB0aWxmZWxsZXQsIHNrcml2IKtpbmplbrsuKQorICAzLiBUcnlrayAgY2UJb2cgZGV0IGtvcnJla3RlIG9yZGV0IChpIGRldHRlIHRpbGZlbGxldCwgc2tyaXYgq2luamVuuykuCiAKLSAgNC4gVHJ5a2sgPEVTQz4gb2cgZ+UgdGlsIGRlbiBuZXN0ZSBmZWlsZW4gKGRldCBm+HJzdGUgdGVnbmV0IHNvbSBza2FsCi0gICAgIGZvcmFuZHJlcykuCisgIDQuIFRyeWtrIDxFU0M+IG9nIGflIHRpbCBkZXQgbmVzdGUgdGVnbmV0IHNvbSBza2FsIGZvcmFuZHJlcy4KIAogICA1LiBSZXBldGVyIHB1bmt0IDMgb2cgNCBoZWx0IHRpbCBkZW4gZvhyc3RlIHNldG5pbmdlbiBlciBsaWsgZGVuIGFuZHJlLgogCiAtLS0+IERlbm5lIGx1Ymp3ciBoYXIgbm9lbiB3Z2ggc29tIG3lIGZvcmt35XAgbWVkIKtmb3Lma3pyeWFzuy1rb21tYW5kb2VuLgogLS0tPiBEZW5uZSBsaW5qZW4gaGFyIG5vZW4gb3JkIHNvbSBt5SBmb3JhbmRyZXMgbWVkIKtmb3JhbmRyZbsta29tbWFuZG9lbi4KIAotICBW5nIgb3BwbWVya3NvbSBw5SBhdAljdyAgaWtrZSBiYXJlIGZvcmFuZHJlciBvcmRldCwgbWVuIG9nc+UgZ+VyIGlubiBpCi0gIGlubnNldHRpbmdzbW9kdXMuCitW5nIgb3BwbWVya3NvbSBw5SBhdCAgY2UgIHNsZXR0ZXIgb3JkZXQgb2cgZ+VyIGlubiBpIGlubnNldHRpbmdzbW9kdXMuCisKKwogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJTGVrc2pvbiAzLjQ6IEZMRVJFIEZPUkFORFJJTkdFUiBWRUQgQlJVSyBBViBjCiAKIAotICAqKiCrRm9yYW5kcmW7LWtvbW1hbmRvZW4gYmxpciBicnVrdCBtZWQgZGUgc2FtbWUgb2JqZWt0ZW5lIHNvbSCrc2xldHS7LiAqKgorICoqIEZvcmFuZHJpbmdza29tbWFuZG9lbiBibGlyIGJydWt0IG1lZCBkZSBzYW1tZSBiZXZlZ2Vsc2VyIHNvbSCrc2xldHS7LiAqKgogCi0gIDEuIKtGb3JhbmRyZbsta29tbWFuZG9lbiBmdW5nZXJlciBw5SBzYW1tZSBt5XRlIHNvbSCrc2xldHS7LiBGb3JtYXRldCBlcjoKKyAgMS4gRm9yYW5kcmluZ3NvcGVyYXRvcmVuIGZ1bmdlcmVyIHDlIHNhbW1lIG3ldGUgc29tIKtzbGV0dLsuIEZvcm1hdGV0IGVyOgogCi0gICAgICAgW251bW1lcl0gIGMgIG9iamVrdCAgICBFTExFUiAgICBjICBbbnVtbWVyXSAgb2JqZWt0CisJIGMgICAgW251bW1lcl0JIGJldmVnZWxzZQogCi0gIDIuIE9iamVrdGVuZSBlciBvZ3PlIGRlIHNhbW1lLCBzb20gZm9yIGVrc2VtcGVsICB3ICAob3JkKSwgICQgIChzbHV0dGVuIGF2Ci0gICAgIGVuIGxpbmplKSBvZyBz5SB2aWRlcmUuCisgIDIuIEJldmVnZWxzZW5lIGVyIGRlIHNhbW1lLCBzb20gZm9yIGVrc2VtcGVsCXcgIChvcmQpIG9nICAkCShzbHV0dGVuIGF2IGVuCisgICAgIGxpbmplKS4KIAotICAzLiBH5SB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3Igc29tIGVyIG1lcmtldCAgLS0tPiAgLgorICAzLiBH5SB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3Igc29tIGVyIG1lcmtldCAtLS0+LgogCiAgIDQuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW4gZvhyc3RlIGZlaWxlbi4KIAotICA1LiBTa3JpdiAgYyQJZm9yIOUgZm9yYW5kcmUgcmVzdGVuIGF2IGxpbmplbiBsaWsgZGVuIGFuZHJlIG9nIHRyeWtrIDxFU0M+LgorICA1LiBTa3JpdiAgYyQJb2cgc2tyaXYgcmVzdGVuIGF2IGxpbmplbiBsaWsgZGVuIGFuZHJlIG9nIHRyeWtrIDxFU0M+LgogCiAtLS0+IFNsdXR0ZW4gcOUgZGVubmUgbGluamVuIHRyZW5nZXIgbGl0dCBoamVscCBmb3Ig5SBnavhyZSBkZW4gbGlrIGRlbiBuZXN0ZS4KLS0tLT4gU2x1dHRlbiBw5SBkZW5uZSBsaW5qZW4gdHJlbmdlciDlIGJsaSByZXR0ZXQgdmVkIGJydWsgYXYgq2Mkuy1rb21tYW5kb2VuLgorLS0tPiBTbHV0dGVuIHDlIGRlbm5lIGxpbmplbiB0cmVuZ2VyIOUgYmxpIHJldHRldCB2ZWQgYnJ1ayBhdiBjJC1rb21tYW5kb2VuLgogCi0KK01FUks6IER1IGthbiBicnVrZSBzbGV0dGV0YXN0ZW4gZm9yIOUgcmV0dGUgZmVpbCBtZW5zIGR1IHNrcml2ZXIuCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSAgT1BQU1VNTUVSSU5HIEFWIExFS1NKT04gMwogCiAKLSAgMS4gRm9yIOUgZXJzdGF0dGUgdGVrc3Qgc29tIGFsbGVyZWRlIGVyIGJsaXR0IHNsZXR0ZXQsIHRyeWtrCXAgIC4gRGV0dGUKKyAgMS4gRm9yIOUgbGVnZ2UgdGlsYmFrZSB0ZWtzdCBzb20gbmV0dG9wcCBlciBibGl0dCBzbGV0dGV0LCB0cnlrayAgcCAgLiBEZXR0ZQogICAgICBsaW1lciBpbm4gZGVuIHNsZXR0ZWRlIHRla3N0ZW4gRVRURVIgbWFya/hyZW4gKGh2aXMgZW4gbGluamUgYmxlIHNsZXR0ZXQKICAgICAgdmlsIGRlbiBibGkgbGltdCBpbm4gcOUgbGluamVuIHVuZGVyIG1hcmv4cmVuKS4KIAogICAyLiBGb3Ig5SBlcnN0YXR0ZSBldCB0ZWduIHVuZGVyIG1hcmv4cmVuLCB0cnlrayAgciAgb2cgZGVyZXR0ZXIgdGVnbmV0IHNvbQotICAgICBza2FsIGVyc3RhdHRlIGRldCBvcmlnaW5hbGUgdGVnbmV0LgorICAgICBkdSB2aWwgaGEgZGVyLgogCi0gIDMuIKtGb3JhbmRyZbsta29tbWFuZG9lbiBsYXIgZGVnIGZvcmFuZHJlIGRldCBzcGVzaWZpc2VydGUgb2JqZWt0ZXQgZnJhCi0gICAgIG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IG9iamVrdGV0LCBmLmVrcy46IFRyeWtrICBjdyAgZm9yIOUgZm9yYW5kcmUgZnJhCi0gICAgIG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IG9yZGV0LCAgYyQgIGZvciDlIGZvcmFuZHJlIHRpbCBzbHV0dGVuIGF2IGxpbmplbi4KKyAgMy4gRm9yYW5kcmluZ3NvcGVyYXRvcmVuIGxhciBkZWcgZm9yYW5kcmUgZnJhIG1hcmv4cmVuIHRpbCBkaXQgYmV2ZWdlbHNlbgorICAgICB0YXIgZGVnLiBEZXQgdmlsIHNpLCBza3JpdiAgY2UgIGZvciDlIGZvcmFuZHJlIGZyYSBtYXJr+HJlbiB0aWwgc2x1dHRlbgorICAgICBhdiBvcmRldCwJYyQgIGZvciDlIGZvcmFuZHJlIHRpbCBzbHV0dGVuIGF2IGxpbmplbi4KIAogICA0LiBGb3JtYXRldCBmb3Igq2ZvcmFuZHJluyBlcjoKIAotCSBbbnVtbWVyXSAgYyAgb2JqZWt0CUVMTEVSCSBjICBbbnVtbWVyXSAgb2JqZWt0CisJIGMgICBbbnVtbWVyXQliZXZlZ2Vsc2UKIAotICBO5SBrYW4gZHUgZ+UgdGlsIG5lc3RlIGxla3Nqb24uCitO5SBrYW4gZHUgZ+UgdGlsIG5lc3RlIGxla3Nqb24uCiAKIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgTGVrc2pvbiA0LjE6IFBPU0lTSk9OIE9HIEZJTFNUQVRVUworCSAgICAgTGVrc2pvbiA0LjE6IFBPU0lTSk9ORVJJTkcgQVYgTUFSS9hSRU4gT0cgRklMU1RBVFVTCiAKKwkqKiBUcnlrayBDVFJMLUcgZm9yIOUgdmlzZSBwb3Npc2pvbmVuIGkgZmlsZW4gb2cgZmlsc3RhdHVzZW4uCisJICAgVHJ5a2sgIEcgIGZvciDlIGflIHRpbCBlbiBzcGVzaWZpa2sgbGluamUgaSBmaWxlbi4gKioKIAotICoqIFRyeWtrIEN0cmwtZyBmb3Ig5SB2aXNlIHBvc2lzam9uZW4gaSBmaWxlbiBvZyBmaWxzdGF0dXNlbi4KLSAgICBUcnlrayBTaGlmdC1HIGZvciDlIGflIHRpbCBlbiBzcGVzaWZpa2sgbGluamUgaSBmaWxlbi4gKioKKyAgTWVyazogTGVzIGhlbGUgbGVrc2pvbmVuIGb4ciBkdSB1dGb4cmVyIG5vZW4gYXYgcHVua3RlbmUhCiAKLU1FUks6IExlcyBoZWxlIGxla3Nqb25lbiBm+HIgZHUgdXRm+HJlciBub2VuIGF2IHB1bmt0ZW5lIQorICAxLiBIb2xkIG5lZGUgQ3RybC10YXN0ZW4gb2cgdHJ5a2sgIGcJLiBWaSBrYWxsZXIgZGV0dGUgQ1RSTC1HLiBFbiBtZWxkaW5nCisgICAgIHZpbCBrb21tZSB0aWwgc3luZSBw5SBidW5uZW4gYXYgc2tqZXJtZW4gbWVkIGZpbG5hdm5ldCBvZyBwb3Npc2pvbmVuIGkKKyAgICAgZmlsZW4uIEh1c2sgbGluamVudW1tZXJldCBmb3IgYnJ1ayBpIHN0ZWcgMy4KIAotICAxLiBIb2xkIG5lZGUgQ3RybC10YXN0ZW4gb2cgdHJ5a2sgIGcJLiBFbiBzdGF0dXNsaW5qZSB2aWwga29tbWUgdGlsIHN5bmUgcOUKLSAgICAgYnVubmVuIGF2IHNramVybWVuIG1lZCBmaWxuYXZuZXQgb2cgaHZpbGtlbiBsaW5qZSBtYXJr+HJlbiBlciBw5S4gSHVzawotICAgICBsaW5qZW51bW1lcmV0IGZvciBicnVrIGkgc3RlZyAzLgorTWVyazogRHUga2FuIHNlIG1hcmv4cnBvc2lzam9uZW4gaSBuZWRlcnN0ZSBo+HlyZSBoavhybmUgYXYgc2tqZXJtZW4uIERldHRlCisgICAgICBza2plciBu5XIgq3J1bGVyuy12YWxnZXQgZXIgc2F0dCAoZm9ya2xhcnQgaSBsZWtzam9uIDYpLgogCi0gIDIuIFRyeWtrIFNoaWZ0LUcgZm9yIOUgZ+UgdGlsIGJ1bm5lbiBhdiBmaWxlbi4KKyAgMi4gVHJ5a2sgIEcgIGZvciDlIGflIHRpbCBidW5uZW4gYXYgZmlsZW4uCisgICAgIFNrcml2ICBnZwlmb3Ig5SBn5SB0aWwgYmVneW5uZWxzZW4gYXYgZmlsZW4uCiAKLSAgMy4gU2tyaXYgaW5uIGxpbmplbnVtbWVyZXQgZHUgdmFyIHDlIG9nIGRlcmV0dGVyIFNoaWZ0LUcuIERldHRlIHZpbCBm+HJlIGRlZwotICAgICB0aWxiYWtlIHRpbCBsaW5qZW4gZHUgdmFyIHDlIGRhIGR1IHRyeWtrZXQgQ3RybC1nLiAoTuVyIGR1IHNrcml2ZXIgaW5uCi0gICAgIG51bW1lcmV0LCB2aWwgZGV0IElLS0UgYmxpIHZpc3QgcOUgc2tqZXJtZW4uKQorICAzLiBTa3JpdiBpbm4gbGluamVudW1tZXJldCBkdSB2YXIgcOUgb2cgZGVyZXR0ZXIgIEcgLiBEZXR0ZSB2aWwgZvhyZSBkZWcKKyAgICAgdGlsYmFrZSB0aWwgbGluamVuIGR1IHZhciBw5SBkYSBkdSBm+HJzdCB0cnlra2V0IENUUkwtRy4KIAogICA0LiBVdGb4ciBzdGVnIDEgdGlsIDMgaHZpcyBkdSBm+GxlciBkZWcgc2lra2VyIHDlIHByb3NlZHlyZW4uCiAKLQotCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSBMZWtzam9uIDQuMjogU9hLRUtPTU1BTkRPRU4KIAotCiAgICAgICAqKiBTa3JpdgkvICBldHRlcmZ1bGd0IGF2IGVuIHP4a2VzdHJlbmcgc29tIGR1IHZpbCBsZXRlIGV0dGVyLiAqKgogCiAgIDEuIFRyeWtrICAvICBu5XIgZHUgZXIgaSBub3JtYWxtb2R1c2VuLiBMZWdnIG1lcmtlIHRpbCBhdCBza3Llc3RyZWtlbiBvZwogICAgICBtYXJr+HJlbiBrb21tZXIgdGlsIHN5bmUgcOUgYnVubmVuIGF2IHNramVybWVuIGkgbGlraGV0IG1lZAogICAgICCrOrsta29tbWFuZG9lbmUuCiAKLSAgMi4gU2tyaXYgIGZlZWVpaWwgIG9nIHRyeWtrIEVOVEVSLiBEZXR0ZSBlciB0ZWtzdGVuIGR1IHZpbCBsZXRlIGV0dGVyLgorICAyLiBTa3JpdiCrZmVlZWlpbLsgb2cgdHJ5a2sgPEVOVEVSPi4gRGV0dGUgZXIgdGVrc3RlbiBkdSB2aWwgbGV0ZSBldHRlci4KIAotICAzLiBGb3Ig5SBmaW5uZSBuZXN0ZSBmb3Jla29tc3QgYXYgc/hrZXN0cmVuZ2VuLCB0cnlrayAgbiAgLiBGb3Ig5SBsZXRlIGV0dGVyCi0gICAgIHNhbW1lIHP4a2V0ZWtzdGVuIGkgbW90c2F0dCByZXRuaW5nLCB0cnlrayAgU2hpZnQtTiAgLgorICAzLiBGb3Ig5SBmaW5uZSBuZXN0ZSBmb3Jla29tc3QgYXYgc/hrZXN0cmVuZ2VuLCB0cnlrayAgbiAuCisgICAgIEZvciDlIGxldGUgZXR0ZXIgc2FtbWUgc/hrZXRla3N0ZW4gaSBtb3RzYXR0IHJldG5pbmcsIHRyeWtrICBOIC4KIAotICA0LiBIdmlzIGR1IHZpbCBsZXRlIGV0dGVyIGVuIHRla3N0IGJha292ZXIgaSBmaWxlbiwgYnJ1ayBrb21tYW5kb2VuICA/Ci0gICAgIGlzdGVkZW5mb3IgIC8gIC4KKyAgNC4gRm9yIOUgbGV0ZSBldHRlciBlbiB0ZWtzdCBiYWtvdmVyIGkgZmlsZW4sIGJydWsgID8gIGlzdGVkZW5mb3IgIC8JLgogCi1NRVJLOiBO5XIgc/hrZXQgdHJlZmZlciBzbHV0dGVuIGF2IGZpbGVuIHZpbCBkZXQgZm9ydHNldHRlIGZyYSBkZW4gYW5kcmUgZW5kZW4KLSAgICAgIGF2IGZpbGVuLgorICA1LiBGb3Ig5SBn5SB0aWxiYWtlIHRpbCBkZXIgZHUga29tIGZyYSwgdHJ5a2sgIENUUkwtTyAgKEhvbGQgQ3RybCBuZWRlIG1lbnMKKyAgICAgZHUgdHJ5a2tlciBib2tzdGF2ZW4gIG8gKS4gUmVwZXRlciBmb3Ig5SBn5SBlbmRhIGxlbmdyZSB0aWxiYWtlLiBDVFJMLUkKKyAgICAgZ+VyIGZyYW1vdmVyLgogCiAtLS0+IKtmZWVlaWlsuyBlciBpa2tlIG3ldGVuIOUgc2tyaXZlIKtmZWlsuyBw5SwgZmVlZWlpbCBlciBoZWx0IGZlaWwuCi0KK01lcms6IE7lciBz+GtpbmdlbiBu5XIgc2x1dHRlbiBhdiBmaWxlbiwgdmlsIGRlbiBmb3J0c2V0dGUgZnJhIHN0YXJ0ZW4gdW5udGF0dAorICAgICAgaHZpcyCrd3JhcHNjYW67LXZhbGdldCBlciByZXNhdHQuCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJICAgTGVrc2pvbiA0LjM6IEZJTk4gU0FNU1ZBUkVOREUgUEFSRU5URVNFUgogCiAKIAkgICoqIFRyeWtrICAlICBmb3Ig5SBmaW5uZSBlbiBzYW1zdmFyZW5kZSApLCBdIGVsbGVyIH0gLiAqKgogCi0gIDEuIFBsYXNzZXIgbWFya/hyZW4gcOUgZW4gKCwgWyBlbGxlciB7IHDlIGxpbmplbiBuZWRlbmZvciBtZXJrZXQgIC0tLT4gIC4KKyAgMS4gUGxhc3NlciBtYXJr+HJlbiBw5SBlbiAoLCBbIGVsbGVyIHsgcOUgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LgogCiAgIDIuIFRyeWtrICAlICAuCiAKLSAgMy4gTWFya/hyZW4gZmx5dHRlciBzZWcgbuUgdGlsIHBhcmVudGVzZW4gc29tIHNhbXN2YXJlciBtZWQgZGVuIGR1IHN0b2QgcOUuCisgIDMuIE1hcmv4cmVuIHZpbCBn5SB0aWwgZGVuIHNhbXN2YXJlbmRlIHBhcmVudGVzZW4gZWxsZXIgaGFrZXBhcmVudGVzZW4uCiAKLSAgNC4gVHJ5a2sgICUgIGZvciDlIGZseXR0ZSBtYXJr+HJlbiB0aWxiYWtlIHRpbCBkZW4gZvhyc3RlIHBhcmVudGVzZW4uCisgIDQuIFRyeWtrICAlICBmb3Ig5SBmbHl0dGUgbWFya/hyZW4gdGlsIGRlbiBhbmRyZSBzYW1zdmFyZW5kZSBwYXJlbnRlc2VuLgogCi0tLS0+IERldHRlICggZXIgZW4gdGVzdGxpbmplIG1lZCAoLCBbIF0gb2cgeyB9IGkgZGVuICkpCisgIDUuIEZseXR0IG1hcmv4cmVuIHRpbCBlbiBhbm5lbiAoLCApLCBbLCBdLCB7IGVsbGVyIH0gb2cgc2UgaHZhICAlICBnavhyLgogCi1NRVJLOiBEZXR0ZSBlciBtZWdldCBnb2QgaGplbHAgdGlsIGZlaWxz+GtpbmcgaSBwcm9ncmFtbWVyIHNvbSBoYXIgdWJhbGFuc2VydAorLS0tPiBEZXR0ZSAoIGVyIGVuIHRlc3RsaW5qZSBtZWQgKCwgWyBdIG9nIHsgfSBpIGRlbiApKS4KKworTWVyazogRGV0dGUgZXIgdmVsZGlnIG55dHRpZyB0aWwgZmVpbHP4a2luZyBpIHByb2dyYW1tZXIgc29tIGhhciB1YmFsYW5zZXJ0CiAgICAgICBhbnRhbGwgcGFyZW50ZXNlciEKIAogCiAKLQotCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICBMZWtzam9uIDQuNDogRU4gTcVURSDFIFJFVFRFIFNLUklWRUZFSUwgUMUKKwkJICAgICAgIExla3Nqb24gNC40OiBFUlNUQVRULUtPTU1BTkRPRU4KIAogCiAJKiogU2tyaXYgIDpzL2dhbW1lbC9ueS9nICBmb3Ig5SBlcnN0YXR0ZSCrZ2FtbWVsuyBtZWQgq255uy4gKioKIAotICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgbGluamVuIG5lZGVuZm9yIHNvbSBiZWd5bm5lciBtZWQgIC0tLT4JLgorICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgbGluamVuIG5lZGVuZm9yIHNvbSBlciBtZXJrZXQgbWVkIC0tLT4uCiAKICAgMi4gU2tyaXYgIDpzL2RlZW4vZGVuLyA8RU5URVI+ICAuIExlZ2cgbWVya2UgdGlsIGF0IGRlbm5lIGtvbW1hbmRvZW4gYmFyZQotICAgICBmb3JhbmRyZXIgZGVuIGb4cnN0ZSBmb3Jla29tc3RlbiBhdiBvcmRldCBw5SBsaW5qZW4uCisgICAgIGZvcmFuZHJlciBkZW4gZvhyc3RlIGZvcmVrb21zdGVuIGF2IKtkZWVuuyBw5SBsaW5qZW4uCiAKLSAgMy4gU2tyaXYgIDpzL2RlZW4vZGVuL2cgIHNvbSBiZXR5ciBnbG9iYWwgZXJzdGF0bmluZyBw5SBsaW5qZW4uIERldHRlIHZpbAotICAgICBlcnN0YXR0ZSBhbGxlIGZvcmVrb21zdGVyIGF2IHP4a2V0ZWtzdGVuIHDlIGxpbmplbiBkdSBzdOVyIHDlLgorICAzLiBTa3JpdiAgOnMvZGVlbi9kZW4vZyAuIE7lciBnLWZsYWdnZXQgbGVnZ2VzIHRpbCwgYmV0eXIgZGV0dGUgZ2xvYmFsCisgICAgIGVyc3RhdG5pbmcgcOUgbGluamVuIG9nIGVyc3RhdHRlciBhbGxlIGZvcmVrb21zdGVyIGF2IKtkZWVuuyBw5SBsaW5qZW4uCiAKLS0tLT4gZGVlbiBiZXN0ZSBlciBkZWVuIHNvbSBrYW4ga2FzdGUgZGVlbiB0eW5nc3RlIHN0ZWluZW4gbGVuZ3N0CistLS0+IGRlZW4gc29tIGthbiBrYXN0ZSBkZWVuIHR5bmdzdGUgc3RlaW5lbiBsZW5nc3QgZXIgZGVlbiBiZXN0ZQogCi0gIDQuIFNrcml2ICA6Iywjcy9nYW1tZWwvbnkvZyAgZm9yIOUgZXJzdGF0dGUgdGVrc3QgbWVsbG9tIHRvIGxpbmplciwgZGVyICMsIwotCQkJICAgICAgIGVyIGxpbmplbnVtcmVuZSBw5SBkZSB0byBsaW5qZW5lLgorICA0LiBGb3Ig5SBlcnN0YXR0ZSBhbGxlIGZvcmVrb21zdGVyIGF2IGVuIHRla3N0c3RyZW5nIG1lbGxvbSB0byBsaW5qZXIsCisgICAgIHNrcml2ICA6Iywjcy9nYW1tZWwvbnkvZyAgZGVyICMsIyBlciBsaW5qZW51bXJlbmUgcOUgZGUgdG8gbGluamVuZSBmb3IKKwkJCSAgICAgICBsaW5qZW9tcuVkZXQgZXJzdGF0bmluZ2VuIHNrYWwgZ2r4cmVzLgogICAgICBTa3JpdiAgOiVzL2dhbW1lbC9ueS9nICAgIGZvciDlIGVyc3RhdHRlIHRla3N0IGkgaGVsZSBmaWxlbi4KLQotCi0KLQorICAgICBTa3JpdiAgOiVzL2dhbW1lbC9ueS9nYyAgIGZvciDlIGZpbm5lIGFsbGUgZm9yZWtvbXN0ZXIgaSBoZWxlIGZpbGVuLCBvZworCQkJICAgICAgIGRlcmV0dGVyIHNw+HJyZSBvbSB0ZWtzdGVuIHNrYWwgZXJzdGF0dGVzIGVsbGVyCisJCQkgICAgICAgaWtrZS4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkJICBPUFBTVU1NRVJJTkcgQVYgTEVLU0pPTiA0CiAKIAotICAxLiBDdHJsLWcgdmlzZXIgbuV25nJlbmRlIHBvc2lzam9uIGkgZmlsZW4gb2cgZmlsc3RhdHVzZW4uIFNoaWZ0LUcgZ+VyIHRpbAotICAgICBzbHV0dGVuIGF2IGZpbGVuLiBFdCBsaW5qZW51bW1lciBldHRlcmZ1bGd0IGF2IFNoaWZ0LUcgZ+VyIHRpbCBkZW5uZQotICAgICBsaW5qZW4uCisgIDEuIEN0cmwtRyB2aXNlciBu5XbmcmVuZGUgcG9zaXNqb24gaSBmaWxlbiBvZyBmaWxzdGF0dXNlbi4KKwkgICAgIEcJZ+VyIHRpbCBzbHV0dGVuIGF2IGZpbGVuLgorICAgICBudW1tZXIgIEcJZ+VyIHRpbCBkZXQgbGluamVudW1tZXJldC4KKwkgICAgZ2cJZ+VyIHRpbCBkZW4gZvhyc3RlIGxpbmplbi4KIAogICAyLiBTa3JpdiAgLyAgZXR0ZXJmdWxndCBhdiBlbiBz+GtldGVrc3QgZm9yIOUgbGV0ZSBGUkFNT1ZFUiBldHRlciB0ZWtzdGVuLgogICAgICBTa3JpdiAgPyAgZXR0ZXJmdWxndCBhdiBlbiBz+GtldGVrc3QgZm9yIOUgbGV0ZSBCQUtPVkVSIGV0dGVyIHRla3N0ZW4uCiAgICAgIEV0dGVyIGV0IHP4ayBrYW4gZHUgdHJ5a2tlICBuICBmb3Ig5SBmaW5uZSBuZXN0ZSBmb3Jla29tc3QgaSBkZW4gc2FtbWUKLSAgICAgcmV0bmluZ2VuIGVsbGVyIFNoaWZ0LU4gZm9yIOUgbGV0ZSBpIG1vdHNhdHQgcmV0bmluZy4KKyAgICAgcmV0bmluZ2VuIGVsbGVyICBOICBmb3Ig5SBsZXRlIGkgbW90c2F0dCByZXRuaW5nLgorICAgICBDVFJMLU8gdGFyIGRlZyB0aWxiYWtlIHRpbCBnYW1sZSBwb3Npc2pvbmVyLCBDVFJMLUkgdGlsIG55ZXJlIHBvc2lzam9uZXIuCiAKLSAgMy4gU2tyaXYgICUgIG7lciBtYXJr+HJlbiBzdOVyIHDlIGVuICgsICksIFssIF0sIHsgZWxsZXIgfSBmb3Ig5SBmaW5uZQotICAgICBwYXJlbnRlc3RlbiBzb20gc2Ftc3ZhcmVyIG1lZCBkZW4gbWFya/hyZW4gc3TlciBw5S4KKyAgMy4gU2tyaXYgICUgIG7lciBtYXJr+HJlbiBzdOVyIHDlIGVuICgsICksIFssIF0sIHsgZWxsZXIgfSBmb3Ig5SBmaW5uZSBkZW4KKyAgICAgc29tIHNhbXN2YXJlci4KIAogICA0LiBFcnN0YXR0ZSCrZ2FtbWVsuyBtZWQgZvhyc3RlIKtuebsgcOUgZW4gbGluamU6ICA6cy9nYW1tZWwvbnkKICAgICAgRXJzdGF0dGUgYWxsZSCrZ2FtbWVsuyBtZWQgq255uyBw5SBlbiBsaW5qZTogICAgOnMvZ2FtbWVsL255L2cKICAgICAgRXJzdGF0dGUgdGVrc3QgbWVsbG9tIHRvIGxpbmplbnVtcmU6CSAgICAgOiMsI3MvZ2FtbWVsL255L2cKICAgICAgRXJzdGF0dGUgYWxsZSBmb3Jla29tc3RlciBpIGVuIGZpbDoJICAgICA6JXMvZ2FtbWVsL255L2cKICAgICAgRm9yIOUgZ29ka2plbm5lIGh2ZXIgZXJzdGF0bmluZywgbGVnZyB0aWwgq2O7OiAgOiVzL2dhbW1lbC9ueS9nYwotCi0KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCSAgICAgICBMZWtzam9uIDUuMTogSFZPUkRBTiBVVEbYUkUgRU4gRUtTVEVSTiBLT01NQU5ETwogCkBAIC01MTAsMTM0ICs2MDMsMTM0IEBACiAgICAgKiogU2tyaXYgIDohICBldHRlcmZ1bGd0IGF2IGVuIGVrc3Rlcm4ga29tbWFuZG8gZm9yIOUgdXRm+HJlIGRlbm5lLiAqKgogCiAgIDEuIFNrcml2IGRlbiB2ZWxramVudGUga29tbWFuZG9lbiAgOgkgZm9yIOUgcGxhc3NlcmUgbWFya/hyZW4gcOUgYnVubmVuIGF2Ci0gICAgIHNramVybWVuLiBEZXR0ZSBsYXIgZGVnIHNrcml2ZSBlbiBrb21tYW5kby4KKyAgICAgc2tqZXJtZW4uIERldHRlIGxhciBkZWcgc2tyaXZlIGVuIGtvbW1hbmRvbGluamVrb21tYW5kby4KIAotICAyLiBO5SBrYW4gZHUgc2tyaXZlIHRlZ25ldCAhCS4gRGV0dGUgbGFyIGRlZyB1dGb4cmUgZW4gaHZpbGtlbiBzb20gaGVsc3QKKyAgMi4gTuUga2FuIGR1IHNrcml2ZSB0ZWduZXQgICEgIC4gRGV0dGUgbGFyIGRlZyB1dGb4cmUgZW4gaHZpbGtlbiBzb20gaGVsc3QKICAgICAgZWtzdGVybiBrb21tYW5kby4KIAogICAzLiBTb20gZXQgZWtzZW1wZWwsIHNrcml2ICBscyAgZXR0ZXIgdXRyb3BzdGVnbmV0IG9nIHRyeWtrIDxFTlRFUj4uIER1IHZpbAogICAgICBu5SBm5SBlbiBsaXN0ZSBvdmVyIGZpbGVuZSBpIGthdGFsb2dlbiwgYWtrdXJhdCBzb20gb20gZHUgaGFkZGUga2r4cnQKLSAgICAga29tbWFuZG9lbiBkaXJla3RlIGZyYSBza2FsbGV0LiBFbGxlciBicnVrICA6IWRpcglodmlzIKtsc7sgaWtrZSB2aXJrZXIuCisgICAgIGtvbW1hbmRvZW4gZGlyZWt0ZSBmcmEga29tbWFuZG9saW5qZW4gaSBza2FsbGV0LiBFbGxlciBicnVrICA6IWRpciAgaHZpcworICAgICCrbHO7IGlra2Ugdmlya2VyLgogCi0tLS0+IE1FUks6IERldCBlciBtdWxpZyDlIGtq+HJlIGFsbGUgbXVsaWdlIGVrc3Rlcm5lIGtvbW1hbmRvZXIgcOUgZGVubmUKLSAgICAgbeV0ZW4uCitNRVJLOiBEZXQgZXIgbXVsaWcg5SBravhyZSBhbGxlIGVrc3Rlcm5lIGtvbW1hbmRvZXIgcOUgZGVubmUgbeV0ZW4sIG9nc+UgbWVkCisgICAgICBwYXJhbWV0ZXJlLgogCi0tLS0+IE1FUks6IEFsbGUgqzq7LWtvbW1hbmRvZXIgbeUgYXZzbHV0dGVzIG1lZCA8RU5URVI+LgotCi0KK01FUks6IEFsbGUgqzq7LWtvbW1hbmRvZXIgbeUgYXZzbHV0dGVzIG1lZCA8RU5URVI+LiBGcmEgZGV0dGUgcHVua3RldCBlciBkZXQKKyAgICAgIGlra2UgYWxsdGlkIHZpIG5ldm5lciBkZXQuCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgIExla3Nqb24gNS4yOiBNRVIgT00gTEFHUklORyBBViBGSUxFUgogCiAKLSAgICAgKiogRm9yIOUgbGFncmUgZW5kcmluZ2VuZSBnam9ydCBpIGVuIGZpbCwgc2tyaXYgIDp3IEZJTE5BVk4gIC4gKioKKyAgICAgICoqIEZvciDlIGxhZ3JlIGVuZHJpbmdlbmUgZ2pvcnQgaSBlbiB0ZWtzdCwgc2tyaXYgIDp3IEZJTE5BVk4uICoqCiAKICAgMS4gU2tyaXYgIDohZGlyICBlbGxlciAgOiFscwlmb3Ig5SBm5SBlbiBsaXN0ZSBvdmVyIGZpbGVuZSBpIGthdGFsb2dlbi4gRHUKICAgICAgdmV0IGFsbGVyZWRlIGF0IGR1IG3lIHRyeWtrZSA8RU5URVI+IGV0dGVyIGRldHRlLgogCi0gIDIuIFZlbGcgZXQgZmlsbmF2biBw5SBlbiBmaWwgc29tIGlra2UgZmlubmVzLCBzb20gZm9yIGVrc2VtcGVsICBURVNUCS4KKyAgMi4gVmVsZyBldCBmaWxuYXZuIHDlIGVuIGZpbCBzb20gaWtrZSBmaW5uZXMsIHNvbSBmb3IgZWtzZW1wZWwgIFRFU1QgLgogCiAgIDMuIFNrcml2ICA6dyBURVNUICAoZGVyIFRFU1QgZXIgZmlsbmF2bmV0IGR1IHZlbGdlcikuCiAKICAgNC4gRGV0dGUgbGFncmVyIGhlbGUgZmlsZW4gKGRlbm5lIGlubmb4cmluZ2VuKSB1bmRlciBuYXZuZXQgVEVTVCAuIEZvciDlCi0gICAgIHNqZWtrZSBkZXR0ZSwgc2tyaXYgIDohZGlyICBpZ2plbiBmb3Ig5SBzZSBpbm5ob2xkZXQgYXYga2F0YWxvZ2VuLgorICAgICBzamVra2UgZGV0dGUsIHNrcml2ICA6IWRpciAgZWxsZXIJOiFscyAgaWdqZW4gZm9yIOUgc2UgaW5uaG9sZGV0IGF2CisgICAgIGthdGFsb2dlbi4KIAotLS0tPiBIdmlzIGR1IG7lIGhhZGRlIGF2c2x1dHRldCBWaW0gb2cgc3RhcnRldCBw5SBueXR0IGlnamVuIG1lZCBmaWxuYXZuZXQKLSAgICAgVEVTVCwgdmlsbGUgZmlsZW4gduZydCBlbiBla3Nha3Qga29waSBhdiBpbm5m+HJpbmdlbiBkYSBkdSBsYWdyZXQgZGVuLgorTWVyazogSHZpcyBkdSBu5SBoYWRkZSBhdnNsdXR0ZXQgVmltIG9nIHN0YXJ0ZXQgcOUgbnl0dCBpZ2plbiBtZWQgq3ZpbSBURVNUuywKKyAgICAgIHZpbGxlIGZpbGVuIHbmcnQgZW4gZWtzYWt0IGtvcGkgYXYgaW5uZvhyaW5nZW4gZGEgZHUgbGFncmV0IGRlbi4KIAotICA1LiBGamVybiBmaWxlbiB2ZWQg5SBza3JpdmUgIDohcm0gVEVTVCAgaHZpcyBkdSBlciBw5SBldCBVTklYLWxpZ25lbmRlCisgIDUuIEZqZXJuIGZpbGVuIHZlZCDlIHNrcml2ZSAgOiFybSBURVNUICBodmlzIGR1IGVyIHDlIGV0IFVuaXgtbGlnbmVuZGUKICAgICAgb3BlcmF0aXZzeXN0ZW0sIGVsbGVyICA6IWRlbCBURVNUCWh2aXMgZHUgYnJ1a2VyIE1TLURPUy4KIAotCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgIExla3Nqb24gNS4zOiBERUxWSVMgTEFHUklORyBBViBFTiBGSUwKKwkJICAgTGVrc2pvbiA1LjM6IFZFTEdFIFRFS1NUIFNPTSBTS0FMIExBR1JFUwogCiAKLQkgICoqIEZvciDlIGxhZ3JlIGVuIGRlbCBhdiBlbiBmaWwsIHNrcml2ICA6IywjIHcgRklMTkFWTiAgKioKKyAgICAgKiogRm9yIOUgbGFncmUgZW4gZGVsIGF2IGVuIGZpbCwgc2tyaXYgIHYJYmV2ZWdlbHNlICA6dyBGSUxOQVZOICoqCiAKLSAgMS4gRW4gZ2FuZyB0aWw6IFNrcml2ICA6IWRpcgllbGxlciAgOiFscyAgZm9yIOUgZuUgZW4gbGlzdGUgb3ZlciBmaWxlbmUgaQotICAgICBrYXRhbG9nZW4uIFZlbGcgZXQgcGFzc2VuZGUgZmlsbmF2biwgc29tICBURVNUICAuCisgIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW5uZSBsaW5qZW4uCiAKLSAgMi4gRmx5dHQgbWFya/hyZW4gdGlsIHRvcHBlbiBhdiBkZW5uZSBzaWRlbiBvZyB0cnlrayBDdHJsLWcgZm9yIOUgZmlubmUKLSAgICAgbnVtbWVyZXQgcOUgZGVubmUgbGluamVuLiBIVVNLIERFVFRFIE5VTU1FUkVUIQorICAyLiBUcnlrayAgdiAgb2cgZmx5dHQgbWFya/hyZW4gdGlsIGRldCBmZW10ZSBlbGVtZW50ZXQgbmVkZW5mb3IuIExlZ2cgbWVya2UKKyAgICAgdGlsIGF0IHRla3N0ZW4gYmxpciBtYXJrZXJ0LgogCi0gIDMuIEflIHRpbCBuZWRlcnN0ZSBsaW5qZSBw5SBza2plcm1lbiBvZyB0cnlrayBDdHJsLWcgaWdqZW4uIEhVU0sgREVUVEUKLSAgICAgTElOSkVOVU1NRVJFVCBPR1PFIQorICAzLiBUcnlrayAgOiAgKGtvbG9uKS4gUOUgYnVubmVuIGF2IHNramVybWVuIHZpbCAgOic8LCc+ICBrb21tZSB0aWwgc3luZS4KIAotICA0LiBGb3Ig5SBsYWdyZSBCQVJFIGVuIGRlbCBhdiBmaWxlbiwgc2tyaXYgIDojLCMgdyBURVNUICBodm9yICMsIyBlciBkZSB0bwotICAgICBudW1yZW5lIGR1IHNrdWxsZSBodXNrZSAodG9wcCBvZyBidW5uKSBvZwlURVNUICBlciBmaWxuYXZuZXQuCisgIDQuIFRyeWtrICB3IFRFU1QgICwgZGVyIFRFU1QgZXIgZXQgZmlsbmF2biBzb20gaWtrZSBmaW5uZXMgZW5kYS4gS29udHJvbGxlcgorICAgICBhdCBkdSBzZXIJOic8LCc+dyBURVNUICBm+HIgZHUgdHJ5a2tlciBFbnRlci4KIAotICA1LiBTamVrayBtZWQJOiFkaXIgIG9tIGZpbGVuIGVyIGRlciwgbWVuIElLS0Ugc2xldHQgZGVuLgorICA1LiBWaW0gdmlsIHNrcml2ZSBkZSB2YWxndGUgbGluamVuZSB0aWwgZmlsZW4gVEVTVC4gQnJ1ayAgOiFkaXIgIGVsbGVyICAhbHMKKyAgICAgZm9yIOUgc2UgZGVuLiBJa2tlIHNsZXR0IGRlbiBlbmRhISBWaSB2aWwgYnJ1a2UgZGVuIGkgbmVzdGUgbGVrc2pvbi4KIAotCi0KK01FUks6IFZlZCDlIHRyeWtrZSAgdiAgc3RhcnRlcyB2aXN1ZWx0IHZhbGcuIER1IGthbiBmbHl0dGUgbWFya/hyZW4gcnVuZHQgZm9yCisgICAgICDlIGdq+HJlIGRldCB2YWxndGUgb21y5WRldCBzdPhycmUgZWxsZXIgbWluZHJlLiBEZXJldHRlciBrYW4gZHUgYnJ1a2UgZW4KKyAgICAgIG9wZXJhdG9yIGZvciDlIGdq+HJlIG5vZSBtZWQgdGVrc3Rlbi4gRm9yIGVrc2VtcGVsIHNsZXR0ZXIgIGQgIHRla3N0ZW4uCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQlMZWtzam9uIDUuNDogSEVOVElORyBPRyBTQU1NRU5TTMVJTkcgQVYgRklMRVIKIAogCi0qKiBGb3Ig5SBsZXNlIGlubiBlbiBhbm5lbiBmaWwgaW5uIGkgbuV25nJlbmRlIGJ1ZmZlciwgc2tyaXYgIDpyIEZJTE5BVk4gIC4gKioKKyAqKiBGb3Ig5SBsZXNlIGlubiBlbiBhbm5lbiBmaWwgaW5uIGkgbuV25nJlbmRlIGJ1ZmZlciwgc2tyaXYgIDpyIEZJTE5BVk4gICoqCiAKLSAgMS4gU2tyaXYgIDohZGlyICBmb3Ig5SBmb3JzaWtyZSBkZWcgb20gYXQgZmlsZW4gIFRFU1QgIGZpbm5lcy4KKyAgMS4gUGxhc3NlciBtYXJr+HJlbiBsaWtlIG92ZXIgZGVubmUgbGluamVuLgogCi0gIDIuIFBsYXNzZXIgbWFya/hyZW4gcOUgdG9wcGVuIGF2IGRlbm5lIHNpZGVuLgorTUVSSzogRXR0ZXIg5SBoYSB1dGb4cnQgc3RlZyAyIHZpbCBkdSBzZSB0ZWtzdGVuIGZyYSBsZWtzam9uIDUuMy4gR+UgZGVyZXR0ZXIKKyAgICAgIE5FRCBmb3Ig5SBzZSBkZW5uZSBsZWtzam9uZW4gaWdqZW4uCiAKLU1FUks6ICBFdHRlciBhdCBkdSBoYXIgdXRm+HJ0IHN0ZWcgMyB2aWwgZHUgc2UgbGVrc2pvbiA1LjMuIEflIG5lZG92ZXIgZm9yYmkKLSAgICAgICBkZW4gb2cgdGlsIGRlbm5lIHBvc2lzam9uZW4gaWdqZW4uCisgIDIuIEhlbnQgVEVTVC1maWxlbiB2ZWQg5SBicnVrZSBrb21tYW5kb2VuICA6ciBURVNUICBkZXIgVEVTVCBlciBuYXZuZXQgcOUKKyAgICAgZmlsZW4gZHUgYnJ1a3RlLiBGaWxlbiBkdSBoZW50ZXIgYmxpciBwbGFzc2VydCBuZWRlbmZvciBtYXJr+HJsaW5qZW4uCiAKLSAgMy4gSGVudCCrVEVTVLstZmlsZW4gZGluIG1lZCBrb21tYW5kb2VuICA6ciBURVNUICBkZXIgVEVTVCBlciBuYXZuZXQgcOUKLSAgICAgZmlsZW4uCi0KLU1FUks6IEZpbGVuIGR1IGhlbnRlciB2aWwgYmxpIHBsYXNzZXJ0IGRlciBtYXJr+HJlbiBzdOVyLgotCi0gIDQuIEZvciDlIHNqZWtrZSBhdCBmaWxlbiBibGUgaGVudGV0LCBn5SB0aWxiYWtlIG9nIHNlIGF0IGRldCBlciB0byBrb3BpZXIgYXYKKyAgMy4gRm9yIOUgc2pla2tlIGF0IGZpbGVuIGJsZSBoZW50ZXQsIGflIHRpbGJha2Ugb2cgc2UgYXQgZGV0IGVyIHRvIGtvcGllciBhdgogICAgICBsZWtzam9uIDUuMywgb3JpZ2luYWxlbiBvZyBkZW5uZSB2ZXJzam9uZW4uCiAKK01FUks6IER1IGthbiBvZ3PlIGxlc2UgdXRkYXRhZW5lIGF2IGVuIGVrc3Rlcm4ga29tbWFuZG8uIEZvciBla3NlbXBlbCwJOnIgIWxzCisgICAgICBsZXNlciB1dGRhdGFlbmUgYXYgbHMta29tbWFuZG9lbiBvZyBsZWdnZXIgZGVtIG5lZGVuZm9yIG1hcmv4cmVuLgorCisKIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSAgT1BQU1VNTUVSSU5HIEFWIExFS1NKT04gNQogCiAKLSAgMS4gIDohS09NTUFORE8gIHV0ZvhyZXIgZW4gZWtzdGVybiBrb21tYW5kaW8uCisgIDEuICA6IWtvbW1hbmRvICB1dGb4cmVyIGVuIGVrc3Rlcm4ga29tbWFuZGlvLgogCi0JTm9lbiBueXR0aWdlIGVrc2VtcGxlciBlcjoKLQkgICAgKE1TLURPUykJKFVuaXgpCi0JICAgICA6IWRpcgkgOiFscwkgICAgLS0gTGlzdCBmaWxlbmUgaSBrYXRhbG9nZW4KLQkgICAgIDohZGVsIEZJTAkgOiFybSBGSUwgICAtLSBTbGV0dCBmaWxlbiAgRklMCisgICAgICBOb2VuIG55dHRpZ2UgZWtzZW1wbGVyIGVyOgorCSAoTVMtRE9TKQkgIChVbml4KQorCSAgOiFkaXIJCSAgIDohbHMJCSAgLSBMaXN0IGZpbGVuZSBpIGthdGFsb2dlbi4KKwkgIDohZGVsIEZJTE5BVk4gICAgOiFybSBGSUxOQVZOICAgLSBTbGV0dCBmaWxlbiBGSUxOQVZOLgogCi0gIDIuICA6dyBGSUxOQVZOICBza3JpdmVyIGRlbiBmaWxlbiBkdSBzdOVyIGkgdGlsIGRpc2tlbiBtZWQgbmF2bmV0IEZJTE5BVk4gLgorICAyLiAgOncgRklMTkFWTiAgc2tyaXZlciBkZW4gbuV25nJlbmRlIFZpbS1maWxlbiBkaXNrZW4gbWVkIG5hdm5ldCBGSUxOQVZOIC4KIAotICAzLiAgOiMsI3cgRklMTkFWTiAgbGFncmVyIGxpbmplbmUgIyB0aWwgIyB0aWwgZmlsZW4gRklMTkFWTiAuCisgIDMuICB2ICBiZXZlZ2Vsc2UgIDp3IEZJTE5BVk4JbGFncmVyIGRlIHZpc3VlbHQgdmFsZ3RlIGxpbmplbmUgdGlsIGZpbGVuCisgICAgIEZJTE5BVk4uCiAKLSAgNC4gIDpyIEZJTE5BVk4gIGhlbnRlciBpbm4gZW4gYW5uZW4gZmlsIG9nIGxlZ2dlciBkZW4gaW5uIGxpa2UgZXR0ZXIKLSAgICAgIG1hcmv4cmVuLgorICA0LiAgOnIgRklMTkFWTiAgaGVudGVyIGZpbGVuIEZJTE5BVk4gb2cgbGVnZ2VyIGRlbiBpbm4gbmVkZW5mb3IgbWFya/hyZW4uCiAKLQotCisgIDUuICA6ciAhZGlyICBsZXNlciB1dGRhdGFlbmUgZnJhIKtkaXK7LWtvbW1hbmRvZW4gb2cgbGVnZ2VyIGRlbSBuZWRlbmZvcgorICAgICBtYXJr+HJwb3Npc2pvbmVuLgogCiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMZWtzam9uIDYuMTogq8VQTkUgTElOSkW7LUtPTU1BTkRPRU4KKwkJICAgICBMZWtzam9uIDYuMTogq8VQTkUgTElOSkW7LUtPTU1BTkRPRU4KIAogCi0gICAgICoqIFNrcml2ICBvICBmb3Ig5SCr5XBuZSBvcHC7IGZvciBlbiBueSBsaW5qZSBldHRlciBtYXJr+HJlbiBvZyBn5SBpCi0JaW5uc2V0dGluZ3Ntb2R1cyAqKgorICAgICoqIFNrcml2ICBvICBmb3Ig5SCr5XBuZSBvcHC7IGZvciBlbiBueSBsaW5qZSBldHRlciBtYXJr+HJlbiBvZyBn5SB0aWwKKyAgICAgICBpbm5zZXR0aW5nc21vZHVzICoqCiAKLSAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGxpbmplbiBuZWRlbmZvciBtZXJrZXQJLS0tPiAgLgorICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LgogCi0gIDIuIFNrcml2ICBvICAobGl0ZW4gbykgZm9yIOUgc3RhcnRlIHDlIGVuIG55IGxpbmplIG5lZGVuZm9yIG1hcmv4cmVuIG9nIGflCi0gICAgIG92ZXIgdGlsIGlubnNldHRpbmdzbW9kdXMuCisgIDIuIFNrcml2ICBvICAobGl0ZW4gbykgZm9yIOUg5XBuZSBvcHAgZW4gbGluamUgTkVERU5GT1IgbWFya/hyZW4gb2cgZ+UgaW5uIGkKKyAgICAgaW5uc2V0dGluZ3Ntb2R1cy4KIAotICAzLiBLb3BpZXIgbGluamVuIHNvbSBlciBtZXJrZXQgIC0tLT4Jb2cgdHJ5a2sgPEVTQz4gZm9yIOUgYXZzbHV0dGUKLSAgICAgaW5uc2V0dGluZ3Ntb2R1c2VuLgorICAzLiBTa3JpdiBsaXR0IHRla3N0IG9nIHRyeWtrIDxFU0M+IGZvciDlIGflIHV0IGF2IGlubnNldHRpbmdzbW9kdXNlbi4KIAogLS0tPiBFdHRlciBhdCAgbyAgZXIgc2tyZXZldCBibGlyIG1hcmv4cmVuIHBsYXNzZXJ0IHDlIGRlbiB0b21tZSBsaW5qZW4uCiAKLSAgNC4gRm9yIOUgbGFnZSBlbiBueSBsaW5qZSBPVkVSIG1hcmv4cmVuLCB0cnlrayByZXR0IG9nIHNsZXR0IGVuIHN0b3IgTwotICAgICBpc3RlZGVuZm9yIGVuIGxpdGVuIG8gLiBQcvh2IGRldHRlIHDlIGxpbmplbiBuZWRlbmZvci4KLS0tLT4gTGFnIGVuIG55LCB0b20gbGluamUgb3ZlciBkZW5uZSBtZWQgU2hpZnQtTyBtZW5zIG1hcmv4cmVuIHN05XIgcOUgZGVuLgorICA0LiBGb3Ig5SDlcG5lIGVuIG55IGxpbmplIE9WRVIgbWFya/hyZW4sIHRyeWtrIHJldHQgb2cgc2xldHQgZW4gc3RvcglPCisgICAgIGlzdGVkZW5mb3IgZW4gbGl0ZW4gIG8gLiBQcvh2IGRldHRlIHDlIGxpbmplbiBuZWRlbmZvci4KKworLS0tPiBMYWcgbnkgbGluamUgb3ZlciBkZW5uZSB2ZWQg5SB0cnlra2UgTyBtZW5zIG1hcmv4cmVuIGVyIHDlIGRlbm5lIGxpbmplbi4KIAogCiAKQEAgLTY0NywxMzkgKzc0MCwyMDkgQEAKIAogCSAgICAqKiBTa3JpdiAgYSAgZm9yIOUgbGVnZ2UgdGlsIHRla3N0IEVUVEVSIG1hcmv4cmVuLiAqKgogCi0gIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IGRlbiBm+HJzdGUgbGluamVuIG1lcmtldCAgLS0tPiAgdmVkIOUKLSAgICAgdHJ5a2tlICAkCWkgbm9ybWFsbW9kdXNlbi4KKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIHN0YXJ0ZW4gYXYgbGluamVuIG1lcmtldCAtLS0+IG5lZGVuZm9yLgogCi0gIDIuIFRyeWtrICBhICAobGl0ZW4gYSkgZm9yIOUgbGVnZ2UgdGlsIHRla3N0IEVUVEVSIHRlZ25ldCB1bmRlciBtYXJr+HJlbi4KLSAgICAgKFN0b3IgQSBsZWdnZXIgdGlsIHDlIHNsdXR0ZW4gYXYgbGluamVuLikKKyAgMi4gVHJ5a2sgIGUgIHRpbCBtYXJr+HJlbiBlciBw5SBzbHV0dGVuIGF2IKtsabsuCiAKLU1FUks6IERldHRlIGdq+HIgYXQgZHUgc2xpcHBlciDlIHRyeWtrZSAgaSAgLCBkZXQgc2lzdGUgdGVnbmV0LCB0ZWtzdGVuIHNvbQotICAgICAgc2thbCBzZXR0ZXMgaW5uLCA8RVNDPiwgaPh5cmVwaWwgb2cgdGlsIHNpc3QsICB4CWJhcmUgZm9yIOUgbGVnZ2UgdGlsCi0gICAgICBw5SBzbHV0dGVuIGF2IGVuIGxpbmplIQorICAzLiBUcnlrayAgYSAgKGxpdGVuIGEpIGZvciDlIGxlZ2dlIHRpbCB0ZWtzdCBFVFRFUiBtYXJr+HJlbi4KIAotICAzLiBHavhyIGZlcmRpZyBkZW4g+HZlcnN0ZSBsaW5qZW4uIExlZ2cgbWVya2UgdGlsIGF0IKtsZWdnIHRpbLsgZXIgZGV0IHNhbW1lCi0gICAgIHNvbSBpbm5zZXR0aW5nc21vZHVzZW4sIG1lZCBkZW4gZm9yc2tqZWxsZW4gaHZvciB0ZWtzdGVuIHNldHRlcyBpbm4uCisgIDQuIEZ1bGxm+HIgb3JkZXQgc+VubiBzb20gcOUgbGluamVuIG5lZGVuZm9yLiBUcnlrayA8RVNDPiBmb3Ig5SBn5SB1dCBhdgorICAgICBpbm5zZXR0aW5nc21vZHVzZW4uCiAKLS0tLT4gUOUgZGVubmUgbGluamVuIG3lIGRldCBsZWdnZXMKLS0tLT4gUOUgZGVubmUgbGluamVuIG3lIGRldCBsZWdnZXMgdGlsIHRla3N0IHDlIHNsdXR0ZW4uCisgIDUuIEJydWsgIGUgIGZvciDlIGflIHRpbCBkZXQgbmVzdGUgdWZ1bGxzdGVuZGlnZSBvcmRldCBvZyByZXBldGVyIHN0ZWcgMyBvZworICAgICA0LgogCistLS0+IERlbm5lIGxpIGxhciBkZWcg+HZlIHDlIOUgbGVnIHRpbCB0ZWsgcOUgZW4gbGluamUuCistLS0+IERlbm5lIGxpbmplbiBsYXIgZGVnIPh2ZSBw5SDlIGxlZ2dlIHRpbCB0ZWtzdCBw5SBlbiBsaW5qZS4KKworTWVyazogYSwgaSBvZyBBIGflciBhbGxlIHRpbCBkZW4gc2FtbWUgaW5uc2V0dGluZ3Ntb2R1c2VuLCBkZW4gZW5lc3RlCisgICAgICBmb3Jza2plbGxlbiBlciBodm9yIHRlZ25lbmUgYmxpciBzYXR0IGlubi4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICBMZWtzam9uIDYuMzogRU4gQU5ORU4gTcVURSDFIEVSU1RBVFRFIFDFCisKKworCSAgICoqIFNrcml2IGVuIHN0b3IgIFIJZm9yIOUgZXJzdGF0dGUgbWVyIGVubiBldHQgdGVnbi4gKioKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3IgbWVya2V0IC0tLT4uIEZseXR0IG1hcmv4cmVuCisgICAgIHRpbCBiZWd5bm5lbHNlbiBhdiBkZW4gZvhyc3RlIKt4eHi7LWVuLgorCisgIDIuIFRyeWtrICBSICBvZyBza3JpdiBpbm4gdGFsbGV0IHNvbSBzdOVyIG5lZGVuZm9yIHDlIGRlbiBhbmRyZSBsaW5qZW4gc+UKKyAgICAgZGV0IGVyc3RhdHRlciB4eHguCisKKyAgMy4gVHJ5a2sgPEVTQz4gZm9yIOUgZ+UgdXQgYXYgZXJzdGF0bmluZ3Ntb2R1c2VuLiBMZWdnIG1lcmtlIHRpbCBhdCByZXN0ZW4KKyAgICAgYXYgbGluamVuIGZvcmJsaXIgdWZvcmFuZHJldC4KKworICA0LiBSZXBldGVyIHN0ZWdlbmUgZm9yIOUgZXJzdGF0dGUgZGVuIGdqZW525nJlbmRlIHh4eC4KKworLS0tPiBWZWQg5SBsZWdnZSAxMjMgdGlsIHh4eCBm5XIgdmkgeHh4LgorLS0tPiBWZWQg5SBsZWdnZSAxMjMgdGlsIDQ1NiBm5XIgdmkgNTc5LgorCitNRVJLOiBFcnN0YXRuaW5nc21vZHVzIGVyIGxpayBpbnNldHRpbmdzbW9kdXMsIG1lbiBodmVydCB0ZWduIHNvbSBza3JpdmVzCisgICAgICBlcnN0YXR0ZXIgZXQgZWtzaXN0ZXJlbmRlIHRlZ24uCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgIExla3Nqb24gNi4zOiBFTiBBTk5FTiBWRVJTSk9OIEFWIKtFUlNUQVRUuworCQkgICAgTGVrc2pvbiA2LjQ6IEtPUElFUkUgT0cgTElNRSBJTk4gVEVLU1QKIAogCi0JICAgKiogU2tyaXYgIFIJZm9yIOUgZXJzdGF0dGUgbWVyIGVubiBldHQgdGVnbi4gKioKKyAgICAqKiBCcnVrIHktb3BlcmF0b3JlbiBmb3Ig5SBrb3BpZXJlIHRla3N0IG9nICBwICBmb3Ig5SBsaW1lIGRlbiBpbm4gKioKIAotICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gbmVkZW5mb3IgbWVya2V0ICAtLS0+ICAuCisgIDEuIEflIHRpbCBsaW5qZW4gbWVya2V0IC0tLT4gbmVkZW5mb3Igb2cgcGxhc3NlciBtYXJr+HJlbiBldHRlciCrYSm7LgogCi0gIDIuIFBsYXNzZXIgbWFya/hyZW4gcOUgYmVneW5uZWxzZW4gYXYgZGV0IGb4cnN0ZSBvcmRldCBzb20gZXIgZm9yc2tqZWxsaWcKLSAgICAgZnJhIGRlbiBhbmRyZSBsaW5qZW4gbWVya2V0ICAtLS0+CShvcmRldCCrc2lzdGW7KS4KKyAgMi4gR+UgaW5uIGkgdmlzdWVsbCBtb2R1cyBtZWQgIHYgIG9nIGZseXR0IG1hcmv4cmVuIHRpbCBsaWtlIGb4ciCrZvhyc3Rluy4KIAotICAzLiBUcnlrayAgUiAgb2cgZXJzdGF0dCByZXN0ZW4gYXYgbGluamVuIG1lZCBkZW4gc2FtbWUgdGVrc3RlbiBzb20gc3TlciBw5QotICAgICBkZW4gYW5kcmUgbGluamVuLgorICAzLiBUcnlrayAgeSAgZm9yIOUga29waWVyZSAoZW5nZWxzazogq3lhbmu7KSBkZW4gdXRoZXZlZGUgdGVrc3Rlbi4KIAotLS0tPiBGb3Ig5SBnavhyZSBkZW4gZvhyc3RlIGxpbmplbiBsaWsgZGVuIGFuZHJlLCBt5SBib2tzdGF2ZW4gc3RvciBSIGJydWtlcy4KLS0tLT4gRm9yIOUgZ2r4cmUgZGVuIGb4cnN0ZSBsaW5qZW4gbGlrIGRlbiBhbmRyZSwgdHJ5a2sgUiBvZyBkZW4gbnllIHRla3N0ZW4uCisgIDQuIEZseXR0IG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IGRlbiBuZXN0ZSBsaW5qZW46ICBqJAogCi0gIDQuIExlZ2cgbWVya2UgdGlsIGF0IG7lciBkdSB0cnlra2VyIDxFU0M+IGZvciDlIGF2c2x1dHRlLCBiZXZhcmVzIHRla3N0ZW4KLSAgICAgc29tIGlra2UgZXIgcmVkaWdlcnQuCisgIDUuIFRyeWtrICBwICBmb3Ig5SBsaW1lIGlubiB0ZWtzdGVuLiBUcnlrayBkZXJldHRlcjoJYSBhbmRyZSA8RVNDPiAuCiAKKyAgNi4gQnJ1ayB2aXN1ZWxsIG1vZHVzIGZvciDlIHZlbGdlIKsgdmFsZ2V0LrssIGtvcGllciBkZXQgbWVkCXkgLCBn5SB0aWwKKyAgICAgc2x1dHRlbiBhdiBkZW4gbmVzdGUgbGluamVuIG1lZCAgaiQgIG9nIGxlZ2cgaW5uIHRla3N0ZW4gZGVyIG1lZCAgcCAuCiAKKy0tLT4gYSkgRGV0dGUgZXIgZGV0IGb4cnN0ZSB2YWxnZXQuCisgICAgIGIpCiAKLQorTWVyazogRHUga2FuIG9nc+UgYnJ1a2UgIHkgIHNvbSBlbiBvcGVyYXRvcjsgIHl3ICBrb3BpZXJlciBldHQgb3JkLgogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgICAgTGVrc2pvbiA2LjQ6IFNFVFQgVkFMRworCQkJICAgIExla3Nqb24gNi41OiBTRVRUIFZBTEcKIAogCi0gKiogU2V0dCBldCB2YWxnIHPlIGV0IHP4ayBlbGxlciBlcnN0YXRuaW5nIGlnbm9yZXJlciBzdG9yZS9zbeUgYm9rc3RhdmVyLiAqKgorICAqKiBTZXR0IGV0IHZhbGcgc+Ugc/hrIGVsbGVyIGVyc3RhdG5pbmcgaWdub3JlcmVyIHN0b3JlL3Nt5SBib2tzdGF2ZXIuICoqCiAKLSAgMS4gTGV0IGV0dGVyIKtpZ25vcmW7IHZlZCDlIHNrcml2ZToKLSAgICAgL2lnbm9yZSA8RU5URVI+Ci0gICAgIFJlcGV0ZXIgZmxlcmUgZ2FuZ2VyIHZlZCDlIHRyeWtrZQluICAuCisgIDEuIExldCBldHRlciCraWdub3JluyB2ZWQg5SBza3JpdmU6ICAvaWdub3JlIDxFTlRFUj4KKyAgICAgUmVwZXRlciBmbGVyZSBnYW5nZXIgdmVkIOUgdHJ5a2tlCW4gLgogCi0gIDIuIFNldHQgq2ljuy12YWxnZXQgKElnbm9yZSBDYXNlKSB2ZWQg5SBza3JpdmU6Ci0gICAgIDpzZXQgaWMKKyAgMi4gU2V0dCCraWO7LXZhbGdldCAoSWdub3JlIENhc2UpIHZlZCDlIHNrcml2ZTogIDpzZXQgaWMKIAotICAzLiBMZXQgZXR0ZXIgq2lnbm9yZbsgaWdqZW4gdmVkIOUgc2tyaXZlOiAgbgotICAgICBSZXBldGVyIHP4a2V0IGZsZXJlIGdhbmdlciB2ZWQg5SB0cnlra2UgIG4gIC4KKyAgMy4gU/hrIGV0dGVyIKtpZ25vcmW7IGlnamVuIHZlZCDlIHRyeWtrZSAgbiAuCisgICAgIExlZ2cgbWVya2UgdGlsIGF0IGLlZGUgq0lnbm9yZbsgb2cgq0lHTk9SRbsgYmxpciBmdW5uZXQuCiAKLSAgNC4gU2V0dCCraGxzZWFyY2i7LSBvZyCraW5jc2VhcmNouy12YWxnZW5lOgotICAgICA6c2V0IGhscyBpcworICA0LiBTZXR0IKtobHNlYXJjaLstIG9nIKtpbmNzZWFyY2i7LXZhbGdlbmU6ICA6c2V0IGhscyBpcwogCi0gIDUuIFNrcml2IHP4a2Vrb21tYW5kb2VuIGlnamVuLCBvZyBzZSBodmEgc29tIHNramVyOgotICAgICAvaWdub3JlIDxFTlRFUj4KKyAgNS4gU2tyaXYgc/hrZWtvbW1hbmRvZW4gaWdqZW4gb2cgc2UgaHZhIHNvbSBza2plcjogIC9pZ25vcmUgPEVOVEVSPgogCi0gIDYuIEh2aXMgZHUgdmlsIHNs5SBhdiB1dGhldmluZ2VuIHDlIHP4a2V0ZWtzdGVuLCBza3JpdiAgOm5vaGxzZWFyY2gKKyAgNi4gRm9yIOUgc2zlIGF2IGlnbm9yZXJpbmcgYXYgc3RvcmUvc23lIGJva3N0YXZlciwgc2tyaXY6ICA6c2V0IG5vaWMKKworTWVyazogRm9yIOUgZmplcm5lIHV0aGV2aW5nZW4gYXYgdHJlZmYsIHNrcml2Ogk6bm9obHNlYXJjaAorTWVyazogSHZpcyBkdSB2aWwgaWdub3JlcmUgc3RvcmUvc23lIGJva3N0YXZlciBmb3Iga3VuIGVuIHP4a2Vrb21tYW5kbywgYnJ1aworICAgICAgXGMgIGkgdXR0cnlra2V0OgkvaWdub3JlXGMgPEVOVEVSPgogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCQkgIE9QUFNVTU1FUklORyBBViBMRUtTSk9OIDYKIAorICAxLiBUcnlrayAgbyAgZm9yIOUgbGVnZ2UgdGlsIGVuIGxpbmplIE5FREVORk9SIG1hcmv4cmVuIG9nIGflIGlubiBpCisgICAgIGlubnNldHRpbmdzbW9kdXMuCisgICAgIFRyeWtrICBPICBmb3Ig5SDlcG5lIGVuIGxpbmplIE9WRVIgbWFya/hyZW4uCiAKLSAgMS4gVHJ5a2sgIG8gIGZvciDlIGxlZ2dlIHRpbCBlbiBsaW5qZSBORURFTkZPUiBtYXJr+HJlbiBvZyBwbGFzc2VyZSBtYXJr+HJlbgotICAgICBw5SBkZW4gbnllIGxpbmplbiBpIGlubnNldHRpbmdzbW9kdXMuCi0gICAgIEh2aXMgZHUgdHJ5a2tlciBlbiBzdG9yIE8g5XBuZXMgbGluamVuIE9WRVIgbGluamVuIG1hcmv4cmVuIHN05XIgcOUuCisgIDIuIFNrcml2ICBhICBmb3Ig5SBzZXR0ZSBpbm4gdGVrc3QgRVRURVIgbWFya/hyZW4uCisgICAgIFNrcml2ICBBICBmb3Ig5SBzZXR0ZSBpbm4gdGVrc3QgZXR0ZXIgc2x1dHRlbiBhdiBsaW5qZW4uCiAKLSAgMi4gU2tyaXYgZW4gIGEgIGZvciDlIHNldHRlIGlubiB0ZWtzdCBFVFRFUiB0ZWduZXQgbWFya/hyZW4gZXIgcOUuCi0gICAgIEVuIHN0b3IgQSB2aWwgbGVnZ2UgdGlsIHRla3N0IHDlIHNsdXR0ZW4gYXYgbGluamVuLgorICAzLiBLb21tYW5kb2VuICBlICBn5XIgdGlsIHNsdXR0ZW4gYXYgZXQgb3JkLgogCi0gIDMuIFZlZCDlIHRyeWtrZSAgUiAgZm9yIGflciBpbm4gaSBlcnN0YXRuaW5nc21vZHVzIGhlbHQgdGlsIDxFU0M+IHRyeWtrZXMKLSAgICAgZm9yIOUgYXZzbHV0dGUgbW9kdXNlbi4KKyAgNC4gT3BlcmF0b3JlbiAgeSAgKKt5YW5ruykga29waWVyZXIgdGVrc3QsICBwICAoq3Bhc3RluykgbGltZXIgZGVuIGlubi4KIAotICA0LiBTa3JpdiAgOnNldCB4eHggIGZvciDlIHNldHRlIHZhbGdldCCreHh4uy4KKyAgNS4gVmVkIOUgdHJ5a2tlICBSICBn5XIgZHUgaW5uIGkgZXJzdGF0bmluZ3Ntb2R1cyBoZWx0IHRpbCAgPEVTQz4gIHRyeWtrZXMuCiAKKyAgNi4gU2tyaXYgqzpzZXQgeHh4uyBmb3Ig5SBzZXR0ZSB2YWxnZXQgq3h4eLsuIE5vZW4gdmFsZyBlcjoKKwmraWO7IKtpZ25vcmVjYXNluwlpZ25vcmVyIHN0b3JlL3Nt5SBib2tzdGF2ZXIgdW5kZXIgc/hrCisJq2lzuyCraW5jc2VhcmNouwl2aXMgZGVsdmlzZSB0cmVmZiBmb3IgZW4gc/hrZXRla3N0CisJq2hsc7sgq2hsc2VhcmNouwl1dGhldiBhbGxlIHP4a2V0cmVmZgogCi0KLQotCi0KLQorICA3LiBMZWdnIHRpbCCrbm+7IGZvcmFuIHZhbGdldCBmb3Ig5SBzbOUgZGV0IGF2OiAgOnNldCBub2ljCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgIExFS1NKT04gNzogVElMR0pFTkdFTElHRSBISkVMUEVLT01NQU5ET0VSCisJCQkgICAgTGVrc2pvbiA3LjE6IEbFIEhKRUxQCiAKIAotCQkgICoqIEJydWsgZGV0IGlubmVieWdnZWRlIGhqZWxwZXN5c3RlbWV0LiAqKgorCQkgICAqKiBCcnVrIGRldCBpbm5lYnlnZGUgaGplbHBlc3lzdGVtZXQuICoqCiAKICAgVmltIGhhciBldCBvbWZhdHRlbmRlIGlubmVieWdnZXQgaGplbHBlc3lzdGVtLiBGb3Ig5SBzdGFydGUgZGV0LCBwcvh2IGVuIGF2CiAgIGRpc3NlIG3ldGVuZToKLSAgICAtIFRyeWtrIEhqZWxwLXRhc3RlbiAoaHZpcyBkdSBoYXIgbm9lbikKLSAgICAtIFRyeWtrIEYxLXRhc3RlbiAoaHZpcyBkdSBoYXIgbm9lbikKKyAgICAtIFRyeWtrIEhqZWxwLXRhc3RlbiAoaHZpcyBkdSBoYXIgZW4pCisgICAgLSBUcnlrayBGMS10YXN0ZW4gKGh2aXMgZHUgaGFyIGVuKQogICAgIC0gU2tyaXYgIDpoZWxwIDxFTlRFUj4KIAotICBTa3JpdiAgOnEgPEVOVEVSPiAgZm9yIOUgbHVra2UgaGplbHBldmluZHVldC4KKyAgTGVzIHRla3N0ZW4gaSBoamVscGV2aW5kdWV0IGZvciDlIGZpbm5lIHV0IGh2b3JkYW4gaGplbHBlbiB2aXJrZXIuCisgIFNrcml2ICBDVFJMLVcgQ1RSTC1XCWZvciDlIGhvcHBlIGZyYSBldCB2aW5kdSB0aWwgZXQgYW5uZXQKKyAgU2tyaXYgIDpxIDxFTlRFUj4JZm9yIOUgbHVra2UgaGplbHBldmluZHVldC4KIAotICBEdSBrYW4gZuUgaGplbHAgcOUgb210cmVudCBhbGxlIHRlbWFlciBvbSBWaW0gdmVkIOUgc2tyaXZlIGV0IHBhcmFtZXRlciB0aWwKLSAgqzpoZWxwuy1rb21tYW5kb2VuLiBQcvh2IGRpc3NlIChpa2tlIGdsZW0gRW50ZXIgZXR0ZXIgaHZlcik6CisgIER1IGthbiBm5SBoamVscCBmb3Igb210cmVudCBhbGxlIHRlbWFlciBvbSBWaW0gdmVkIOUgc2tyaXZlIGV0IHBhcmFtZXRlciB0aWwKKyAgqzpoZWxwuy1rb21tYW5kb2VuLiBQcvh2IGRpc3NlIChpa2tlIGdsZW0g5SB0cnlra2UgPEVOVEVSPik6CiAKICAgICA6aGVscCB3Ci0gICAgOmhlbHAgYzxUCisgICAgOmhlbHAgY19DVFJMLUQKICAgICA6aGVscCBpbnNlcnQtaW5kZXgKICAgICA6aGVscCB1c2VyLW1hbnVhbAotCi0KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgICBMRUtTSk9OIDg6IExBRyBFVCBPUFBTVEFSVFNTS1JJUFQKKwkJICAgICBMZWtzam9uIDcuMjogTEFHIEVUIE9QUFNUQVJUU1NLUklQVAogCiAKLQkJCSoqIFNs5SBw5SBmdW5rc2pvbmVyIGkgVmltLiAqKgorCQkJKiogU2zlIHDlIGZ1bmtzam9uZXIgaSBWaW0gKioKIAogICBWaW0gaGFyIG1hbmdlIGZsZXJlIGZ1bmtzam9uZXIgZW5uIFZpLCBtZW4gZmxlc3RlcGFydGVuIGF2IGRlbSBlciBzbOV0dCBhdgotICBzb20gc3RhbmRhcmQuIEZvciDlIGJlZ3lubmUg5SBicnVrZSBkZW0ga2FuIGR1IGxhZ2UgZW4gq3ZpbXJjuy1maWwuCisgIHNvbSBzdGFuZGFyZC4gRm9yIOUgYmVneW5uZSDlIGJydWtlIGZsZXJlIGZ1bmtzam9uZXIgbeUgZHUgbGFnZSBlbgorICCrdmltcmO7LWZpbC4KIAotICAxLiBTdGFydCByZWRpZ2VyaW5nZW4gYXYgq3ZpbXJjuy1maWxlbiwgZGV0dGUgYXZoZW5nZXIgYXYgc3lzdGVtZXQgZGl0dDoKLSAgICAgICA6ZWRpdCB+Ly52aW1yYwkgIGZvciBVTklYCi0gICAgICAgOmVkaXQgJFZJTS9fdmltcmMgIGZvciBNUyBXaW5kb3dzCisgIDEuIFN0YXJ0IHJlZGlnZXJpbmdlbiBhdiCrdmltcmO7LWZpbGVuLiBEZXR0ZSBhdmhlbmdlciBhdiBzeXN0ZW1ldCBkaXR0OgorCTplIH4vLnZpbXJjCSAgZm9yIFVuaXgKKwk6ZSAkVklNL192aW1yYwkgIGZvciBNUyBXaW5kb3dzCiAKICAgMi4gTGVzIGlubiBla3NlbXBlbGZpbGVuIGZvciCrdmltcmO7OgotICAgICAgIDpyZWFkICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisJOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KIAogICAzLiBMYWdyZSBmaWxlbiBtZWQ6Ci0gICAgICAgOndyaXRlCisJOncKIAotICBOZXN0ZSBnYW5nIGR1IHN0YXJ0ZXIgVmltIHZpbCBkZW4gYnJ1a2UgZmFyZ2VyIG9nIHV0aGV2aW5nIGkgaGVuaG9sZCB0aWwKLSAgc3ludGFrc2VuIGkgZmlsZW4uIFZlZCDlIGxlZ2dlIGlubiBmb3Jza2plbGxpZ2UgdmFsZyBpIKt2aW1yY7stZmlsZW4sIGthbiBkdQotICBmb3JhbmRyZSBvcHBzZXR0ZXQgaSBWaW0gdGlsIGRldCBkdSBmb3JldHJla2tlci4KKyAgTmVzdGUgZ2FuZyBkdSBzdGFydGVyIFZpbSB2aWwgZGVuIGJydWtlIHN5bnRha3MtdXRoZXZpbmcuIER1IGthbiBsZWdnZSB0aWwKKyAgYWxsZSBkaW5lIGZvcmV0cnVrbmUgb3Bwc2V0dCBpIGRlbm5lIKt2aW1yY7stZmlsZW4uCisgIEZvciBtZXIgaW5mb3JtYXNqb24sIHNrcml2ICA6aGVscCB2aW1yYy1pbnRybworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICBMZWtzam9uIDcuMzogRlVMTEbYUklORworCisKKwkgICAgICAqKiBLb21tYW5kb2xpbmplZnVsbGb4cmluZyBtZWQgQ1RSTC1EIG9nIDxUQUI+ICoqCisKKyAgMS4gVuZyIHNpa2tlciBw5SBhdCBWaW0gaWtrZSBlciBpIFZpLWtvbXBhdGliZWwgbW9kdXM6ICA6c2V0IG5vY3AKKworICAyLiBTZSBodmlsa2UgZmlsZXIgc29tIGVyIGkga2F0YWxvZ2VuOiAgOiFscwllbGxlciAgOiFkaXIKKworICAzLiBTa3JpdiBzdGFydGVuIHDlIGVuIGtvbW1hbmRvOiAgOmUKKworICA0LiBUcnlrayAgQ1RSTC1EICBvZyBWaW0gdmlsIHZpc2UgZW4gbGlzdGUgb3ZlciBrb21tYW5kb2VyIHNvbSBzdGFydGVyIG1lZAorICAgICCrZbsuCisKKyAgNS4gVHJ5a2sgIDxUQUI+ICBvZyBWaW0gdmlsIGZ1bGxm+HJlIGtvbW1hbmRvbmF2bmV0IHRpbCCrOmVkaXS7LgorCisgIDYuIExlZ2cgdGlsIGV0IG1lbGxvbXJvbSBvZyBzdGFydGVuIHDlIGV0IGVrc2lzdGVyZW5kZSBmaWxuYXZuOiAgOmVkaXQgRklMCisKKyAgNy4gVHJ5a2sgPFRBQj4uIFZpbSB2aWwgZnVsbGb4cmUgbmF2bmV0IChodmlzIGRldCBlciB1bmlrdCkuCisKK01FUks6IEZ1bGxm+HJpbmcgZnVuZ2VyZXIgZm9yIG1hbmdlIGtvbW1hbmRvZXIuIFBy+HYgdmVkIOUgdHJ5a2tlIENUUkwtRCBvZworICAgICAgPFRBQj4uIERldCBlciBzcGVzaWVsdCBueXR0aWcgZm9yIGJydWsgc2FtbWVuIG1lZCAgOmhlbHAgLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgIE9QUFNVTU1FUklORyBBViBMRUtTSk9OIDcKKworCisgIDEuIFNrcml2ICA6aGVscCAgZWxsZXIgdHJ5a2sgPEYxPiBlbGxlciA8SGVscD4gZm9yIOUg5XBuZSBldCBoamVscGV2aW5kdS4KKworICAyLiBTa3JpdiAgOmhlbHAga29tbWFuZG8gIGZvciDlIGblIGhqZWxwIG9tICBrb21tYW5kbyAuCisKKyAgMy4gVHJ5a2sgIENUUkwtVyBDVFJMLVcgIGZvciDlIGhvcHBlIHRpbCBldCBhbm5ldCB2aW5kdS4KKworICA0LiBUcnlrayAgOnEJZm9yIOUgbHVra2UgaGplbHBldmluZHVldC4KKworICA1LiBPcHByZXR0IGV0IHZpbXJjLW9wcHN0YXJ0c3NrcmlwdCBmb3Ig5SBsYWdyZSBmYXZvcml0dHZhbGdlbmUgZGluZS4KKworICA2LiBO5XIgZHUgc2tyaXZlciBlbiCrOrsta29tbWFuZG8sIHRyeWtrIENUUkwtRCBmb3Ig5SBzZSBtdWxpZ2UKKyAgICAgZnVsbGb4cmluZ2VyLiBUcnlrayA8VEFCPiBmb3Ig5SBicnVrZSBlbiBmdWxsZvhyaW5nLgorCisKKworCisKKwogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwogICBIZXIgc2x1dHRlciBpbm5m+HJpbmdlbiBpIFZpbS4gRGVuIHZhciBtZW50IHNvbSBlbiByYXNrIG92ZXJzaWt0IG92ZXIKICAgZWRpdG9yZW4sIGFra3VyYXQgbm9rIHRpbCDlIGxhIGRlZyBzZXR0ZSBpIGdhbmcgbWVkIGVua2VsIGJydWsuIERlbiBlciBw5QogICBsYW5ndCBu5nIga29tcGxldHQsIGRhIFZpbSBoYXIgbWFuZ2UgZmxlcmUga29tbWFuZG9lci4gTGVzIGJydWtzYW52aXNuaW5nZW4KQEAgLTc4OCw4ICs5NTEsOCBAQAogICBGb3IgdmlkZXJlIGxlc2luZyBvZyBzdHVkaWVyLCBrYW4gZGVubmUgYm9rZW4gYW5iZWZhbGVzOgogICAgICAgq1ZpbSAtIFZpIEltcHJvdmVkuyBhdiBTdGV2ZSBPdWFsbGluZQogICAgICAgVXRnaXZlcjogTmV3IFJpZGVycwotICBEZW4gZvhyc3RuZXZudGUgYm9rZW4gZXIgZnVsbHQgb2cgaGVsdCBkZWRpa2VydCB0aWwgVmltLiBTcGVzaWVsdCBueXR0aWcKLSAgZm9yIG55YmVneW5uZXJlLiBJbm5laG9sZGVyIG1hbmdlIGVrc2VtcGxlciBvZyBpbGx1c3RyYXNqb25lci4KKyAgRGVuIGb4cnN0ZSBib2tlbiBzb20gZXIgZnVsbHQgb2cgaGVsdCBkZWRpc2VydCB0aWwgVmltLiBTcGVzaWVsdCBueXR0aWcgZm9yCisgIG55YmVneW5uZXJlLiBJbm5laG9sZGVyIG1hbmdlIGVrc2VtcGxlciBvZyBpbGx1c3RyYXNqb25lci4KICAgU2UgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKIAogICBEZW5uZSBib2tlbiBlciBlbGRyZSBvZyBoYW5kbGVyIG1lciBvbSBWaSBlbm4gVmltLCBtZW4gYW5iZWZhbGVzIG9nc+U6CkBAIC04MDAsMTEgKzk2MywxMSBAQAogCiAgIERlbm5lIGlubmb4cmluZ2VuIGVyIHNrcmV2ZXQgYXYgTWljaGFlbCBDLiBQaWVyY2Ugb2cgUm9iZXJ0IEsuIFdhcmUsCiAgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBtZWQgaWTpZXIgYXYgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUKLSAgVW5pdmVyc2l0eS4gRW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdSAuCisgIFVuaXZlcnNpdHkuIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1IC4KIAogICBNb2RpZmlzZXJ0IGZvciBWaW0gYXYgQnJhbSBNb29sZW5hYXIuCi0gIE92ZXJzYXR0IGF2INh5dmluZCBBLiBIb2xtIC0tIHN1bm55IF9BVF8gc3VuYmFzZS5vcmcKLSAgdHV0b3Iubm8gMjc5IDIwMDQtMDUtMTIgMDk6MjE6NTNaIHN1bm55CisgIE92ZXJzYXR0IGF2INh5dmluZCBBLiBIb2xtLiBFLW1haWw6IHZpbXR1dG9yIF9BVF8gc3VuYmFzZS5vcmcKKyAgSWQ6IHR1dG9yLm5vIDQwNiAyMDA3LTAzLTE4IDIyOjQ4OjM2WiBzdW5ueQogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIHZpbTogc2V0IHRzPTggOgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5zay51dGYtOCBiL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc2sudXRmLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzRlMGM0ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc2sudXRmLTgKQEAgLTAsMCArMSwxMDA4IEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgIFYgaSB0IGEgaiB0IGUgICB2IG8gICBWIEkgTSAgIFQgdSB0IG8gciBpIGEgbCBpICAgIC0gICAgVmVyemlhIDEuNyAgICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIGplIHZlxL5taSB2w71rb25uw70gZWRpdG9yLCBrdG9yw70gbcOhIHByw61sacW+IHZlxL5hIHByw61rYXpvdiBuYSB0byBhYnkKKyAgICAgbW9obGkgYnl0IHbFoWV0a3kgcG9ww61zYW7DqSB2byB2w711a2UgYWtvdSBqZSB0w6F0by4gVMOhdG8gdsO9dWthCisgICAgIHBvcGlzdWplIGRvc3RhdG/EjW7DqSBtbm/FvnN0dm8gcHLDrWthem92IG5hdG8gYWJ5IGJvbG8gbW/Fvm7DqSBwb3XFvsOtdmHFpQorICAgICBWaW0gYWtvIHZpYWPDusSNZWxvdsO9IGVkaXRvci4KKworICAgICBQcmlibGnFvm7DvSDEjWFzIHBvdHJlYm7DvSBuYSBwcmVicmF0aWUgdGVqdG8gdsO9dWt5IGplIDI1LTMwIG1pbsO6dCwKKyAgICAgesOhdmlzw60gbmEgdG9tLCBrb8S+a28gamUgc3Ryw6F2ZW7DqWhvIMSNYXN1IHMgcHJlc2vDusWhYXZhbsOtbS4KKworICAgICBVUE9aT1JORU5JRToKKyAgICAgUHLDrWthenkgdiBsZWtjacOhY2ggbW9kaWZpa3Vqw7ogdGV4dC4gVnl0dm9yIGvDs3BpdSB0b2h0byBzw7pib3J1IGFieQorICAgICBzYSBtb2hsbyBwcmVjdmnEjW92YcWlIG5hIMWIb20gKHByaSDFoXRhcnRlICJ2aW10dXRvciIgamUgdG90byBrw7NwaWEpLgorCisgICAgIEplIGTDtGxlxb5pdMOpIHphcGFtw6R0YcWlIHNpLCDFvmUgdMOhdG8gdsO9dWthIGplIHZ5dHZvcmVuw6EgcHJlIHbDvXVrdQorICAgICBwb3XFvsOtdmFuw61tLiBUbyB6bmFtZW7DoSwgxb5lIGplIHBvdHJlYm7DqSBzaSBwcsOta2F6eSB2eXNrw7rFoWHFpSwgYWJ5IGJvbG8KKyAgICAgdcSNZW5pZSBzcHLDoXZuZS4gQWsgbGVuIMSNaXRhcyB0ZXh0LCBwcsOta2F6eSB6YWJ1ZG5lxaEhCisKKyAgICAgUHJlc3ZlZMSNIHNhLCDFvmUgU2hpZnQtTG9jayBOSUVKRSBzdGxhxI1lbsO9IGEgc3RsYcSNdCBrbMOhdmVzdQorICAgICBqICBuaWVrb8S+a28ga3LDoXQsIGFieSBzYSBrdXJ6b3IgcG9zdW51bCBuYXRvxL5rbywgxb5lIGxla2NpYSAxLjEKKyAgICAgY2Vsa29tIHphcGxuw60gb2JyYXpvdmt1LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla2NpYSAxLjE6ICBQT0hZQiBLVVJaT1JPTQorCisKKyAgICoqIFByZSBwb2h5YiBrdXJ6b3J1bSBzdGxhxI0ga2zDoXZlc3kgaCxqLGssbCBha28gamUgem7DoXpvcm5lbsOpLiAqKgorICAgICAgICBeCisgICAgICAgIGsgICAgICAgIEZ1bmtjaWE6IEtsw6F2ZXNhIGggamUgbmHEvmF2byBhIHZ5a29uw6EgcG9oeWIgZG/EvmF2YS4KKyAgIDwgaCAgICAgbCA+ICAgS2zDoXZlc2EgbCBqZSBuYXByYXZvIGEgdnlrb27DoSBwb2h5YiBkb3ByYXZhLgorICAgICAgICBqICAgICAgICBLbMOhdmVzYSBqIHZ5emVyw6EgYWtvIMWhw61wa2EgZG9sZQorCSAgICAgIHYKKyAgMS4gUG9oeWJ1aiBrdXJ6b3JvbSBwbyBvYnJhem92a2UsIGvDvW0gc2kgbmEgdG8gbmV6dnlrbmXFoS4KKworICAyLiBEcsW+IHN0bGHEjWVuw7oga2zDoXZlc3UgcHJlIHBvaHliIGRvbGUgKGopLCBrw71tIHNhIGplaiBmdW5rY2lhIG5lem9wYWt1amUuCistLS0+IFRlcmF6IHNhIHXFviB2aWXFoSBwb2h5Ym92YcWlIG5hIG5hc2xlZHVqw7pjdSBsZWtjaXUuCisKKyAgMy4gUG91xb5pdMOtbSBrbMOhdmVzeSBwcmUgcG9oeWIgZG9sZSBwcmVqZGkgbmEgTGVrY2l1IDEuMi4KKworUG96bsOhbWthOiBBayBzaSBuaWVzaSBpc3TDvSB0w71tIMSNbyBzaSBuYXDDrXNhbCwgc3RsYcSNIDxFU0M+CisJICAgICAgICBuYSBwcmVjaG9kIGRvIG5vcm3DoWxuZWhvIG3Ds2R1LgorCitQb3puw6Fta2E6IEt1cnpvcm92w6kga2zDoXZlc3kgc8O6IHRpZcW+IGZ1bmvEjW7DqS4gQWxlIHBvdcW+w612YW7DrW0gaGprbCBzYSBidWRlxaEKKwkgICAgICAgIHNjaG9wbsO9IHBvaHlib3ZhxaUgcsO9Y2hsZWrFoWllLCBrZcSPIHNpIHp2eWtuZcWhIGljaCBwb3XFvsOtdmHFpS4gTmFvemFqIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMRUtDSUEgMS4yOiBaQVRWw4FSQU5JRSBWSU1VCisKKworICAhISBQT1pOw4FNS0E6IFByZWQgdnlrb25hbsOtbSB0w71jaHRvIGtyb2tvdiBzaSBwcmXEjcOtdGFqIGNlbMO6IHTDunRvIGxla2NpdSAhIQorCisgIDEuIFN0bGHEjSBrbMOhdmVzdSA8RVNDPiAoYWJ5IHNpIHNhIHXEjWl0ZSBuYWNow6FkemFsIHYgbm9ybcOhbG5vbSBtw7NkZSkKKworICAyLiBOYXDDrcWhOiAgIDpxISA8RU5URVI+LgorICAgICBUw71tIHVrb27EjcOtxaEgcHLDoWN1IHMgZWRpdG9yb20gQkVaIHVsb8W+ZW5pYSB6bWllbiwga3RvcsOpIHNpIHZ5a29uYWwuCisKKyAgMy4gS2XEjyBzYSBkb3N0YW5lxaEgbmEgcHLDrWthem92w70gcmlhZG9rLCBuYXDDrcWhIHByw61rYXosIGt0b3LDvW0gc2EgZG9zdGFuZcWhCisgICAgIHNwZcWlIGRvIHRlanRvIHbDvXVreS4gVG8gbcO0xb5lIGJ5xaU6CXZpbXR1dG9yIDxFTlRFUj4KKworICA0LiBBayBzaSBzaSB0aWV0byBrcm9reSBzcG/EvmFobGl2byB6YXBhbcOkdGFsLCB2eWtvbmFqIGtyb2t5IDEgYcW+IDMsIHByZQorICAgICB1a29uxI1lbmllIGEgem5vdnUgc3B1c3RlbmllIGVkaXRvcmEuCisKK1BPWk7DgU1LQTogOnEhIDxFTlRFUj4gbmV1bG/FvsOtIHptZW55LCBrdG9yw6kgc2kgdnlrb25hbC4gTyBuaWVrb8S+a28gbGVrY2nDrQorICAgICAgICAgIHNhIG5hdcSNw63FoSBha28gdWxvxb5pxaUgem1lbnkgZG8gc8O6Ym9ydQorCisgIDUuIHByZXN1xYgga3Vyem9yIGRvbGUgbmEgbGVrY2l1IDEuMy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla2NpYSAxLjM6IEVESVTDgUNJQSBURVhUVSAtIE1BWkFOSUUKKworCisqKiBTdGxhxI1lbmllIGtsw6F2ZXN5ICB4ICB2IG5vcm3DoWxub20gbcOzZGUgem1hxb5lIHpuYWsgbmEgbWllc3RlIGt1cnpvcmEuICoqCisKKyAgMS4gUHJlc3XFiCBrdXJ6b3IgbmnFvsWhaWUgbmEgcmlhZG9rIG96bmHEjWVuw70gem5hxI1rb3UgLS0tPi4KKworICAyLiBBYnkgc2kgbW9ob2wgb2RzdHLDoW5pxaUgY2h5YnksIHBvaHlidWoga3Vyem9yb20ga8O9bSBuZXByZWpkZSBuYSB6bmFrLAorICAgICBrdG9yw70gY2hjZcWhIHptYXphxaUuCisKKyAgMy4gU3RsYcSNIGtsw6F2ZXN1ICB4ICBhYnkgc2Egem1hemFsIG5lY2hjZW7DvSB6bmFrLgorCisgIDQuIFpvcGFrdWoga3Jva3kgMiBhxb4gNCBhxb4ga8O9bSB2ZXRhIG5pZWplIHNwcsOhdm5hLgorCistLS0+IEtyYWF2YSBza29vxI1pbGxhIGNjZXp6IG1lc2lpYWMuCisKKyAgNS4gQWsgamUgdmV0YSBzcHLDoXZuYSwgcHJlamRpIG5hIGxla2NpdSAxLjQuCisKK1BPWk7DgU1LQTogTmVza8O6xaFhaiBzaSB6YXBhbcOkdGHFpSBvYnNhaCB0ZWp0byB2w711a3ksIGFsZSBzYSB1xI0gcG91xb7DrXZhbsOtbS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla2NpYSAxLjQ6IEVESVTDgUNJQSBURVhUVSAtIFZLTEFEQU5JRQorCisKKyAgICAqKiBTdGxhxI1lbmllIGtsw6F2ZXN5ICBpICB1bW/FvsWIdWplIHZrbGFkYW5pZSB0ZXh0dS4gKioKKworICAxLiBQcmVzdcWIIGt1cnpvciBuacW+xaFpZSBuYSBwcnbDvSByaWFkb2sgemEgem5hxI1rdSAtLS0+LgorCisgIDIuIFByZSB1cHJhdmVuaWUgcHJ2w6lobyByaWFka3UgZG8gcm92bmFrw6lobyB0dmFydSBha28gamUgZHJ1aMO9IHJpYWRvaywKKyAgICAgcHJlc3XFiCBrdXJ6b3IgbmEgcHJ2w70gem5hayB6YSBtaXN0bywga2RlIG3DoSBiecWlIHRleHQgdmxvxb5lbsO9LgorCisgIDMuIFN0bGHEjSBrbMOhdmVzdSAgaSAgYSBuYXDDrcWhIHBvdHJlYm7DvSB0ZXh0LgorCisgIDQuIFBvIG9wcmF2ZW7DrSBrYcW+ZGVqIGNoeWJ5LCBzdGxhxI0gPEVTQz4gcHJlIG7DoXZyYXQgZG8gbm9ybcOhbG5laG8gbcOzZHUuCisgICAgIFpvcGFrdWoga3Jva3kgMiBhxb4gNCBrw71tIG5pZWplIHZldGEgc3Byw6F2bmEuCisKKy0tLT4gVHUgamUgdGV4dCBjaMO9YmFqw7pjaSB0ZWp0by4KKy0tLT4gVHUgamUgbmVqYWvDvSB0ZXh0IGNow71iYWrDumNpIG9kIHRlanRvIMSNaWFyeS4KKworICA1LiBLZcSPIHNhIGRvc3RhdG/EjW5lIG5hdcSNw63FoSB2a2xhZGHFpSB0ZXh0LCBwcmVqZGkgbmEgbmFzbGVkdWrDumNlIHpocm51dGllLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICBMZWtjaWEgMS41OiBFRElUw4FDSUEgVEVYVFUgLSBQUklEw4FWQU5JRQorCisKKyAgICAgKiogU3RsYcSNZW5pZSBrbMOhdmVzeSAgQSAgdW1vxb7FiHVqZSBwcmlkw6F2YcWlIHRleHQuICoqCisKKyAgMS4gUHJlc3XFiCBrdXJvenIgbmnFvsWhaWUgbmEgcHJ2w70gcmlhZG9rIHphIHpuYcSNa291IC0tLT4uCisgICAgIE5lesOhbGXFvsOtIG5hIHRvbSwgbmEga3Rvcm9tIHpuYWt1IHNhIGt1cnpvciB2IHRvbSByaWFka3UgbmFjaMOhZHphLgorCisgIDIuIFN0bGHEjSBrbMOhdmVzdSAgQSAgYSBuYXDDrcWhIHBvdHJlYm7DvSB0ZXh0LgorCisgIDMuIFBvIHByaWRhbsOtIHRleHR1IHN0bGHEjSBrbMOhdmVzdSA8RVNDPiBwcmUgbsOhdnJhdCBkbyBOb3Jtw6FsbmVobyBtw7NkdS4KKworICA0LiBQcmVzdcWIIGt1cm96ciBuYSBkcnVow70gcmlhZG9rIG96bmHEjWVuw70gLS0tPiBhIHpvcGFrdWoKKyAgICAga3Jva3kgMiBhIDMga8O9bSBuaWVqZSB2ZXRhIHNwcsOhdm5hLgorCistLS0+IFR1IGplIG5lamFrw70gdGV4dCBjaMO9YmFqw7pjaSBvCisgICAgIFR1IGplIG5lamFrw70gdGV4dCBjaMO9YmFqw7pjaSBvZCB0aWHEvnRvLgorLS0tPiBUdSB0aWXFviBjaMO9YmEgbmVqCisgICAgIFR1IHRpZcW+IGNow71iYSBuZWpha8O9IHRleHQuCisKKyAgNS4gS2XEjyBzYSBkb3N0YXRvxI1uZSBuYXXEjcOtxaEgcHJpZMOhdmHFpSB0ZXh0LCBwcmVqZGkgbmEgbGVrY2l1IDEuNi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICBMZWtjaWEgMS42OiBFRElUw4FDSUEgU8OaQk9SVQorCisKKyAgICAqKiBOYXDDrXNhbsOtbSAgOndxICBzYSBzw7pib3IgdWxvxb7DrSBhIHphdnJpZSAqKgorCishISBQT1pOw4FNS0E6IFByZWQgdnlrb25hbsOtbSB0w71jaHRvIGtyb2tvdiBzaSBwcmXEjcOtdGFqIGNlbMO6IGxla2NpdSEhCisKKzEuIE9wdXN0aSB0w7p0byB2w711a3UsIGFrbyBzaSB0byB1cm9iaWwgdiBsZWtjaWkgMS4yOiAgOnEhCisKKzIuIERvIHByw61rYXpvdsOpaG8gcmlhZGt1IG5hcMOtxaEgcHLDrWthejogIHZpbSB0dXRvciA8RU5URVI+CisgICAndmltJyBqZSBwcsOta2F6LCBrdG9yw70gc3B1c3TDrSBlZGl0b3IgVmltLCAndHV0b3InIGplIG1lbm8gc8O6Ym9ydSwKKyAgIGt0b3LDvSBjaGNlxaEgZWRpdG92YcWlLiBQb3XFvmkgdGFrw70gc8O6Ym9yLCBrdG9yw70gbcO0xb5lxaEgbWVuacWlLgorCiszLiBWbG/FviBhIHptYcW+IHRleHQgdGFrLCBha28gc2kgc2EgbmF1xI1pbCB2IHByZWRvxaFsw71jaCBsZWtjaWFjaC4KKworNC4gVWxvxb4gc8O6Ym9yIHNvIHptZW5hbWkgYSBvcHVzdGkgVmltIHByw61rYXpvbTogIDp3cSAgPEVOVEVSPgorCis1LiBSZcWhdGFydHVqIHZpbXR1dG9yIGEgcHJlc3XFiCBzYSBkb2xlIG5hIG5hc2xlZHVqw7pjZSB6aHJudXRpZS4KKworNi4gVXJvYiB0YWsgcG8gcHJlxI3DrXRhbsOtIHByZWRvxaFsw71jaCBrcm9rb3YgYSBwb3JvenVtZW5pdSBpbS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICBaSFJOVVRJRSBMRUtDSUUgMQorCisKKyAgMS4gS3Vyem9yIHNhIHBvaHlidWplIHBvdcW+aXTDrW0ga2zDoXZlcyBzbyDFocOtcGthbWkgYWxlYm8ga2zDoXZlc21pIGhqa2wuCisJICBoIChkbyBsYXZhKSAgICBqIChkb2xlKSAgICBrIChob3JlKSAgICBsIChkb3ByYXZhKQorCisgIDIuIFByZSBzcHVzdGVuaWUgVmltdSAoeiBwcsOta2F6b3bDqWhvIHJpYWRrdSkgbmFww63FoTogdmltIEZJTEVOQU1FIDxFTlRFUj4KKworICAzLiBOYSB1a29uxI1lbmllIFZpbXUgbmFww63FoTogPEVTQz4gIDpxISAgPEVOVEVSPiBwcmUgenJ1xaFlbmllIHbFoWV0a8O9Y2ggem1pZW4KKyAgICAgICBhbGVibyBuYXDDrcWhOiAgIDxFU0M+ICAgOndxICAgPEVOVEVSPiAgICBwcmUgdWxvxb5lbmllIHptaWVuLgorCisgIDQuIE5hIHptYXphbmllIHpuYWt1IG5hIG1pZXN0ZSBrdXJ6b3JhIG5hcMOtxaE6ICB4CisKKyAgNS4gUHJlIHZsb8W+ZW5pZSB0ZXh0dSBuYSBtaWVzdGUga3Vyem9yYSB2IG5vcm3DoWxub20gbcOzZGUgbmFww63FoToKKwkgaSAgICAgbmFww63FoSB2a2xhZGFuw70gdGV4dCAgIDxFU0M+ICB2a2xhZGFuaWUgcHJlZCBrdXJ6b3IKKyAgIEEgICAgIG5hcMOtxaEgcHJpZMOhdmFuw70gdGV4dCAgPEVYQz4gIHZrbGFkYW5pZSB6YSByaWFkb2sKKworUE9aTsOBTUtBOiBTdGxhxI1lbmllIDxFU0M+IMWlYSBwcmVtaWVzdG7DrSBkbyBub3Jtw6FsbmVobyBtw7NkdSBhbGVibyB6cnXFocOtCisJICAgICAgICBuZWpha8O9IG5lY2hjZW7DvSBhIMSNaWFzdG/EjW5lIGRva29uxI1lbsO9IHByw61rYXouCisKK1RlcmF6IHBva3JhxI11aiBsZWtjaW91IDIuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWtjaWEgMi4xOiBNYXphY2llIHByw61rYXp5CisKKworCSAqKiBOYXDDrXNhbmllIHByw61rYXp1ICBkdyAgem1hxb5lIHpuYWt5IGRvIGtvbmNhIHNsb3ZhLiAqKgorCisxLiBTdGxhxI0gIDxFU0M+ICBhYnkgc2kgYm9sIGJlenBlxI1uZSB2IG5vcm3DoWxub20gbcOzZGUuCisKKzIuIFByZXN1xYgga3Vyem9yIG5pxb7FoWllIG5hIHJpYWRvayBvem5hxI1lbsO9IHpuYcSNa291IC0tLT4uCisKKzMuIFByZXN1xYgga3Vyem9yIG5hIHphxI1pYXRvayBzbG92YSwga3RvcsOpIGplIHBvdHJlYm7DqSB6bWF6YcWlLgorCis0LiBOYXDDrcWhICBkdyAgYWJ5IHNsb3ZvIHptaXpsby4KKworUE9aTsOBTUtBOiBQw61zbWVubyBkIHNhIHpvYnJhesOtIG5hIHBvc2xlZG5vbSByaWFka3Ugb2JyYXpvdmt5IGtlxI8gaG8KKwkgICAgICAgIG5hcMOtxaFlxaEuIFZpbSBuYSB0ZWJhIHBvxI1rw6EsIGFieSBzaSBtb2hvbCBuYXDDrXNhxaUKKyAgICAgICAgICBww61zbWVubyB3LiBBayB2aWTDrcWhIG5pZcSNbyBpbsOpIGFrbyAgZCAsIHRhayBzaSBuYXDDrXNhbAorICAgICAgICAgIG5lc3Byw6F2bnkgem5hazsgc3RsYcSNICA8RVNDPiAgYSB6YcSNbmkgem5vdmEuCisKKy0tLT4gVHUgamUgbmlla2/EvmtvIHNsb3YgesOhYmF2YSwga3RvcsOpIG5pZSBwYXRyaWEgbGlzdCBkbyB0ZWp0byB2ZXR5LgorCis1LiBab3Bha3VqIGtyb2t5IDMgYcW+IDQga8O9bSB2ZXRhIG5pZWplIHNwcsOhdm5hIGEgcHJlamRpIG5hIGxla2NpdSAyLjIuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrY2lhIDIuMjogVklBQyBNQVpBQ8ONQ0ggUFLDjUtBWk9WCisKKworCSAqKiBOYXDDrXNhbmllIHByw61rYXp1IGQkICB6bWHFvmUgem5ha3kgZG8ga29uY2EgcmlhZGt1ICoqCisKKzEuIFN0bGHEjSAgPEVTQz4gIGFieSBzaSBib2wgYmV6cGXEjW5lIHYgbm9ybcOhbG5vbSBtw7NkZS4KKworMi4gUHJlc3XFiCBrdXJ6b3IgbmnFvsWhaWUgbmEgcmlhZG9rIG96bmHEjWVuw70gem5hxI1rb3UgLS0tPi4KKworMy4gUHJlc3XFiCBrdXJ6b3IgbmEga29uaWVjIHNwcsOhdm5laiB2ZXR5IChaQSBwcnbDuiBib2RrdSkuCisKKzQuIE5hcMOtxaEgICAgZCQgICAgYWJ5IHNhIHptYXphbGkgem5ha3kgZG8ga29uY2EgcmlhZGt1LgorCistLS0+IE5pZWt0byBuYXDDrXNhbCBrb25pZWMgdG9odG8gcmlhZGt1IGR2YWtyw6F0LiBrb25pZWMgdG9ob3QgcmlhZGt1IGR2YWtyw6F0LgorCisKKzUuIFByZWpkaSBuYSBsZWtjaXUgMi4zIHByZSBwb2Nob3BlbmllIHRvaG8gxI1vIHNhIHN0YWxvLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla2NpYSAyLjM6IE9QRVLDgVRPUlkgQSBQT0hZQlkKKworICBWZcS+YSBwcsOta2F6b3YsIGt0b3LDqSBtZW5pYSB0ZXh0IHPDuiBvZHZvZGVuw6kgb2Qgb3BlcsOhdG9yb3YgYSBwb2h5Ym92LgorICBGb3Jtw6F0IHByZSBwcsOta2F6IG1hemFuaWEga2zDoXZlc291ICBkICBqZSBuYXNsZWRvdm7DvToKKworICAgIGQgICBwb2h5YgorCisgIGtkZToKKyAgICBkICAgICAtIGplIG1hemFjw60gb3BlcsOhdG9yCisgICAgcG9oeWIgLSBqZSB0byDEjW8gb3BlcsOhdG9yIHZ5a29uw6F2YSAodnlww61zYW7DqSBuacW+xaFpZSkKKworICBLcsOhdGt5IGxpc3QgcG9oeWJvdjoKKyAgICB3IC0gZG8gemHEjWlhdGt1IMSPYWzFoWllaG8gc2xvdmEsIG9rcmVtIGplaG8gcHJ2w6lobyBww61zbWVuYS4KKyAgICBlIC0gZG8ga29uY2EgdGVyYWrFoWllaG8gc2xvdmEsIHZyw6F0YW5lIHBvc2xlZG7DqWhvIHpuYWt1LgorICAgICQgLSBkbyBrb25jYSByaWFka3UsIHZyw6F0YW5lIHBvc2xlZG7DqWhvIHpuYWt1CisKKyAgVGFrxb5lIG5hcMOtc2Fuw61tICBkZSAgc2Egem1hxb5lIHbFoWV0a28gb2Qga3Vyem9yYSBkbyBrb25jYSBzbG92YS4KKworUE9aTsOBTUtBOiBTdGxhxI1lbsOtbSBpYmEgcG9oeWJ1IHYgbm9ybcOhbG5vbSBtw7NkZSBiZXogb3BlcsOhdG9yYQorICAgICAgICAgIHNhIHByZXN1bmllIGt1cnpvciB0YWsgYWtvIGplIHRvIMWhcGVjaXZpa292YW7DqS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCUxla2NpYSAyLjQ6IFBvdcW+aXRpZSB2aWFjbsOhc29ibsOpaG8gcG9oeWJ1CisKKworICAgKiogTmFww61zYW7DrW0gxI3DrXNsYSBwcmVkIHBvaHliIGhvIHpvcGFrdWplIHphZG7DvSBwb8SNZXQga3LDoXQgKioKKworICAxLiBQcmVzdcWIIGt1cm96ciBuacW+xaFpZSBuYSB6YcSNaWF0b2sgcmlhZGt1IG96bmHEjWVuw6lobyAtLS0+LgorCisgIDIuIE5hcMOtxaEgIDJ3ICBhIGt1cm96ciBzYSBwcmVzdW5pZSBvIGR2ZSBzbG92w6EgdnByZWQuCisKKyAgMy4gTmFww63FoSAgM2UgIGEga3Vyb3pyIHNhIHByZXN1bmllIHZwcmVkIG5hIGtvbmllYyB0cmV0aWVobyBzbG92YS4KKworICA0LiBOYXDDrcWhICAwICAobnVsYSkgYSBrdXJvenIgc2EgcHJlc3VuaWUgbmEgemHEjWlhdG9rIHJpYWRrdS4KKworICA1LiBab3Bha3VqIGtyb2t5IDIgYSAzIHMgcsO0em55bWkgxI3DrXNsYW1pLgorCistLS0+IFRvdG8gamUgcmlhZG9rIHNvIHNsb3ZhbWkgcG8ga290csO9Y2ggc2EgbcO0xb5ldGUgcG9oeWJvdmHFpS4KKworICA2LiBQcmVqZGkgbmEgbGVrY2l1IDIuNS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICBMZWtjaWEgMi41OiBQT1XFvUlUSUUgVklBQ07DgVNPQk7DiUhPIE1BWkFOSUEgUFJFIEhST01BRE7DiSBNQVpBTklFCisKKworICAgICoqIE5hcMOtc2FuaWUgxI3DrXNsYSBzcG9sdSBzIG9wZXLDoXRvcm9tIGhvIHpvcGFrdWplIHphZGFuw70gcG/EjWV0IGtyw6F0ICoqCisKKyAgViBrb21iaW7DoWNpaSBvcGVyw6F0b3JvdiBtYXphbmlhIGEgcG9oeWJ1IHNwb23DrW5hbsOpaG8gdnnFocWhaWUgdmxvxb4gcG/EjWV0CisgIHByZWQgcG9oeWIgcHJlIGRvY2llbGVuaWUgaHJvbWFkbsOpaG8gbWF6YW5pYToKKyAgICBkICAgxI3DrXNsbyAgIHBvaHliCisKKyAgMS4gUHJlc3XFiCBrdXJ6b3IgbmEgcHJ2w6kgc2xvdm8gcMOtc2Fuw6kgVkXEvUvDnU1JIFDDjVNNRU5BTUkKKyAgICAgdiByaWFka3Ugb3puYcSNZW5vbSAtLS0+LgorCisgIDIuIE5hcMOtxaEgIDJkdyAgYSB6bWHFvmXFoSBkdmUgc2xvdsOhIHDDrXNhbsOpIFZFxL1Lw51NSSBQw41TTUVOQU1JCisKKyAgMy4gWm9wYWt1aiBrcm9reSAxIGEgMiBzIHBvdcW+aXTDrW0gcsO0em5laG8gxI3DrXNsYSB0YWsgYWJ5IHNpIHptYXphbCBzbG92w6EKKyAgICAgcMOtc2Fuw6kgdmXEvmvDvW1pIHDDrXNtZW5hbWkgamVkbsO9bSBwcsOta2F6b20uCisKKy0tLT4gVGVudG8gQUJDIERFIHJpYWRvayBGR0hJIEpLIExNTiBPUCBzbyBzbG92YW1JIGplIFEgUlMgVFVWIHZ5Y2lzdGVueS4KKworUE9aTsOBTUtBOiDEjMOtc2xvIG1lZHppIG9wZXLDoXRvcm9tICBkICBhIHBvaHlib20gZnVuZ3VqZSBwb2RvYm5lIGFrbyBwcmkKKyAgICAgICAgICBwb3XFvml0w60gcyBwb2h5Ym9tIGJleiBvcGVyw6F0b3JhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgIAkJTGVrY2lhIDIuNjogT1BFUsOBQ0lFIFMgUklBREtBTUkKKworCisJICAgICoqIE5hcMOtc2FuaWUgcHLDrWthenUgICBkZCAgIHptYcW+ZSBjZWzDvSByaWFkb2suICoqCisKK1Z6aMS+YWRvbSBuYSBmcmVrdmVuY2l1IG1hemFuaWEgY2Vsw6lobyByaWFka3UsIHNhIGF1dG9yaSBWaW11IHJvemhvZGxpLAorxb5lIGJ1ZGUgamVkbm9kdWNoxaFpZSBtYXphxaUgY2Vsw70gcmlhZG9rIG5hcMOtc2Fuw61tIGR2b2NoIHDDrXNtZW4gZC4KKworMS4gUHJlc3XFiCBrdXJ6b3IgbmEgZHJ1aMO9IHJpYWRvayB2IHRleHRlIG5hIHNwb2R1LgorMi4gTmFww63FoSAgZGQgIGFieSBzaSB6bWF6YWwgcmlhZG9rLgorMy4gUHJlamRpIG5hIMWhdHZydMO9IHJpYWRvay4KKzQuIE5hcMOtxaEgICAyZGQgICBhYnkgc2kgem1hemFsIGR2YSByaWFka3kuCisKKyAgICAxKSAgUnXFvmUgc8O6IMSNZXJ2ZW7DqSwKKyAgICAyKSAgQmxhdG8gamUgesOhYmF2bsOpLAorICAgIDMpICBGaWFsa3kgc8O6IG1vZHLDqSwKKyAgICA0KSAgTcOhbSBhdXRvLAorICAgIDUpICBIb2Rpbmt5IHVrYXp1asO6IMSNYXMsCisgICAgNikgIEN1a29yIGplIHNsYWRrw70sCisgICAgNykgIEEgdG8gc2kgdHkuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWtjaWEgMi43OiBQUsONS0FaIFVORE8KKworCisqKiBTdGxhxI0gIHUgIHByZSB2csOhdGVuaWUgcG9zbGVkbsOpaG8gcHLDrWthenUsICBVICBwcmUgw7pwcmF2dSBjZWzDqWhvIHJpYWRrdS4gKioKKworMS4gUHJlc3XFiCBrdXJ6b3IgbmnFvsWhaWUgbmEgcmlhZG9rIG96bmHEjWVuw70gem5hxI1rb3UgLS0tPiBhIHByZW1pZXN0bmkgaG8gbmEKKyAgIHBydsO6IGNoeWJ1LgorMi4gTmFww63FoSAgeCAgcHJlIHptYXphbmllIHBydsOpaG8gbmVjaGNlbsOpaG8gcmlhZGt1LgorMy4gVGVyYXogbmFww63FoSAgdSAgxI3DrW0gdnLDoXTDrcWhIHNww6TFpSBwb3NsZWRuZSB2eWtvbmFuw70gcHLDrWthei4KKzQuIFRlcmF6IG9wcmF2IHbFoWV0a3kgY2h5YnkgbmEgcmlhZGt1IHBvdcW+aXTDrW0gcHLDrWthenUgIHggIC4KKzUuIFRlcmF6IG5hcMOtxaEgdmXEvmvDqSAgIFUgIMSNw61tIHZyw6F0w63FoSByaWFkb2sgZG8gcMO0dm9kbsOpaG8gc3RhdnUuCis2LiBUZXJheiBuYXDDrcWhICB1ICBuaWVrb8S+a28ga3LDoXQsIMSNw61tIHZyw6F0w63FoSBzcMOkxaUgcHLDrWtheiBVLgorNy4gVGVyYXogbmFww63FoSBDVFJMLVIgKGRyxb4ga2zDoXZlc3UgQ1RSTCBzdGxhxI1lbsO6IGvDvW0gc3Rsw6HEjWHFoSBSKSBuaWVrb8S+a28KKyAgIGtyw6F0LCDEjcOtbSB2csOhdMOtxaEgc3DDpMWlIHByZWR0w71tIHZyw6F0ZW7DqSBwcsOta2F6eSAodW5kbyB6IHVuZG8pLgorCistLS0+IE9wcHJhdiBjaHliYnkgbm5hIHRvb210byByaWFka3UgYSB6bWVlxYggaWNoIHBvbW1vY291IHVuZG8uCisKKyAgOC4gVGlldG8gcHLDrWthenkgc8O6IMSNYXN0byBwb3XFvsOtdmFuw6kuIFRlcmF6IHByZWpkaSBuYSB6aHJudXRpZSBsZWtjaWUgMi4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgTEVLQ0lBIDIgWkhSTlVUSUUKKworCisgIDEuIFByZSB6bWF6YW5pZSB6bmFrb3Ygb2Qga3Vyem9yYSBkbyBrb25jYSBzbG92YSBuYXDDrcWhOiAgIGR3CisKKyAgMi4gUHJlIHptYXphbmllIHpuYWtvdiBvZCBrdXJ6b3JhIGRvIGtvbmNhIHJpYWRrdSBuYXDDrcWhOiAgIGQkCisKKyAgMy4gUHJlIHptYXphbmllIGNlbMOpaG8gcmlhZGt1IG5hcMOtxaE6ICAgZGQKKworICA0LiBQcmUgem9wYWtvdmFuaWUgcG9oeWJ1LCBuYXDDrcWhIHByZWQgbmVobyDEjcOtc2xvOiAgIDJ3CisKKyAgNS4gRm9ybcOhdCBwcmUgcMOta2F6OgorCisgICAgICAgb3BlcsOhdG9yICAgW8SNw61zbG9dICAgcG9oeWIKKyAgICAga2RlOgorICAgICAgIG9wZXLDoXRvciAtIMSNbyB0cmViYSByb2JpxaUsIG5hcHLDrWtsYWQgIGQgIHByZSB6bWF6YW5pZQorICAgICAgIFvEjcOtc2xvXSAtIGplIHZvbGl0ZcS+bsO9IHBvxI1ldCBwcmUgb3Bha292YW5pZSBwb2h5YnUKKyAgICAgICBwb2h5YiAtIHBvaHliIHBvIHRleHRlIHZ6aMS+YWRvbSBuYSBvcGVyw6F0b3IsIG5hcHLDrWtsYWQgdyAoc2xvdm8pLAorCQkkIChkbyBrb25jYSByaWFka3UpLCBhdMSPLgorCisgIDYuIFByZSBwb2h5YiBuYSB6YcSNaWF0b2sgcmlhZGt1IHBvdcW+aSBudWx1OiAgMAorCisgIDcuIFByZSB2csOhdGVuaWUgc3DDpMWlIHByZWRvxaFsZWogb3BlcsOhY2llIG5hcMOtxaE6CXUgICAobWFsw6kgdSkKKyAgICAgUHJlIHZyw6F0ZW5pZSB2xaFldGvDvWNoIMO6cHJhdiBuYSByaWFka3UgbmFww63FoTogICAgVSAgICh2ZcS+a8OpIFUpCisgICAgIFByZSB2csOhdGVuaWUgdnLDoXRlbsO9Y2ggw7pwcmF2IG5hcMOtxaE6CSAgICAgIENUUkwtUgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBMZWtjaWEgMy4xOiBQUsONS0FaIFZMT8W9ScWkCisKKworCSAgKiogTmFww61zYW5pZSBwcsOta2F6dSAgcCAgdmxvxb7DrSBwc2xlZG7DvSB2w71tYXogemEga3Vyem9yLiAqKgorCisgIDEuIFByZXN1xYgga3Vyem9yIG5pxb7FoWllIG5hIHBydsO9IHJpYWRvayB0ZXh0dS4KKworICAyLiBOYXDDrcWhICBkZCAgxI3DrW0gem1hxb5lxaEgcmlhZG9rIGEgdWxvxb7DrcWhIGhvIGRvIGJ1ZmZlcmEgZWRpdG9yYSBWaW0uCisKKyAgMy4gUHJlc3XFiCBrdXJ6b3IgdnnFocWhaWUgdGFtLCBrYW0gem1hemFuw70gcmlhZG9rIHBhdHLDrS4KKworICA0LiBBayBuYXDDrcWhZcWhIHYgbm9ybcOhbG5vbSBtw7NkZSAgIHAgICB6bWF6YW7DvSByaWFkayBzYSB2bG/FvsOtLgorCisgIDUuIFpvcGFrdWoga3Jva3kgMiBhxb4gNCwga8O9bSByaWFka3kgbmllc8O6IHYgc3Byw6F2bm9tIHBvcmFkw60uCisKKy0tLT4gZCkgVGllxb4gc2EgZG9rw6HFvmXFoSB2emRlbMOhdmHFpT8KKy0tLT4gYikgRmlhbGt5IHPDuiBtb2Ryw6ksCistLS0+IGMpIEludGVsaWdlbmNpYSBzYSB2emRlbMOhdmEsCistLS0+IGEpIFJ1xb5lIHPDuiDEjWVydmVuw6ksCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla2NpYSAzLjI6IFBSw41LQVogTkFIUkFERU5JQQorCisKKyAgICAgKiogTmFww61zYW7DrW0gIHJ4ICBzYSBuYWhyYWTDrSB6bmFrIG5hIG1pZXN0ZSBrdXJ6b3JhIHpuYWtvbSAgeCAuICoqCisKKyAgMS4gUHJlc3XFiCBrdXJ6b3IgbmnFvsWhaWUgbmEgcHJ2w60gcmlhZG9rIHRleHR1IG96bmHEjWVuw6lobyB6bmHEjWtvdSAtLS0+LgorCisgIDIuIFByZXN1xYgga3Vyem9yIG5hIHphxI1pYXRvayBwcnZlaiBjaHlieS4KKworICAzLiBuYXDDrcWhICByICBhIHBvdG9tIHpuYWssIGt0b3LDvSB0YW0gbcOhIGJ5xaUuCisKKyAgNC4gWm9wYWt1aiBrcm9reSAyIGEgMywga8O9bSBwcnbDvSByaWFkb2sgbmllamUgemhvZG7DvSBzIGRydWjDvW0uCisKKy0tLT4gS2HEjyBib2wgdGVudG8gcmlhc29rIHDDrWFhbsO9LCBuaWVrcm8gc3RsYcWhaWwgbmVzcHLDoWJuZSBrbMOhdmVzeSEKKy0tLT4gS2XEjyBib2wgdGVudG8gcmlhZG9rIHDDrXNhbsO9LCBuaWVrdG8gc3RsYcSNaWwgbmVzcHLDoXZuZSBrbMOhdmVzeSEKKworICA1LiBUZXJheiBwcmVqZGkgbmEgbGVrY2l1IDMuMi4KKworUE9aTsOBTUtBOiBQYW3DpHRhaiBzaSwgxb5lIG5hdcSNacWlIHNhIG3DtMW+ZcWhIGxlbiBwb3XFvsOtdmFuaW0sIG5pZSBwYW3DpHRhbsOtbS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgTGVrY2lhIDMuMy4gUFLDjUtBWiDDmlBSQVZZCisKKworICAgICAqKiBBayBjaGNlxaEgem1lbmnFpSDEjWFzxaUgc2xvdmEgZG8ga29uY2Egc2xvdmEsIG5hcMOtxaEgIGNlIC4gKioKKworICAxLiBQcmVzdcWIIGt1cnpvciBuacW+xaFpZSBuYSBwcnbDvSByaWFkb2sgb3puYcSNZW7DvSB6bmHEjWtvdSAtLS0+LgorCisgIDIuIFVtaWVzdG5pIGt1cnpvciBuYSBww61zbWVubyBvIHYgc2xvdmUgcm9zZnBsLgorCisgIDMuIE5hcMOtxaEgIGNlICBhIG9wcmF2IHNsb3ZvICh2IHRvbXRvIHByw61wYWRlIG5hcMOtxaEgJ2lhZG9rJy4pCisKKyAgNC4gU3RsYcSNIDxFU0M+IGEgcHJlamRpIG5hIMSPYWzFocOtIHpuYWssIGt0b3LDvSB0cmViYSB6bWVuacWlLgorCisgIDUuIFpvcGFrdWoga3Jva3kgMyBhIDQsIGvDvW0gcHJ2w6EgdmV0YSBuaWVqZSByb3ZuYWvDoSBha28gZHJ1aMOhLgorCistLS0+IFRlbnRvIHJvc2ZwbCBtw6Egbmlla2/EvmtvIHNraWMsIGt0b3LDqSBqZSBwaXJld3Ziw60gem1lbmnFpSBwaXnFpXXEjcOhbiBwcsOta2F6dS4KKy0tLT4gVGVudG8gcmlhZG9rIG3DoSBuaWVrb8S+a28gc2xvdiwga3RvcsOpIGplIHBvdHJlYm7DqSB6bWVuacWlIHBvdcW+aXTDrW0gcHLDrWthenUuCisKK1Bvem7DoW1rYSwgxb5lICBjZSAgem1hxb5lIHNsb3ZvIGEgbmFzdGF2w60gdmtsYWRhY8OtIG3Ds2QuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla2NpYSAzLjQ6IFZJQUMgWk1JRU4gUE9Vxb1JVMONTSBjCisKKworICAgKiogUHLDrWtheiBwcmUgw7pwcmF2eSBzYSBwb3XFvsOtdmEgcyByb3ZuYWvDvW1pIHBvaHlibWkgYWtvIHByZSBtYXphbmllICoqCisKKyAgMS4gUHLDrWtheiBwcmUgw7pwcmF2eSBwcmFjdWplIHJvdm5ha28gYWtvIHByZSBtYXphbmllLiBGb3Jtw6F0IGplOgorCisgICAgICAgIGMgICAgW8SNw61zbG9dICAgIHBvaHliCisKKyAgMi4gUG9oeWJ5IHPDuiByb3ZuYWvDqSwgYWtvIG5hcHLDrWtsYWQgICB3IChzbG92bykgYSAgJCAoa29uaWVjIHJpYWRrdSkuCisKKyAgMy4gUHJlc3XFiCBrdXJ6b3IgbmnFvsWhaWUgbmEgcHJ2w70gcmlhZG9rIG96bmHEjWVuw70gem5hxI1rb3UgLS0tPi4KKworICA0LiBQcmVzdcWIIGt1cnpvciBuYSBwcnbDuiBjaHlidS4KKworICA1LiBuYXDDrcWhICBjJCAgYWJ5IHNpIG1vaG9sIHVwcmF2acWlIHp2ecWhb2sgcmlhZGt1IHBvZMS+YSBkcnVow6lobworICAgICBhIHN0bGHEjSA8RVNDPi4KKworLS0tPiBLb25pZWMgdG9odG8gcmlhZGt1IHBvdHJlYnVqZSBwb21vYywgYWJ5IGJvbCBha28gZHJ1aHkuCistLS0+IEtvbmllYyB0b2h0byByaWFka3UgcG90cmVidWplIG9wcmF2acWlIHBvdcW+aXTDrW0gcHLDrWthenUgIGMkIC4KKworUE9aTsOBTUtBOiBNw7TFvmXFoSBwb3XFvmnFpSBrbMOhdmVzdSBiYWNrc3BhY2UgbmEgw7pwcmF2dSB6bWllbiBwb8SNYXMgcMOtc2FuaWEuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgTEVLQ0lBIDMgWkhSTlVUSUUKKworCisgIDEuIE5hIHZsb8W+ZW5pZSB0ZXh0dSwga3RvcsO9IHXFviBib2wgem1hemFuw70sIG5hcMOtxaEgIHAgLiBUbyB2bG/FvsOtIHptYXphbsO9CisgICAgIHRleHQgWkEga3Vyem9yIChhayBib2wgcmlhZG9rIHptYXphbsO9IHByZWpkZSBuYSByaWFkb2sgcG9kIGt1cnpvcm9tKS4KKworICAyLiBQcmUgbmFyYWRlbmllIHpuYWt1IG5hIG1pZXN0ZSBrdXJ6b3JhLCBuYXDDrcWhICByICBhIHBvdG9tIHpuYWssIGt0b3LDvQorICAgICBuYWhyYWTDrSBww7R2b2Ruw70gem5hay4KKworICAzLiBQcsOta2F6IG5hIHVwcmF2ZW5pZSB1bW/FvsWIdWplIHptZW5pxaUgb2Qga3Vyem9yYSBhxb4gcG8gbWllc3RvLCBrdG9yw6kKKyAgICAgdXLEjXVqZSBwb2h5Yi4gIG5hcHIuIE5hcMOtxaEgIGNlICDEjcOtbSB6bW7DrcWhIHRleHQgb2QgcG96w61jaWUKKyAgICAga3Vyem9yYSBkbyBrb25jYSBzbG92YSwgYyQgIHptZW7DrSB0ZXh0IGRvIGtvbmNhIHJpYWRrdS4KKworICA0LiBGb3Jtw6F0IHByZSBuYWhyYWRlbmllIGplOgorCisJICAgIGMgICAgW8SNw61zbG9dICAgIHBvaHliCisKKworVGVyYXogcHJlamRpIG5hIG5hbHNlZHVqw7pjdSBsZWtjaXUuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWtjaWEgNC4xOiBQT1rDjUNJQSBBIFNUQVRVUyBTw5pCT1JVCisKKworICAqKiBTdGxhxI0gQ1RSTC1nIHByZSB6b2JyYXplbmllIHN2b2plaiBwb3rDrWNpZSB2IHPDumJvcmUgYSBzdGF0dXN1IHPDumJvcnUuCisgICAgIE5hcMOtxaEgIEcgIHByZSBwcmVzdW4gbmEgcmlhZG9rIHYgc8O6Ym9yZS4gKioKKworICBQb3puw6Fta2E6IFByZcSNw610YWogc2kgY2Vsw7ogdMO6dG8gbGVrY2l1IHNrw7RyIGFrbyB6YcSNbmXFoSB2eWtvbsOhdmHFpSBrcm9reSEhCisKKyAgMS4gRHLFviBzdGxhxI1lbsO6IGtsw6F2ZXN1IEN0cmwgYSBzdGxhxI0gIGcgLiBUb3RvIG5hesO9dmFtZSBDVFJMLUcuCisgICAgIE5hIHNwb2R1IG9icmF6b3ZreSBzYSB6b2JyYXrDrSBzcHLDoXZhIHMgbsOhenZvbSBzw7pib3J1IGEgcG96w61jaW91CisgICAgIHYgc8O6Ym9yZS4gWmFwYW3DpHRhanNpIHNpIMSNw61zbG8gcmlhZGt1IHByZSBwb3XFvml0aWUgdiBrcm9rdSAzLgorCisgIDIuIFN0bGHEjSAgRyAgxI3DrW0gc2EgZG9zdGFuZcWhIG5hIHNwb2RvayBzw7pib3J1LgorICAgICBOYXDDrcWhICBnZyAgxI3DrW0gc2EgZG9zdGFuZcWhIG5hIHphxI1pYXRvayBzw7pib3J1LgorCisgIDMuIE5hcMOtxaEgxI3DrXNsbyByaWFka3UgbmEga3Rvcm9tIHNpIHNhIG5hY2jDoWR6YWwgYSBzdGxhxI0gIEcuIFRvIMWlYQorICAgICB2csOhdGkgbmEgcmlhZG9rLCBuYSBrdG9yb20gc2kgcHJ2w70ga3LDoXQgc3RsYcSNaWwgQ1RSTC1HLgorCisgIDQuIEFrIHNhIGPDrXTDrcWhIHNjaG9wbsO9IHZ5a29uYcWlIHRldG8ga3Jva3ksIHZ5a29uYWoga3Jva3kgMSBhxb4gMy4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrY2lhIDQuMjogUFLDjUtBWiBWWUjEvUFEw4FWQU5JQQorCisKKyAgKiogTmFww63FoSAgLyAgbmFzbGVkb3ZhbsOpIHJlxaVhemNvbSBwcmUgdnloxL5hZGFuaWUgcHLDrXNsdcWhbsOpaG8gcmXFpWF6Y2EuICoqCisKKyAgMS4gTmFww63FoSB6bmFrICAvICB2IG5vcm3DoWxub20gbcOzZGUuIFBvem7DoW1rYSwgxb5lIHRlbnRvIHpuYWsgc2Egc3BvbHUKKyAgICAgcyBrdXJ6b3JvbSB6b2JyYXrDrSB2IGRvbG5laiDEjWFzdGkgb2JyYXpvdmt5IHMgIDogIHByw61rYXpvbS4KKworICAyLiBUZXJheiBuYXDDrcWhICdlcnJyb29yJyA8RU5URVI+LiBUbyBqZSBzbG92bywga3RvcsOpIGNoY2XFoSB2eWjEvmFkYcWlLgorCisgIDMuIFByZSB2eWjEvmFkYW5pZSDEj2FsxaFpZWhvIHbDvXNreXR1IHJvdm5ha8OpaG8gcmXFpWF6Y2EsIHN0bGHEjSBqZWRub2R1Y2hvICBuLgorICAgICBQcmUgdnloxL5hZGFuaWUgxI9hbMWhaWVobyB2w71za3l0dSByb3ZuYWvDqWhvIHJlxaVhemNhIG9wYcSNbsO9bSBzbWVyb20sCisgICAgIE4uCisKKyAgNC4gQWsgY2hjZcWhIHZ5aMS+YWRhxaUgcmXFpWF6ZWMgdiBzcMOkdG5vbSBzbWVyZSwgcG91xb7DrSBwcsOta2F6ICA/ICBtaWVzdG8KKyAgICAgcHLDrWthenUgLy4KKworICA1LiBQcmUgbsOhdnJhdCBuYSBtaWVzdG8geiBrdG9yw6lobyBzaSBwcmnFoWllbCBzdGxhxI0gQ1RSTC1PIChkcsW+IHN0bGHEjWVuw7oKKyAgICAga2zDoXZlc3UgQ3RybCBwb8SNYXMgc3RsYcSNZW5pYSBrbMOhdmVzeSBvKS4gWm9wYWt1aiBwcmUgxI9hbMWhw60gbsOhdnJhdAorICAgICBzcMOkxaUuIENUUkwtSSBpZGUgdnByZWQuCisKK1BPWk7DgU1LQTogImVycnJvb3IiIG5pZWplIHNww7Rzb2IgaGzDoXNrb3ZhbmlhIGVycm9yOyBlcnJyb29yIGplIGVycm9yLgorUE9aTsOBTUtBOiBLZcSPIHZ5aMS+YWTDoXZhbmllIGRvc2lhaG5lIGtvbmllYyB0b2h0byBzw7pib3J1LCBidWRlIHBva3JhxI1vdmHFpSBuYQorICAgICAgemHEjWlhdGt1LCBkb2tpYcS+IG5pZWplIHJlc2V0b3ZhbsOpIG5hc3RhdmVuaWUgJ3dyYXBzY2FuJyAuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJICAgICBMZWtjaWEgNC4zOiBWWUjEvUFEw4FWQU5JRSBaT0RQT1ZFREFKw5pDSUNIIFrDgVRBVk9SSUVLCisKKworCSAqKiBOYXDDrcWhICAlICBwcmUgdnloxL5hZGFuaWUgcHLDrXNsdcWhbsOpaG8gem5ha3UgKSxdLCBhbGVibyB9IC4gKioKKworICAxLiBQcmVtaWVzdG5pIGt1cnpvciBuYSBob2Nha8O9IHpvIHpuYWtvdiAoLCBbLCBhbGVibyB7IHYgcmlhZGt1IG5pxb7FoWllCisgICAgIG96bmHEjWVuw6lobyB6bmHEjWtvdSAtLS0+LgorCisgIDIuIFRlcmF6IG5hcMOtxaEgem5hayAgJSAuCisKKyAgMy4gS3Vyem9yIHNhIHByZW1pZXN0bmkgbmEgem9kcG92ZWRhasO6Y3UgesOhdHZvcmt1LgorCisgIDQuIE5hcMOtxaEgICUgIHByZSBwcmVzdW4ga3Vyem9ydSBzcMOkxaUgbmEgb3R2w6FyYWrDumN1IHrDoXR2b3JrdS4KKworICA1LiBQcmVzdcWIIGt1cnpvciBuYSBpbsO9IHpvIHpuYWtvdiAoLCksWyxdLHsgYWxlYm8gfSBhIHbFoWltbmkgc2kKKyAgICAgxI1vICUgdnlrb27DoXZhLgorCistLS0+IFRvdG8gKCBqZSB0ZXN0b3ZhY8OtIHJpYWRvayBzICgncywgWydzIF0gYSB7J3MgfSB2IHJpYWRrdS4gKSkKKworUG96bsOhbWthOiBUb3RvIGplIHZlxL5taSB2w71ob2Ruw6kgcG91xb7DrcWlIHByaSBsYWRlbsOtIHByb2dyYW11IHMgY2jDvWJhasO6Y2ltaQorCSAgdXphdHbDoXJhasO6Y2ltaSB6w6F0dm9ya2FtaSEKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZWtjaWEgNC40OiBQUsONS0FaIE5BSFJBREVOSUEKKworCisgKiogTmFww63FoSAgIDpzL3N0YXLDvS9ub3bDvS9nICBwcmUgbmFocmFkZW5pZSBzbG92YSAnc3RhcsO9JyB6YSBzbG92byAnbm92w70nLiAqKgorCisgIDEuIFByZXN1xYgga3Vyem9yIG5pxb7FoWllIG5hIHJpYWRvayBvem5hxI1lbsO9IHpuYcSNa291IC0tLT4uCisKKyAgMi4gTmFww63FoSAgOnMvdGhlZS90aGUgPEVOVEVSPiAuIFBvem5hbWthLCDFvmUgdGVudG8gcHLDrWtheiB6bWVuw60gbGVuIHBydsO9CisgICAgIHbDvXNreXQgInRoZWUiIHYgcmlhZGt1LgorCisgIDMuIFRlcmF6IG5hcMOtxaEgICA6cy90aGVlL3RoZS9nICAgxI1vIHpuYW1lbsOhIGNlbGtvdsOpIG5haHJhZGVuaWUgdiByaWFka3UuCisgICAgIFRvdG8gbmFocmFkw60gdsWhZXRreSB2w71za3l0eSB2IHJpYWRrdS4KKworLS0tPiBUaGVlIGJlc3QgdGltZSB0byBzZWUgdGhlZSBmbG93ZXJzIGluIHRoZWUgc3ByaW5nLgorCisgIDQuIFByZSB6bWVudSB2xaFldGvDvWNoIHbDvXNreXRvdiBkYW7DqWhvIHJlxaVhemNhIG1lZHppIGR2b21pIHJpZGFrYW1pLAorICAgICBuYXDDrcWhICA6Iywjcy9zdGFyw70vbm92w70vZyAga2RlICMsIyBzw7ogxI3DrXNsYSBkdm9jaCByaWFka292LCB2IHJvenNhaHUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3RvcsO9Y2ggc2EgbmFocmFkZW5pZSB2eWtvbsOhLgorICAgICBuYXDDrcWhICA6JXMvc3RhcsO9L25vdsO9L2cgICAgcHJlIHptZW51IHbFoWV0a8O9Y2ggdsO9c2t5dG92IHYgY2Vsb20gcmlhZGt1CisgICAgIG5hcMOtxaEgIDolcy9zdGFyw70vbm92w70vZ2MgICBuw6FqZGUgdsWhZXRreSB2w71za3l0eSB2IGNlbG9tIHPDumJvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgb3TDoXprb3UgxI1pIG5haHJhZGnFpSBhbGVibyBuaWUKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIExFS0NJQSA0IFpIUk5VVElFCisKKworICAxLiBDVFJMLWcgICAgdnlww63FoWUgdHZvanUgcG96w61jaXUgdiBzw7pib3JlIGEgc3RhdHVzIHPDumJvcnUuCisgICAgICAgICAgICBHICDFpWEgcHJlbWllc3RuaSBuYSBrb25pZWMgcmlhZGt1LgorICAgICDEjcOtc2xvICBHICDFpWEgcHJlbWllc3RuaSBuYSByaWFkb2sgcyDEjcOtc2xvbS4KKyAgICAgICAgICAgZ2cgIMWlYSBwcmVzdW5pZSBuYSBwcnbDvSByaWFkb2sKKworICAyLiBOYXDDrXNhbmllICAvICBuYXNsZWRvdmFuw6kgcmXFpWF6Y29tIHZ5aMS+YWTDoSByZcWlYXplYyBzbWVyb20gRE9QUkVEVS4KKyAgICAgTmFww61zYW5pZSAgPyAgbmFzbGVkb3ZhbsOpIHJlxaVhemNvbSB2eWjEvmFkYSByZcWlYXplYyBzbWVyb20gRE9aQURVLgorICAgICBOYXDDrXNhbmllICBuICBwbyB2eWjEvmFkw6F2YW7DrSwgdnloxL5hZMOhIG5hc2xlZHVqw7pjaSB2w71za3l0IHJlxaVhemNhCisgICAgIHYgcm92bmFrb20gc21lcmUsIHByacSNb20gIE4gIHZ5aMS+YWTDoSB2IG9wYcSNbm9tIHNtZXJlLgorICAgICBDVFJMLU8gxaVhIHZyw6F0aSBzcMOkxaUgbmEgc3RhcsWhaXUgcG96w61jaXUsIENUUkwtSSBuYSBub3bFoWl1IHBvesOtY2l1LgorCisgIDMuIE5hcMOtc2FuaWUgICUgIGtlxI8ga3Vyem9yIGplIG5hICgsKSxbLF0seywgYWxlYm8gfSBuw6FqZGUgem9kcG92ZGFqw7pjdQorICAgICBww6FybnUgesOhdHZvcmt1LgorCisgIDQuIFByZSBuYWhyYWRlbmllIG5vdsOpaG8gemEgcHJ2w70gc3RhcsO9IHYgcmlhZGt1IG5hcMOtxaEgICAgOnMvc3RhcsO9L25vdsO9CisgICAgIFByZSBuYWhyYWRlbmllIG5vdsOpaG8gemEgdsWhZXRreSBzdGFyw6kgdiByaWFka3UgbmFww63FoSAgOnMvc3RhcsO9L25vdsO9L2cKKyAgICAgUHJlIG5haHJhZGVuaWUgcmXFpWF6Y292IG1lZHppIGR2b21hIHJpYWRrYW1pIDMgbmFww63FoSAgOiMsIy9zdGFyw70vbm92w70vZworICAgICBQcmUgbmFocmFkZW5pZSB2xaFldGvDvWNoIHbDvXNreXRvdiB2IHPDumJvcmUgbmFww63FoSAgICAgICA6JXMvc3RhcsO9L25vdsO9L2cKKyAgICAgUHJlIHBvdHZyZGVuaWUga2HFvmTDqWhvIG5haHJhZGVuaWEgcHJpZGFqICdjJwkgICAgICAgICA6JXMvc3RhcsO9L25vdsO9L2djCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCUxla2NpYSA1LjEgQUtPIFNQVVNUScWkIFZPTktBSsWgw40gUFLDjUtBWgorCisKKyAqKiBOYXDDrcWhIHByw61rYXogIDohICBuYXNsZWRvdmFuw70gdm9ua2FqxaHDrW0gcHLDrWthem9tIHByZSBzcHVzdGVuaWUgcHLDrWthenUgKioKKworICAxLiBOYXDDrcWhIG9idnlrbMO9IHDDrWtheiAgOiAga3RvcsO9IG5hc3RhdsOtIGt1cnpvciBuYSBzcG9kb2sgb2JyYXpvdmt5LgorICAgICBUbyB1bW/Fvm7DrSBuYXDDrXNhxaUgcHLDrWthei4KKworICAyLiBUZXJheiBuYXDDrcWhICAhICAodsO9a3JpxI1uw61rKS4gVG8gdW1vxb5uw60gc3B1c3RpxaUgaG9jaWFrw70gdm9ua2FqxaHDrSBwcsOta2F6CisgICAgIHogcHLDrWthem92w6lobyByaWFka3UuCisKKyAgMy4gQWtvIHByw61rbGFkIG5hcMOtxaEgIGxzICB6YSAhIGEgc3RsYcSNIDxFTlRFUj4uIFRlbnRvIHByw61rYXoKKyAgICAgem9icmF6w60gb2JzYWggdHZvamhvIGFkcmVzw6FyYSByb3ZuYWtvIGFrbyBuYSBwcsOta2F6b3ZvbSByaWFka3UuCisgICAgIEFsZWJvIHBvdcW+aSAgOiFkaXIgIGFrIGxzIG5lZnVuZ3VqZS4KKworUG96bsOhbWthOiAgVGFrdG8gamUgbW/Fvm7DqSBzcHVzdGnFpSBob2NpYWvDvSB2b25rYWrFocOtIHByw61rYXogcyBhcmd1bWVudGFtaS4KK1Bvem7DoW1rYTogIFbFoWV0a3kgcHLDrWthenkgIDogIG11c2lhIGJ5xaUgZG9rb27EjWVuw6kgc3RsYcSNZW7DrW0gPEVOVEVSPgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrY2lhIDUuMjogVklBQyBPIFVLTEFEQU7DjSBTw5pCT1JPVgorCisKKyAgICAgKiogUHJlIHVsb8W+ZW5pZSB6bWllbiB2IHPDumJvcmUsIG5hcMOtxaEgIDp3IEZJTEVOQU1FLiAqKgorCisgIDEuIE5hcMOtxaEgIDohZGlyICBhbGVibyAgOiFscyAgcHJlIHbDvXBpcyBha3R1w6FsbmVobyBhZHJlc8OhcmEuCisgICAgIFXFviB2aWXFoSwgxb5lIG11c8OtxaEgemEgdMO9bXRvIHN0bGHEjWnFpSA8RU5URVI+IC4KKworICAyLiBWeWJlciBuw6F6b3Ygc8O6Ym9ydSwga3RvcsO9IGXFoXRlIG5lZXhpc3R1amUsIGFrbyBuYXByLiBURVNULgorCisgIDMuIFRlcmF6IG5hcMOtxaE6ICAgOncgVEVTVCAgIChrZGUgVEVTVCBqZSBuw6F6b3YgdnlicmF0w6lobyBzw7pib3J1LikKKworICA0LiBUbyB1bG/FvsOtIGNlbMO9IHPDumJvciAgKFZpbSBUdXRvcikgIHBvZCBuw6F6b3ZtIFRFU1QuCisgICAgIFByZSBvdmVyZW5pZSBuYXDDrcWhICAgOiFkaXIgICAsIMSNw61tICB6b2JyYXrDrcWhIG9ic2FoIGFkcmVzw6FyYS4KKworUG96bsOhbWthOiDFvmUgYWsgdWtvbsSNw63FoSBwcsOhY3UgcyBlZGl0b3JvbSBWaW0gYSB6bm92dSBobyBzcHVzdMOtxaEgcHLDrWthem9tCisJICAgICAgICB2aW0gVEVTVCwgc8O6Ym9yIGJ1ZGUga8OzcGlhIHbDvXVreSwga2XEjyBzaSBobyB1bG/FvmlsLgorCisgIDUuIFRlcmF6IG9kc3Ryw6HFiCBzw7pib3IgbmFww61zYW7DrW0gKE1TLURPUyk6ICAgOiFkZWwgVEVTVAorCQkJICAgICBhbGVibyAoVW5peCk6ICAgICA6IXJtIFRFU1QKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpYSA1LjMgVsOdQkVSIFRFWFRVIFBSRSBVTE/FvUVOSUUKKworCisgICoqIFByZSB1bG/FvmVuaWUgxI1hc3RpIHPDumJvcnUsIG5hcMOtxaEgIHYgIHBvaHliIDp3IEZJTEVOQU1FICoqCisKKyAgMS4gUHJlc3XFiCBrdXJvenIgbmEgdGVudG8gcmlhZG9rLgorCisgIDIuIFN0bGHEjSAgdiAgYSBwcmVzdcWIIGt1cm96ciBuYSBwaWF0dSBwb2xvxb5rdSBkb2xlLiBQb3puw6Fta2EsIMW+ZQorICAgICB0ZW50byB0ZXh0IGplIHZ5em5hxI1lbsO9IChoaWdobGlnaHRlZCkuCisKKyAgMy4gU3RsYcSNIGtsw6F2ZXN1ICA6IC4gViBzcG9kbmVqIMSNYXN0aSBva25hIHNhIG9iamF2w60gIDonPCwnPi4KKworICA0LiBOYXDDrcWhIHcgVEVTVCAgLCBrZGUgVEVTVCBqZSBtZW5vIHPDumJvcnUsIGt0b3LDvSB6YXRpYWwgbmVleGlzdHVqZS4KKyAgICAgU2tvbnRyb2x1aiwgZSB2aWTDrcWhICA6JzwsJz53IFRFU1QgIHByZWR0w71tIG5lxb4gc3RsYcSNw63FoSBFbnRlci4KKworICA1LiBWaW0gemFww63FoWUgb3puYcSNZW7DqSByaWFka3kgZG8gc8O6Ym9ydSBURVNULiBQb3XFvmkgOiFkaXIgIGFsZWJvICAhbHMKKyAgICAgcHJlIG92ZXJlbmllLiBaYXRpYWwgaG8gZcWhdGUgbmVtYcW+ISBQb3XFvmlqZW1lIGhvIHYgxI9hbMWhZWogbGVrY2lpLgorCitQT1pOw4FNS0E6IFN0bGHEjWVuw61tIGtsw6F2ZXN5ICB2ICBzYSBzcHVzdMOtIHZpenXDoWxuZSBvem5hxI1vdmFuaWUuCisgICAgICAgICAgTcO0xb5lxaEgcG9oeWJvdmHFpSBrdXJ6b3JvbSBwcmUgdXByZXNuZW5pZSB2eXpuYcSNZW7DqWhvIHRleHR1LgorICAgICAgICAgIFBvdG9tIG3DtMW+ZcWhIHBvdcW+acWlIG9wZXLDoXRvciBwcmUgdnlrb25hbmllIG5lamFrZWogYWtjaWUKKyAgICAgICAgICBzIHRleHRvbS4gTmFwcsOta2xhZCAgZCAgem1hxb5lIHZ5em5hxI1lbsO9IHRleHQuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIExla2NpYSA1LjQ6IFbDnUJFUiBBIFpMVcSMT1ZBTklFIFPDmkJPUk9WCisKKworCSoqIFByZSB2bG/FvmVuaWUgb2JzYWh1IHPDumJvcnUsIG5hcMOtxaEgICA6ciBGSUxFTkFNRSAqKgorCisgIDEuIFByZW1pZXN0bmkga3Vyem9yIG5hZCB0ZW50byByaWFkb2suCisKK1BPWk7DgU1LQTogUG8gdnlrb25hbsOtIGtyb2t1IDIgdXZpZMOtxaEgdGV4dCB6IGxla2NpZSA1LjMuIFBvdG9tIHNhIHByZXN1xYgKKyAgICAgICAgICBkb2xlLCBhYnkgc2kgdmlkZWwgdMO6dG8gbGVrY2l1LgorCisgIDMuIFRlcmF6IHZsb8W+IHPDumJvciBURVNUIHBvdcW+aXTDrW0gcHLDrWthenUgICA6ciBURVNUICAga2RlIFRFU1QgamUgbsOhem92CisgICAgIHPDumJvcnUuIFPDumJvciwga3RvcsO9IHNpIHBvdcW+aWwgamUgdW1pZXN0bmVuw70gcG9kIHJpYWRrb20gcyBrdXJ6b3JvbS4KKworUE9aTsOBTUtBOiBNw7TFvmXFoSB0aWXFviBuYcSNw610YcWlIHbDvXN0dXAgdm9ua2FqxaFpZWhvIHByw61rYXp1LiBOYXByw61rbGFkIDpyICFscworICAgICAgICAgIG5hxI3DrXRhIHbDvXN0dXAgcHLDrWthenUgbHMgYSB1bWllc3RuaSBobyB6YSBwb3rDrWNpdSBrdXJ6b3JhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIExFS0NJQSA1IFpIUk5VVElFCisKKworICAxLiAgOiFwcsOta2F6ICBzcHVzdMOtIHZvbmthasWhw60gcHLDrWthei4KKworICAgICAgTmlla3RvcsOpIHZ5dcW+aXRlxL5uw6kgcHLDrWtsYWR5IHPDujoKKwkoTVNfRE9TKSAgICAoVU5JWCkKKwkgOiFkaXIgICAgICAgOiFscwkgICAgLSAgem9icmF6w60gb2JzYWggYWRyZXPDoXJhCisJIDohZGVsIEZJTEVOQU1FICAgIDohcm0gRklMRU5BTUUgICAgLSAgb2RzdHLDoW5pIHPDumJvciBGSUxFTkFNRQorCisgIDIuICA6dyBGSUxFTkFNRSAgdWxvxb7DrSBha3R1w6Fsbnkgc8O6Ym9yIG5hIGRpc2sgcG9kIG1lbm9tIEZJTEVOQU1FLgorCisgIDMuICB2ICBwb2h5YiAgOncgRklMRU5BTUUgIHVsb8W+w60gdml6dcOhbG5lIG96bmHEjWVuw6kgcmlhZGt5IGRvCisgICAgICBzw7pib3J1IEZJTEVOQU1FLgorCisgIDQuICA6ciBGSUxFTkFNRSAgdnliZXJpZSB6IGRpc2t1IHPDumJvciBGSUxFTkFNRSBhIHZsb8W+w60gaG8gZG8gYWt0dcOhbG5laG8KKyAgICAgIHPDumJvcnUgemEgcG96w61jaW91IGt1cnpvcmEuCisKKyAgNS4gOnIgIWRpciAgbmHEjcOtdGEgdsO9c3R1cCB6IHByw61rYXp1IGRpciBhIHZsb8W+w60gaG8gemEgcG96w61jaXUga3Vyem9yYS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIExla2NpYSA2LjE6IFBSw41LQVogT1RWT1JJxaQKKworCisqKiBOYXDDrcWhICBvICBwcmUgdmxvxb5lbmllIHJpYWRrdSBwb2Qga3Vyem9yIGEgcHJlcG51dGllIGRvIHZrbGFkYWNpZWhvIG3Ds2R1ICoqCisKKyAgMS4gUHJlc3XFiCBrdXJ6b3IgbmnFvsWhaWUgbmEgcmlhZG9rIG96bmHEjWVuw70gem5hxI1rb3UgLS0tPi4KKworICAyLiBOYXDDrcWhIG8gKG1hbMOpIHDDrXNtZW5vKSBwcmUgdmxvxb5lbmllIMSNaXN0w6lobyByaWFka3UgcG9kIGt1cnpvcm0KKyAgICAgYSBwcmVwbnV0aWUgZG8gdmtsYWRhY2llaG8gbcOzZHUuCisKKyAgMy4gVGVyYXogc2tvcMOtcnVqIHJpYWRvayBvem5hxI1lbsO9IC0tLT4gYSBzdGxhxI0gPEVTQz4gcHJlIHVrb27EjWVuaWUKKyAgICAgdmtsYWRhY2llaG8gbcOzZHUuCisKKy0tLT4gUG8gbmFww61zYW7DrSAgbyAgc2Ega3Vyem9yIHByZW1pZXN0bsOtIG5hIHZsb8W+ZW7DvSByaWFkb2sgZG8gdmtsYWRhY2llaG8KKyAgICAgbcOzZHUuCisKKyAgNC4gUHJlIG90dm9yZW5pZSByaWFka3UgbmFkIGt1cnpvcm9tLCBqZWRub3R1Y2hvIG5hcMOtxaEgdmXEvmvDqSAgTyAsCisgICAgIG5hbWllc3RvIG1hbMOpaG8gIG8uIFZ5c2vDusWhYWogc2kgdG8gbmEgcmlhZGt1IGRvbGUuCisKKy0tLT4gVmxvxb4gcmlhZG9rIG5hZCB0w71tdG8gbmFww61zYW7DrW0gTywga2XEjyBrdXJ6b3IgamUgbmEgdG9tdG8gcmlhZGt1LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla2NpYSA2LjI6IFBSw41LQVogUFJJREHFpAorCisKKwkgICAqKiBOYXDDrcWhICBhICBwcmUgdmxvxb5lbmllIHRleHR1IFpBIGt1cnpvci4gKioKKworICAxLiBQcmVzdcWIIGt1cnpvciBuacW+xaFpZSBuYSBrb25pZWMgcHJ2w6lobyByaWFka3Ugb3puYcSNZW7DqWhvIHpuYcSNa291IC0tLT4KKworICAyLiBTdGxhxI0ga2zDoXZlc3UgIGUgIGRva2lhxL4ga3Vyb3pyIG5pZWplIG5hIGtvbmNpIHJpYWRrdS4KKworICAzLiBOYXDDrcWhICBhICAobWFsw6kgcMOtc21lbm8pIHByZSBwcmlkYW5pZSB0ZXh0dSBaQSBrdXJ6b3JvbS4KKworICA0LiBEb2tvbsSNw60gc2xvdm8gdGFrIGFrbyBqZSB0byB2IGRydWhvbSByaWFka3UuIFN0bGHFoSA8RVNDPiBwcmUKKyAgICAgb3B1c3RlbmllIHZrbGFkYWNpZWhvIG3Ds2R1LgorCisgIDUuIFBvdcW+aSAgZSAgbmEgcHJlc3VuIG5hIMSPYWzFoWllIG5lZG9rb27EjWVuw6kgc2xvdm8gYSB6b3Bha3VqIGtyb2t5IDMgYSA0LgorCistLS0+IFRlbnRvIHJpIHRpIGRvdm/EvnVqZSBuw6FjdiBwcmnDoXZhbiB0ZXN0dSBuYSBrb25pZWMgcmlhZGt1LgorLS0tPiBUZW50byByaWFkb2sgdGkgZG92b8S+dWplIG7DoWN2aWsgcHJpZMOhdmFuaWEgdGV4dHUgbmEga29uaWVjIHJpYWRrdS4KKworUE9aTsOBTUtBOiBhLCBpLCBBIMWhdGFydHVqw7ogcm92bmFrw70gdmtsYWRhY8OtIG3Ds2QsIGplZGluw70gcm96aWRlbCBqZSwga2RlCisgICAgICAgICAgc2Egem5ha3kgdmtsYWRhasO6LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgTGVrY2lhIDYuMzogSU7DnSBTUE9TT0IgTkFIUkFEWk9WQU5JQQorCisKKyAgICAgICoqIE5hcMOtxaEgdmXEvmvDqSBSIHByZSBuYWhyYWRlbmllIHZpYWMgYWtvIGplZG7DqWhvIHpuYWt1LiAqKgorCisgIDEuIFByZXN1xYgga3Vyem9yIG5pxb7FoWllIG5hIHBydsO9IHJpYWRvayBvem5hxI1lbsO9IHpuYcSNa291IC0tLT4uIFByZW1pZXN0bmkKKyAgICAga3Vyem9yIG5hIHphxI1pYXRvayBwcnbDqWhvIHbDvXNreXR1ICB4eHguCisKKyAgMi4gVGVyYXogbmFww63FoSAgUiAgYSAgbmFww63FoSAgxI3DrXNsbyB1dmVkZW7DqSB2IGRydWhvbSByaWFka3UsIHRha8W+ZQorICAgICBzYSBuw61tIG5haHJhZMOtIHDDtHZvZG7DqSB4eHguCisKKyAgMy4gU3RsYcSNIDxFU0M+IHByZSBvcHVzdGVuaWUgbmFocmFkem92YWNpZWhvIG3Ds2R1LiBQb3puw6Fta2EsIMW+ZSB6dnnFoW9rCisgICAgIHJpYWRrdSB6b3N0YW5lIG5lem1lbmVuw70uCisKKyAgNC4gWm9wYWt1aiB0aWV0byBrcm9reSBwcmUgbmFocmFkZW5pZSB6dnnFoW7DvWNoIHh4eC4KKworLS0tPiBQcmlkYW7DrW0gMTIzIGt1IHh4eCBkb3N0YW5lxaEgeHh4LgorLS0tPiBQcmlkYW7DrW0gMTIzIGt1IDQ1NiBkb3N0YW5lxaEgNTc5LgorCitQT1pOw4FNS0E6ICBOYWhyYWR6b3ZhY8OtIG3Ds2QgamUgYWtvIHZrbGFkYWPDrSBtw7NkLCBhbGUga2HFvmTDvSBuYXDDrXNhbsO9IHpuYWsKKyAgICAgICAgICAgem1hxb5lIGV4aXN0dWrDumNpIHpuYWsuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgICAgICAgICBMZWtjaWEgNi40OiBDb3B5IFBhc3RlIHRleHR1CisKKyAgICAqKiBwb3XFvsOtIG9wZXLDoXRvciAgeSAgcHJlIGNvcHkgdGV4dGt1IGEgIHAgIHByZSBqZWhvIHBhc3RlICoqCisKKyAgMS4gQ2hvxI8gbmnFvsWhaWUgbmEgcmlhZG9rIG96bmHEjWVuw70gLS0tPiBhIHVtaWVzdG5pIGt1cm96ciB6YSAiYSkiLgorCisgIDIuIE5hxaF0YXJ0dWogdml6dcOhbG55IG3Ds2QgcG91xb5pdMOtbSAgdiAgYSBwcmVzdcWIIGt1cm96ciBwcmVkICJmaXJzdCIuCisKKyAgMy4gTmFww63FoSAgeSAgcHJlICB2eXN0cmlobnV0aWUgKGNvcHkpIG96bmHEjWVuw6lobyB0ZXh0dS4KKworICA0LiBQcmVzdcWIIGt1cm96ciBuYSBrb25pZWMgxI9hbMWhaWVobyByaWFka3U6IGokCisKKyAgNS4gTmFww63FoSAgcCAgcHJlIHZsb8W+bmllIChwYXN0ZSkgdGV4dHUuIFBvdG9tIG5hcMOtxaE6ICBhIGRydWhhIDxFU0M+LgorCisgIDYuIFBvdcW+aSB2aXp1w6FsbnkgbcOzZCBwcmUgb3puYcSNZW5pZSAicG9sb8W+a2EuIiwgdnlzdHJpaG5pIHRvCisgICAgIHBvdcW+aXTDrW0gIHksIHByZXN1xYggc2EgbmEga29uaWVjIG5hc2xlZHVqw7pjZWhvIHJpYWRrdSBwb3XFvml0w61tICBqJAorICAgICBhIHZsb8W+IHNlbSB0ZXh0IHBvdcW+aXTDrW0gIHAuCisKKy0tLT4gYSkgdG90byBqZSBwcnbDoSBwb2xvxb5rYQorLS0tPiBiKQorCitQT1pOw4FNS0E6IE3DtMW+ZcWhIHBvdcW+acWlIHRpZcW+ICB5ICBha28gb3BlcsOhdG9yOyB5dyAgdnlzdHJpaG5lIGplZG5vIHNsb3ZvLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIExla2NpYSA2LjU6IE5BU1RBVkVOSUUgTU/FvU5PU1TDjQorCisKKyoqIE5hc3RhdiBtb8W+bm9zdGksIHRha8W+ZSB2eWjEvmFkw6F2YW5pZSBhbGVibyBuYWhyYWR6b3ZhbmllIGlnbm9ydWplCisgICByb3psacWhb3ZhbmllICoqCisKKworICAxLiBWeWjEvmFkYWogcmXFpWF6ZWMgJ2lnbm9yZScgbmFww61zYW7DrW06CisgICAgIC9pZ25vcmUgPEVOVEVSPgorICAgICBab3Bha3VqIHZ5aMS+YWTDoXZhbmllIG5pZWtvxL5rbyBrcsOhdCBzdGxhxI1lbsOtbSBrbMOhdmVzeSAgbiAuCisKKyAgMi4gTmFzdGF2IG1vxb5ub3PFpSAnaWMnIChJZ25vcmUgY2FzZSkgbmFww61zYW7DrW0gcHLDrWthenU6CisgICAgIDpzZXQgaWMKKworICAzLiBUZXJheiB2eWjEvmFkYWogcmXFpWF6ZWMgJ2luZ29yZScgem5vdmEgc3RsYcSNZW7DrW0ga2zDoXZlc3kgIG4KKyAgICAgUG96bsOhbWthLCDFvmUgdGVyYXogc8O6IHZ5aMS+YWRhbsOpIGFqIElnbm9yZSBhIElHTk9SRS4KKworICA0LiBOYXN0YXYgbW/Fvm5vc8WlaSAnaGxzZWFyY2gnIGEgJ2luY3NlYXJjaCc6CisgICAgIDpzZXQgaGxzIGlzCisKKyAgNS4gVGVyYXogc3B1c3RpIHZ5aMS+YWTDoXZhY8OtIHByw61rYXogem5vdnUsIGEgcG96cmkgxI1vIHNhIHN0YWxvOgorICAgICAvaWdub3JlIDxFTlRFUj4KKworICA2LiBQcmUgb3BldG92bsOpIHphcG51dGllIHJvemx5xaFvdmFuaWEgdmXEvmvDvWNoIGEgbWFsw71jaCBww61zbWVuCisgICAgIG5hcMOtxaE6ICA6c2V0IG5vaWMKKworUE9aTsOBTUtBOiBOYSBvZHN0csOhbmVuaWUgenbDvXJhem5lbmlhIHbDvXJhem92IG5hcMOtxaE6ICA6bm9obHNlYXJjaAorUE9aTsOBTUtBOiBBayBjaGNlxaEgbmVyb3psecWhb3ZhxaUgdmXEvmtvc8WlIHDDrXNtZW4gbGVuIHByZSBqZWRubworICAgICAgICAgIHBvdcW+aXRpZSB2eWjEvmFkw6F2YWNpZWhvIHByw61rYXp1LCBwb3XFvmkgXGM6ICAvaWdub3JlXGMgPEVOVEVSPgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgIExFS0NJQSA2IFpIUk5VVElFCisKKworICAxLiBOYXDDrcWhICBvICBwcmUgb3R2b3JlbmllIHJpYWRrdSBwb2Qga3Vyem9yb20gYSDFoXRhcnQgdmtsYWRhY2llaG8gbcOzZHUuCisgICAgIE5hcMOtxaEgIE8gIHByZSBvdHZvcmVuaWUgcmlhZGt1IG5hZCBrdXJ6b3JvbS4KKworICAyLiBOYXDDrcWhICBhICBwcmUgdmtsYWRhbmllIHRleHR1IFpBIGt1cnpvci4KKyAgICAgTmFww63FoSAgQSAgcHJlIHZrbGFkYW5pZSB0ZXh0dSB6YSBrb25jb20gcmlhZGt1LgorCisgIDMuIFByw61rYXogIGUgIHByZXN1bmllIGt1cm96ciBuYSBrb25pZWMgc2xvdmEKKworICA0LiBPcGVyw6F0b3IgIHkgIHZ5c3RyaWhuZSAoc2tvcMOtcnVqZSkgdGV4dCwgIHAgIGhvIHZsb8W+w60uCisKKyAgNS4gTmFww61zYW5pZSB2ZcS+a8OpaG8gIFIgIHByZXBuZSBkbyBuYWhyYWR6b3ZhY2llaG8gbcOzZHUsIGvDvW0gbmllamUKKyAgICAgc3RsYcSNZW7DqSA8RVNDPi4KKworICA2LiBOYXDDrXNhbmllICI6c2V0IHh4eCIgbmFzdGF2w60gbW/Fvm5vc8WlICJ4eHgiLiBOaWVrdG9yw6kgbmFzdGF2ZW5pYSBzw7o6CisgICAgICdpYycgJ2lnbm9yZWNhc2UnIGlnbm9ydWplIHZlxL5rw6kgYSBtYWzDqSBww61zbWVuw6EgcG/EjWFzIHZ5aMS+YWTDoXZhbmlhLgorICAgICAnaXMnICdpbmNzZWFyY2gnIHpvYnJhenVqZSDEjWlhc3RvxI1uw6kgcmXFpWF6Y2UgdnloxL5hZMOhdmFuw6lobyByZcWlYXpjYS4KKyAgICAgJ2hscycgJ2hsc2VhcmNoJyB2eXpuYcSNw60gdsWhZXRreSB2eWjEvmFkw6F2YW7DqSByZcWlYXpjZS4KKyAgICAgIE3DtMW+ZcWhIHBvdcW+acWlIGhvY2lrdG9yw70geiBkbGjDvWNoIGEga3LDoXRreWNoIG7DoXp2b3YgbW/Fvm5vc3TDrS4KKworICA3LiBWbG/FviAibm8iIHByZWQgbmFzdGF2ZW5pZSBwcmUgamVobyB2eXBudXRpZTogIDpzZXQgbm9pYworCisKKworCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExFS0NJQSA3LjE6IFrDjVNLQU5JRSBOw4FQT1ZFRFkKKworCisJICAqKiBQb3XFvsOtdmFqIG9uLWxpbmUgc3lzdMOpbSBuw6Fwb3ZlZHkgKioKKworICBWaW0gbcOhIG9ic2lhaGx5IG9uLWxpbmUgc3lzdMOpbSBuw6Fwb3ZlZHkuIFByZSBvZMWhdGFydG92YW5pZSwgdnlza8O6xaFhaiBqZWRlbgorICB6IHTDvWNodG8gdHJvY2g6CisJLSBzdGxhxI0ga2zDoXZlc3UgPEhFTFA+IChhayBuZWpha8O6IG3DocWhKQorCS0gc3RsYcSNIGtsw6F2ZXN1IDxGMT4gKGFrIG5lamFrw7ogbcOhxaEpCisJLSBuYXDDrcWhICA6aGVscCA8RU5URVI+CisKKyAgxIzDrXRhaiB0ZXh0IHYgb2tuZSBuw6Fwb3ZlZHkgcHJlIHrDrXNrYW5pZSBwcmVkc3RhdnkgYWtvIG7DoXBvdmVkYSBmdW5ndWplLgorICBOYXDDrcWhICAgQ1RSTC1XIENUUkwtVyAgcHJlIHNrb2sgeiBqZWRuw6lobyBva25hIGRvIGRydWjDqWhvLgorICBOYXDDrcWhICAgIDpxIDxFTlRFUj4gICAgxI3DrW0gemF0dm9yw63FoSBva25vIG7DoXBvdmVkeS4KKworICBNw7TFvmXFoSBuw6Fqc8WlIGhlbHAga3UgaG9jaWFrZWogdMOpbWUgcHJpZGFuw61tIGFyZ3VtZW50dSBrdSBwcsOta2F6dSAiOmhlbHAiLgorICBWeXNrw7rFoWFqIHRpZXRvIChuZXphYnVkbmkgc3RsYcSNacWlIDxFTlRFUj4pOgorCisJOmhlbHAgdworCTpoZWxwIGNfQ1RSTC1ECisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJIExFS0NJQSA3LjI6IFZZVFZPUkVOSUUgxaBUQVJUT1ZBQ0lFSE8gU0tSSVBUVQorCisJCSAgICAgICAqKiBaYXBuaSBmdW5rY2llIGVkaXRvcmEgVmltICoqCisKKyAgVmltIG3DoSBvbW5vaG8gdmlhYyBmdW5rY2lpIG5lxb4gVmksIGFsZSB2ZcSNxaFpbmEgeiBuaWNoIGplIGltcGxpY2l0bmUKKyAgdnlwbnV0w6EuIFByZSBwb3XFvsOtdmFuaWUgdmlhYyBWaW0gZnVua2NpaSB2eXR2b3IgInZpbXJjIiBzw7pib3IuCisKKyAgMS4gWmHEjW5pIGVkaXRvdmHFpSAidmltcmMiIHPDumJvciwgdG8gesOhdmlzw60gbmEgcG91xb5pdG9tIHN5c3TDqW1lOgorCTplIH4vLnZpbXJjICAgICAgcHJlIFVuaXgKKwk6ZSAkVklNL192aW1yYyAgIHByZSBNUy1XaW5kb3dzCisKKyAgMi4gVGVyYXogc2kgcHJlxI3DrXRhaiB0ZXh0IHByw61rbGFkdSAidmltcmMiIHPDumJvcnU6CisKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFVsb8W+IHPDumJvcjoKKwk6dworCisgIFByaSBuYXNsZWR1asO6Y29tIMWhdGFydGUgZWRpdG9yYSBWaW0gc2EgcG91xb5pamUgenbDvXJhesWIb3ZhbmllIHN5bnRheGUuCisgIERvICJ2aW1yYyIgc8O6Ym9ydSBtw7TFvmXFoSBwcmlkYcWlIHbFoWV0a3kgc3ZvamUgdXByZWRub3N0xYhvdmFuw6kgbmFzdGF2ZW5pYS4KKyAgUHJlIHZpYWMgaW5mb3Jtw6FjaWkgbmFww63FoSAgOmhlbHAgdmltcmMtaW50cm8KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgICAgICAgICAgICAgICAgICBMRUtDSUEgNy4zIERPS09OxIxFTklFCisKKyAgICAgKiogRG9rb27EjWkgcHLDrWtheiBuYSBwcsOta2F6b3ZvbSByaWFka3UgcG91xb5pdMOtbSBDVFJMLUQgYSA8VEFCPiAqKgorCisgIDEuIFVpc3RpIHNhLCDFvmUgVmltIG5pZWplIHYga29tcGF0aWJpbG5vbSBtw7NkZTogIDpzZXQgbm9jcAorCisgIDIuIFBvenJpIHNhIGFrw6kgc8O6Ym9yeSBzYSBuYWNow6FkemFqw7ogdiBhZHJlc8Ohcmk6ICA6IWxzICBhbGVibyAgOiFkaXIKKworICAzLiBOYXDDrcWhIHphxI1pYXRvayBwcsOta2F6dTogIDplCisKKyAgNC4gU3RsYcSNICBDVFJMLUQgIGEgVmltIHpvYnJhesOtIHpvem5hbSBwcsOta2F6b3YgemHEjcOtbmFqw7pjaWNoICJlIi4KKworICA1LiBTdGxhxI0gPFRBQj4gYSBWaW0gZG9rb27EjcOtIG1lbm8gcHLDrWthenUgbmEgIjplZGl0Ii4KKworICA2LiBUZXJheiBwcmlkYWogbWVkemVybsOtayBhIHphxI1pYXRvayBtZW5hIGV4aXN0dWrDumNlaG8gc8O6Ym9ydToKKyAgICAgOmVkaXQgRklMCisKKyAgNy4gU3RsYcSNIDxUQUI+LiBWaW0gZG9rb27EjcOtIG1lbm8gKGFrIGplIGplZGluZcSNbsOpKS4KKworUE9aTsOBTUtBOiBEb2tvbsSNb3ZhbmllIGZ1bmd1amUgcHJlIHZlxL5hIHByw61rYXpvdi4gVnlza8O6xaFhaiBzdGxhxI1lbmllCisgICAgICAgICAgQ1RSTC1EIGEgPFRBQj4uIMWgcGVjacOhbG5lIGplIHRvIHXFvml0b8SNbsOpIHByZSBwcsOta2F6ICA6aGVscC4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworICAgICAgICAgICAgTEVLQ0lBIDcgWkhSTlVUSUUKKworICAxLiBOYXDDrcWhICA6aGVscCAgYWxlYm8gc3RsYcSNIDxGMT4gYWxlYm8gPEhlbHA+IHByZSBvdHZvcmVuaWUgb2tuYSBuw6Fwb3ZlZHkuCisKKyAgMi4gTmFww63FoSAgOmhlbHAgcHLDrWtheiAgcHJlIHZ5aMS+YWRhbmllIG7DoXBvdmVkeSBrdSBwcsOta2F6dSBwcsOta2F6LgorCisgIDMuIE5hcMOtxaEgIENUUkwtVyBDVFJMLVcgIG5hIHByZXNrb8SNZW5pZSBkbyBpbsOpaG8gb2tuYS4KKworICA0LiBOYXDDrcWhICA6cSAgcHJlIHphdHZvcmVuaWUgb2tuYSBuw6Fwb3ZlZHkKKworICA1LiBWeXR2b3IgxaF0YXJ0b3ZhY8OtIHNrcmlwdCB2aW1yYyBwcmUgdWRyxb5hbmllIHVwcmVkbm9zdMWIb3ZhbsO9Y2ggbmFzdGF2ZW7DrS4KKworICA2LiBQb8SNYXMgcMOtc2FuaWEgcHLDrWthenUgIDogIHN0bGHEjSBDVFJMLUQgcHJlIHpvYnJhemVuaWUgZG9rb27EjWVuw60uCisgICAgIFN0bGHEjSA8VEFCPiBwcmUgcG91xb5pdGllIGplZG7DqWhvIHogZG9rb27EjWVuw60uCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKworCisgIFRvdG8gdnltZWR6dWplIHbDvXVrdSBWaW11LiBUb3RvIGplIHVyxI1lbsOpIHByZSBzdHJ1Y27DvSBwcmVoxL5hZCBvIGVkaXRvcmUKKyAgVmltLCDDunBsbmUgcG9zdGHEjXVqw7pjZSBwcmUgxL5haGvDqSBhIG9ic3Rvam7DqSBwb3XFvsOtdmFuaWUgdG9odG8gZWRpdG9yYS4KKyAgVMOhdG8gdsO9dWthIGplIMSPYWxla28gb2Qga29tcGxldG5vc3RpLCBwcmV0b8W+ZSBWaW0gbcOhIG9tbm9obyB2aWFjZWogcHLDrWthem92LgorICBBa28gxI9hbMWhaWUgc2kgcHJlxI3DrXRhaiB1xb7DrXZhdMS+c2vDvSBtYW51w6FsOiAiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIFByZSDEj2FsxaFpZSDEjcOtdGFuaWUgYSDFoXTDumRpdW0gamUgb2Rwb3LDusSNYW7DoSBrbmloYToKKyAgVmltIC0gVmkgSW1wcm92ZWQgLSBvZCBTdGV2ZSBPdWFsbGluZQorICBWeWRhdmF0ZcS+OiBOZXcgUmlkZXJzCisgIFBydsOhIGtuaWhhIHVyxI1lbsOhIHByZSBWaW0uIMWgcGVjacOhbG5lIHZob2Ruw6EgcHJlIHphxI1pYXRvxI1uw61rb3YuCisgIE9ic2FodWplIG1ub8W+c3R2byBwcsOta2xhZG92IGEgb2Jyw6F6a292LgorICBQb3pyaSBuYSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFTDoXRvIGtuaWhhIGplIHN0YXLFoWlhIGEgamUgdmlhYyBvIFZpIGFrbyBvIFZpbSwgYWxlIGplIHRpZcW+IG9kcG9yw7rEjWFuw6E6CisgIExlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBvZCBMaW5kYSBMYW1iCisgIFZ5ZGF2YXRlxL46IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIEplIHRvIGRvYnLDoSBrbmloYSBwcmUgesOtc2thbmllIHZlZG9tb3N0w60gbyBwcsOhY2kgcyBlZGl0b3JvbSBWaS4KKyAgxaBpZXN0ZSB2eWRhbmllIG9ic2FodWplIHRpZcW+IGluZm9ybcOhY2llIG8gZWRpdG9yZSBWaW0uCisKKyAgVMOhdG8gdsO9dWthIGJvbGEgbmFww61zYW7DoSBhdXRvcm1pIE1pY2hhZWwgQy4gUGllcmNlIGEgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBzIHBvdcW+aXTDrW0gbXnFoWxpZW5vayBkb2RhbsO9bWkgb2QgQ2hhcmxlcyBTbWl0aCwKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIE1vZGlmaWtvdmFuw6kgcHJlIFZpbSBvZCBCcmFtIE1vb2xlbmFhci4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgUHJla2xhZCBkbyBTbG92ZW7EjWlueTogxL11Ym/FoSDEjGVsa28KKyAgZS1tYWlsOiAgICAgICBjZWxib3NAaW5tYWlsLnNrCisgIExhc3QgQ2hhbmdlOiAgMjAwNiBBcHIgMTgKKyAgZW5jb2Rpbmc6ICAgICBpc284ODU5LTIK