CSAgIEluc3RhbGxhdGlvbnMtIHVuZCBCZWRpZW51bmdzYW5sZWl0dW5nIGb8ciBXSU5FCgkJCSAgICAgUGV0ZXIgR2FudGVuCgkJCSAgIHBldGVyQGdhbnRlbi5vcmcKCQkJICAgICA3LiBKdWxpIDIwMDAKCgoxLiBadXNhbW1lbmZhc3N1bmcKCkRpZXNlciBUZXh0IGJlc2NocmVpYnQgZGllIEluc3RhbGxhdGlvbiwgRWlucmljaHR1bmcgdW5kIEJlZGllbnVuZyB2b24KV0lORS4gV0lORSBpc3QgZWluZSBMYXVmemVpdHVtZ2VidW5nIHp1bSBBdXNm/GhyZW4gdm9uIFByb2dyYW1tZW4gZvxyCk1TLVdpbmRvd3MgdW50ZXIgR05VL0xpbnV4IHVuZCBhbmRlcmVuIFVOSVgta29tcGF0aWJsZW4KQmV0cmllYnNzeXN0ZW1lbiBhdWYgSW50ZWwteDg2LWtvbXBhdGlibGVuIENvbXB1dGVybiwgZGFzIFByb2dyYW1tIGthbm4KYXXfZXJkZW0gZGF6dSBnZW51dHp0IHdlcmRlbiwgZGVuIFF1ZWxsY29kZSBleGlzdGllcmVuZGVyCldpbmRvd3MtUHJvZ3JhbW1lIG5hY2ggVU5JWCB6dSBwb3J0aWVyZW4uIEluIGRpZXNlbSBUZXh0IGdlaHQgZXMgaW4KZXJzdGVyIExpbmllIGplZG9jaCB1bSBkaWUgSW5zdGFsbGF0aW9uIHVuZCBLb25maWd1cmF0aW9uIGRlcgpMYXVmemVpdHVtZ2VidW5nIGb8ciBXaW5kb3dzLVByb2dyYW1tZS4gRGVyIFRleHQgd3VyZGUKdXJzcHL8bmdsaWNoIGFscyBCZWdsZWl0bWF0ZXJpYWwgZvxyIGVpbmVuIFZvcnRyYWcg/GJlciBXSU5FIHVuZCBkaWUKSW50ZWdyYXRpb24gdm9uIFdpbmRvd3MtQW53ZW5kdW5nZW4gdW50ZXIgR05VL0xpbnV4IGF1ZiBkZW0gTGludXhUYWcKMjAwMCB2b20gMzAuIEp1bmkgYmlzIHp1bSAyLiBKdWxpIDIwMDAgaW4gU3R1dHRnYXJ0IGdlc2NocmllYmVuLiAKCjIuIEVpbmxlaXR1bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApNaXQgV0lORSB3aXJkIGVpbiB1bWZhc3NlbmRlciBBbnNhdHogenVyIEludGVncmF0aW9uIHZvbgpXaW5kb3dzLUFud2VuZHVuZ2VuIHVudGVyIEdOVS9MaW51eCB2ZXJmb2xndC4gV0lORSBiZXN0ZWh0IHUuYS4gYXVzCmVpbmVtIExvYWRlciwgbWl0IGRlbSBXaW5kb3dzLSB1bmQgRE9TLVByb2dyYW1tZSB1bnRlciBMaW51eCBpbiBkZW4KU3BlaWNoZXIgZ2VsYWRlbiB1bmQgdm9tIFByb3plc3NvciBkZXMgUmVjaG5lcnMgYXVzZ2Vm/GhydCB3ZXJkZW4Ka/ZubmVuLiBBdd9lcmRlbSBzdGVsbHQgZGFzIFByb2dyYW1tIGVpbmVuIGdyb99lbiBUZWlsIGRlcgpTY2huaXR0c3RlbGxlbiAoQVBJcykgV2luZG93cy1iYXNpZXJ0ZXIgQmV0cmllYnNzeXN0ZW1lIHp1ciBWZXJm/Gd1bmcuCkRpZXNlIFNjaG5pdHRzdGVsbGVuIHdlcmRlbiB2b24gV2luZG93cy1Qcm9ncmFtbWVuLCBkaWUgbWl0IFdJTkUKYXVzZ2Vm/GhydCB3ZXJkZW4sIGJlbnV0enQsIHNvIGRhc3Mgc29sY2hlIFByb2dyYW1tZSBkaWUgc2VsYmUsCmVyd2FydGV0ZSBVbWdlYnVuZyB2b3JmaW5kZW4sIHdpZSB1bnRlciBXaW5kb3dzLiBXZWlsIGRpZXNlClNjaG5pdHRzdGVsbGVuIG1pdCBXSU5FIHZvcmhhbmRlbiBzaW5kIHVuZCBkZXJlbiBEZWZpbml0aW9uZW4gaW4gRm9ybQp2b24gSGVhZGVyLURhdGVpZW4gdm9ybGllZ2VuLCBrYW5uIFdJTkUgYXVjaCBiZW51dHp0IHdlcmRlbiwgdW0gZGVuClF1ZWxsY29kZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIG5hY2ggR05VL0xpbnV4IG9kZXIgYW5kZXJlbgpVTklYLWJhc2llcnRlbiBCZXRyaWVic3N5c3RlbWVuIHp1IHBvcnRpZXJlbi4gRXMgZW50c3RlaGVuIGRhbm4gZWNodGUKVU5JWC9MaW51eC1Qcm9ncmFtbWUsIHdlbGNoZSBkaWUgc2VsYmUgRnVua3Rpb25hbGl05HQgaGFiZW4sIHdpZSBpaHJlCuRxdWl2YWxlbnRlbiBQcm9ncmFtbWUgdW50ZXIgV2luZG93cy4gRGllIFZlcndlbmR1bmcgZWluZXMKZWluaGVpdGxpY2hlbiBBUElzIHVudGVyIFdpbmRvd3MgdW5kIExpbnV4IGhhdCBm/HIgU29mdHdhcmVoZXJzdGVsbGVyCmRlbiBWb3J0ZWlsLCBkYXNzIG51ciBlaW5lIGVpbnppZ2UgVmVyc2lvbiBkZXMgUXVlbGxjb2RlcyBnZXBmbGVndCB1bmQKd2VpdGVyZW50d2lja2VsdCB3ZXJkZW4gbXVzcywgZGllIHNpY2ggdW50ZXIgYmVpZGVuCkJldHJpZWJzc3lzdGVtZmFtaWxpZW4gdmVyd2VuZGVuIGzkc3N0LgoKRGFzIFdJTkUtUHJvamVrdCB3dXJkZSAxOTkzIGdlc3RhcnRldCwgZXMgd2lyZCBpbSB3ZXNlbnRsaWNoZW4gdm9uCkZyZWl3aWxsaWdlbiBnZXRyYWdlbiwgZGllIPxiZXIgTWFpbGluZ2xpc3RlbiBtaXRlaW5hbmRlcgprb21tdW5pemllcmVuLiBJbiBsZXR6dGVyIFplaXQgaGF0IFdJTkUgenVz5HR6bGljaGUgVW50ZXJzdPx0enVuZwpkdXJjaCBtZWhyZXJlIGtvbW1lcnppZWxsZSBVbnRlcm5laG1lbiBlcmZhaHJlbiwgZGllIFdJTkUgZGF6dQplaW5zZXR6ZW4sIGlocmUgV2luZG93cy1Qcm9ncmFtbWUgbmFjaCBHTlUvTGludXggenUgcG9ydGllcmVuLiBXSU5FCmlzdCBoZXV0ZSBpbiBkZXIgTGFnZSwgZWluZW4gZ3Jv32VuIFRlaWwgZGVyIGV4aXN0aWVyZW5kZW4KV2luZG93cy1Qcm9ncmFtbWUgKDE2LSB1bmQgMzJiaXQpIHVudGVyIExpbnV4IGF1c3p1ZvxocmVuLCBpbiBlaW5lbQpiZWdyZW56dGVuIFVtZmFuZyBr9m5uZW4gYXVjaCBET1MtUHJvZ3JhbW1lIG1pdCBXSU5FIGJlbnV0enQKd2VyZGVuLiBXSU5FIGb8aHJ0IFdpbmRvd3MtUHJvZ3JhbW1lIGRpcmVrdCB1bnRlciBMaW51eCBhdXMsIGVzCmJlbvZ0aWd0IGRhenUga2VpbmUgc3BlemllbGxlbiBLZXJuZWxlcndlaXRlcnVuZ2VuLCBrZWluZSBiZXNvbmRlcmVuClJlY2h0ZSB1bmQga2VpbmUgZXhpc3RpZXJlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uLiBEYXMgRGVzaWduIGVybGF1YnQKZXMsIGRpZSBiZXRyZWZmZW5kZW4gUHJvZ3JhbW1lIHVudGVyIExpbnV4IGdlbmF1c28gc2NobmVsbAphdXN6dWb8aHJlbiwgd2llIHVudGVyIFdpbmRvd3MsIHdlaWwga2VpbmUgRW11bGF0aW9uIGltIFNpbm5lIGVpbmVyCkludGVycHJldGF0aW9uIHZvbiBQcm96ZXNzb3JhbndlaXN1bmdlbiBzdGF0dGZpbmRldC4gWnVyIEF1c2b8aHJ1bmcKZWluZXMgYmVzdGltbXRlbiBQcm9ncmFtbXMgd2VyZGVuIHVudGVyIEdOVS9MaW51eCBtaXQgV0lORSB0aGVvcmV0aXNjaApkaWVzZWxiZW4gU3lzdGVtcmVzc291cmNlbiBiZW72dGlndCB3aWUgdW50ZXIgV2luZG93cy4gT3B0aW9uYWwga2FubgpXSU5FIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4uIEVzIGlzdCBkYW5uCm32Z2xpY2gsIGRpZSBFaW5zdGVsbHVuZ2VuIGRpZXNlciBJbnN0YWxsYXRpb24gZvxyIFdpbmRvd3MtUHJvZ3JhbW1lCnp1IPxiZXJuZWhtZW4gdW5kIGVpbmlnZSBPcmlnaW5hbC1CZXN0YW5kdGVpbGUgdm9uIFdpbmRvd3MgbWl0IFdJTkUgenUKdmVyd2VuZGVuLCB3ZWxjaGUgaW4gV0lORSBub2NoIG5pY2h0IGluIGF1c3JlaWNoZW5kZW0gVW1mYW5nIHp1cgpWZXJm/Gd1bmcgc3RlaGVuLgogICAKSW0gZm9sZ2VuZGVuIHdpcmQgYmVzY2hyaWViZW4sIHdpZSBXSU5FIGF1ZiBlaW5lbSBHTlUvTGludXgtU3lzdGVtCmluc3RhbGxpZXJ0IHVuZCBlaW5nZXJpY2h0ZXQgd2VyZGVuIGthbm4uIEF1c2dlZ2FuZ2VuIHd1cmRlIGRhYmVpCnVyc3BydWVuZ2xpY2ggdm9uIGRlciBMaW51eC1EaXN0cmlidXRpb24gRGViaWFuIEdOVS9MaW51eCAyLjIgKHBvdGF0bykKdW5kIGRlciBXSU5FLVZlcnNpb24gMjAwMDA2MTQuIE1pdHRsZXJ3ZWlsZSB3dXJkZSBkZXIgSW5oYWx0IGF1ZiBuZXVlcmUKV2luZS1WZXJzaW9uZW4gKDIwMDEwNXh4KSBhbmdlcGFzc3QuIEJlaSBWZXJ3ZW5kdW5nIGVpbmVyIGFuZGVyZW4KTGludXgtRGlzdHJpYnV0aW9uIG9kZXIgZWluZXIgYW5kZXJlbiBXSU5FLVZlcnNpb24gc2luZCBkaWUKYmVzY2hyaWViZW5lbiBTY2hyaXR0ZSBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KTWl0dGxlcndlaWxlIGdpYnQgZXMgYmVpIERlYmlhbiB2b24gT3ZlIEthYXZlbiBlaW4gcGVyZmVrdCBhbmdlcGFzc3RlcwpXaW5lLVBhY2thZ2UgKCJ3aW5lIiksIGRhcyB6dXNhbW1lbiBtaXQgIndpbmVzZXR1cHRrIiBraW5kZXJsZWljaHQgdmVyd2VuZGV0CndlcmRlbiBrYW5uLgogICAKMy4gQmlu5HJwYWtldCBvZGVyIFF1ZWxsY29kZT8KCkluIGRlbiBtZWlzdGVuIExpbnV4LURpc3RyaWJ1dGlvbmVuIHNpbmQgaGV1dGUgV0lORS1QYWtldGUKZW50aGFsdGVuLiBIaWVyYmVpIGhhbmRlbHQgZXMgc2ljaCB1bSBCaW7kcnBha2V0ZSwgZGllIFdJTkUgaW4gZWluZXIKRm9ybSBlbnRoYWx0ZW4sIGluIGRlciBlcyBkaXJla3QgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubi4gQWt0dWVsbGUKVmVyc2lvbmVuIHNvbGNoZXIgUGFrZXRlIGxhc3NlbiBzaWNoIGF1Y2ggdm9uIHZlcnNjaGllZGVuZW4KSW50ZXJuZXRzZWl0ZW4gaGVydW50ZXJsYWRlbi4gVGhlb3JldGlzY2ggc29sbHRlIFdJTkUgbmFjaCBkZXIKSW5zdGFsbGF0aW9uIGVpbmVzIEJpbuRycGFrZXRzIHNpbm52b2xsIGtvbmZpZ3VyaWVydCB1bmQgc29mb3J0CmJlbnV0emJhciBzZWluLiBUYXRz5GNobGljaCBpc3QgZXMgaW4gdmllbGVuIEbkbGxlbiBqZWRvY2ggbm90d2VuZGlnLCAKZGllIG1pdCBkZW0gUGFrZXQgaW5zdGFsbGllcnRlIEtvbmZpZ3VyYXRpb24genUg/GJlcmFyYmVpdGVuLiAKCkF1ZmdydW5kIGRlciBzY2huZWxsZW4gRW50d2lja2x1bmcgdm9uIFdJTkUgd2lyZCB6dXIgWmVpdCBlbXBmb2hsZW4sCmFuIFN0ZWxsZSBlaW5lcyBCaW7kcnBha2V0cyBkZW4gYWt0dWVsbGVuIFF1ZWxsY29kZSB6dSB2ZXJ3ZW5kZW4uIERlcgpRdWVsbGNvZGUgbXVzcywgbmFjaGRlbSBtYW4gaWhuIHNpY2ggYmVzY2hhZmZ0IGhhdCwgZW50cGFja3QsCmtvbmZpZ3VyaWVydCB1bmQga29tcGlsaWVydCAo/GJlcnNldHp0KSB3ZXJkZW4uIERhYmVpIGVudHN0ZWh0IGRhbm4KZWluZSBCaW7kcmRhdGVpLCBkaWUgZ2VuYXUgYW4gZGFzIGVpZ2VuZSBTeXN0ZW0gYW5nZXBhc3N0IGlzdCB1bmQKZGVzaGFsYiBlaW5lIGj2aGVyZSBXYWhyc2NoZWlubGljaGtlaXQgZvxyIG9wdGltYWxlIEVyZ2Vibmlzc2UgYmlldGV0LAphbHMgQmlu5HJwYWtldGUsIGRpZSB1LlUuIGb8ciBlaW4gYW5kZXJzIGtvbmZpZ3VyaWVydGVzIFN5c3RlbQplcnN0ZWxsdCB3dXJkZW4uIERpZSBWZXJ3ZW5kdW5nIGRlcyBRdWVsbGNvZGVzIGJpZXRldCBhdd9lcmRlbSBkaWUKTfZnbGljaGtlaXQsIGRhcyBQcm9ncmFtbSByZWxhdGl2IGVpbmZhY2ggYWt0dWFsaXNpZXJlbiB6dSBr9m5uZW4sCndvYmVpIG5pY2h0IGltbWVyIHdpZWRlciBkYXMga29tcGxldHRlIFBha2V0IGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4KbXVzcy4gRGFy/GJlcmhpbmF1cyBrYW5uIG1pdCBkZXIgVmVyd2VuZHVuZyBkZXMgYWt0dWVsbGVuIFF1ZWxsY29kZXMgCnNpY2hlcmdlc3RlbGx0IHdlcmRlbiwgZGFzcyBldnRsLiBhdWZ0cmV0ZW5kZSBGZWhsZXIgd2lya2xpY2ggaW4gV0lORQp2b3JoYW5kZW4gc2luZCB1bmQgbmljaHQgYmVyZWl0cyBiZWhvYmVuIHdvcmRlbiBzaW5kLiBEYWR1cmNoIHdpcmQgZGllCk32Z2xpY2hrZWl0IGdlc3RlaWdlcnQsIHNpbm52b2xsZSBGZWhsZXJiZXJpY2h0ZSBhbiBkaWUKV0lORS1FbnR3aWNrbGVyIHNjaGlja2VuIHp1IGv2bm5lbi4gCgpEaWUgSW5zdGFsbGF0aW9uIHZvbiBCaW7kcnBha2V0ZW4gaXN0IGFiaORuZ2lnIHZvbSBlaW5nZXNldHp0ZW4KUGFrZXRmb3JtYXQgZGVyIERpc3RyaWJ1dGlvbiAoenVtZWlzdCB3aXJkIGRhcyBSZWRoYXQtIG9kZXIKRGViaWFuLUZvcm1hdCBiZW51dHp0KSBzb3dpZSBkZXIgRGlzdHJpYnV0aW9uIHNlbGJzdC4gRGllIGhpZXJ6dQpiZW72dGlndGVuIEluZm9ybWF0aW9uZW4gc29sbHRlbiBzaWNoIGluIGRlciBEb2t1bWVudGF0aW9uIGRlciB2b24KSWhuZW4gZWluZ2VzZXR6dGVuIERpc3RyaWJ1dGlvbiBmaW5kZW4uIEluIGRpZXNlbSBUZXh0IHdpcmQgZGllCkluc3RhbGxhdGlvbiBhdXMgZGVtIFF1ZWxsY29kZSB2b24gV0lORSBiZXNjaHJpZWJlbi4gCgo0LjAgU3lzdGVtdm9yYXVzc2V0enVuZ2VuCgpEYW1pdCBXSU5FIGF1ZiBkZW0gU3lzdGVtIPxiZXJzZXR6dCB1bmQgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubiwgbfxzc2VuCmRpZSBmb2xnZW5kZW4gUHJvZ3JhbW1lIHVuZCBEYXRlaWVuIGluc3RhbGxpZXJ0IHNlaW46CgogICAgMS4gTGludXgtS2VybmVsIGFiIGRlciBWZXJzaW9uc2ZhbWlsaWUgMi4yLnguIChXSU5FIGzkc3N0IHNpY2ggYXVjaAogICAgICAgdW50ZXIgTGludXgtS2VybmVscyBkZXIgVmVyc2lvbnNmYW1pbGllIDIuMC54IGF1c2b8aHJlbiwKICAgICAgIGFsbGVyZGluZ3MgdW50ZXJzdPx0emVuIGRpZXNlIEtlcm5lbHMgYmVzdGltbXRlIHZvbiBXSU5FIGJlbvZ0aWd0ZQogICAgICAgRWlnZW5zY2hhZnRlbiBuaWNodC4gRGllcyBtYWNodCBzaWNoIGluc2Jlc29uZGVyZSBkYW5uIGJlbWVya2JhciwKICAgICAgIHdlbm4gMzJCaXQtV2luZG93c3Byb2dyYW1tZSBtaXQgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbiBzb2xsZW4sIGJlaQogICAgICAgZGVuZW4gbWVocmVyZSBUaHJlYWRzIGdsZWljaHplaXRpZyBhdXNnZWb8aHJ0IHdlcmRlbi4pIERpZQogICAgICAgVmVyc2lvbnNudW1tZXIgZGVzIGFrdHVlbGwgYXVzZ2Vm/GhydGVuIExpbnV4LUtlcm5lbHMgd2lyZAogICAgICAgYW5nZXplaWd0LCB3ZW5uIGRlciBmb2xnZW5kZW4gQmVmZWhsIGFuIGRlciBLb21tYW5kb3plaWxlCiAgICAgICBlaW5nZWdlYmVuIHdpcmQ6CgogICAgICAgdW5hbWUgLXIgCgogICAgMi4gRXMgd2lyZCBlbXBmb2hsZW4sIGRpZSBHTlUgQy1CaWJsaW90aGVrIChsaWJjNikgYWIgVmVyc2lvbiAyLjEKICAgICAgIGVpbnp1c2V0emVuLiBEaWUgVmVyc2lvbnNudW1tZXIgZGVyIGFrdHVlbGwgZWluZ2VzZXR6dGVuCiAgICAgICBDLUJpYmxpb3RoZWsga2FubiBhbmdlemVpZ3Qgd2VyZGVuLCBpbmRlbSBkZXIgZm9sZ2VuZGUgCiAgICAgICBCZWZlaGwgYmVudXR6dCB3aXJkOgoKICAgICAgIGxzIC1sIC9saWIvbGliYy5zby4qIAoKICAgICAgIEF1ZiBlaW5pZ2VuIFN5c3RlbWVuIGlzdCBzb3dvaGwgZGllIORsdGVyZSBDLUJpYmxpb3RoZWsgbGliYzUsCiAgICAgICBhbHMgYXVjaCBkaWUgbmV1ZXJlIEJpYmxpb3RoZWsgbGliYzYgdm9yaGFuZGVuLiBFbnRzY2hlaWRlbmQKICAgICAgIGlzdCBkYW5uIGluIGRlciBSZWdlbCBkaWUgbmV1ZXJlIFZlcnNpb24uIERpZSBDLUJpYmxpb3RoZWsgbXVzcwogICAgICAgUmVlbnRyYW50IHNlaW4sIGRhbWl0IFdJTkUgTXVsdGl0aHJlYWRpbmcgdW50ZXJzdPx0emVuCiAgICAgICBrYW5uLiBEaWVzIGlzdCBiZWkgYWxsZW4gbmV1ZXJlbiBMaW51eC1EaXN0cmlidXRpb25lbiBkZXIKICAgICAgIEZhbGwuIERpZSBDLUJpYmxpb3RoZWsgYmVmaW5kZXQgc2ljaCBpbSBQYWtldCBsaWJjNi4gVW0gV0lORSB6dQogICAgICAg/GJlcnNldHplbiB3ZXJkZW4genVz5HR6bGljaCBkaWUgRW50d2lja2xlcmRhdGVpZW4genVyCiAgICAgICBDLUJpYmxpb3RoZWsgYmVu9nRpZ3QuIERpZXNlIGJlZmluZGVuIHNpY2ggdW50ZXIgRGViaWFuIGltCiAgICAgICBQYWtldCBsaWJjNi1kZXYuCgogICAgMy4gV2VpbCBXSU5FIGRhcyBYIFdpbmRvdyBTeXN0ZW0gYmVudXR6dCwgd2VyZGVuIGRpZSBYLUJpYmxpb3RoZWtlbgogICAgICAgdW5kLCB3ZW5uIFdJTkUg/GJlcnNldHp0IHdlcmRlbiBzb2xsLCBkaWUgRW50d2lja2xlcmRhdGVpZW4gZvxyCiAgICAgICBYIGJlbvZ0aWd0LiBEaWUgQmlibGlvdGhla2VuIHNpbmQgdW50ZXIgRGViaWFuIGltIFBha2V0IHhsaWI2ZwogICAgICAgdW5kIGRpZSBFbnR3aWNrbGVyZGF0ZWllbiBpbSBQYWtldCB4bGliNmctZGV2IGVudGhhbHRlbi4KCiAgICA0LiBG/HIgUHJvZ3JhbW1lLCBkaWUgaW0gVGV4dG1vZHVzIGF1c2dlZvxocnQgd2VyZGVuLCBrYW5uIFdJTkUgZGllCiAgICAgICBCaWJsaW90aGVrIGxpYm5jdXJzZXMgdmVyd2VuZGVuLiBEYW1pdCBkaWUgVW50ZXJzdPx0enVuZyBkYWb8ciBpbgogICAgICAgZGFzIFByb2dyYW1tIGVpbmdlYnVuZGVuIHdpcmQsIG38c3NlbiBkaWUgRW50d2lja2xlcmRhdGVpZW4gZvxyCiAgICAgICBkaWVzZSBCaWJsaW90aGVrIGluc3RhbGxpZXJ0IHNlaW4gKFBha2V0IGxpYm5jdXJzZXM1LWRldikuIERpZQogICAgICAgVmVyd2VuZHVuZyBkZXIgbmN1cnNlcy1CaWJsaW90aGVrIGlzdCBqZWRvY2ggb3B0aW9uYWwuCgogICAgNS4gRWJlbmZhbGxzIG9wdGlvbmFsIGlzdCBkaWUgVW50ZXJzdPx0enVuZyBlaW5lciBPcGVuR0wta29tcGF0aWJsZW4KICAgICAgIEJpYmxpb3RoZWssIHdpZSB6LkIuIE1lc2EuIFdlbm4gZGllIFVudGVyc3T8dHp1bmcgZvxyIE9wZW5HTCBpbgogICAgICAgZGFzIFByb2dyYW1tIGVpbmdlYnVuZGVuIHdlcmRlbiBzb2xsLCBt/HNzZW4gZGllCiAgICAgICBPcGVuR0wtRW50d2lja2xlcmRhdGVpZW4gYXVmIGRlbSBTeXN0ZW0gaW5zdGFsbGllcnQgc2Vpbiwgd2llIHNpZQogICAgICAgei5CLiBkdXJjaCBkYXMgUGFrZXQgbWVzYWctZGV2IGJlcmVpdGdlc3RlbGx0IHdlcmRlbi4gWnVz5HR6bGljaAogICAgICAgc2luZCBkYW5uIG5hdPxybGljaCBkaWUgT3BlbkdMLUJpYmxpb3RoZWtlbiBzZWxic3QgZXJmb3JkZXJsaWNoLgoKICAgIDYuIFVtIFdJTkUgenUg/GJlcnNldHplbiwgbXVzcyBkZXIgR05VLUMtQ29tcGlsZXIgYmVudXR6dCB3ZXJkZW4uCiAgICAgICBFbXBmb2hsZW4gd2lyZCB6dXIgWmVpdCBWZXJzaW9uIDIuOTUuIFdlaXRlciB3ZXJkZW4gZWluaWdlCiAgICAgICBTdGFuZGFyZHdlcmt6ZXVnZSB3aWUgbWFrZSwgKGYpbGV4LCB5YWNjIG9kZXIgYmlzb24gYmVu9nRpZ3QsCiAgICAgICBkaWUgYXVmIGRlbiBtZWlzdGVuIExpbnV4c3lzdGVtZW4gYmVyZWl0cyBpbnN0YWxsaWVydCBzZWluIHNvbGx0ZW4uCiAgICAgICAKICAgSmUgbmFjaGRlbSwgb2IgaW4gZGVtIHp1IGVyemV1Z2VuZGVuIEJpbuRyY29kZSBEZWJ1Zy1JbmZvcm1hdGlvbmVuCiAgIGVudGhhbHRlbiBzZWluIHNvbGxlbiwgd2VyZGVuIGb8ciBkaWUg3GJlcnNldHp1bmcgdW5kIGRpZQogICBJbnN0YWxsYXRpb24gdm9uIFdJTkUgendpc2NoZW4gY2EuIDEwMCBNQiB1bmQgY2EuIDI1MCBNQgogICBTcGVpY2hlcnBsYXR6IGF1ZiBkZXIgRmVzdHBsYXR0ZSBiZW72dGlndC4gQW4gZGVuIFByb3plc3NvciBkZXMKICAgUmVjaG5lcnMgd2VyZGVuIGtlaW5lIGJlc29uZGVyZW4gQW5mb3JkZXJ1bmdlbiBnZXN0ZWxsdCwgc28gaXN0IGVpbgogICBQcm96ZXNzb3IgZGVyIFBlbnRpdW0tS2xhc3NlIG1pdCAxMzMgTWh6IGF1c3JlaWNoZW5kLCB1bSBtaXQgV0lORQogICBiZWlzcGllbHN3ZWlzZSBUZXh0dmVyYXJiZWl0dW5nc3Byb2dyYW1tZSBhdXN6dWb8aHJlbi4gRvxyIFNwaWVsZQogICB1bmQgYW5kZXJlIE11bHRpbWVkaWEtQW53ZW5kdW5nZW4gd2lyZCBhbGxlcmRpbmdzIGluIGRlciBSZWdlbCBlaW4KICAgc2NobmVsbGVyZXIgUmVjaG5lciBiZW72dGlndC4gV2ljaHRpZyBpc3QsIGRhc3Mgc2ljaCBpbiBkZW0gUmVjaG5lcgogICBhdXNyZWljaGVuZCBBcmJlaXRzc3BlaWNoZXIgKFJBTSkgYmVmaW5kZXQuIFp1ciBBdXNm/GhydW5nIGdy9t9lcmVyCiAgIFdpbmRvd3MtUHJvZ3JhbW1lIHNvbGx0ZSBkZXIgUmVjaG5lciBtaXQgNjQgTUIgUkFNIGF1c2dlc3RhdHRldAogICBzZWluLgogICAKNS4wIEJlc2NoYWZmdW5nIHVuZCBJbnN0YWxsYXRpb24gZGVzIFF1ZWxsY29kZXMKCiAgIFdJTkUga2FubiB2b24gdmVyc2NoaWVkZW5lbiBTZXJ2ZXJuIGltIEludGVybmV0IHBlciBGVFAgb2RlciBIVFRQCiAgIGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4uIE5vcm1hbGVyd2Vpc2Uga2FubiBkZXIgamV3ZWlscyBha3R1ZWxsZQogICBRdWVsbGNvZGUgdS5hLiB2b24gZGVuIGZvbGdlbmRlbiBBZHJlc3NlbiBiZXpvZ2VuIHdlcmRlbjoKCiAgICAgKiBmdHA6Ly9tZXRhbGFiLnVuYy5lZHUvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvCiAgICAgKiBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvCiAgICAgKiBmdHA6Ly9vcmN1cy5wcm9nc29jLnV0cy5lZHUuYXUvcHViL3dpbmUvZGV2ZWxvcG1lbnQvCiAgICAgKiBodHRwOi8vbWV0YWxhYi51bmMuZWR1L3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50LwogICAgICAgCiAgIEJlaSBkZXIgRW50d2lja2x1bmcgdm9uIFdJTkUgd2VyZGVuIHp1ciBaZWl0IG5vY2gga2VpbmUKICAgVmVyc2lvbnNudW1tZXJuIGJlbnV0enQuIEFuIFN0ZWxsZSBkZXNzZW4gdHLkZ3QgamVkZSBBdXNnYWJlIGVpbmUKICAgWmFobCwgd2VsY2hlIG5hY2ggZGVtIFNjaGVtYSBKYWhyZXN6YWhsLCBNb25hdCwgVGFnIGRlbSBEYXR1bQogICBlbnRzcHJpY2h0LCBhbiB3ZWxjaGVtIGRpZSBiZXRyZWZmZW5kZSBWZXJzaW9uIGhlcmF1c2dlZ2ViZW4gd3VyZGUuCiAgIERpZSBEYXRlaSBXaW5lLTIwMDAwNjE0LnRhci5neiBpbiBlaW5lbSBkZXIgb2JlbiBhdWZnZWb8aHJ0ZW4KICAgVmVyemVpY2huaXNzZSBlbnRo5Gx0IGFsc28gZGllIFZlcnNpb24gdm9uIFdJTkUuIGRpZSBhbSAxNC4gSnVuaQogICAyMDAwIGhlcmF1c2dlZ2ViZW4gd3VyZGUuIFByaW56aXBpZWxsIGlzdCBlcyB6dSBlbXBmZWhsZW4sIGRpZQogICBqZXdlaWxzIG5ldWVzdGUgVmVyc2lvbiB6dSB2ZXJ3ZW5kZW4uIE5hY2hkZW0gZGVyIFF1ZWxsY29kZQogICBoZXJ1bnRlcmdlbGFkZW4gd29yZGVuIGlzdCwga2FubiBlciBkdXJjaCBkaWUgRWluZ2FiZSBkZXMgZm9sZ2VuZGVuCiAgIEJlZmVobHMgaW0gYWt0dWVsbGVuIEFyYmVpdHN2ZXJ6ZWljaG5pcyBlbnRwYWNrdCB3ZXJkZW46CiAgIAogICB0YXIgLXh2emYgV2luZS0yMDAwMDYxNC50YXIuZ3oKICAgCiAgIERhYmVpIGlzdCBXaW5lLTIwMDAwNjE0LnRhci5neiBuYXT8cmxpY2ggZHVyY2ggZGVuIE5hbWVuIGRlcgogICBoZXJ1bnRlcmdlbGFkZW5lbiBEYXRlaSB6dSBlcnNldHplbi4gRGVyIFF1ZWxsY29kZSB3aXJkIGRhbm4gaW4gZWluCiAgIFVudGVydmVyemVpY2huaXMgZGVzIGFrdHVlbGxlbiBWZXJ6ZWljaG5pc3NlcyBlbnRwYWNrdCwgZGVzc2VuIE5hbWUKICAgc2ljaCBhdXMgZGVyIEJlemVpY2hudW5nIHdpbmUgdW5kLCBnZXRyZW5udCB2b24gZWluZW0gQmluZGVzdHJpY2gsCiAgIGRlbSBIZXJhdXNnYWJlZGF0dW0gZGVyIGJlbnV0enRlbiBWZXJzaW9uIHp1c2FtbWVuc2V0enQsIGFsc28KICAgYmVpc3BpZWxzd2Vpc2Ugd2luZS0yMDAwMDYxNC4gTm9ybWFsZXJ3ZWlzZSBlbXBmaWVobHQgZXMgc2ljaCwKICAgZGllc2VzIFZlcnplaWNobmlzIGluIHdpbmUgdW16dWJlbmVubmVuLCB3aWUgZXMgZHVyY2ggRWluZ2FiZSBkZXMKICAgZm9sZ2VuZGVuIEJlZmVobHMgZ2VzY2hlaGVuIGthbm46CiAgIAogICBtdiB3aW5lLTIwMDAwNjE0IHdpbmUKICAgCiAgNS4xIEFrdHVhbGlzaWVyZW4gZGVzIFF1ZWxsY29kZXMgbWl0IFBhdGNoZGF0ZWllbgogIAogICBOZWJlbiBkZW4ga29tcHJpbWllcnRlbiBUYXItQXJjaGl2ZW4sIHdlbGNoZSBkZW4gUXVlbGxjb2RlIHZvbiBXSU5FCiAgIGJlaW5oYWx0ZW4sIGJlZmluZGVuIHNpY2ggaW4gZGVuIGF1ZmdlZvxocnRlbiBWZXJ6ZWljaG5pc3NlbiBhdWNoCiAgIHNvIGdlbmFubnRlIFBhdGNoLURhdGVpZW4sIHdlbGNoZSBsZWRpZ2xpY2ggZGllIMRuZGVydW5nZW4KICAgZW50aGFsdGVuLCBkaWUgendpc2NoZW4gendlaSBBdXNnYWJlbiBhbiBXSU5FIHZvcmdlbm9tbWVuCiAgIHd1cmRlbi4gRGllc2UgRGF0ZWllbiBzaW5kIG5vcm1hbGVyd2Vpc2UgdmllbCBrbGVpbmVyIGFscyBkZXIKICAga29tcGxldHRlIFF1ZWxsY29kZSwgc28gZGFzcyBlcyBzaWNoIGVtcGZpZWhsdCwgc2llIHp1IHZlcndlbmRlbiwKICAgd2VubiBkYXMgUHJvZ3JhbW0gdm9uIGVpbmVyIFZlcnNpb24gYXVmIGRpZSBu5GNoc3RlIGFrdHVhbGlzaWVydAogICB3ZXJkZW4gc29sbC4gRmFsbHMgYXVmIGVpbmVtIFJlY2huZXIgYmVpc3BpZWxzd2Vpc2UgV2luZS0yMDAwMDYxNAogICBpbnN0YWxsaWVydCBpc3QgdW5kIGF1ZiBXSU5FLTIwMDAwNjE0IGFrdHVhbGlzaWVydCB3ZXJkZW4gc29sbCwgc28KICAgd+RyZSBkaWUgRGF0ZWkgV0lORS0yMDAwMDYxNC5kaWZmLmd6IGhlcnVudGVyenVsYWRlbi4gRGllIGluIGRlcgogICBEYXRlaSBiZXNjaHJpZWJlbiBWZXLkbmRlcnVuZ2VuIGv2bm5lbiBhdWYgZGVuIGluc3RhbGxpZXJ0ZW4KICAgUXVlbGxjb2RlIGFuZ2V3YW5kdCB3ZXJkZW4sIGluZGVtIHp1buRjaHN0IGluIGRhcyBCYXNpc3ZlcnplaWNobmlzCiAgIGRlcyBRdWVsbGNvZGVzIChhbHNvIGluIGRhcyBWZXJ6ZWljaG5pcyB3aW5lLCB3ZWxjaGVzIGR1cmNoIGRpZQogICBvYmVuIGJlc2NocmllYmVuZW4gU2Nocml0dGUgZW50c3RhbmRlbiBpc3QpIGdld2VjaHNlbHQgd2lyZCB1bmQKICAgZGFubiBkYXMgUHJvZ3JhbW0gcGF0Y2ggd2llIGZvbGd0IGF1ZmdlcnVmZW4gd2lyZDoKICAgCiAgIGd1bnppcCAtYyAuLi9XaW5lLTIwMDAwNTI2LmRpZmYuZ3ogfCBwYXRjaCAtcDEKICAgCiAgIEhpZXIgd2lyZCBkYXZvbiBhdXNnZWdhbmdlbiwgZGFzcyBzaWNoIGRpZSBQYXRjaC1EYXRlaSBpbiBkZW0KICAgVmVyemVpY2huaXMgYmVmaW5kZXQsIHdlbGNoZXMgZGVtIFdJTkUtVmVyemVpY2huaXMgKHdpbmUpCiAgIPxiZXJnZW9yZG5ldCBpc3QgdW5kIGRlbiBOYW1lbiBXaW5lLTIwMDAwNTI2LmRpZmYuZ3ogdHLkZ3QuIERlcgogICBEYXRlaW5hbWUgaXN0IGVudHNwcmVjaGVuZCBhbnp1cGFzc2VuLCB3ZW5uIGVpbmUgRGF0ZWkgbWl0IGVpbmVtCiAgIGFuZGVyZW4gTmFtZW4gb2RlciBhdXMgZWluZW0gYW5kZXJlbiBWZXJ6ZWljaG5pcyBiZW51dHp0IHdpcmQuCiAgIAogIDUuMiBIZXJ1bnRlcmxhZGVuIHVuZCBBa3R1YWxpc2llcmVuIHZvbiBXSU5FIG1pdCBDVlMKICAKICAgQWx0ZXJuYXRpdiBrYW5uIGRlciBRdWVsbGNvZGUgdm9tIENWUy1TZXJ2ZXIgZGVzIFdJTkUtUHJvamVrdGVzCiAgIGluc3RhbGxpZXJ0IHdlcmRlbi4gRGVyIFZvcnRlaWwgZGllc2VzIFZlcmZhaHJlbnMgYmVzdGVodCBkYXJpbiwKICAgZGFzcyBlcyBqZWRlcnplaXQgdW5rb21wbGl6aWVydCBt9mdsaWNoIGlzdCwgZGVuIGVpZ2VuZW4gUXVlbGxjb2RlCiAgIGFuIGRlbiBFbnR3aWNrbHVuZ3NzdGFuZCBkZXMgUHJvamVrdHMgYW56dXBhc3NlbiBvaG5lIGRhc3MgYXVmIGVpbmUKICAgbmV1ZSBBdXNnYWJlIGRlcyBQcm9ncmFtbXMgZ2V3YXJ0ZXQgd2VyZGVuIG11c3MuIEb8ciBqZWRlbiwgZGVyCiAgIHBsYW50LCBzZWxic3QgYW4gZGVtIFByb2pla3QgbWl0enVhcmJlaXRlbiwgaXN0IGRpZSBWZXJ3ZW5kdW5nIHZvbgogICBDVlMgbm9ybWFsZXJ3ZWlzZSBlcmZvcmRlcmxpY2guIERhbWl0IENWUyBiZW51dHp0IHdlcmRlbiBrYW5uLCBtdXNzCiAgIGRhcyBQcm9ncmFtbSBjdnMgbmF0/HJsaWNoIGluc3RhbGxpZXJ0IHNlaW4uIFVudGVyIERlYmlhbiBpc3QgZXMgaW4KICAgZGVtIGdsZWljaG5hbWlnZW4gUGFrZXQgZW50aGFsdGVuLiBXZW5uIGRpZXMgc2ljaGVyZ2VzdGVsbHQgaXN0LAogICBrYW5uIGR1cmNoIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSBDVlNST09UIGVpbmdlc3RlbGx0IHdlcmRlbiwgdm9uIHdvCiAgIGRlciBRdWVsbGNvZGUgYmV6b2dlbiwgYnp3LiBha3R1YWxpc2llcnQgd2VyZGVuIHNvbGwuIEJlaQogICBWZXJ3ZW5kdW5nIGRlciBCYXNoIGthbm4gZGF6dSBkZXIgZm9sZ2VuZGUgQmVmZWhsIGVpbmdlZ2ViZW4KICAgd2VyZGVuOgogICAKICAgZXhwb3J0IENWU1JPT1Q9OnBzZXJ2ZXI6Y3ZzQGN2cy53aW5laHEuY29tOi9ob21lL3dpbmUKICAgCiAgIERhbmFjaCBrYW5uIG1hbiBzaWNoIGJlaSBkZW0gQ1ZTLVNlcnZlciBhbm1lbGRlbi4gSGllcnp1IGRpZW50CiAgIGRpZXNlciBCZWZlaGw6CiAgIAogICBjdnMgbG9naW4KICAgCiAgIERhcyBQcm9ncmFtbSBlcmZyYWd0IGRhbm4gZWluIFBhc3N3b3J0IGb8ciBkZW4gWnVncmlmZiBhdWYgZGVuCiAgIFNlcnZlci4gIEhpZXIgaXN0IGRhcyBQYXNzd29ydCBjdnMgenUgdmVyd2VuZGVuLiBOdW4ga2FubiBkZXIKICAgUXVlbGxjb2RlIHZvbSBTZXJ2ZXIgaGVydW50ZXJnZWxhZGVuIHdlcmRlbiwgaW5kZW0gZGVyIG7kY2hzdGUKICAgQmVmZWhsIGVpbmdlZ2ViZW4gd2lyZDoKICAgCiAgIGN2cyAteiAzIGNoZWNrb3V0IHdpbmUKICAgCiAgIEltIGFrdHVlbGxlbiBBcmJlaXRzdmVyemVpY2huaXMgd2lyZCBkYW5uIGVpbiBVbnRlcnZlcnplaWNobmlzIG1pdAogICBkZXIgQmV6ZWljaG51bmcgd2luZSBhbmdlbGVndC4gU29iYWxkIGRlciBCZWZlaGwgYWJnZXNjaGxvc3NlbiBpc3QsCiAgIGJlZmluZGVuIHNpY2ggaW4gZGllc2VtIFZlcnplaWNobmlzIGRlciBha3R1ZWxsZSBRdWVsbGNvZGUgZGVzCiAgIFByb2pla3RzIHVuZCBlaW5pZ2UgenVz5HR6bGljaGUgRGF0ZWllbiwgZGllIHZvbiBDVlMgYmVu9nRpZ3QKICAgd2VyZGVuLgogICAKICAgVW0gZGVuIFF1ZWxsY29kZSBhdWYgZGVuIG5ldWVzdGVuIFN0YW5kIHp1IGJyaW5nZW4sIGthbm4gZGllc2VyCiAgIEJlZmVobCBiZW51dHp0IHdlcmRlbjoKICAgCiAgIGN2cyAteiAzIHVwZGF0ZSAtUEFkIFdJTkUKICAgCiAgIEluZm9ybWF0aW9uZW4g/GJlciBkaWUgaGllciB2ZXJ3ZW5kZXRlbiBQYXJhbWV0ZXIgYmVpbSBBdWZydWYgdm9uCiAgIENWUyB1bmQg/GJlciB3ZWl0ZXJlIE32Z2xpY2hrZWl0ZW4gZGVzIFByb2dyYW1tcyBiZWZpbmRlbiBzaWNoCiAgIHUuYS4gaW4gZGVyIE1hbnVhbHNlaXRlIHp1IGN2cygxKSBzb3dpZSBhdWYgZGVyIENWUy1Ib21lcGFnZSwgZGllCiAgIHVudGVyIGh0dHA6Ly93d3cuc291cmNlZ2Vhci5jb20vQ1ZTIHp1IGVycmVpY2hlbiBpc3QuIFdlaXRlcmUgd2ljaHRpZ2UKICAgSGlud2Vpc2UgaW0gSGluYmxpY2sgYXVmIENWUyB1bmQgV0lORSBzaW5kIHVudGVyIGRlciBBZHJlc3NlCiAgIGh0dHA6Ly93d3cud2luZWhxLmNvbS9kZXYuc2h0bWwgdmVyZvxnYmFyLgogICAKNi4wIEtvbmZpZ3VyYXRpb24gdW5kINxiZXJzZXR6dW5nIGRlcyBRdWVsbGNvZGVzCgogICBWb3JhdXNnZXNldHp0LCBkZXIgUXVlbGxjb2RlIGJlZmluZGV0IHNpY2ggaW0gVW50ZXJ2ZXJ6ZWljaG5pcyB3aW5lCiAgIGRlcyBha3R1ZWxsZW4gQXJiZWl0c3ZlcnplaWNobmlzc2VzLCBpc3QgenVu5GNoc3QgaW4gZGllc2VzCiAgIFZlcnplaWNobmlzIHp1IHdlY2hzZWxuLCB1bSBhbGxlIHdlaXRlcmVuIFNjaHJpdHRlIGR1cmNoenVm/GhyZW46CiAgIAogICBjZCB3aW5lCiAgIAogICBEYW5uIGthbm4gZGFzIFNrcmlwdCBjb25maWd1cmUgYXVmZ2VydWZlbiB3ZXJkZW4uIERpZXNlcyBTa3JpcHQKICAgZvxocnQgZWluZSBSZWloZSB2b24gVGVzdHMgZHVyY2gsIGRpZSB1LmEuIHVudGVyc3VjaGVuLCBvYiBkYXMKICAgU3lzdGVtIGFsbGUgbm90d2VuZGlnZW4gRWlnZW5zY2hhZnRlbiBlcmb8bGx0IHVuZCBkaWUgYmVu9nRpZ3RlbgogICBFbnR3aWNrbGVyZGF0ZWllbiBpbnN0YWxsaWVydCBzaW5kLiBEYXJhdWZoaW4gZXJ6ZXVndCBlcyBkaWUKICAgRGF0ZWllbiwgZHVyY2ggd2VsY2hlIGRpZSDcYmVyc2V0enVuZyBkZXMgUXVlbGxjb2RlcyBnZXN0ZXVlcnQKICAgd2lyZC4gRGVtIFNrcmlwdCBr9m5uZW4gdmVyc2NoaWVkZW5lIFBhcmFtZXRlciD8YmVyZ2ViZW4gd2VyZGVuLAogICBtaXQgZGVuZW4gc2ljaCBiZWlzcGllbHN3ZWlzZSBiZXN0aW1tZW4gbORzc3QsIGRhc3MgaW4gZGVuIHp1CiAgIGVyemV1Z2VuZGVuIFByb2dyYW1tZW4gdW5kIEJpYmxpb3RoZWtlbiBrZWluZSBEZWJ1Zy1NaXR0ZWlsdW5nZW4KICAgZW50aGFsdGVuIHNlaW4gc29sbGVuLiBEaWUgdm9sbHN05G5kaWdlIExpc3RlIGRlciB2ZXJm/GdiYXJlbgogICBPcHRpb25lbiBm/HIgY29uZmlndXJlIHdpcmQgYW5nZXplaWd0LCB3ZW5uIGRhcyBTa3JpcHQgbWl0IGRlcgogICBPcHRpb24gLS1oZWxwIGF1ZmdlcnVmZW4gd2lyZC4gIE5vcm1hbGVyd2Vpc2UgcmVpY2h0IGVzIGF1cywgZGFzCiAgIFNrcmlwdCBmb2xnZW5kZXJtYd9lbiBhdWZ6dXJ1ZmVuOgogICAKICAgLi9jb25maWd1cmUKICAgCiAgIEZhbGxzIHdpY2h0aWdlIERhdGVpZW4gb2RlciBFaWdlbnNjaGFmdGVuIGRlcyBTeXN0ZW1zIHZvbiBjb25maWd1cmUKICAgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIGv2bm5lbiwgZXJmb2xndCB1bnRlciBVbXN05G5kZW4gZWluZSBXYXJuLQogICBvZGVyIEZlaGxlcm1lbGR1bmcuIFNvbGNoZSBGZWhsZXIgc29sbHRlbiBiZWhvYmVuIHdlcmRlbiwgYmV2b3IgbWl0CiAgIGRlciDcYmVyc2V0enVuZyBkZXMgUXVlbGxjb2RlcyBmb3J0Z2VmYWhyZW4gd2lyZC4KICAgCiAgIEltIG7kY2hzdGVuIFNjaHJpdHQgd2lyZCBkZXIgUXVlbGxjb2RlIPxiZXJzZXR6dC4gRGF6dSBzaW5kCiAgIGhpbnRlcmVpbmFuZGVyIGRpZSBmb2xnZW5kZW4gYmVpZGVuIEJlZmVobGUgenUgYmVudXR6ZW46CiAgIAogICBtYWtlIGRlcGVuZAogICAKICAgbWFrZQogICAKICAgQXVmIGRlciBQYXJ0aXRpb24sIGF1ZiB3ZWxjaGVyIHNpY2ggZGFzIFZlcnplaWNobmlzIG1pdCBkZW0KICAgUXVlbGxjb2RlIGJlZmluZGV0LCB3ZXJkZW4gZvxyIGRpZSBrb21wbGV0dGUg3GJlcnNldHp1bmcgenVyIFplaXQKICAgdW5nZWbkaHIgMjMwIE1CIFNwZWljaGVycGxhdHogYmVu9nRpZ3QuIERlciBncvbfdGUgVGVpbCBkaWVzZXMKICAgU3BlaWNoZXJwbGF0emVzIHdpcmQgZGFiZWkgdm9uIGRlbiBEZWJ1Zy1JbmZvcm1hdGlvbmVuIGluIGRlbgogICBPYmpla3RkYXRlaWVuLCBkaWUgYmVpbSDcYmVyc2V0emVuIGVyemV1Z3Qgd2VyZGVuLCBiZW72dGlndC4gRmFsbHMKICAgbmljaHQgYmVhYnNpY2h0aWd0IHdpcmQsIGlyZ2VuZHdlbGNoZSBGZWhsZXIgaW4gV0lORSB6dQogICB1bnRlcnN1Y2hlbiwga/ZubmVuIGRpZSBCaW7kcmRhdGVpZW4gYXVjaCBvaG5lIERlYnVnLUluZm9ybWF0aW9uZW4KICAgZXJ6ZXVndCB3ZXJkZW4sIGRhenUgaXN0IGRlciBsZXR6dGUgZGVyIGJlaWRlbiBvYmVuIGdlbmFubnRlbgogICBCZWZlaGxlIGR1cmNoIGRlbiBu5GNoc3RlbiBCZWZlaGwgenUgZXJzZXR6ZW4gKGb8ciBkaWUg3GJlcnNldHp1bmcKICAgd2VyZGVuIGRhbm4gbnVyIG5vY2ggdW5nZWbkaHIgODAgTUIgU3BlaWNoZXJwbGF0eiBiZW72dGlndCkuCiAgIAogICBtYWtlIENGTEFHUz0iLU8yIgogICAKICAgTnVuIGthbm4gV0lORSBhdWYgZGVtIFN5c3RlbSBpbnN0YWxsaWVydCB3ZXJkZW4uIEhpZXJ6dSBpc3QgbWl0IGRlbgogICBSZWNodGVuIGRlcyBBZG1pbmlzdHJhdG9ycyBkZXIgZm9sZ2VuZGUgQmVmZWhsIGVpbnp1Z2ViZW46CiAgIAogICBtYWtlIGluc3RhbGwKICAgCiAgIERhZHVyY2ggd2VyZGVuIGRpZSBhdXNm/GhyYmFyZW4gUHJvZ3JhbW1lIHZvbiBXSU5FIHN0YW5kYXJkbeTfaWcgaW4KICAgZGFzIFZlcnplaWNobmlzIC91c3IvbG9jYWwvYmluLCBkaWUgUHJvZ3JhbW1iaWJsaW90aGVrZW4gaW4gZGFzCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliLCBkaWUgTWFudWFsc2VpdGVuIHVudGVyaGFsYiBkZXMKICAgVmVyemVpY2huaXNzZXMgL3Vzci9sb2NhbC9tYW4gdW5kIGVpbmlnZSBIZWFkZXItRGF0ZWllbiBpbiBkYXMKICAgVmVyemVpY2huaXMgL3Vzci9sb2NhbC9pbmNsdWRlL3dpbmUgaW5zdGFsbGllcnQuIAoKICAgQWNodHVuZzoKICAgU3RhbmRhcmRt5N9pZyB3aXJkIGJlaSBlaW5pZ2VuIERpc3RyaWJ1dGlvbmVuICh6LkIuIGJlaSBEZWJpYW4KICAgR05VL0xpbnV4KSBpbiBkZW0gVmVyemVpY2huaXMgL3Vzci9sb2NhbC9saWIgbmljaHQgbmFjaAogICBQcm9ncmFtbWJpYmxpb3RoZWtlbiBnZXN1Y2h0LiBGYWxscyBiZWltIFN0YXJ0IHZvbiBXSU5FIGdlbWVsZGV0IHdpcmQsCiAgIGRhc3MgYmVzdGltbXRlIEJpYmxpb3RoZWtlbiBuaWNodCBnZWxhZGVuIHdlcmRlbiBr9m5uZW4sIHNvbGx0ZSBkZXIKICAgTmFtZSBkaWVzZXMgVmVyemVpY2huaXNzZXMgaW4gZGllIERhdGVpIC9ldGMvbGQuc28uY29uZiAoaW4gZWluZQogICBlaWdlbmUgWmVpbGUpIGVpbmdldHJhZ2VuIHVuZCBkYW5hY2ggZGFzIFByb2dyYW1tIGxkY29uZmlnIGF1ZmdlcnVmZW4KICAgd2VyZGVuLgogICAKNy4wIEtvbmZpZ3VyYXRpb24KCiAgIFdpZSB2aWVsZSBVTklYLVByb2dyYW1tZSBrYW5uIFdJTkUgZW50d2VkZXIg/GJlciBlaW5lIHN5c3RlbXdlaXQKICAgZ/xsdGlnZSBLb25maWd1cmF0aW9uc2RhdGVpIG9kZXIg/GJlciBlaW5lIGJlbnV0emVyc3BlemlmaXNjaGUKICAgRGF0ZWkgaW0gSGVpbWF0dmVyemVpY2huaXMgZGVzIGJldHJlZmZlbmRlbiBCZW51dHplcnMga29uZmlndXJpZXJ0CiAgIHdlcmRlbi4gIERpZSBiZW51dHplcnNwZXppZmlzY2hlIEtvbmZpZ3VyYXRpb25zZGF0ZWkgdHLkZ3QgZGVuCiAgIE5hbWVuIH4vLndpbmUvY29uZmlnLgogICAKICA3LjEgQXVmYmF1IGRlciBLb25maWd1cmF0aW9uc2RhdGVpICAgCgogICBEYXMgRm9ybWF0IG9yaWVudGllcnQgc2ljaCBhbiBkZW4gdm9uIFdpbmRvd3MgaGVyIGJla2FubnRlbiAqLmluaS1EYXRlaWVuLAogICBhbGxlcmRpbmdzIGxlaWNodCBhYmdl5G5kZXJ0IGltIFdpbmUtUmVnaXN0cnktRm9ybWF0LgogICBEaWUgRGF0ZWkgYmVzdGVodCBhdXMgZWluemVsbmVuIEJs9mNrZW4sIHdlbGNoZSBkdXJjaCBCZXplaWNobmVyCiAgIGVpbmdlbGVpdGV0IHdlcmRlbiwgZGllIGluIGVja2lnZW4gS2xhbW1lcm4gdW5kIGluIGVpbmVyIGVpZ2VuZW4KICAgWmVpbGUgc3RlaGVuLiBJbm5lcmhhbGIgZWluZXMgQmxvY2tlcyBiZWZpbmRlbiBzaWNoIFBhYXJlIHZvbiBWYXJpYWJsZW4KICAgdW5kIFdlcnRlbiwgZGllIGR1cmNoIGVpbiBHbGVpY2hoZWl0c3plaWNoZW4gbWl0ZWluYW5kZXIgdmVyYnVuZGVuIHNpbmQuCiAgIERpZXNlIFBhYXJlIHN0ZWhlbiBlYmVuZmFsbHMgamV3ZWlscyBpbiBlaW5lciBaZWlsZS4gS29tbWVudGFyZSB3ZXJkZW4KICAgaW4gZGVyIERhdGVpIGR1cmNoIGVpbiBTZW1pa29sb24gZWluZ2VsZWl0ZXQuIEF132VyZGVtIGT8cmZlbiBsZWVyZSBaZWlsZW4KICAgYmVudXR6dCB3ZXJkZW4sIHVtIGRpZSBEYXRlaSB6dSBzdHJ1a3R1cmllcmVuLiBFaW4gQmVpc3BpZWwgZvxyCiAgIGVpbmVuIHNvbGNoZW4gQmxvY2sgd+RyZSBhbHNvOgoKICAgW0RyaXZlIENdCiAgICJQYXRoIiA9ICIvaG9tZS9rYXJsIgogICAiVHlwZSIgPSAiaGQiCiAgICJMYWJlbCIgPSAiTGF1ZncuQyIKICAgIkZpbGVzeXN0ZW0iID0gIndpbjk1IgoKICAgQXXfZXJkZW0gaXN0IGVzIG32Z2xpY2gsIGlubmVyaGFsYiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQKICAgV2VydGVuIHZvbiBVbWdlYnVuZ3N2YXJpYWJsZW4genUgYXJiZWl0ZW4uIERhenUgaXN0IGFuIFN0ZWxsZSBlaW5lcwogICBXZXJ0ZXMgZGVyIE5hbWUgZGVyIHp1IHZlcndlbmRlbmRlbiBVbWdlYnVuZ3N2YXJpYWJsZW4gaW4KICAgZ2VzY2h3ZWlmdGVuIEtsYW1tZXJuIHVuZCBtaXQgZWluZW0gdm9yYW5nZXN0ZWxsdGVuIERvbGxhcnplaWNoZW4KICAgYW56dWdlYmVuLiBTb2xsIGJlaXNwaWVsc3dlaXNlIGRlciBWYXJpYWJsZW4gUGF0aCBhdXMgZGVtIG9iaWdlbgogICBCZWlzcGllbCBkZXIgV2VydCB6dWdlb3JkbmV0IHdlcmRlbiwgZGVuIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSBIT01FCiAgIHp1ciBaZWl0IGRlciBBdXNm/GhydW5nIHZvbiBXSU5FIGhhdCwgc28gd+RyZSBkaWUgZW50c3ByZWNoZW5kZQogICBaZWlsZSBmb2xnZW5kZXJtYd9lbiB6dSBzY2hyZWliZW46CgogICAiUGF0aCIgPSAiJHtIT01FfSIKCiAgIFZvbSBCYXNpc3ZlcnplaWNobmlzIGRlcyBXSU5FLVF1ZWxsY29kZXMgYXVzIGJlZmluZGV0IHNpY2ggaW4gZGVyIERhdGVpCiAgIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcgZWluIEJlaXNwaWVsIGFscyBWb3JsYWdlIGb8ciBkaWUgRXJzdGVsbHVuZwogICBlaW5lciBlaWdlbmVuIEtvbmZpZ3VyYXRpb25zZGF0ZWkuIERpZSBEYXRlaSBlbnRo5Gx0IGFsbGUgd2ljaHRpZ2VuIEJs9mNrZQogICB1bmQgVmFyaWFibGVuLCBzaWUgbXVzcyBqZWRvY2ggYW4gZGllIGVpZ2VuZSBLb25maWd1cmF0aW9uIGFuZ2VwYXNzdAogICB3ZXJkZW4sIGJldm9yIFdJTkUgZGFzIGVyc3RlIE1hbCBiZW51dHp0IHdpcmQuIEFuZ2Vub21tZW4sIGRhcwogICBCYXNpc3ZlcnplaWNobmlzIGRlcyBXSU5FLVF1ZWxsY29kZXMgdHLkZ3QgZGVuIE5hbWVuIHdpbmUgdW5kIGlzdAogICBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyBkZXMgZWlnZW5lbiBIZWltYXR2ZXJ6ZWljaG5pc3NlcywgZGFubiBrYW5uCiAgIGRpZXNlIFZvcmxhZ2UgZHVyY2ggZGVuIGZvbGdlbmRlbiBCZWZlaGwgYW4gZGVuIHJpY2h0aWdlbiBQbGF0egogICBrb3BpZXJ0IHdlcmRlbjoKICAgCiAgIGNwIH4vd2luZS9kb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnIH4vLndpbmUvY29uZmlnCiAgIAogICBEaWUgV2VydGUsIHdlbGNoZSBWYXJpYWJsZW4gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgenVnZXdpZXNlbgogICB3ZXJkZW4sIGxhc3NlbiBzaWNoIGluIGRyZWkgVHlwZW4gZWludGVpbGVuOiBaZWljaGVua2V0dGVuLCBaYWhsZW4KICAgdW5kIEJvb2xzY2hlIFdlcnRlLiBJbSBGYWxsIHZvbiBCb29sc2NoZW4gV2VydGVuIGzkc3N0IHNpY2gKICAgZW50d2VkZXIgdHJ1ZSBvZGVyIGZhbHNlLCAxIG9kZXIgMCBiZXppZWh1bmdzd2Vpc2UgeWVzIG9kZXIgbm8KICAgYW5nZWJlbi4gSW4gZGVuIGZvbGdlbmRlbiBCZWlzcGllbGVuIHdpcmQgZGllIHRydWUgLyBmYWxzZQogICAtU2NocmVpYndlaXNlIGJlbnV0enQuCiAgIAogIDcuMiBLb25maWd1cmF0aW9uIHZvbiBMYXVmd2Vya3NidWNoc3RhYmVuCiAgCiAgIFp3aXNjaGVuIFVOSVgvTGludXggYXVmIGRlciBlaW5lbiB1bmQgRE9TIGJ6dy4gV2luZG93cyBhdWYgZGVyCiAgIGFuZGVyZW4gU2VpdGUgZ2lidCBlcyBlaW5pZ2UgVW50ZXJzY2hpZWRlIGluIGRlciBBcnQsIHdpZQogICBEYXRlbnRy5GdlciB1bmQgRGF0ZWllbiBiZXplaWNobmV0IHdlcmRlbi4gVW50ZXIgVU5JWC9MaW51eCBnaWJ0IGVzCiAgIGVpbiBEYXRlaXN5c3RlbSBtaXQgZWluZW0gV3VyemVscHVua3QgKC8pLCBpbiBkYXMgdW50ZXJzY2hpZWRsaWNoZQogICBEYXRlbnRy5GdlciBkdXJjaCBlaW5lbiBzcGV6aWVsbGVuIEJlZmVobCAobW91bnQpIGVpbmdlYnVuZGVuCiAgIHdlcmRlbi4gQWxsZSBEYXRlaWVuIGF1ZiBlaW5nZWJ1bmRlbmVuIERhdGVudHLkZ2VybiBr9m5uZW4gZGVzd2VnZW4KICAgaW5uZXJoYWxiIGRpZXNlcyBEYXRlaXN5c3RlbXMgYW5nZXNwcm9jaGVuIHdlcmRlbi4gRE9TIHVuZCBXaW5kb3dzCiAgIHZlcndlbmRlbiBqZWRvY2ggZvxyIGplZGVuIGVya2FubnRlbiBEYXRlbnRy5GdlciBlaW4gZWlnZW5lcwogICBEYXRlaXN5c3RlbS4gVW0gZWluZSBiZXN0aW1tdGUgRGF0ZWkgZWluZGV1dGlnIHp1IGJlemVpY2huZW4sIGlzdAogICBlcyBiZWkgZGllc2VuIEJldHJpZWJzc3lzdGVtZW4gZGVzd2VnZW4gbm90d2VuZGlnLCBuZWJlbiBkZW0gUGZhZC0KICAgdW5kIERhdGVpbmFtZW4gZWluZW4gc28gZ2VuYW5udGVuIExhdWZ3ZXJrc2J1Y2hzdGFiZW4KICAgYW56dWdlYmVuLiDcYmxpY2hlcndlaXNlIGVudHNwcmljaHQgZGFiZWkgZGVyIExhdWZ3ZXJrc2J1Y2hzdGFiZSBBCiAgIGRlbSBlcnN0ZW4gRGlza2V0dGVubGF1ZndlcmsgdW5kIGRlciBCdWNoc3RhYmUgQyBkZXIgZXJzdGVuCiAgIEZlc3RwbGF0dGVucGFydGl0aW9uIGRlcyBTeXN0ZW1zLgogICAKICAgV2VpbCBQcm9ncmFtbWUsIGRpZSBm/HIgRE9TIG9kZXIgV2luZG93cyBnZXNjaHJpZWJlbiBzaW5kLAogICBMYXVmd2Vya3NidWNoc3RhYmVuIHZlcndlbmRlbiwgdW0gRGF0ZWllbiB6dSBiZXplaWNobmVuLCBtdXNzIFdJTkUKICAgZGllc2UgQnVjaHN0YWJlbiBhdWYgZGFzIFVOSVgtRGF0ZWlzeXN0ZW0gYWJiaWxkZW4uIERhcyBQcm9ibGVtIGlzdAogICBhdWYgZGllIGZvbGdlbmRlIEFydCBnZWz2c3Q6IEluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpICh+Ly53aW5lL2NvbmZpZykKICAgd2lyZCBqZWRlbSBMYXVmd2Vya3NidWNoc3RhYmVuIGVpbiBWZXJ6ZWljaG5pcyBpbSBVTklYLURhdGVpc3lzdGVtCiAgIHp1Z2VvcmRuZXQuIERpZXNlcyBWZXJ6ZWljaG5pcyBzdGVsbHQgZGFubiAoYXVzIFNpY2h0IGRlciBXaW5kb3dzLQogICBQcm9ncmFtbWUpIGRhcyBCYXNpc3ZlcnplaWNobmlzIGRlcyBlbnRzcHJlY2hlbmRlbiBMYXVmd2Vya3MgZGFyLgogICBJc3QgYWxzbyBiZWlzcGllbHN3ZWlzZSBkYXMgVmVyemVpY2huaXMgL3Zhci93aW5yb290IGRlbQogICBMYXVmd2Vya3NidWNoc3RhYmVuIEMgenVnZW9yZG5ldCB1bmQgd/xyZGUgZWluIFdpbmRvd3MtUHJvZ3JhbW0KICAgdW50ZXIgV0lORSB2ZXJzdWNoZW4sIGRpZSBEYXRlaSBDOlxEb2t1bWVudGVcZmluYW56YW10LmRvYyB6dSD2ZmZuZW4sCiAgIHNvIHf8cmRlIGluIFdpcmtsaWNoa2VpdCBkaWUgRGF0ZWkgL3Zhci93aW5yb290L0Rva3VtZW50ZS9maW5hbnphbXQuZG9jCiAgIGdl9mZmbmV0IHdlcmRlbiwgdm9yYXVzZ2VzZXR6dCwgZGllc2UgRGF0ZWkgZXhpc3RpZXJ0IHRhdHPkY2hsaWNoLgogICBEdXJjaCBkaWVzZW4gTWVjaGFuaXNtdXMga2FubiBhdWNoIGVycmVpY2h0IHdlcmRlbiwgZGFzcyB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuLCBkaWUgdW50ZXIgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbiwgbnVyIGF1ZiBlaW5lbiBUZWlsCiAgIGRlcyBVTklYLURhdGVpc3lzdGVtcyB6dWdlZ3JpZmZlbiB3ZXJkZW4ga2Fubi4KICAgCiAgIEVpbiB3ZWl0ZXJlciBVbnRlcnNjaGllZCB6d2lzY2hlbiBkZW4gRGF0ZWlzeXN0ZW1lbiB1bnRlciBET1MgdW5kCiAgIFdpbmRvd3MgYXVmIGRlciBlaW5lbiB1bmQgVU5JWC9MaW51eCBhdWYgZGVyIGFuZGVyZW4gU2VpdGUgYmVzdGVodAogICBpbiBkZXIgQmVy/GNrc2ljaHRpZ3VuZyB2b24gR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyBiZWkKICAgRGF0ZWluYW1lbi4gIFfkaHJlbmQgZXMgdW50ZXIgTGludXggZHVyY2hhdXMgbfZnbGljaCBpc3QsIGRhc3Mgc2ljaAogICBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBnbGVpY2h6ZWl0aWcgRGF0ZWllbiBtaXQgZGVuIE5hbWVuIGJyaWVmLnR4dCwKICAgQnJpZWYudHh0IHVuZCBicmllZi5UWFQgYmVmaW5kZW4sIGlzdCBkaWVzIHVudGVyIFdpbmRvd3MKICAgYXVzZ2VzY2hsb3NzZW4sIGhpZXIgd2lyZCBiZWlzcGllbHN3ZWlzZSBkaWUgRGF0ZWkgYnJpZWYudHh0CiAgIGdl9mZmbmV0LCBmYWxscyBkaWVzZSBleGlzdGllcnQsIGFiZXIgZWlnZW50bGljaCBkaWUgRGF0ZWkKICAgQnJpZWYudHh0IGFuZ2Vmb3JkZXJ0IHd1cmRlLiBEaWUgbWVpc3RlbiBQcm9ncmFtbWUsIGRpZSBm/HIgRE9TCiAgIG9kZXIgMTZCaXQtV2luZG93cyBnZXNjaHJpZWJlbiB3dXJkZW4sIGVyd2FydGVuIGRhcvxiZXJoaW5hdXMsIGRhc3MKICAgRGF0ZWluYW1lbiBhdXMgbmljaHQgbWVociBhbHMgYWNodCBaZWljaGVuIHp1evxnbGljaCBlaW5lciBkcmVpCiAgIFplaWNoZW4gbGFuZ2VuIEVyd2VpdGVydW5nIGJlc3RlaGVuLiBXSU5FIG11c3MgYXVzIGRpZXNlbiBHcvxuZGVuCiAgIGVudHNjaGVpZGVuLCB3ZWxjaGUgRGF0ZWkgdGF0c+RjaGxpY2ggZ2X2ZmZuZXQgd2lyZCwgd2VubiBlcwogICBhdWZncnVuZCB2b24gR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyB1bnRlcnNjaGllZGxpY2hlCiAgIE32Z2xpY2hrZWl0ZW4gZ2lidC4gQXXfZXJkZW0gbXVzcyBlcyBkaWUgRGF0ZWluYW1lbiBpbiBhY2h0IFplaWNoZW4KICAgbGFuZ2UgTmFtZW4g/GJlcnNldHplbiwgZmFsbHMgc2llIHZvbiAxNmJpdC1Qcm9ncmFtbWVuIGFiZ2VmcmFndAogICB3ZXJkZW4uCiAgIAogICBXZW5uIFdJTkUgbWl0IGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2VyZGVuCiAgIHNvbGwsIHNvbGx0ZSBkYXJhdWYgZ2VhY2h0ZXQgd2VyZGVuLCBkYXNzIGRpZSBMYXVmd2Vya3NidWNoc3RhYmVuCiAgIHVudGVyIFdpbmRvd3MgdW5kIFdJTkUg/GJlcmVpbnN0aW1tZW4uIEJlZmluZGV0IHNpY2ggZGllCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGFsc28gYmVpc3BpZWxzd2Vpc2UgYXVmIGRlciBQYXJ0aXRpb24KICAgL2Rldi9oZGExLCB3ZWxjaGUgdW50ZXIgV2luZG93cyD8YmVyIGRlbiBMYXVmd2Vya3NidWNoc3RhYmVuIEMKICAgYW5nZXNwcm9jaGVuIHdpcmQsIHNvIHNvbGx0ZSBkaWVzZSBQYXJ0aXRpb24gdW50ZXIgR05VL0xpbnV4IGluIGVpbgogICBiZWxpZWJpZ2VzIFZlcnplaWNobmlzIGVpbmdlYnVuZGVuIHdlcmRlbiB1bmQgZGllc2VzIFZlcnplaWNobmlzIGluCiAgIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHZvbiBXSU5FIHdpZWRlciBkZW0gTGF1ZndlcmtzYnVjaHN0YWJlbiBDCiAgIHp1Z2VvcmRuZXQgd2VyZGVuLCBkYSBlcyBzb25zdCBuYXR1ZXJsaWNoIHp1IEtvbmZsaWt0ZW4gbWl0IGRlcgogICB2b3JoYW5kZW5lbiBLb25maWd1cmF0aW9uIGJlcmVpdHMgaW5zdGFsbGllcnRlciBQcm9ncmFtbWUga29tbWVuIGthbm4uCiAgIAogICBFaW4gQmVpc3BpZWwgZvxyIGRpZSBadW9yZG51bmcgdm9uIFVOSVgtVmVyemVpY2huaXNzZW4gdW5kCiAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgd3VyZGUgd2VpdGVyIG9iZW4KICAgYmVyZWl0cyBnZWJyYWNodC4gRWluZSBzb2xjaGUgRGVmaW5pdGlvbiBiZXN0ZWh0IGF1cyBlaW5lbSBCbG9jaywKICAgZGVzc2VuIE5hbWUgc2ljaCBhdXMgZGVtIFNjaGz8c3NlbHdvcnQgRHJpdmUgdW5kIGRlbSBCdWNoc3RhYmVuIGRlcwogICBMYXVmd2Vya3MgenVzYW1tZW5zZXR6dCwgZvxyIGRhcyBkaWUgRGVmaW5pdGlvbiBnZWx0ZW4gc29sbC4gRWluCiAgIEJlaXNwaWVsIHfkcmUgYWxzbyBbRHJpdmUgQ10uIERhcmF1ZiBmb2xnZW4gdmVyc2NoaWVkZW5lIFZhcmlhYmxlbiwKICAgbWl0IGRlbmVuIGRpZSBFaWdlbnNjaGFmdGVuIGRlcyBMYXVmd2Vya2VzIGZlc3RnZWxlZ3Qgd2VyZGVuLiBEaWUKICAgd2ljaHRpZ3N0ZSBkaWVzZXIgVmFyaWFibGVuIGlzdCBQYXRoLiBIaWVybWl0IHdpcmQgYmVzdGltbXQsCiAgIHdlbGNoZW0gVU5JWC1WZXJ6ZWljaG5pcyBkYXMgTGF1ZndlcmsgZW50c3ByZWNoZW4gc29sbCAoQmVpc3BpZWxlOgogICAiUGF0aCIgPSAiL2hvbWUva2FybCIsICJQYXRoIiA9ICIke0hPTUV9IikuIERpZSB3ZWl0ZXJlbiBWYXJpYWJsZW4KICAgaGFiZW4gZGllIGZvbGdlbmRlIEJlZGV1dHVuZzoKICAgCiAgIFR5cGUKICAgICAgICAgIFdpbmRvd3Mga2FubiBBbndlbmR1bmdlbiBtaXR0ZWlsZW4sIHZvbiB3ZWxjaGVtIFR5cAogICAgICAgICAgKEZlc3RwbGF0dGUsIENEUk9NIHVzdy4pIGVpbiBiZXN0aW1tdGVyIERhdGVudHLkZ2VyIGlzdC4gTWl0CiAgICAgICAgICBkaWVzZXIgVmFyaWFibGVuIHdpcmQgV0lORSBtaXRnZXRlaWx0LCB3ZWxjaGVuIFR5cCBkYXMKICAgICAgICAgIGVudHNwcmVjaGVuZGUgTGF1ZndlcmsgaGFiZW4gc29sbC4gTfZnbGljaGUgV2VydGUgc2luZAogICAgICAgICAgZmxvcHB5IChEaXNrZXR0ZW5sYXVmd2VyayksIGhkIChGZXN0cGxhdHRlbnBhcnRpdGlvbiksIGNkcm9tCiAgICAgICAgICAoQ0RST00tTGF1ZndlcmspIHVuZCBuZXR3b3JrIChOZXR6d2Vya2xhdWZ3ZXJrKS4gSW0KICAgICAgICAgIGFsbGdlbWVpbmVuIGVtcGZpZWhsdCBlcyBzaWNoLCBoaWVyIGRlbiBUeXAgYW56dWdlYmVuLCBkZXIKICAgICAgICAgIGRlbSBVTklYLVZlcnplaWNobmlzLCB3ZWxjaGVzIGRlbSBMYXVmd2VyayB6dWdlb3JkbmV0IGlzdCwKICAgICAgICAgIGVudHNwcmljaHQuIEJlaXNwaWVsOiAiVHlwZSIgPSAiZmxvcHB5Ii4KICAgICAgICAgIAogICBMYWJlbAogICAgICAgICAgVW50ZXIgRE9TIHVuZCBXaW5kb3dzIGv2bm5lbiBMYXVmd2Vya2UgZWluZSBzbyBnZW5hbm50ZQogICAgICAgICAgRGF0ZW50cuRnZXJiZXplaWNobnVuZyBoYWJlbi4gRGllc2UgQmV6ZWljaG51bmcga2FubiB2b24KICAgICAgICAgIFdpbmRvd3MtQW53ZW5kdW5nZW4gYWJnZWZyYWd0IHdlcmRlbi4gTWl0IGRpZXNlciBWYXJpYWJsZQogICAgICAgICAga2FubiBhbmdlZ2ViZW4gd2VyZGVuLCB3ZWxjaGVuIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgV0lORQogICAgICAgICAgenVy/GNrbGllZmVybiBzb2xsLCBmYWxscyBlaW5lIEFud2VuZHVuZyBkaWVzZSBm/HIgZGFzCiAgICAgICAgICBMYXVmd2VyayBhYmZyYWd0LiBEaWUgRGF0ZW50cuRnZXJiZXplaWNobnVuZyBkYXJmIGF1cyBuaWNodAogICAgICAgICAgbWVociBhbHMgMTEgQnVjaHN0YWJlbiBiZXN0ZWhlbi4gQmVpc3BpZWw6ICJMYWJlbCIgPSAiUGxhdHRlMSIuCiAgICAgICAgICAKICAgU2VyaWFsCiAgICAgICAgICBKZWRlcyBMYXVmd2VyayBoYXQgdW50ZXIgV2luZG93cyBlaW5lIHNvIGdlbmFubnRlCiAgICAgICAgICBTZXJpZW5udW1tZXIsIGRpZSBlYmVuZmFsbHMgdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiBhYmdlZnJhZ3QKICAgICAgICAgIHdlcmRlbiBrYW5uLiBNaXQgZGllc2VyIFZhcmlhYmxlbiBs5HNzdCBzaWNoIGluIEZvcm0gZWluZQogICAgICAgICAgYWNodC1zdGVsbGlnZW4gaGV4YWRlemltYWxlbiBaYWhsIGFuZ2ViZW4sIHdlbGNoZQogICAgICAgICAgU2VyaWVubnVtbWVyIGluIHNvbGNoZW4gRuRsbGVuIHp1cvxja2dlbGllZmVydCB3ZXJkZW4KICAgICAgICAgIHNvbGwuIEJlaXNwaWVsOiAiU2VyaWFsIiA9ICIyM2Y3OGE2YiIuCiAgICAgICAgICAKICAgRmlsZXN5c3RlbQogICAgICAgICAgSGllcm1pdCB3aXJkIGJlc3RpbW10LCB3ZWxjaGUgRWlnZW5zY2hhZnRlbiBkYXMgZW11bGllcnRlCiAgICAgICAgICBEYXRlaXN5c3RlbSBhdWYgZGVtIGJldHJlZmZlbmRlbiBMYXVmd2VyayBoYWJlbiBzb2xsLiBFcwogICAgICAgICAgc2luZCBkaWUgZm9sZ2VuZGVuIFdlcnRlIG32Z2xpY2g6CiAgICAgICAgICAKICAgICAgICBtc2RvcwogICAgICAgICAgICAgICAgQXVmIGRlbSBMYXVmd2VyayBzaW5kIG51ciBEYXRlaW5hbWVuIG1pdCBlaW5lciBM5G5nZQogICAgICAgICAgICAgICAgdm9uIGFjaHQgWmVpY2hlbiB1bmQgZWluZXIgRXJ3ZWl0ZXJ1bmcsIGRpZSBhdXMgZHJlaQogICAgICAgICAgICAgICAgWmVpY2hlbiBiZXN0ZWh0LCB6dWdlbGFzc2VuLiBVbnRlcnNjaGllZGUgaW4gR3Jv3y0gdW5kCiAgICAgICAgICAgICAgICBLbGVpbnNjaHJlaWJ1bmcgd2VyZGVuIG5pY2h0CiAgICAgICAgICAgICAgICBiZXL8Y2tzaWNodGlndC4gQWx0ZXJuYXRpdiBm/HIgbXNkb3Mga/ZubmVuIGRpZQogICAgICAgICAgICAgICAgQmV6ZWljaG51bmdlbiBkb3Mgb2RlciBmYXQgZvxyIGRpZXNlbiBEYXRlaXN5c3RlbXR5cAogICAgICAgICAgICAgICAgYmVudXR6dCB3ZXJkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICB3aW45NQogICAgICAgICAgICAgICAgQXVmIGRlbSBMYXVmd2VyayBzaW5kIGxhbmdlIERhdGVpbmFtZW4genVnZWxhc3Nlbi4gRE9TCiAgICAgICAgICAgICAgICB1bmQgMTZiaXQtV2luZG93c3Byb2dyYW1tZSBr9m5uZW4gamVkb2NoIHdlaXRlcmhpbgogICAgICAgICAgICAgICAga3VyemUgRGF0ZWluYW1lbiBiZW51dHplbi4gVW50ZXJzY2hpZWRlIGluIEdyb98tIHVuZAogICAgICAgICAgICAgICAgS2xlaW5zY2hyZWlidW5nIHdlcmRlbiBuaWNodCBiZXL8Y2tzaWNodGlndC4gRGllcyBpc3QKICAgICAgICAgICAgICAgIGRpZSBlbXBmb2hsZW5lbiBFaW5zdGVsbHVuZyBm/HIgZmFzdCBhbGxlIEFud2VuZHVuZ2VuLgogICAgICAgICAgICAgICAgQWx0ZXJuYXRpdiBm/HIgd2luOTUga2FubiBkaWVzZXIgRGF0ZWlzeXN0ZW10eXAgYXVjaAogICAgICAgICAgICAgICAgYWxzIHZmYXQgYmV6ZWljaG5ldCB3ZXJkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICB1bml4CiAgICAgICAgICAgICAgICBEYXMgRGF0ZWlzeXN0ZW0gYXVmIGRlbSBMYXVmd2VyayB2ZXJo5Gx0IHNpY2gg5GhubGljaAogICAgICAgICAgICAgICAgd2llIGVpbiB0eXBpc2NoZXMgVU5JWC1EYXRlaXN5c3RlbSwgZC5oLiBEYXRlaW5hbWVuCiAgICAgICAgICAgICAgICBr9m5uZW4gZGllIG5vcm1hbGVyd2Vpc2UgZXJsYXVidGUgTORuZ2UgaGFiZW4gdW5kIGRpZQogICAgICAgICAgICAgICAgR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyBpc3QgYmVkZXV0c2FtLiBNaXQgZGllc2VyCiAgICAgICAgICAgICAgICBFaW5zdGVsbHVuZyBrb21tZW4gZGllIG1laXN0ZW4gV2luZG93cy1Qcm9ncmFtbWUgbmljaHQKICAgICAgICAgICAgICAgIHp1cmVjaHQuICBQcm9ibGVtZSB0cmV0ZW4gYmVpc3BpZWxzd2Vpc2UgZGFubiBhdWYsCiAgICAgICAgICAgICAgICB3ZW5uIGVpbiBXaW5kb3dzLVByb2dyYW1tIGVpbmUgRGF0ZWkgenVu5GNoc3QgdW50ZXIKICAgICAgICAgICAgICAgIGRlbSBOYW1lbiBEYXRlbiBzcGVpY2hlcnQgdW5kIGRhbm4gdW50ZXIgZGVtIE5hbWVuCiAgICAgICAgICAgICAgICBEQVRFTiB3aWVkZXIg9mZmbmVuIHdpbGwuCiAgICAgICAgICAgICAgICAKICAgICAgICAgIEFjaHR1bmc6IAoJICBFcyBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgbWl0IGRpZXNlciBFaW5zdGVsbHVuZyBuaWNodAoJICBhbmdlZ2ViZW4gd2lyZCwgd2VsY2hlIEVpZ2Vuc2NoYWZ0ZW4gZGFzIHp1Z3J1bmRlIGxpZWdlbmRlCgkgIFVOSVgtRGF0ZWlzeXN0ZW0gaGF0LCBzb25kZXJuIHdlbGNoZSBFaWdlbnNjaGFmdGVuIHZvbiBXSU5FCgkgIGb8ciBkYXMgZW50c3ByZWNoZW5kZSBMYXVmd2VyayBlbXVsaWVydCB3ZXJkZW4gc29sbGVuLiBFcwoJICBpc3QgYWxzbyBkdXJjaCBhdXMgbfZnbGljaCAodW5kIGluIGRlbiBtZWlzdGVuIEbkbGxlbgoJICBlcmZvcmRlcmxpY2gpIGb8ciBlaW4gTGF1ZndlcmssIGRhcyBzaWNoIGF1ZiBlaW5lbQoJICBVTklYLURhdGVpc3lzdGVtIGJlZmluZGV0LCBkaWUgRWluc3RlbGx1bmcgd2luOTUgenUKCSAgdmVyd2VuZGVuLiBGYWxscyBlcyBzaWNoIGJlaSBkZW0gRGF0ZW50cuRnZXIsIGF1ZiBkZW0gc2ljaAoJICBkYXMgZGVtIExhdWZ3ZXJrIHp1Z2VvcmRuZXRlIFZlcnplaWNobmlzIGJlZmluZGV0LAoJICBhbGxlcmRpbmdzIHVtIGVpbiBGQVQtRGF0ZWlzeXN0ZW0gaGFuZGVsdCwgd2VsY2hlcyBtaXQgZGVtCgkgIEZBVC1UcmVpYmVyIHZvbiBMaW51eCAodW5kIG5pY2h0LCB3aWUg/GJsaWNoLCBtaXQgZGVtCgkgIFZGQVQtVHJlaWJlcikgYmV0cmllYmVuIHdpcmQsIGRhbm4gbXVzcyBoaWVyIGRlcgoJICBEYXRlaXN5c3RlbXR5cCBtc2RvcyBiZW51dHp0IHdlcmRlbiwgd2VpbCBlcyBzb25zdCBwYXNzaWVyZW4KCSAga/ZubnRlLCBkYXNzIFdJTkUgdmVyc3VjaHQsIGF1ZiBkZW0gYmV0cmVmZmVuZGVuIERhdGVudHLkZ2VyCgkgIERhdGVpZW4gbWl0IGxhbmdlbiBOYW1lbiBhbnp1bGVnZW4sIHdhcyBkYW5uIHp1IGVpbmVtIEZlaGxlcgoJICBm/GhyZW4gd/xyZGUuIEJlaXNwaWVsOiAiRmlsZXN5c3RlbSIgPSAid2luOTUiLgogICAgICAgICAgCiAgIERldmljZQogICAgICAgICAgSW4gYmVzb25kZXJlbiBG5GxsZW4gaXN0IGVzIG5vdHdlbmRpZywgZGFzcyBkaWUKICAgICAgICAgIFdpbmRvd3MtUHJvZ3JhbW1lIGRpcmVrdCwgYWxzbyB1bnRlciBVbWdlaHVuZyBkZXMKICAgICAgICAgIERhdGVpc3lzdGVtcywgYXVmIGRlbiBEYXRlbnRy5GdlciBzY2hyZWliZW4gb2RlciB2b24gaWhtCiAgICAgICAgICBsZXNlbi4gRGFtaXQgZGllcyBhdWNoIG1pdCBXSU5FIG32Z2xpY2ggaXN0LCBrYW5uIGhpZXIgZGVyCiAgICAgICAgICBOYW1lIGRlciBHZXLkdGVkYXRlaSBhbmdlZ2ViZW4gd2VyZGVuLCB3ZWxjaGVyIGRlbgogICAgICAgICAgRGF0ZW50cuRnZXIgdW50ZXIgTGludXggcmVwcuRzZW50aWVydC4gRGllcyBpc3QgbnVyIGRhbm4KICAgICAgICAgIHNpbm52b2xsLCB3ZW5uIGRhcyBkZW0gYmV0cmVmZmVuZGVuIExhdWZ3ZXJrIHp1Z2VvcmRuZXRlCiAgICAgICAgICBWZXJ6ZWljaG5pcyBkZW0gTW91bnRwdW5rdCBkZXMgaGllciBhbmdlZ2ViZW5lbiBEYXRlbnRy5GdlcnMKICAgICAgICAgIGVudHNwcmljaHQuIERlciBkaXJla3RlIEdlcuR0ZXp1Z3JpZmYgc29sbHRlIG5vcm1hbGVyd2Vpc2UKICAgICAgICAgIG51ciBm/HIgc29sY2hlIERhdGVudHLkZ2VyIGdlc3RhdHRldCB3ZXJkZW4sIGRlcmVuIEluaGFsdAogICAgICAgICAgbmljaHQgYmVzb25kZXJzIGdlc2No/HR6dCB3ZXJkZW4gbXVzcyAodS5VLiBEaXNrZXR0ZW4pIG9kZXIKICAgICAgICAgIHZvbiBkZW5lbiBvaG5laGluIG51ciBnZWxlc2VuIHdlcmRlbiBrYW5uCiAgICAgICAgICAoei5CLiBDRFJPTXMpLiBEYW1pdCBhdWYgZGVuIERhdGVudHLkZ2VyIGdlc2NocmllYmVuIHdlcmRlbgogICAgICAgICAga2FubiwgaXN0IGVzIHp1c+R0emxpY2ggbmF0/HJsaWNoIG5vdHdlbmRpZywgZGFzcyBkaWUgUmVjaHRlCiAgICAgICAgICBhbiBkZXIgYmV0cmVmZmVuZGVuIEdlcuR0ZWRhdGVpIGF1c3JlaWNoZW5kIHNpbmQuICBCZWlzcGllbDoKICAgICAgICAgICJEZXZpY2UiID0gIi9kZXYvZmQwIi4KICAgICAgICAgIAogICBGYWlsUmVhZE9ubHkKCiAgICAgICAgICBFaW5lIFJlaWhlIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4g9mZmbmVuIERhdGVpZW4gcHJpbnppcGllbGwKICAgICAgICAgIHp1bSBMZXNlbiB1bmQgU2NocmVpYmVuLCBhdWNoIHdlbm4gYXVzIGRlbiBiZXRyZWZmZW5kZW4KICAgICAgICAgIERhdGVpZW4gbGVkaWdsaWNoIGdlbGVzZW4gd2VyZGVuIHNvbGwuIERpZXNlcyBWZXJoYWx0ZW4KICAgICAgICAgIGb8aHJ0IG5vcm1hbGVyd2Vpc2UgZGF6dSwgZGFzcyBEYXRlaWVuLCBpbiBkaWUgdm9uIFdJTkUKICAgICAgICAgIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiBkYXJmIG9kZXIgZGllIHNpY2ggYXVmIERhdGVudHLkZ2VybgogICAgICAgICAgYmVmaW5kZW4sIGF1ZiBkaWUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIGthbm4gKGV0d2EKICAgICAgICAgIENEUk9NcyksIG5pY2h0IGdl9mZmbmV0IHdlcmRlbiBr9m5uZW4uIEF1cyBkaWVzZW0gR3J1bmQKICAgICAgICAgIPZmZm5ldCBXSU5FIERhdGVpZW4gc3RhbmRhcmRt5N9pZyB6dW0gTGVzZW4sIGZhbGxzIGVpbmUKICAgICAgICAgIERhdGVpIG5pY2h0IHp1bSBMZXNlbiB1bmQgenVtIFNjaHJlaWJlbiBnZfZmZm5ldCB3ZXJkZW4KICAgICAgICAgIGtvbm50ZS4gV2VubiBkaWUgVmFyaWFibGUgRmFpbFJlYWRPbmx5IGF1ZiBkZW4gV2VydCB0cnVlCiAgICAgICAgICBnZXNldHp0IHdpcmQsIHZlcmjkbHQgc2ljaCBXSU5FIHNvIHdpZSB1bnRlciBVTklYIPxibGljaCB1bmQKICAgICAgICAgIGxpZWZlcnQgZWluZSBGZWhsZXJtZWxkdW5nIGFuIGRhcyBXaW5kb3dzLVByb2dyYW1tLCBmYWxscwogICAgICAgICAgZWluZSBEYXRlaSBuaWNodCB6dW0gU2NocmVpYmVuIGdl9mZmbmV0IHdlcmRlbiBrYW5uLiBJbiBkZXIKICAgICAgICAgIFJlZ2VsIGVtcGZpZWhsdCBlcyBzaWNoLCBoaWVyIGRpZSBTdGFuZGFyZGVpbnN0ZWxsdW5nIHp1CiAgICAgICAgICD8YmVybmVobWVuLiAgQmVpc3BpZWw6ICJGYWlsUmVhZE9ubHkiID0gInRydWUiLgogICAgICAgICAgCiAgIFJlYWRWb2xJbmZvCiAgICAgICAgICBXZW5uIGRlciBXZXJ0IGRpZXNlciBWYXJpYWJsZW4gYXVmIHRydWUgZ2VzZXR6dCBpc3QsCiAgICAgICAgICB2ZXJzdWNodCBXSU5FLCBkaWUgU2VyaWVubnVtbWVyIHVuZCBkaWUKICAgICAgICAgIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgZGVzIGJldHJlZmZlbmRlbiBMYXVmd2Vya3MgZGlyZWt0IHZvbgogICAgICAgICAgZGVtIERhdGVudHLkZ2VyIHp1IGxlc2VuLiAgRGF6dSBtdXNzIGRlbSBMYXVmd2VyayBlaW5lCiAgICAgICAgICBHZXLkdGVkYXRlaSB6dWdlb3JkbmV0IHNlaW4gKFZhcmlhYmxlIGRldmljZSkuIERpZXNlCiAgICAgICAgICBFaW5zdGVsbHVuZyBpc3Qgdm9yIGFsbGVtIGb8ciBzb2xjaGUgUHJvZ3JhbW1lIHNpbm52b2xsLCBkaWUKICAgICAgICAgIG51ciBkYW5uIGZ1bmt0aW9uaWVyZW4sIHdlbm4gc2ljaCBiZWlzcGllbHN3ZWlzZSBkaWUKICAgICAgICAgIHJpY2h0aWdlIENEUk9NIGltIExhdWZ3ZXJrIGJlZmluZGV0IHVuZCBkaWUgZGllcyBhbmhhbmQgZGVyCiAgICAgICAgICBTZXJpZW5udW1tZXIgb2RlciBkZXIgRGF0ZW50cuRnZXJiZXplaWNobnVuZwogICAgICAgICAgZmVzdHN0ZWxsZW4uIEJlaXNwaWVsOiAiUmVhZFZvbEluZm8iID0gInRydWUiCiAgICAgICAgICAKICA3LjMgQWxsZ2VtZWluZSBFaW5zdGVsbHVuZ2VuCiAgCiAgIEltIEFic2Nobml0dCBbd2luZV0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgd2VyZGVuIGRpZSB3aWNodGlnc3RlbgogICBhbGxnZW1laW5lbiBFaW5zdGVsbHVuZ2VuIHZvcmdlbm9tbWVuLiBJbSB3ZXNlbnRsaWNoZW4gaGFuZGVsdCBlcwogICBzaWNoIGRhYmVpIHVtIFZlcnplaWNobmlzYW5nYWJlbi4gRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIGRpZXNlCiAgIFZlcnplaWNobmlzYW5nYWJlbiBpbiBkZXIgdW50ZXIgRE9TIHVuZCBXaW5kb3dzIPxibGljaGVuIFdlaXNlIHp1CiAgIGVyZm9sZ2VuIGhhYmVuLiBELmguLCBqZWRlbSBWZXJ6ZWljaG5pcyBtdXNzIGVpbiBMYXVmd2Vya3NidWNoc3RhYmUKICAgdm9yYW5nZXN0ZWxsdCB3ZXJkZW4uIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gdW5kIFZlcnplaWNobmlzIHdlcmRlbgogICBkdXJjaCBlaW5lbiBEb3BwZWxwdW5rdCB2b25laW5hbmRlciBnZXRyZW5udCwgYXXfZXJkZW0gd2VyZGVuCiAgIGVpbnplbG5lIFZlcnplaWNobmlzc2UgbmljaHQgZHVyY2ggZWluZW4gbm9ybWFsZW4gU2NocuRnc3RyaWNoLAogICBzb25kZXJuIGR1cmNoIGVpbmVuIHVtZ2VrZWhydGVuIFNjaHLkZ3N0cmljaCAoQmFja3NsYXNoKQogICB2b25laW5hbmRlciBzZXBhcmllcnQuIERpZSBBbmdhYmVuIHdlcmRlbiBkdXJjaCBkaWUgaW0gdm9yaGVyaWdlbgogICBBYnNjaG5pdHQgYmVzY2hyaWViZW5lbiBadW9yZG51bmdlbiB2b24gTGF1ZndlcmtzYnVjaHN0YWJlbiBpbgogICBVTklYLURhdGVpbmFtZW4g/GJlcnNldHp0LgogICAKICAgV2luZG93cwogICAgICAgICAgVW50ZXIgV2luZG93cyBzcGllbHQgZGFzIFdpbmRvd3MtVmVyemVpY2huaXMgZWluZSBiZXNvbmRlcmUKICAgICAgICAgIFJvbGxlLiBQcm9ncmFtbWUgbGVnZW4gaGllciBvZnQgSW5pdGlhbGlzaWVydW5nc2RhdGVpZW4gYWIKICAgICAgICAgIHVuZCBJbnN0YWxsYXRpb25zcHJvZ3JhbW1lIGtvcGllcmVuIGdlbGVnZW50bGljaAogICAgICAgICAgdmVyc2NoaWVkZW5lIERhdGVpZW4gaW4gZGllc2VzIFZlcnplaWNobmlzLiBNaXQgZGVyCiAgICAgICAgICBWYXJpYWJsZW4gV2luZG93cyB3aXJkIGVpbmdlc3RlbGx0LCB3ZWxjaGVzIFZlcnplaWNobmlzIHZvbgogICAgICAgICAgZGVuIHVudGVyIFdJTkUgYXVzZ2Vm/GhydGVuIFByb2dyYW1tZW4gYWxzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzIGJlaGFuZGVsdCB3ZXJkZW4gc29sbC4gRGFzIGhpZXIKICAgICAgICAgIGFuZ2VnZWJlbmUgVmVyemVpY2huaXMgbXVzcyBleGlzdGllcmVuLCBiZXZvciBXSU5FIGRhcyBlcnN0ZQogICAgICAgICAgTWFsIGdlc3RhcnRldCB3aXJkLiBXZW5uIFdJTkUgZWluZSBiZXN0ZWhlbmRlCiAgICAgICAgICBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4gc29sbCwgbXVzcyBoaWVyIGRhcwogICAgICAgICAgVmVyemVpY2huaXMgYW5nZWdlYmVuIHdlcmRlbiwgaW4gZGVtIHNpY2ggZGllIEluc3RhbGxhdGlvbgogICAgICAgICAgYmVmaW5kZXQuIAoKICAgICAgICAgIEZhbGxzIFdJTkUgbWl0IGVpbmVyIGV4aXN0aWVyZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24KICAgICAgICAgIHZlcndlbmRldCB3ZXJkZW4gc29sbCB1bmQgZGllc2UgSW5zdGFsbGF0aW9uIHNpY2ggYXVmIGRlcgogICAgICAgICAgRmVzdHBsYXR0ZW5wYXJ0aXRpb24gYmVmaW5kZXQsIGRpZSB1bnRlciBXaW5kb3dzIGRlbgogICAgICAgICAgTGF1ZndlcmtzYnVjaHN0YWJlbiBDOiB0cuRndCB1bmQgdW50ZXIgTGludXggZHVyY2ggZGllCiAgICAgICAgICBHZXLkdGVkYXRlaSAvZGV2L2hkYTEgcmVwcuRzZW50aWVydCB3aXJkLCBzbyBr9m5udGUgZGllc2UKICAgICAgICAgIFBhcnRpdGlvbiBiZWlzcGllbHN3ZWlzZSB1bnRlciBMaW51eCBiZWlzcGllbHN3ZWlzZSBpbiBkYXMKICAgICAgICAgIFZlcnplaWNobmlzIC9XaW5kb3dzIGVpbmdlYnVuZGVuIHdlcmRlbi4gRGllc2VtIFZlcnplaWNobmlzCiAgICAgICAgICB35HJlIGRhbm4gaW0gQWJzY2huaXR0LCB3ZWxjaGVyIGRpZQogICAgICAgICAgTGF1ZndlcmtzYnVjaHN0YWJlbmtvbmZpZ3VyYXRpb24gZW50aORsdCBkZXIKICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZSBDOiB6dXp1b3JkbmVuOgogCiAgICAgICAgICBbRHJpdmUgQ10gCiAgICAgICAgICAiUGF0aCIgPSAiL1dpbmRvd3MiCiAgICAgICAgICAiVHlwZSIgPSAiaGQiCiAgICAgICAgICAiTGFiZWwiID0gIndpbmRvd3MiCiAgICAgICAgICAiRmlsZXN5c3RlbSIgPSAid2luOTUiCgogICAgICAgICAgV2VubiB3ZWl0ZXIgZGVyIE5hbWUgZGVzIFdpbmRvd3MtVmVyemVpY2huaXNzZXMgZGllc2VyCiAgICAgICAgICBJbnN0YWxsYXRpb24gd2luZG93cyBsYXV0ZXQgKHVudGVyIFdpbmRvd3MgYWxzbyBDOlx3aW5kb3dzCiAgICAgICAgICB1bmQgdW50ZXIgTGludXggL1dpbmRvd3Mvd2luZG93cyksIHNvIHfkcmUgaW0gQWJzY2huaXR0CiAgICAgICAgICBbd2luZV0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZm9sZ2VuZGUgQW5nYWJlIHZvcnp1bmVobWVuOgogICAgCiAgICAgICAgICAiV2luZG93cyIgPSAiQzpcXFdpbmRvd3MiCgogICAgICAgICAgU29sbCBXSU5FIGplZG9jaCBvaG5lIGV4aXN0aWVyZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbgogICAgICAgICAgYmVudXR6dCB3ZXJkZW4sIHNvIGthbm4gZWluIGJlbGllYmlnZXMgVmVyemVpY2huaXMgYWxzCiAgICAgICAgICBXdXJ6ZWx2ZXJ6ZWljaG5pcyBm/HIgZGFzIExhdWZ3ZXJrIGRpZW5lbiwgd2VsY2hlcyBkYXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXMgYmVpbmhhbHRldCwgYmVpc3BpZWxzd2Vpc2Uga/ZubnRlCiAgICAgICAgICBoaWVyZvxyIGRhcyBWZXJ6ZWljaG5pcyAvV2luZG93cyBhbmdlbGVndCB3ZXJkZW4uIEluIGRpZXNlbQogICAgICAgICAgVmVyemVpY2huaXMgbfxzc3RlIG51biBkYXMgV2luZG93cy1WZXJ6ZWljaG5pcyBlcnpldWd0CiAgICAgICAgICB3ZXJkZW4sIHdlbGNoZXMgZGFyYXVmaGluIHdpZSBvYmVuIGJlc2NocmllYmVuIGltIEFic2Nobml0dAogICAgICAgICAgW3dpbmVdIGFscyBXaW5kb3dzLVZlcnplaWNobmlzIGRla2xhcmllcnQgd2VyZGVuIG38c3N0ZS4KICAgICAgICAgIAogICBTeXN0ZW0KICAgICAgICAgIERhcyBTeXN0ZW0tVmVyemVpY2huaXMgaGF0IGVpbmUg5GhubGljaGUgQmVkZXV0dW5nIHdpZSBkYXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXMuIFVudGVyIFdpbmRvd3MgYmVmaW5kZW4gc2ljaCBpbiBkaWVzZW0KICAgICAgICAgIFZlcnplaWNobmlzIGltIHdlc2VudGxpY2hlbiBkaWUgUHJvZ3JhbW1iaWJsaW90aGVrZW4sIGVzIGlzdAogICAgICAgICAgbm9ybWFsZXJ3ZWlzZSBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyBkZXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXNzZXMuICBEaWVzZXMgVmVyemVpY2huaXMgbXVzcyBlYmVuZmFsbHMKICAgICAgICAgIGV4aXN0aWVyZW4sIGJldm9yIFdJTkUgZGFzIGVyc3RlIE1hbCBnZXN0YXJ0ZXQgd2lyZC4gQXVjaAogICAgICAgICAgaGllciBtdXNzIGRhcyBTeXN0ZW0tVmVyemVpY2huaXMgZGVyIGJlc3RlaGVuZGVuCiAgICAgICAgICBXaW5kb3dzLUluc3RhbGxhdGlvbiBhbmdlZ2ViZW4gd2VyZGVuLCBmYWxscyBlaW5lIHNvbGNoZQogICAgICAgICAgYmVudXR6dCB3ZXJkZW4gc29sbC4gVW50ZXIgV2luZG93cyA5NS85OCB0cuRndCBkaWVzZXMKICAgICAgICAgIFZlcnplaWNobmlzIG5vcm1hbGVyd2Vpc2UgZGVuIE5hbWVuIHN5c3RlbSB1bmQgdW50ZXIgV2luZG93cwogICAgICAgICAgTlQgZGVuIE5hbWVuIHN5c3RlbTMyLiBCZWlzcGllbDogIlN5c3RlbSIgPSAiQzpcXFdpbmRvd3NcXFN5c3RlbSIuCiAgICAgICAgICAKICAgVGVtcAogICAgICAgICAgRGFzIFRlbXAtVmVyemVpY2huaXMgd2lyZCB2b24gdmllbGVuIFdpbmRvd3MtUHJvZ3JhbW1lbiBkYXp1CiAgICAgICAgICBiZW51dHp0LCB0ZW1wb3LkcmUgRGF0ZWllbiBhYnp1bGVnZW4uIERhbWl0IGRpZXMgZ2VsaW5ndCwKICAgICAgICAgIG11c3MgaGllciBlaW4gVmVyemVpY2huaXMgYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlcyBzaWNoIGF1ZgogICAgICAgICAgZWluZW0gTGF1ZndlcmsgYmVmaW5kZXQsIGRhcyBlaW5lbSBVTklYLVZlcnplaWNobmlzCiAgICAgICAgICBlbnRzcHJpY2h0LCBpbiBkZW0gU2NocmVpYmJlcmVjaHRpZ3VuZyBiZXN0ZWh0LiBCZWlzcGllbDoKICAgICAgICAgICJUZW1wIiA9ICJEOlxcdG1wIi4KICAgICAgICAgIAogICBQYXRoCiAgICAgICAgICBEaWVzZSBWYXJpYWJsZSBoYXQgZGllIGdsZWljaGUgQmVkZXV0dW5nIHdpZSBkaWUKICAgICAgICAgIFVtZ2VidW5nc3ZhcmlhYmxlIFBBVEggdW50ZXIgVU5JWC4gSWhyIFdlcnQgYmVzdGVodCBhdXMKICAgICAgICAgIGVpbmVyIEtldHRlIGVpbnplbG5lciBWZXJ6ZWljaG5pc25hbWVuLCBkaWUgbmFjaCBlaW5lbQogICAgICAgICAgYXVzenVm/GhyZW5kZW4gUHJvZ3JhbW0gZHVyY2hzdWNodCB3aXJkLCB3ZW5uIGRlciBOYW1lIGVpbmVzCiAgICAgICAgICBzb2xjaGVuIFByb2dyYW1tcyBuaWNodCBtaXQgVmVyemVpY2huaXNuYW1lbiBhbmdlZ2ViZW4KICAgICAgICAgIHd1cmRlLiBFcyBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgZGllIGVpbnplbG5lbiBFbGVtZW50ZSBkaWVzZQogICAgICAgICAgVmFyaWFibGUgdW50ZXIgV2luZG93cyBuaWNodCBkdXJjaCBlaW5lbiBEb3BwZWxwdW5rdCBzb25kZXJuCiAgICAgICAgICBkdXJjaCBlaW4gU2VtaWtvbG9uIHZvbmVpbmFuZGVyIGdldHJlbm50IHdlcmRlbiwgYXXfZXJkZW0KICAgICAgICAgIGVyd2FydGVuIHZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lLCBkYXNzIGRhcyBXaW5kb3dzLSB1bmQgZGFzCiAgICAgICAgICBTeXN0ZW0tVmVyemVpY2huaXMgaW4gZGllc2VyIFZhcmlhYmxlbiBlbnRoYWx0ZW4KICAgICAgICAgIHNpbmQuIEJlaXNwaWVsOgogICAgICAgICAgIlBhdGgiID0gIkM6XFxXaW5kb3dzO0M6XFxXaW5kb3dzXFxTeXN0ZW07RDpcXFdpbnN0dWZmIi4KICAgICAgICAgIAogICBQcm9maWxlCiAgICAgICAgICBEaWVzZSBWYXJpYWJsZSB3aXJkIHZvbiBXSU5FIGJlbnV0enQsIHVtIGRlbgogICAgICAgICAgYmVudXR6ZXJzcGV6aWZpc2NoZW4gVGVpbCBkZXIgU3lzdGVtcmVnaXN0cmF0dXIgZWluZXIKICAgICAgICAgIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1IGxhZGVuLiBGYWxscyBlcyBzaWNoIGJlaQogICAgICAgICAgZGVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiB1bSBXaW5kb3dzIDk1Lzk4IGhhbmRlbHQsIGRhcwogICAgICAgICAgbmljaHQgbWl0IG1laHJlcmVuIEJlbnV0emVybiBiZXRyaWViZW4gd2lyZCBvZGVyIG9obmUgZWluZQogICAgICAgICAgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiBnZWFyYmVpdGV0IHdlcmRlbiBzb2xsLAogICAgICAgICAgYnJhdWNodCBkaWUgVmFyaWFibGUgUHJvZmlsZSBuaWNodCBnZXNldHp0IHp1IHdlcmRlbi4gV2VubgogICAgICAgICAgamVkb2NoIGVpbmUgV2luZG93cyBOVC0gb2RlciBlaW5lIFdpbmRvd3MgOTUvOTgtSW5zdGFsbGF0aW9uCiAgICAgICAgICBtaXQgbWVocmVyZW4gQmVudXR6ZXJuIGVpbmdlc2V0enQgd2lyZCwgbXVzcyBoaWVyIGFuZ2VnZWJlbgogICAgICAgICAgd2VyZGVuLCBhdXMgd2VsY2hlbSBWZXJ6ZWljaG5pcyBXSU5FIGRpZSBiZW51dHplcnNwZXppZmlzY2hlCiAgICAgICAgICBSZWdpc3RyYXRpb25zZGF0ZW4gbGFkZW4gc29sbC4gRGllc2UgVmVyemVpY2huaXNzZSBiZWZpbmRlbgogICAgICAgICAgc2ljaCBub3JtYWxlcndlaXNlIGltIFVudGVydmVyemVpY2huaXMgUHJvZmlsZXMgZGVzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzIHVuZCB0cmFnZW4gZGVuIE5hbWVuIGRlcyBCZW51dHplcnMsCiAgICAgICAgICBkZXNzZW4gS29uZmlndXJhdGlvbnNkYXRlbiBzaWUgYmVoZXJiZXJnZW4uIEJlaXNwaWVsOgogICAgICAgICAgIlByb2ZpbGUiID0gIkM6XFxXaW5kb3dzXFxQcm9maWxlc1xcUGV0ZXIiLgogICAgICAgICAgCiAgIEdyYXBoaWNzRHJpdmVyCiAgICAgICAgICBXSU5FIGthbm4gdW50ZXJzY2hpZWRsaWNoZSBUcmVpYmVyIGb8ciBkaWUgZ3JhcGhpc2NoZQogICAgICAgICAgQXVzZ2FiZSB2ZXJ3ZW5kZW4uIFdlbGNoZXIgVHJlaWJlciB6dSB2ZXJ3ZW5kZW4gaXN0LCB3aXJkCiAgICAgICAgICBtaXQgZGllc2VyIFZhcmlhYmxlbiBmZXN0Z2VsZWd0LiBadXIgWmVpdCBzdGVoZW4gendlaQogICAgICAgICAgVHJlaWJlciB6dXIgVmVyZvxndW5nLCBu5G1saWNoIHgxMWRydiBm/HIgZGllIFZlcndlbmR1bmcgZGVzCiAgICAgICAgICBYIFdpbmRvdyBTeXN0ZW1zIHVuZCB0dHlkcnYgZvxyIGRpZSBWZXJ3ZW5kdW5nIHZvbiBXSU5FIGFuCiAgICAgICAgICBkZXIgS29uc29sZS4gIERlciBUcmVpYmVyIHR0eWRydiBpc3QgenVyIFplaXQgbmljaHQgdm9sbAogICAgICAgICAgZnVua3Rpb25zZuRoaWcsIHdlc3dlZ2VuIHNpY2ggaGllciBudXIgZGllIFZlcndlbmR1bmcgZGVzCiAgICAgICAgICBUcmVpYmVycyB4MTFkcnYgZW1wZmllaGx0LCBkaWVzIGlzdCBhdWNoIGRpZQogICAgICAgICAgU3RhbmRhcmRlaW5zdGVsbHVuZywgd2VubiBkaWUgVmFyaWFibGUgbmljaHQgZ2VzZXR6dAogICAgICAgICAgd2lyZC4gQmVpc3BpZWw6ICJHcmFwaGljc0RyaXZlciIgPSAieDExZHJ2Ii4KICAgICAgICAgIAogIDcuNCBLb25maWd1cmF0aW9uIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gQmlibGlvdGhla2VuCiAgCiAgIFdpZSBVTklYL0xpbnV4LVByb2dyYW1tZSBiZXN0ZWhlbiBXaW5kb3dzLVByb2dyYW1tZSBpbiBkZXIgUmVnZWwKICAgYXVzIGRlciBlaWdlbnRsaWNoZW4gUHJvZ3JhbW1kYXRlaSB1bmQgZWluZXIgUmVpaGUgdm9uCiAgIFByb2dyYW1tYmlibGlvdGhla2VuLCBkaWUgYmVpbSBMYWRlbiBkZXMgUHJvZ3JhbW1zIG9kZXIgc3DkdGVyIG1pdAogICBkZW0gUHJvZ3JhbW0gdmVyYnVuZGVuIHdlcmRlbi4gRWluZSBSZWloZSBkZXIgUHJvZ3JhbW1iaWJsaW90aGVrZW4KICAgdW50ZXIgV2luZG93cyBzdGVsbHQgZGFiZWkgZ2xlaWNoemVpdGlnIGRpZSBTY2huaXR0c3RlbGxlIHp1bQogICBCZXRyaWVic3N5c3RlbSBkYXIuIE5lYmVuIGRlbSBlaWdlbnRsaWNoZW4gV2luZG93cy1Qcm9ncmFtbSB3ZXJkZW4KICAgYWxzbyBkaWUgQmlibGlvdGhla2VuIGJlbvZ0aWd0LCB1bSBkYXMgUHJvZ3JhbW0gYXVzZvxocmVuIHp1CiAgIGv2bm5lbi4KICAgCiAgIFdJTkUgc3RlbGx0IGVpbmUgZ3Jv32UgQW56YWhsIGRlciBub3JtYWxlcndlaXNlIHVudGVyIFdpbmRvd3MKICAgdmVyZvxnYmFyZW4gQmlibGlvdGhla2VuIHp1ciBWZXJm/Gd1bmcuIERpZXNlIEJpYmxpb3RoZWtlbiBsaWVnZW4KICAgZW50d2VkZXIgaW4gRm9ybSBlaWdlbmVyIERhdGVpZW4gdm9yLCB3ZWxjaGUgc2ljaCBzdGFuZGFyZG3k32lnIGltCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliIGJlZmluZGVuLCBvZGVyIHNpZSBzaW5kIGRpcmVrdCBpbiBkZXIKICAgUHJvZ3JhbW1kYXRlaSB3aW5lIGVudGhhbHRlbi4gV0lORSBpc3QgamVkb2NoIGF1Y2ggaW4gZGVyIExhZ2UsIGRpZQogICBub3JtYWxlbiBXaW5kb3dzLUJpYmxpb3RoZWtlbiB6dSB2ZXJ3ZW5kZW47IGRpZXMgaXN0IGJlaXNwaWVsc3dlaXNlCiAgIGRhbm4gbm90d2VuZGlnLCB3ZW5uIHZvbiBlaW5lbSBQcm9ncmFtbSBlaW5lIEJpYmxpb3RoZWsgYmVu9nRpZ3QKICAgd2lyZCwgYmVpIGRlciBlcyBzaWNoIG5pY2h0IHVtIGVpbmUgc3RhbmRhcmRt5N9pZ2UgV2luZG93cy1CaWJsaW90aGVrCiAgIGhhbmRlbHQsIHNvbmRlcm4gdW0gZWluZSwgZGllIGRlbSBTeXN0ZW0gd+RocmVuZCBkZXIgSW5zdGFsbGF0aW9uCiAgIGRlcyBiZXRyZWZmZW5kZW4gUHJvZ3JhbW1zIGhpbnp1Z2Vm/Gd0IHdvcmRlbiBpc3QuIFNvbGNoZSBCaWJsaW90aGVrZW4KICAgd2VyZGVuIG5vcm1hbGVyd2Vpc2UgbmljaHQgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdC4KICAgCiAgIEZhbGxzIFdJTkUgbWl0IGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2lyZCwKICAgYmlldGV0IGVzIHNpY2ggdS5VLiBhbiwgaW4gZWluaWdlbiBG5GxsZW4gYW4gU3RlbGxlIGRlciB2b24gV0lORQogICB6dXIgVmVyZvxndW5nIGdlc3RlbGx0ZW4gQmlibGlvdGhla2VuIGRpZSBCaWJsaW90aGVrZW4gZGVyCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1IHZlcndlbmRlbi4gRGllc2Ugc2luZCBpbiB2aWVsZW4gRuRsbGVuCiAgIHZvbGxzdORuZGlnZXIgdW5kIGv2bm5lbiBkZW0gYXVzenVm/GhyZW5kZW4gUHJvZ3JhbW0gZGVzd2VnZW4gZWhlcgogICBkaWUgZXJ3YXJ0ZXRlIEZ1bmt0aW9uYWxpdOR0IHp1ciBWZXJm/Gd1bmcgc3RlbGxlbi4gRGFiZWkgaXN0CiAgIGplZG9jaCB6dSBiZWFjaHRlbiwgZGFzcyBkaWVzIG51ciBtaXQgc29sY2hlbiBCaWJsaW90aGVrZW4gbfZnbGljaAogICBpc3QsIGRpZSBrZWluZSBCZXRyaWVic3N5c3RlbWZ1bmt0aW9uZW4gYmVpbmhhbHRlbi4gQmlibGlvdGhla2VuLAogICBkaWUgbGVkaWdsaWNoIGVpbmZhY2hlbiBQcm9ncmFtbWNvZGUsIHdpZSBiZWlzcGllbHN3ZWlzZSBkZW4gZvxyCiAgIGjkdWZpZyBiZW72dGlndGUgRGlhbG9nZSwgYmVpbmhhbHRlbiwga/ZubmVuIGhpbmdlZ2VuIHByb2JsZW1sb3MKICAgYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2VyZGVuLgogICAKICAgRGllIG1laXN0ZW4gQmlibGlvdGhla2VuIHN0ZWhlbiB1bnRlciBXaW5kb3dzICg5NS85OCkgaW4gendlaQogICB2ZXJzY2hpZWRlbmVuIFZlcnNpb25lbiB6dXIgVmVyZvxndW5nLCBlaW5lciAzMkJpdC1WZXJzaW9uLCBkaWUgdm9uCiAgIDMyQml0LVByb2dyYW1tZW4gZ2VsYWRlbiB3ZXJkZW4ga2FubiB1bmQgZWluZXIgMTZCaXQtVmVyc2lvbiwgZGllCiAgIHZvbiAxNkJpdC1Qcm9ncmFtbWVuIGJlbnV0enQgd2VyZGVuIGthbm4uIEJlaWRlIFZlcnNpb25lbiBiZW51dHplbgogICBpbiBkZXIgUmVnZWwgUHJvZ3JhbW1jb2RlIGF1cyBkZXIgamV3ZWlscyB6dWdlaPZyaWdlbiBhbmRlcmVuCiAgIFZlcnNpb24gKFVudGVyIFdpbmRvd3MgOTUvOTggYmVmaW5kZXQgc2ljaCBkaWUgZWlnZW50bGljaGUKICAgRnVua3Rpb25hbGl05HQgbWVpc3QgaW4gZGVuIDE2Qml0LUJpYmxpb3RoZWtlbiwgZGllIHZvbiBkZW4KICAgMzJCaXQtVmVyc2lvbmVuIGdlbGFkZW4gdW5kIGF1ZmdlcnVmZW4gd2VyZGVuKS4gRGVzd2VnZW4gaXN0IGVzCiAgIGVyZm9yZGVybGljaCwgZGFzcyBpbW1lciBqZXdlaWxzIGJlaWRlIFZlcnNpb25lbiBlaW5lciBCaWJsaW90aGVrCiAgIGFscyBXaW5kb3dzLSBvZGVyIGFscyBXSU5FLUJpYmxpb3RoZWsgZ2VsYWRlbiB3ZXJkZW4sIGFuZGVyZQogICBFaW5zdGVsbHVuZ2VuIGb8aHJlbiBpbiBkZXIgUmVnZWwgZGlyZWt0IG5hY2ggZGVtIEF1ZnJ1ZiB2b24gV0lORQogICB6dSBGZWhsZXJuLiBEaWUgZm9sZ2VuZGUgVGFiZWxsZSB6ZWlndCwgd2VsY2hlIGRlciB3aWNodGlnc3RlbiAxNi0KICAgdW5kIDMyLUJpdCBCaWJsaW90aGVrZW4genVzYW1tZW4gZ2Vo9nJlbiB1bmQgZ2lidCBBdXNrdW5mdCBkYXL8YmVyLAogICBvYiBkaWVzZSBCaWJsaW90aGVrZW4gYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIGdlbGFkZW4gd2VyZGVuIGv2bm5lbiBvZGVyIHVuYmVkaW5ndCB2b24gV0lORSB6dXIgVmVyZvxndW5nCiAgIGdlc3RlbGx0IHdlcmRlbiBt/HNzZW4uIEVzIHdpcmQgamV3ZWlscyB6dW7kY2hzdCBkaWUgMTYtQml0IFZlcnNpb24KICAgdW5kIGRhbm4gZGllIDMyLUJpdCBWZXJzaW9uIGdlbmFubnQuCiAgIAogICBrcm5sMzg2IAogICBrZXJuZWwzMiAKICAgRGllc2UgQmlibGlvdGhlayBzdGVsbHQgZGllIFNjaG5pdHRzdGVsbGUgenUgZGVuIGdydW5kbGVnZW5kZW4KICAgRnVua3Rpb25lbiwgd2llIERhdGVpenVncmlmZiwgRWluLSB1bmQgQXVzZ2FiZSBvZGVyCiAgIFByb3plc3NzeW5jaHJvbmlzYXRpb24sIHZvbiBXaW5kb3dzLUJldHJpZWJzc3lzdGVtZW4genVyIFZlcmb8Z3VuZy4KICAgRGVzd2VnZW4ga/ZubmVuIGhpZXIgbmljaHQgZGllIEJpYmxpb3RoZWtlbiBlaW5lcgogICBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdlcmRlbi4KCiAgIC0gCiAgIG50ZGxsIAogICBEaWVzZSBCaWJsaW90aGVrIGVudGjkbHQgZGllIFNjaG5pdHRzdGVsbGUgenUgZGVtIEJldHJpZWJzc3lzdGVtCiAgIFdpbmRvd3MgTlQuIEVzIG11c3MgZGVzd2VnZW4gZGllIFdJTkUtVmVyc2lvbiBiZW51dHp0IHdlcmRlbi4KCiAgIC0gCiAgIGFkdmFwaTMyIAogICBIaWVyIGJlZmluZGVuIHNpY2ggdS5hLiBGdW5rdGlvbmVuIHp1bSBadWdyaWZmIGF1ZiBkaWUKICAgV2luZG93cy1SZWdpc3RyYXR1ciBzb3dpZSBTaWNoZXJoZWl0c2Z1bmt0aW9uZW4gdW5kCiAgIGtyeXB0b2dyYXBoaXNjaGUgRnVua3Rpb25lbi4gSW4gZGVyIFJlZ2VsIGVtcGZpZWhsdCBlcyBzaWNoLCBXSU5FcwogICBWZXJzaW9uIGRpZXNlciBCaWJsaW90aGVrIHp1IHZlcndlbmRlbi4KCiAgIHdpbnNvY2sgCiAgIHdzb2NrMzIgCiAgIEhpZXIgYmVmaW5kZXQgc2ljaCBkaWUgSW50ZXJuZXQgUHJvdG9rb2xsIChJUCkgU2Nobml0dHN0ZWxsZSB2b24KICAgV2luZG93cy4gTWl0IFdJTkUgd2lyZCBkaWUgSVAtRnVua3Rpb25hbGl05HQgZGVzIEJldHJpZWJzc3lzdGVtcwogICAoTGludXgpIGJlbnV0enQsIHNvIGRhc3MgaGllciBkaWUgV0lORS1WZXJzaW9uZW4gZGllc2VyCiAgIEJpYmxpb3RoZWtlbiBiZW51dHp0IHdlcmRlbiBt/HNzZW4sIHdlbGNoZSBkaWUgSVAtQXVmcnVmZSB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuIGFuIExpbnV4IHdlaXRlcmxlaXRlbi4KCiAgIGdkaSAKICAgZ2RpMzIgCiAgIEdESSBzdGVodCBm/HIgR3JhcGhpY3MgRGV2aWNlIEludGVyZmFjZS4gRGllIEJpYmxpb3RoZWsgc3RlbGx0IGVpbmUKICAgZWluaGVpdGxpY2hlIFNjaG5pdHRzdGVsbGUgenVyIEJpbGRzY2hpcm1hdXNnYWJlIHVuZCB6dSBEcnVja2VybgogICBkYXIuIEF1Y2ggaGllciBt/HNzZW4gZGllIFdJTkUtVmVyc2lvbmVuIGJlbnV0enQgd2VyZGVuLiAgCgogICB1c2VyCiAgIHVzZXIzMiAKICAgVXNlciBzdGVsbHQgdS5hLiBGdW5rdGlvbmVuIHp1ciBGZW5zdGVydmVyd2FsdHVuZywgenUgTWVu/HMgb2RlcgogICB6dXIgQmVkaWVudW5nIGRlciBad2lzY2hlbmFibGFnZSBiZXJlaXQuIERpZSBXaW5kb3dzIDk1Lzk4CiAgIFZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuIGtvbm50ZW4gZnL8aGVyIHVudGVyIGJlc3RpbW10ZW4KICAgQmVkaW5ndW5nZW4gbWl0IFdJTkUgYmVudXR6dCB3ZXJkZW4uIERpZSBVU0VSLUJpYmxpb3RoZWtlbiB2b24KICAgV2luZG93cyBOVCBydWZlbiBpbiBkZXIgUmVnZWwgRnVua3Rpb25lbiBpbSBOVC1LZXJuZWwgYXVmIHVuZAogICBr9m5uZW4gZGVzd2VnZW4gbmljaHQgbWl0IFdJTkUgYmVudXR6dCB3ZXJkZW4uIEVzIGVtcGZpZWhsdCBzaWNoLAogICBkaWUgVXNlci1CaWJsaW90aGVrZW4gdm9uIFdJTkUgenUgdmVyd2VuZGVuLgoKICAgbHpleHBhbmQgCiAgIGx6MzIgCiAgIERpZXNlIGJlaWRlbiBCaWJsaW90aGVrZW4gc3RlbGxlbiBGdW5rdGlvbmVuIHp1bSBEZWtvbXByaW1pZXJlbgogICB2b24gTFotQXJjaGl2ZW4genVyIFZlcmb8Z3VuZy4gU29sY2hlIEZ1bmt0aW9uZW4gd2VyZGVuIGltCiAgIHdlc2VudGxpY2hlbiB2b24gSW5zdGFsbGF0aW9uc3Byb2dyYW1tZW4gYmVu9nRpZ3QuIERpZSB6dSBXaW5kb3dzCiAgIGdlaPZyZW5kZW4gVmVyc2lvbmVuIGRpZXNlciBCaWJsaW90aGVrZW4gYmVudXR6ZW4gZWluaWdlIEZ1bmt0aW9uZW4KICAgYXVzIGRlciBLZXJuZWwtQmlibGlvdGhlaywgZGllIGluIFdJTkUgenVyIFplaXQgbmljaHQgaW1wbGVtZW50aWVydAogICBzaW5kLiBFcyBt/HNzZW4gZGVzd2VnZW4gZGllIHZvbiBXSU5FIGJlcmVpdGdlc3RlbGx0ZW4gVmVyc2lvbmVuCiAgIGJlbnV0enQgd2VyZGVuLgoKICAgY29tbWN0cmwgCiAgIGNvbWN0bDMyIAogICBEaWVzZSBCaWJsaW90aGVrIChjb21tb24gY29udHJvbHMpIHN0ZWxsdCBGdW5rdGlvbmVuIHp1ciBFcnpldWd1bmcKICAgb2Z0IGJlbnV0enRlciBGZW5zdGVyZWxlbWVudGUsIHdpZSBXZXJremV1Z2xlaXN0ZW4gb2RlcgogICBTdGF0dXNhbnplaWdlbiwgenVyIFZlcmb8Z3VuZy4gRXMga/ZubmVuIHNvd29obCBkaWUgVmVyc2lvbiB2b24KICAgV0lORSBhbHMgYXVjaCBkaWUgV2luZG93cy1WZXJzaW9uIGRlciBCaWJsaW90aGVrIGJlbnV0enQgd2VyZGVuLgoKICAgY29tbWRsZyAKICAgY29tZGxnMzIgCiAgIEhpZXIgYmVmaW5kZW4gc2ljaCBrb21wbGV0dGUgRGlhbG9nZSwgZGllIG9mdCB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuIGJlbnV0enQgd2VyZGVuIChGYXJiYXVzd2FobCwgQXVzd2FobCBkZXIKICAgU2NocmlmdGFydCwgU3VjaGVuIHVuZCBFcnNldHplbiB1c3cuKS4gQXVjaCBoaWVyIGv2bm5lbiB3YWhsd2Vpc2UKICAgZGllIFdpbmRvd3MtIG9kZXIgV0lORS1WZXJzaW9uZW4gYmVudXR6dCB3ZXJkZW4uCgogICBzaGVsbCAKICAgc2hlbGwzMiAKICAgRGllIFNoZWxsLUJpYmxpb3RoZWsgYmVpbmhhbHRldCBkZW4gZ3L233RlbiBUZWlsIGRlcgogICBCZW51dHplcnNjaG5pdHRzdGVsbGVuIHZvbiBXaW5kb3dzLiBTaWUgd2lyZCB1bnRlciBXaW5kb3dzCiAgIGJlc29uZGVycyB2b20gRXhwbG9yZXIgKGRlbSBEYXRlaW1hbmFnZXIpIHVuZCB2aWVsZW4gYW5kZXJlbgogICBBbndlbmR1bmdlbiBiZW51dHp0LCBkaWUgRnVua3Rpb25lbiB3aWUgYmVpc3BpZWxzd2Vpc2UKICAgRHJhZy1hbmQtRHJvcCB1bnRlcnN0/HR6ZW4uICBQcmluemlwaWVsbCBrYW5uIHNvd29obCBkaWUgV2luZG93cy0KICAgYWxzIGF1Y2ggZGllIFdJTkUtVmVyc2lvbiBiZW51dHp0IHdlcmRlbi4KCiAgIC0gCiAgIGNydGRsbCAKICAgRGllcyBpc3QgZGllIHN0YW5kYXJkbeTfaWdlIEMtTGF1ZnplaXRiaWJsaW90aGVrIHZvbiBXaW5kb3dzLiBadXIKICAgWmVpdCBpc3QgZGllIFdpbmRvd3MtVmVyc2lvbiB2b2xsc3TkbmRpZ2VyLCB3ZXN3ZWdlbiBlaW5pZ2UKICAgUHJvZ3JhbW1lIG1pdCBkZXIgV0lORS1WZXJzaW9uIG5pY2h0IHJpY2h0aWcgZnVua3Rpb25pZXJlbi4KICAgCiAgIE5lYmVuIGRlbiBoaWVyIGdlbmFubnRlbiB3aWNodGlnc3RlbiBTeXN0ZW1iaWJsaW90aGVrZW4gc3RlbGx0IFdJTkUKICAgZWluZSBSZWloZSB3ZWl0ZXJlciBCaWJsaW90aGVrZW4genVyIFZlcmb8Z3VuZywgYmVpc3BpZWxzd2Vpc2UgenVyCiAgIFVudGVyc3T8dHp1bmcgdm9uIE11bHRpbWVkaWEtQW53ZW5kdW5nZW4uIEZhbGxzIGVpbmUKICAgV2luZG93cy1JbnN0YWxsYXRpb24genVyIFZlcmb8Z3VuZyBzdGVodCwgZW1wZmllaGx0IGVzIHNpY2ggaW4KICAgdmllbGVuIEbkbGxlbiwgYXVzenVwcm9iaWVyZW4sIG9iIGVpbiBQcm9ncmFtbSBiZXNzZXIgbWl0IGRlbgogICBXSU5FLVZlcnNpb25lbiBvZGVyIGRlbiBXaW5kb3dzLVZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuCiAgIGZ1bmt0aW9uaWVydC4gCgogICBJbiBkZXIgRGF0ZWkgfi8ud2luZS9jb25maWcgZ2lidCBlcyB6d2VpIEFic2Nobml0dGUsIG1pdCBkZW5lbgogICBiZXN0aW1tdCB3aXJkLCB3ZWxjaGUgQmlibGlvdGhla2VuIGF1cyBlaW5lciBXaW5kb3dzLUluc3RhbGxhdGlvbgogICBnZWxhZGVuIHdlcmRlbiBzb2xsZW4uIERhcvxiZXJoaW5hdXMga/ZubmVuIGRpZXNlIEVpbnN0ZWxsdW5nZW4KICAgYmVpbSBBdWZydWYgdm9uIFdJTkUgYW4gZGVyIEtvbW1hbmRvemVpbGUg/GJlcnNjaHJpZWJlbiB3ZXJkZW4uCiAgIEltIGFsbGdlbWVpbmVuIGVtcGZpZWhsdCBlcyBzaWNoLCBkaWUgRWluc3RlbGx1bmdlbiBpbiBkZXIKICAgQmVpc3BpZWx2ZXJzaW9uIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIChkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnKQogICB6dSD8YmVybmVobWVuIHVuZCBkaWVzZSBudXIgZGFubiB6dSB2ZXLkbmRlcm4sIGZhbGxzCiAgIGJlc3RpbW10ZSBQcm9ncmFtbWUgbWl0IGRlbiBWb3JlaW5zdGVsbHVuZ2VuIG5pY2h0IHJpY2h0aWcKICAgZnVua3Rpb25pZXJlbi4gRmFsbHMgZGllIEJpYmxpb3RoZWtlbiBlaW5lciBXaW5kb3dzLUluc3RhbGxhdGlvbgogICBiZW51dHp0IHdlcmRlbiBzb2xsZW4sIGlzdCBkYXJhdWYgenUgYWNodGVuLCBkYXNzIGRpZXNlIGF1Y2ggdm9uCiAgIFdJTkUgZ2VmdW5kZW4gd2VyZGVuIGv2bm5lbi4gRGllcyBzZXR6dCBpbiBkZXIgUmVnZWwgdm9yYXVzLCBkYXNzCiAgIG1pdCBkZW4gVmFyaWFibGVuIFdpbmRvd3MgdW5kIFN5c3RlbSBpbSBhbGxnZW1laW5lbiBUZWlsIGRlcgogICBLb25maWd1cmF0aW9uIGF1ZiBkYXMgV2luZG93cy0gYnp3LiBkYXMgU3lzdGVtdmVyemVpY2huaXMgZWluZXIKICAgZ/xsdGlnZW4gV2luZG93cy1JbnN0YWxsYXRpb24gZ2V6ZWlndCB3aXJkIHVuZCBkYXNzIGRpZXNlIGJlaWRlbgogICBWZXJ6ZWljaG5pc3NlIGltIFdlcnQgZGVyIFZhcmlhYmxlbiBQYXRoIGdlbmFubnQgd2VyZGVuLgogICAKICAgSW0gQWJzY2huaXR0IFtEbGxEZWZhdWx0c10ga/ZubmVuIGRpZSBmb2xnZW5kZW4gYmVpZGVuIEVpbnN0ZWxsdW5nZW4KICAgdm9yZ2Vub21tZW4gd2VyZGVuOgogICAKICAgRGVmYXVsdExvYWRPcmRlcgogICAgICAgICAgSGllcm1pdCB3aXJkIGJlc3RpbW10LCB3ZWxjaGUgUmVpaGVuZm9sZ2UgV0lORSBzdGFuZGFyZG3k32lnCiAgICAgICAgICBiZW51dHplbiBzb2xsLCB3ZW5uIHZlcnN1Y2h0IHdpcmQsIGVpbmUgQmlibGlvdGhlayB6dSBsYWRlbi4KICAgICAgICAgIERpZXNlIFJlaWhlbmZvbGdlIHdpcmQgZHVyY2ggZGllIGZvbGdlbmRlbiBTY2hs/HNzZWx39nJ0ZXIKICAgICAgICAgIGRlZmluaWVydDoKICAgICAgICAgIAogICAgICAgIG5hdGl2ZQogICAgICAgICAgICAgICAgRXMgc29sbCB2ZXJzdWNodCB3ZXJkZW4sIGRpZSBXaW5kb3dzLVZlcnNpb24gZGVyCiAgICAgICAgICAgICAgICBiZXRyZWZmZW5kZW4gQmlibGlvdGhlayB6dSBsYWRlbi4KICAgICAgICAgICAgICAgIAogICAgICAgIGJ1aWx0aW4KICAgICAgICAgICAgICAgIEVzIHNvbGwgdmVyc3VjaHQgd2VyZGVuLCBkaWUgV0lORS1WZXJzaW9uIGRlcgogICAgICAgICAgICAgICAgYmV0cmVmZmVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICBlbGZkbGwKICAgICAgICAgICAgICAgIEVsZmRsbHMgc2luZCBlaW5lIGJlc29uZGVyZSBGb3JtIHZvbgogICAgICAgICAgICAgICAgV2luZG93cy1CaWJsaW90aGVrZW4sIHdlbGNoZSB2b24gV0lORSB6dXIgVmVyZvxndW5nCiAgICAgICAgICAgICAgICBnZXN0ZWxsdCB3ZXJkZW4uIFNpZSBzaW5kIHVyc3By/G5nbGljaCBnZXBsYW50IHdvcmRlbiwKICAgICAgICAgICAgICAgIHVtIGRpZSBlaW5nZWJhdXRlbiBCaWJsaW90aGVrZW4gYWJ6dWz2c2VuLCBhbGxlcmRpbmdzCiAgICAgICAgICAgICAgICBoYWJlbiBkaWUgZWluZ2ViYXV0ZW4gQmlibGlvdGhla2VuIG1pdCBkZXIgWmVpdCB2aWVsZQogICAgICAgICAgICAgICAgZGVyIGb8ciBFbGZkbGxzIGdlcGxhbnRlbiBGdW5rdGlvbmVuIGJla29tbWVuLCBzbyBkYXNzCiAgICAgICAgICAgICAgICBkaWVzZSBGb3JtIHZvbiBCaWJsaW90aGVrZW4genVyIFplaXQga2VpbmUgYmVzb25kZXJlCiAgICAgICAgICAgICAgICBCZWRldXR1bmcgaGF0LgogICAgICAgICAgICAgICAgCiAgICAgICAgc28KICAgICAgICAgICAgICAgIEluIGVpbmlnZW4gRuRsbGVuIGdpYnQgZXMgdm9uIGVpbmVyIEJpYmxpb3RoZWsgTGludXgtCiAgICAgICAgICAgICAgICB1bmQgV2luZG93cy1WZXJzaW9uZW4sIGRpZSBzaWNoIHNvd29obCBoaW5zaWNodGxpY2gKICAgICAgICAgICAgICAgIGlocmVyIEZ1bmt0aW9uYWxpdOR0IGFscyBhdWNoIGhpbnNpY2h0bGljaCBkZXIKICAgICAgICAgICAgICAgIGF1ZnJ1ZmJhcmVuIEZ1bmt0aW9uZW4gaW4gZGVyIEJpYmxpb3RoZWsgbmljaHQKICAgICAgICAgICAgICAgIHVudGVyc2NoZWlkZW4uIEZhbGxzIGVpbiBXaW5kb3dzLVByb2dyYW1tIGRpZQogICAgICAgICAgICAgICAgV2luZG93cy1WZXJzaW9uIGVpbmVyIHNvbGNoZW4gQmlibGlvdGhlayBsYWRlbiB3aWxsLAogICAgICAgICAgICAgICAga2FubiBXSU5FIHZlcnN1Y2hlbiwgYW4gU3RlbGxlIGRlc3NlbiBkaWUgTGludXgtVmVyc2lvbgogICAgICAgICAgICAgICAgenUgbGFkZW4gdW5kIGRpZSBGdW5rdGlvbmVuIGRpZXNlciBWZXJzaW9uIGFuIFN0ZWxsZQogICAgICAgICAgICAgICAgZGVyIGluIGRlciBXaW5kb3dzLVZlcnNpb24gYXVmcnVmZW4uIE1pdCBkZW0KICAgICAgICAgICAgICAgIFNjaGz8c3NlbHdvcnQgc28ga2FubiBkaWVzZXMgVmVyaGFsdGVuIGhlcnZvcmdlcnVmZW4KICAgICAgICAgICAgICAgIHdlcmRlbi4KICAgICAgICAgICAgICAgIAogICAgICAgICAgRHVyY2ggZGllIFJlaWhlbmZvbGdlLCBtaXQgZGVyIGRpZXNlIFNjaGz8c3NlbHf2cnRlciBkZXIKICAgICAgICAgIFZhcmlhYmxlbiBEZWZhdWx0TG9hZE9yZGVyIHp1Z2VvcmRuZXQgd2VyZGVuLCB3aXJkCiAgICAgICAgICBmZXN0Z2VsZWd0LCBpbiB3ZWxjaGVyIFJlaWhlbmZvbGdlIFdJTkUgZGllIGVpbnplbG5lbgogICAgICAgICAgU3RyYXRlZ2llbiBiZW51dHp0LiAgV3VyZGUgYmVpc3BpZWxzd2Vpc2UgIkRlZmF1bHRMb2FkT3JkZXIiID0KICAgICAgICAgICJuYXRpdmUsIGJ1aWx0aW4sIHNvIiBhbmdlZ2ViZW4sIHNvIHZlcnN1Y2h0IFdJTkUsIHdlbm4gZWluZQogICAgICAgICAgQmlibGlvdGhlayBnZWxhZGVuIHdlcmRlbiBtdXNzLCB6dW7kY2hzdCBkaWUKICAgICAgICAgIFdpbmRvd3MtVmVyc2lvbiB6dSBsYWRlbi4gV2VubiBkaWVzIG5pY2h0IGZ1bmt0aW9uaWVydCAoaW4KICAgICAgICAgIGRlciBSZWdlbCwgd2VpbCBkaWUgQmlibGlvdGhlayBuaWNodCB2b3JoYW5kZW4gaXN0IG9kZXIKICAgICAgICAgIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiBrYW5uKSwgd2lyZCB2ZXJzdWNodCwgZGllIFdJTkUtVmVyc2lvbgogICAgICAgICAgZGVyIEJpYmxpb3RoZWsgenUgdmVyd2VuZGVuIHVuZCBmYWxscyBhdWNoIGVpbmUgc29sY2hlIG5pY2h0CiAgICAgICAgICB2b3JoYW5kZW4gaXN0LCB3aXJkIHZlcnN1Y2h0LCBkaXJla3QgZGllIFVOSVgtVmVyc2lvbiBkZXIKICAgICAgICAgIGVudHNwcmVjaGVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAKICAgSW0gQWJzY2huaXR0IFtEbGxPdmVycmlkZXNdIGzkc3N0IHNpY2ggZGFzIGltIHZvcmhlcmlnZW4gQWJzY2huaXR0CiAgIHNwZXppZml6aWVydGUgVmVyaGFsdGVuIGb8ciBlaW56ZWxuZSBCaWJsaW90aGVrZW4gd2llZGVyCiAgIPxiZXJzY2hyZWliZW4uIFfkaHJlbmQgZXMgbuRtbGljaCBpbSBhbGxnZW1laW5lbiBlaW5lIGd1dGUKICAgU3RyYXRlZ2llIGlzdCwgenVu5GNoc3QgenUgdmVyc3VjaGVuLCBkaWUgV2luZG93cy1WZXJzaW9uZW4gdm9uCiAgIEJpYmxpb3RoZWtlbiB6dSBsYWRlbiwgZGFyZiBkaWVzICh3aWUgb2JlbiBiZXNjaHJpZWJlbikgYmVpCiAgIGJlc3RpbW10ZW4gQmlibGlvdGhla2VuIGF1ZiBrZWluZW4gRmFsbCBnZXNjaGVoZW4gdW5kIGVzIG38c3NlbiBpbgogICBqZWRlbSBGYWxsIGRpZSBXSU5FLVZlcnNpb25lbiBiZW51dHp0IHdlcmRlbi4gQWxzIFZhcmlhYmxlbiB3ZXJkZW4KICAgaW4gZGllc2VtIEFic2Nobml0dCBkaWUgQmlibGlvdGhla2VuIGdlbmFubnQsIGb8ciBkaWUgZWluZQogICBzcGV6aWVsbGUgUmVpaGVuZm9sZ2UgZ2VsdGVuIHNvbGwuIEhpbnRlciBkZW0gR2xlaWNoaGVpdHN6ZWljaGVuCiAgIHdpcmQgZGFubiBkaWUgZvxyIGRpZXNlIEJpYmxpb3RoZWtlbiBnZXf8bnNjaHRlIFJlaWhlbmZvbGdlIGluIGRlcgogICBnbGVpY2hlbiBGb3JtIGFuZ2VnZWJlbiwgd2llIGVzIGltIHZvcmhlcmlnZW4gQWJzY2huaXR0IGJlc2NocmllYmVuCiAgIGlzdC4gQmVpc3BpZWw6CgogICBbRGxsT3ZlcnJpZGVzXQogICAia3JubDM4Niwga2VybmVsMzIiID0gImJ1aWx0aW4iCiAgICJnZGksIGdkaTMyIiAgICAgICAgPSAiYnVpbHRpbiIKICAgInVzZXIsIHVzZXIzMiIgICAgICA9ICJidWlsdGluIgogICAic2hlbGwsc2hlbGwzMiIgICAgID0gIm5hdGl2ZSwgYnVpbHRpbiIKCgogIDcuNSBLb25maWd1cmF0aW9uIGRlcyBYMTEgR3JhcGhpa3RyZWliZXJzCiAgCiAgIERlciBYMTEgR3JhcGhpa3RyZWliZXIgc3RlbGx0IGRpZSBTY2huaXR0c3RlbGxlIHp3aXNjaGVuIGRlbgogICBHcmFwaGlrZnVua3Rpb25lbiBkZXIgV2luZG93cy1CZXRyaWVic3N5c3RlbWUgdW5kIGRlbSBYIFdpbmRvdwogICBTeXN0ZW0gZGFyLiBFciBlcm32Z2xpY2h0IGVzIGFsc28sIGRhc3MgV2luZG93cy1Qcm9ncmFtbWUgdW50ZXIKICAgV0lORSBkYXMgWCBXaW5kb3cgU3lzdGVtIORobmxpY2ggYmVudXR6ZW4ga/ZubmVuLCB3aWUgc2llIHVudGVyCiAgIGVjaHRlbSBXaW5kb3dzIGVpbmUgbm9ybWFsZSBHcmFwaGlra2FydGUgYmVudXR6ZW4uIERhcyBWZXJoYWx0ZW4KICAgZGVzIFRyZWliZXJzIHdpcmQgaW0gQWJzY2huaXR0IHgxMWRydiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICBlaW5nZXN0ZWxsdC4gRG9ydCBzdGVoZW4gZGllIGZvbGdlbmRlbiBWYXJpYWJsZW4genVyIFZlcmb8Z3VuZzoKICAgCiAgIFByaXZhdGVDb2xvck1hcAogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgdHJ1ZSBnZXNldHp0IGlzdCwgdmVyd2VuZGV0IFdJTkUKICAgICAgICAgIGVpbmUgZWlnZW5lIEZhcmJwYWxldHRlLiBCZWkgWC1TZXJ2ZXJuIGRpZSBtaXQgZWluZQogICAgICAgICAgRmFyYnRpZWZlbiB2b24gMjU2IEZhcmJlbiAoOGJwcCkgb2RlciB3ZW5pZ2VyIGJldHJpZWJlbgogICAgICAgICAgd2VyZGVuLCBoYXQgZGFzIHp1ciBGb2xnZSwgZGFzcyBhbmRlcmUgRmVuc3RlciB1LlUuIGluCiAgICAgICAgICBmYWxzY2hlbiBGYXJiZW4gZGFyZ2VzdGVsbHQgd2VyZGVuLCB3ZW5uIHp1IFdJTkUgZ2Vo9nJlbmRlCiAgICAgICAgICBGZW5zdGVyIGluIGRlbiBWb3JkZXJncnVuZCBnZXNjaGFsdGV0IHNpbmQuIERhZvxyIGthbm4gV0lORQogICAgICAgICAgamVkb2NoIEZhcmJlbiBiZXNzZXIgZGFyc3RlbGxlbiBhbHMgb2huZSBkaWVzZQogICAgICAgICAgRWluc3RlbGx1bmcuIEZhbGxzIGRlciBYIFNlcnZlciBtaXQgZWluZXIgRmFyYnRpZWZlIHZvbiBtZWhyCiAgICAgICAgICBhbHMgMjU2IEZhcmJlbiBiZXRyaWViZW4gd2lyZCwgaXN0IGRpZSBFaW5zdGVsbHVuZwogICAgICAgICAgd2lya3VuZ3Nsb3MuCiAgICAgICAgICAKICAgQWxsb2NTeXN0ZW1Db2xvcnMKICAgICAgICAgIFdlbm4gV0lORSBrZWluZSBlaWdlbmUgRmFyYnBhbGV0dGUgdmVyd2VuZGV0LCBrYW5uIGhpZXIKICAgICAgICAgIGFuZ2VnZWJlbiB3ZXJkZW4sIHdpZXZpZWxlIEZhcmJlbiB2b24gZGVyIHN5c3RlbXdlaXQKICAgICAgICAgIGdldGVpbHRlbiBQYWxldHRlIG1heGltYWwgdm9uIFdJTkUgYmVudXR6dCB3ZXJkZW4KICAgICAgICAgIGT8cmZlbi4gRGVyIGj2Y2hzdG32Z2xpY2hlIFdlcnQgaXN0IGhpZXIgMjU2LCB3ZWlsIGJlaQogICAgICAgICAgYmVzc2VyZW4gRmFyYnRpZWZlbiBrZWluZSBQYWxldHRlIGJlbnV0enQgd2lyZC4gQmVpc3BpZWw6CiAgICAgICAgICAiQWxsb2NTeXN0ZW1Db2xvcnMiID0gIjEwMCIuCiAgICAgICAgICAKICAgUGVyZmVjdEdyYXBoaWNzCiAgICAgICAgICBBbiBlaW5pZ2VuIFN0ZWxsZW4gaGF0IFdJTkUgZGllIE32Z2xpY2hrZWl0LAogICAgICAgICAgR3JhcGhpa29wZXJhdGlvbmVuIGVudHdlZGVyIHNvIGR1cmNoenVm/GhyZW4sIGRhc3Mgc2llCiAgICAgICAgICBiZXNvbmRlcnMgc2NobmVsbCBzaW5kIG9kZXIgc28sIGRhc3Mgc2llIGJlc29uZGVycyBrb3JyZWt0CiAgICAgICAgICBhdXNnZWb8aHJ0IHdlcmRlbi4gV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZQogICAgICAgICAgZ2VzZXR6dCB3aXJkLCB3aXJkIGRlciBHZW5hdWlna2VpdCBWb3J6dWcgZ2VnZWJlbi4gQmVpc3BpZWw6CiAgICAgICAgICAiUGVyZmVjdEdyYXBoaWNzIiA9ICJmYWxzZSIuCiAgICAgICAgICAKICAgVXNlREdBCiAgICAgICAgICBER0EgKERpcmVjdCBHcmFwaGljcyBBY2Nlc3MpIGlzdCBlaW5lIEVyd2VpdGVydW5nIHZvbgogICAgICAgICAgWEZyZWU4Niwgd2VsY2hlIGRlbiBkaXJla3RlbiBadWdyaWZmIGF1ZiBkZW4gU3BlaWNoZXIgZGVyCiAgICAgICAgICBHcmFwaGlra2FydGUgZXJt9mdsaWNodC4gRGFkdXJjaCBsYXNzZW4gc2ljaAogICAgICAgICAgR3JhcGhpa29wZXJhdGlvbmVuIHdlc2VudGxpY2ggc2NobmVsbGVyIGR1cmNoZvxocmVuIGFscwogICAgICAgICAgbm9ybWFsZXJ3ZWlzZS4gRGllIERpcmVjdERyYXctQmlibGlvdGhlayAoRGlyZWN0WCkgdm9uIFdJTkUKICAgICAgICAgIGthbm4gZGllc2UgRXJ3ZWl0ZXJ1bmcgYmVudXR6ZW4sIHdvZHVyY2ggc2ljaCBpbnNiZXNvbmRlcmUKICAgICAgICAgIFNwaWVsZSBtaXQgZWluZXIg5GhubGljaGVuIEdlc2Nod2luZGlna2VpdCB3aWUgdW50ZXIgV2luZG93cwogICAgICAgICAgYXVzZvxocmVuIGxhc3Nlbi4gV2VpbCBER0EgZGVuIGRpcmVrdGVuIEhhcmR3YXJlenVncmlmZgogICAgICAgICAgZXJmb3JkZXJ0LCBzaW5kIGRhenUgaW4gZGVyIFJlZ2VsIEFkbWluaXN0cmF0b3JyZWNodGUKICAgICAgICAgIGVyZm9yZGVybGljaC4gRGllIFZlcndlbmR1bmcgdm9uIERHQSB3aXJkIG1pdCAiVXNlREdBIiA9ICJ0cnVlIgogICAgICAgICAgZWluLSB1bmQgbWl0ICJVc2VER0EiID0gImZhbHNlIiBhdXNnZXNjaGFsdGV0LgoKICAgICAgICAgIEFjaHR1bmc6IAogICAgICAgICAgQW53ZW5kdW5nZW4sIGRpZSBEaXJlY3REcmF3IGJlbnV0emVuLCB2ZXJzdWNoZW4KICAgICAgICAgIG5vcm1hbGVyd2Vpc2UgZGVuIEJpbGRzY2hpcm0gaW4gZWluZSBiZXN0aW1tdGUgQXVmbPZzdW5nIHVuZAogICAgICAgICAgRmFyYnRpZWZlIHp1IHNjaGFsdGVuLiBXSU5FIGthbm4gZGllIEF1Zmz2c3VuZyB6d2FyCiAgICAgICAgICB2ZXLkbmRlcm4sIGZhbGxzIHNpY2ggaW4gZGVyIERhdGVpIFhGODZDb25maWcgZWluZQogICAgICAgICAgRGVmaW5pdGlvbiBm/HIgZGVuIGFuZ2Vmb3JkZXJ0ZW4gTW9kdXMgYmVmaW5kZXQsIHdlaWwgZGFzIFgKICAgICAgICAgIFdpbmRvdyBTeXN0ZW0gamVkb2NoIG5pY2h0IGRlbiBXZWNoc2VsIGRlciBGYXJidGllZmUKICAgICAgICAgIHVudGVyc3T8dHp0LCBpc3QgZXMgb2Z0IGVyZm9yZGVybGljaCwgZGVuIFgtU2VydmVyIGluIGRlcgogICAgICAgICAgYmVu9nRpZ3RlbiBGYXJidGllZmUgenUgc3RhcnRlbiwgYmV2b3IgV0lORSBnZXN0YXJ0ZXQgd2lyZC4KICAgICAgICAgIAogICBVc2VYU2htCiAgICAgICAgICBIaWVyYmVpIGhhbmRlbHQgZXMgc2ljaCB1bSBlaW5lIGFuZGVyZSBFcndlaXRlcnVuZyBkZXMgWAogICAgICAgICAgV2luZG93IFN5c3RlbXMsIGRpZSBzY2huZWxsZXJlIEdyYXBoaWtvcGVyYXRpb25lbgogICAgICAgICAgZXJt9mdsaWNodC4gIEJlaXNwaWVsOiAiVXNlWFNobSIgPSAidHJ1ZSIuCiAgICAgICAgICAKICAgRFhHcmFiCiAgICAgICAgICBEaWVzZSBPcHRpb24gYmV3aXJrdCwgZGFzcyBkZXIgTWF1c3plaWdlciAtIGJlaSBkZXIKICAgICAgICAgIFZlcndlbmR1bmcgdm9uIERpcmVjdERyYXcgKERpcmVjdFgpIC0gZGFzIHZvbiBEaXJlY3REcmF3CiAgICAgICAgICBnZXN0ZXVlcnRlIEZlbnN0ZXIgbmljaHQgdmVybGFzc2VuIGthbm4uIERpZXMgaXN0IG5vdHdlbmRpZywKICAgICAgICAgIHVtIGVpbmlnZSBQcm9ncmFtbWUgcmljaHRpZyBiZWRpZW5lbiB6dSBr9m5uZW4sIGFsbGVyZGluZ3MKICAgICAgICAgIHdpcmQgZGFkdXJjaCB2ZXJoaW5kZXJ0LCBtaXQgZGVyIE1hdXMgaW4gZWluIGFuZGVyZXMgRmVuc3RlcgogICAgICAgICAgenUgc2NoYWx0ZW4sIGJlaXNwaWVsc3dlaXNlIHVtIFdJTkUgenUgYmVlbmRlbi4gQmVpc3BpZWw6CiAgICAgICAgICAiRFhHcmFiIiA9ICJmYWxzZSIuCiAgICAgICAgICAKICAgU2NyZWVuRGVwdGgKICAgICAgICAgIEVpbmlnZSBYLVNlcnZlciB1bnRlcnN0/HR6ZW4gdW50ZXJzY2hpZWRsaWNoZSBGYXJidGllZmVuIGF1ZgogICAgICAgICAgZGVtIHNlbGJlbiBCaWxkc2NoaXJtLiBNaXQgZGllc2VyIFZhcmlhYmxlIGthbm4gYXVzZ2V35GhsdAogICAgICAgICAgd2VyZGVuLCB3ZWxjaGUgRmFyYnRpZWZlIGluIGVpbmVtIHNvbGNoZW4gRmFsbCBiZW51dHp0CiAgICAgICAgICB3ZXJkZW4gc29sbC4KCiAgIE1hbmFnZWQKICAgICAgICAgIFdJTkUga2FubiB2b24gV2luZG93cy1Qcm9ncmFtbWVuIGRhcmdlc3RlbGx0ZSBGZW5zdGVyCiAgICAgICAgICB1LmEuIHVuYWJo5G5naWcgdm9tIGVpbmdlc2V0enRlbiBXaW5kb3ctTWFuYWdlciBhbnplaWdlbgogICAgICAgICAgb2RlciBzaWUgdW50ZXIgZGllIEtvbnRyb2xsZSBkZXMgV2luZG93LU1hbmFnZXJzCiAgICAgICAgICBzdGVsbGVuLiBEYXMgendlaXRlIFZlcmZhaHJlbiBiaWV0ZXQgZWluZSBiZXNzZXJlCiAgICAgICAgICBJbnRlZ3JhdGlvbiB2b24gV2luZG93cy1Qcm9ncmFtbWVuIGluIGRpZSBBcmJlaXRzdW1nZWJ1bmcKICAgICAgICAgIHVudGVyIExpbnV4LCB3ZWlsIGRpZSBGZW5zdGVyIGRhbm4gZ2VuYXVzbyB3aWUgZGllIHZvbgogICAgICAgICAgTGludXgtUHJvZ3JhbW1lbiBlcnNjaGVpbmVuIHVuZCB6dSBzdGV1ZXJuIHNpbmQuIFdlbGNoZXIgZGVyCiAgICAgICAgICB2ZXJm/GdiYXJlbiBBbnplaWdlbW9kaSB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwsIHdpcmQKICAgICAgICAgIG5vcm1hbGVyd2Vpc2UgYW4gZGVyIEtvbW1hbmRvemVpbGUgYmVpbSBBdWZydWYgdm9uIFdJTkUKICAgICAgICAgIGFuZ2VnZWJlbi4gRHVyY2ggZGllc2UgVmFyaWFibGUgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgICAgICAgIGzkc3N0IHNpY2ggZmVzdGxlZ2VuLCBvYiB2b24gV0lORSBnZXN0ZXVlcnRlIEZlbnN0ZXIKICAgICAgICAgIHN0YW5kYXJkbeTfaWcgZGVuIFdpbmRvdy1NYW5hZ2VyIHZlcndlbmRlbiBzb2xsZW4gKCJNYW5hZ2VkIiA9CiAgICAgICAgICAidHJ1ZSIpLgoKICAgRGVza3RvcERvdWJsZUJ1ZmZlcmVkCiAgICAgICAgICBEaWVzZSBPcHRpb24gc29sbHRlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgd2VyZGVuLCB3ZW5uCiAgICAgICAgICBtaXQgV0lORSBQcm9ncmFtbWUgYmVudXR6dCB3ZXJkZW4sIGRpZSBPcGVuR0wKICAgICAgICAgIGJlbnV0emVuLiBIaWVyZHVyY2ggd2lyZCBkaWUgRGFyc3RlbGx1bmcgc29sY2hlciBBbndlbmR1bmdlbgogICAgICAgICAgdmVyYmVzc2VydC4KICAgICAgICAgIAogIDcuNiBLb25maWd1cmF0aW9uIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gU2NocmlmdGFydGVuCiAgCiAgIERlciBYMTEtR3JhcGhpa3RyZWliZXIgeDExZHJ2IHZlcndlbmRldCB6dXIgRGFyc3RlbGx1bmcgdm9uIFNjaHJpZnQKICAgZGllIFNjaHJpZnRhcnRlbiwgZGllIGRlbSBYLVNlcnZlciBkaXJla3Qgb2RlciD8YmVyIGVpbmVuIEZvbnRzZXJ2ZXIKICAgenVyIFZlcmb8Z3VuZyBzdGVoZW4uIEVpbmUgUmVpaGUgdm9uIFdpbmRvd3MtQW53ZW5kdW5nZW4gZXJ3YXJ0ZW4KICAgYWxsZXJkaW5ncyBnYW56IGJlc3RpbW10ZSBTY2hyaWZ0ZW4sIGRpZSB1bnRlciBXaW5kb3dzIGluIGRlciBSZWdlbAogICB2ZXJm/GdiYXIgc2luZCB1bmQgdmllbGUgQW53ZW5kdW5nZW4gd2VyZGVuIGFuZGVycyBhbHMgdW50ZXIgV2luZG93cwogICBkYXJnZXN0ZWxsdCwgZmFsbHMgYW5kZXJlIFNjaHJpZnRhcnRlbiBiZW51dHp0IHdlcmRlbiBt/HNzZW4uCiAgIAogICBXaW5kb3dzIHZlcndlbmRldCBub3JtYWxlcndlaXNlIHp3ZWkgdW50ZXJzY2hpZWRsaWNoZSBUeXBlbiB2b24KICAgU2NocmlmdGFydGVuLCBu5G1saWNoIHNvIGdlbmFubnRlbiBUcnVlVHlwZS1TY2hyaWZ0ZW4gdW5kIGVpbmZhY2hlCiAgIEJpdG1hcC1TY2hyaWZ0YXJ0ZW4uIEJlaWRlIFNjaHJpZnR0eXBlbiBr9m5uZW4gdm9uIFhGcmVlODYgaW4gZGVyCiAgIFZlcnNpb25zZmFtaWxpZSAzLnggc3RhbmRhcmRt5N9pZyBuaWNodCB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgIHdlcmRlbi4gQWxsZXJkaW5ncyBpc3QgZXMgbfZnbGljaCwgV2luZG93cy1CaXRtYXAtU2NocmlmdGFydGVuIGluCiAgIGVpbiBGb3JtYXQgenUg/GJlcnNldHplbiwgd2VsY2hlcyB2b24gWEZyZWU4NiBlaW5nZWJ1bmRlbiB3ZXJkZW4KICAga2Fubi4gVHJ1ZVR5cGUtU2NocmlmdGFydGVuIGv2bm5lbiD8YmVyIHNwZXppZWxsZQogICBUcnVlVHlwZS1Gb250c2VydmVyLCBkaWUgbWl0dGxlcndlaWxlIGluIGRlbiBtZWlzdGVuIERpc3RyaWJ1dGlvbmVuCiAgIGVudGhhbHRlbiBzaW5kLCBlaW5nZWJ1bmRlbiB3ZXJkZW4uIEZhbGxzIGVpbmUgV2luZG93cy1JbnN0YWxsYXRpb24KICAgenVyIFZlcmb8Z3VuZyBzdGVodCwgZW1wZmllaGx0IGVzIHNpY2ggaW0gYWxsZ2VtZWluZW4sIGRpZSBkb3J0CiAgIHZvcmhhbmRlbmVuIFNjaHJpZnRhcnRlbiBhdWNoIHVudGVyIExpbnV4IGVpbnp1YmluZGVuLCBkYW1pdCB1bnRlcgogICBXSU5FIGF1c2dlZvxocnRlIFdpbmRvd3MtQW53ZW5kdW5nZW4gZGllIGVyd2FydGV0ZW4gU2NocmlmdGFydGVuCiAgIHZvcmZpbmRlbi4gV2VubiBXSU5FIG9obmUgV2luZG93cy1TY2hyaWZ0YXJ0ZW4gYmVudXR6dCB3aXJkLAogICB2ZXJzdWNodCBkYXMgUHJvZ3JhbW0sIGRpZSBhbmdlZm9yZGVydGVuIFNjaHJpZnRlbiBkdXJjaCBkaWUKICAgU2NocmlmdGVuIGRlcyBYIFdpbmRvdyBTeXN0ZW1zIHp1IGVyc2V0emVuLCB3b2R1cmNoIHNpY2gKICAgVmVy5G5kZXJ1bmdlbiBpbSBFcnNjaGVpbnVuZ3NiaWxkIGRlciBBbndlbmR1bmdlbiBlcmdlYmVuIGv2bm5lbi4KICAgCiAgICA3LjYuMSBFaW5iaW5kZW4gdm9uIEJpdG1hcC1TY2hyaWZ0ZW4KICAgIAogICBXaW5kb3dzIEJpdG1hcC1TY2hyaWZ0YXJ0ZW4gYmVmaW5kZW4gc2ljaCBub3JtYWxlcndlaXNlIGltCiAgIFVudGVydmVyemVpY2huaXMgZm9udHMgZGVzIFdpbmRvd3MtVmVyemVpY2huaXNzZXMgdW5kIGhhYmVuIGRpZQogICBEYXRlaW5hbWVuc2VuZHVuZyAuZm9uLiBFcyBpc3QgYWJlciBhdWNoIG32Z2xpY2gsIGRhc3Mgc2llIGluCiAgIGF1c2b8aHJiYXJlbiBEYXRlaWVuIG9kZXIgaW4gQmlibGlvdGhla2VuIGVudGhhbHRlbiBzaW5kLiBJbQogICBVbnRlcnZlcnplaWNobmlzIHRvb2xzIGRlcyBCYXNpc3ZlcnplaWNobmlzc2VzIG1pdCBkZW0KICAgV0lORS1RdWVsbGNvZGUgYmVmaW5kZXQgc2ljaCBkYXMgUHJvZ3JhbW0gZm50MmJkZiwgbWl0IGRlbSBkaWUKICAgRm9udHMgYXVzIGRpZXNlbiBEYXRlaWVuIGV4dHJhaGllcnQgdW5kIGluIGRhcyBCaXRtYXAgRGlzdHJpYnV0aW9uCiAgIEZvcm1hdCAoLmJkZikgdW1nZXdhbmRlbHQgd2VyZGVuIGv2bm5lbi4gRGF6dSBpc3QgZGFzIFByb2dyYW1tCiAgIGZvbGdlbmRlcm1hc3NlbiBhdWZ6dXJ1ZmVuOgogICAKICAgZm50MmJkZiAtbyBCYXNpc25hbWUgU2NocmlmdGRhdGVpCgogICBEYWJlaSBpc3QgZvxyIFNjaHJpZnRkYXRlaSBkZXIgTmFtZSBkZXIgRGF0ZWkgYW56dWdlYmVuLCBpbiBkZXIKICAgc2ljaCBkaWUgenUgZXh0cmFoaWVyZW5kZW4gU2NocmlmdGVuIGJlZmluZGVuIHVuZCBm/HIgQmFzaXNuYW1lCiAgIGVpbmUgQmV6ZWljaG51bmcsIG1pdCBkZXIgZGllIE5hbWVuIGRlciB6dSBleHRyYWhpZXJlbmRlbiBEYXRlaWVuCiAgIGJlZ2lubmVuIHNvbGxlbi4gRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIHNpY2ggaW4gZGVyIFJlZ2VsIGluCiAgIGVpbmVyIFdpbmRvd3MtU2NocmlmdGFydGVuZGF0ZWkgbWVocmVyZSBTY2hyaWZ0YXJ0ZW4gYmVmaW5kZW4sIGRpZQogICBpbiB1bnRlcnNjaGllZGxpY2hlIERhdGVpZW4gZXh0cmFoaWVydCB3ZXJkZW4uIEJlaSBlaW5pZ2VuCiAgIFNjaHJpZnRhcnRlbiBpc3QgZXMgbm90d2VuZGlnLCBkZW0gUHJvZ3JhbW0gbWl0enV0ZWlsZW4sIHdpZSBkaWUKICAgU2NocmlmdGFydGVuIGtvZGllcnQgc2luZC4gSGllcnp1IGlzdCBkaWUgT3B0aW9uIC1jIHp1IHZlcndlbmRlbgogICB1bmQgZGFoaW50ZXIgZGllIEJlemVpY2hudW5nIGRlciBLb2RpZXJ1bmcgYW56dWdlYmVuLiBFaW5lCiAgINxiZXJzaWNodCD8YmVyIGFsbGUgdm9uIGRlbSBQcm9ncmFtbSB1bnRlcnN0/HR6dGVuIE9wdGlvbmVuIHdpcmQKICAgYXVzZ2VnZWJlbiwgd2VubiBlcyBvaG5lIFBhcmFtZXRlciBhdWZnZXJ1ZmVuIHdpcmQuIFVtIGFsc28KICAgYmVpc3BpZWxzd2Vpc2UgZGllIEJpdG1hcC1TY2hyaWZ0ZW4gYXVzIGRlciBEYXRlaSBTRVJJRkYuRk9OIGluCiAgIERhdGVpZW4genUgZXh0cmFoaWVyZW4sIGRlcmVuIE5hbWVuIG1pdCBkZXIgQmV6ZWljaG51bmcgc2VyaWZmCiAgIGJlZ2lubmVuLCB35HJlIGRhcyBQcm9ncmFtbSBzbyBhdWZ6dXJ1ZmVuOgogICAKICAgZm50MmJkZiAtbyBzZXJpZmYgU0VSSUZGLkZPTgogICAKICAgRXMgd2VyZGVuIGRhbm4gZWluZSBSZWloZSB2b24gRGF0ZWllbiBtaXQgdW50ZXJzY2hpZWRsaWNoZW4gRm9udHMKICAgYXVzIGRlciBPcmlnaW5hbGRhdGVpIGVyemV1Z3QuIEltIG7kY2hzdGVuIFNjaHJpdHQgc2luZCBkaWVzZQogICBEYXRlaWVuIG1pdCBkZW0gUHJvZ3JhbW0gYmRmdG9wY2YoMSkgaW4gZGFzIHNvIGdlbmFubnRlIFBvcnRhYmxlCiAgIENvbXBpbGVkIEZvcm1hdCB6dSD8YmVyc2V0emVuLiBEaWVzZXMgUHJvZ3JhbW0gc29sbHRlIEJlc3RhbmR0ZWlsCiAgIGplZGVyIFgxMS1JbnN0YWxsYXRpb24gc2VpbiB1bmQgaXN0IGR1cmNoIGVpbmUgTWFudWFsc2VpdGUKICAgZG9rdW1lbnRpZXJ0LiBVbSBiZWlzcGllbHN3ZWlzZSBkaWUgRGF0ZWkgc2VyaWZmX3I0MDAtMjMuYmRmIHp1CiAgIPxiZXJzZXR6ZW4gdW5kIGRhcyBFcmdlYm5pcyBpbiBkaWUgRGF0ZWkgc2VyaWZmX3I0MDAtMjMucGNmIHp1CiAgIHNjaHJlaWJlbiwga/ZubnRlIGRhcyBQcm9ncmFtbSBzbyBhdWZnZXJ1ZmVuIHdlcmRlbjoKICAgCiAgIGJkZnRvcGNmIC1vIHNlcmlmZl9yNDAwLTIzLnBjZiBzZXJpZmZfcjQwMC0yMy5iZGYKICAgCiAgIERpZSBhdWYgZGllc2UgV2Vpc2UgZXJ6ZXVndGVuIERhdGVpZW4ga/ZubmVuIG51biBpbiBlaW5lcyBkZXIsIHZvbgogICBkZW0gWC1TZXJ2ZXIgb2RlciBlaW5lbSBGb250c2VydmVyIGJlbnV0enRlbiwgRm9udC1WZXJ6ZWljaG5pcwogICBrb3BpZXJ0IHdlcmRlbi4gSW4gZGllc2VtIFZlcnplaWNobmlzIGlzdCBkYW5hY2ggZGVyIEJlZmVobAogICBta2ZvbnRkaXIgYXVmenVydWZlbiwgZGFtaXQgZGVyIGRvcnQgYmVmaW5kbGljaCBGb250aW5kZXggbmV1CiAgIGVyemV1Z3Qgd2lyZC4gIEJldm9yIGRpZSBTY2hyaWZ0ZW4gZGFubiB0YXRz5GNobGljaCB1bnRlciBYIHp1cgogICBWZXJm/Gd1bmcgc3RlaGVuIHVuZCBkYW1pdCB2b24gV0lORSBiZW51dHp0IHdlcmRlbiBr9m5uZW4sIG11c3MgWAogICBuZXUgZ2VzdGFydGV0IG9kZXIgZGVyIGZvbGdlbmRlIEJlZmVobCBhbiBkZXIgS29tbWFuZG96ZWlsZQogICBlaW5nZWdlYmVuIHdlcmRlbjoKICAgCiAgIHhzZXQgZnAgK3JlaGFzaAogICAKICAgSW0gVW50ZXJ2ZXJ6ZWljaG5pcyB0b29scyBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBiZWZpbmRldAogICBzaWNoIGVpbiBTaGVsbHNrcmlwdCBtaXQgZGVtIE5hbWVuIGZvbnRfY29udmVydC5zaCwgd2VsY2hlcyBkaWUKICAgb2JlbiBnZW5hbm50ZW4gU2Nocml0dGUgYXV0b21hdGlzY2ggZHVyY2hm/GhydCB1bmQgYWxsZSB1bnRlcmhhbGIKICAgZWluZXMgVmVyemVpY2huaXNzZXMgYmVmaW5kbGljaGVuIEJpdG1hcC1TY2hyaWZ0YXJ0ZW4gYXV0b21hdGlzY2gKICAga29udmVydGllcnQgdW5kIGluc3RhbGxpZXJ0LgogICAKICAgIDcuNi4yIEVpbmJpbmRlbiB2b24gVHJ1ZVR5cGUtU2NocmlmdGVuCiAgICAKICAgV2llIGJlcmVpdHMgZXJ35GhudCwga/ZubmVuIGRpZSBYLVNlcnZlciB2b24gWEZyZWU4NiBpbiBkZXIKICAgVmVyc2lvbnNmYW1pbGllIDMueCBrZWluZSBUcnVlVHlwZS1TY2hyaWZ0ZW4gZGFyc3RlbGxlbi4gU2VpdAogICBYRnJlZTg2IDQuMCBoYXQgc2ljaCBkaWVzIGFsbGVyZGluZ3MgZ2XkbmRlcnQsIHNvIGRhc3Mgc29sY2hlCiAgIFNjaHJpZnRlbiB6dWv8bmZ0aWcgcHJvYmxlbWxvcyB1bnRlciBYIC0gdW5kIGRhbWl0IGF1Y2ggbWl0IFdJTkUgLQogICB6dXIgVmVyZvxndW5nIGdlc3RlbGx0IHdlcmRlbiBr9m5uZW4uIExlaWRlciBr9m5uZW4g/GJlciBkYXMKICAgWC1Gb250LVByb3Rva29sbCBuaWNodCBhbGxlIHZvbiBtYW5jaGVuIFdpbmRvd3MtUHJvZ3JhbW1lbgogICBiZW72dGlndGVuIEluZm9ybWF0aW9uZW4g/GJlciBUcnVlVHlwZS1Gb250cyBkYXJnZXN0ZWxsdCB3ZXJkZW4sIHNvCiAgIGRhc3MgbWFuY2hlIFdpbmRvd3MtUHJvZ3JhbW1lIGF1Y2ggZGFubiBub2NoIG5pY2h0IHJpY2h0aWcKICAgZnVua3Rpb25pZXJlbiwgd2VubiBkaWUgYmVu9nRpZ3RlbiBGb250cyB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgIHdvcmRlbiBzaW5kLiBNaXQgWEZyZWU4NiAzLnggYmlldGV0IHNpY2ggZGVyIEVpbnNhdHogZWluZXMKICAgVHJ1ZVR5cGUtRm9udHNlcnZlcnMgYW4uIFp1ciBaZWl0IHN0ZWhlbiBkcmVpIHVudGVyc2NoaWVkbGljaGUKICAgc29sY2hlciBQcm9ncmFtbWUgenVyIFZlcmb8Z3VuZywgbuRtbGljaDogeGZzLXh0dCAoRGViaWFuLVBha2V0OgogICB4ZnMteHR0KSwgeGZzdHQgKERlYmlhbi1QYWtldCB4ZnN0dCkgdW5kIHhmc2Z0IChpbSBJbnRlcm5ldCB1bnRlcgogICBkZXIgQWRyZXNzZSBodHRwOi8vd3d3LmRjcy5lZC5hYy51ay9ob21lL2plYy9wcm9ncmFtcy94ZnNmdC8KICAgdmVyZvxnYmFyKS4KICAgCiAgIERlciBBdXRvciBoYXQgbWl0IGRlbSBQcm9ncmFtbSB4ZnNmdCBkaWUgYmVzdGVuIEVyZ2Vibmlzc2UgZXJ6aWVsdC4KICAgRGllc2VyIFNlcnZlciBs5HNzdCBzaWNoIGxlaWNodCBrb25maWd1cmllcmVuIHVuZCBpc3Qga29tcGF0aWJlbCB6dQogICBoZXJr9m1tbGljaGVuIEZvbnRzZXJ2ZXJuLCBzbyBkYXNzIG5pY2h0IHp3ZWkgdmVyc2NoaWVkZW5lCiAgIEZvbnRzZXJ2ZXIgYXVmIGVpbmVtIFJlY2huZXIgYXVzZ2Vm/GhydCB3ZXJkZW4gbfxzc2VuLiBEaWVzZXMKICAgUHJvZ3JhbW0gZGllbnRlIGF1Y2ggYWxzIEdydW5kbGFnZSBm/HIgZGllIEludGVncmF0aW9uIGRlcgogICBUcnVlVHlwZS1VbnRlcnN0/HR6dW5nIGluIFhGcmVlODYgNC4wLgogICAKICAgVW0gZGllIHZvbiBlaW5lbSBGb250c2VydmVyIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHRlbiBTY2hyaWZ0ZW4genUKICAgdmVyd2VuZGVuLCBtdXNzIGRlbSBYLVNlcnZlciBkaWUgQWRyZXNzZSBkZXMgRm9udHNlcnZlcnMgbWl0Z2V0ZWlsdAogICB3ZXJkZW4uIERpZXMga2FubiBlbnR3ZWRlciBpbiBkZXIgRGF0ZWkgL2V0Yy9YMTEvWEY4NkNvbmZpZyBvZGVyCiAgIGR1cmNoIEVpbmdhYmUgZGllc2VzIEJlZmVobHMgZ2VzY2hlaGVuOgogICAKICAgeHNldCBmcCsgdGNwL2xvY2FsaG9zdDo3MTAwCiAgIAogICBEYWJlaSBtdXNzIGxvY2FsaG9zdCB1LlUuIGdlZ2VuIGRlbiBOYW1lbiBkZXMgUmVjaG5lcnMgYXVzZ2V0YXVzY2h0CiAgIHdlcmRlbiwgYXVmIGRlbSBkZXIgRm9udHNlcnZlciBhdXNnZWb8aHJ0IHdlcmRlbiB1bmQgNzEwMCBkdXJjaCBkZW4KICAgUG9ydCwgZGVyIHZvbSBGb250c2VydmVyIGJlbnV0enQgd2lyZC4gV2VubiBkZXIgRm9udHNlcnZlciBhdWYgZGVtCiAgIHNlbGJlbiBSZWNobmVyIGF1c2dlZvxocnQgd2lyZCB3aWUgZGVyIFgtU2VydmVyLCBkYW5uIGv2bm5lbiB6dXIKICAgS29tbXVuaWthdGlvbiB6d2lzY2hlbiBYLVNlcnZlciB1bmQgRm9udHNlcnZlciBhdWNoCiAgIFVOSVgtRG9tYWluLVNvY2tldHMgYmVudXR6dCB3ZXJkZW4uIERlciBlbnRzcHJlY2hlbmRlIEJlZmVobCBr9m5udGUKICAgZGFubiBmb2xnZW5kZXJtYd9lbiBhdXNzZWhlbjoKICAgCiAgIHhzZXQgZnArIHVuaXgvOjcxMDAKICAgCiAgICA3LjYuMyBGb250LUVpbnN0ZWxsdW5nZW4gaW4gZGVyIFdJTkVzIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgIAogICBJbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSB+Ly53aW5lL2NvbmZpZyBiencuIHdpbmUuY29uZiBzdGVoZW4gZGllCiAgIGZvbGdlbmRlbiBWYXJpYWJsZW4genVyIFZlcmb8Z3VuZywgbWl0IGRlbmVuIFdJTkVzIFVtZ2FuZyBtaXQKICAgU2NocmlmdGFydGVuIGJlZWluZmx1c3N0IHdlcmRlbiBrYW5uOgogICAKICAgUmVzb2x1dGlvbgogICAgICAgICAgVW50ZXIgV2luZG93cyBr9m5uZW4gUHJvZ3JhbW1lIGRpZSBHcvbfZSBlaW5lcyB6dQogICAgICAgICAgdmVyd2VuZGVuZGVuIEZvbnRzIGluIFB1bmt0ZW4gKGFuIFN0ZWxsZSB2b24gUGl4ZWxuKQogICAgICAgICAgYW5nZWJlbi4gRGFtaXQgZGllIFNjaHJpZnRhcnQgZGFubiBpbiBkZXIgcmljaHRpZ2VuIEdy9t9lCiAgICAgICAgICBhbmdlemVpZ3Qgd2VyZGVuIGthbm4sIG11c3MgZGllIHRhdHPkY2hsaWNoZSBHcvbfZSBkZXMKICAgICAgICAgIEJpbGRzY2hpcm1zIGJla2FubnQgc2Vpbiwgd2FzIHVudGVyIFggbmljaHQgdW5iZWRpbmd0IGRlcgogICAgICAgICAgRmFsbCBpc3QuIE1pdCBkZXIgVmFyaWFibGUgUmVzb2x1dGlvbiBrYW5uIGRlc3dlZ2VuIGp1c3RpZXJ0CiAgICAgICAgICB3ZXJkZW4sIHdlbGNoZSBTY2hyaWZ0Z3L232VuIGluIHNvbGNoZW4gRuRsbGVuIHZvbiBXSU5FCiAgICAgICAgICBhdXNnZXfkaGx0IHdlcmRlbi4gRGVyIFN0YW5kYXJkd2VydCBpc3QgOTYsIHNpbm52b2xsZSBXZXJ0ZQogICAgICAgICAgbGllZ2VuIHp3aXNjaGVuIDYwIHVuZCAxMjAuIEJlaXNwaWVsOiAiUmVzb2x1dGlvbiIgPSAiMTAwIi4KICAgICAgICAgIAogICBEZWZhdWx0CiAgICAgICAgICBNaXQgZGllc2VyIFZhcmlhYmxlIHdpcmQgYW5nZWdlYmVuLCB3ZWxjaGUgU2NocmlmdGFydCBXSU5FCiAgICAgICAgICBhbHMgU3RhbmRhcmQgdmVyd2VuZGVuIHNvbGwuIERpZSBkYWJlaSBhbnp1Z2ViZW5kZQogICAgICAgICAgWmVpY2hlbmtldHRlIGJlc3RlaHQgYXVzIGRlciBIZXJzdGVsbGVyYmV6ZWljaG51bmcgZGVyIHp1CiAgICAgICAgICB2ZXJ3ZW5kZW5kZW4gU2NocmlmdGFydCB1bmQgaWhyZW0gTmFtZW4sIGRpZXNlIEJlemVpY2hudW5nZW4KICAgICAgICAgIHdlcmRlbiBkdXJjaCBlaW4gTWludXN6ZWljaGVuIG1pdGVpbmFuZGVyIHZlcmJ1bmRlbiwKICAgICAgICAgIGF132VyZGVtIG11c3Mgc2ljaCB6dSBCZWdpbm4gdW5kIGFtIEVuZGUgZGVyIFplaWNoZW5rZXR0ZQogICAgICAgICAgZWluIE1pbnVzemVpY2hlbiBiZWZpbmRlbi4gIERpZSB1bnRlciBYMTEgdmVyZvxnYmFyZW4gRm9udHMKICAgICAgICAgIGv2bm5lbiBiZWlzcGllbHN3ZWlzZSBtaXQgZGVuIFByb2dyYW1tZW4geGZvbnRzZWwoMSkgb2RlcgogICAgICAgICAgeGxzZm9udHMoMSkgYXVzZ2V35GhsdCB3ZXJkZW4uICAKICAgICAgICAgIEJlaXNwaWVsOiAiRGVmYXVsdCIgPSAgIi1hZG9iZS10aW1lcy0iCiAgICAgICAgICAKICAgRGVmYXVsdEZpeGVkCiAgICAgICAgICBIaWVybWl0IHdpcmQgZmVzdGdlbGVndCwgd2VsY2hlbiBGb250IFdJTkUgYWxzCiAgICAgICAgICBzdGFuZGFyZG3k32lnZSBTY2hyaWZ0YXJ0IG1pdCBnbGVpY2ht5N9pZ2VyIEJ1Y2hzdGFiZW5icmVpdGUKICAgICAgICAgIHZlcndlbmRlbiBzb2xsLiAgRGVyIE5hbWUgZGVyIGdld/xuc2NodGVuIFNjaHJpZnQgaXN0IHdpZQogICAgICAgICAgYmVpIGRlciBWYXJpYWJsZW4gRGVmYXVsdCBhbnp1Z2ViZW4uIEJlaXNwaWVsOgogICAgICAgICAgIkRlZmF1bHRGaXhlZCIgPSAiLXNvbnktZml4ZWQtIgogICAgICAgICAgCiAgIERlZmF1bHRTZXJpZgogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdlbGNoZW4gRm9udCBXSU5FIGFscwogICAgICAgICAgc3RhbmRhcmRt5N9pZ2UgU2NocmlmdGFydCBtaXQgU2VyaWZlbiB2ZXJ3ZW5kZW4KICAgICAgICAgIHNvbGwuIEJlaXNwaWVsOiAiRGVmYXVsdFNlcmlmIiA9ICItYWRvYmUtdGltZXMtIgogICAgICAgICAgCiAgIERlZmF1bHRTYW5zU2VyaWYKICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlbiBGb250IFdJTkUgYWxzIHN0YW5kYXJkbeTfaWdlCiAgICAgICAgICBTY2hyaWZ0YXJ0IG9obmUgU2VyaWZlbiB2ZXJ3ZW5kZW4gc29sbC4gQmVpc3BpZWw6CiAgICAgICAgICAiRGVmYXVsdFNhbnNTZXJpZiIgPSAiLWFkb2JlLWhlbHZldGljYS0iCiAgICAgICAgICAKICAgRm9udG1ldHJpYwogICAgICAgICAgV2VubiBXSU5FIGRhcyBlcnN0ZSBNYWwgZ2VzdGFydGV0IHdpcmQsIGZyYWd0IGVzIHZvbQogICAgICAgICAgWC1TZXJ2ZXIgZGllIEVpZ2Vuc2NoYWZ0ZW4gZGVyIHZlcmb8Z2JhcmVuIEZvbnRzIGFiLiAgV2VpbAogICAgICAgICAgZGllc2UgT3BlcmF0aW9uIHJlY2h0IHplaXRhdWZ3ZW5kaWcgaXN0LCB3aXJkIGRhcyBFcmdlYm5pcwogICAgICAgICAgZGVyIEFiZnJhZ2UgaW4gZWluZXIgRGF0ZWkgaW0gSGVpbWF0dmVyemVpY2huaXMgZGVzCiAgICAgICAgICBiZXRyZWZmZW5kZW4gQmVudXR6ZXJzIGdlc3BlaWNoZXJ0LiBEaWUgQWJmcmFnZSBicmF1Y2h0IGRhbm4KICAgICAgICAgIGJlaSBlaW5lbSBzcOR0ZXJlbiBBdWZydWYgZGVzIFByb2dyYW1tcyBudXIgYXVzZ2Vm/GhydCB6dQogICAgICAgICAgd2VyZGVuLCBmYWxscyBzaWNoIGRpZSB2ZXJm/GdiYXJlbiBGb250cyBnZeRuZGVydCBoYWJlbi4gTWl0CiAgICAgICAgICBkaWVzZXIgVmFyaWFibGVuIGthbm4gYW5nZWdlYmVuIHdlcmRlbiwgaW4gd2VsY2hlciBEYXRlaSBkaWUKICAgICAgICAgIEZvbnRkYXRlbiB6d2lzY2hlbmdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsZW4uIERhZHVyY2ggbORzc3QKICAgICAgICAgIHNpY2ggYmVpc3BpZWxzd2Vpc2UgdmVybWVpZGVuLCBkYXNzIGRpZSBBYmZyYWdlIGb8ciBqZWRlbgogICAgICAgICAgQmVudXR6ZXIgZXJuZXV0IGF1c2dlZvxocnQgd2VyZGVuIG11c3MuIEJlaXNwaWVsOgogICAgICAgICAgIkZvbnRtZXRyaWMiID0gIi92YXIvbGliL1dJTkUvZm9udC5jYWNoZSIuCiAgICAgICAgICAKICAgQWxpYXMKICAgICAgICAgIFdpZSB3ZWl0ZXIgb2JlbiBiZXJlaXRzIGFuZ2VzcHJvY2hlbiwga2FubiBlcyB2b3Jrb21tZW4sCiAgICAgICAgICBkYXNzIFdpbmRvd3MtQW53ZW5kdW5nZW4gYmVzdGltbXRlIFNjaHJpZnRhcnRlbiBiZW51dHplbgogICAgICAgICAgd29sbGVuLCBkaWUgdm9tIFgtU2VydmVyIG5pY2h0IHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbi4gTWl0IGRlciBWYXJpYWJsZSBBbGlhcyBr9m5uZW4gc29sY2hlbiBGb250bmFtZW4KICAgICAgICAgIGFuZGVyZW4sIHVudGVyIFggdmVyZvxnYmFyZW4gU2NocmlmdGFydGVuIHp1Z2VvcmRuZXQKICAgICAgICAgIHdlcmRlbi4gV2VydGUsIGRpZSBkaWVzZXIgVmFyaWFibGVuIHp1Z2VvcmRuZXQgd2VyZGVuLAogICAgICAgICAgYmVzdGVoZW4gYXVzIGRyZWkgRWxlbWVudGVuLCBkaWUgZHVyY2ggS29tbWF0YSB2b25laW5hbmRlcgogICAgICAgICAgenUgdHJlbm5lbiBzaW5kLiBEYXMgZXJzdGUgRWxlbWVudCBpc3QgZGVyIE5hbWUgZGVyIHp1CiAgICAgICAgICBlcnNldHplbmRlbiBTY2hyaWZ0YXJ0LCBkYXMgendlaXRlIEVsZW1lbnQgZGVyIE5hbWUgZGVyIFgKICAgICAgICAgIFNjaHJpZnRhcnQsIGluIGRlciBGb3JtLCB3aWUgc2llIGF1Y2ggYmVpIGRlciBEZWZpbml0aW9uIGRlcgogICAgICAgICAgVmFyaWFibGVuIERlZmF1bHQgYW56dWdlYmVuIGlzdC4gQWxzIGRyaXR0ZXMgRWxlbWVudCBrYW5uCiAgICAgICAgICBvcHRpb25hbCBkYXMgU2NobPxzc2Vsd29ydCBzdWJzdCBhbmdlZ2ViZW4gd2VyZGVuLiAgRGllc2VzCiAgICAgICAgICBTY2hs/HNzZWx3b3J0IGJld2lya3QsIGRhc3MgZHVyY2ggZGllIEFsaWFzZGVmaW5pdGlvbiBlaW5lCiAgICAgICAgICBiZXJlaXRzIHZvcmhhbmRlbmUgRGVmaW5pdGlvbiAoZGllIHZvbiBXSU5FIGF1dG9tYXRpc2NoCiAgICAgICAgICBlcnN0ZWxsdCB3dXJkZSkg/GJlcnNjaHJpZWJlbiB3aXJkLiBXZWlsIGVzIG32Z2xpY2ggaXN0LAogICAgICAgICAgbWVocmVyZSBBbGlhcy1EZWZpbml0aW9uZW4gdm9yenVuZWhtZW4sIG11c3MgZGVyCiAgICAgICAgICBWYXJpYWJsZW5iZXplaWNobnVuZyBBbGlhcyBqZXdlaWxzIGVpbmUgWmFobCBuYWNoZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbiwgbWl0IGRlciBhbmdlZ2ViZW4gd2lyZCwgdW0gZGllIHdpZXZpZWx0ZQogICAgICAgICAgQWxpYXMtRGVmaW5pdGlvbiBlcyBzaWNoIGhhbmRlbHQuIERhYmVpIGlzdCBtaXQgZGVyIFphaGwKICAgICAgICAgIE51bGwgenUgYmVnaW5uZW4sIGVzIGRhcmYga2VpbmUgWmFobCBhdXNnZWxhc3NlbgogICAgICAgICAgd2VyZGVuLiBCZWlzcGllbDogIkFsaWFzMCIgPSAiU3lzdGVtLCAtLWludGVybmF0aW9uYWwtLCBzdWJzdCIKICAgICAgICAgIAogIDcuNyBLb25maWd1cmF0aW9uIHZvbiBTY2huaXR0c3RlbGxlbiB1bmQgSGFyZHdhcmV6dWdyaWZmCiAgCiAgIFdJTkUga2FubiBBbndlbmR1bmdlbiBkZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgc2VyaWVsbGUgdW5kCiAgIHBhcmFsbGVsZSBTY2huaXR0c3RlbGxlbiBzb3dpZSBhdWYgd2VpdGVyZSBiZWxpZWJpZ2UgRWluLSB1bmQKICAgQXVzZ2FiZWFkcmVzc2VuIGdlc3RhdHRlbi4gR3J1bmRz5HR6bGljaCBpc3QgZGFiZWkgenUgYmVkZW5rZW4sCiAgIGRhc3MgZGVyIGJldHJlZmZlbmRlIFdJTkUtUHJvemVzcyBtaXQgYXVzcmVpY2hlbmRlbiBQcml2aWxlZ2llbgogICBhdXNnZXN0YXR0ZXQgc2VpbiBtdXNzLCBkYW1pdCBlaW4gc29sY2hlciBadWdyaWZmIHRhdHPkY2hsaWNoCiAgIG32Z2xpY2ggd2lyZC4gV2lyZCBXSU5FIG1pdCBnZXf2aG5saWNoZW4gQmVudXR6ZXJyZWNodGVuICh1bmQgbmljaHQKICAgbWl0IGRlbiBQcml2aWxlZ2llbiBkZXMgQWRtaW5pc3RyYXRvcnMpIGF1c2dlZvxocnQsIGJlZGV1dGV0IGRpZXMKICAgaW4gZGVyIFJlZ2VsLCBkYXNzIGRpZSBadWdyaWZmc3JlY2h0ZSBhdWYgZGllIEdlcuR0ZWRhdGVpZW4sIHdlbGNoZQogICBHZXLkdGUgcmVwcuRzZW50aWVyZW4sIGF1ZiBkaWUgV2luZG93cy1Qcm9ncmFtbWVuIGRlciBadWdyaWZmCiAgIGdlc3RhdHRldCB3ZXJkZW4gc29sbCwg/GJlcnBy/GZ0IHdlcmRlbiBt/HNzZW4uIERlciBkaXJla3RlIFp1Z3JpZmYKICAgYXVmIEVpbi0gdW5kIEF1c2dhYmVhZHJlc3NlbiBpc3QgdW50ZXIgTGludXggYXVzc2NobGll32xpY2ggZGVtCiAgIEFkbWluaXN0cmF0b3IgZ2VzdGF0dGV0LgogICAKICAgWnVyIEtvbmZpZ3VyYXRpb24gZGVyIHNlcmllbGxlbiBTY2huaXR0c3RlbGxlbiBkaWVudCBkZXIgQWJzY2huaXR0CiAgIFtzZXJpYWxwb3J0c10gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkuIERpZSBlaW56ZWxuZW4gVmFyaWFibGVuIGluCiAgIGRpZXNlbSBBYnNjaG5pdHQgYmV6ZWljaG5lbiBkaWUgc2VyaWVsbGVuIFNjaG5pdHRzdGVsbGVuIHNvIHdpZSBlcwogICB1bnRlciBET1MgdW5kIFdpbmRvd3Mg/GJsaWNoIGlzdCAoQ29tMSwgQ29tMiB1c3cuKS4gQWxzIFdlcnQgd2lyZAogICBkaWVzZW4gVmFyaWFibGVuIGRlciBOYW1lIGRlciBHZXLkdGVkYXRlaSD8YmVyZ2ViZW4sIHdlbGNoZSBkaWUKICAgZW50c3ByZWNoZW5kZSBTY2huaXR0c3RlbGxlIHVudGVyIExpbnV4IHJlcHLkc2VudGllcnQuIEZhbGxzIGFsc28KICAgV2luZG93cy1BbndlbmR1bmdlbiB1bnRlciBXSU5FIPxiZXIgZGllIFNjaG5pdHRzdGVsbGUgQ29tMSBhdWYgZGFzCiAgIEdlcuR0IHp1Z3JlaWZlbiBzb2xsZW4sIGRhcyB1bnRlciBMaW51eCBkdXJjaCBkaWUgR2Vy5HRlZGF0ZWkKICAgL2Rldi90dHlTMCByZXBy5HNlbnRpZXJ0IHdpcmQsIHNvIG11c3MgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgZGVyIGZvbGdlbmRlIEFic2Nobml0dCB6dSBmaW5kZW4gc2VpbjoKCiAgIFtzZXJpYWxwb3J0c10KICAgIkNvbTEiID0gIi9kZXYvdHR5UzAiCgoKICAgRGllIEtvbmZpZ3VyYXRpb24gcGFyYWxsZWxlciBTY2huaXR0c3RlbGxlbiBlcmZvbGd0IGFuYWxvZyB6dXIKICAgS29uZmlndXJhdGlvbiBzZXJpZWxsZXIuIERlciBOYW1lIGRlcyBlbnRzcHJlY2hlbmRlbiBBYnNjaG5pdHRzCiAgIGxhdXRldCBbcGFyYWxsZWxwb3J0c10gdW5kIGRpZSBOYW1lbiBwYXJhbGxlbGVyIFNjaG5pdHRzdGVsbGVuCiAgIHVudGVyIERPUyB1bmQgV2luZG93cyBsYXV0ZW4gTHB0MSwgbHB0MiB1c3cuIFdlbm4gYWxzbyB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuIHVudGVyIFdJTkUg/GJlciBkZW4gTmFtZW4gTHB0MSBhdWYgZGllIHBhcmFsbGVsZQogICBTY2huaXR0c3RlbGxlIHp1Z2VncmlmZmVuIHdlcmRlbiBzb2xsLCB3ZWxjaGUgdW50ZXIgTGludXggZHVyY2ggZGllCiAgIEdlcuR0ZWRhdGVpIC9kZXYvbHAwIHJlcHLkc2VudGllcnQgd2lyZCwgc28gd+RyZSBpbiBkaWUKICAgS29uZmlndXJhdGlvbnNkYXRlaSBkaWVzZXIgQWJzY2huaXR0IGF1Znp1bmVobWVuLgoKICAgW3BhcmFsbGVscG9ydHNdCiAgICJMcHQxIiA9ICIvZGV2L2xwMCIKCiAgIFVtIGRlbiBadWdyaWZmIGF1ZiBiZXN0aW1tdGUgRWluLSB1bmQgQXVzZ2FiZWFkcmVzc2VuIHp1IGVybfZnbGljaGVuLAogICBzaW5kIGRpZSBnZXf8bnNjaHRlbiBBZHJlc3NlbiBpbiBoZXhhZGV6aW1hbGVyIFNjaHJlaWJ3ZWlzZSBpbQogICBBYnNjaG5pdHQgW3BvcnRzXSBhbnp1Z2ViZW4uIEFscyBBZHJlc3NlbiBsYXNzZW4gc2ljaCBlbnR3ZWRlcgogICBlaW56ZWxuZSBBZHJlc3NlbiAoQmVpc3BpZWw6IDB4Nzc5KSBvZGVyIEFkcmVzc2JlcmVpY2hlIGFuZ2ViZW4uIEJlaQogICBBZHJlc3NiZXJlaWNoZW4gd2VyZGVuIGRpZSB1bnRlcmUgdW5kIG9iZXJlIEFkcmVzc2UgZGVzIGdld/xuc2NodGVuCiAgIEJlcmVpY2hzLCB2ZXJidW5kZW4gZHVyY2ggZWluZW4gQmluZGVzdHJpY2gsIGFuZ2VnZWJlbiAoQmVpc3BpZWw6CiAgIDB4MjgwLTB4MmEwKS4gV2VubiBtZWhyZXJlIEFkcmVzc2VuIG9kZXIgQWRyZXNzYmVyZWljaGUga29uZmlndXJpZXJ0CiAgIHdlcmRlbiBzb2xsZW4sIHNpbmQgZGllc2UgaGludGVyZWluYW5kZXIgLSBkdXJjaCBLb21tYXRhIGdldHJlbm50IC0KICAgYW56dWdlYmVuLiBBZHJlc3Nlbiwgdm9uIGRlbmVuIGdlbGVzZW4gd2VyZGVuIHNvbGwsIHNpbmQgZGVyIFZhcmlhYmxlbgogICByZWFkIHp1enVvcmRuZW4gdW5kIHNvbGNoZSwgYXVmIGRpZSBnZXNjaHJpZWJlbiB3ZXJkZW4gc29sbCwgZGVyCiAgIFZhcmlhYmxlbiB3cml0ZS4gRmFsbHMgYXVmIGVpbmUgYmVzdGltbXRlIEFkcmVzc2Ugc293b2hsIGxlc2VuZCBhbHMKICAgYXVjaCBzY2hyZWliZW5kIHp1Z2VncmlmZmVuIHdlcmRlbiBzb2xsLCBpc3Qgc2llIGJlaWRlbiBWYXJpYWJsZW4KICAgenV6dW9yZG5lbi4gQmVpc3BpZWw6CgogICBbcG9ydHNdCiAgICJyZWFkIiA9ICIweDM3OCwweDM3OSwweDIyMC0weDJhMCIKICAgIndyaXRlIiA9ICIweDM3OSwweDIyMC0weDJhMCIKCgogICAgNy43LjEgWnVncmlmZiBhdWYgU0NTSS1HZXLkdGUKICAgIAogICBXSU5FIGVybfZnbGljaHQgYXVjaCBkZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgU0NTSS1HZXLkdGUgKPxiZXIgZGllCiAgIEFTUEktU2Nobml0dHN0ZWxsZSkuIEhpZXJ6dSBzaW5kIGtlaW5lIHNwZXppZWxsZW4gQW5nYWJlbiBpbiBkZXIKICAgS29uZmlndXJhdGlvbiBub3R3ZW5kaWcsIGFsbGVyZGluZ3MgbXVzcyBkZXIgS2VybmVsIGRlcyBTeXN0ZW1zIHNvCiAgIGtvbmZpZ3VyaWVydCB3b3JkZW4gc2VpbiwgZGFzcyBlciBkaWUgVW50ZXJzdPx0enVuZyBm/HIgZ2VuZXJpc2NoZW4KICAgU0NTSS1adWdyaWZmIGVudGjkbHQuIEF132VyZGVtIG38c3NlbiBkaWUgR2Vy5HRlZGF0ZWllbiwgd2VsY2hlIGRpZQogICBnZW5lcmlzY2hlbiBTQ1NJLUdlcuR0ZSByZXBy5HNlbnRpZXJlbiAobm9ybWFsZXJ3ZWlzZSAvZGV2L3NnMCwKICAgL2Rldi9zZzEgdXN3LikgbWl0IGF1c3JlaWNoZW5kZW4gUmVjaHRlbiBm/HIgZGVuIFp1Z3JpZmYKICAgYXVzZ2VzdGF0dGV0IHNlaW4uCiAgIAogIDcuOCBLb25maWd1cmF0aW9uIGRlciBXaW5kb3dzLVN5c3RlbXJlZ2lzdHJhdHVyCiAgCiAgIFdpbmRvd3MtQmV0cmllYnNzeXN0ZW1lIHN0ZWxsZW4gZWluZSBEYXRlbmJhbmsgenVyIFZlcmb8Z3VuZywgaW4KICAgZGVyIFByb2dyYW1tZSB1LmEuIEtvbmZpZ3VyYXRpb25zZGF0ZW4gYWJsZWdlbiB1bmQgc3DkdGVyIHdpZWRlcgogICBhdXNsZXNlbiBr9m5uZW4uIERpZXNlIHNvIGdlbmFubnRlIFJlZ2lzdHJhdHVyIHdpcmQgdm9uIFdJTkUKICAgZWJlbmZhbGxzIGJlcmVpdGdlc3RlbGx0LiBXSU5FIGlzdCBmZXJuZXIgaW4gZGVyIExhZ2UsIGRpZQogICBSZWdpc3RyYXR1ciBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiB6dSBpbXBvcnRpZXJlbiwKICAgZGFtaXQgZGVuIG1pdCBXSU5FIGF1c2dlZvxocnRlbiBQcm9ncmFtbWVuIGFsbGUgRGF0ZW4genVyIFZlcmb8Z3VuZwogICBzdGVoZW4sIGRpZSBhdWNoIHVudGVyIFdpbmRvd3MgdmVyZvxnYmFyIHNpbmQuIERpZXMgaXN0CiAgIGluc2Jlc29uZGVyZSBkYW5uIHZvbiBCZWRldXR1bmcsIHdlbm4gUHJvZ3JhbW1lIHVudGVyIFdpbmRvd3MKICAgaW5zdGFsbGllcnQgd29yZGVuIHNpbmQgdW5kIHVudGVyIFdJTkUgYXVzZ2Vm/GhydCB3ZXJkZW4uIEVzIGlzdCB6dQogICBiZWFjaHRlbiwgZGFzcyBXSU5FIGRpZSBSZWdpc3RyYXR1ciBlaW5lciBiZXN0ZWhlbmRlbgogICBXaW5kb3dzLUluc3RhbGxhdGlvbiBuaWVtYWxzIHZlcuRuZGVydC4gIEZhbGxzIFByb2dyYW1tZSBhbHNvIHVudGVyCiAgIFdJTkUgRGF0ZW4gaW4gZGllIFJlZ2lzdHJhdHVyIHNjaHJlaWJlbiwgc3RlaGVuIGRpZXNlIHVudGVyIFdpbmRvd3MKICAgbmljaHQgenVyIFZlcmb8Z3VuZy4gV0lORSBzcGVpY2hlcnQgZGllIFJlZ2lzdHJhdHVyIHZpZWxtZWhyIGluCiAgIGVpZ2VuZW4gRGF0ZWllbiwgd2VsY2hlIHNpY2gg/GJsaWNoZXJ3ZWlzZSB1bnRlcmhhbGIgZGVzCiAgIEhlaW1hdHZlcnplaWNobmlzc2VzIGRlcyBiZXRyZWZmZW5kZW4gQmVudXR6ZXJzIGJlZmluZGVuLiBOZWJlbiBkZW4KICAgYmVudXR6ZXJzcGV6aWZpc2NoZW4gUmVnaXN0cmF0dXJkYXRlbiBr9m5uZW4gdm9tIEFkbWluaXN0cmF0b3IKICAgc3lzdGVtd2VpdCBn/Gx0aWdlIERhdGVpZW4gYmVyZWl0IGdlc3RlbGx0IHdlcmRlbi4gRGllc2UgYmVmaW5kZW4KICAgc2ljaCD8YmxpY2hlcndlaXNlIGluIGRlbSBnbGVpY2hlbiBWZXJ6ZWljaG5pcyB3aWUgZGllIHN5c3RlbXdlaXQKICAgZ/xsdGlnZSBLb25maWd1cmF0aW9uc2RhdGVpLCBhbHNvIGluIC9ldGMgb2RlciBpbiAvdXNyL2xvY2FsL2V0YywKICAgd2VubiBXSU5FIG1pdCBkZW4gU3RhbmRhcmRlaW5zdGVsbHVuZ2VuIPxiZXJzZXR6dCB3dXJkZS4gSW0KICAgQWJzY2huaXR0IFtyZWdpc3RyeV0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgc3RlaGVuIGRpZSBmb2xnZW5kZW4KICAgVmFyaWFibGVuIHp1ciBWZXJm/Gd1bmcsIG1pdCBkZW5lbiB1LmEuIGJlc3RpbW10IHdlcmRlbiBrYW5uLCBvYgogICBlaW5lIGJlc3RlaGVuZGVuIFJlZ2lzdHJhdHVyIGltcG9ydGllcnQgd2VyZGVuIHNvbGwgdW5kIHdvIFdJTkUgZGllCiAgIGVpZ2VuZSBSZWdpc3RyYXR1ciBhYmxlZ2VuIHNvbGwuCiAgIAogICBMb2FkR2xvYmFsUmVnaXN0cnlGaWxlcwogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IGlzdCwgbGllc3QKICAgICAgICAgIFdJTkUgZGllIHN5c3RlbXdlaXQgZ/xsdGlnZW4gUmVnaXN0cmF0dXJkYXRlbiBlaW4uIERpZXMgaXN0CiAgICAgICAgICBkaWUgU3RhbmRhcmRlaW5zdGVsbHVuZy4gQmVpc3BpZWw6ICJMb2FkR2xvYmFsUmVnaXN0cnlGaWxlcyIgPQogICAgICAgICAgInRydWUiCiAgICAgICAgICAKICAgTG9hZEhvbWVSZWdpc3RyeUZpbGVzCiAgICAgICAgICBXZW5uIGRpZXNlIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgaXN0LCBsaWVzdAogICAgICAgICAgV0lORSBkaWUgUmVnaXN0cmF0dXJkYXRlbiBhdXMgZGVtIFZlcnplaWNobmlzIC53aW5lIGltCiAgICAgICAgICBIZWltYXR2ZXJ6ZWljaG5pcyBkZXMgYXVmcnVmZW5kZW4gQmVudXR6ZXJzIGVpbi4gRGllCiAgICAgICAgICBSZWdpc3RyYXR1cmRhdGVuIGRlcyBCZW51dHplcnMgd2VyZGVuIG5hY2ggZGVuIHN5c3RlbXdlaXQKICAgICAgICAgIGf8bHRpZ2VuIERhdGVuIGdlbGFkZW4sIHNvIGRhc3MgQmVudXR6ZXIgZGllCiAgICAgICAgICBWb3JlaW5zdGVsbHVuZ2VuIGF1cyBkZXIgZ2xvYmFsZW4gUmVnaXN0cmF0dXIgbWl0IGVpZ2VuZW4KICAgICAgICAgIFdlcnRlbiD8YmVyc2NocmVpYmVuIGv2bm5lbi4gQmVpc3BpZWw6CiAgICAgICAgICAiTG9hZEhvbWVSZWdpc3RyeUZpbGVzIiA9ICJ0cnVlIiAKICAgICAgICAgIAogICBMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXMKICAgICAgICAgIE1pdCBkaWVzZXIgVmFyaWFibGVuIHdpcmQgYmVzdGltbXQsIG9iIGRpZSBSZWdpc3RyYXR1ciBlaW5lcgogICAgICAgICAgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gZ2VsYWRlbiB3ZXJkZW4gc29sbC4gV2VubgogICAgICAgICAgZGllIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgaXN0LCBzdGVsbHQgV0lORQogICAgICAgICAgc2VsYnN0c3TkbmRpZyBmZXN0LCB1bSB3ZWxjaGUgVmVyc2lvbiB2b24gV2luZG93cyBlcyBzaWNoCiAgICAgICAgICBiZWkgZGVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiBoYW5kZWx0IHVuZCBsaWVzdCBkaWUKICAgICAgICAgIFJlZ2lzdHJhdHVyZGF0ZW4gZGVyIEluc3RhbGxhdGlvbiBlaW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwKICAgICAgICAgIGRhc3MgZGllcyBudXIgZnVua3Rpb25pZXJ0LCB3ZW5uIGRhcyBXaW5kb3dzLSB1bmQgZGFzCiAgICAgICAgICBTeXN0ZW12ZXJ6ZWljaG5pcyBpbSBhbGxnZW1laW5lbiBUZWlsIGRlcgogICAgICAgICAgS29uZmlndXJhdGlvbnNkYXRlaSByaWNodGlnIGFuZ2VnZWJlbiB3b3JkZW4gc2luZCB1bmQgZGVyCiAgICAgICAgICBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24gZW50c3ByZWNoZW4uIEF132VyZGVtIGlzdCBlcwogICAgICAgICAgdS5VLiBub3R3ZW5kaWcsIGRpZSBWYXJpYWJsZSBQcm9maWxlIGltIGFsbGdlbWVpbmVuIFRlaWwKICAgICAgICAgIHJpY2h0aWcgenUgc2V0emVuLiBCZWlzcGllbDogIkxvYWRXaW5kb3dzUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIuCiAgICAgICAgICAKICAgV3JpdGVUb0hvbWVSZWdpc3RyeUZpbGVzCiAgICAgICAgICBXaXJkIGRpZXNlIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQsIHZlcnN1Y2h0IFdJTkUKICAgICAgICAgIGFsbGUgxG5kZXJ1bmdlbiwgZGllIHfkaHJlbmQgZGVyIExhdWZ6ZWl0IHZvbiBXSU5FIGFuIGRlcgogICAgICAgICAgUmVnaXN0cmF0dXIgdm9yZ2Vub21tZW4gd2VyZGVuLCBpbiBkaWUgUmVnaXN0cmF0dXJkYXRlaWVuIGltCiAgICAgICAgICBWZXJ6ZWljaG5pcyAud2luZSBkZXMgYXVmcnVmZW5kZW4gQmVudXR6ZXJzIHp1CiAgICAgICAgICBzY2hyZWliZW4uIERpZXMgaXN0IGluIGRlciBSZWdlbCBub3R3ZW5kaWcsIGRhbWl0CiAgICAgICAgICBXaW5kb3dzLVByb2dyYW1tZSAoaW5zYmVzb25kZXJlIEluc3RhbGxhdGlvbnNwcm9ncmFtbWUpCiAgICAgICAgICDEbmRlcnVuZ2VuIGFuIGRlciBLb25maWd1cmF0aW9uIGFic3BlaWNoZXJuCiAgICAgICAgICBr9m5uZW4uIEJlaXNwaWVsOiAiV3JpdGVUb0hvbWVSZWdpc3RyeUZpbGVzIiA9ICJ0cnVlIi4KICAgICAgICAgICAgICAgICAgICAKICAgUGVyaW9kaWNTYXZlCiAgICAgICAgICBXZW5uIFZlcuRuZGVydW5nZW4gYW4gZGVyIFJlZ2lzdHJhdHVyIHZvbiBXSU5FIGdlc3BlaWNoZXJ0CiAgICAgICAgICB3ZXJkZW4gc29sbGVuLCBnZXNjaGllaHQgZGllcyBub3JtYWxlcndlaXNlIGF1dG9tYXRpc2NoLAogICAgICAgICAgd+RocmVuZCBXSU5FIGJlZW5kZXQgd2lyZC4gQWxsZXJkaW5ncyB3ZXJkZW4gZGllIMRuZGVydW5nZW4KICAgICAgICAgIGRhbm4gbmljaHQgZ2VzcGVpY2hlcnQsIHdlbm4gV0lORSBhdWZncnVuZCBlaW5lcyBGZWhsZXJzCiAgICAgICAgICBuaWNodCBrb3JyZWt0IGJlZW5kZXQgd2VyZGVuIGthbm4uIERlc3dlZ2VuIGlzdCBlcyBt9mdsaWNoLAogICAgICAgICAgbWl0IGRpZXNlciBWYXJpYWJsZW4gYW56dWdlYmVuLCBpbiB3ZWxjaGVtIFplaXRpbnRlcnZhbGwgZGFzCiAgICAgICAgICBQcm9ncmFtbSBkaWUgUmVnaXN0cmF0dXIgYXV0b21hdGlzY2ggc2ljaGVybiBzb2xsLiBEaWUKICAgICAgICAgIGRpZXNlciBWYXJpYWJsZW4g/GJlcmdlYmVuZSBaYWhsIHdpcmQgYWxzIFplaXRpbnRlcnZhbGwgaW4KICAgICAgICAgIFNla3VuZGVuIGludGVycHJldGllcnQuIERhbWl0IGRpZSBSZWdpc3RyYXR1ciBhbHNvCiAgICAgICAgICBiZWlzcGllbHN3ZWlzZSBhbGxlIDEwIE1pbnV0ZW4gYXV0b21hdGlzY2ggYWJnZXNwZWljaGVydAogICAgICAgICAgd2lyZCwgd+RyZSBkaWVzZSBWYXJpYWJsZSBzbyB6dSBzZXR6ZW46ICJQZXJpb2RpY1NhdmUiID0gIjYwMCIuCiAgICAgICAgICAKICAgU2F2ZU9ubHlVcGRhdGVkS2V5cwogICAgICAgICAgTWl0IGRpZXNlciBWYXJpYWJsZW4ga2FubiBiZXN0aW1tdCB3ZXJkZW4sIG9iIFdJTkUgbGVkaWdsaWNoCiAgICAgICAgICBzb2xjaGUgVGVpbGUgZGVyIFJlZ2lzdHJhdHVyIHNpY2hlcm4gc29sbCwgZGllIHNpY2ggd+RocmVuZAogICAgICAgICAgZGVyIExhdWZ6ZWl0IHZlcuRuZGVydCBoYWJlbiBvZGVyIG9iIGltbWVyIGRpZSBnZXNhbXRlCiAgICAgICAgICBSZWdpc3RyYXR1ciBnZXNwZWljaGVydCB3ZXJkZW4gc29sbC4gRGFzIGZvbGdlbmRlIEJlaXNwaWVsCiAgICAgICAgICBzcGVpY2hlcnQgZGllIFJlZ2lzdHJhdHVyIGtvbXBsZXR0OgogICAgICAgICAgIlNhdmVPbmx5VXBkYXRlZEtleXMiID0gImZhbHNlIi4KICAgICAgICAgIAogICBIaW53ZWlzOiAKICAgV2VpbCBkYXMgSW1wb3J0aWVyZW4gZWluZXIgZ3Jv32VuIFdpbmRvd3MtUmVnaXN0cmF0dXIgZWluIHJlbGF0aXYKICAgemVpdGF1ZndlbmRpZ2VyIFZvcmdhbmcgaXN0LCBlbXBmaWVobHQgZXMgc2ljaCwgZGllCiAgIFdpbmRvd3MtUmVnaXN0cmF0dXIgbnVyIGJlaW0gZXJzdGVuIFN0YXJ0IHZvbiBXSU5FIHp1IGltcG9ydGllcmVuCiAgICgiTG9hZFdpbmRvd3NSZWdpc3RyeUZpbGVzIiA9ICJ0cnVlIikgdW5kIGRpZXNlIGRhbm4ga29tcGxldHQgdm9uIFdJTkUKICAgc3BlaWNoZXJuIHp1IGxhc3NlbiAoIlNhdmVPbmxlVXBkYXRlZEtleXMiID0gImZhbHNlIikuIERhbmFjaCBsaWVndCBkaWUKICAgUmVnaXN0cmF0dXIgdm9sbHN05G5kaWcgaW4gV0lORXMgZWlnZW5lbSBGb3JtYXQgdm9yLCBzbyBkYXNzIGJlaQogICBzcOR0ZXJlbiBTdGFydHMgdm9uIFdJTkUgYXVmIGRlbiBJbXBvcnQgZGVyIFdpbmRvd3MtUmVnaXN0cmF0dXIKICAgdmVyemljaHRldCB3ZXJkZW4ga2FubiAoIkxvYWRXaW5kb3dzUmVnaXN0cnlGaWxlcyIgPSAiZmFsc2UiKS4KICAgCiAgNy45IEVpbnN0ZWxsdW5nIGRlcyBMb29rIGFuZCBGZWVsCiAgCiAgIEltIEFic2Nobml0dCBUd2Vhay5MYXlvdXQgZGVyIEtvbmZpZ3VyYXRpb24gbORzc3Qgc2ljaCBkdXJjaCBkaWUKICAgVmFyaWFibGUgV0lORUxvb2sgYmVzdGltbWVuLCB3ZWxjaGVzIExvb2sgYW5kIEZlZWwgdm9uIFdpbmRvd3MKICAgZHVyY2ggV0lORSBuYWNoZW1wZnVuZGVuIHdlcmRlbiBzb2xsLiBEZXIgV2VydCBXaW4zMSBiZXdpcmt0LCBkYXNzCiAgIFdJTkUgYWxsZSBGZW5zdGVyZWxlbWVudGUgaW4gZGVtIEVyc2NoZWludW5nc2JpbGQgZXJ6ZXVndCwgd2llIGVzCiAgIHZvbiBXaW5kb3dzIDMuMTEgYmVrYW5udCBpc3QuIEFuYWxvZyBkYXp1IGJld2lya2VuIGRpZSBXZXJ0ZSBXaW45NQogICB1bmQgV2luOTggZWluIG1vZGVybmVyZXMgRXJzY2hlaW51bmdzYmlsZC4gQmVpc3BpZWw6CgogICBbVHdlYWsuTGF5b3V0XQogICAiV0lORUxvb2siID0gIldpbjk4IgoKCiAgNy4xMCBLb25maWd1cmF0aW9uIGRlciBXaW5kb3dzLUNvbnNvbGUKICAKICAgSW0gR2VnZW5zYXR6IHp1IDE2LUJpdC1XaW5kb3dzLVZlcnNpb25lbiBpc3QgZXMgbWl0IGRlbSBXaW4zMiBBUEkgd2llCiAgIHVudGVyIFVOSVggbfZnbGljaCwgUHJvZ3JhbW1lIGb8ciBkZW4gVGV4dG1vZHVzIHp1IGVyc3RlbGxlbiwgZGllCiAgIHVudGVyIFdpbmRvd3Mgbm9ybWFsZXJ3ZWlzZSBpbiBlaW5lbSBzbyBnZW5hbm50ZW4gIk1TLURPUy1GZW5zdGVyIgogICBhdXNnZWb8aHJ0IHdlcmRlbiAob2J3b2hsIGRpZXNlIFByb2dyYW1tZSBuaWNodCB2aWVsIG1pdCBNUy1ET1MgenUKICAgdHVuIGhhYmVuKS4gVW50ZXIgV0lORSB2ZXJ3ZW5kZW4gc29sY2hlIFByb2dyYW1tZSBzdGFuZGFyZG3k32lnIGRpZQogICBTdGFuZGFyZGVpbmdhYmUgdW5kIC1BdXNnYWJlIGRlcyBUZXJtaW5hbHMsIHZvbiBkZW0gYXVzIFdJTkUKICAgZ2VzdGFydGV0IHd1cmRlLiBJbSBBYnNjaG5pdHQgW0NvbnNvbGVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGlzdAogICBlcyBt9mdsaWNoLCBkaWUgRWlnZW5zY2hhZnRlbiBkZXIgS29uc29sZSBm/HIgV2luZG93cy1Qcm9ncmFtbWUKICAgbuRoZXIgenUgYmVzdGltbWVuLgogICAKICAgRHJpdmVycwogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdpZSBkaWUgS29uc29sZSB6dXIgVmVyZvxndW5nCiAgICAgICAgICBnZXN0ZWxsdCB3ZXJkZW4gc29sbC4gV0lORSBrYW5uIGRhenUgZGFzIG1pdCBkZW0KICAgICAgICAgIFdJTkUtUHJvemVzcyB2ZXJidW5kZW5lIFRlcm1pbmFsIHZlcndlbmRlbiBvZGVyIGb8ciBqZWRlcwogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbSwgd2VsY2hlcyBlaW5lIG5ldWUgS29uc29sZSBhbmZvcmRlcnQsIGVpbgogICAgICAgICAgbmV1ZXMgVGVybWluYWxmZW5zdGVyICh3aWUgei5CLiB4dGVybSkgc3RhcnRlbi4gSW0KICAgICAgICAgIGFsbGdlbWVpbmVuIGlzdCBlcyB6dSBlbXBmZWhsZW4sIGb8ciBqZWRlIEtvbnNvbGUgZWluCiAgICAgICAgICBlaWdlbmVzIFRlcm1pbmFsZmVuc3RlciB6dSB2ZXJ3ZW5kZW4sIHdlaWwgZXMgenUKICAgICAgICAgIHVuZXJ3/G5zY2h0ZW4gTmViZW5lZmZla3RlbiBrb21tZW4ga2Fubiwgd2VubiB2ZXJzY2hpZWRlbmUKICAgICAgICAgIFdpbmRvd3MtUHJvemVzc2UgdW5kIFdJTkUgc2VsYnN0IGRhcyBzZWxiZSBUZXJtaW5hbAogICAgICAgICAgdmVyd2VuZGVuLiBFcyBpc3QgZmVybmVyIG32Z2xpY2gsIGRpZSBuY3Vyc2VzLUJpYmxpb3RoZWsgenUKICAgICAgICAgIGJlbnV0emVuLCB1bSBiZXN0aW1tdGUgRWlnZW5zY2hhZnRlbiwgd2llIGRpZSBEYXJzdGVsbHVuZwogICAgICAgICAgdW50ZXJzY2hpZWRsaWNoZXIgRmFyYmVuLCB6dSBiZW51dHplbi4gRGVyIFZhcmlhYmxlbiBEcml2ZXJzCiAgICAgICAgICBrYW5uIHp1ciBaZWl0IGVpbmUgS29tYmluYXRpb24gYXVzIGRlbiBmb2xnZW5kZW4KICAgICAgICAgIFNjaGz8c3NlbHf2cnRlcm4g/GJlcmdlYmVuIHdlcmRlbjogdHR5LCB4dGVybSB1bmQKICAgICAgICAgIG5jdXJzZXMuIFdlbm4gbWVocmVyZSBkaWVzZSBTY2hs/HNzZWx39nJ0ZXIgYmVudXR6dCB3ZXJkZW4sCiAgICAgICAgICBzaW5kIGRpZXNlIGR1cmNoIGRhcyBQbHVzLVplaWNoZW4gdm9uZWluYW5kZXIgenUKICAgICAgICAgIHRyZW5uZW4uIERpZSBBbmdhYmUgdHR5IGJld2lya3QsIGRhc3MgV0lORSBkYXMgVGVybWluYWwgZvxyCiAgICAgICAgICBkaWUgS29uc29sZSB2ZXJ3ZW5kZXQsIG1pdCB3ZWxjaGVtIGRlciBXSU5FLVByb3plc3MKICAgICAgICAgIHZlcmJ1bmRlbiBpc3QuIER1cmNoIGRpZSBBbmdhYmUgeHRlcm0gd2lyZCBlaW4gbmV1ZXMKICAgICAgICAgIFRlcm1pbmFsZmVuc3RlciBnZfZmZm5ldCwgd2VubiBlaW4gV2luZG93cy1Qcm9ncmFtbSBlaW5lCiAgICAgICAgICBuZXVlIEtvbnNvbGUgYW5mb3JkZXJ0LiBEaWUgQW5nYWJlIG5jdXJzZXMgYmV3aXJrdCwgZGFzcyBkaWUKICAgICAgICAgIG5jdXJzZXMtQmlibGlvdGhlayBiZW51dHp0IHdpcmQuIERpZXMgZnVua3Rpb25pZXJ0IG51ciwgd2VubgogICAgICAgICAgZGllIFVudGVyc3T8dHp1bmcgZGFm/HIgYmVpbSDcYmVyc2V0emVuIGRlcyBQcm9ncmFtbXMKICAgICAgICAgIGFrdGl2aWVydCB3dXJkZS4gQmVpc3BpZWw6ICJEcml2ZXJzIiA9ICJuY3Vyc2VzK3h0ZXJtIgogICAgICAgICAgCiAgIFh0ZXJtUHJvZwogICAgICAgICAgSGllcm1pdCBs5HNzdCBzaWNoIGFuZ2ViZW4sIHdlbGNoZXMgUHJvZ3JhbW0gYXVmZ2VydWZlbgogICAgICAgICAgd2VyZGVuIHNvbGwsIHVtIGRpZSBLb25zb2xlIGluIGVpbmVtIGVpZ2VuZW4gRmVuc3RlcgogICAgICAgICAgZGFyenVzdGVsbGVuICh6LkIuIGJlaSAiRHJpdmVycyIgPSAieHRlcm0iKS4gRXMgbGFzc2VuIHNpY2ggYWxsZQogICAgICAgICAgVGVybWluYWxlbXVsYXRpb25zcHJvZ3JhbW1lIHZlcndlbmRlbiwgd2VsY2hlIGRpZSB2b24geHRlcm0KICAgICAgICAgIGhlciBiZWthbm50ZW4gS29tbWFuZG96ZWlsZW5hcmd1bWVudGUgdmVyc3RlaGVuLiBCZWlzcGllbDoKICAgICAgICAgICJYdGVybVByb2ciID0gInd0ZXJtIi4KICAgICAgICAgIAogICBJbml0aWFsUm93cwogICAgICAgICAgTWl0IGRlciBWYXJpYWJsZW4gd2lyZCBhbmdlZ2ViZW4sIHdpZXZpZWxlIFplaWxlbiBkaWUKICAgICAgICAgIEtvbnNvbGUgbmFjaCBpaHJlbSBTdGFydCBoYWJlbiBzb2xsLiBCZWlzcGllbDoKICAgICAgICAgICJJbml0aWFsUm93cyIgPSAiMjQiLgogICAgICAgICAgCiAgIEluaXRpYWxDb2x1bW5zCiAgICAgICAgICBNaXQgZGVyIFZhcmlhYmxlbiB3aXJkIGFuZ2VnZWJlbiwgd2lldmllbGUgU3BhbHRlbiBkaWUKICAgICAgICAgIEtvbnNvbGUgbmFjaCBpaHJlbSBTdGFydCBoYWJlbiBzb2xsLiBCZWlzcGllbDoKICAgICAgICAgICJJbml0aWFsQ29sdW1ucyIgPSAiODAiLgogICAgICAgICAgCiAgIFRlcm1pbmFsVHlwZQogICAgICAgICAgSGllcm1pdCBs5HNzdCBzaWNoIGZlc3RsZWdlbiwgdm9uIHdlbGNoZW0gVGVybWluYWx0eXAgZGllCiAgICAgICAgICBuY3Vyc2VzLUJpYmxpb3RoZWsgYXVzZ2VoZW4gc29sbC4gVHlwaXNjaGUgV2VydGUgc2luZCB4dGVybQogICAgICAgICAgb2RlciBsaW51eC4KICAgICAgICAgIAogIDcuMTEgRGllIFp3aXNjaGVuYWJsYWdlCiAgCiAgIERhcyBLb256ZXB0IGRlciBad2lzY2hlbmFibGFnZSB1bnRlcnNjaGVpZGV0IHNpY2ggendpc2NoZW4gV2luZG93cwogICB1bmQgZGVtIFggV2luZG93IFN5c3RlbSBldHdhcy4gVW0gYmVpc3BpZWxzd2Vpc2UgZWluZW4gVGV4dCBpbiBkaWUKICAgWndpc2NoZW5hYmxhZ2UgenUgc3RlbGxlbiwgd2lyZCBkaWVzZXIgdW50ZXIgV2luZG93cyBub3JtYWxlcndlaXNlCiAgIHp1buRjaHN0IG1hcmtpZXJ0IHVuZCBkYW5uIPxiZXIgZWluZW4gTWVu/GJlZmVobCBpbiBkaWUKICAgWndpc2NoZW5hYmxhZ2Uga29waWVydCBvZGVyIHZlcnNjaG9iZW4uIFVudGVyIFggc3RlaGVuIG1pbmRlc3RlbnMKICAgendlaSBUeXBlbiB2b24gWndpc2NoZW5hYmxhZ2UgenVyIFZlcmb8Z3VuZy4gTmFjaGRlbSBlaW4gVGV4dCBkb3J0CiAgIG1hcmtpZXJ0IHdvcmRlbiBpc3QsIHN0ZWh0IGVyIGFscyBzbyBnZW5hbm50ZSBwcmlt5HJlIEF1c3dhaGwgenVyCiAgIFZlcmb8Z3VuZzsgZXIga2FubiBkYW5uIHNvZm9ydCBpbiBhbmRlcmUgQW53ZW5kdW5nZW4gZWluZ2Vm/Gd0CiAgIHdlcmRlbiAoZXR3YSBkdXJjaCBCZXTkdGlndW5nIGRlciBtaXR0bGVyZW4gTWF1c3Rhc3RlKS4gRGllCiAgIFp3aXNjaGVuYWJsYWdlIGlzdCBlaW5lIHdlaXRlcmUgQXVzd2FobCwgaW4gZGllIFRleHRlIG9kZXIgYW5kZXJlCiAgIERhdGVuIHZvbiB2aWVsZW4gWC1BbndlbmR1bmdlbiBhdXMga29waWVydCB1bmQgdm9uIGRvcnQgYXVzIHdpZWRlcgogICBlaW5nZWb8Z3Qgd2VyZGVuIGv2bm5lbi4gSW0gQWJzY2huaXR0IFtjbGlwYm9hcmRdIGRlcgogICBLb25maWd1cmF0aW9uc2RhdGVpIGzkc3N0IHNpY2ggYmVzdGltbWVuLCB3aWUgZGllCiAgIFdpbmRvd3MtWndpc2NoZW5hYmxhZ2UgbWl0IGRlciBad2lzY2hlbmFibGFnZSBkZXMgWCBXaW5kb3cgU3lzdGVtcwogICBpbnRlcmFnaWVydC4KICAgCiAgIENsZWFyQWxsU2VsZWN0aW9ucwogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgdHJ1ZSBnZXNldHp0IGlzdCwgd2lyZCBkZXIgSW5oYWx0CiAgICAgICAgICBkZXIgV2luZG93cy1ad2lzY2hlbmFibGFnZSBnZWz2c2NodCB1bmQgZHVyY2ggZGVuIEluaGFsdCBkZXIKICAgICAgICAgIFp3aXNjaGVuYWJsYWdlIGRlcyBYIFdpbmRvdyBTeXN0ZW1zIGVyc2V0enQsIGZhbGxzIGluIGVpbmVyCiAgICAgICAgICBhbmRlcmVuIFggQW53ZW5kdW5nIGV0d2FzIGluIGRpZSBwcmlt5HJlIEF1c3dhaGwgZ2VzdGVsbHQKICAgICAgICAgIHdpcmQuICBXaXJkIGJlaSBWZXJ3ZW5kdW5nIGRpZXNlciBFaW5zdGVsbHVuZyBhbHNvIHp1buRjaHN0CiAgICAgICAgICBldHdhcyBtaXQgZWluZW0gV2luZG93cy1Qcm9ncmFtbSBpbiBkaWUgWndpc2NoZW5hYmxhZ2UKICAgICAgICAgIGdlc3RlbGx0IHVuZCBkYW5hY2ggbWl0IGRlciBNYXVzIGVpbiBUZXh0IGluIGVpbmVyIFgKICAgICAgICAgIEFud2VuZHVuZyBtYXJraWVydCwgc28gZ2VodCBkZXIgdXJzcHL8bmdsaWNoZSBJbmhhbHQgZGVyCiAgICAgICAgICBXaW5kb3dzLVp3aXNjaGVuYWJsYWdlIHZlcmxvcmVuIHVuZCBlcyBzdGVodCBkb3J0IGRlciBtaXQKICAgICAgICAgIGRlciBNYXVzIG1hcmtpZXJ0ZSBUZXh0IHp1ciBWZXJm/Gd1bmcuIEZhbGxzIGRpZSBWYXJpYWJsZQogICAgICAgICAgYXVmIGZhbHNlIGdlc2V0enQgaXN0LCBibGVpYnQgZGVyIEluaGFsdCBkZXIgWndpc2NoZW5hYmxhZ2UKICAgICAgICAgIGR1cmNoIGRpZSBWZXLkbmRlcnVuZyBkZXIgcHJpbeRyZW4gQXVzd2FobCB1bmJlcvxocnQuIFVtCiAgICAgICAgICBkYW5uIGJlaXNwaWVsc3dlaXNlIGVpbmVuIFRleHQgdm9uIFhFbWFjcyBuYWNoIFdvcmQgenUKICAgICAgICAgIGtvcGllcmVuLCByZWljaHQgZXMgbmljaHQgYXVzLCBkZW4gVGV4dCBpbiBYRW1hY3MgenUKICAgICAgICAgIG1hcmtpZXJlbiwgc29uZGVybiBlciBtdXNzIGRvcnQgZXhwbGl6aXQgaW4gZGllCiAgICAgICAgICBad2lzY2hlbmFibGFnZSBrb3BpZXJ0IHdlcmRlbiwgZmFsbHMgc2ljaCBkb3J0IHZvcmhlciBlaW5lCiAgICAgICAgICBBdXN3YWhsIGJlZmFuZCwgZGllIHZvbiBlaW5lciBXaW5kb3dzLUFud2VuZHVuZyBhdXMKICAgICAgICAgIHZvcmdlbm9tbWVuIHd1cmRlLiBCZWlzcGllbDogIkNsZWFyQWxsU2VsZWN0aW9ucyIgPSAidHJ1ZSIKICAgICAgICAgIAogICBQZXJzaXN0ZW50U2VsZWN0aW9uCiAgICAgICAgICBOYWNoZGVtIFdJTkUgYmVlbmRldCB3b3JkZW4gaXN0LCBrYW5uIGRlciBJbmhhbHQgZGVyCiAgICAgICAgICBad2lzY2hlbmFibGFnZSBhbmRlcmVuIFggUHJvZ3JhbW1lbiBub3JtYWxlcndlaXNlIG5pY2h0IG1laHIKICAgICAgICAgIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQgd2VyZGVuLiBXZW5uIGRpZXNlIFZhcmlhYmxlIGF1ZiB0cnVlCiAgICAgICAgICBnZXNldHp0IGlzdCwgc3RhcnRldCBXSU5FIGRlc3dlZ2VuIGVpbiBrbGVpbmVzCiAgICAgICAgICBIaW50ZXJncnVuZHByb2dyYW1tICh3aW5lY2xpcHNydikgd2VsY2hlcyBkZW4gSW5oYWx0IGRlcgogICAgICAgICAgWndpc2NoZW5hYmxhZ2Ugc28gbGFuZ2UgdmVyZvxnYmFyIGjkbHQsIGJpcyBkaWVzZXIgZHVyY2ggZWluCiAgICAgICAgICBhbmRlcmVzIFByb2dyYW1tIGVyc2V0enQgd2lyZCB1bmQgc2ljaCBkYW5uCiAgICAgICAgICBiZWVuZGV0LiBCZWlzcGllbDogIlBlcnNpc3RlbnRTZWxlY3Rpb24iID0gInRydWUiCiAgICAgICAgICAKICA3LjEyIEtvbmZpZ3VyYXRpb24gZGVzIFBvc3RTY3JpcHQtRHJ1Y2tlcnRyZWliZXJzCiAgCiAgIFdJTkUga2FubiB6d2VpIFR5cGVuIHZvbiBEcnVja2VydHJlaWJlcm4gdmVyd2VuZGVuLCBu5G1saWNoIGVjaHRlCiAgIDE2Yml0IFdpbmRvd3MtRHJ1Y2tlcnRyZWliZXIsIHdpZSBTaWUgdm9uIFdpbmRvd3MgMy4xMSBvZGVyIFdpbmRvd3MKICAgOTUvOTggYmVudXR6dCB3ZXJkZW4sIG9kZXIgZWluZW4gZWlnZW5lbiBQb3N0U2NyaXB0LSBEcnVja2VydHJlaWJlciwKICAgbWl0IGRlbSBzaWNoIGF1cyBkZW4gbWVpc3RlbiBXaW5kb3dzLUFud2VuZHVuZ2VuIGhlcmF1cyBpbQogICBQb3N0U2NyaXB0LUZvcm1hdCBkcnVja2VuIGzkc3N0LiBEaWVzZSBQb3N0U2NyaXB0LUF1c2dhYmUga2FubiBkYW5uCiAgIPxiZXIgZGllIFNwb29sZXItU29mdHdhcmUgZGVzIFN5c3RlbXMgKG5vcm1hbGVyd2Vpc2UgbHByL2xwZCkgYXVmCiAgIGVpbmVuIGRpcmVrdCBhbmdlc2NobG9zc2VuZW4gb2RlciBmZXJuZW4gRHJ1Y2tlciBhdXNnZWdlYmVuIHdlcmRlbi4KICAgCiAgIEhpbndlaXNlIHp1ciBWZXJ3ZW5kdW5nIHZvbiAxNmJpdC1XaW5kb3dzLURydWNrZXJ0cmVpYmVyIGZpbmRlbgogICBzaWNoIHUuYS4gaW4gZGVyIERhdGVpIHByaW50aW5nIGltIFVudGVydmVyemVpY2huaXMgZG9jdW1lbnRhdGlvbgogICBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3Nlcy4gSW0gZm9sZ2VuZGVuIHNvbGwgbGVkaWdsaWNoIGF1ZgogICBkaWUgS29uZmlndXJhdGlvbiBkZXMgZWluZ2ViYXV0ZW4gUG9zdFNjcmlwdC1EcnVja2VydHJlaWJlcnMKICAgZWluZ2VnYW5nZW4gd2VyZGVuICh3YXMgZ2VuZXJlbGwgc293aWVzbyBiZXZvcnp1Z3Qgd2lyZCkuCiAgIAogICBadW7kY2hzdCBpc3QgZGFzIFZvcmhhbmRlbnNlaW4gZGVzIERydWNrZXJ0cmVpYmVycyBhbnp1bWVsZGVuLiBEYXp1CiAgIHNpbmQgaW4gZGVyIERhdGVpIHdpbi5pbmkgaW0gV2luZG93cy1WZXJ6ZWljaG5pcyBkaWUgZm9sZ2VuZGVuCiAgIMRuZGVydW5nZW4gdm9yenVuZWhtZW46CgogICBbd2luZG93c10KICAgZGV2aWNlPVdJTkUgUG9zdFNjcmlwdCBEcml2ZXIsV0lORVBTLExQVDE6CgogICBbZGV2aWNlc10KICAgV0lORSBQb3N0U2NyaXB0IERyaXZlcj1XSU5FUFMsTFBUMToKCiAgIEZhbGxzIFNpZSBXSU5FIG9obmUgZWluZSBiZXN0ZWhlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHZlcndlbmRlbiwKICAga2FubiBlcyBzZWluLCBkYXNzIGRpZSBEYXRlaSB3aW4uaW5pIG5vY2ggbmljaHQgZXhpc3RpZXJ0LiBJbgogICBkaWVzZW0gRmFsbCBrYW5uIGRpZSBEYXRlaSBuZXUgYW5nZWxlZ3QgdW5kIGRpZSBvYmVuIGdlemVpZ3RlbgogICBaZWlsZW4gZG9ydCBlaW5nZXRyYWdlbiB3ZXJkZW4uIEZhbGxzIGRpZSBEYXRlaSBiZXJlaXRzIHZvcmhhbmRlbgogICBpc3QsIG38c3NlbiBkaWUgQWJzY2huaXR0ZSBbZGV2aWNlc10gdW5kIFt3aW5kb3dzXSBpbiBkZXIgRGF0ZWkKICAgbG9rYWxpc2llcnQgdW5kIHVtIGRpZSBvYmVuIGdlemVpZ3RlbiBaZWlsZW4gZXJn5G56dAogICB3ZXJkZW4uIEtlaW5lc2ZhbGxzIHNvbGx0ZW4gZGllIEFic2Nobml0dGUgZGV2aWNlcyBvZGVyIHdpbmRvd3MKICAgbWVocm1hbHMgaW4gZGVyIERhdGVpIHZvcmhhbmRlbiBzZWluLgogICAKICAgRGFtaXQgYXVjaCB2b24gMzJiaXQgUHJvZ3JhbW1lbiBhdXMgZ2VkcnVja3Qgd2VyZGVuIGthbm4sIGlzdCBlcwogICBub3R3ZW5kaWcsIGVpbmlnZSBFaW50cuRnZSBpbiBkZXIgUmVnaXN0cmF0dXIgdm9yenVuZWhtZW4uIERpZXNlCiAgIEVpbnRy5GdlIHNpbmQgaW4gZGVyIERhdGVpIHBzZHJ2LnJlZyBpbSBVbnRlcnZlcnplaWNobmlzCiAgIGRvY3VtZW50YXRpb24gZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMgdm9yaGFuZGVuIHVuZCBsYXNzZW4KICAgc2ljaCBtaXQgZGVtIFByb2dyYW1tIHJlZ2FwaSwgd2VsY2hlcyBzaWNoIGltIFVudGVydmVyemVpY2huaXMKICAgcHJvZ3JhbXMvcmVnYXBpIGRlcyBRdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBiZWZpbmRldCwKICAgaW1wb3J0aWVyZW4uIEZhbGxzIG5vY2ggbmljaHQgZ2VzY2hlaGVuLCBpc3QgcmVnYXBpIGRhenUgenVu5GNoc3QgenUKICAg/GJlcnNldHplbi4gWnUgZGllc2VtIFp3ZWNrIGlzdCBpbiBkYXMgVmVyemVpY2huaXMgcHJvZ3JhbXMvcmVnYXBpCiAgIHp1IHdlY2hzZWxuIHVuZCBkb3J0IGRlciBCZWZlaGwgbWFrZSBlaW56dWdlYmVuIChkaWVzIHNldHp0CiAgIHZvcmF1cywgZGFzcyBXSU5FIGJlcmVpdHMgZXJmb2xncmVpY2gg/GJlcnNldHp0IHd1cmRlKS4gRGFuYWNoCiAgIGv2bm5lbiBkaWUgZXJmb3JkZXJsaWNoZW4gU2NobPxzc2VsIGR1cmNoIGRpZSBFaW5nYWJlIGRlcyBmb2xnZW5kZW4KICAgQmVmZWhscyBpbXBvcnRpZXJ0IHdlcmRlbjoKICAgCiAgIC4vcmVnYXBpIHNldFZhbHVlIDwgLi4vLi4vZG9jdW1lbnRhdGlvbi9wc2Rydi5yZWcKICAgCiAgIEFjaHR1bmc6CiAgIEJlaSBkZW0gUHJvZ3JhbW0gcmVnYXBpIGhhbmRlbHQgZXMgc2ljaCB1bSBlaW4gc29nZW5hbm50ZXMKICAgV2luZUxpYi1Qcm9ncmFtbS4gU29sY2hlIFByb2dyYW1tZSBiZW51dHplbiBXSU5FLCB1bQogICBXaW5kb3dzLXNwZXppZmlzY2hlIEZ1bmt0aW9uZW4gdmVyd2VuZGVuIHp1IGv2bm5lbi4gRGFtaXQgc2llCiAgIGF1c2dlZvxocnQgd2VyZGVuIGv2bm5lbiwgbXVzcyBiZXJlaXRzIGVpbmUgZnVua3Rpb25zZuRoaWdlCiAgIFdJTkUtS29uZmlndXJhdGlvbiB2b3JoYW5kZW4gc2Vpbi4gRGllc2VyIFNjaHJpdHQgc29sbHRlIGFsc28gbmljaHQKICAgZHVyY2hnZWb8aHJ0IHdlcmRlbiwgYmV2b3IgZGllIEVyc3RlbGx1bmcgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgYWJnZXNjaGxvc3NlbiB1bmQgZGllIEZ1bmt0aW9uc2bkaGlna2VpdCB2b24gV0lORSBnZXRlc3RldCB3b3JkZW4KICAgaXN0LgogICAKICAgV2VpdGVyIHdpcmQgZWluZSBzbyBnZW5hbm50ZSBQUEQtRGF0ZWkgYmVu9nRpZ3QuIEVpbmUgc29sY2hlIERhdGVpCiAgIGJlc2NocmVpYnQgdmVyc2NoaWVkZW5lIEVpZ2Vuc2NoYWZ0ZW4gZGVzIERydWNrZXJzIHVuZCB3aXJkCiAgIGJlbvZ0aWd0LCBkYW1pdCBXSU5FIGJlaXNwaWVsc3dlaXNlIGVudHNjaGVpZGVuIGthbm4sIG9iIGluIEZhcmJlCiAgIG9kZXIgaW4gU2Nod2Fyei1XZWnfIGdlZHJ1Y2t0IHdlcmRlbiBrYW5uLiBXZW5uIGtlaW4KICAgUG9zdFNjcmlwdC1m5GhpZ2VyIERydWNrZXIgYmVudXR6dCB3aXJkLCBkYW5uIGJlbvZ0aWd0IG1hbiBlaW5lCiAgIFBQRC1EYXRlaSwgd2VsY2hlIGRpZSBFaWdlbnNjaGFmdGVuIGRlcyBnaG9zdHNjcmlwdC1UcmVpYmVycyBm/HIKICAgZGVuIGVpbmdlc2V0enRlbiBEcnVja2VyIGJlc2NocmVpYnQsIHdlaWwgZGllc2VzIFByb2dyYW1tIGluIGRlcgogICBSZWdlbCB6dXIgVW13YW5kbHVuZyB2b24gUG9zdFNjcmlwdCBpbiBkYXMgRHJ1Y2tlcmZvcm1hdCBiZW51dHp0CiAgIHdpcmQuIE1pdCBEZWJpYW4gc3RlaGVuIHNvbGNoZSBEYXRlaWVuIGluIGRlbSBQYWtldCBwcGQtZ3MgenVyCiAgIFZlcmb8Z3VuZy4gV2lyZCBkaWVzZXMgUGFrZXQgYmVudXR6dCwgc29sbHRlIHZvcmhlciBkaWUgRGF0ZWkKICAgL3Vzci9kb2MvcHBkLWdzL1JFQURNRSBnZWxlc2VuIHdlcmRlbi4KICAgCiAgIEVpbmUgUmVpaGUgdm9uIFBQRC1EYXRlaWVuIHN0ZWhlbiB1bnRlciBkZXIgQWRyZXNzZQogICBmdHA6Ly9mdHAuYWRvYmUuY29tL3B1Yi9hZG9iZS9wcmludGVyZHJpdmVycy93aW4vYWxsL3BwZGZpbGVzLyB6dXIKICAgVmVyZvxndW5nLiBJbiBkZW0gVmVyemVpY2huaXMgYmVmaW5kZW4gc2ljaCBzZWxic3RhdXNwYWNrZW5kZQogICBaSVAtQXJjaGl2ZSwgZGllIFBQRC1EYXRlaWVuIGb8ciBEcnVja2VyIHZlcnNjaGllZGVuZXIgSGVyc3RlbGxlcgogICBlbnRoYWx0ZW4uIERpZXNlIEFyY2hpdmUga/ZubmVuIG1pdCBkZW0gUHJvZ3JhbW0gdW56aXAoMSkgZW50cGFja3QKICAgd2VyZGVuLiBVbSBiZWlzcGllbHN3ZWlzZSBkaWUgRGF0ZWkgaHAuZXhlIGF1c3p1cGFja2VuLCB35HJlCiAgIGZvbGdlbmRlciBCZWZlaGwgZWluenVnZWJlbjoKICAgCiAgIHVuemlwIC1MIGhwLmV4ZQogICAKICAgRGFuYWNoIGlzdCBkaWUgZ2V3/G5zY2h0ZSBQUEQtRGF0ZWkgYXVzenV35GhsZW4sIGhpZXJiZWkgbXVzcwogICB1LlUuIGVpbiB3ZW5pZyBleHBlcmltZW50aWVydCB3ZXJkZW4sIHVtIG9wdGltYWxlIEVyZ2Vibmlzc2UgenUKICAgZXJ6aWVsZW4uIERpZSBEYXRlaSBrYW5uIGRhbm4gYmVpc3BpZWxzd2Vpc2UgaW4gZGFzIFZlcnplaWNobmlzCiAgIC91c3IvbG9jYWwvZXRjLyBrb3BpZXJ0IHdlcmRlbiB1bmQgbXVzcyBXSU5FIGR1cmNoIGRlbiBmb2xnZW5kZW4KICAgRWludHJhZyBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBiZWthbm50IGdlbWFjaHQgd2VyZGVuOgoKICAgW3BzZHJ2XQogICAicHBkZmlsZSIgPSAiL3Vzci9sb2NhbC9ldGMvSFA0TTNfVjEuUFBEIgoKICAgRmFsbHMgc2ljaCBkaWUgRGF0ZWkgaW4gZWluZW0gYW5kZXJlbiBWZXJ6ZWljaG5pcyBiZWZpbmRldCBvZGVyCiAgIGVpbmVuIGFuZGVyZW4gTmFtZW4gdHLkZ3QsIGlzdCBkZXIgV2VydCBm/HIgZGllIFZhcmlhYmxlIHBwZGZpbGUKICAgbmF0/HJsaWNoIGVudHNwcmVjaGVuZCBhbnp1cGFzc2VuLgogICAKICAgU2NobGll32xpY2ggYmVu9nRpZ3QgV0lORSBkaWUgRm9udG1ldHJpYy1EYXRlaWVuIGRlciBTY2hyaWZ0YXJ0ZW4sCiAgIGRpZSBhdWYgZGVtIERydWNrZXIgKG9kZXIgbWl0IGdob3N0c2NyaXB0KSB6dXIgVmVyZvxndW5nCiAgIHN0ZWhlbi4gRWluZSBSZWloZSBzb2xjaGVyIEZvbnRtZXRyaWMtRGF0ZWllbiBsYXNzZW4gc2ljaCB1bnRlcgogICBEZWJpYW4gYmVpc3BpZWxzd2Vpc2UgbWl0IGRlbSBQYWtldCB0ZXRleC1leHRyYSBpbnN0YWxsaWVyZW4uIFNpZQogICBiZWZpbmRlbiBzaWNoIG5hY2ggZGVyIEluc3RhbGxhdGlvbiB1bnRlcmhhbGIgZGVzIFZlcnplaWNobmlzc2VzCiAgIC91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtLiBTaWUgaGFiZW4gbm9ybWFsZXJ3ZWlzZSBkaWUKICAgRGF0ZWluYW1lbnNlbmR1bmcgLmFmbSAoQWRvYmUgRm9udE1ldHJpYykuIERpZSB6dSB2ZXJ3ZW5kZW5kZW4KICAgRGF0ZWllbiBzaW5kIGltIEFic2Nobml0dCBbYWZtZmlsZXNdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgIGFuenVnZWJlbi4gRGVyIE5hbWUgamVkZXIgRGF0ZWkgaXN0IGRhYmVpIGVpbmVyIFZhcmlhYmxlbgogICB6dXp1b3JkbmVuLCBkZXJlbiBOYW1lIHNpY2ggYXVzIGRlciBaZWljaGVua2V0dGUgZmlsZSB1bmQgZWluZXIKICAgZm9ydGxhdWZlbmRlbiBaaWZmZXIgenVzYW1tZW5zZXR6dC4gIEJlaSBkZXIgQXVzd2FobCBkZXIKICAgQUZNLURhdGVpZW4gaXN0IHp1IGJlYWNodGVuLCBkYXNzIG51ciBkaWUgRGF0ZWllbiBhbmdlZ2ViZW4gd2VyZGVuCiAgIGJyYXVjaGVuLCBm/HIgZGllIGRlciBlbnRzcHJlY2hlbmRlIEZvbnQgdGF0c+RjaGxpY2ggaW4gZGVyIHZvcmhlcgogICBkZWZpbmllcnRlbiBQUEQtRGF0ZWkgZ2VuYW5udCB3dXJkZS4gRGllIEJlemVpY2hudW5nZW4gZGVyIEZvbnRzCiAgIGJlZmluZGVuIHNpY2ggbm9ybWFsZXJ3ZWlzZSBpbiBkZW4gRm9udG1ldHJpYy1EYXRlaWVuLCBkaWUgbWl0CiAgIGVpbmVtIFRleHRlZGl0b3IgYmV0cmFjaHRldCB3ZXJkZW4ga/ZubmVuLiBEZXIgQW5mYW5nIGRlcwogICBlbnRzcHJlY2hlbmRlbiBBYnNjaG5pdHRzIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGv2bm50ZQogICBiZWlzcGllbHN3ZWlzZSBmb2xnZW5kZXJtYd9lbiBhdXNzZWhlbjoKCiAgIFthZm1maWxlc10KICAgImZpbGUxIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS90aW1lcy9wdG1iOGEuYWZtIgogICAiZmlsZTIiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL3RpbWVzL3B0bWJpOGEuYWZtIgogICAiZmlsZTMiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL3RpbWVzL3B0bXI4YS5hZm0iCiAgICJmaWxlNCIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvdGltZXMvcHRtcmk4YS5hZm0iCiAgICJmaWxlNSIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2Ym84YW4uYWZtIgogICAiZmlsZTYiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmI4YS5hZm0iCiAgICJmaWxlNyIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2Yjhhbi5hZm0iCiAgICJmaWxlOCIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2Ym84YS5hZm0iCiAgICJmaWxlOSIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cm84YW4uYWZtIgogICAiZmlsZTEwIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZyOGEuYWZtIgogICAiZmlsZTExIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZyOGFuLmFmbSIKICAgImZpbGUxMiIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cm84YS5hZm0iCgogICBBdWNoIGhpZXIgc2luZCBkaWUgRGF0ZWluYW1lbiBuYXT8cmxpY2ggYW4gZGllIHRhdHPkY2hsaWNoCiAgIGJlbnV0enRlbiBGb250bWV0cmljLURhdGVpZW4gYW56dXBhc3Nlbi4gRGVyIERydWNrZXJ0cmVpYmVyIHNvbGx0ZQogICBkYW5uIGFscyBXSU5FIFBvc3RTY3JpcHREcml2ZXIgaW4gZGVuIERydWNrZGlhbG9nZW4gZGVyCiAgIFdpbmRvd3MtQW53ZW5kdW5nZW4genVyIFZlcmb8Z3VuZyBzdGVoZW4uCiAgIAogIDcuMTMgS29uZmlndXJhdGlvbiBkZXMgU3Bvb2xlcnMKICAKICAgU3RhbmRhcmRt5N9pZyB3ZXJkZW4gRHJ1Y2tkYXRlbiBpbiBlaW5lIERhdGVpIGltIGFrdHVlbGxlbgogICBBcmJlaXRzdmVyemVpY2huaXMgYXVzZ2VnZWJlbiwgZGVyZW4gTmFtZSBkZXIgQmV6ZWljaG51bmcgZGVzCiAgIERydWNrZXJhbnNjaGx1c3NlcyB1bnRlciBXaW5kb3dzLCBhdWYgZGVuIGdlZHJ1Y2t0IHd1cmRlLCBlbnRzcHJpY2h0LgogICBJbSBBYnNjaG5pdHQgW3Nwb29sZXJdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGzkc3N0IHNpY2ggZGllIEF1c2dhYmUgaW4KICAgZWluZSBhbmRlcmUgRGF0ZWkgdW1sZW5rZW4gb2RlciBhbiBlaW4gYW5kZXJlcyBQcm9ncmFtbSB3ZWl0ZXJsZWl0ZW4uCiAgIERhenUgaXN0IGluIGRlbSBBYnNjaG5pdHQgZGVyIE5hbWUgZGVzIEFuc2NobHVzc2VzIGFscwogICBWYXJpYWJsZW5iZXplaWNobnVuZyBhbnp1Z2ViZW4gKEJlaXNwaWVsOiBMUFQxOikgdW5kIGRpZXNlciBWYXJpYWJsZQogICBkZXIgTmFtZSBkZXIgRGF0ZWkgenUg/GJlcmdlYmVuLCBpbiB3ZWxjaGUgZGllIERydWNrYXVzZ2FiZSBnZWxlbmt0CiAgIHdlcmRlbiBzb2xsLiBVbSBkaWUgQXVzZ2FiZSBhbiBkaWUgU3RhbmRhcmRlaW5nYWJlIGVpbmVzIFByb2dyYW1tcyB6dQogICD8YmVyZ2ViZW4sIGlzdCBkZXIgTmFtZSBkZXMgZ2V3/G5zY2h0ZW4gUHJvZ3JhbW1zIGhpbnRlciBkZW0KICAgUGlwZS1aZWljaGVuICh8KSBhbnp1Z2ViZW4uCiAgIAogICBXZW5uIGFsc28gYmVpc3BpZWxzd2Vpc2UgZGllIEF1c2dhYmUgYXVmIGRlbiBBbnNjaGx1c3MgTFBUMTogYW4gZGFzCiAgIFByb2dyYW1tIGxwciD8YmVyZ2ViZW4gd2VyZGVuIHNvbGwsIHVtIHNpZSBkZW0gU3Bvb2xlciB6dXp1ZvxocmVuLAogICB35HJlIGluIGRpZSBLb25maWd1cmF0aW9uc2RhdGVpIGZvbGdlbmRlciBBYnNjaG5pdHQgYXVmenVuZWhtZW46CgogICBbc3Bvb2xlcl0KICAgIkxQVDE6IiA9ICJ8bHByIgoKCiAgNy4xNCBNdWx0aW1lZGlhLUtvbmZpZ3VyYXRpb24KICAKICAgRGllIE11bHRpbWVkaWEtQXJjaGl0ZWt0dXIgdW50ZXIgV2luZG93cyBiZXN0ZWh0IGF1cyB2ZXJzY2hpZWRlbmVuCiAgIFR5cGVuIHZvbiBUcmVpYmVybiB1bmQgU2Nobml0dHN0ZWxsZW4sIGRpZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuCiAgIGJlbnV0enQgd2VyZGVuIGv2bm5lbi4gRGllc2UgQXJjaGl0ZWt0dXIgd2lyZCB2b24gV0lORQogICBuYWNoZ2ViaWxkZXQsIHdvYmVpIHVudGVyc2NoaWVkbGljaGUgQmVzdGFuZHRlaWxlIG1laHIgb2RlciB3ZW5pZ2VyCiAgIHZvbGxzdORuZGlnIHZvcmhhbmRlbiBzaW5kLiBFaW5lIGF1c2b8aHJsaWNoZSBCZXNjaHJlaWJ1bmcgZGVyCiAgIE11bHRpbWVkaWEtQXJjaGl0ZWt0dXIgdm9uIFdJTkUgYmVmaW5kZXQgc2ljaCBpbiBkZXIgRGF0ZWkKICAgbXVsdGltZWRpYSBpbSBVbnRlcnZlcnplaWNobmlzIGRvY3VtZW50YXRpb24vc3RhdHVzIGRlcwogICBXSU5FLVF1ZWxsY29kZXMuCiAgIAogICBXSU5FIHN0ZWxsdCBlaW5lbiBlaWdlbmVuIFRyZWliZXIgenVyIEFuc3RldWVydW5nIGRlciBTb3VuZGhhcmR3YXJlCiAgIHp1ciBWZXJm/Gd1bmcuIERpZXNlIEFuc3RldWVydW5nIGdlc2NoaWVodCD8YmVyIGRpZSBHZXLkdGVkYXRlaWVuCiAgIC9kZXYvZHNwLCAvZGV2L2F1ZGlvLCAvZGV2L21peGVyIHVzdy4gRGVzd2VnZW4gbXVzcyBkYXJhdWYgZ2VhY2h0ZXQKICAgd2VyZGVuLCBkYXNzIFNjaHJlaWItIHVuZCBMZXNlYmVyZWNodGlndW5nIGb8ciBkaWVzZSBEYXRlaWVuCiAgIGJlc3RlaHQsIGZhbGxzIGRpZSBTb3VuZHVudGVyc3T8dHp1bmcgdm9uIFdJTkUgYmVudXR6dCB3ZXJkZW4KICAgc29sbC4gRGVyIFRyZWliZXIgc2V0enQgYXVmIGRpZSBPU1MtIChPcGVuIFNvdW5kIFN5c3RlbSkgVHJlaWJlcgogICBhdWYsIGRpZSBzdGFuZGFyZG3k32lnIEJlc3RhbmR0ZWlsIGRlcyBMaW51eC1LZXJuZWxzIHNpbmQuCiAgIAogICBCaXMgYXVmIGRpZSBCaWJsaW90aGVrZW4gd2lubW0gdW5kIG1tc3lzdGVtIGxhc3NlbiBzaWNoIGFsbGUKICAgYW5kZXJlbiBLb21wb25lbnRlbiBkZXMgTXVsdGltZWRpYXN5c3RlbXMgYXVjaCBhdXMgZWluZXIKICAgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gdmVyd2VuZGVuLiBEaWVzIGlzdCB2b3IgYWxsZW0gYmVpCiAgIGVpbmlnZW4gTUNJLVRyZWliZXJuIGhpbGZyZWljaCwgZGllIGluIFdJTkUgbm9jaCBuaWNodCB2b2xsc3TkbmRpZwogICBpbXBsZW1lbnRpZXJ0IHNpbmQuIE1DSS1UcmVpYmVyIHdlcmRlbiBnZWxhZGVuLCB3ZW5uIGltIEFic2Nobml0dAogICBbbWNpXSBkZXIgRGF0ZWkgc3lzdGVtLmluaSBpbSBXaW5kb3dzLVZlcnplaWNobmlzIEFud2Vpc3VuZ2VuIGluIGRlcgogICBmb2xnZW5kZW4gRm9ybSBzdGVoZW46CgogICBbbWNpXQogICBjZGF1ZGlvPW1jaWNkYS5kcnYKICAgc2VxdWVuY2VyPW1jaXNlcS5kcnYKCiAgIEJlaSBWZXJ3ZW5kdW5nIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHNvbGx0ZW4gc2ljaAogICBkaWUgZW50c3ByZWNoZW5kZW4gQW53ZWlzdW5nZW4gZG9ydCBiZXJlaXRzIGJlZmluZGVuLiBXaXJkIG9obmUKICAgZWluZSBiZXN0ZWhlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlYXJiZWl0ZXQsIGthbm4gZGllIERhdGVpCiAgIHN5c3RlbS5pbmkgaW0gVW50ZXJ2ZXJ6ZWljaG5pcyBkb2N1bWVudGF0aW9uL3NhbXBsZXMgZGVzCiAgIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMgYWxzIFZvcmxhZ2UgZGllbmVuLiBEdXJjaCBkaWUgVmFyaWFibGUKICAgbWNpIGltIEFic2Nobml0dCBbb3B0aW9uc10gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgdm9uIFdJTkUgbGFzc2VuCiAgIHNpY2ggZGllIERlZmluaXRpb25lbiBhdXMgZGVyIERhdGVpIHN5c3RlbS5pbmkg/GJlcnNjaHJlaWJlbi4gRGFzCiAgIGlzdCBzaW5udm9sbCwgdW0gYmVzdGltbXRlIFRyZWliZXIgbmljaHQgenUgbGFkZW4sIGRpZSBpbiBkZXIgRGF0ZWkKICAgc3lzdGVtLmluaSBhbmdlZ2ViZW4gc2luZCwgd2VpbCBkaWVzZSBUcmVpYmVyIG1pdCBXSU5FIG5pY2h0CiAgIHJpY2h0aWcgZnVua3Rpb25pZXJlbi4gRGllcyBpc3QgenVyIFplaXQgbWl0IGRlbSBNQ0ktVHJlaWJlcgogICB2aWRlb2Rpc2sgZGVyIEZhbGwuIFVtIGFsbGUgTUNJLVRyZWliZXIgKGJpcyBhdWYgdmlkZW9kaXNrKSB6dQogICBsYWRlbiwga/ZubnRlIGluIGRpZSBLb25maWd1cmF0aW9uc2RhdGVpIGRlciBhbHNvIGRlciBmb2xnZW5kZQogICBBYnNjaG5pdHQgYXVmZ2Vub21tZW4gd2VyZGVuOgoKICAgW29wdGlvbnNdCiAgICJtY2kiID0gIkNEQVVESU86U0VRVUVOQ0VSOldBVkVBVURJTzpBVklWSURFTzpNUEVHVklERU8iCgogICBPYiBlaW4gVHJlaWJlciBhdXMgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gZ2VsYWRlbgogICBvZGVyIGRlciB2b24gV0lORSB6dXIgVmVyZvxndW5nIGdlc3RlbGx0ZSBUcmVpYmVyIGJlbnV0enQgd2VyZGVuCiAgIHNvbGwsIGthbm4gd2llIGJlaSBCaWJsaW90aGVrZW4gaW0gQWJzY2huaXR0IERsbE92ZXJyaWRlcyBkZXIKICAgS29uZmlndXJhdGlvbnNkYXRlaSBmZXN0Z2VsZWd0IHdlcmRlbiwgd2llIGVzIHdlaXRlciBvYmVuCiAgIGJlc2NocmllYmVuIHd1cmRlLiBEYWJlaSBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgZGllCiAgIERhdGVpbmFtZW5zZW5kdW5nIC5kcnYgYmVpIFRyZWliZXJuIC0gaW0gR2VnZW5zYXR6IHp1IEJpYmxpb3RoZWtlbgogICAtIG1pdCBhbnp1Z2ViZW4gaXN0LiBVbSBiZWlzcGllbHN3ZWlzZSBkaWUgTUNJLVRyZWliZXIgbWNpYXZpIHVuZAogICBtY2lhbmltIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24genUgbGFkZW4gdW5kIGRpZSD8YnJpZ2VuCiAgIFRyZWliZXIgdm9uIFdJTkUgenUgdmVyd2VuZGVuLCB35HJlbiBkZW0gQWJzY2huaXR0IFtEbGxPdmVycmlkZXNdCiAgIGRpZSBmb2xnZW5kZW4gWmVpbGVuIHp1enVm/GdlbjoKCiAgICJtY2lhdmkuZHJ2LCBtY2lhbmltLmRydiIgPSAibmF0aXZlLCBidWlsdGluIgogICAibWNpY2RhLmRydiwgbWNpc2VxLmRydiIgID0gImJ1aWx0aW4sIG5hdGl2ZSIKICAgIm1zYWNtLmRydiwgbWlkaW1hcC5kcnYiICA9ICJidWlsdGluLCBuYXRpdmUiCiAgICJtY2l3YXZlLmRydiIgICAgICAgICAgICAgPSAiYnVpbHRpbiwgbmF0aXZlIgoKCiAgNy4xNSBFaW5yaWNodGVuIGRlciBSZWdpc3RyYXR1cgogIAogICBFaW5lIFJlaWhlIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gdW5kIFdJTkUgc2VsYnN0IGJlbvZ0aWdlbgogICBiZXN0aW1tdGUgRWludHLkZ2UgaW4gZGVyIFJlZ2lzdHJhdHVyLCBkYW1pdCBzaWUgcmljaHRpZwogICBmdW5rdGlvbmllcmVuLiBXZW5uIFdJTkUgb2huZSBlaW5lIGJlc3RlaGVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24KICAgYmVudXR6dCB3aXJkIG9kZXIgZGllIFdpbmRvd3MtUmVnaXN0cmF0dXIgbmljaHQgaW1wb3J0aWVydCB3ZXJkZW4KICAgc29sbCwgc2luZCBkaWVzZSBFaW50cuRnZSBub2NoIG5pY2h0IHZvcmhhbmRlbiB1bmQgbfxzc2VuIG1pdCBkZW0KICAgd2VpdGVyIG9iZW4gYmVyZWl0cyBlcnfkaG50ZW4gUHJvZ3JhbW0gcmVnYXBpIGltcG9ydGllcnQKICAgd2VyZGVuLiBBbHMgVm9ybGFnZSBrYW5uIGRhenUgZGllIERhdGVpIHdpbmVkZWZhdWx0LnJlZyBpbQogICBRdWVsbGNvZGV2ZXJ6ZWljaG5pcyB2b24gV0lORSBkaWVuZW4uIERpZSBEYXRlaSBzb2xsdGUgamVkb2NoCiAgIGRhcmF1ZmhpbiD8YmVycHL8ZnQgd2VyZGVuLCBvYiBhbGxlIGRvcnQgYW5nZWdlYmVuZW4KICAgTGF1ZndlcmtzYnVjaHN0YWJlbiB1bmQgUGZhZGUgc3RpbW1lbiwgYmV2b3Igc2llIGltcG9ydGllcnQgd2lyZC4KICAgQXXfZXJkZW0gc29sbHRlIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIG5hdPxybGljaCBmZXN0Z2VsZWd0CiAgIHNlaW4sIGRhc3MgZGllIFJlZ2lzdHJhdHVyIGJlaSBCZWVuZGlndW5nIGRlcyBQcm9ncmFtbXMgZ2VzcGVpY2hlcnQKICAgd2lyZCwgZGFtaXQgZGllIGltcG9ydGllcnRlbiBEYXRlbiBhdWNoIGJlaW0gbuRjaHN0ZW4gQXVmcnVmIHZvbgogICBXSU5FIHp1ciBWZXJm/Gd1bmcgc3RlaGVuLiBEYW5hY2gga2FubiBpbiBkYXMgVW50ZXJ2ZXJ6ZWljaG5pcwogICBwcm9ncmFtcy9yZWdhcGkgZGVzIFF1ZWxsY29kZXZlcnplaWNobmlzc2VzIGdld2VjaHNlbHQgd2VyZGVuLiBEb3J0CiAgIGlzdCBkYXMgUHJvZ3JhbW0genVu5GNoc3QgZHVyY2ggRWluZ2FiZSBkZXMgQmVmZWhscyBtYWtlIHp1CiAgIGVyc3RlbGxlbiwgZmFsbHMgZGllcyBub2NoIG5pY2h0IGdlc2NoZWhlbiBpc3QuIERhbmFjaCBr9m5uZW4gZGllCiAgIGVyZm9yZGVybGljaGVuIERhdGVuIG1pdCBkZW0gZm9sZ2VuZGVuIEJlZmVobCBpbXBvcnRpZXJ0IHdlcmRlbjoKICAgCiAgIC4vcmVnYXBpIHNldFZhbHVlIDwgLi4vLi4vd2luZWRlZmF1bHQucmVnCiAgIAo4IEF1ZnJ1ZiB2b24gV0lORSB1bmQgS29tbWFuZG96ZWlsZW5vcHRpb25lbgoKICAgV0lORSBs5HNzdCBzaWNoIHdpZSBqZWRlcyBhbmRlcmUgUHJvZ3JhbW0gdm9uIGRlciBLb21tYW5kb3plaWxlIGF1cwogICBhdWZydWZlbi4gRGVyIE5hbWUgZGVzIGF1c3p1ZvxocmVuZGVuIFdpbmRvd3MtUHJvZ3JhbW1zIGlzdCBXSU5FCiAgIGRhYmVpIGFuIGRlciBLb21tYW5kb3plaWxlIGFuZ2ViZW4uIFByb2dyYW1tZSwgZGllIHNpY2ggaW4gZWluZW0KICAgVmVyemVpY2huaXMgYmVmaW5kZW4sIGRhcyBpbiBkZXIgVmFyaWFibGVuIFBhdGggaW0gQWJzY2huaXR0IFdJTkUKICAgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgYXVmZ2Vm/GhydCBpc3QsIGv2bm5lbiBkYWJlaSBvaG5lIEFuZ2FiZQogICBkZXMgUGZhZG5hbWVucyBhdWZnZXJ1ZmVuIHdlcmRlbi4gRGllIEFuZ2FiZSBkZXIgRGF0ZWluYW1lbnNlbmR1bmcKICAgLmV4ZSBpc3Qgb3B0aW9uYWwuIEZhbGxzIFdJTkUgYWxzbyBnZXN0YXJ0ZXQgdW5kIGRhcwogICBXaW5kb3dzLVByb2dyYW1tIHdpbm1pbmUgKE1pbmVzd2VlcGVyKSBnZWxhZGVuIHdlcmRlbiBzb2xsLCB35HJlCiAgIGRlciBmb2xnZW5kZSBCZWZlaGwgZWluenVnZWJlbiwgdm9yYXVzZ2VzZXR6dCwgZGllIERhdGVpCiAgIHdpbm1pbmUuZXhlIHf8cmRlIHNpY2ggaW4gZWluZW0gVmVyemVpY2huaXMgYmVmaW5kZW4sIHdlbGNoZXMgaW4KICAgZGVyIFZhcmlhYmxlbiBQYXRoIGF1ZmdlZvxocnQgaXN0LgogICAKICAgd2luZSB3aW5taW5lLmV4ZQogICAKICAgU29sbGVuIFByb2dyYW1tZSBnZXN0YXJ0ZXQgd2VyZGVuLCBkaWUgc2ljaCBpbiBWZXJ6ZWljaG5pc3NlbgogICBiZWZpbmRlbiwgd2VsY2hlIG5pY2h0IGluIGRlciBWYXJpYWJsZW4gUGF0aCBiZWZpbmRlbiwgaXN0IGVzCiAgIGVyZm9yZGVybGljaCwgZGVuIFBmYWRuYW1lbiBtaXQgYW56dWdlYmVuLiBIaWVyIGthbm4gZW50d2VkZXIgZGVyCiAgIERPUy0vV2luZG93cy1QZmFkbmFtZSBvZGVyIGRlciBVTklYLVBmYWRuYW1lIGJlbnV0enQgd2VyZGVuLiBEaWUKICAgYmVpZGVuIGZvbGdlbmRlbiBCZWZlaGxlIHf8cmRlbiBhbHNvIGRhcyBnbGVpY2hlIGJld2lya2VuLCBmYWxscwogICBkYXMgTGF1ZndlcmsgQzogZGVtIFVOSVgtVmVyemVpY2huaXMgL3Zhci93aW5yb290IHp1Z2VvcmRuZXQgd+RyZS4KCiAgIHdpbmUgYzpcXHdpbmRvd3NcXHdpbm1pbmUuZXhlCiAgIHdpbmUgL3Zhci93aW5yb290L3dpbmRvd3Mvd2lubWluZS5leGUKCiAgIERlciBS/GNrd+RydHMtU2NocuRnc3RyaWNoIGhhdCBm/HIgZGllIFNoZWxsIEJhc2ggZWluZSBiZXNvbmRlcmUKICAgQmVkZXV0dW5nIHVuZCB3aXJkIGRlc3dlZ2VuIG5vcm1hbGVyd2Vpc2UgbmljaHQgYW4gV0lORQogICD8YmVyZ2ViZW4uIER1cmNoIGRpZSBkb3BwZWx0ZSBBbmdhYmUgZGllc2VzIFplaWNoZW5zIHdpcmQgYmV3aXJrdCwKICAgZGFzcyBlaW4gZWluZmFjaGVyIFNjaHLkZ3N0cmljaCD8YmVyZ2ViZW4gd2lyZC4gRGF0ZWktIHVuZAogICBWZXJ6ZWljaG5pc25hbWVuIGVudGhhbHRlbiB1bnRlciBXaW5kb3dzIGdlbGVnZW50bGljaAogICBMZWVyemVpY2hlbi4gQXVjaCBoaWVyIGlzdCBlcyBub3R3ZW5kaWcgZWluZW4gVHJpY2sgYW56dXdlbmRlbiwKICAgZGFtaXQgZGllIExlZXJ6ZWljaGVuIG5pY2h0IGRhenUgZvxocmVuLCBkYXNzIGRpZSBTaGVsbCBkaWUKICAgZWluemVsbmVuIFRlaWxlIGRlciBOYW1lbiBpbiB2ZXJzY2hpZWRlbmVuIEFyZ3VtZW50ZSB6ZXJsZWd0LiBEZXIKICAgZm9sZ2VuZGUgQmVmZWhsIHf8cmRlIGJlaXNwaWVsc3dlaXNlIG5pY2h0IHp1bSBnZXf8bnNjaHRlbiBFcmdlYm5pcwogICBm/GhyZW46CiAgIAogICB3aW5lIC92YXIvd2lucm9vdC9Qcm9ncmFtbWUvTWljcm9zb2Z0IEdhbWVzL1JvQSBUcmlhbCBWZXJzaW9uL1BBQ0RFTU8uRVhFCiAgIAogICBIaWVyIHf8cmRlIGRpZSBTaGVsbCBXSU5FIHZpZXIgQXJndW1lbnRlIPxiZXJnZWJlbiwgbuRtbGljaAogICAvdmFyL3dpbnJvb3QvUHJvZ3JhbW1lL01pY3Jvc29mdCwgR2FtZXMvUm9BLCBUcmlhbCB1bmQKICAgVmVyc2lvbi9QQUNERU1PLkVYRSwgd29yYXVmaGluIGRhcyB6dSBzdGFydGVuZGUgUHJvZ3JhbW0gbmljaHQgbWVocgogICBnZWZ1bmRlbiB3ZXJkZW4gd/xyZGUuIERhbWl0IGRpZSBTaGVsbCBiZWkgTGVlcnplaWNoZW4ga2VpbmUKICAgVHJlbm51bmcgZHVyY2hm/GhydCwgaXN0IGRlbiBiZXRyZWZmZW5kZW4gTGVlcnplaWNoZW4gZWJlbmZhbGxzIGVpbgogICBy/GNrd+RydHNnZXJpY2h0ZXRlciBTY2hy5GdzdHJpY2ggdm9yYW56dXN0ZWxsZW46CiAgIAogICB3aW5lIC92YXIvd2lucm9vdC9Qcm9ncmFtbWUvTWljcm9zb2Z0XCBHYW1lcy9Sb0FcIFRyaWFsXCBWZXJzaW9uL1BBQ0RFTU8uRVhFCiAgIAogICBGYWxscyBBcmd1bWVudGUgZGVtIHp1IHN0YXJ0ZW5kZW4gV2luZG93cy1Qcm9ncmFtbWVuIPxiZXJnZWJlbgogICB3ZXJkZW4gc29sbGVuLCBpc3QgZGVtIFByb2dyYW1tbmFtZW4gZWluIC0tIHZvcmFuenVzdGVsbGVuLCB1bSBXaW5lCiAgIGRhcyBFbmRlIGRlciBXaW5lLU9wdGlvbmVuIGFuenV6ZWlnZW4gKGRhbWl0IFdpbmUgbmljaHQgZHVyY2ggUHJvZ3JhbW0tCiAgIE9wdGlvbmVuIHZlcndpcnJ0IHdlcmRlbiBrYW5uLCBkaWUgZXZ0LiBlYmVuZmFsbHMgLS1YWFggaGVpc3NlbikuCiAgIFVtIGJlaXNwaWVsc3dlaXNlIGRhcyBQcm9ncmFtbSBub3RlcGFkLmV4ZSB6dSBzdGFydGVuIHVuZCBkaWVzZW0gUHJvZ3JhbW0KICAgZGFzIEFyZ3VtZW50IHJlYWRtZS4xc3QgenUg/GJlcmdlYmVuLCB35HJlIFdJTkUgc28gYXVmenVydWZlbjoKICAgCiAgIHdpbmUgLS0gbm90ZXBhZCByZWFkbWUuMXN0CiAgIAogICBXZW5uIG1laHJlcmUgV2luZG93cy1Qcm9ncmFtbWUgaGludGVyZWluYW5kZXIgZ2VzdGFydGV0IHdlcmRlbiBzb2xsZW4sCiAgIG11c3MgV0lORSBtZWhybWFscyBoaW50ZXJlaW5hbmRlciBtaXQgZGVuIGVudHNwcmVjaGVuZGVuIFByb2dyYW1tbmFtZW4KICAgYWxzIEFyZ3VtZW50IGF1ZmdlcnVmZW4gd2VyZGVuLgogICAKICA4LjEgS29tbWFuZG96ZWlsZW5vcHRpb25lbgogIAogICBOZWJlbiBkZW4gTmFtZW4gZGVyIHp1IHN0YXJ0ZW5kZW4gUHJvZ3JhbW1lIHZlcnN0ZWh0IFdJTkUgZWluZSBSZWloZQogICB2b24gT3B0aW9uZW4sIG1pdCBkZW5lbiBkaWUgT3BlcmF0aW9uIGRlcyBQcm9ncmFtbXMgZ2xvYmFsIGJlZWluZmx1c3N0CiAgIHdlcmRlbiBrYW5uLiBEaWVzZSBPcHRpb25lbiB3ZXJkZW4gZGlyZWt0IHZvbiBXSU5FIGludGVycHJldGllcnQKICAgdW5kIG5pY2h0IGFuIGRhcyBhdWZ6dXJ1ZmVuZGUgV2luZG93cy1Qcm9ncmFtbSD8YmVyZ2ViZW4uCiAgIAogICAtLW1hbmFnZWQKICAgICAgICAgIFN0YW5kYXJkbeTfaWcgbGF1ZmVuIFdpbmRvd3MtUHJvZ3JhbW1lIG1pdCBXSU5FIHVuYWJo5G5naWcKICAgICAgICAgIHZvbSBlaW5nZXNldHp0ZW4gV2luZG93cy1NYW5hZ2VyLiBEaWVzIGthbm4genUgUHJvYmxlbWVuIGJlaQogICAgICAgICAgZGVyIGdsZWljaHplaXRpZ2VuIFZlcndlbmR1bmcgbm9ybWFsZXIgWCBQcm9ncmFtbWUgdW5kIHZvbgogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbWVuIGb8aHJlbi4gRHVyY2ggVmVyd2VuZHVuZyBkZXIgT3B0aW9uCiAgICAgICAgICAtLW1hbmFnZWQgd2VyZGVuIGF1Y2ggV2luZG93cy1Qcm9ncmFtbWUgdm9tIFdpbmRvdy1NYW5hZ2VyCiAgICAgICAgICB2ZXJ3YWx0ZXQsIHNpZSBlcmhhbHRlbiBkYW5uIGRpZSBnbGVpY2hlbiBWZXJ6aWVydW5nZW4gd2llCiAgICAgICAgICBub3JtYWxlIFggUHJvZ3JhbW1lIChzaWVoZSBhdWNoIEFic2Nobml0dCA3LjUpCiAgICAgICAgICAKICAgLS13aW52ZXIgVmVyc2lvbgogICAgICAgICAgVmllbGUgV2luZG93cy1Qcm9ncmFtbWUgZnVua3Rpb25pZXJlbiBudXIgbWl0IGJlc3RpbW10ZW4KICAgICAgICAgIFZlcnNpb25lbiB2b24gV2luZG93cyBvZGVyIHZlcmhhbHRlbiBzaWNoIHVudGVyc2NoaWVkbGljaCwKICAgICAgICAgIGplIG5hY2hkZW0gbWl0IHdlbGNoZXIgVmVyc2lvbiB2b24gV2luZG93cyBzaWUgYXVzZ2Vm/GhydAogICAgICAgICAgd2VyZGVuLiAgRGllc2VyIFBhcmFtZXRlciBkaWVudCBkYXp1LCBXSU5FIGFuenV3ZWlzZW4sIGFscwogICAgICAgICAgd2VsY2hlIFdpbmRvd3MtVmVyc2lvbiBlcyBzaWNoIGF1c2dlYmVuIHNvbGwsIHdlbm4gUHJvZ3JhbW1lCiAgICAgICAgICBkaWVzIGVyZnJhZ2VuLiBTdGFuZGFyZG3k32lnIHZlcnN1Y2h0IFdJTkUgc2VsYnN0CiAgICAgICAgICBoZXJhdXN6dWZpbmRlbiwgd2VsY2hlIFZlcnNpb24gdm9uIGVpbmVtIGJlc3RpbW10ZW4gUHJvZ3JhbW0KICAgICAgICAgIGVyd2FydGV0IHdpcmQuIE1pdCBWZXJzaW9uIGthbm4gZm9sZ2VuZGVzIGFuZ2VnZWJlbiB3ZXJkZW46CiAgICAgICAgICB3aW4zMSAoV2luZG93cyAzLjEpLCB3aW45NSAoV2luZG93cyA5NSksIHdpbjk4IChXaW5kb3dzIDk4KSwKICAgICAgICAgIG50MzUxIChXaW5kb3dzIE5UIDMuNTEpIG9kZXIgbnQ0MCAoV2luZG93cyBOVCA0LjApLiBJbQogICAgICAgICAgWndlaWZlbHNmYWxsIGVtcGZpZWhsdCBzaWNoIHdpbjk1LCB3ZWlsIFdJTkUgenVyIFplaXQgZGllCiAgICAgICAgICBtZWlzdGVuIEdlbWVpbnNhbWtlaXRlbiBtaXQgZGllc2VyIFdpbmRvd3MtVmVyc2lvbgogICAgICAgICAgYXVmd2Vpc3QuIEJlaXNwaWVsOiAtLXdpbnZlciB3aW45NS4KICAgICAgICAgIAogICAtLWRvc3ZlciBWZXJzaW9uCiAgICAgICAgICBXZW5uIERPUy1Qcm9ncmFtbWUgbWl0IFdpbmRvd3MgYXVzZ2Vm/GhydCB3ZXJkZW4sIGVyd2FydGVuCiAgICAgICAgICBkaWVzZSBnZWxlZ2VudGxpY2ggZWluZSBiZXN0aW1tdGUgVmVyc2lvbiB2b24gTVMtRE9TLiBEYXp1CiAgICAgICAgICBpc3QgbWl0IGRlbSBQYXJhbWV0ZXIgLS1kb3N2ZXIgZGllIGdld/xuc2NodGUgVmVyc2lvbiwgaW4KICAgICAgICAgIGRlciBGb3JtIHgueHggYW56dWdlYmVuLiBCZWlzcGllbDogLS1kb3N2ZXIgNy4xMCAoZGllc2UKICAgICAgICAgIFZlcnNpb24gZW50c3ByaWNodCBXaW5kb3dzIDk1YikuCiAgICAgICAgICAKICAgLS1oZWxwCiAgICAgICAgICBEaWUgT3B0aW9uIGJld2lya3QsIGRhc3MgZWluZSDcYmVyc2ljaHQg/GJlciBkaWUgdmVyZvxnYmFyZW4KICAgICAgICAgIE9wdGlvbmVuIGF1c2dlZ2ViZW4gd2lyZC4KICAgICAgICAgIAogICAtLXZlcnNpb24KICAgICAgICAgIERpZSBPcHRpb24gYmV3aXJrdCwgZGFzcyBkaWUgVmVyc2lvbnNudW1tZXIgdm9uIFdJTkUKICAgICAgICAgIGFuZ2V6ZWlndCB3aXJkLgogICAgICAgICAgCiAgIC0tZGxsIEJpYmxpb3RoZWtbLEJpYmxpb3RoZWsgLi4uXT1ifG5bOkJpYmxpb3RoZWtbLEJpYmxpb3RoZWssLi4uXT1ifG5dCiAgICAgICAgICBNaXQgZGllc2VyIE9wdGlvbiBsYXNzZW4gc2ljaCBkaWUgRWluc3RlbGx1bmdlbiBhdXMgZGVtCiAgICAgICAgICBBYnNjaG5pdHQgW0RsbE92ZXJyaWRlc10gYXVzIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgICAgICAgICD8YmVyc2NocmVpYmVuLCBlcyBrYW5uIGFsc28gYW5nZWdlYmVuIHdlcmRlbSwgd2VsY2hlCiAgICAgICAgICBCaWJsaW90aGVrZW4gYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgICAgICAgICBnZWxhZGVuIHVuZCB3ZWxjaGUgZGlyZWt0IHZvbiBXSU5FIHp1IFZlcmb8Z3VuZyBnZXN0ZWxsdAogICAgICAgICAgd2VyZGVuIHNvbGxlbi4gIERlciBPcHRpb24gaXN0IGVpbiBBdXNkcnVjayB6dSD8YmVyZ2ViZW4sCiAgICAgICAgICB3ZWxjaGVyIGF1cyBkZW4gTmFtZW4gZGVyIGJldHJlZmZlbmRlbiBCaWJsaW90aGVrZW4gYmVzdGVodCwKICAgICAgICAgIGRpZSBkdXJjaCBLb21tYXRhIChvaG5lIExlZXJ6ZWljaGVuKSB2b25laW5hbmRlciBnZXRyZW5udAogICAgICAgICAgd2VyZGVuLiBEYW5hY2ggZm9sZ3QgZWluIEdsZWljaGhlaXRzemVpY2hlbiB1bmQgZGFyYXVmaGluCiAgICAgICAgICBlbnR3ZWRlciBkZXIgQnVjaHN0YWJlIGIsIHVtIHp1IGJlc3RpbW1lbiwgZGFzcyBkaWUKICAgICAgICAgIGFuZ2VnZWJlbmVuIEJpYmxpb3RoZWtlbiB2b24gV0lORSB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4gc29sbGVuLCBvZGVyIGRlciBCdWNoc3RhYmUgbiwgZGFtaXQgdmVyc3VjaHQgd2lyZCwKICAgICAgICAgIGRpZSBCaWJsaW90aGVrZW4gYXVzIGVpbmVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiB6dQogICAgICAgICAgbGFkZW4uIFNvbGNoZSBBdXNkcnVja2Uga/ZubmVuIHdpZWRlcmhvbHQgYW5nZWdlYmVuIHdlcmRlbiwKICAgICAgICAgIHNpZSBzaW5kIGRhbm4gZHVyY2ggZWluZW4gRG9wcGVscHVua3QgKG9obmUgTGVlcnplaWNoZW4pCiAgICAgICAgICB2b25laW5hbmRlciB6dSB0cmVubmVuLiBTb2xsZW4gYmVpc3BpZWxzd2Vpc2UgZGllCiAgICAgICAgICBCaWJsaW90aGVrZW4gc2hlbGwsIGNvbW1kbGcgdW5kIGNvbW1jdHJsIG1pdCBpaHJlbgogICAgICAgICAgenVnZWj2cmlnZW4gMzJiaXQgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbgogICAgICAgICAgSW5zdGFsbGF0aW9uIGdlbGFkZW4gd2VyZGVuIHVuZCBkaWUgQmlibGlvdGhlayBhZHZhcGkzMiB2b24KICAgICAgICAgIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdCB3ZXJkZW4sIG9id29obCBkaWVzIGluIGRlcgogICAgICAgICAgS29uZmlndXJhdGlvbnNkYXRlaSBhbmRlcnMgYW5nZWdlYmVuIGlzdCwgc28ga/ZubnRlIG1hbiBkaWUKICAgICAgICAgIE9wdGlvbiBzbyBlaW5zZXR6ZW46CgogICAgICAgICAgLS1kbGwgY29tbWRsZyxjb21kbGczMixjb21tY3RybCxjb21jdGwzMixzaGVsbCxzaGVsbDMyPW46YWR2YXBpMzI9Yi4KICAgICAgICAgIAogICAtLWRlYnVnbXNnICt8LWZvbywrfC1iYXIKICAgICAgICAgIERpZXNlIE9wdGlvbiBkaWVudCBkYXp1LCB6dSBrb250cm9sbGllcmVuLCB3ZWxjaGUgQXJ0IHZvbgogICAgICAgICAgSW5mb3JtYXRpb25lbiBXSU5FIHp1ciBGZWhsZXItIHVuZCBBYmxhdWZ2ZXJmb2xndW5nIGF1c2dlYmVuCiAgICAgICAgICBzb2xsLiBFcyBzdGVoZW4gZWluZSBSZWloZSBzbyBnZW5hbm50ZXIgS2Fu5GxlIHp1ciBWZXJm/Gd1bmcsCiAgICAgICAgICBkZXJlbiBOYW1lbiBhbmdlemVpZ3Qgd2VyZGVuLCB3ZW5uIGRpZSBPcHRpb24gb2huZSB3ZWl0ZXJlIEFuZ2FiZW4KICAgICAgICAgIGJlbnV0enQgd2lyZC4gRGllIGVpbnplbG5lbiBLYW7kbGUgZW50c3ByZWNoZW4gbm9ybWFsZXJ3ZWlzZQogICAgICAgICAgdW50ZXJzY2hpZWRsaWNoZW4gVGVpbGJlcmVpY2hlbiB2b24gV0lORSwgZGVyZW4gVmVyaGFsdGVuIGR1cmNoCiAgICAgICAgICBkaWUgQXVzZ2FiZSBiZXN0aW1tdGVyIEluZm9ybWF0aW9uZW4g/GJlcnBy/GZ0IHdlcmRlbiBrYW5uLiBVbQogICAgICAgICAgYmVpc3BpZWxzd2Vpc2UgZGllIE1lbGR1bmdlbiBm/HIgZGVuIEthbmFsIGZpbGUgZWluenVzY2hhbHRlbiwKICAgICAgICAgIHfkcmUgZGllIE9wdGlvbiAtLWRlYnVnbXNnICtmaWxlIHp1IGJlbnV0emVuLiBXZW5uIGRpZQogICAgICAgICAgTWVsZHVuZ2VuIGRlciBLYW7kbGUgZmlsZSB1bmQgZG9zZnMgYXVzZ2VnZWJlbiB3ZXJkZW4gc29sbGVuLAogICAgICAgICAgd+RyZSAtLWRlYnVnbXNnICtmaWxlLCtkb3NmcyBhbnp1Z2ViZW4uIFdlaXRlcmUgSW5mb3JtYXRpb25lbgogICAgICAgICAgaGllcnp1IGJlZmluZGVuIHNpY2ggaW4gZGVyIERhdGVpIGRlYnVnLW1zZyBpbSBVbnRlcnZlcnplaWNobmlzCiAgICAgICAgICBkb2N1bWVudGF0aW9uIGRlcyBXSU5FLVF1ZWxsY29kZXZlcnplaWNobmlzc2VzLiBad2VpIGJlc29uZGVycwogICAgICAgICAgd2ljaHRpZ2UgS2Fu5GxlIHNpbmQgcmVsYXkgdW5kIHNub29wLiBXZW5uIGRlciBLYW5hbCByZWxheQogICAgICAgICAgZWluZ2VzY2hhbHRldCBpc3QsIHdpcmQgYXVzZ2VnZWJlbiwgd2VsY2hlIEZ1bmt0aW9uZW4gaW4gV0lORQogICAgICAgICAgdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiBtaXQgd2VsY2hlbiBQYXJhbWV0ZXJuIGF1ZmdlcnVmZW4gd2VyZGVuCiAgICAgICAgICB1bmQgd2VsY2hlIFL8Y2trZWhyd2VydGUgZGllc2UgRnVua3Rpb25lbiBsaWVmZXJuLiBEZXIgS2FuYWwKICAgICAgICAgIHNub29wIHplaWd0IGFuLCB3ZWxjaGUgRnVua3Rpb25lbiBhdXMgZWNodGVuCiAgICAgICAgICBXaW5kb3dzLUJpYmxpb3RoZWtlbiBhdWZnZXJ1ZmVuIHdlcmRlbi4gRGllIEF1c2dhYmUgZGVzIEthbmFscwogICAgICAgICAgcmVsYXkgZGllbnQgV0lORS1FbnR3aWNrbGVybiBvZnQgZGF6dSwgZmVzdHp1c3RlbGxlbiwgd28gZWluCiAgICAgICAgICBGZWhsZXIgYXVmZ2V0cmV0ZW4gaXN0LiBEZXN3ZWdlbiBpc3QgZXMgcmF0c2FtLCBiZWkKICAgICAgICAgIEZlaGxlcmJlcmljaHRlbiBpbiBkaWUgV0lORS1OZXdzZ3JvdXAgZGllIGxldHp0ZW4gMjAwIFplaWxlbgogICAgICAgICAgZGVyIEF1c2dhYmUgdm9uIFdJTkUgbWl0enVzY2hpY2tlbiwgZGllIGJlaSBkZW0gQXVmcnVmIGRlcwogICAgICAgICAgUHJvZ3JhbW1zIG1pdCBkZXIgT3B0aW9uIC0tZGVidWdtc2cgK3JlbGF5IHZvciBBdWZ0cmV0ZW4gZGVzCiAgICAgICAgICBGZWhsZXJzIGVudHN0YW5kZW4gc2luZC4KICAgICAgICAgIAo5IEZlaGxlcnF1ZWxsZW4KCiAgIFdJTkUgYmVmaW5kZXQgc2ljaCB6dXIgWmVpdCBub2NoIG1pdHRlbiBpbiBkZXIgRW50d2lja2x1bmcsIHdlc3dlZ2VuCiAgIHZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lIG51ciB0ZWlsd2Vpc2Ugb2RlciD8YmVyaGF1cHQgbmljaHQgZGFtaXQKICAgZnVua3Rpb25pZXJlbi4gTWl0IGdyb99lciBXYWhyc2NoZWlubGljaGtlaXQgd2VyZGVuIGVpbmlnZSBQcm9ncmFtbWUKICAgc29nYXIgbmllIG1pdCBXSU5FIGZ1bmt0aW9uaWVyZW4sIGJlaXNwaWVsc3dlaXNlIHdlaWwgc2llIGVpZ2VuZQogICBXaW5kb3dzLVRyZWliZXIgYnJhdWNoZW4sIGRpZSB1bnRlciBMaW51eCBuaWNodCBnZWxhZGVuIHdlcmRlbiBr9m5uZW4uCiAgIFRyb3R6ZGVtIGZ1bmt0aW9uaWVyZW4gdmllbGUgV2luZG93cy1Qcm9ncmFtbWUgYXVzZ2VzcHJvY2hlbiBndXQgbWl0CiAgIFdJTkUgdW5kIGRpZSBBbnphaGwgZnVua3Rpb25pZXJlbmRlciBQcm9ncmFtbWUgZXJo9mh0IHNpY2ggcmVsYXRpdgogICBzY2huZWxsLiBXZW5uIGVpbiBQcm9ncmFtbSBuaWNodCB3aWUgZ2V3/G5zY2h0IGZ1bmt0aW9uaWVydCwga2FubiBlcwogICBkZXN3ZWdlbiBoaWxmcmVpY2ggc2VpbiwgZGllIGZvbGdlbmRlbiBGcmFnZW4genUgdW50ZXJzdWNoZW46CiAgIAogICBXSU5FIGZ1bmt0aW9uaWVydCD8YmVyaGF1cHQgbmljaHQKICAgICAgICAgIEluIGJlc3RpbW10ZW4gUGFrZXR2ZXJzaW9uZW4gZGVyIEMtQmlibGlvdGhlayAoVmVyc2lvbgogICAgICAgICAgMi4xLjMpIGxpZWd0IGVpbiBGZWhsZXIgdm9yLCBkZXIgZGF6dSBm/GhydCwgZGFzcyBXSU5FCiAgICAgICAgICBkaXJla3QgbmFjaCBkZW0gU3RhcnQgbWl0IEZlaGxlcm1lbGR1bmdlbiBhYmJyaWNodC4gU2llCiAgICAgICAgICBr9m5uZW4gZGFzIFByb2JsZW0gYmVoZWJlbiwgaW5kZW0gU2llIGVpbmUgbmV1ZXJlIFZlcnNpb24KICAgICAgICAgIGRlciBDLUJpYmxpb3RoZWsgaW5zdGFsbGllcmVuIG9kZXIgZGllIFZhcmlhYmxlIExBTkcgYXVmCiAgICAgICAgICBlaW5lbiBXZXJ0IHNldHplbi4gQmVpIFZlcndlbmR1bmcgZGVyIEJhc2gga2FubiBkaWVzCiAgICAgICAgICBiZWlzcGllbHN3ZWlzZSBkdXJjaCBFaW5nYWJlIGRlcyBmb2xnZW5kZW4gQmVmZWhscwogICAgICAgICAgZ2VzY2hlaGVuOiBleHBvcnQgTEFORz1kZV9ERS4KICAgICAgICAgIAogICBXSU5FIGZ1bmt0aW9uaWVydCBpbW1lciBub2NoIG5pY2h0CiAgICAgICAgICBXZW5uIFNpZSBXSU5FIGF1ZiBkaWUgYmVzY2hyaWViZW5lIEFydCBpbnN0YWxsaWVydCBoYWJlbiwKICAgICAgICAgIHNvbGx0ZW4gU2llIPxiZXJwcvxmZW4sIGRhc3Mgc2ljaCBuaWNodCBnbGVpY2h6ZWl0aWcgbm9jaAogICAgICAgICAgZWluZSBhbmRlcmUsIORsdGVyZSBWZXJzaW9uIGRlcyBQcm9ncmFtbXMgYXVmIGRlbSBSZWNobmVyCiAgICAgICAgICBiZWZpbmRldCwgd2VsY2hlcyB1LlUuIHZvbiBJaHJlciBEaXN0cmlidXRpb24gbWl0aW5zdGFsbGllcnQKICAgICAgICAgIHd1cmRlLiBEaWVzIGv2bm50ZSBu5G1saWNoIGRhenUgZvxocmVuLCBkYXNzIHZlcnN1Y2h0IHdpcmQsCiAgICAgICAgICBpbmtvbXBhdGlibGUgQmlibGlvdGhla2VuIHp1IGxhZGVuLgogICAgICAgICAgCiAgIFdpbmRvd3MtIHVuZCBXaW5kb3dzL3N5c3RlbS1WZXJ6ZWljaG5pcyBzaW5kIG5pY2h0IHJpY2h0aWcgYW5nZWdlYmVuCiAgICAgICAgICBEaWUgTWVsZHVuZyBJbnZhbGlkIHBhdGggJ2M6XHdpbmRvd3MnIGZvciB3aW5kb3dzIGRpcmVjdG9yeQogICAgICAgICAgYmVzYWd0LCBkYXNzIGltIEFic2Nobml0dCBXSU5FIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIG1pdAogICAgICAgICAgZGVyIFZhcmlhYmxlbiBXaW5kb3dzIGVpbiBXaW5kb3dzLVZlcnplaWNobmlzIGFuZ2VnZWJlbgogICAgICAgICAgd3VyZGUsIHdlbGNoZXMgbmljaHQgZXhpc3RpZXJ0LiBFcyBpc3QgZGFubiB6dSD8YmVycHL8ZmVuLAogICAgICAgICAgb2IgZGFzIFdpbmRvd3MtVmVyemVpY2huaXMgdm9yaGFuZGVuIGlzdCB1bmQgb2IgZGFzCiAgICAgICAgICBMYXVmd2VyaywgYXVmIGRlbSBlcyBzaWNoIGJlZmluZGV0LCBkZW0gcmljaHRpZ2VuCiAgICAgICAgICBVTklYLVZlcnplaWNobmlzIHp1Z2VvcmRuZXQgaXN0LgogICAgICAgICAgCiAgIERpZSBadW9yZG51bmdlbiBkZXIgTGF1ZndlcmtzYnVjaHN0YWJlbiBzdGltbWVuIG5pY2h0CiAgICAgICAgICBXZW5uIGJlaW0gU3RhcnQgdm9uIFdJTkUgTWVsZHVuZ2VuIHdpZSBXYXJuaW5nOgogICAgICAgICAgL3Zhci93aW5yb290L3dpbmRvd3Mvc29sLmV4ZSBub3QgYWNjZXNzaWJsZSBmcm9tIGEgRE9TIGRyaXZlCiAgICAgICAgICBhdXNnZWdlYmVuIHdlcmRlbiwgdGVpbHQgV0lORSBtaXQsIGRhc3MgZGFzIGF1c3p1ZvxocmVuZGUKICAgICAgICAgIFByb2dyYW1tIHNpY2ggaW4gZWluZW0gVmVyemVpY2huaXMgYmVmaW5kZXQsIGRhcyBhdWZncnVuZAogICAgICAgICAgZGVyIFp1b3JkbnVuZ2VuIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIG1pdCBrZWluZW0KICAgICAgICAgIExhdWZ3ZXJrIGFzc296aWllcnQgaXN0LiBFcyBzb2xsdGVuIGRhbm4gZGllCiAgICAgICAgICBMYXVmd2Vya3N6dW9yZG51bmdlbiD8YmVycHL8ZnQgd2VyZGVuLgogICAgICAgICAgCiAgIFdpbmRvd3MtUHJvZ3JhbW1lIGZpbmRlbiBFaW5zdGVsbHVuZ2VuIHVuZCBCaWJsaW90aGVrZW4gbmljaHQKICAgICAgICAgIFdlbm4gV0lORSBtaXQgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gYmVudXR6dAogICAgICAgICAgd2lyZCwgaXN0IGVzIGVyZm9yZGVybGljaCwgZGFzcyBkaWUgTGF1ZndlcmtzYnVjaHN0YWJlbgogICAgICAgICAgdW50ZXIgV2luZG93cyB1bmQgV0lORSD8YmVyZWluc3RpbW1lbi4gRmFsbHMgZWluIFByb2dyYW1tCiAgICAgICAgICBu5G1saWNoIGJlaXNwaWVsc3dlaXNlIGluIGRlciBSZWdpc3RyYXR1ciBnZXNwZWljaGVydCBoYXQsCiAgICAgICAgICBkYXNzIHNpY2ggZWluZSBiZXN0aW1tdGUgS29tcG9uZW50ZSBpbSBWZXJ6ZWljaG5pcwogICAgICAgICAgQzpcV2luZG93c1xTeXN0ZW0gYmVmaW5kZXQsIGRhbm4gaXN0IGVzIGVyZm9yZGVybGljaCwgZGFzcwogICAgICAgICAgZGllc2VzIFByb2dyYW1tIGRpZSBLb21wb25lbnRlIGF1Y2ggdW50ZXIgV0lORSBpbiBkZW0gc2VsYmVuCiAgICAgICAgICBWZXJ6ZWljaG5pcyBmaW5kZXQuIEVzIGlzdCBqZWRvY2ggbfZnbGljaCBtaXQgV0lORQogICAgICAgICAgenVz5HR6bGljaGUgTGF1ZndlcmtlIHp1IHZlcndlbmRlbiAoYWxzbyB6LkIuIGRhcyBlaWdlbmUKICAgICAgICAgIEhlaW1hdHZlcnplaWNobmlzIGVpbmVtIExhdWZ3ZXJrc2J1Y2hzdGFiZW4genV6dW9yZG5lbiksIGRpZQogICAgICAgICAgdW50ZXIgV2luZG93cyBuaWNodCB2b3JoYW5kZW4gc2luZC4KICAgICAgICAgIAogICBTcGllbGUgd2VyZGVuIGltIEZlbnN0ZXIgZGFyZ2VzdGVsbHQsIG9id29obCBWb2xsYmlsZCBhdXNnZXfkaGx0IHd1cmRlCiAgIHVuZCBzaW5kIHp1IGxhbmdzYW0KCiAgICAgICAgICBEaWUgbWVpc3RlbiBTcGllbGUgYmVudXR6ZW4gZWluZW4gYmVzdGltbXRlIEZhcmJ0aWVmZSwgaW4KICAgICAgICAgIGRpZSBXaW5kb3dzIHVtc2NoYWx0ZXQsIHdlbm4gZGFzIGJldHJlZmZlbmRlIFNwaWVsIGdlc3RhcnRldAogICAgICAgICAgd2lyZC4gIE1pdCBkZW0gWCBXaW5kb3cgU3lzdGVtIGlzdCBlcyBsZWlkZXIgbmljaHQgbfZnbGljaAogICAgICAgICAgZGllIEZhcmJ0aWVmZSB35GhyZW5kIGRlcyBsYXVmZW5kZW4gQmV0cmllYnMgenUg5G5kZXJuLAogICAgICAgICAgd2Vzd2VnZW4gV0lORSBkaWUgZ2V3/G5zY2h0ZSBGYXJidGllZmUgaW4gZWluZW0gRmVuc3RlcgogICAgICAgICAgZW11bGllcmVuIG11c3MsIGZhbGxzIGRlciBYLVNlcnZlciBuaWNodCBpbiBkZXIgcmljaHRpZ2VuCiAgICAgICAgICBGYXJidGllZmUgbOR1ZnQuICBEYWR1cmNoIHdpcmQgc2VociB2aWVsIFJlY2hlbmxlaXN0dW5nCiAgICAgICAgICBiZW72dGlndCB1bmQgYXXfZXJkZW0ga2FubiBuaWNodCBpbiBlaW5lbiBWb2xsYmlsZG1vZHVzCiAgICAgICAgICBnZXNjaGFsdGV0IHdlcmRlbi4gQWJoaWxmZSBzY2hhZmZ0IGhpZXIgbnVyLCBkZW4gWC1TZXJ2ZXIgaW4KICAgICAgICAgIGRlciByaWNodGlnZW4gRmFyYnRpZWZlIHp1IHN0YXJ0ZW4sIGJldm9yIFdJTkUgYXVmZ2VydWZlbgogICAgICAgICAgd2lyZC4gSGllcnp1IGRpZW5lbiBkaWUgT3B0aW9uZW4gLWJwcCwgYmVpIFgtU2VydmVybiBkZXMKICAgICAgICAgIFhGcmVlODYtUHJvamVrdHMgZGVyIFZlcnNpb25zZmFtaWxpZSAzLjMueCBiencuIC1kZXB0aCBpbgogICAgICAgICAgZGVyIFZlcnNpb25zZmFtaWxpZSA0LjApIEdlbGVnZW50bGljaCBlbXBmaWVobHQgZXMgc2ljaAogICAgICAgICAgYXVjaCwgZWluZW4gendlaXRlbiBYLVNlcnZlciB6dSBzdGFydGVuLCB3YXMgYW0gZWluZmFjaHN0ZW4KICAgICAgICAgIG1pdCBkZW0gQmVmZWhsIHhpbml0KDEpIGdlc2NoZWhlbiBrYW5uLiBVbSBiZWlzcGllbHN3ZWlzZQogICAgICAgICAgZGFzIFByb2dyYW1tIHEydGVzdC5leGUgbWl0IFdJTkUgYXVmIGVpbmVtIHp3ZWl0ZW4gWC1TZXJ2ZXIKICAgICAgICAgIG1pdCBlaW5lciBGYXJidGllZmUgdm9uIDggQml0IHBybyBQaXhlbCBhdXMgZGVtIGFrdHVlbGxlbgogICAgICAgICAgQXJiZWl0c3ZlcnplaWNobmlzIHp1IHN0YXJ0ZW4sIGv2bm50ZSBkZXIgZm9sZ2VuZGUgQmVmZWhsCiAgICAgICAgICBiZW51dHp0IHdlcmRlbiAoRklYTUU6IG5pY2h0IG1laHIga29ycmVrdCA/KToKICAgICAgICAgIAogICAgICAgICAgeGluaXQgL3Vzci9sb2NhbC9iaW4vV0lORSBxMnRlc3QuZXhlIC0tZGlzcGxheSA6MSAtLSAtYnBwIDggOjEKICAgICAgICAKICAgICAgICAgIEZhbGxzIHNpY2ggV0lORSBpbiBlaW5lbSBhbmRlcmVuIFZlcnplaWNobmlzIGFscwogICAgICAgICAgL3Vzci9sb2NhbC9iaW4gYmVmaW5kZXQsIGlzdCBkZXIgQmVmZWhsIG5hdPxybGljaAogICAgICAgICAgZW50c3ByZWNoZW5kIGFuenVwYXNzZW4uCiAgICAgICAgICAKICAgRGVyIERHQS1Nb2R1cyBmdW5rdGlvbmllcnQgbmljaHQsIG9id29obCBYIGluIGRlciByaWNodGlnZW4KICAgRmFyYnRpZWZlIGF1c2dlZvxocnQgd2lyZDsgU3BpZWxlIHNpbmQgaW1tZXIgbm9jaCBsYW5nc2FtCiAgICAgICAgICBEaWUgVmVyd2VuZHVuZyB2b24gREdBIGlzdCBub3JtYWxlcndlaXNlIG51ciBkZW0KICAgICAgICAgIFN5c3RlbWFkbWluaXN0cmF0b3IgZ2VzdGF0dGV0LCBkYXMgYmV0cmVmZmVuZGUgUHJvZ3JhbW0gbXVzcwogICAgICAgICAgYWxzbyBtaXQgZGVzc2VuIFJlY2h0ZW4gYXVzZ2Vm/GhydCB3ZXJkZW4uIEFsdGVybmF0aXYgZGF6dQogICAgICAgICAgcmVpY2h0IGVzIGF1Y2ggYXVzLCBCZW51dHplcm4gU2NocmVpYi0gdW5kIExlc2VyZWNodGUgYXVmCiAgICAgICAgICBkaWUgR2Vy5HRlZGF0ZWkgL2Rldi9rbWVtIHp1IGVydGVpbGVuLgogICAgICAgICAgCiAgIEVzIGlzdCBrZWluIFNvdW5kIHp1IGj2cmVuCiAgICAgICAgICBadW7kY2hzdCBzb2xsdGUg/GJlcnBy/GZ0IHdlcmRlbiwgb2IgZGllIFNvdW5kdW50ZXJzdPx0enVuZwogICAgICAgICAgZGVzIExpbnV4LUtlcm5lbHMgcmljaHRpZyBmdW5rdGlvbmllcnQsIGFsc28gb2IgZXMgbfZnbGljaAogICAgICAgICAgaXN0LCBtaXQgYW5kZXJlbiBMaW51eC1Qcm9ncmFtbWVuIGRpZSBTb3VuZGthcnRlIHp1CiAgICAgICAgICB2ZXJ3ZW5kZW4uIEltIG7kY2hzdGVuIFNjaHJpdHQga2FubiD8YmVycHL8ZnQgd2VyZGVuLCBvYiBkaWUKICAgICAgICAgIFNvdW5kLUhhcmR3YXJlIHZvbiBlaW5lbSBhbmRlcmVuIFByb2dyYW1tIGJlbnV0enQgd2lyZCB1bmQKICAgICAgICAgIFdJTkUgZGVzd2VnZW4gbmljaHQgZGFyYXVmIHp1Z3JlaWZlbiBrYW5uLgogICAgICAgICAgCldlaXRlcmb8aHJlbmRlIEluZm9ybWF0aW9uZW4KCiAgIERpZSB6ZW50cmFsZSBXZWItQWRyZXNzZSBm/HIgSW5mb3JtYXRpb25lbiB6dSBXSU5FIGlzdAogICBodHRwOi8vd3d3LndpbmVocS5jb20uIERvcnQgYmVmaW5kZW4gc2ljaCBMaW5rcyB6dSB2aWVsZW4gd2VpdGVyZW4KICAgRG9rdW1lbnRlbiwgd2llIGVpbmVtIFdJTkUtRkFRLCBlaW5lbSBXSU5FLUhPV1RPLCBlaW5lciBBbmxlaXR1bmcgenVtCiAgIEVyc3RlbGxlbiB2b24gRmVobGVyYmVyaWNodGVuIHVuZCB2aWVsZXMgbWVoci4K