CSAgIEluc3RhbGxhdGlvbnMtIHVuZCBCZWRpZW51bmdzYW5sZWl0dW5nIGb8ciBXSU5FCgkJCSAgICAgUGV0ZXIgR2FudGVuCgkJCSAgIHBldGVyQGdhbnRlbi5vcmcKCQkJICAgICA3LiBKdWxpIDIwMDAKCgoxLiBadXNhbW1lbmZhc3N1bmcKCkRpZXNlciBUZXh0IGJlc2NocmVpYnQgZGllIEluc3RhbGxhdGlvbiwgRWlucmljaHR1bmcgdW5kIEJlZGllbnVuZyB2b24KV0lORS4gV0lORSBpc3QgZWluZSBMYXVmemVpdHVtZ2VidW5nIHp1bSBBdXNm/GhyZW4gdm9uIFByb2dyYW1tZW4gZvxyCk1TLVdpbmRvd3MgdW50ZXIgR05VL0xpbnV4IHVuZCBhbmRlcmVuIFVOSVgta29tcGF0aWJsZW4KQmV0cmllYnNzeXN0ZW1lbiBhdWYgSW50ZWwteDg2LWtvbXBhdGlibGVuIENvbXB1dGVybiwgZGFzIFByb2dyYW1tIGthbm4KYXXfZXJkZW0gZGF6dSBnZW51dHp0IHdlcmRlbiwgZGVuIFF1ZWxsY29kZSBleGlzdGllcmVuZGVyCldpbmRvd3MtUHJvZ3JhbW1lIG5hY2ggVU5JWCB6dSBwb3J0aWVyZW4uIEluIGRpZXNlbSBUZXh0IGdlaHQgZXMgaW4KZXJzdGVyIExpbmllIGplZG9jaCB1bSBkaWUgSW5zdGFsbGF0aW9uIHVuZCBLb25maWd1cmF0aW9uIGRlcgpMYXVmemVpdHVtZ2VidW5nIGb8ciBXaW5kb3dzLVByb2dyYW1tZS4gRGVyIFRleHQgd3VyZGUKdXJzcHL8bmdsaWNoIGFscyBCZWdsZWl0bWF0ZXJpYWwgZvxyIGVpbmVuIFZvcnRyYWcg/GJlciBXSU5FIHVuZCBkaWUKSW50ZWdyYXRpb24gdm9uIFdpbmRvd3MtQW53ZW5kdW5nZW4gdW50ZXIgR05VL0xpbnV4IGF1ZiBkZW0gTGludXhUYWcKMjAwMCB2b20gMzAuIEp1bmkgYmlzIHp1bSAyLiBKdWxpIDIwMDAgaW4gU3R1dHRnYXJ0IGdlc2NocmllYmVuLiAKCjIuIEVpbmxlaXR1bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApNaXQgV0lORSB3aXJkIGVpbiB1bWZhc3NlbmRlciBBbnNhdHogenVyIEludGVncmF0aW9uIHZvbgpXaW5kb3dzLUFud2VuZHVuZ2VuIHVudGVyIEdOVS9MaW51eCB2ZXJmb2xndC4gV0lORSBiZXN0ZWh0IHUuYS4gYXVzCmVpbmVtIExvYWRlciwgbWl0IGRlbSBXaW5kb3dzLSB1bmQgRE9TLVByb2dyYW1tZSB1bnRlciBMaW51eCBpbiBkZW4KU3BlaWNoZXIgZ2VsYWRlbiB1bmQgdm9tIFByb3plc3NvciBkZXMgUmVjaG5lcnMgYXVzZ2Vm/GhydCB3ZXJkZW4Ka/ZubmVuLiBBdd9lcmRlbSBzdGVsbHQgZGFzIFByb2dyYW1tIGVpbmVuIGdyb99lbiBUZWlsIGRlcgpTY2huaXR0c3RlbGxlbiAoQVBJcykgV2luZG93cy1iYXNpZXJ0ZXIgQmV0cmllYnNzeXN0ZW1lIHp1ciBWZXJm/Gd1bmcuCkRpZXNlIFNjaG5pdHRzdGVsbGVuIHdlcmRlbiB2b24gV2luZG93cy1Qcm9ncmFtbWVuLCBkaWUgbWl0IFdJTkUKYXVzZ2Vm/GhydCB3ZXJkZW4sIGJlbnV0enQsIHNvIGRhc3Mgc29sY2hlIFByb2dyYW1tZSBkaWUgc2VsYmUsCmVyd2FydGV0ZSBVbWdlYnVuZyB2b3JmaW5kZW4sIHdpZSB1bnRlciBXaW5kb3dzLiBXZWlsIGRpZXNlClNjaG5pdHRzdGVsbGVuIG1pdCBXSU5FIHZvcmhhbmRlbiBzaW5kIHVuZCBkZXJlbiBEZWZpbml0aW9uZW4gaW4gRm9ybQp2b24gSGVhZGVyLURhdGVpZW4gdm9ybGllZ2VuLCBrYW5uIFdJTkUgYXVjaCBiZW51dHp0IHdlcmRlbiwgdW0gZGVuClF1ZWxsY29kZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIG5hY2ggR05VL0xpbnV4IG9kZXIgYW5kZXJlbgpVTklYLWJhc2llcnRlbiBCZXRyaWVic3N5c3RlbWVuIHp1IHBvcnRpZXJlbi4gRXMgZW50c3RlaGVuIGRhbm4gZWNodGUKVU5JWC9MaW51eC1Qcm9ncmFtbWUsIHdlbGNoZSBkaWUgc2VsYmUgRnVua3Rpb25hbGl05HQgaGFiZW4sIHdpZSBpaHJlCuRxdWl2YWxlbnRlbiBQcm9ncmFtbWUgdW50ZXIgV2luZG93cy4gRGllIFZlcndlbmR1bmcgZWluZXMKZWluaGVpdGxpY2hlbiBBUElzIHVudGVyIFdpbmRvd3MgdW5kIExpbnV4IGhhdCBm/HIgU29mdHdhcmVoZXJzdGVsbGVyCmRlbiBWb3J0ZWlsLCBkYXNzIG51ciBlaW5lIGVpbnppZ2UgVmVyc2lvbiBkZXMgUXVlbGxjb2RlcyBnZXBmbGVndCB1bmQKd2VpdGVyZW50d2lja2VsdCB3ZXJkZW4gbXVzcywgZGllIHNpY2ggdW50ZXIgYmVpZGVuCkJldHJpZWJzc3lzdGVtZmFtaWxpZW4gdmVyd2VuZGVuIGzkc3N0LgoKRGFzIFdJTkUtUHJvamVrdCB3dXJkZSAxOTkzIGdlc3RhcnRldCwgZXMgd2lyZCBpbSB3ZXNlbnRsaWNoZW4gdm9uCkZyZWl3aWxsaWdlbiBnZXRyYWdlbiwgZGllIPxiZXIgTWFpbGluZ2xpc3RlbiBtaXRlaW5hbmRlcgprb21tdW5pemllcmVuLiBJbiBsZXR6dGVyIFplaXQgaGF0IFdJTkUgenVz5HR6bGljaGUgVW50ZXJzdPx0enVuZwpkdXJjaCBtZWhyZXJlIGtvbW1lcnppZWxsZSBVbnRlcm5laG1lbiBlcmZhaHJlbiwgZGllIFdJTkUgZGF6dQplaW5zZXR6ZW4sIGlocmUgV2luZG93cy1Qcm9ncmFtbWUgbmFjaCBHTlUvTGludXggenUgcG9ydGllcmVuLiBXSU5FCmlzdCBoZXV0ZSBpbiBkZXIgTGFnZSwgZWluZW4gZ3Jv32VuIFRlaWwgZGVyIGV4aXN0aWVyZW5kZW4KV2luZG93cy1Qcm9ncmFtbWUgKDE2LSB1bmQgMzJiaXQpIHVudGVyIExpbnV4IGF1c3p1ZvxocmVuLCBpbiBlaW5lbQpiZWdyZW56dGVuIFVtZmFuZyBr9m5uZW4gYXVjaCBET1MtUHJvZ3JhbW1lIG1pdCBXSU5FIGJlbnV0enQKd2VyZGVuLiBXSU5FIGb8aHJ0IFdpbmRvd3MtUHJvZ3JhbW1lIGRpcmVrdCB1bnRlciBMaW51eCBhdXMsIGVzCmJlbvZ0aWd0IGRhenUga2VpbmUgc3BlemllbGxlbiBLZXJuZWxlcndlaXRlcnVuZ2VuLCBrZWluZSBiZXNvbmRlcmVuClJlY2h0ZSB1bmQga2VpbmUgZXhpc3RpZXJlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uLiBEYXMgRGVzaWduIGVybGF1YnQKZXMsIGRpZSBiZXRyZWZmZW5kZW4gUHJvZ3JhbW1lIHVudGVyIExpbnV4IGdlbmF1c28gc2NobmVsbAphdXN6dWb8aHJlbiwgd2llIHVudGVyIFdpbmRvd3MsIHdlaWwga2VpbmUgRW11bGF0aW9uIGltIFNpbm5lIGVpbmVyCkludGVycHJldGF0aW9uIHZvbiBQcm96ZXNzb3JhbndlaXN1bmdlbiBzdGF0dGZpbmRldC4gWnVyIEF1c2b8aHJ1bmcKZWluZXMgYmVzdGltbXRlbiBQcm9ncmFtbXMgd2VyZGVuIHVudGVyIEdOVS9MaW51eCBtaXQgV0lORSB0aGVvcmV0aXNjaApkaWVzZWxiZW4gU3lzdGVtcmVzc291cmNlbiBiZW72dGlndCB3aWUgdW50ZXIgV2luZG93cy4gT3B0aW9uYWwga2FubgpXSU5FIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4uIEVzIGlzdCBkYW5uCm32Z2xpY2gsIGRpZSBFaW5zdGVsbHVuZ2VuIGRpZXNlciBJbnN0YWxsYXRpb24gZvxyIFdpbmRvd3MtUHJvZ3JhbW1lCnp1IPxiZXJuZWhtZW4gdW5kIGVpbmlnZSBPcmlnaW5hbC1CZXN0YW5kdGVpbGUgdm9uIFdpbmRvd3MgbWl0IFdJTkUgenUKdmVyd2VuZGVuLCB3ZWxjaGUgaW4gV0lORSBub2NoIG5pY2h0IGluIGF1c3JlaWNoZW5kZW0gVW1mYW5nIHp1cgpWZXJm/Gd1bmcgc3RlaGVuLgogICAKSW0gZm9sZ2VuZGVuIHdpcmQgYmVzY2hyaWViZW4sIHdpZSBXSU5FIGF1ZiBlaW5lbSBHTlUvTGludXgtU3lzdGVtCmluc3RhbGxpZXJ0IHVuZCBlaW5nZXJpY2h0ZXQgd2VyZGVuIGthbm4uIEF1c2dlZ2FuZ2VuIHd1cmRlIGRhYmVpCnVyc3BydWVuZ2xpY2ggdm9uIGRlciBMaW51eC1EaXN0cmlidXRpb24gRGViaWFuIEdOVS9MaW51eCAyLjIgKHBvdGF0bykKdW5kIGRlciBXSU5FLVZlcnNpb24gMjAwMDA2MTQuIE1pdHRsZXJ3ZWlsZSB3dXJkZSBkZXIgSW5oYWx0IGF1ZiBuZXVlcmUKV2luZS1WZXJzaW9uZW4gKDIwMDEwNXh4KSBhbmdlcGFzc3QuIEJlaSBWZXJ3ZW5kdW5nIGVpbmVyIGFuZGVyZW4KTGludXgtRGlzdHJpYnV0aW9uIG9kZXIgZWluZXIgYW5kZXJlbiBXSU5FLVZlcnNpb24gc2luZCBkaWUKYmVzY2hyaWViZW5lbiBTY2hyaXR0ZSBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KTWl0dGxlcndlaWxlIGdpYnQgZXMgYmVpIERlYmlhbiB2b24gT3ZlIEthYXZlbiBlaW4gcGVyZmVrdCBhbmdlcGFzc3RlcwpXaW5lLVBhY2thZ2UgKCJ3aW5lIiksIGRhcyB6dXNhbW1lbiBtaXQgIndpbmVzZXR1cHRrIiBraW5kZXJsZWljaHQgdmVyd2VuZGV0CndlcmRlbiBrYW5uLgogICAKMy4gQmlu5HJwYWtldCBvZGVyIFF1ZWxsY29kZT8KCkluIGRlbiBtZWlzdGVuIExpbnV4LURpc3RyaWJ1dGlvbmVuIHNpbmQgaGV1dGUgV0lORS1QYWtldGUKZW50aGFsdGVuLiBIaWVyYmVpIGhhbmRlbHQgZXMgc2ljaCB1bSBCaW7kcnBha2V0ZSwgZGllIFdJTkUgaW4gZWluZXIKRm9ybSBlbnRoYWx0ZW4sIGluIGRlciBlcyBkaXJla3QgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubi4gQWt0dWVsbGUKVmVyc2lvbmVuIHNvbGNoZXIgUGFrZXRlIGxhc3NlbiBzaWNoIGF1Y2ggdm9uIHZlcnNjaGllZGVuZW4KSW50ZXJuZXRzZWl0ZW4gaGVydW50ZXJsYWRlbi4gVGhlb3JldGlzY2ggc29sbHRlIFdJTkUgbmFjaCBkZXIKSW5zdGFsbGF0aW9uIGVpbmVzIEJpbuRycGFrZXRzIHNpbm52b2xsIGtvbmZpZ3VyaWVydCB1bmQgc29mb3J0CmJlbnV0emJhciBzZWluLiBUYXRz5GNobGljaCBpc3QgZXMgaW4gdmllbGVuIEbkbGxlbiBqZWRvY2ggbm90d2VuZGlnLCAKZGllIG1pdCBkZW0gUGFrZXQgaW5zdGFsbGllcnRlIEtvbmZpZ3VyYXRpb24genUg/GJlcmFyYmVpdGVuLiAKCkF1ZmdydW5kIGRlciBzY2huZWxsZW4gRW50d2lja2x1bmcgdm9uIFdJTkUgd2lyZCB6dXIgWmVpdCBlbXBmb2hsZW4sCmFuIFN0ZWxsZSBlaW5lcyBCaW7kcnBha2V0cyBkZW4gYWt0dWVsbGVuIFF1ZWxsY29kZSB6dSB2ZXJ3ZW5kZW4uIERlcgpRdWVsbGNvZGUgbXVzcywgbmFjaGRlbSBtYW4gaWhuIHNpY2ggYmVzY2hhZmZ0IGhhdCwgZW50cGFja3QsCmtvbmZpZ3VyaWVydCB1bmQga29tcGlsaWVydCAo/GJlcnNldHp0KSB3ZXJkZW4uIERhYmVpIGVudHN0ZWh0IGRhbm4KZWluZSBCaW7kcmRhdGVpLCBkaWUgZ2VuYXUgYW4gZGFzIGVpZ2VuZSBTeXN0ZW0gYW5nZXBhc3N0IGlzdCB1bmQKZGVzaGFsYiBlaW5lIGj2aGVyZSBXYWhyc2NoZWlubGljaGtlaXQgZvxyIG9wdGltYWxlIEVyZ2Vibmlzc2UgYmlldGV0LAphbHMgQmlu5HJwYWtldGUsIGRpZSB1LlUuIGb8ciBlaW4gYW5kZXJzIGtvbmZpZ3VyaWVydGVzIFN5c3RlbQplcnN0ZWxsdCB3dXJkZW4uIERpZSBWZXJ3ZW5kdW5nIGRlcyBRdWVsbGNvZGVzIGJpZXRldCBhdd9lcmRlbSBkaWUKTfZnbGljaGtlaXQsIGRhcyBQcm9ncmFtbSByZWxhdGl2IGVpbmZhY2ggYWt0dWFsaXNpZXJlbiB6dSBr9m5uZW4sCndvYmVpIG5pY2h0IGltbWVyIHdpZWRlciBkYXMga29tcGxldHRlIFBha2V0IGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4KbXVzcy4gRGFy/GJlcmhpbmF1cyBrYW5uIG1pdCBkZXIgVmVyd2VuZHVuZyBkZXMgYWt0dWVsbGVuIFF1ZWxsY29kZXMgCnNpY2hlcmdlc3RlbGx0IHdlcmRlbiwgZGFzcyBldnRsLiBhdWZ0cmV0ZW5kZSBGZWhsZXIgd2lya2xpY2ggaW4gV0lORQp2b3JoYW5kZW4gc2luZCB1bmQgbmljaHQgYmVyZWl0cyBiZWhvYmVuIHdvcmRlbiBzaW5kLiBEYWR1cmNoIHdpcmQgZGllCk32Z2xpY2hrZWl0IGdlc3RlaWdlcnQsIHNpbm52b2xsZSBGZWhsZXJiZXJpY2h0ZSBhbiBkaWUKV0lORS1FbnR3aWNrbGVyIHNjaGlja2VuIHp1IGv2bm5lbi4gCgpEaWUgSW5zdGFsbGF0aW9uIHZvbiBCaW7kcnBha2V0ZW4gaXN0IGFiaORuZ2lnIHZvbSBlaW5nZXNldHp0ZW4KUGFrZXRmb3JtYXQgZGVyIERpc3RyaWJ1dGlvbiAoenVtZWlzdCB3aXJkIGRhcyBSZWRoYXQtIG9kZXIKRGViaWFuLUZvcm1hdCBiZW51dHp0KSBzb3dpZSBkZXIgRGlzdHJpYnV0aW9uIHNlbGJzdC4gRGllIGhpZXJ6dQpiZW72dGlndGVuIEluZm9ybWF0aW9uZW4gc29sbHRlbiBzaWNoIGluIGRlciBEb2t1bWVudGF0aW9uIGRlciB2b24KSWhuZW4gZWluZ2VzZXR6dGVuIERpc3RyaWJ1dGlvbiBmaW5kZW4uIEluIGRpZXNlbSBUZXh0IHdpcmQgZGllCkluc3RhbGxhdGlvbiBhdXMgZGVtIFF1ZWxsY29kZSB2b24gV0lORSBiZXNjaHJpZWJlbi4gCgo0LjAgU3lzdGVtdm9yYXVzc2V0enVuZ2VuCgpEYW1pdCBXSU5FIGF1ZiBkZW0gU3lzdGVtIPxiZXJzZXR6dCB1bmQgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubiwgbfxzc2VuCmRpZSBmb2xnZW5kZW4gUHJvZ3JhbW1lIHVuZCBEYXRlaWVuIGluc3RhbGxpZXJ0IHNlaW46CgogICAgMS4gTGludXgtS2VybmVsIGFiIGRlciBWZXJzaW9uc2ZhbWlsaWUgMi4yLnguIChXSU5FIGzkc3N0IHNpY2ggYXVjaAogICAgICAgdW50ZXIgTGludXgtS2VybmVscyBkZXIgVmVyc2lvbnNmYW1pbGllIDIuMC54IGF1c2b8aHJlbiwKICAgICAgIGFsbGVyZGluZ3MgdW50ZXJzdPx0emVuIGRpZXNlIEtlcm5lbHMgYmVzdGltbXRlIHZvbiBXSU5FIGJlbvZ0aWd0ZQogICAgICAgRWlnZW5zY2hhZnRlbiBuaWNodC4gRGllcyBtYWNodCBzaWNoIGluc2Jlc29uZGVyZSBkYW5uIGJlbWVya2JhciwKICAgICAgIHdlbm4gMzJCaXQtV2luZG93c3Byb2dyYW1tZSBtaXQgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbiBzb2xsZW4sIGJlaQogICAgICAgZGVuZW4gbWVocmVyZSBUaHJlYWRzIGdsZWljaHplaXRpZyBhdXNnZWb8aHJ0IHdlcmRlbi4pIERpZQogICAgICAgVmVyc2lvbnNudW1tZXIgZGVzIGFrdHVlbGwgYXVzZ2Vm/GhydGVuIExpbnV4LUtlcm5lbHMgd2lyZAogICAgICAgYW5nZXplaWd0LCB3ZW5uIGRlciBmb2xnZW5kZW4gQmVmZWhsIGFuIGRlciBLb21tYW5kb3plaWxlCiAgICAgICBlaW5nZWdlYmVuIHdpcmQ6CgogICAgICAgdW5hbWUgLXIgCgogICAgMi4gRXMgd2lyZCBlbXBmb2hsZW4sIGRpZSBHTlUgQy1CaWJsaW90aGVrIChsaWJjNikgYWIgVmVyc2lvbiAyLjEKICAgICAgIGVpbnp1c2V0emVuLiBEaWUgVmVyc2lvbnNudW1tZXIgZGVyIGFrdHVlbGwgZWluZ2VzZXR6dGVuCiAgICAgICBDLUJpYmxpb3RoZWsga2FubiBhbmdlemVpZ3Qgd2VyZGVuLCBpbmRlbSBkZXIgZm9sZ2VuZGUgCiAgICAgICBCZWZlaGwgYmVudXR6dCB3aXJkOgoKICAgICAgIGxzIC1sIC9saWIvbGliYy5zby4qIAoKICAgICAgIEF1ZiBlaW5pZ2VuIFN5c3RlbWVuIGlzdCBzb3dvaGwgZGllIORsdGVyZSBDLUJpYmxpb3RoZWsgbGliYzUsCiAgICAgICBhbHMgYXVjaCBkaWUgbmV1ZXJlIEJpYmxpb3RoZWsgbGliYzYgdm9yaGFuZGVuLiBFbnRzY2hlaWRlbmQKICAgICAgIGlzdCBkYW5uIGluIGRlciBSZWdlbCBkaWUgbmV1ZXJlIFZlcnNpb24uIERpZSBDLUJpYmxpb3RoZWsgbXVzcwogICAgICAgUmVlbnRyYW50IHNlaW4sIGRhbWl0IFdJTkUgTXVsdGl0aHJlYWRpbmcgdW50ZXJzdPx0emVuCiAgICAgICBrYW5uLiBEaWVzIGlzdCBiZWkgYWxsZW4gbmV1ZXJlbiBMaW51eC1EaXN0cmlidXRpb25lbiBkZXIKICAgICAgIEZhbGwuIERpZSBDLUJpYmxpb3RoZWsgYmVmaW5kZXQgc2ljaCBpbSBQYWtldCBsaWJjNi4gVW0gV0lORSB6dQogICAgICAg/GJlcnNldHplbiB3ZXJkZW4genVz5HR6bGljaCBkaWUgRW50d2lja2xlcmRhdGVpZW4genVyCiAgICAgICBDLUJpYmxpb3RoZWsgYmVu9nRpZ3QuIERpZXNlIGJlZmluZGVuIHNpY2ggdW50ZXIgRGViaWFuIGltCiAgICAgICBQYWtldCBsaWJjNi1kZXYuCgogICAgMy4gV2VpbCBXSU5FIGRhcyBYIFdpbmRvdyBTeXN0ZW0gYmVudXR6dCwgd2VyZGVuIGRpZSBYLUJpYmxpb3RoZWtlbgogICAgICAgdW5kLCB3ZW5uIFdJTkUg/GJlcnNldHp0IHdlcmRlbiBzb2xsLCBkaWUgRW50d2lja2xlcmRhdGVpZW4gZvxyCiAgICAgICBYIGJlbvZ0aWd0LiBEaWUgQmlibGlvdGhla2VuIHNpbmQgdW50ZXIgRGViaWFuIGltIFBha2V0IHhsaWI2ZwogICAgICAgdW5kIGRpZSBFbnR3aWNrbGVyZGF0ZWllbiBpbSBQYWtldCB4bGliNmctZGV2IGVudGhhbHRlbi4KCiAgICA0LiBEYXL8YmVyaGluYXVzIGJlbvZ0aWd0IFdJTkUgZGllIFhQTS1CaWJsaW90aGVrIChQYWtldCB4cG00ZyksCiAgICAgICBkYW1pdCBkYXMgUHJvZ3JhbW0g/GJlcnNldHp0IHdlcmRlbiBrYW5uLCB3ZXJkZW4gZGllCiAgICAgICBFbnR3aWNrbGVyZGF0ZWllbiBm/HIgWFBNIGJlbvZ0aWd0LCBkaWVzZSBiZWZpbmRlbiBzaWNoIGltIFBha2V0CiAgICAgICB4cG00Zy1kZXYuCgogICAgNS4gRvxyIFByb2dyYW1tZSwgZGllIGltIFRleHRtb2R1cyBhdXNnZWb8aHJ0IHdlcmRlbiwga2FubiBXSU5FIGRpZQogICAgICAgQmlibGlvdGhlayBsaWJuY3Vyc2VzIHZlcndlbmRlbi4gRGFtaXQgZGllIFVudGVyc3T8dHp1bmcgZGFm/HIgaW4KICAgICAgIGRhcyBQcm9ncmFtbSBlaW5nZWJ1bmRlbiB3aXJkLCBt/HNzZW4gZGllIEVudHdpY2tsZXJkYXRlaWVuIGb8cgogICAgICAgZGllc2UgQmlibGlvdGhlayBpbnN0YWxsaWVydCBzZWluIChQYWtldCBsaWJuY3Vyc2VzNS1kZXYpLiBEaWUKICAgICAgIFZlcndlbmR1bmcgZGVyIG5jdXJzZXMtQmlibGlvdGhlayBpc3QgamVkb2NoIG9wdGlvbmFsLgoKICAgIDYuIEViZW5mYWxscyBvcHRpb25hbCBpc3QgZGllIFVudGVyc3T8dHp1bmcgZWluZXIgT3BlbkdMLWtvbXBhdGlibGVuCiAgICAgICBCaWJsaW90aGVrLCB3aWUgei5CLiBNZXNhLiBXZW5uIGRpZSBVbnRlcnN0/HR6dW5nIGb8ciBPcGVuR0wgaW4KICAgICAgIGRhcyBQcm9ncmFtbSBlaW5nZWJ1bmRlbiB3ZXJkZW4gc29sbCwgbfxzc2VuIGRpZQogICAgICAgT3BlbkdMLUVudHdpY2tsZXJkYXRlaWVuIGF1ZiBkZW0gU3lzdGVtIGluc3RhbGxpZXJ0IHNlaW4sIHdpZSBzaWUKICAgICAgIHouQi4gZHVyY2ggZGFzIFBha2V0IG1lc2FnLWRldiBiZXJlaXRnZXN0ZWxsdCB3ZXJkZW4uIFp1c+R0emxpY2gKICAgICAgIHNpbmQgZGFubiBuYXT8cmxpY2ggZGllIE9wZW5HTC1CaWJsaW90aGVrZW4gc2VsYnN0IGVyZm9yZGVybGljaC4KCiAgICA3LiBVbSBXSU5FIHp1IPxiZXJzZXR6ZW4sIG11c3MgZGVyIEdOVS1DLUNvbXBpbGVyIGJlbnV0enQgd2VyZGVuLgogICAgICAgRW1wZm9obGVuIHdpcmQgenVyIFplaXQgVmVyc2lvbiAyLjk1LiBXZWl0ZXIgd2VyZGVuIGVpbmlnZQogICAgICAgU3RhbmRhcmR3ZXJremV1Z2Ugd2llIG1ha2UsIChmKWxleCwgeWFjYyBvZGVyIGJpc29uIGJlbvZ0aWd0LAogICAgICAgZGllIGF1ZiBkZW4gbWVpc3RlbiBMaW51eHN5c3RlbWVuIGJlcmVpdHMgaW5zdGFsbGllcnQgc2VpbiBzb2xsdGVuLgogICAgICAgCiAgIEplIG5hY2hkZW0sIG9iIGluIGRlbSB6dSBlcnpldWdlbmRlbiBCaW7kcmNvZGUgRGVidWctSW5mb3JtYXRpb25lbgogICBlbnRoYWx0ZW4gc2VpbiBzb2xsZW4sIHdlcmRlbiBm/HIgZGllINxiZXJzZXR6dW5nIHVuZCBkaWUKICAgSW5zdGFsbGF0aW9uIHZvbiBXSU5FIHp3aXNjaGVuIGNhLiAxMDAgTUIgdW5kIGNhLiAyNTAgTUIKICAgU3BlaWNoZXJwbGF0eiBhdWYgZGVyIEZlc3RwbGF0dGUgYmVu9nRpZ3QuIEFuIGRlbiBQcm96ZXNzb3IgZGVzCiAgIFJlY2huZXJzIHdlcmRlbiBrZWluZSBiZXNvbmRlcmVuIEFuZm9yZGVydW5nZW4gZ2VzdGVsbHQsIHNvIGlzdCBlaW4KICAgUHJvemVzc29yIGRlciBQZW50aXVtLUtsYXNzZSBtaXQgMTMzIE1oeiBhdXNyZWljaGVuZCwgdW0gbWl0IFdJTkUKICAgYmVpc3BpZWxzd2Vpc2UgVGV4dHZlcmFyYmVpdHVuZ3Nwcm9ncmFtbWUgYXVzenVm/GhyZW4uIEb8ciBTcGllbGUKICAgdW5kIGFuZGVyZSBNdWx0aW1lZGlhLUFud2VuZHVuZ2VuIHdpcmQgYWxsZXJkaW5ncyBpbiBkZXIgUmVnZWwgZWluCiAgIHNjaG5lbGxlcmVyIFJlY2huZXIgYmVu9nRpZ3QuIFdpY2h0aWcgaXN0LCBkYXNzIHNpY2ggaW4gZGVtIFJlY2huZXIKICAgYXVzcmVpY2hlbmQgQXJiZWl0c3NwZWljaGVyIChSQU0pIGJlZmluZGV0LiBadXIgQXVzZvxocnVuZyBncvbfZXJlcgogICBXaW5kb3dzLVByb2dyYW1tZSBzb2xsdGUgZGVyIFJlY2huZXIgbWl0IDY0IE1CIFJBTSBhdXNnZXN0YXR0ZXQKICAgc2Vpbi4KICAgCjUuMCBCZXNjaGFmZnVuZyB1bmQgSW5zdGFsbGF0aW9uIGRlcyBRdWVsbGNvZGVzCgogICBXSU5FIGthbm4gdm9uIHZlcnNjaGllZGVuZW4gU2VydmVybiBpbSBJbnRlcm5ldCBwZXIgRlRQIG9kZXIgSFRUUAogICBoZXJ1bnRlcmdlbGFkZW4gd2VyZGVuLiBOb3JtYWxlcndlaXNlIGthbm4gZGVyIGpld2VpbHMgYWt0dWVsbGUKICAgUXVlbGxjb2RlIHUuYS4gdm9uIGRlbiBmb2xnZW5kZW4gQWRyZXNzZW4gYmV6b2dlbiB3ZXJkZW46CgogICAgICogZnRwOi8vbWV0YWxhYi51bmMuZWR1L3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50LwogICAgICogZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50LwogICAgICogZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi93aW5lL2RldmVsb3BtZW50LwogICAgICogaHR0cDovL21ldGFsYWIudW5jLmVkdS9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC8KICAgICAgIAogICBCZWkgZGVyIEVudHdpY2tsdW5nIHZvbiBXSU5FIHdlcmRlbiB6dXIgWmVpdCBub2NoIGtlaW5lCiAgIFZlcnNpb25zbnVtbWVybiBiZW51dHp0LiBBbiBTdGVsbGUgZGVzc2VuIHRy5Gd0IGplZGUgQXVzZ2FiZSBlaW5lCiAgIFphaGwsIHdlbGNoZSBuYWNoIGRlbSBTY2hlbWEgSmFocmVzemFobCwgTW9uYXQsIFRhZyBkZW0gRGF0dW0KICAgZW50c3ByaWNodCwgYW4gd2VsY2hlbSBkaWUgYmV0cmVmZmVuZGUgVmVyc2lvbiBoZXJhdXNnZWdlYmVuIHd1cmRlLgogICBEaWUgRGF0ZWkgV2luZS0yMDAwMDYxNC50YXIuZ3ogaW4gZWluZW0gZGVyIG9iZW4gYXVmZ2Vm/GhydGVuCiAgIFZlcnplaWNobmlzc2UgZW50aORsdCBhbHNvIGRpZSBWZXJzaW9uIHZvbiBXSU5FLiBkaWUgYW0gMTQuIEp1bmkKICAgMjAwMCBoZXJhdXNnZWdlYmVuIHd1cmRlLiBQcmluemlwaWVsbCBpc3QgZXMgenUgZW1wZmVobGVuLCBkaWUKICAgamV3ZWlscyBuZXVlc3RlIFZlcnNpb24genUgdmVyd2VuZGVuLiBOYWNoZGVtIGRlciBRdWVsbGNvZGUKICAgaGVydW50ZXJnZWxhZGVuIHdvcmRlbiBpc3QsIGthbm4gZXIgZHVyY2ggZGllIEVpbmdhYmUgZGVzIGZvbGdlbmRlbgogICBCZWZlaGxzIGltIGFrdHVlbGxlbiBBcmJlaXRzdmVyemVpY2huaXMgZW50cGFja3Qgd2VyZGVuOgogICAKICAgdGFyIC14dnpmIFdpbmUtMjAwMDA2MTQudGFyLmd6CiAgIAogICBEYWJlaSBpc3QgV2luZS0yMDAwMDYxNC50YXIuZ3ogbmF0/HJsaWNoIGR1cmNoIGRlbiBOYW1lbiBkZXIKICAgaGVydW50ZXJnZWxhZGVuZW4gRGF0ZWkgenUgZXJzZXR6ZW4uIERlciBRdWVsbGNvZGUgd2lyZCBkYW5uIGluIGVpbgogICBVbnRlcnZlcnplaWNobmlzIGRlcyBha3R1ZWxsZW4gVmVyemVpY2huaXNzZXMgZW50cGFja3QsIGRlc3NlbiBOYW1lCiAgIHNpY2ggYXVzIGRlciBCZXplaWNobnVuZyB3aW5lIHVuZCwgZ2V0cmVubnQgdm9uIGVpbmVtIEJpbmRlc3RyaWNoLAogICBkZW0gSGVyYXVzZ2FiZWRhdHVtIGRlciBiZW51dHp0ZW4gVmVyc2lvbiB6dXNhbW1lbnNldHp0LCBhbHNvCiAgIGJlaXNwaWVsc3dlaXNlIHdpbmUtMjAwMDA2MTQuIE5vcm1hbGVyd2Vpc2UgZW1wZmllaGx0IGVzIHNpY2gsCiAgIGRpZXNlcyBWZXJ6ZWljaG5pcyBpbiB3aW5lIHVtenViZW5lbm5lbiwgd2llIGVzIGR1cmNoIEVpbmdhYmUgZGVzCiAgIGZvbGdlbmRlbiBCZWZlaGxzIGdlc2NoZWhlbiBrYW5uOgogICAKICAgbXYgd2luZS0yMDAwMDYxNCB3aW5lCiAgIAogIDUuMSBBa3R1YWxpc2llcmVuIGRlcyBRdWVsbGNvZGVzIG1pdCBQYXRjaGRhdGVpZW4KICAKICAgTmViZW4gZGVuIGtvbXByaW1pZXJ0ZW4gVGFyLUFyY2hpdmVuLCB3ZWxjaGUgZGVuIFF1ZWxsY29kZSB2b24gV0lORQogICBiZWluaGFsdGVuLCBiZWZpbmRlbiBzaWNoIGluIGRlbiBhdWZnZWb8aHJ0ZW4gVmVyemVpY2huaXNzZW4gYXVjaAogICBzbyBnZW5hbm50ZSBQYXRjaC1EYXRlaWVuLCB3ZWxjaGUgbGVkaWdsaWNoIGRpZSDEbmRlcnVuZ2VuCiAgIGVudGhhbHRlbiwgZGllIHp3aXNjaGVuIHp3ZWkgQXVzZ2FiZW4gYW4gV0lORSB2b3JnZW5vbW1lbgogICB3dXJkZW4uIERpZXNlIERhdGVpZW4gc2luZCBub3JtYWxlcndlaXNlIHZpZWwga2xlaW5lciBhbHMgZGVyCiAgIGtvbXBsZXR0ZSBRdWVsbGNvZGUsIHNvIGRhc3MgZXMgc2ljaCBlbXBmaWVobHQsIHNpZSB6dSB2ZXJ3ZW5kZW4sCiAgIHdlbm4gZGFzIFByb2dyYW1tIHZvbiBlaW5lciBWZXJzaW9uIGF1ZiBkaWUgbuRjaHN0ZSBha3R1YWxpc2llcnQKICAgd2VyZGVuIHNvbGwuIEZhbGxzIGF1ZiBlaW5lbSBSZWNobmVyIGJlaXNwaWVsc3dlaXNlIFdpbmUtMjAwMDA2MTQKICAgaW5zdGFsbGllcnQgaXN0IHVuZCBhdWYgV0lORS0yMDAwMDYxNCBha3R1YWxpc2llcnQgd2VyZGVuIHNvbGwsIHNvCiAgIHfkcmUgZGllIERhdGVpIFdJTkUtMjAwMDA2MTQuZGlmZi5neiBoZXJ1bnRlcnp1bGFkZW4uIERpZSBpbiBkZXIKICAgRGF0ZWkgYmVzY2hyaWViZW4gVmVy5G5kZXJ1bmdlbiBr9m5uZW4gYXVmIGRlbiBpbnN0YWxsaWVydGVuCiAgIFF1ZWxsY29kZSBhbmdld2FuZHQgd2VyZGVuLCBpbmRlbSB6dW7kY2hzdCBpbiBkYXMgQmFzaXN2ZXJ6ZWljaG5pcwogICBkZXMgUXVlbGxjb2RlcyAoYWxzbyBpbiBkYXMgVmVyemVpY2huaXMgd2luZSwgd2VsY2hlcyBkdXJjaCBkaWUKICAgb2JlbiBiZXNjaHJpZWJlbmVuIFNjaHJpdHRlIGVudHN0YW5kZW4gaXN0KSBnZXdlY2hzZWx0IHdpcmQgdW5kCiAgIGRhbm4gZGFzIFByb2dyYW1tIHBhdGNoIHdpZSBmb2xndCBhdWZnZXJ1ZmVuIHdpcmQ6CiAgIAogICBndW56aXAgLWMgLi4vV2luZS0yMDAwMDUyNi5kaWZmLmd6IHwgcGF0Y2ggLXAxCiAgIAogICBIaWVyIHdpcmQgZGF2b24gYXVzZ2VnYW5nZW4sIGRhc3Mgc2ljaCBkaWUgUGF0Y2gtRGF0ZWkgaW4gZGVtCiAgIFZlcnplaWNobmlzIGJlZmluZGV0LCB3ZWxjaGVzIGRlbSBXSU5FLVZlcnplaWNobmlzICh3aW5lKQogICD8YmVyZ2VvcmRuZXQgaXN0IHVuZCBkZW4gTmFtZW4gV2luZS0yMDAwMDUyNi5kaWZmLmd6IHRy5Gd0LiBEZXIKICAgRGF0ZWluYW1lIGlzdCBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbiwgd2VubiBlaW5lIERhdGVpIG1pdCBlaW5lbQogICBhbmRlcmVuIE5hbWVuIG9kZXIgYXVzIGVpbmVtIGFuZGVyZW4gVmVyemVpY2huaXMgYmVudXR6dCB3aXJkLgogICAKICA1LjIgSGVydW50ZXJsYWRlbiB1bmQgQWt0dWFsaXNpZXJlbiB2b24gV0lORSBtaXQgQ1ZTCiAgCiAgIEFsdGVybmF0aXYga2FubiBkZXIgUXVlbGxjb2RlIHZvbSBDVlMtU2VydmVyIGRlcyBXSU5FLVByb2pla3RlcwogICBpbnN0YWxsaWVydCB3ZXJkZW4uIERlciBWb3J0ZWlsIGRpZXNlcyBWZXJmYWhyZW5zIGJlc3RlaHQgZGFyaW4sCiAgIGRhc3MgZXMgamVkZXJ6ZWl0IHVua29tcGxpemllcnQgbfZnbGljaCBpc3QsIGRlbiBlaWdlbmVuIFF1ZWxsY29kZQogICBhbiBkZW4gRW50d2lja2x1bmdzc3RhbmQgZGVzIFByb2pla3RzIGFuenVwYXNzZW4gb2huZSBkYXNzIGF1ZiBlaW5lCiAgIG5ldWUgQXVzZ2FiZSBkZXMgUHJvZ3JhbW1zIGdld2FydGV0IHdlcmRlbiBtdXNzLiBG/HIgamVkZW4sIGRlcgogICBwbGFudCwgc2VsYnN0IGFuIGRlbSBQcm9qZWt0IG1pdHp1YXJiZWl0ZW4sIGlzdCBkaWUgVmVyd2VuZHVuZyB2b24KICAgQ1ZTIG5vcm1hbGVyd2Vpc2UgZXJmb3JkZXJsaWNoLiBEYW1pdCBDVlMgYmVudXR6dCB3ZXJkZW4ga2FubiwgbXVzcwogICBkYXMgUHJvZ3JhbW0gY3ZzIG5hdPxybGljaCBpbnN0YWxsaWVydCBzZWluLiBVbnRlciBEZWJpYW4gaXN0IGVzIGluCiAgIGRlbSBnbGVpY2huYW1pZ2VuIFBha2V0IGVudGhhbHRlbi4gV2VubiBkaWVzIHNpY2hlcmdlc3RlbGx0IGlzdCwKICAga2FubiBkdXJjaCBkaWUgVW1nZWJ1bmdzdmFyaWFibGUgQ1ZTUk9PVCBlaW5nZXN0ZWxsdCB3ZXJkZW4sIHZvbiB3bwogICBkZXIgUXVlbGxjb2RlIGJlem9nZW4sIGJ6dy4gYWt0dWFsaXNpZXJ0IHdlcmRlbiBzb2xsLiBCZWkKICAgVmVyd2VuZHVuZyBkZXIgQmFzaCBrYW5uIGRhenUgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW5nZWdlYmVuCiAgIHdlcmRlbjoKICAgCiAgIGV4cG9ydCBDVlNST09UPTpwc2VydmVyOmN2c0BjdnMud2luZWhxLmNvbTovaG9tZS93aW5lCiAgIAogICBEYW5hY2gga2FubiBtYW4gc2ljaCBiZWkgZGVtIENWUy1TZXJ2ZXIgYW5tZWxkZW4uIEhpZXJ6dSBkaWVudAogICBkaWVzZXIgQmVmZWhsOgogICAKICAgY3ZzIGxvZ2luCiAgIAogICBEYXMgUHJvZ3JhbW0gZXJmcmFndCBkYW5uIGVpbiBQYXNzd29ydCBm/HIgZGVuIFp1Z3JpZmYgYXVmIGRlbgogICBTZXJ2ZXIuICBIaWVyIGlzdCBkYXMgUGFzc3dvcnQgY3ZzIHp1IHZlcndlbmRlbi4gTnVuIGthbm4gZGVyCiAgIFF1ZWxsY29kZSB2b20gU2VydmVyIGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4sIGluZGVtIGRlciBu5GNoc3RlCiAgIEJlZmVobCBlaW5nZWdlYmVuIHdpcmQ6CiAgIAogICBjdnMgLXogMyBjaGVja291dCB3aW5lCiAgIAogICBJbSBha3R1ZWxsZW4gQXJiZWl0c3ZlcnplaWNobmlzIHdpcmQgZGFubiBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyBtaXQKICAgZGVyIEJlemVpY2hudW5nIHdpbmUgYW5nZWxlZ3QuIFNvYmFsZCBkZXIgQmVmZWhsIGFiZ2VzY2hsb3NzZW4gaXN0LAogICBiZWZpbmRlbiBzaWNoIGluIGRpZXNlbSBWZXJ6ZWljaG5pcyBkZXIgYWt0dWVsbGUgUXVlbGxjb2RlIGRlcwogICBQcm9qZWt0cyB1bmQgZWluaWdlIHp1c+R0emxpY2hlIERhdGVpZW4sIGRpZSB2b24gQ1ZTIGJlbvZ0aWd0CiAgIHdlcmRlbi4KICAgCiAgIFVtIGRlbiBRdWVsbGNvZGUgYXVmIGRlbiBuZXVlc3RlbiBTdGFuZCB6dSBicmluZ2VuLCBrYW5uIGRpZXNlcgogICBCZWZlaGwgYmVudXR6dCB3ZXJkZW46CiAgIAogICBjdnMgLXogMyB1cGRhdGUgLVBBZCBXSU5FCiAgIAogICBJbmZvcm1hdGlvbmVuIPxiZXIgZGllIGhpZXIgdmVyd2VuZGV0ZW4gUGFyYW1ldGVyIGJlaW0gQXVmcnVmIHZvbgogICBDVlMgdW5kIPxiZXIgd2VpdGVyZSBN9mdsaWNoa2VpdGVuIGRlcyBQcm9ncmFtbXMgYmVmaW5kZW4gc2ljaAogICB1LmEuIGluIGRlciBNYW51YWxzZWl0ZSB6dSBjdnMoMSkgc293aWUgYXVmIGRlciBDVlMtSG9tZXBhZ2UsIGRpZQogICB1bnRlciBodHRwOi8vd3d3LnNvdXJjZWdlYXIuY29tL0NWUyB6dSBlcnJlaWNoZW4gaXN0LiBXZWl0ZXJlIHdpY2h0aWdlCiAgIEhpbndlaXNlIGltIEhpbmJsaWNrIGF1ZiBDVlMgdW5kIFdJTkUgc2luZCB1bnRlciBkZXIgQWRyZXNzZQogICBodHRwOi8vd3d3LndpbmVocS5jb20vZGV2LnNodG1sIHZlcmb8Z2Jhci4KICAgCjYuMCBLb25maWd1cmF0aW9uIHVuZCDcYmVyc2V0enVuZyBkZXMgUXVlbGxjb2RlcwoKICAgVm9yYXVzZ2VzZXR6dCwgZGVyIFF1ZWxsY29kZSBiZWZpbmRldCBzaWNoIGltIFVudGVydmVyemVpY2huaXMgd2luZQogICBkZXMgYWt0dWVsbGVuIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcywgaXN0IHp1buRjaHN0IGluIGRpZXNlcwogICBWZXJ6ZWljaG5pcyB6dSB3ZWNoc2VsbiwgdW0gYWxsZSB3ZWl0ZXJlbiBTY2hyaXR0ZSBkdXJjaHp1ZvxocmVuOgogICAKICAgY2Qgd2luZQogICAKICAgRGFubiBrYW5uIGRhcyBTa3JpcHQgY29uZmlndXJlIGF1ZmdlcnVmZW4gd2VyZGVuLiBEaWVzZXMgU2tyaXB0CiAgIGb8aHJ0IGVpbmUgUmVpaGUgdm9uIFRlc3RzIGR1cmNoLCBkaWUgdS5hLiB1bnRlcnN1Y2hlbiwgb2IgZGFzCiAgIFN5c3RlbSBhbGxlIG5vdHdlbmRpZ2VuIEVpZ2Vuc2NoYWZ0ZW4gZXJm/GxsdCB1bmQgZGllIGJlbvZ0aWd0ZW4KICAgRW50d2lja2xlcmRhdGVpZW4gaW5zdGFsbGllcnQgc2luZC4gRGFyYXVmaGluIGVyemV1Z3QgZXMgZGllCiAgIERhdGVpZW4sIGR1cmNoIHdlbGNoZSBkaWUg3GJlcnNldHp1bmcgZGVzIFF1ZWxsY29kZXMgZ2VzdGV1ZXJ0CiAgIHdpcmQuIERlbSBTa3JpcHQga/ZubmVuIHZlcnNjaGllZGVuZSBQYXJhbWV0ZXIg/GJlcmdlYmVuIHdlcmRlbiwKICAgbWl0IGRlbmVuIHNpY2ggYmVpc3BpZWxzd2Vpc2UgYmVzdGltbWVuIGzkc3N0LCBkYXNzIGluIGRlbiB6dQogICBlcnpldWdlbmRlbiBQcm9ncmFtbWVuIHVuZCBCaWJsaW90aGVrZW4ga2VpbmUgRGVidWctTWl0dGVpbHVuZ2VuCiAgIGVudGhhbHRlbiBzZWluIHNvbGxlbi4gRGllIHZvbGxzdORuZGlnZSBMaXN0ZSBkZXIgdmVyZvxnYmFyZW4KICAgT3B0aW9uZW4gZvxyIGNvbmZpZ3VyZSB3aXJkIGFuZ2V6ZWlndCwgd2VubiBkYXMgU2tyaXB0IG1pdCBkZXIKICAgT3B0aW9uIC0taGVscCBhdWZnZXJ1ZmVuIHdpcmQuICBOb3JtYWxlcndlaXNlIHJlaWNodCBlcyBhdXMsIGRhcwogICBTa3JpcHQgZm9sZ2VuZGVybWHfZW4gYXVmenVydWZlbjoKICAgCiAgIC4vY29uZmlndXJlCiAgIAogICBGYWxscyB3aWNodGlnZSBEYXRlaWVuIG9kZXIgRWlnZW5zY2hhZnRlbiBkZXMgU3lzdGVtcyB2b24gY29uZmlndXJlCiAgIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiBr9m5uZW4sIGVyZm9sZ3QgdW50ZXIgVW1zdORuZGVuIGVpbmUgV2Fybi0KICAgb2RlciBGZWhsZXJtZWxkdW5nLiBTb2xjaGUgRmVobGVyIHNvbGx0ZW4gYmVob2JlbiB3ZXJkZW4sIGJldm9yIG1pdAogICBkZXIg3GJlcnNldHp1bmcgZGVzIFF1ZWxsY29kZXMgZm9ydGdlZmFocmVuIHdpcmQuCiAgIAogICBJbSBu5GNoc3RlbiBTY2hyaXR0IHdpcmQgZGVyIFF1ZWxsY29kZSD8YmVyc2V0enQuIERhenUgc2luZAogICBoaW50ZXJlaW5hbmRlciBkaWUgZm9sZ2VuZGVuIGJlaWRlbiBCZWZlaGxlIHp1IGJlbnV0emVuOgogICAKICAgbWFrZSBkZXBlbmQKICAgCiAgIG1ha2UKICAgCiAgIEF1ZiBkZXIgUGFydGl0aW9uLCBhdWYgd2VsY2hlciBzaWNoIGRhcyBWZXJ6ZWljaG5pcyBtaXQgZGVtCiAgIFF1ZWxsY29kZSBiZWZpbmRldCwgd2VyZGVuIGb8ciBkaWUga29tcGxldHRlINxiZXJzZXR6dW5nIHp1ciBaZWl0CiAgIHVuZ2Vm5GhyIDIzMCBNQiBTcGVpY2hlcnBsYXR6IGJlbvZ0aWd0LiBEZXIgZ3L233RlIFRlaWwgZGllc2VzCiAgIFNwZWljaGVycGxhdHplcyB3aXJkIGRhYmVpIHZvbiBkZW4gRGVidWctSW5mb3JtYXRpb25lbiBpbiBkZW4KICAgT2JqZWt0ZGF0ZWllbiwgZGllIGJlaW0g3GJlcnNldHplbiBlcnpldWd0IHdlcmRlbiwgYmVu9nRpZ3QuIEZhbGxzCiAgIG5pY2h0IGJlYWJzaWNodGlndCB3aXJkLCBpcmdlbmR3ZWxjaGUgRmVobGVyIGluIFdJTkUgenUKICAgdW50ZXJzdWNoZW4sIGv2bm5lbiBkaWUgQmlu5HJkYXRlaWVuIGF1Y2ggb2huZSBEZWJ1Zy1JbmZvcm1hdGlvbmVuCiAgIGVyemV1Z3Qgd2VyZGVuLCBkYXp1IGlzdCBkZXIgbGV0enRlIGRlciBiZWlkZW4gb2JlbiBnZW5hbm50ZW4KICAgQmVmZWhsZSBkdXJjaCBkZW4gbuRjaHN0ZW4gQmVmZWhsIHp1IGVyc2V0emVuIChm/HIgZGllINxiZXJzZXR6dW5nCiAgIHdlcmRlbiBkYW5uIG51ciBub2NoIHVuZ2Vm5GhyIDgwIE1CIFNwZWljaGVycGxhdHogYmVu9nRpZ3QpLgogICAKICAgbWFrZSBDRkxBR1M9Ii1PMiIKICAgCiAgIE51biBrYW5uIFdJTkUgYXVmIGRlbSBTeXN0ZW0gaW5zdGFsbGllcnQgd2VyZGVuLiBIaWVyenUgaXN0IG1pdCBkZW4KICAgUmVjaHRlbiBkZXMgQWRtaW5pc3RyYXRvcnMgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW56dWdlYmVuOgogICAKICAgbWFrZSBpbnN0YWxsCiAgIAogICBEYWR1cmNoIHdlcmRlbiBkaWUgYXVzZvxocmJhcmVuIFByb2dyYW1tZSB2b24gV0lORSBzdGFuZGFyZG3k32lnIGluCiAgIGRhcyBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2JpbiwgZGllIFByb2dyYW1tYmlibGlvdGhla2VuIGluIGRhcwogICBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2xpYiwgZGllIE1hbnVhbHNlaXRlbiB1bnRlcmhhbGIgZGVzCiAgIFZlcnplaWNobmlzc2VzIC91c3IvbG9jYWwvbWFuIHVuZCBlaW5pZ2UgSGVhZGVyLURhdGVpZW4gaW4gZGFzCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvaW5jbHVkZS93aW5lIGluc3RhbGxpZXJ0LiAKCiAgIEFjaHR1bmc6CiAgIFN0YW5kYXJkbeTfaWcgd2lyZCBiZWkgZWluaWdlbiBEaXN0cmlidXRpb25lbiAoei5CLiBiZWkgRGViaWFuCiAgIEdOVS9MaW51eCkgaW4gZGVtIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliIG5pY2h0IG5hY2gKICAgUHJvZ3JhbW1iaWJsaW90aGVrZW4gZ2VzdWNodC4gRmFsbHMgYmVpbSBTdGFydCB2b24gV0lORSBnZW1lbGRldCB3aXJkLAogICBkYXNzIGJlc3RpbW10ZSBCaWJsaW90aGVrZW4gbmljaHQgZ2VsYWRlbiB3ZXJkZW4ga/ZubmVuLCBzb2xsdGUgZGVyCiAgIE5hbWUgZGllc2VzIFZlcnplaWNobmlzc2VzIGluIGRpZSBEYXRlaSAvZXRjL2xkLnNvLmNvbmYgKGluIGVpbmUKICAgZWlnZW5lIFplaWxlKSBlaW5nZXRyYWdlbiB1bmQgZGFuYWNoIGRhcyBQcm9ncmFtbSBsZGNvbmZpZyBhdWZnZXJ1ZmVuCiAgIHdlcmRlbi4KICAgCjcuMCBLb25maWd1cmF0aW9uCgogICBXaWUgdmllbGUgVU5JWC1Qcm9ncmFtbWUga2FubiBXSU5FIGVudHdlZGVyIPxiZXIgZWluZSBzeXN0ZW13ZWl0CiAgIGf8bHRpZ2UgS29uZmlndXJhdGlvbnNkYXRlaSBvZGVyIPxiZXIgZWluZSBiZW51dHplcnNwZXppZmlzY2hlCiAgIERhdGVpIGltIEhlaW1hdHZlcnplaWNobmlzIGRlcyBiZXRyZWZmZW5kZW4gQmVudXR6ZXJzIGtvbmZpZ3VyaWVydAogICB3ZXJkZW4uICBEaWUgYmVudXR6ZXJzcGV6aWZpc2NoZSBLb25maWd1cmF0aW9uc2RhdGVpIHRy5Gd0IGRlbgogICBOYW1lbiB+Ly53aW5lL2NvbmZpZy4KICAgCiAgNy4xIEF1ZmJhdSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSAgIAoKICAgRGFzIEZvcm1hdCBvcmllbnRpZXJ0IHNpY2ggYW4gZGVuIHZvbiBXaW5kb3dzIGhlciBiZWthbm50ZW4gKi5pbmktRGF0ZWllbiwKICAgYWxsZXJkaW5ncyBsZWljaHQgYWJnZeRuZGVydCBpbSBXaW5lLVJlZ2lzdHJ5LUZvcm1hdC4KICAgRGllIERhdGVpIGJlc3RlaHQgYXVzIGVpbnplbG5lbiBCbPZja2VuLCB3ZWxjaGUgZHVyY2ggQmV6ZWljaG5lcgogICBlaW5nZWxlaXRldCB3ZXJkZW4sIGRpZSBpbiBlY2tpZ2VuIEtsYW1tZXJuIHVuZCBpbiBlaW5lciBlaWdlbmVuCiAgIFplaWxlIHN0ZWhlbi4gSW5uZXJoYWxiIGVpbmVzIEJsb2NrZXMgYmVmaW5kZW4gc2ljaCBQYWFyZSB2b24gVmFyaWFibGVuCiAgIHVuZCBXZXJ0ZW4sIGRpZSBkdXJjaCBlaW4gR2xlaWNoaGVpdHN6ZWljaGVuIG1pdGVpbmFuZGVyIHZlcmJ1bmRlbiBzaW5kLgogICBEaWVzZSBQYWFyZSBzdGVoZW4gZWJlbmZhbGxzIGpld2VpbHMgaW4gZWluZXIgWmVpbGUuIEtvbW1lbnRhcmUgd2VyZGVuCiAgIGluIGRlciBEYXRlaSBkdXJjaCBlaW4gU2VtaWtvbG9uIGVpbmdlbGVpdGV0LiBBdd9lcmRlbSBk/HJmZW4gbGVlcmUgWmVpbGVuCiAgIGJlbnV0enQgd2VyZGVuLCB1bSBkaWUgRGF0ZWkgenUgc3RydWt0dXJpZXJlbi4gRWluIEJlaXNwaWVsIGb8cgogICBlaW5lbiBzb2xjaGVuIEJsb2NrIHfkcmUgYWxzbzoKCiAgIFtEcml2ZSBDXQogICAiUGF0aCIgPSAiL2hvbWUva2FybCIKICAgIlR5cGUiID0gImhkIgogICAiTGFiZWwiID0gIkxhdWZ3LkMiCiAgICJGaWxlc3lzdGVtIiA9ICJ3aW45NSIKCiAgIEF132VyZGVtIGlzdCBlcyBt9mdsaWNoLCBpbm5lcmhhbGIgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbWl0CiAgIFdlcnRlbiB2b24gVW1nZWJ1bmdzdmFyaWFibGVuIHp1IGFyYmVpdGVuLiBEYXp1IGlzdCBhbiBTdGVsbGUgZWluZXMKICAgV2VydGVzIGRlciBOYW1lIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gVW1nZWJ1bmdzdmFyaWFibGVuIGluCiAgIGdlc2Nod2VpZnRlbiBLbGFtbWVybiB1bmQgbWl0IGVpbmVtIHZvcmFuZ2VzdGVsbHRlbiBEb2xsYXJ6ZWljaGVuCiAgIGFuenVnZWJlbi4gU29sbCBiZWlzcGllbHN3ZWlzZSBkZXIgVmFyaWFibGVuIFBhdGggYXVzIGRlbSBvYmlnZW4KICAgQmVpc3BpZWwgZGVyIFdlcnQgenVnZW9yZG5ldCB3ZXJkZW4sIGRlbiBkaWUgVW1nZWJ1bmdzdmFyaWFibGUgSE9NRQogICB6dXIgWmVpdCBkZXIgQXVzZvxocnVuZyB2b24gV0lORSBoYXQsIHNvIHfkcmUgZGllIGVudHNwcmVjaGVuZGUKICAgWmVpbGUgZm9sZ2VuZGVybWHfZW4genUgc2NocmVpYmVuOgoKICAgIlBhdGgiID0gIiR7SE9NRX0iCgogICBWb20gQmFzaXN2ZXJ6ZWljaG5pcyBkZXMgV0lORS1RdWVsbGNvZGVzIGF1cyBiZWZpbmRldCBzaWNoIGluIGRlciBEYXRlaQogICBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnIGVpbiBCZWlzcGllbCBhbHMgVm9ybGFnZSBm/HIgZGllIEVyc3RlbGx1bmcKICAgZWluZXIgZWlnZW5lbiBLb25maWd1cmF0aW9uc2RhdGVpLiBEaWUgRGF0ZWkgZW50aORsdCBhbGxlIHdpY2h0aWdlbiBCbPZja2UKICAgdW5kIFZhcmlhYmxlbiwgc2llIG11c3MgamVkb2NoIGFuIGRpZSBlaWdlbmUgS29uZmlndXJhdGlvbiBhbmdlcGFzc3QKICAgd2VyZGVuLCBiZXZvciBXSU5FIGRhcyBlcnN0ZSBNYWwgYmVudXR6dCB3aXJkLiBBbmdlbm9tbWVuLCBkYXMKICAgQmFzaXN2ZXJ6ZWljaG5pcyBkZXMgV0lORS1RdWVsbGNvZGVzIHRy5Gd0IGRlbiBOYW1lbiB3aW5lIHVuZCBpc3QKICAgZWluIFVudGVydmVyemVpY2huaXMgZGVzIGVpZ2VuZW4gSGVpbWF0dmVyemVpY2huaXNzZXMsIGRhbm4ga2FubgogICBkaWVzZSBWb3JsYWdlIGR1cmNoIGRlbiBmb2xnZW5kZW4gQmVmZWhsIGFuIGRlbiByaWNodGlnZW4gUGxhdHoKICAga29waWVydCB3ZXJkZW46CiAgIAogICBjcCB+L3dpbmUvZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZyB+Ly53aW5lL2NvbmZpZwogICAKICAgRGllIFdlcnRlLCB3ZWxjaGUgVmFyaWFibGVuIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHp1Z2V3aWVzZW4KICAgd2VyZGVuLCBsYXNzZW4gc2ljaCBpbiBkcmVpIFR5cGVuIGVpbnRlaWxlbjogWmVpY2hlbmtldHRlbiwgWmFobGVuCiAgIHVuZCBCb29sc2NoZSBXZXJ0ZS4gSW0gRmFsbCB2b24gQm9vbHNjaGVuIFdlcnRlbiBs5HNzdCBzaWNoCiAgIGVudHdlZGVyIHRydWUgb2RlciBmYWxzZSwgMSBvZGVyIDAgYmV6aWVodW5nc3dlaXNlIHllcyBvZGVyIG5vCiAgIGFuZ2ViZW4uIEluIGRlbiBmb2xnZW5kZW4gQmVpc3BpZWxlbiB3aXJkIGRpZSB0cnVlIC8gZmFsc2UKICAgLVNjaHJlaWJ3ZWlzZSBiZW51dHp0LgogICAKICA3LjIgS29uZmlndXJhdGlvbiB2b24gTGF1ZndlcmtzYnVjaHN0YWJlbgogIAogICBad2lzY2hlbiBVTklYL0xpbnV4IGF1ZiBkZXIgZWluZW4gdW5kIERPUyBiencuIFdpbmRvd3MgYXVmIGRlcgogICBhbmRlcmVuIFNlaXRlIGdpYnQgZXMgZWluaWdlIFVudGVyc2NoaWVkZSBpbiBkZXIgQXJ0LCB3aWUKICAgRGF0ZW50cuRnZXIgdW5kIERhdGVpZW4gYmV6ZWljaG5ldCB3ZXJkZW4uIFVudGVyIFVOSVgvTGludXggZ2lidCBlcwogICBlaW4gRGF0ZWlzeXN0ZW0gbWl0IGVpbmVtIFd1cnplbHB1bmt0ICgvKSwgaW4gZGFzIHVudGVyc2NoaWVkbGljaGUKICAgRGF0ZW50cuRnZXIgZHVyY2ggZWluZW4gc3BlemllbGxlbiBCZWZlaGwgKG1vdW50KSBlaW5nZWJ1bmRlbgogICB3ZXJkZW4uIEFsbGUgRGF0ZWllbiBhdWYgZWluZ2VidW5kZW5lbiBEYXRlbnRy5Gdlcm4ga/ZubmVuIGRlc3dlZ2VuCiAgIGlubmVyaGFsYiBkaWVzZXMgRGF0ZWlzeXN0ZW1zIGFuZ2VzcHJvY2hlbiB3ZXJkZW4uIERPUyB1bmQgV2luZG93cwogICB2ZXJ3ZW5kZW4gamVkb2NoIGb8ciBqZWRlbiBlcmthbm50ZW4gRGF0ZW50cuRnZXIgZWluIGVpZ2VuZXMKICAgRGF0ZWlzeXN0ZW0uIFVtIGVpbmUgYmVzdGltbXRlIERhdGVpIGVpbmRldXRpZyB6dSBiZXplaWNobmVuLCBpc3QKICAgZXMgYmVpIGRpZXNlbiBCZXRyaWVic3N5c3RlbWVuIGRlc3dlZ2VuIG5vdHdlbmRpZywgbmViZW4gZGVtIFBmYWQtCiAgIHVuZCBEYXRlaW5hbWVuIGVpbmVuIHNvIGdlbmFubnRlbiBMYXVmd2Vya3NidWNoc3RhYmVuCiAgIGFuenVnZWJlbi4g3GJsaWNoZXJ3ZWlzZSBlbnRzcHJpY2h0IGRhYmVpIGRlciBMYXVmd2Vya3NidWNoc3RhYmUgQQogICBkZW0gZXJzdGVuIERpc2tldHRlbmxhdWZ3ZXJrIHVuZCBkZXIgQnVjaHN0YWJlIEMgZGVyIGVyc3RlbgogICBGZXN0cGxhdHRlbnBhcnRpdGlvbiBkZXMgU3lzdGVtcy4KICAgCiAgIFdlaWwgUHJvZ3JhbW1lLCBkaWUgZvxyIERPUyBvZGVyIFdpbmRvd3MgZ2VzY2hyaWViZW4gc2luZCwKICAgTGF1ZndlcmtzYnVjaHN0YWJlbiB2ZXJ3ZW5kZW4sIHVtIERhdGVpZW4genUgYmV6ZWljaG5lbiwgbXVzcyBXSU5FCiAgIGRpZXNlIEJ1Y2hzdGFiZW4gYXVmIGRhcyBVTklYLURhdGVpc3lzdGVtIGFiYmlsZGVuLiBEYXMgUHJvYmxlbSBpc3QKICAgYXVmIGRpZSBmb2xnZW5kZSBBcnQgZ2Vs9nN0OiBJbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSAofi8ud2luZS9jb25maWcpCiAgIHdpcmQgamVkZW0gTGF1ZndlcmtzYnVjaHN0YWJlbiBlaW4gVmVyemVpY2huaXMgaW0gVU5JWC1EYXRlaXN5c3RlbQogICB6dWdlb3JkbmV0LiBEaWVzZXMgVmVyemVpY2huaXMgc3RlbGx0IGRhbm4gKGF1cyBTaWNodCBkZXIgV2luZG93cy0KICAgUHJvZ3JhbW1lKSBkYXMgQmFzaXN2ZXJ6ZWljaG5pcyBkZXMgZW50c3ByZWNoZW5kZW4gTGF1ZndlcmtzIGRhci4KICAgSXN0IGFsc28gYmVpc3BpZWxzd2Vpc2UgZGFzIFZlcnplaWNobmlzIC92YXIvd2lucm9vdCBkZW0KICAgTGF1ZndlcmtzYnVjaHN0YWJlbiBDIHp1Z2VvcmRuZXQgdW5kIHf8cmRlIGVpbiBXaW5kb3dzLVByb2dyYW1tCiAgIHVudGVyIFdJTkUgdmVyc3VjaGVuLCBkaWUgRGF0ZWkgQzpcRG9rdW1lbnRlXGZpbmFuemFtdC5kb2MgenUg9mZmbmVuLAogICBzbyB3/HJkZSBpbiBXaXJrbGljaGtlaXQgZGllIERhdGVpIC92YXIvd2lucm9vdC9Eb2t1bWVudGUvZmluYW56YW10LmRvYwogICBnZfZmZm5ldCB3ZXJkZW4sIHZvcmF1c2dlc2V0enQsIGRpZXNlIERhdGVpIGV4aXN0aWVydCB0YXRz5GNobGljaC4KICAgRHVyY2ggZGllc2VuIE1lY2hhbmlzbXVzIGthbm4gYXVjaCBlcnJlaWNodCB3ZXJkZW4sIGRhc3Mgdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiwgZGllIHVudGVyIFdJTkUgYXVzZ2Vm/GhydCB3ZXJkZW4sIG51ciBhdWYgZWluZW4gVGVpbAogICBkZXMgVU5JWC1EYXRlaXN5c3RlbXMgenVnZWdyaWZmZW4gd2VyZGVuIGthbm4uCiAgIAogICBFaW4gd2VpdGVyZXIgVW50ZXJzY2hpZWQgendpc2NoZW4gZGVuIERhdGVpc3lzdGVtZW4gdW50ZXIgRE9TIHVuZAogICBXaW5kb3dzIGF1ZiBkZXIgZWluZW4gdW5kIFVOSVgvTGludXggYXVmIGRlciBhbmRlcmVuIFNlaXRlIGJlc3RlaHQKICAgaW4gZGVyIEJlcvxja3NpY2h0aWd1bmcgdm9uIEdyb98tIHVuZCBLbGVpbnNjaHJlaWJ1bmcgYmVpCiAgIERhdGVpbmFtZW4uICBX5GhyZW5kIGVzIHVudGVyIExpbnV4IGR1cmNoYXVzIG32Z2xpY2ggaXN0LCBkYXNzIHNpY2gKICAgaW4gZWluZW0gVmVyemVpY2huaXMgZ2xlaWNoemVpdGlnIERhdGVpZW4gbWl0IGRlbiBOYW1lbiBicmllZi50eHQsCiAgIEJyaWVmLnR4dCB1bmQgYnJpZWYuVFhUIGJlZmluZGVuLCBpc3QgZGllcyB1bnRlciBXaW5kb3dzCiAgIGF1c2dlc2NobG9zc2VuLCBoaWVyIHdpcmQgYmVpc3BpZWxzd2Vpc2UgZGllIERhdGVpIGJyaWVmLnR4dAogICBnZfZmZm5ldCwgZmFsbHMgZGllc2UgZXhpc3RpZXJ0LCBhYmVyIGVpZ2VudGxpY2ggZGllIERhdGVpCiAgIEJyaWVmLnR4dCBhbmdlZm9yZGVydCB3dXJkZS4gRGllIG1laXN0ZW4gUHJvZ3JhbW1lLCBkaWUgZvxyIERPUwogICBvZGVyIDE2Qml0LVdpbmRvd3MgZ2VzY2hyaWViZW4gd3VyZGVuLCBlcndhcnRlbiBkYXL8YmVyaGluYXVzLCBkYXNzCiAgIERhdGVpbmFtZW4gYXVzIG5pY2h0IG1laHIgYWxzIGFjaHQgWmVpY2hlbiB6dXr8Z2xpY2ggZWluZXIgZHJlaQogICBaZWljaGVuIGxhbmdlbiBFcndlaXRlcnVuZyBiZXN0ZWhlbi4gV0lORSBtdXNzIGF1cyBkaWVzZW4gR3L8bmRlbgogICBlbnRzY2hlaWRlbiwgd2VsY2hlIERhdGVpIHRhdHPkY2hsaWNoIGdl9mZmbmV0IHdpcmQsIHdlbm4gZXMKICAgYXVmZ3J1bmQgdm9uIEdyb98tIHVuZCBLbGVpbnNjaHJlaWJ1bmcgdW50ZXJzY2hpZWRsaWNoZQogICBN9mdsaWNoa2VpdGVuIGdpYnQuIEF132VyZGVtIG11c3MgZXMgZGllIERhdGVpbmFtZW4gaW4gYWNodCBaZWljaGVuCiAgIGxhbmdlIE5hbWVuIPxiZXJzZXR6ZW4sIGZhbGxzIHNpZSB2b24gMTZiaXQtUHJvZ3JhbW1lbiBhYmdlZnJhZ3QKICAgd2VyZGVuLgogICAKICAgV2VubiBXSU5FIG1pdCBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdlcmRlbgogICBzb2xsLCBzb2xsdGUgZGFyYXVmIGdlYWNodGV0IHdlcmRlbiwgZGFzcyBkaWUgTGF1ZndlcmtzYnVjaHN0YWJlbgogICB1bnRlciBXaW5kb3dzIHVuZCBXSU5FIPxiZXJlaW5zdGltbWVuLiBCZWZpbmRldCBzaWNoIGRpZQogICBXaW5kb3dzLUluc3RhbGxhdGlvbiBhbHNvIGJlaXNwaWVsc3dlaXNlIGF1ZiBkZXIgUGFydGl0aW9uCiAgIC9kZXYvaGRhMSwgd2VsY2hlIHVudGVyIFdpbmRvd3Mg/GJlciBkZW4gTGF1ZndlcmtzYnVjaHN0YWJlbiBDCiAgIGFuZ2VzcHJvY2hlbiB3aXJkLCBzbyBzb2xsdGUgZGllc2UgUGFydGl0aW9uIHVudGVyIEdOVS9MaW51eCBpbiBlaW4KICAgYmVsaWViaWdlcyBWZXJ6ZWljaG5pcyBlaW5nZWJ1bmRlbiB3ZXJkZW4gdW5kIGRpZXNlcyBWZXJ6ZWljaG5pcyBpbgogICBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSB2b24gV0lORSB3aWVkZXIgZGVtIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gQwogICB6dWdlb3JkbmV0IHdlcmRlbiwgZGEgZXMgc29uc3QgbmF0dWVybGljaCB6dSBLb25mbGlrdGVuIG1pdCBkZXIKICAgdm9yaGFuZGVuZW4gS29uZmlndXJhdGlvbiBiZXJlaXRzIGluc3RhbGxpZXJ0ZXIgUHJvZ3JhbW1lIGtvbW1lbiBrYW5uLgogICAKICAgRWluIEJlaXNwaWVsIGb8ciBkaWUgWnVvcmRudW5nIHZvbiBVTklYLVZlcnplaWNobmlzc2VuIHVuZAogICBMYXVmd2Vya3NidWNoc3RhYmVuIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHd1cmRlIHdlaXRlciBvYmVuCiAgIGJlcmVpdHMgZ2VicmFjaHQuIEVpbmUgc29sY2hlIERlZmluaXRpb24gYmVzdGVodCBhdXMgZWluZW0gQmxvY2ssCiAgIGRlc3NlbiBOYW1lIHNpY2ggYXVzIGRlbSBTY2hs/HNzZWx3b3J0IERyaXZlIHVuZCBkZW0gQnVjaHN0YWJlbiBkZXMKICAgTGF1ZndlcmtzIHp1c2FtbWVuc2V0enQsIGb8ciBkYXMgZGllIERlZmluaXRpb24gZ2VsdGVuIHNvbGwuIEVpbgogICBCZWlzcGllbCB35HJlIGFsc28gW0RyaXZlIENdLiBEYXJhdWYgZm9sZ2VuIHZlcnNjaGllZGVuZSBWYXJpYWJsZW4sCiAgIG1pdCBkZW5lbiBkaWUgRWlnZW5zY2hhZnRlbiBkZXMgTGF1ZndlcmtlcyBmZXN0Z2VsZWd0IHdlcmRlbi4gRGllCiAgIHdpY2h0aWdzdGUgZGllc2VyIFZhcmlhYmxlbiBpc3QgUGF0aC4gSGllcm1pdCB3aXJkIGJlc3RpbW10LAogICB3ZWxjaGVtIFVOSVgtVmVyemVpY2huaXMgZGFzIExhdWZ3ZXJrIGVudHNwcmVjaGVuIHNvbGwgKEJlaXNwaWVsZToKICAgIlBhdGgiID0gIi9ob21lL2thcmwiLCAiUGF0aCIgPSAiJHtIT01FfSIpLiBEaWUgd2VpdGVyZW4gVmFyaWFibGVuCiAgIGhhYmVuIGRpZSBmb2xnZW5kZSBCZWRldXR1bmc6CiAgIAogICBUeXBlCiAgICAgICAgICBXaW5kb3dzIGthbm4gQW53ZW5kdW5nZW4gbWl0dGVpbGVuLCB2b24gd2VsY2hlbSBUeXAKICAgICAgICAgIChGZXN0cGxhdHRlLCBDRFJPTSB1c3cuKSBlaW4gYmVzdGltbXRlciBEYXRlbnRy5GdlciBpc3QuIE1pdAogICAgICAgICAgZGllc2VyIFZhcmlhYmxlbiB3aXJkIFdJTkUgbWl0Z2V0ZWlsdCwgd2VsY2hlbiBUeXAgZGFzCiAgICAgICAgICBlbnRzcHJlY2hlbmRlIExhdWZ3ZXJrIGhhYmVuIHNvbGwuIE32Z2xpY2hlIFdlcnRlIHNpbmQKICAgICAgICAgIGZsb3BweSAoRGlza2V0dGVubGF1ZndlcmspLCBoZCAoRmVzdHBsYXR0ZW5wYXJ0aXRpb24pLCBjZHJvbQogICAgICAgICAgKENEUk9NLUxhdWZ3ZXJrKSB1bmQgbmV0d29yayAoTmV0endlcmtsYXVmd2VyaykuIEltCiAgICAgICAgICBhbGxnZW1laW5lbiBlbXBmaWVobHQgZXMgc2ljaCwgaGllciBkZW4gVHlwIGFuenVnZWJlbiwgZGVyCiAgICAgICAgICBkZW0gVU5JWC1WZXJ6ZWljaG5pcywgd2VsY2hlcyBkZW0gTGF1ZndlcmsgenVnZW9yZG5ldCBpc3QsCiAgICAgICAgICBlbnRzcHJpY2h0LiBCZWlzcGllbDogIlR5cGUiID0gImZsb3BweSIuCiAgICAgICAgICAKICAgTGFiZWwKICAgICAgICAgIFVudGVyIERPUyB1bmQgV2luZG93cyBr9m5uZW4gTGF1ZndlcmtlIGVpbmUgc28gZ2VuYW5udGUKICAgICAgICAgIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgaGFiZW4uIERpZXNlIEJlemVpY2hudW5nIGthbm4gdm9uCiAgICAgICAgICBXaW5kb3dzLUFud2VuZHVuZ2VuIGFiZ2VmcmFndCB3ZXJkZW4uIE1pdCBkaWVzZXIgVmFyaWFibGUKICAgICAgICAgIGthbm4gYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlbiBEYXRlbnRy5GdlcmJlemVpY2hudW5nIFdJTkUKICAgICAgICAgIHp1cvxja2xpZWZlcm4gc29sbCwgZmFsbHMgZWluZSBBbndlbmR1bmcgZGllc2UgZvxyIGRhcwogICAgICAgICAgTGF1ZndlcmsgYWJmcmFndC4gRGllIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgZGFyZiBhdXMgbmljaHQKICAgICAgICAgIG1laHIgYWxzIDExIEJ1Y2hzdGFiZW4gYmVzdGVoZW4uIEJlaXNwaWVsOiAiTGFiZWwiID0gIlBsYXR0ZTEiLgogICAgICAgICAgCiAgIFNlcmlhbAogICAgICAgICAgSmVkZXMgTGF1ZndlcmsgaGF0IHVudGVyIFdpbmRvd3MgZWluZSBzbyBnZW5hbm50ZQogICAgICAgICAgU2VyaWVubnVtbWVyLCBkaWUgZWJlbmZhbGxzIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gYWJnZWZyYWd0CiAgICAgICAgICB3ZXJkZW4ga2Fubi4gTWl0IGRpZXNlciBWYXJpYWJsZW4gbORzc3Qgc2ljaCBpbiBGb3JtIGVpbmUKICAgICAgICAgIGFjaHQtc3RlbGxpZ2VuIGhleGFkZXppbWFsZW4gWmFobCBhbmdlYmVuLCB3ZWxjaGUKICAgICAgICAgIFNlcmllbm51bW1lciBpbiBzb2xjaGVuIEbkbGxlbiB6dXL8Y2tnZWxpZWZlcnQgd2VyZGVuCiAgICAgICAgICBzb2xsLiBCZWlzcGllbDogIlNlcmlhbCIgPSAiMjNmNzhhNmIiLgogICAgICAgICAgCiAgIEZpbGVzeXN0ZW0KICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlIEVpZ2Vuc2NoYWZ0ZW4gZGFzIGVtdWxpZXJ0ZQogICAgICAgICAgRGF0ZWlzeXN0ZW0gYXVmIGRlbSBiZXRyZWZmZW5kZW4gTGF1ZndlcmsgaGFiZW4gc29sbC4gRXMKICAgICAgICAgIHNpbmQgZGllIGZvbGdlbmRlbiBXZXJ0ZSBt9mdsaWNoOgogICAgICAgICAgCiAgICAgICAgbXNkb3MKICAgICAgICAgICAgICAgIEF1ZiBkZW0gTGF1Zndlcmsgc2luZCBudXIgRGF0ZWluYW1lbiBtaXQgZWluZXIgTORuZ2UKICAgICAgICAgICAgICAgIHZvbiBhY2h0IFplaWNoZW4gdW5kIGVpbmVyIEVyd2VpdGVydW5nLCBkaWUgYXVzIGRyZWkKICAgICAgICAgICAgICAgIFplaWNoZW4gYmVzdGVodCwgenVnZWxhc3Nlbi4gVW50ZXJzY2hpZWRlIGluIEdyb98tIHVuZAogICAgICAgICAgICAgICAgS2xlaW5zY2hyZWlidW5nIHdlcmRlbiBuaWNodAogICAgICAgICAgICAgICAgYmVy/GNrc2ljaHRpZ3QuIEFsdGVybmF0aXYgZvxyIG1zZG9zIGv2bm5lbiBkaWUKICAgICAgICAgICAgICAgIEJlemVpY2hudW5nZW4gZG9zIG9kZXIgZmF0IGb8ciBkaWVzZW4gRGF0ZWlzeXN0ZW10eXAKICAgICAgICAgICAgICAgIGJlbnV0enQgd2VyZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgd2luOTUKICAgICAgICAgICAgICAgIEF1ZiBkZW0gTGF1Zndlcmsgc2luZCBsYW5nZSBEYXRlaW5hbWVuIHp1Z2VsYXNzZW4uIERPUwogICAgICAgICAgICAgICAgdW5kIDE2Yml0LVdpbmRvd3Nwcm9ncmFtbWUga/ZubmVuIGplZG9jaCB3ZWl0ZXJoaW4KICAgICAgICAgICAgICAgIGt1cnplIERhdGVpbmFtZW4gYmVudXR6ZW4uIFVudGVyc2NoaWVkZSBpbiBHcm/fLSB1bmQKICAgICAgICAgICAgICAgIEtsZWluc2NocmVpYnVuZyB3ZXJkZW4gbmljaHQgYmVy/GNrc2ljaHRpZ3QuIERpZXMgaXN0CiAgICAgICAgICAgICAgICBkaWUgZW1wZm9obGVuZW4gRWluc3RlbGx1bmcgZvxyIGZhc3QgYWxsZSBBbndlbmR1bmdlbi4KICAgICAgICAgICAgICAgIEFsdGVybmF0aXYgZvxyIHdpbjk1IGthbm4gZGllc2VyIERhdGVpc3lzdGVtdHlwIGF1Y2gKICAgICAgICAgICAgICAgIGFscyB2ZmF0IGJlemVpY2huZXQgd2VyZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgdW5peAogICAgICAgICAgICAgICAgRGFzIERhdGVpc3lzdGVtIGF1ZiBkZW0gTGF1ZndlcmsgdmVyaORsdCBzaWNoIORobmxpY2gKICAgICAgICAgICAgICAgIHdpZSBlaW4gdHlwaXNjaGVzIFVOSVgtRGF0ZWlzeXN0ZW0sIGQuaC4gRGF0ZWluYW1lbgogICAgICAgICAgICAgICAga/ZubmVuIGRpZSBub3JtYWxlcndlaXNlIGVybGF1YnRlIEzkbmdlIGhhYmVuIHVuZCBkaWUKICAgICAgICAgICAgICAgIEdyb98tIHVuZCBLbGVpbnNjaHJlaWJ1bmcgaXN0IGJlZGV1dHNhbS4gTWl0IGRpZXNlcgogICAgICAgICAgICAgICAgRWluc3RlbGx1bmcga29tbWVuIGRpZSBtZWlzdGVuIFdpbmRvd3MtUHJvZ3JhbW1lIG5pY2h0CiAgICAgICAgICAgICAgICB6dXJlY2h0LiAgUHJvYmxlbWUgdHJldGVuIGJlaXNwaWVsc3dlaXNlIGRhbm4gYXVmLAogICAgICAgICAgICAgICAgd2VubiBlaW4gV2luZG93cy1Qcm9ncmFtbSBlaW5lIERhdGVpIHp1buRjaHN0IHVudGVyCiAgICAgICAgICAgICAgICBkZW0gTmFtZW4gRGF0ZW4gc3BlaWNoZXJ0IHVuZCBkYW5uIHVudGVyIGRlbSBOYW1lbgogICAgICAgICAgICAgICAgREFURU4gd2llZGVyIPZmZm5lbiB3aWxsLgogICAgICAgICAgICAgICAgCiAgICAgICAgICBBY2h0dW5nOiAKCSAgRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIG1pdCBkaWVzZXIgRWluc3RlbGx1bmcgbmljaHQKCSAgYW5nZWdlYmVuIHdpcmQsIHdlbGNoZSBFaWdlbnNjaGFmdGVuIGRhcyB6dWdydW5kZSBsaWVnZW5kZQoJICBVTklYLURhdGVpc3lzdGVtIGhhdCwgc29uZGVybiB3ZWxjaGUgRWlnZW5zY2hhZnRlbiB2b24gV0lORQoJICBm/HIgZGFzIGVudHNwcmVjaGVuZGUgTGF1ZndlcmsgZW11bGllcnQgd2VyZGVuIHNvbGxlbi4gRXMKCSAgaXN0IGFsc28gZHVyY2ggYXVzIG32Z2xpY2ggKHVuZCBpbiBkZW4gbWVpc3RlbiBG5GxsZW4KCSAgZXJmb3JkZXJsaWNoKSBm/HIgZWluIExhdWZ3ZXJrLCBkYXMgc2ljaCBhdWYgZWluZW0KCSAgVU5JWC1EYXRlaXN5c3RlbSBiZWZpbmRldCwgZGllIEVpbnN0ZWxsdW5nIHdpbjk1IHp1CgkgIHZlcndlbmRlbi4gRmFsbHMgZXMgc2ljaCBiZWkgZGVtIERhdGVudHLkZ2VyLCBhdWYgZGVtIHNpY2gKCSAgZGFzIGRlbSBMYXVmd2VyayB6dWdlb3JkbmV0ZSBWZXJ6ZWljaG5pcyBiZWZpbmRldCwKCSAgYWxsZXJkaW5ncyB1bSBlaW4gRkFULURhdGVpc3lzdGVtIGhhbmRlbHQsIHdlbGNoZXMgbWl0IGRlbQoJICBGQVQtVHJlaWJlciB2b24gTGludXggKHVuZCBuaWNodCwgd2llIPxibGljaCwgbWl0IGRlbQoJICBWRkFULVRyZWliZXIpIGJldHJpZWJlbiB3aXJkLCBkYW5uIG11c3MgaGllciBkZXIKCSAgRGF0ZWlzeXN0ZW10eXAgbXNkb3MgYmVudXR6dCB3ZXJkZW4sIHdlaWwgZXMgc29uc3QgcGFzc2llcmVuCgkgIGv2bm50ZSwgZGFzcyBXSU5FIHZlcnN1Y2h0LCBhdWYgZGVtIGJldHJlZmZlbmRlbiBEYXRlbnRy5GdlcgoJICBEYXRlaWVuIG1pdCBsYW5nZW4gTmFtZW4gYW56dWxlZ2VuLCB3YXMgZGFubiB6dSBlaW5lbSBGZWhsZXIKCSAgZvxocmVuIHf8cmRlLiBCZWlzcGllbDogIkZpbGVzeXN0ZW0iID0gIndpbjk1Ii4KICAgICAgICAgIAogICBEZXZpY2UKICAgICAgICAgIEluIGJlc29uZGVyZW4gRuRsbGVuIGlzdCBlcyBub3R3ZW5kaWcsIGRhc3MgZGllCiAgICAgICAgICBXaW5kb3dzLVByb2dyYW1tZSBkaXJla3QsIGFsc28gdW50ZXIgVW1nZWh1bmcgZGVzCiAgICAgICAgICBEYXRlaXN5c3RlbXMsIGF1ZiBkZW4gRGF0ZW50cuRnZXIgc2NocmVpYmVuIG9kZXIgdm9uIGlobQogICAgICAgICAgbGVzZW4uIERhbWl0IGRpZXMgYXVjaCBtaXQgV0lORSBt9mdsaWNoIGlzdCwga2FubiBoaWVyIGRlcgogICAgICAgICAgTmFtZSBkZXIgR2Vy5HRlZGF0ZWkgYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlciBkZW4KICAgICAgICAgIERhdGVudHLkZ2VyIHVudGVyIExpbnV4IHJlcHLkc2VudGllcnQuIERpZXMgaXN0IG51ciBkYW5uCiAgICAgICAgICBzaW5udm9sbCwgd2VubiBkYXMgZGVtIGJldHJlZmZlbmRlbiBMYXVmd2VyayB6dWdlb3JkbmV0ZQogICAgICAgICAgVmVyemVpY2huaXMgZGVtIE1vdW50cHVua3QgZGVzIGhpZXIgYW5nZWdlYmVuZW4gRGF0ZW50cuRnZXJzCiAgICAgICAgICBlbnRzcHJpY2h0LiBEZXIgZGlyZWt0ZSBHZXLkdGV6dWdyaWZmIHNvbGx0ZSBub3JtYWxlcndlaXNlCiAgICAgICAgICBudXIgZvxyIHNvbGNoZSBEYXRlbnRy5GdlciBnZXN0YXR0ZXQgd2VyZGVuLCBkZXJlbiBJbmhhbHQKICAgICAgICAgIG5pY2h0IGJlc29uZGVycyBnZXNjaPx0enQgd2VyZGVuIG11c3MgKHUuVS4gRGlza2V0dGVuKSBvZGVyCiAgICAgICAgICB2b24gZGVuZW4gb2huZWhpbiBudXIgZ2VsZXNlbiB3ZXJkZW4ga2FubgogICAgICAgICAgKHouQi4gQ0RST01zKS4gRGFtaXQgYXVmIGRlbiBEYXRlbnRy5GdlciBnZXNjaHJpZWJlbiB3ZXJkZW4KICAgICAgICAgIGthbm4sIGlzdCBlcyB6dXPkdHpsaWNoIG5hdPxybGljaCBub3R3ZW5kaWcsIGRhc3MgZGllIFJlY2h0ZQogICAgICAgICAgYW4gZGVyIGJldHJlZmZlbmRlbiBHZXLkdGVkYXRlaSBhdXNyZWljaGVuZCBzaW5kLiAgQmVpc3BpZWw6CiAgICAgICAgICAiRGV2aWNlIiA9ICIvZGV2L2ZkMCIuCiAgICAgICAgICAKICAgRmFpbFJlYWRPbmx5CgogICAgICAgICAgRWluZSBSZWloZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIPZmZm5lbiBEYXRlaWVuIHByaW56aXBpZWxsCiAgICAgICAgICB6dW0gTGVzZW4gdW5kIFNjaHJlaWJlbiwgYXVjaCB3ZW5uIGF1cyBkZW4gYmV0cmVmZmVuZGVuCiAgICAgICAgICBEYXRlaWVuIGxlZGlnbGljaCBnZWxlc2VuIHdlcmRlbiBzb2xsLiBEaWVzZXMgVmVyaGFsdGVuCiAgICAgICAgICBm/GhydCBub3JtYWxlcndlaXNlIGRhenUsIGRhc3MgRGF0ZWllbiwgaW4gZGllIHZvbiBXSU5FCiAgICAgICAgICBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4gZGFyZiBvZGVyIGRpZSBzaWNoIGF1ZiBEYXRlbnRy5Gdlcm4KICAgICAgICAgIGJlZmluZGVuLCBhdWYgZGllIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiBrYW5uIChldHdhCiAgICAgICAgICBDRFJPTXMpLCBuaWNodCBnZfZmZm5ldCB3ZXJkZW4ga/ZubmVuLiBBdXMgZGllc2VtIEdydW5kCiAgICAgICAgICD2ZmZuZXQgV0lORSBEYXRlaWVuIHN0YW5kYXJkbeTfaWcgenVtIExlc2VuLCBmYWxscyBlaW5lCiAgICAgICAgICBEYXRlaSBuaWNodCB6dW0gTGVzZW4gdW5kIHp1bSBTY2hyZWliZW4gZ2X2ZmZuZXQgd2VyZGVuCiAgICAgICAgICBrb25udGUuIFdlbm4gZGllIFZhcmlhYmxlIEZhaWxSZWFkT25seSBhdWYgZGVuIFdlcnQgdHJ1ZQogICAgICAgICAgZ2VzZXR6dCB3aXJkLCB2ZXJo5Gx0IHNpY2ggV0lORSBzbyB3aWUgdW50ZXIgVU5JWCD8YmxpY2ggdW5kCiAgICAgICAgICBsaWVmZXJ0IGVpbmUgRmVobGVybWVsZHVuZyBhbiBkYXMgV2luZG93cy1Qcm9ncmFtbSwgZmFsbHMKICAgICAgICAgIGVpbmUgRGF0ZWkgbmljaHQgenVtIFNjaHJlaWJlbiBnZfZmZm5ldCB3ZXJkZW4ga2Fubi4gSW4gZGVyCiAgICAgICAgICBSZWdlbCBlbXBmaWVobHQgZXMgc2ljaCwgaGllciBkaWUgU3RhbmRhcmRlaW5zdGVsbHVuZyB6dQogICAgICAgICAg/GJlcm5laG1lbi4gIEJlaXNwaWVsOiAiRmFpbFJlYWRPbmx5IiA9ICJ0cnVlIi4KICAgICAgICAgIAogICBSZWFkVm9sSW5mbwogICAgICAgICAgV2VubiBkZXIgV2VydCBkaWVzZXIgVmFyaWFibGVuIGF1ZiB0cnVlIGdlc2V0enQgaXN0LAogICAgICAgICAgdmVyc3VjaHQgV0lORSwgZGllIFNlcmllbm51bW1lciB1bmQgZGllCiAgICAgICAgICBEYXRlbnRy5GdlcmJlemVpY2hudW5nIGRlcyBiZXRyZWZmZW5kZW4gTGF1ZndlcmtzIGRpcmVrdCB2b24KICAgICAgICAgIGRlbSBEYXRlbnRy5GdlciB6dSBsZXNlbi4gIERhenUgbXVzcyBkZW0gTGF1ZndlcmsgZWluZQogICAgICAgICAgR2Vy5HRlZGF0ZWkgenVnZW9yZG5ldCBzZWluIChWYXJpYWJsZSBkZXZpY2UpLiBEaWVzZQogICAgICAgICAgRWluc3RlbGx1bmcgaXN0IHZvciBhbGxlbSBm/HIgc29sY2hlIFByb2dyYW1tZSBzaW5udm9sbCwgZGllCiAgICAgICAgICBudXIgZGFubiBmdW5rdGlvbmllcmVuLCB3ZW5uIHNpY2ggYmVpc3BpZWxzd2Vpc2UgZGllCiAgICAgICAgICByaWNodGlnZSBDRFJPTSBpbSBMYXVmd2VyayBiZWZpbmRldCB1bmQgZGllIGRpZXMgYW5oYW5kIGRlcgogICAgICAgICAgU2VyaWVubnVtbWVyIG9kZXIgZGVyIERhdGVudHLkZ2VyYmV6ZWljaG51bmcKICAgICAgICAgIGZlc3RzdGVsbGVuLiBCZWlzcGllbDogIlJlYWRWb2xJbmZvIiA9ICJ0cnVlIgogICAgICAgICAgCiAgNy4zIEFsbGdlbWVpbmUgRWluc3RlbGx1bmdlbgogIAogICBJbSBBYnNjaG5pdHQgW3dpbmVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHdlcmRlbiBkaWUgd2ljaHRpZ3N0ZW4KICAgYWxsZ2VtZWluZW4gRWluc3RlbGx1bmdlbiB2b3JnZW5vbW1lbi4gSW0gd2VzZW50bGljaGVuIGhhbmRlbHQgZXMKICAgc2ljaCBkYWJlaSB1bSBWZXJ6ZWljaG5pc2FuZ2FiZW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBkaWVzZQogICBWZXJ6ZWljaG5pc2FuZ2FiZW4gaW4gZGVyIHVudGVyIERPUyB1bmQgV2luZG93cyD8YmxpY2hlbiBXZWlzZSB6dQogICBlcmZvbGdlbiBoYWJlbi4gRC5oLiwgamVkZW0gVmVyemVpY2huaXMgbXVzcyBlaW4gTGF1ZndlcmtzYnVjaHN0YWJlCiAgIHZvcmFuZ2VzdGVsbHQgd2VyZGVuLiBMYXVmd2Vya3NidWNoc3RhYmVuIHVuZCBWZXJ6ZWljaG5pcyB3ZXJkZW4KICAgZHVyY2ggZWluZW4gRG9wcGVscHVua3Qgdm9uZWluYW5kZXIgZ2V0cmVubnQsIGF132VyZGVtIHdlcmRlbgogICBlaW56ZWxuZSBWZXJ6ZWljaG5pc3NlIG5pY2h0IGR1cmNoIGVpbmVuIG5vcm1hbGVuIFNjaHLkZ3N0cmljaCwKICAgc29uZGVybiBkdXJjaCBlaW5lbiB1bWdla2VocnRlbiBTY2hy5GdzdHJpY2ggKEJhY2tzbGFzaCkKICAgdm9uZWluYW5kZXIgc2VwYXJpZXJ0LiBEaWUgQW5nYWJlbiB3ZXJkZW4gZHVyY2ggZGllIGltIHZvcmhlcmlnZW4KICAgQWJzY2huaXR0IGJlc2NocmllYmVuZW4gWnVvcmRudW5nZW4gdm9uIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gaW4KICAgVU5JWC1EYXRlaW5hbWVuIPxiZXJzZXR6dC4KICAgCiAgIFdpbmRvd3MKICAgICAgICAgIFVudGVyIFdpbmRvd3Mgc3BpZWx0IGRhcyBXaW5kb3dzLVZlcnplaWNobmlzIGVpbmUgYmVzb25kZXJlCiAgICAgICAgICBSb2xsZS4gUHJvZ3JhbW1lIGxlZ2VuIGhpZXIgb2Z0IEluaXRpYWxpc2llcnVuZ3NkYXRlaWVuIGFiCiAgICAgICAgICB1bmQgSW5zdGFsbGF0aW9uc3Byb2dyYW1tZSBrb3BpZXJlbiBnZWxlZ2VudGxpY2gKICAgICAgICAgIHZlcnNjaGllZGVuZSBEYXRlaWVuIGluIGRpZXNlcyBWZXJ6ZWljaG5pcy4gTWl0IGRlcgogICAgICAgICAgVmFyaWFibGVuIFdpbmRvd3Mgd2lyZCBlaW5nZXN0ZWxsdCwgd2VsY2hlcyBWZXJ6ZWljaG5pcyB2b24KICAgICAgICAgIGRlbiB1bnRlciBXSU5FIGF1c2dlZvxocnRlbiBQcm9ncmFtbWVuIGFscwogICAgICAgICAgV2luZG93cy1WZXJ6ZWljaG5pcyBiZWhhbmRlbHQgd2VyZGVuIHNvbGwuIERhcyBoaWVyCiAgICAgICAgICBhbmdlZ2ViZW5lIFZlcnplaWNobmlzIG11c3MgZXhpc3RpZXJlbiwgYmV2b3IgV0lORSBkYXMgZXJzdGUKICAgICAgICAgIE1hbCBnZXN0YXJ0ZXQgd2lyZC4gV2VubiBXSU5FIGVpbmUgYmVzdGVoZW5kZQogICAgICAgICAgV2luZG93cy1JbnN0YWxsYXRpb24gdmVyd2VuZGVuIHNvbGwsIG11c3MgaGllciBkYXMKICAgICAgICAgIFZlcnplaWNobmlzIGFuZ2VnZWJlbiB3ZXJkZW4sIGluIGRlbSBzaWNoIGRpZSBJbnN0YWxsYXRpb24KICAgICAgICAgIGJlZmluZGV0LiAKCiAgICAgICAgICBGYWxscyBXSU5FIG1pdCBlaW5lciBleGlzdGllcmVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgICAgICAgICB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwgdW5kIGRpZXNlIEluc3RhbGxhdGlvbiBzaWNoIGF1ZiBkZXIKICAgICAgICAgIEZlc3RwbGF0dGVucGFydGl0aW9uIGJlZmluZGV0LCBkaWUgdW50ZXIgV2luZG93cyBkZW4KICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gQzogdHLkZ3QgdW5kIHVudGVyIExpbnV4IGR1cmNoIGRpZQogICAgICAgICAgR2Vy5HRlZGF0ZWkgL2Rldi9oZGExIHJlcHLkc2VudGllcnQgd2lyZCwgc28ga/ZubnRlIGRpZXNlCiAgICAgICAgICBQYXJ0aXRpb24gYmVpc3BpZWxzd2Vpc2UgdW50ZXIgTGludXggYmVpc3BpZWxzd2Vpc2UgaW4gZGFzCiAgICAgICAgICBWZXJ6ZWljaG5pcyAvV2luZG93cyBlaW5nZWJ1bmRlbiB3ZXJkZW4uIERpZXNlbSBWZXJ6ZWljaG5pcwogICAgICAgICAgd+RyZSBkYW5uIGltIEFic2Nobml0dCwgd2VsY2hlciBkaWUKICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW5rb25maWd1cmF0aW9uIGVudGjkbHQgZGVyCiAgICAgICAgICBMYXVmd2Vya3NidWNoc3RhYmUgQzogenV6dW9yZG5lbjoKIAogICAgICAgICAgW0RyaXZlIENdIAogICAgICAgICAgIlBhdGgiID0gIi9XaW5kb3dzIgogICAgICAgICAgIlR5cGUiID0gImhkIgogICAgICAgICAgIkxhYmVsIiA9ICJ3aW5kb3dzIgogICAgICAgICAgIkZpbGVzeXN0ZW0iID0gIndpbjk1IgoKICAgICAgICAgIFdlbm4gd2VpdGVyIGRlciBOYW1lIGRlcyBXaW5kb3dzLVZlcnplaWNobmlzc2VzIGRpZXNlcgogICAgICAgICAgSW5zdGFsbGF0aW9uIHdpbmRvd3MgbGF1dGV0ICh1bnRlciBXaW5kb3dzIGFsc28gQzpcd2luZG93cwogICAgICAgICAgdW5kIHVudGVyIExpbnV4IC9XaW5kb3dzL3dpbmRvd3MpLCBzbyB35HJlIGltIEFic2Nobml0dAogICAgICAgICAgW3dpbmVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGZvbGdlbmRlIEFuZ2FiZSB2b3J6dW5laG1lbjoKICAgIAogICAgICAgICAgIldpbmRvd3MiID0gIkM6XFxXaW5kb3dzIgoKICAgICAgICAgIFNvbGwgV0lORSBqZWRvY2ggb2huZSBleGlzdGllcmVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24KICAgICAgICAgIGJlbnV0enQgd2VyZGVuLCBzbyBrYW5uIGVpbiBiZWxpZWJpZ2VzIFZlcnplaWNobmlzIGFscwogICAgICAgICAgV3VyemVsdmVyemVpY2huaXMgZvxyIGRhcyBMYXVmd2VyayBkaWVuZW4sIHdlbGNoZXMgZGFzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzIGJlaW5oYWx0ZXQsIGJlaXNwaWVsc3dlaXNlIGv2bm50ZQogICAgICAgICAgaGllcmb8ciBkYXMgVmVyemVpY2huaXMgL1dpbmRvd3MgYW5nZWxlZ3Qgd2VyZGVuLiBJbiBkaWVzZW0KICAgICAgICAgIFZlcnplaWNobmlzIG38c3N0ZSBudW4gZGFzIFdpbmRvd3MtVmVyemVpY2huaXMgZXJ6ZXVndAogICAgICAgICAgd2VyZGVuLCB3ZWxjaGVzIGRhcmF1ZmhpbiB3aWUgb2JlbiBiZXNjaHJpZWJlbiBpbSBBYnNjaG5pdHQKICAgICAgICAgIFt3aW5lXSBhbHMgV2luZG93cy1WZXJ6ZWljaG5pcyBkZWtsYXJpZXJ0IHdlcmRlbiBt/HNzdGUuCiAgICAgICAgICAKICAgU3lzdGVtCiAgICAgICAgICBEYXMgU3lzdGVtLVZlcnplaWNobmlzIGhhdCBlaW5lIORobmxpY2hlIEJlZGV1dHVuZyB3aWUgZGFzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzLiBVbnRlciBXaW5kb3dzIGJlZmluZGVuIHNpY2ggaW4gZGllc2VtCiAgICAgICAgICBWZXJ6ZWljaG5pcyBpbSB3ZXNlbnRsaWNoZW4gZGllIFByb2dyYW1tYmlibGlvdGhla2VuLCBlcyBpc3QKICAgICAgICAgIG5vcm1hbGVyd2Vpc2UgZWluIFVudGVydmVyemVpY2huaXMgZGVzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzc2VzLiAgRGllc2VzIFZlcnplaWNobmlzIG11c3MgZWJlbmZhbGxzCiAgICAgICAgICBleGlzdGllcmVuLCBiZXZvciBXSU5FIGRhcyBlcnN0ZSBNYWwgZ2VzdGFydGV0IHdpcmQuIEF1Y2gKICAgICAgICAgIGhpZXIgbXVzcyBkYXMgU3lzdGVtLVZlcnplaWNobmlzIGRlciBiZXN0ZWhlbmRlbgogICAgICAgICAgV2luZG93cy1JbnN0YWxsYXRpb24gYW5nZWdlYmVuIHdlcmRlbiwgZmFsbHMgZWluZSBzb2xjaGUKICAgICAgICAgIGJlbnV0enQgd2VyZGVuIHNvbGwuIFVudGVyIFdpbmRvd3MgOTUvOTggdHLkZ3QgZGllc2VzCiAgICAgICAgICBWZXJ6ZWljaG5pcyBub3JtYWxlcndlaXNlIGRlbiBOYW1lbiBzeXN0ZW0gdW5kIHVudGVyIFdpbmRvd3MKICAgICAgICAgIE5UIGRlbiBOYW1lbiBzeXN0ZW0zMi4gQmVpc3BpZWw6ICJTeXN0ZW0iID0gIkM6XFxXaW5kb3dzXFxTeXN0ZW0iLgogICAgICAgICAgCiAgIFRlbXAKICAgICAgICAgIERhcyBUZW1wLVZlcnplaWNobmlzIHdpcmQgdm9uIHZpZWxlbiBXaW5kb3dzLVByb2dyYW1tZW4gZGF6dQogICAgICAgICAgYmVudXR6dCwgdGVtcG9y5HJlIERhdGVpZW4gYWJ6dWxlZ2VuLiBEYW1pdCBkaWVzIGdlbGluZ3QsCiAgICAgICAgICBtdXNzIGhpZXIgZWluIFZlcnplaWNobmlzIGFuZ2VnZWJlbiB3ZXJkZW4sIHdlbGNoZXMgc2ljaCBhdWYKICAgICAgICAgIGVpbmVtIExhdWZ3ZXJrIGJlZmluZGV0LCBkYXMgZWluZW0gVU5JWC1WZXJ6ZWljaG5pcwogICAgICAgICAgZW50c3ByaWNodCwgaW4gZGVtIFNjaHJlaWJiZXJlY2h0aWd1bmcgYmVzdGVodC4gQmVpc3BpZWw6CiAgICAgICAgICAiVGVtcCIgPSAiRDpcXHRtcCIuCiAgICAgICAgICAKICAgUGF0aAogICAgICAgICAgRGllc2UgVmFyaWFibGUgaGF0IGRpZSBnbGVpY2hlIEJlZGV1dHVuZyB3aWUgZGllCiAgICAgICAgICBVbWdlYnVuZ3N2YXJpYWJsZSBQQVRIIHVudGVyIFVOSVguIElociBXZXJ0IGJlc3RlaHQgYXVzCiAgICAgICAgICBlaW5lciBLZXR0ZSBlaW56ZWxuZXIgVmVyemVpY2huaXNuYW1lbiwgZGllIG5hY2ggZWluZW0KICAgICAgICAgIGF1c3p1ZvxocmVuZGVuIFByb2dyYW1tIGR1cmNoc3VjaHQgd2lyZCwgd2VubiBkZXIgTmFtZSBlaW5lcwogICAgICAgICAgc29sY2hlbiBQcm9ncmFtbXMgbmljaHQgbWl0IFZlcnplaWNobmlzbmFtZW4gYW5nZWdlYmVuCiAgICAgICAgICB3dXJkZS4gRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIGRpZSBlaW56ZWxuZW4gRWxlbWVudGUgZGllc2UKICAgICAgICAgIFZhcmlhYmxlIHVudGVyIFdpbmRvd3MgbmljaHQgZHVyY2ggZWluZW4gRG9wcGVscHVua3Qgc29uZGVybgogICAgICAgICAgZHVyY2ggZWluIFNlbWlrb2xvbiB2b25laW5hbmRlciBnZXRyZW5udCB3ZXJkZW4sIGF132VyZGVtCiAgICAgICAgICBlcndhcnRlbiB2aWVsZSBXaW5kb3dzLVByb2dyYW1tZSwgZGFzcyBkYXMgV2luZG93cy0gdW5kIGRhcwogICAgICAgICAgU3lzdGVtLVZlcnplaWNobmlzIGluIGRpZXNlciBWYXJpYWJsZW4gZW50aGFsdGVuCiAgICAgICAgICBzaW5kLiBCZWlzcGllbDoKICAgICAgICAgICJQYXRoIiA9ICJDOlxcV2luZG93cztDOlxcV2luZG93c1xcU3lzdGVtO0Q6XFxXaW5zdHVmZiIuCiAgICAgICAgICAKICAgUHJvZmlsZQogICAgICAgICAgRGllc2UgVmFyaWFibGUgd2lyZCB2b24gV0lORSBiZW51dHp0LCB1bSBkZW4KICAgICAgICAgIGJlbnV0emVyc3BlemlmaXNjaGVuIFRlaWwgZGVyIFN5c3RlbXJlZ2lzdHJhdHVyIGVpbmVyCiAgICAgICAgICBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiB6dSBsYWRlbi4gRmFsbHMgZXMgc2ljaCBiZWkKICAgICAgICAgIGRlciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24gdW0gV2luZG93cyA5NS85OCBoYW5kZWx0LCBkYXMKICAgICAgICAgIG5pY2h0IG1pdCBtZWhyZXJlbiBCZW51dHplcm4gYmV0cmllYmVuIHdpcmQgb2RlciBvaG5lIGVpbmUKICAgICAgICAgIGJlc3RlaGVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24gZ2VhcmJlaXRldCB3ZXJkZW4gc29sbCwKICAgICAgICAgIGJyYXVjaHQgZGllIFZhcmlhYmxlIFByb2ZpbGUgbmljaHQgZ2VzZXR6dCB6dSB3ZXJkZW4uIFdlbm4KICAgICAgICAgIGplZG9jaCBlaW5lIFdpbmRvd3MgTlQtIG9kZXIgZWluZSBXaW5kb3dzIDk1Lzk4LUluc3RhbGxhdGlvbgogICAgICAgICAgbWl0IG1laHJlcmVuIEJlbnV0emVybiBlaW5nZXNldHp0IHdpcmQsIG11c3MgaGllciBhbmdlZ2ViZW4KICAgICAgICAgIHdlcmRlbiwgYXVzIHdlbGNoZW0gVmVyemVpY2huaXMgV0lORSBkaWUgYmVudXR6ZXJzcGV6aWZpc2NoZQogICAgICAgICAgUmVnaXN0cmF0aW9uc2RhdGVuIGxhZGVuIHNvbGwuIERpZXNlIFZlcnplaWNobmlzc2UgYmVmaW5kZW4KICAgICAgICAgIHNpY2ggbm9ybWFsZXJ3ZWlzZSBpbSBVbnRlcnZlcnplaWNobmlzIFByb2ZpbGVzIGRlcwogICAgICAgICAgV2luZG93cy1WZXJ6ZWljaG5pcyB1bmQgdHJhZ2VuIGRlbiBOYW1lbiBkZXMgQmVudXR6ZXJzLAogICAgICAgICAgZGVzc2VuIEtvbmZpZ3VyYXRpb25zZGF0ZW4gc2llIGJlaGVyYmVyZ2VuLiBCZWlzcGllbDoKICAgICAgICAgICJQcm9maWxlIiA9ICJDOlxcV2luZG93c1xcUHJvZmlsZXNcXFBldGVyIi4KICAgICAgICAgIAogICBHcmFwaGljc0RyaXZlcgogICAgICAgICAgV0lORSBrYW5uIHVudGVyc2NoaWVkbGljaGUgVHJlaWJlciBm/HIgZGllIGdyYXBoaXNjaGUKICAgICAgICAgIEF1c2dhYmUgdmVyd2VuZGVuLiBXZWxjaGVyIFRyZWliZXIgenUgdmVyd2VuZGVuIGlzdCwgd2lyZAogICAgICAgICAgbWl0IGRpZXNlciBWYXJpYWJsZW4gZmVzdGdlbGVndC4gWnVyIFplaXQgc3RlaGVuIHp3ZWkKICAgICAgICAgIFRyZWliZXIgenVyIFZlcmb8Z3VuZywgbuRtbGljaCB4MTFkcnYgZvxyIGRpZSBWZXJ3ZW5kdW5nIGRlcwogICAgICAgICAgWCBXaW5kb3cgU3lzdGVtcyB1bmQgdHR5ZHJ2IGb8ciBkaWUgVmVyd2VuZHVuZyB2b24gV0lORSBhbgogICAgICAgICAgZGVyIEtvbnNvbGUuICBEZXIgVHJlaWJlciB0dHlkcnYgaXN0IHp1ciBaZWl0IG5pY2h0IHZvbGwKICAgICAgICAgIGZ1bmt0aW9uc2bkaGlnLCB3ZXN3ZWdlbiBzaWNoIGhpZXIgbnVyIGRpZSBWZXJ3ZW5kdW5nIGRlcwogICAgICAgICAgVHJlaWJlcnMgeDExZHJ2IGVtcGZpZWhsdCwgZGllcyBpc3QgYXVjaCBkaWUKICAgICAgICAgIFN0YW5kYXJkZWluc3RlbGx1bmcsIHdlbm4gZGllIFZhcmlhYmxlIG5pY2h0IGdlc2V0enQKICAgICAgICAgIHdpcmQuIEJlaXNwaWVsOiAiR3JhcGhpY3NEcml2ZXIiID0gIngxMWRydiIuCiAgICAgICAgICAKICA3LjQgS29uZmlndXJhdGlvbiBkZXIgenUgdmVyd2VuZGVuZGVuIEJpYmxpb3RoZWtlbgogIAogICBXaWUgVU5JWC9MaW51eC1Qcm9ncmFtbWUgYmVzdGVoZW4gV2luZG93cy1Qcm9ncmFtbWUgaW4gZGVyIFJlZ2VsCiAgIGF1cyBkZXIgZWlnZW50bGljaGVuIFByb2dyYW1tZGF0ZWkgdW5kIGVpbmVyIFJlaWhlIHZvbgogICBQcm9ncmFtbWJpYmxpb3RoZWtlbiwgZGllIGJlaW0gTGFkZW4gZGVzIFByb2dyYW1tcyBvZGVyIHNw5HRlciBtaXQKICAgZGVtIFByb2dyYW1tIHZlcmJ1bmRlbiB3ZXJkZW4uIEVpbmUgUmVpaGUgZGVyIFByb2dyYW1tYmlibGlvdGhla2VuCiAgIHVudGVyIFdpbmRvd3Mgc3RlbGx0IGRhYmVpIGdsZWljaHplaXRpZyBkaWUgU2Nobml0dHN0ZWxsZSB6dW0KICAgQmV0cmllYnNzeXN0ZW0gZGFyLiBOZWJlbiBkZW0gZWlnZW50bGljaGVuIFdpbmRvd3MtUHJvZ3JhbW0gd2VyZGVuCiAgIGFsc28gZGllIEJpYmxpb3RoZWtlbiBiZW72dGlndCwgdW0gZGFzIFByb2dyYW1tIGF1c2b8aHJlbiB6dQogICBr9m5uZW4uCiAgIAogICBXSU5FIHN0ZWxsdCBlaW5lIGdyb99lIEFuemFobCBkZXIgbm9ybWFsZXJ3ZWlzZSB1bnRlciBXaW5kb3dzCiAgIHZlcmb8Z2JhcmVuIEJpYmxpb3RoZWtlbiB6dXIgVmVyZvxndW5nLiBEaWVzZSBCaWJsaW90aGVrZW4gbGllZ2VuCiAgIGVudHdlZGVyIGluIEZvcm0gZWlnZW5lciBEYXRlaWVuIHZvciwgd2VsY2hlIHNpY2ggc3RhbmRhcmRt5N9pZyBpbQogICBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2xpYiBiZWZpbmRlbiwgb2RlciBzaWUgc2luZCBkaXJla3QgaW4gZGVyCiAgIFByb2dyYW1tZGF0ZWkgd2luZSBlbnRoYWx0ZW4uIFdJTkUgaXN0IGplZG9jaCBhdWNoIGluIGRlciBMYWdlLCBkaWUKICAgbm9ybWFsZW4gV2luZG93cy1CaWJsaW90aGVrZW4genUgdmVyd2VuZGVuOyBkaWVzIGlzdCBiZWlzcGllbHN3ZWlzZQogICBkYW5uIG5vdHdlbmRpZywgd2VubiB2b24gZWluZW0gUHJvZ3JhbW0gZWluZSBCaWJsaW90aGVrIGJlbvZ0aWd0CiAgIHdpcmQsIGJlaSBkZXIgZXMgc2ljaCBuaWNodCB1bSBlaW5lIHN0YW5kYXJkbeTfaWdlIFdpbmRvd3MtQmlibGlvdGhlawogICBoYW5kZWx0LCBzb25kZXJuIHVtIGVpbmUsIGRpZSBkZW0gU3lzdGVtIHfkaHJlbmQgZGVyIEluc3RhbGxhdGlvbgogICBkZXMgYmV0cmVmZmVuZGVuIFByb2dyYW1tcyBoaW56dWdlZvxndCB3b3JkZW4gaXN0LiBTb2xjaGUgQmlibGlvdGhla2VuCiAgIHdlcmRlbiBub3JtYWxlcndlaXNlIG5pY2h0IHZvbiBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQuCiAgIAogICBGYWxscyBXSU5FIG1pdCBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdpcmQsCiAgIGJpZXRldCBlcyBzaWNoIHUuVS4gYW4sIGluIGVpbmlnZW4gRuRsbGVuIGFuIFN0ZWxsZSBkZXIgdm9uIFdJTkUKICAgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdGVuIEJpYmxpb3RoZWtlbiBkaWUgQmlibGlvdGhla2VuIGRlcgogICBXaW5kb3dzLUluc3RhbGxhdGlvbiB6dSB2ZXJ3ZW5kZW4uIERpZXNlIHNpbmQgaW4gdmllbGVuIEbkbGxlbgogICB2b2xsc3TkbmRpZ2VyIHVuZCBr9m5uZW4gZGVtIGF1c3p1ZvxocmVuZGVuIFByb2dyYW1tIGRlc3dlZ2VuIGVoZXIKICAgZGllIGVyd2FydGV0ZSBGdW5rdGlvbmFsaXTkdCB6dXIgVmVyZvxndW5nIHN0ZWxsZW4uIERhYmVpIGlzdAogICBqZWRvY2ggenUgYmVhY2h0ZW4sIGRhc3MgZGllcyBudXIgbWl0IHNvbGNoZW4gQmlibGlvdGhla2VuIG32Z2xpY2gKICAgaXN0LCBkaWUga2VpbmUgQmV0cmllYnNzeXN0ZW1mdW5rdGlvbmVuIGJlaW5oYWx0ZW4uIEJpYmxpb3RoZWtlbiwKICAgZGllIGxlZGlnbGljaCBlaW5mYWNoZW4gUHJvZ3JhbW1jb2RlLCB3aWUgYmVpc3BpZWxzd2Vpc2UgZGVuIGb8cgogICBo5HVmaWcgYmVu9nRpZ3RlIERpYWxvZ2UsIGJlaW5oYWx0ZW4sIGv2bm5lbiBoaW5nZWdlbiBwcm9ibGVtbG9zCiAgIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdlcmRlbi4KICAgCiAgIERpZSBtZWlzdGVuIEJpYmxpb3RoZWtlbiBzdGVoZW4gdW50ZXIgV2luZG93cyAoOTUvOTgpIGluIHp3ZWkKICAgdmVyc2NoaWVkZW5lbiBWZXJzaW9uZW4genVyIFZlcmb8Z3VuZywgZWluZXIgMzJCaXQtVmVyc2lvbiwgZGllIHZvbgogICAzMkJpdC1Qcm9ncmFtbWVuIGdlbGFkZW4gd2VyZGVuIGthbm4gdW5kIGVpbmVyIDE2Qml0LVZlcnNpb24sIGRpZQogICB2b24gMTZCaXQtUHJvZ3JhbW1lbiBiZW51dHp0IHdlcmRlbiBrYW5uLiBCZWlkZSBWZXJzaW9uZW4gYmVudXR6ZW4KICAgaW4gZGVyIFJlZ2VsIFByb2dyYW1tY29kZSBhdXMgZGVyIGpld2VpbHMgenVnZWj2cmlnZW4gYW5kZXJlbgogICBWZXJzaW9uIChVbnRlciBXaW5kb3dzIDk1Lzk4IGJlZmluZGV0IHNpY2ggZGllIGVpZ2VudGxpY2hlCiAgIEZ1bmt0aW9uYWxpdOR0IG1laXN0IGluIGRlbiAxNkJpdC1CaWJsaW90aGVrZW4sIGRpZSB2b24gZGVuCiAgIDMyQml0LVZlcnNpb25lbiBnZWxhZGVuIHVuZCBhdWZnZXJ1ZmVuIHdlcmRlbikuIERlc3dlZ2VuIGlzdCBlcwogICBlcmZvcmRlcmxpY2gsIGRhc3MgaW1tZXIgamV3ZWlscyBiZWlkZSBWZXJzaW9uZW4gZWluZXIgQmlibGlvdGhlawogICBhbHMgV2luZG93cy0gb2RlciBhbHMgV0lORS1CaWJsaW90aGVrIGdlbGFkZW4gd2VyZGVuLCBhbmRlcmUKICAgRWluc3RlbGx1bmdlbiBm/GhyZW4gaW4gZGVyIFJlZ2VsIGRpcmVrdCBuYWNoIGRlbSBBdWZydWYgdm9uIFdJTkUKICAgenUgRmVobGVybi4gRGllIGZvbGdlbmRlIFRhYmVsbGUgemVpZ3QsIHdlbGNoZSBkZXIgd2ljaHRpZ3N0ZW4gMTYtCiAgIHVuZCAzMi1CaXQgQmlibGlvdGhla2VuIHp1c2FtbWVuIGdlaPZyZW4gdW5kIGdpYnQgQXVza3VuZnQgZGFy/GJlciwKICAgb2IgZGllc2UgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbgogICBnZWxhZGVuIHdlcmRlbiBr9m5uZW4gb2RlciB1bmJlZGluZ3Qgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZwogICBnZXN0ZWxsdCB3ZXJkZW4gbfxzc2VuLiBFcyB3aXJkIGpld2VpbHMgenVu5GNoc3QgZGllIDE2LUJpdCBWZXJzaW9uCiAgIHVuZCBkYW5uIGRpZSAzMi1CaXQgVmVyc2lvbiBnZW5hbm50LgogICAKICAga3JubDM4NiAKICAga2VybmVsMzIgCiAgIERpZXNlIEJpYmxpb3RoZWsgc3RlbGx0IGRpZSBTY2huaXR0c3RlbGxlIHp1IGRlbiBncnVuZGxlZ2VuZGVuCiAgIEZ1bmt0aW9uZW4sIHdpZSBEYXRlaXp1Z3JpZmYsIEVpbi0gdW5kIEF1c2dhYmUgb2RlcgogICBQcm96ZXNzc3luY2hyb25pc2F0aW9uLCB2b24gV2luZG93cy1CZXRyaWVic3N5c3RlbWVuIHp1ciBWZXJm/Gd1bmcuCiAgIERlc3dlZ2VuIGv2bm5lbiBoaWVyIG5pY2h0IGRpZSBCaWJsaW90aGVrZW4gZWluZXIKICAgV2luZG93cy1JbnN0YWxsYXRpb24gYmVudXR6dCB3ZXJkZW4uCgogICAtIAogICBudGRsbCAKICAgRGllc2UgQmlibGlvdGhlayBlbnRo5Gx0IGRpZSBTY2huaXR0c3RlbGxlIHp1IGRlbSBCZXRyaWVic3N5c3RlbQogICBXaW5kb3dzIE5ULiBFcyBtdXNzIGRlc3dlZ2VuIGRpZSBXSU5FLVZlcnNpb24gYmVudXR6dCB3ZXJkZW4uCgogICAtIAogICBhZHZhcGkzMiAKICAgSGllciBiZWZpbmRlbiBzaWNoIHUuYS4gRnVua3Rpb25lbiB6dW0gWnVncmlmZiBhdWYgZGllCiAgIFdpbmRvd3MtUmVnaXN0cmF0dXIgc293aWUgU2ljaGVyaGVpdHNmdW5rdGlvbmVuIHVuZAogICBrcnlwdG9ncmFwaGlzY2hlIEZ1bmt0aW9uZW4uIEluIGRlciBSZWdlbCBlbXBmaWVobHQgZXMgc2ljaCwgV0lORXMKICAgVmVyc2lvbiBkaWVzZXIgQmlibGlvdGhlayB6dSB2ZXJ3ZW5kZW4uCgogICB3aW5zb2NrIAogICB3c29jazMyIAogICBIaWVyIGJlZmluZGV0IHNpY2ggZGllIEludGVybmV0IFByb3Rva29sbCAoSVApIFNjaG5pdHRzdGVsbGUgdm9uCiAgIFdpbmRvd3MuIE1pdCBXSU5FIHdpcmQgZGllIElQLUZ1bmt0aW9uYWxpdOR0IGRlcyBCZXRyaWVic3N5c3RlbXMKICAgKExpbnV4KSBiZW51dHp0LCBzbyBkYXNzIGhpZXIgZGllIFdJTkUtVmVyc2lvbmVuIGRpZXNlcgogICBCaWJsaW90aGVrZW4gYmVudXR6dCB3ZXJkZW4gbfxzc2VuLCB3ZWxjaGUgZGllIElQLUF1ZnJ1ZmUgdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiBhbiBMaW51eCB3ZWl0ZXJsZWl0ZW4uCgogICBnZGkgCiAgIGdkaTMyIAogICBHREkgc3RlaHQgZvxyIEdyYXBoaWNzIERldmljZSBJbnRlcmZhY2UuIERpZSBCaWJsaW90aGVrIHN0ZWxsdCBlaW5lCiAgIGVpbmhlaXRsaWNoZSBTY2huaXR0c3RlbGxlIHp1ciBCaWxkc2NoaXJtYXVzZ2FiZSB1bmQgenUgRHJ1Y2tlcm4KICAgZGFyLiBBdWNoIGhpZXIgbfxzc2VuIGRpZSBXSU5FLVZlcnNpb25lbiBiZW51dHp0IHdlcmRlbi4gIAoKICAgdXNlcgogICB1c2VyMzIgCiAgIFVzZXIgc3RlbGx0IHUuYS4gRnVua3Rpb25lbiB6dXIgRmVuc3RlcnZlcndhbHR1bmcsIHp1IE1lbvxzIG9kZXIKICAgenVyIEJlZGllbnVuZyBkZXIgWndpc2NoZW5hYmxhZ2UgYmVyZWl0LiBEaWUgV2luZG93cyA5NS85OAogICBWZXJzaW9uZW4gZGllc2VyIEJpYmxpb3RoZWtlbiBrb25udGVuIGZy/GhlciB1bnRlciBiZXN0aW1tdGVuCiAgIEJlZGluZ3VuZ2VuIG1pdCBXSU5FIGJlbnV0enQgd2VyZGVuLiBEaWUgVVNFUi1CaWJsaW90aGVrZW4gdm9uCiAgIFdpbmRvd3MgTlQgcnVmZW4gaW4gZGVyIFJlZ2VsIEZ1bmt0aW9uZW4gaW0gTlQtS2VybmVsIGF1ZiB1bmQKICAga/ZubmVuIGRlc3dlZ2VuIG5pY2h0IG1pdCBXSU5FIGJlbnV0enQgd2VyZGVuLiBFcyBlbXBmaWVobHQgc2ljaCwKICAgZGllIFVzZXItQmlibGlvdGhla2VuIHZvbiBXSU5FIHp1IHZlcndlbmRlbi4KCiAgIGx6ZXhwYW5kIAogICBsejMyIAogICBEaWVzZSBiZWlkZW4gQmlibGlvdGhla2VuIHN0ZWxsZW4gRnVua3Rpb25lbiB6dW0gRGVrb21wcmltaWVyZW4KICAgdm9uIExaLUFyY2hpdmVuIHp1ciBWZXJm/Gd1bmcuIFNvbGNoZSBGdW5rdGlvbmVuIHdlcmRlbiBpbQogICB3ZXNlbnRsaWNoZW4gdm9uIEluc3RhbGxhdGlvbnNwcm9ncmFtbWVuIGJlbvZ0aWd0LiBEaWUgenUgV2luZG93cwogICBnZWj2cmVuZGVuIFZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuIGJlbnV0emVuIGVpbmlnZSBGdW5rdGlvbmVuCiAgIGF1cyBkZXIgS2VybmVsLUJpYmxpb3RoZWssIGRpZSBpbiBXSU5FIHp1ciBaZWl0IG5pY2h0IGltcGxlbWVudGllcnQKICAgc2luZC4gRXMgbfxzc2VuIGRlc3dlZ2VuIGRpZSB2b24gV0lORSBiZXJlaXRnZXN0ZWxsdGVuIFZlcnNpb25lbgogICBiZW51dHp0IHdlcmRlbi4KCiAgIGNvbW1jdHJsIAogICBjb21jdGwzMiAKICAgRGllc2UgQmlibGlvdGhlayAoY29tbW9uIGNvbnRyb2xzKSBzdGVsbHQgRnVua3Rpb25lbiB6dXIgRXJ6ZXVndW5nCiAgIG9mdCBiZW51dHp0ZXIgRmVuc3RlcmVsZW1lbnRlLCB3aWUgV2Vya3pldWdsZWlzdGVuIG9kZXIKICAgU3RhdHVzYW56ZWlnZW4sIHp1ciBWZXJm/Gd1bmcuIEVzIGv2bm5lbiBzb3dvaGwgZGllIFZlcnNpb24gdm9uCiAgIFdJTkUgYWxzIGF1Y2ggZGllIFdpbmRvd3MtVmVyc2lvbiBkZXIgQmlibGlvdGhlayBiZW51dHp0IHdlcmRlbi4KCiAgIGNvbW1kbGcgCiAgIGNvbWRsZzMyIAogICBIaWVyIGJlZmluZGVuIHNpY2gga29tcGxldHRlIERpYWxvZ2UsIGRpZSBvZnQgdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiBiZW51dHp0IHdlcmRlbiAoRmFyYmF1c3dhaGwsIEF1c3dhaGwgZGVyCiAgIFNjaHJpZnRhcnQsIFN1Y2hlbiB1bmQgRXJzZXR6ZW4gdXN3LikuIEF1Y2ggaGllciBr9m5uZW4gd2FobHdlaXNlCiAgIGRpZSBXaW5kb3dzLSBvZGVyIFdJTkUtVmVyc2lvbmVuIGJlbnV0enQgd2VyZGVuLgoKICAgc2hlbGwgCiAgIHNoZWxsMzIgCiAgIERpZSBTaGVsbC1CaWJsaW90aGVrIGJlaW5oYWx0ZXQgZGVuIGdy9t90ZW4gVGVpbCBkZXIKICAgQmVudXR6ZXJzY2huaXR0c3RlbGxlbiB2b24gV2luZG93cy4gU2llIHdpcmQgdW50ZXIgV2luZG93cwogICBiZXNvbmRlcnMgdm9tIEV4cGxvcmVyIChkZW0gRGF0ZWltYW5hZ2VyKSB1bmQgdmllbGVuIGFuZGVyZW4KICAgQW53ZW5kdW5nZW4gYmVudXR6dCwgZGllIEZ1bmt0aW9uZW4gd2llIGJlaXNwaWVsc3dlaXNlCiAgIERyYWctYW5kLURyb3AgdW50ZXJzdPx0emVuLiAgUHJpbnppcGllbGwga2FubiBzb3dvaGwgZGllIFdpbmRvd3MtCiAgIGFscyBhdWNoIGRpZSBXSU5FLVZlcnNpb24gYmVudXR6dCB3ZXJkZW4uCgogICAtIAogICBjcnRkbGwgCiAgIERpZXMgaXN0IGRpZSBzdGFuZGFyZG3k32lnZSBDLUxhdWZ6ZWl0YmlibGlvdGhlayB2b24gV2luZG93cy4gWnVyCiAgIFplaXQgaXN0IGRpZSBXaW5kb3dzLVZlcnNpb24gdm9sbHN05G5kaWdlciwgd2Vzd2VnZW4gZWluaWdlCiAgIFByb2dyYW1tZSBtaXQgZGVyIFdJTkUtVmVyc2lvbiBuaWNodCByaWNodGlnIGZ1bmt0aW9uaWVyZW4uCiAgIAogICBOZWJlbiBkZW4gaGllciBnZW5hbm50ZW4gd2ljaHRpZ3N0ZW4gU3lzdGVtYmlibGlvdGhla2VuIHN0ZWxsdCBXSU5FCiAgIGVpbmUgUmVpaGUgd2VpdGVyZXIgQmlibGlvdGhla2VuIHp1ciBWZXJm/Gd1bmcsIGJlaXNwaWVsc3dlaXNlIHp1cgogICBVbnRlcnN0/HR6dW5nIHZvbiBNdWx0aW1lZGlhLUFud2VuZHVuZ2VuLiBGYWxscyBlaW5lCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1ciBWZXJm/Gd1bmcgc3RlaHQsIGVtcGZpZWhsdCBlcyBzaWNoIGluCiAgIHZpZWxlbiBG5GxsZW4sIGF1c3p1cHJvYmllcmVuLCBvYiBlaW4gUHJvZ3JhbW0gYmVzc2VyIG1pdCBkZW4KICAgV0lORS1WZXJzaW9uZW4gb2RlciBkZW4gV2luZG93cy1WZXJzaW9uZW4gZGllc2VyIEJpYmxpb3RoZWtlbgogICBmdW5rdGlvbmllcnQuIAoKICAgSW4gZGVyIERhdGVpIH4vLndpbmUvY29uZmlnIGdpYnQgZXMgendlaSBBYnNjaG5pdHRlLCBtaXQgZGVuZW4KICAgYmVzdGltbXQgd2lyZCwgd2VsY2hlIEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgV2luZG93cy1JbnN0YWxsYXRpb24KICAgZ2VsYWRlbiB3ZXJkZW4gc29sbGVuLiBEYXL8YmVyaGluYXVzIGv2bm5lbiBkaWVzZSBFaW5zdGVsbHVuZ2VuCiAgIGJlaW0gQXVmcnVmIHZvbiBXSU5FIGFuIGRlciBLb21tYW5kb3plaWxlIPxiZXJzY2hyaWViZW4gd2VyZGVuLgogICBJbSBhbGxnZW1laW5lbiBlbXBmaWVobHQgZXMgc2ljaCwgZGllIEVpbnN0ZWxsdW5nZW4gaW4gZGVyCiAgIEJlaXNwaWVsdmVyc2lvbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSAoZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZykKICAgenUg/GJlcm5laG1lbiB1bmQgZGllc2UgbnVyIGRhbm4genUgdmVy5G5kZXJuLCBmYWxscwogICBiZXN0aW1tdGUgUHJvZ3JhbW1lIG1pdCBkZW4gVm9yZWluc3RlbGx1bmdlbiBuaWNodCByaWNodGlnCiAgIGZ1bmt0aW9uaWVyZW4uIEZhbGxzIGRpZSBCaWJsaW90aGVrZW4gZWluZXIgV2luZG93cy1JbnN0YWxsYXRpb24KICAgYmVudXR6dCB3ZXJkZW4gc29sbGVuLCBpc3QgZGFyYXVmIHp1IGFjaHRlbiwgZGFzcyBkaWVzZSBhdWNoIHZvbgogICBXSU5FIGdlZnVuZGVuIHdlcmRlbiBr9m5uZW4uIERpZXMgc2V0enQgaW4gZGVyIFJlZ2VsIHZvcmF1cywgZGFzcwogICBtaXQgZGVuIFZhcmlhYmxlbiBXaW5kb3dzIHVuZCBTeXN0ZW0gaW0gYWxsZ2VtZWluZW4gVGVpbCBkZXIKICAgS29uZmlndXJhdGlvbiBhdWYgZGFzIFdpbmRvd3MtIGJ6dy4gZGFzIFN5c3RlbXZlcnplaWNobmlzIGVpbmVyCiAgIGf8bHRpZ2VuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlemVpZ3Qgd2lyZCB1bmQgZGFzcyBkaWVzZSBiZWlkZW4KICAgVmVyemVpY2huaXNzZSBpbSBXZXJ0IGRlciBWYXJpYWJsZW4gUGF0aCBnZW5hbm50IHdlcmRlbi4KICAgCiAgIEltIEFic2Nobml0dCBbRGxsRGVmYXVsdHNdIGv2bm5lbiBkaWUgZm9sZ2VuZGVuIGJlaWRlbiBFaW5zdGVsbHVuZ2VuCiAgIHZvcmdlbm9tbWVuIHdlcmRlbjoKICAgCiAgIERlZmF1bHRMb2FkT3JkZXIKICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlIFJlaWhlbmZvbGdlIFdJTkUgc3RhbmRhcmRt5N9pZwogICAgICAgICAgYmVudXR6ZW4gc29sbCwgd2VubiB2ZXJzdWNodCB3aXJkLCBlaW5lIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICBEaWVzZSBSZWloZW5mb2xnZSB3aXJkIGR1cmNoIGRpZSBmb2xnZW5kZW4gU2NobPxzc2Vsd/ZydGVyCiAgICAgICAgICBkZWZpbmllcnQ6CiAgICAgICAgICAKICAgICAgICBuYXRpdmUKICAgICAgICAgICAgICAgIEVzIHNvbGwgdmVyc3VjaHQgd2VyZGVuLCBkaWUgV2luZG93cy1WZXJzaW9uIGRlcgogICAgICAgICAgICAgICAgYmV0cmVmZmVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICBidWlsdGluCiAgICAgICAgICAgICAgICBFcyBzb2xsIHZlcnN1Y2h0IHdlcmRlbiwgZGllIFdJTkUtVmVyc2lvbiBkZXIKICAgICAgICAgICAgICAgIGJldHJlZmZlbmRlbiBCaWJsaW90aGVrIHp1IGxhZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgZWxmZGxsCiAgICAgICAgICAgICAgICBFbGZkbGxzIHNpbmQgZWluZSBiZXNvbmRlcmUgRm9ybSB2b24KICAgICAgICAgICAgICAgIFdpbmRvd3MtQmlibGlvdGhla2VuLCB3ZWxjaGUgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZwogICAgICAgICAgICAgICAgZ2VzdGVsbHQgd2VyZGVuLiBTaWUgc2luZCB1cnNwcvxuZ2xpY2ggZ2VwbGFudCB3b3JkZW4sCiAgICAgICAgICAgICAgICB1bSBkaWUgZWluZ2ViYXV0ZW4gQmlibGlvdGhla2VuIGFienVs9nNlbiwgYWxsZXJkaW5ncwogICAgICAgICAgICAgICAgaGFiZW4gZGllIGVpbmdlYmF1dGVuIEJpYmxpb3RoZWtlbiBtaXQgZGVyIFplaXQgdmllbGUKICAgICAgICAgICAgICAgIGRlciBm/HIgRWxmZGxscyBnZXBsYW50ZW4gRnVua3Rpb25lbiBiZWtvbW1lbiwgc28gZGFzcwogICAgICAgICAgICAgICAgZGllc2UgRm9ybSB2b24gQmlibGlvdGhla2VuIHp1ciBaZWl0IGtlaW5lIGJlc29uZGVyZQogICAgICAgICAgICAgICAgQmVkZXV0dW5nIGhhdC4KICAgICAgICAgICAgICAgIAogICAgICAgIHNvCiAgICAgICAgICAgICAgICBJbiBlaW5pZ2VuIEbkbGxlbiBnaWJ0IGVzIHZvbiBlaW5lciBCaWJsaW90aGVrIExpbnV4LQogICAgICAgICAgICAgICAgdW5kIFdpbmRvd3MtVmVyc2lvbmVuLCBkaWUgc2ljaCBzb3dvaGwgaGluc2ljaHRsaWNoCiAgICAgICAgICAgICAgICBpaHJlciBGdW5rdGlvbmFsaXTkdCBhbHMgYXVjaCBoaW5zaWNodGxpY2ggZGVyCiAgICAgICAgICAgICAgICBhdWZydWZiYXJlbiBGdW5rdGlvbmVuIGluIGRlciBCaWJsaW90aGVrIG5pY2h0CiAgICAgICAgICAgICAgICB1bnRlcnNjaGVpZGVuLiBGYWxscyBlaW4gV2luZG93cy1Qcm9ncmFtbSBkaWUKICAgICAgICAgICAgICAgIFdpbmRvd3MtVmVyc2lvbiBlaW5lciBzb2xjaGVuIEJpYmxpb3RoZWsgbGFkZW4gd2lsbCwKICAgICAgICAgICAgICAgIGthbm4gV0lORSB2ZXJzdWNoZW4sIGFuIFN0ZWxsZSBkZXNzZW4gZGllIExpbnV4LVZlcnNpb24KICAgICAgICAgICAgICAgIHp1IGxhZGVuIHVuZCBkaWUgRnVua3Rpb25lbiBkaWVzZXIgVmVyc2lvbiBhbiBTdGVsbGUKICAgICAgICAgICAgICAgIGRlciBpbiBkZXIgV2luZG93cy1WZXJzaW9uIGF1ZnJ1ZmVuLiBNaXQgZGVtCiAgICAgICAgICAgICAgICBTY2hs/HNzZWx3b3J0IHNvIGthbm4gZGllc2VzIFZlcmhhbHRlbiBoZXJ2b3JnZXJ1ZmVuCiAgICAgICAgICAgICAgICB3ZXJkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICAgIER1cmNoIGRpZSBSZWloZW5mb2xnZSwgbWl0IGRlciBkaWVzZSBTY2hs/HNzZWx39nJ0ZXIgZGVyCiAgICAgICAgICBWYXJpYWJsZW4gRGVmYXVsdExvYWRPcmRlciB6dWdlb3JkbmV0IHdlcmRlbiwgd2lyZAogICAgICAgICAgZmVzdGdlbGVndCwgaW4gd2VsY2hlciBSZWloZW5mb2xnZSBXSU5FIGRpZSBlaW56ZWxuZW4KICAgICAgICAgIFN0cmF0ZWdpZW4gYmVudXR6dC4gIFd1cmRlIGJlaXNwaWVsc3dlaXNlICJEZWZhdWx0TG9hZE9yZGVyIiA9CiAgICAgICAgICAibmF0aXZlLCBidWlsdGluLCBzbyIgYW5nZWdlYmVuLCBzbyB2ZXJzdWNodCBXSU5FLCB3ZW5uIGVpbmUKICAgICAgICAgIEJpYmxpb3RoZWsgZ2VsYWRlbiB3ZXJkZW4gbXVzcywgenVu5GNoc3QgZGllCiAgICAgICAgICBXaW5kb3dzLVZlcnNpb24genUgbGFkZW4uIFdlbm4gZGllcyBuaWNodCBmdW5rdGlvbmllcnQgKGluCiAgICAgICAgICBkZXIgUmVnZWwsIHdlaWwgZGllIEJpYmxpb3RoZWsgbmljaHQgdm9yaGFuZGVuIGlzdCBvZGVyCiAgICAgICAgICBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4ga2FubiksIHdpcmQgdmVyc3VjaHQsIGRpZSBXSU5FLVZlcnNpb24KICAgICAgICAgIGRlciBCaWJsaW90aGVrIHp1IHZlcndlbmRlbiB1bmQgZmFsbHMgYXVjaCBlaW5lIHNvbGNoZSBuaWNodAogICAgICAgICAgdm9yaGFuZGVuIGlzdCwgd2lyZCB2ZXJzdWNodCwgZGlyZWt0IGRpZSBVTklYLVZlcnNpb24gZGVyCiAgICAgICAgICBlbnRzcHJlY2hlbmRlbiBCaWJsaW90aGVrIHp1IGxhZGVuLgogICAgICAgICAgCiAgIEltIEFic2Nobml0dCBbRGxsT3ZlcnJpZGVzXSBs5HNzdCBzaWNoIGRhcyBpbSB2b3JoZXJpZ2VuIEFic2Nobml0dAogICBzcGV6aWZpemllcnRlIFZlcmhhbHRlbiBm/HIgZWluemVsbmUgQmlibGlvdGhla2VuIHdpZWRlcgogICD8YmVyc2NocmVpYmVuLiBX5GhyZW5kIGVzIG7kbWxpY2ggaW0gYWxsZ2VtZWluZW4gZWluZSBndXRlCiAgIFN0cmF0ZWdpZSBpc3QsIHp1buRjaHN0IHp1IHZlcnN1Y2hlbiwgZGllIFdpbmRvd3MtVmVyc2lvbmVuIHZvbgogICBCaWJsaW90aGVrZW4genUgbGFkZW4sIGRhcmYgZGllcyAod2llIG9iZW4gYmVzY2hyaWViZW4pIGJlaQogICBiZXN0aW1tdGVuIEJpYmxpb3RoZWtlbiBhdWYga2VpbmVuIEZhbGwgZ2VzY2hlaGVuIHVuZCBlcyBt/HNzZW4gaW4KICAgamVkZW0gRmFsbCBkaWUgV0lORS1WZXJzaW9uZW4gYmVudXR6dCB3ZXJkZW4uIEFscyBWYXJpYWJsZW4gd2VyZGVuCiAgIGluIGRpZXNlbSBBYnNjaG5pdHQgZGllIEJpYmxpb3RoZWtlbiBnZW5hbm50LCBm/HIgZGllIGVpbmUKICAgc3BlemllbGxlIFJlaWhlbmZvbGdlIGdlbHRlbiBzb2xsLiBIaW50ZXIgZGVtIEdsZWljaGhlaXRzemVpY2hlbgogICB3aXJkIGRhbm4gZGllIGb8ciBkaWVzZSBCaWJsaW90aGVrZW4gZ2V3/G5zY2h0ZSBSZWloZW5mb2xnZSBpbiBkZXIKICAgZ2xlaWNoZW4gRm9ybSBhbmdlZ2ViZW4sIHdpZSBlcyBpbSB2b3JoZXJpZ2VuIEFic2Nobml0dCBiZXNjaHJpZWJlbgogICBpc3QuIEJlaXNwaWVsOgoKICAgW0RsbE92ZXJyaWRlc10KICAgImtybmwzODYsIGtlcm5lbDMyIiA9ICJidWlsdGluIgogICAiZ2RpLCBnZGkzMiIgICAgICAgID0gImJ1aWx0aW4iCiAgICJ1c2VyLCB1c2VyMzIiICAgICAgPSAiYnVpbHRpbiIKICAgInNoZWxsLHNoZWxsMzIiICAgICA9ICJuYXRpdmUsIGJ1aWx0aW4iCgoKICA3LjUgS29uZmlndXJhdGlvbiBkZXMgWDExIEdyYXBoaWt0cmVpYmVycwogIAogICBEZXIgWDExIEdyYXBoaWt0cmVpYmVyIHN0ZWxsdCBkaWUgU2Nobml0dHN0ZWxsZSB6d2lzY2hlbiBkZW4KICAgR3JhcGhpa2Z1bmt0aW9uZW4gZGVyIFdpbmRvd3MtQmV0cmllYnNzeXN0ZW1lIHVuZCBkZW0gWCBXaW5kb3cKICAgU3lzdGVtIGRhci4gRXIgZXJt9mdsaWNodCBlcyBhbHNvLCBkYXNzIFdpbmRvd3MtUHJvZ3JhbW1lIHVudGVyCiAgIFdJTkUgZGFzIFggV2luZG93IFN5c3RlbSDkaG5saWNoIGJlbnV0emVuIGv2bm5lbiwgd2llIHNpZSB1bnRlcgogICBlY2h0ZW0gV2luZG93cyBlaW5lIG5vcm1hbGUgR3JhcGhpa2thcnRlIGJlbnV0emVuLiBEYXMgVmVyaGFsdGVuCiAgIGRlcyBUcmVpYmVycyB3aXJkIGltIEFic2Nobml0dCB4MTFkcnYgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgZWluZ2VzdGVsbHQuIERvcnQgc3RlaGVuIGRpZSBmb2xnZW5kZW4gVmFyaWFibGVuIHp1ciBWZXJm/Gd1bmc6CiAgIAogICBQcml2YXRlQ29sb3JNYXAKICAgICAgICAgIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIHRydWUgZ2VzZXR6dCBpc3QsIHZlcndlbmRldCBXSU5FCiAgICAgICAgICBlaW5lIGVpZ2VuZSBGYXJicGFsZXR0ZS4gQmVpIFgtU2VydmVybiBkaWUgbWl0IGVpbmUKICAgICAgICAgIEZhcmJ0aWVmZW4gdm9uIDI1NiBGYXJiZW4gKDhicHApIG9kZXIgd2VuaWdlciBiZXRyaWViZW4KICAgICAgICAgIHdlcmRlbiwgaGF0IGRhcyB6dXIgRm9sZ2UsIGRhc3MgYW5kZXJlIEZlbnN0ZXIgdS5VLiBpbgogICAgICAgICAgZmFsc2NoZW4gRmFyYmVuIGRhcmdlc3RlbGx0IHdlcmRlbiwgd2VubiB6dSBXSU5FIGdlaPZyZW5kZQogICAgICAgICAgRmVuc3RlciBpbiBkZW4gVm9yZGVyZ3J1bmQgZ2VzY2hhbHRldCBzaW5kLiBEYWb8ciBrYW5uIFdJTkUKICAgICAgICAgIGplZG9jaCBGYXJiZW4gYmVzc2VyIGRhcnN0ZWxsZW4gYWxzIG9obmUgZGllc2UKICAgICAgICAgIEVpbnN0ZWxsdW5nLiBGYWxscyBkZXIgWCBTZXJ2ZXIgbWl0IGVpbmVyIEZhcmJ0aWVmZSB2b24gbWVocgogICAgICAgICAgYWxzIDI1NiBGYXJiZW4gYmV0cmllYmVuIHdpcmQsIGlzdCBkaWUgRWluc3RlbGx1bmcKICAgICAgICAgIHdpcmt1bmdzbG9zLgogICAgICAgICAgCiAgIEFsbG9jU3lzdGVtQ29sb3JzCiAgICAgICAgICBXZW5uIFdJTkUga2VpbmUgZWlnZW5lIEZhcmJwYWxldHRlIHZlcndlbmRldCwga2FubiBoaWVyCiAgICAgICAgICBhbmdlZ2ViZW4gd2VyZGVuLCB3aWV2aWVsZSBGYXJiZW4gdm9uIGRlciBzeXN0ZW13ZWl0CiAgICAgICAgICBnZXRlaWx0ZW4gUGFsZXR0ZSBtYXhpbWFsIHZvbiBXSU5FIGJlbnV0enQgd2VyZGVuCiAgICAgICAgICBk/HJmZW4uIERlciBo9mNoc3Rt9mdsaWNoZSBXZXJ0IGlzdCBoaWVyIDI1Niwgd2VpbCBiZWkKICAgICAgICAgIGJlc3NlcmVuIEZhcmJ0aWVmZW4ga2VpbmUgUGFsZXR0ZSBiZW51dHp0IHdpcmQuIEJlaXNwaWVsOgogICAgICAgICAgIkFsbG9jU3lzdGVtQ29sb3JzIiA9ICIxMDAiLgogICAgICAgICAgCiAgIFBlcmZlY3RHcmFwaGljcwogICAgICAgICAgQW4gZWluaWdlbiBTdGVsbGVuIGhhdCBXSU5FIGRpZSBN9mdsaWNoa2VpdCwKICAgICAgICAgIEdyYXBoaWtvcGVyYXRpb25lbiBlbnR3ZWRlciBzbyBkdXJjaHp1ZvxocmVuLCBkYXNzIHNpZQogICAgICAgICAgYmVzb25kZXJzIHNjaG5lbGwgc2luZCBvZGVyIHNvLCBkYXNzIHNpZSBiZXNvbmRlcnMga29ycmVrdAogICAgICAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4uIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIGRlbiBXZXJ0IHRydWUKICAgICAgICAgIGdlc2V0enQgd2lyZCwgd2lyZCBkZXIgR2VuYXVpZ2tlaXQgVm9yenVnIGdlZ2ViZW4uIEJlaXNwaWVsOgogICAgICAgICAgIlBlcmZlY3RHcmFwaGljcyIgPSAiZmFsc2UiLgogICAgICAgICAgCiAgIFVzZURHQQogICAgICAgICAgREdBIChEaXJlY3QgR3JhcGhpY3MgQWNjZXNzKSBpc3QgZWluZSBFcndlaXRlcnVuZyB2b24KICAgICAgICAgIFhGcmVlODYsIHdlbGNoZSBkZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgZGVuIFNwZWljaGVyIGRlcgogICAgICAgICAgR3JhcGhpa2thcnRlIGVybfZnbGljaHQuIERhZHVyY2ggbGFzc2VuIHNpY2gKICAgICAgICAgIEdyYXBoaWtvcGVyYXRpb25lbiB3ZXNlbnRsaWNoIHNjaG5lbGxlciBkdXJjaGb8aHJlbiBhbHMKICAgICAgICAgIG5vcm1hbGVyd2Vpc2UuIERpZSBEaXJlY3REcmF3LUJpYmxpb3RoZWsgKERpcmVjdFgpIHZvbiBXSU5FCiAgICAgICAgICBrYW5uIGRpZXNlIEVyd2VpdGVydW5nIGJlbnV0emVuLCB3b2R1cmNoIHNpY2ggaW5zYmVzb25kZXJlCiAgICAgICAgICBTcGllbGUgbWl0IGVpbmVyIORobmxpY2hlbiBHZXNjaHdpbmRpZ2tlaXQgd2llIHVudGVyIFdpbmRvd3MKICAgICAgICAgIGF1c2b8aHJlbiBsYXNzZW4uIFdlaWwgREdBIGRlbiBkaXJla3RlbiBIYXJkd2FyZXp1Z3JpZmYKICAgICAgICAgIGVyZm9yZGVydCwgc2luZCBkYXp1IGluIGRlciBSZWdlbCBBZG1pbmlzdHJhdG9ycmVjaHRlCiAgICAgICAgICBlcmZvcmRlcmxpY2guIERpZSBWZXJ3ZW5kdW5nIHZvbiBER0Egd2lyZCBtaXQgIlVzZURHQSIgPSAidHJ1ZSIKICAgICAgICAgIGVpbi0gdW5kIG1pdCAiVXNlREdBIiA9ICJmYWxzZSIgYXVzZ2VzY2hhbHRldC4KCiAgICAgICAgICBBY2h0dW5nOiAKICAgICAgICAgIEFud2VuZHVuZ2VuLCBkaWUgRGlyZWN0RHJhdyBiZW51dHplbiwgdmVyc3VjaGVuCiAgICAgICAgICBub3JtYWxlcndlaXNlIGRlbiBCaWxkc2NoaXJtIGluIGVpbmUgYmVzdGltbXRlIEF1Zmz2c3VuZyB1bmQKICAgICAgICAgIEZhcmJ0aWVmZSB6dSBzY2hhbHRlbi4gV0lORSBrYW5uIGRpZSBBdWZs9nN1bmcgendhcgogICAgICAgICAgdmVy5G5kZXJuLCBmYWxscyBzaWNoIGluIGRlciBEYXRlaSBYRjg2Q29uZmlnIGVpbmUKICAgICAgICAgIERlZmluaXRpb24gZvxyIGRlbiBhbmdlZm9yZGVydGVuIE1vZHVzIGJlZmluZGV0LCB3ZWlsIGRhcyBYCiAgICAgICAgICBXaW5kb3cgU3lzdGVtIGplZG9jaCBuaWNodCBkZW4gV2VjaHNlbCBkZXIgRmFyYnRpZWZlCiAgICAgICAgICB1bnRlcnN0/HR6dCwgaXN0IGVzIG9mdCBlcmZvcmRlcmxpY2gsIGRlbiBYLVNlcnZlciBpbiBkZXIKICAgICAgICAgIGJlbvZ0aWd0ZW4gRmFyYnRpZWZlIHp1IHN0YXJ0ZW4sIGJldm9yIFdJTkUgZ2VzdGFydGV0IHdpcmQuCiAgICAgICAgICAKICAgVXNlWFNobQogICAgICAgICAgSGllcmJlaSBoYW5kZWx0IGVzIHNpY2ggdW0gZWluZSBhbmRlcmUgRXJ3ZWl0ZXJ1bmcgZGVzIFgKICAgICAgICAgIFdpbmRvdyBTeXN0ZW1zLCBkaWUgc2NobmVsbGVyZSBHcmFwaGlrb3BlcmF0aW9uZW4KICAgICAgICAgIGVybfZnbGljaHQuICBCZWlzcGllbDogIlVzZVhTaG0iID0gInRydWUiLgogICAgICAgICAgCiAgIERYR3JhYgogICAgICAgICAgRGllc2UgT3B0aW9uIGJld2lya3QsIGRhc3MgZGVyIE1hdXN6ZWlnZXIgLSBiZWkgZGVyCiAgICAgICAgICBWZXJ3ZW5kdW5nIHZvbiBEaXJlY3REcmF3IChEaXJlY3RYKSAtIGRhcyB2b24gRGlyZWN0RHJhdwogICAgICAgICAgZ2VzdGV1ZXJ0ZSBGZW5zdGVyIG5pY2h0IHZlcmxhc3NlbiBrYW5uLiBEaWVzIGlzdCBub3R3ZW5kaWcsCiAgICAgICAgICB1bSBlaW5pZ2UgUHJvZ3JhbW1lIHJpY2h0aWcgYmVkaWVuZW4genUga/ZubmVuLCBhbGxlcmRpbmdzCiAgICAgICAgICB3aXJkIGRhZHVyY2ggdmVyaGluZGVydCwgbWl0IGRlciBNYXVzIGluIGVpbiBhbmRlcmVzIEZlbnN0ZXIKICAgICAgICAgIHp1IHNjaGFsdGVuLCBiZWlzcGllbHN3ZWlzZSB1bSBXSU5FIHp1IGJlZW5kZW4uIEJlaXNwaWVsOgogICAgICAgICAgIkRYR3JhYiIgPSAiZmFsc2UiLgogICAgICAgICAgCiAgIFNjcmVlbkRlcHRoCiAgICAgICAgICBFaW5pZ2UgWC1TZXJ2ZXIgdW50ZXJzdPx0emVuIHVudGVyc2NoaWVkbGljaGUgRmFyYnRpZWZlbiBhdWYKICAgICAgICAgIGRlbSBzZWxiZW4gQmlsZHNjaGlybS4gTWl0IGRpZXNlciBWYXJpYWJsZSBrYW5uIGF1c2dld+RobHQKICAgICAgICAgIHdlcmRlbiwgd2VsY2hlIEZhcmJ0aWVmZSBpbiBlaW5lbSBzb2xjaGVuIEZhbGwgYmVudXR6dAogICAgICAgICAgd2VyZGVuIHNvbGwuCgogICBNYW5hZ2VkCiAgICAgICAgICBXSU5FIGthbm4gdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiBkYXJnZXN0ZWxsdGUgRmVuc3RlcgogICAgICAgICAgdS5hLiB1bmFiaORuZ2lnIHZvbSBlaW5nZXNldHp0ZW4gV2luZG93LU1hbmFnZXIgYW56ZWlnZW4KICAgICAgICAgIG9kZXIgc2llIHVudGVyIGRpZSBLb250cm9sbGUgZGVzIFdpbmRvdy1NYW5hZ2VycwogICAgICAgICAgc3RlbGxlbi4gRGFzIHp3ZWl0ZSBWZXJmYWhyZW4gYmlldGV0IGVpbmUgYmVzc2VyZQogICAgICAgICAgSW50ZWdyYXRpb24gdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiBpbiBkaWUgQXJiZWl0c3VtZ2VidW5nCiAgICAgICAgICB1bnRlciBMaW51eCwgd2VpbCBkaWUgRmVuc3RlciBkYW5uIGdlbmF1c28gd2llIGRpZSB2b24KICAgICAgICAgIExpbnV4LVByb2dyYW1tZW4gZXJzY2hlaW5lbiB1bmQgenUgc3RldWVybiBzaW5kLiBXZWxjaGVyIGRlcgogICAgICAgICAgdmVyZvxnYmFyZW4gQW56ZWlnZW1vZGkgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLCB3aXJkCiAgICAgICAgICBub3JtYWxlcndlaXNlIGFuIGRlciBLb21tYW5kb3plaWxlIGJlaW0gQXVmcnVmIHZvbiBXSU5FCiAgICAgICAgICBhbmdlZ2ViZW4uIER1cmNoIGRpZXNlIFZhcmlhYmxlIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgICAgICAgICBs5HNzdCBzaWNoIGZlc3RsZWdlbiwgb2Igdm9uIFdJTkUgZ2VzdGV1ZXJ0ZSBGZW5zdGVyCiAgICAgICAgICBzdGFuZGFyZG3k32lnIGRlbiBXaW5kb3ctTWFuYWdlciB2ZXJ3ZW5kZW4gc29sbGVuICgiTWFuYWdlZCIgPQogICAgICAgICAgInRydWUiKS4KCiAgIERlc2t0b3BEb3VibGVCdWZmZXJlZAogICAgICAgICAgRGllc2UgT3B0aW9uIHNvbGx0ZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IHdlcmRlbiwgd2VubgogICAgICAgICAgbWl0IFdJTkUgUHJvZ3JhbW1lIGJlbnV0enQgd2VyZGVuLCBkaWUgT3BlbkdMCiAgICAgICAgICBiZW51dHplbi4gSGllcmR1cmNoIHdpcmQgZGllIERhcnN0ZWxsdW5nIHNvbGNoZXIgQW53ZW5kdW5nZW4KICAgICAgICAgIHZlcmJlc3NlcnQuCiAgICAgICAgICAKICA3LjYgS29uZmlndXJhdGlvbiBkZXIgenUgdmVyd2VuZGVuZGVuIFNjaHJpZnRhcnRlbgogIAogICBEZXIgWDExLUdyYXBoaWt0cmVpYmVyIHgxMWRydiB2ZXJ3ZW5kZXQgenVyIERhcnN0ZWxsdW5nIHZvbiBTY2hyaWZ0CiAgIGRpZSBTY2hyaWZ0YXJ0ZW4sIGRpZSBkZW0gWC1TZXJ2ZXIgZGlyZWt0IG9kZXIg/GJlciBlaW5lbiBGb250c2VydmVyCiAgIHp1ciBWZXJm/Gd1bmcgc3RlaGVuLiBFaW5lIFJlaWhlIHZvbiBXaW5kb3dzLUFud2VuZHVuZ2VuIGVyd2FydGVuCiAgIGFsbGVyZGluZ3MgZ2FueiBiZXN0aW1tdGUgU2NocmlmdGVuLCBkaWUgdW50ZXIgV2luZG93cyBpbiBkZXIgUmVnZWwKICAgdmVyZvxnYmFyIHNpbmQgdW5kIHZpZWxlIEFud2VuZHVuZ2VuIHdlcmRlbiBhbmRlcnMgYWxzIHVudGVyIFdpbmRvd3MKICAgZGFyZ2VzdGVsbHQsIGZhbGxzIGFuZGVyZSBTY2hyaWZ0YXJ0ZW4gYmVudXR6dCB3ZXJkZW4gbfxzc2VuLgogICAKICAgV2luZG93cyB2ZXJ3ZW5kZXQgbm9ybWFsZXJ3ZWlzZSB6d2VpIHVudGVyc2NoaWVkbGljaGUgVHlwZW4gdm9uCiAgIFNjaHJpZnRhcnRlbiwgbuRtbGljaCBzbyBnZW5hbm50ZW4gVHJ1ZVR5cGUtU2NocmlmdGVuIHVuZCBlaW5mYWNoZQogICBCaXRtYXAtU2NocmlmdGFydGVuLiBCZWlkZSBTY2hyaWZ0dHlwZW4ga/ZubmVuIHZvbiBYRnJlZTg2IGluIGRlcgogICBWZXJzaW9uc2ZhbWlsaWUgMy54IHN0YW5kYXJkbeTfaWcgbmljaHQgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICB3ZXJkZW4uIEFsbGVyZGluZ3MgaXN0IGVzIG32Z2xpY2gsIFdpbmRvd3MtQml0bWFwLVNjaHJpZnRhcnRlbiBpbgogICBlaW4gRm9ybWF0IHp1IPxiZXJzZXR6ZW4sIHdlbGNoZXMgdm9uIFhGcmVlODYgZWluZ2VidW5kZW4gd2VyZGVuCiAgIGthbm4uIFRydWVUeXBlLVNjaHJpZnRhcnRlbiBr9m5uZW4g/GJlciBzcGV6aWVsbGUKICAgVHJ1ZVR5cGUtRm9udHNlcnZlciwgZGllIG1pdHRsZXJ3ZWlsZSBpbiBkZW4gbWVpc3RlbiBEaXN0cmlidXRpb25lbgogICBlbnRoYWx0ZW4gc2luZCwgZWluZ2VidW5kZW4gd2VyZGVuLiBGYWxscyBlaW5lIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIHp1ciBWZXJm/Gd1bmcgc3RlaHQsIGVtcGZpZWhsdCBlcyBzaWNoIGltIGFsbGdlbWVpbmVuLCBkaWUgZG9ydAogICB2b3JoYW5kZW5lbiBTY2hyaWZ0YXJ0ZW4gYXVjaCB1bnRlciBMaW51eCBlaW56dWJpbmRlbiwgZGFtaXQgdW50ZXIKICAgV0lORSBhdXNnZWb8aHJ0ZSBXaW5kb3dzLUFud2VuZHVuZ2VuIGRpZSBlcndhcnRldGVuIFNjaHJpZnRhcnRlbgogICB2b3JmaW5kZW4uIFdlbm4gV0lORSBvaG5lIFdpbmRvd3MtU2NocmlmdGFydGVuIGJlbnV0enQgd2lyZCwKICAgdmVyc3VjaHQgZGFzIFByb2dyYW1tLCBkaWUgYW5nZWZvcmRlcnRlbiBTY2hyaWZ0ZW4gZHVyY2ggZGllCiAgIFNjaHJpZnRlbiBkZXMgWCBXaW5kb3cgU3lzdGVtcyB6dSBlcnNldHplbiwgd29kdXJjaCBzaWNoCiAgIFZlcuRuZGVydW5nZW4gaW0gRXJzY2hlaW51bmdzYmlsZCBkZXIgQW53ZW5kdW5nZW4gZXJnZWJlbiBr9m5uZW4uCiAgIAogICAgNy42LjEgRWluYmluZGVuIHZvbiBCaXRtYXAtU2NocmlmdGVuCiAgICAKICAgV2luZG93cyBCaXRtYXAtU2NocmlmdGFydGVuIGJlZmluZGVuIHNpY2ggbm9ybWFsZXJ3ZWlzZSBpbQogICBVbnRlcnZlcnplaWNobmlzIGZvbnRzIGRlcyBXaW5kb3dzLVZlcnplaWNobmlzc2VzIHVuZCBoYWJlbiBkaWUKICAgRGF0ZWluYW1lbnNlbmR1bmcgLmZvbi4gRXMgaXN0IGFiZXIgYXVjaCBt9mdsaWNoLCBkYXNzIHNpZSBpbgogICBhdXNm/GhyYmFyZW4gRGF0ZWllbiBvZGVyIGluIEJpYmxpb3RoZWtlbiBlbnRoYWx0ZW4gc2luZC4gSW0KICAgVW50ZXJ2ZXJ6ZWljaG5pcyB0b29scyBkZXMgQmFzaXN2ZXJ6ZWljaG5pc3NlcyBtaXQgZGVtCiAgIFdJTkUtUXVlbGxjb2RlIGJlZmluZGV0IHNpY2ggZGFzIFByb2dyYW1tIGZudDJiZGYsIG1pdCBkZW0gZGllCiAgIEZvbnRzIGF1cyBkaWVzZW4gRGF0ZWllbiBleHRyYWhpZXJ0IHVuZCBpbiBkYXMgQml0bWFwIERpc3RyaWJ1dGlvbgogICBGb3JtYXQgKC5iZGYpIHVtZ2V3YW5kZWx0IHdlcmRlbiBr9m5uZW4uIERhenUgaXN0IGRhcyBQcm9ncmFtbQogICBmb2xnZW5kZXJtYXNzZW4gYXVmenVydWZlbjoKICAgCiAgIGZudDJiZGYgLW8gQmFzaXNuYW1lIFNjaHJpZnRkYXRlaQoKICAgRGFiZWkgaXN0IGb8ciBTY2hyaWZ0ZGF0ZWkgZGVyIE5hbWUgZGVyIERhdGVpIGFuenVnZWJlbiwgaW4gZGVyCiAgIHNpY2ggZGllIHp1IGV4dHJhaGllcmVuZGVuIFNjaHJpZnRlbiBiZWZpbmRlbiB1bmQgZvxyIEJhc2lzbmFtZQogICBlaW5lIEJlemVpY2hudW5nLCBtaXQgZGVyIGRpZSBOYW1lbiBkZXIgenUgZXh0cmFoaWVyZW5kZW4gRGF0ZWllbgogICBiZWdpbm5lbiBzb2xsZW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBzaWNoIGluIGRlciBSZWdlbCBpbgogICBlaW5lciBXaW5kb3dzLVNjaHJpZnRhcnRlbmRhdGVpIG1laHJlcmUgU2NocmlmdGFydGVuIGJlZmluZGVuLCBkaWUKICAgaW4gdW50ZXJzY2hpZWRsaWNoZSBEYXRlaWVuIGV4dHJhaGllcnQgd2VyZGVuLiBCZWkgZWluaWdlbgogICBTY2hyaWZ0YXJ0ZW4gaXN0IGVzIG5vdHdlbmRpZywgZGVtIFByb2dyYW1tIG1pdHp1dGVpbGVuLCB3aWUgZGllCiAgIFNjaHJpZnRhcnRlbiBrb2RpZXJ0IHNpbmQuIEhpZXJ6dSBpc3QgZGllIE9wdGlvbiAtYyB6dSB2ZXJ3ZW5kZW4KICAgdW5kIGRhaGludGVyIGRpZSBCZXplaWNobnVuZyBkZXIgS29kaWVydW5nIGFuenVnZWJlbi4gRWluZQogICDcYmVyc2ljaHQg/GJlciBhbGxlIHZvbiBkZW0gUHJvZ3JhbW0gdW50ZXJzdPx0enRlbiBPcHRpb25lbiB3aXJkCiAgIGF1c2dlZ2ViZW4sIHdlbm4gZXMgb2huZSBQYXJhbWV0ZXIgYXVmZ2VydWZlbiB3aXJkLiBVbSBhbHNvCiAgIGJlaXNwaWVsc3dlaXNlIGRpZSBCaXRtYXAtU2NocmlmdGVuIGF1cyBkZXIgRGF0ZWkgU0VSSUZGLkZPTiBpbgogICBEYXRlaWVuIHp1IGV4dHJhaGllcmVuLCBkZXJlbiBOYW1lbiBtaXQgZGVyIEJlemVpY2hudW5nIHNlcmlmZgogICBiZWdpbm5lbiwgd+RyZSBkYXMgUHJvZ3JhbW0gc28gYXVmenVydWZlbjoKICAgCiAgIGZudDJiZGYgLW8gc2VyaWZmIFNFUklGRi5GT04KICAgCiAgIEVzIHdlcmRlbiBkYW5uIGVpbmUgUmVpaGUgdm9uIERhdGVpZW4gbWl0IHVudGVyc2NoaWVkbGljaGVuIEZvbnRzCiAgIGF1cyBkZXIgT3JpZ2luYWxkYXRlaSBlcnpldWd0LiBJbSBu5GNoc3RlbiBTY2hyaXR0IHNpbmQgZGllc2UKICAgRGF0ZWllbiBtaXQgZGVtIFByb2dyYW1tIGJkZnRvcGNmKDEpIGluIGRhcyBzbyBnZW5hbm50ZSBQb3J0YWJsZQogICBDb21waWxlZCBGb3JtYXQgenUg/GJlcnNldHplbi4gRGllc2VzIFByb2dyYW1tIHNvbGx0ZSBCZXN0YW5kdGVpbAogICBqZWRlciBYMTEtSW5zdGFsbGF0aW9uIHNlaW4gdW5kIGlzdCBkdXJjaCBlaW5lIE1hbnVhbHNlaXRlCiAgIGRva3VtZW50aWVydC4gVW0gYmVpc3BpZWxzd2Vpc2UgZGllIERhdGVpIHNlcmlmZl9yNDAwLTIzLmJkZiB6dQogICD8YmVyc2V0emVuIHVuZCBkYXMgRXJnZWJuaXMgaW4gZGllIERhdGVpIHNlcmlmZl9yNDAwLTIzLnBjZiB6dQogICBzY2hyZWliZW4sIGv2bm50ZSBkYXMgUHJvZ3JhbW0gc28gYXVmZ2VydWZlbiB3ZXJkZW46CiAgIAogICBiZGZ0b3BjZiAtbyBzZXJpZmZfcjQwMC0yMy5wY2Ygc2VyaWZmX3I0MDAtMjMuYmRmCiAgIAogICBEaWUgYXVmIGRpZXNlIFdlaXNlIGVyemV1Z3RlbiBEYXRlaWVuIGv2bm5lbiBudW4gaW4gZWluZXMgZGVyLCB2b24KICAgZGVtIFgtU2VydmVyIG9kZXIgZWluZW0gRm9udHNlcnZlciBiZW51dHp0ZW4sIEZvbnQtVmVyemVpY2huaXMKICAga29waWVydCB3ZXJkZW4uIEluIGRpZXNlbSBWZXJ6ZWljaG5pcyBpc3QgZGFuYWNoIGRlciBCZWZlaGwKICAgbWtmb250ZGlyIGF1Znp1cnVmZW4sIGRhbWl0IGRlciBkb3J0IGJlZmluZGxpY2ggRm9udGluZGV4IG5ldQogICBlcnpldWd0IHdpcmQuICBCZXZvciBkaWUgU2NocmlmdGVuIGRhbm4gdGF0c+RjaGxpY2ggdW50ZXIgWCB6dXIKICAgVmVyZvxndW5nIHN0ZWhlbiB1bmQgZGFtaXQgdm9uIFdJTkUgYmVudXR6dCB3ZXJkZW4ga/ZubmVuLCBtdXNzIFgKICAgbmV1IGdlc3RhcnRldCBvZGVyIGRlciBmb2xnZW5kZSBCZWZlaGwgYW4gZGVyIEtvbW1hbmRvemVpbGUKICAgZWluZ2VnZWJlbiB3ZXJkZW46CiAgIAogICB4c2V0IGZwICtyZWhhc2gKICAgCiAgIEltIFVudGVydmVyemVpY2huaXMgdG9vbHMgZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMgYmVmaW5kZXQKICAgc2ljaCBlaW4gU2hlbGxza3JpcHQgbWl0IGRlbSBOYW1lbiBmb250X2NvbnZlcnQuc2gsIHdlbGNoZXMgZGllCiAgIG9iZW4gZ2VuYW5udGVuIFNjaHJpdHRlIGF1dG9tYXRpc2NoIGR1cmNoZvxocnQgdW5kIGFsbGUgdW50ZXJoYWxiCiAgIGVpbmVzIFZlcnplaWNobmlzc2VzIGJlZmluZGxpY2hlbiBCaXRtYXAtU2NocmlmdGFydGVuIGF1dG9tYXRpc2NoCiAgIGtvbnZlcnRpZXJ0IHVuZCBpbnN0YWxsaWVydC4KICAgCiAgICA3LjYuMiBFaW5iaW5kZW4gdm9uIFRydWVUeXBlLVNjaHJpZnRlbgogICAgCiAgIFdpZSBiZXJlaXRzIGVyd+RobnQsIGv2bm5lbiBkaWUgWC1TZXJ2ZXIgdm9uIFhGcmVlODYgaW4gZGVyCiAgIFZlcnNpb25zZmFtaWxpZSAzLngga2VpbmUgVHJ1ZVR5cGUtU2NocmlmdGVuIGRhcnN0ZWxsZW4uIFNlaXQKICAgWEZyZWU4NiA0LjAgaGF0IHNpY2ggZGllcyBhbGxlcmRpbmdzIGdl5G5kZXJ0LCBzbyBkYXNzIHNvbGNoZQogICBTY2hyaWZ0ZW4genVr/G5mdGlnIHByb2JsZW1sb3MgdW50ZXIgWCAtIHVuZCBkYW1pdCBhdWNoIG1pdCBXSU5FIC0KICAgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdCB3ZXJkZW4ga/ZubmVuLiBMZWlkZXIga/ZubmVuIPxiZXIgZGFzCiAgIFgtRm9udC1Qcm90b2tvbGwgbmljaHQgYWxsZSB2b24gbWFuY2hlbiBXaW5kb3dzLVByb2dyYW1tZW4KICAgYmVu9nRpZ3RlbiBJbmZvcm1hdGlvbmVuIPxiZXIgVHJ1ZVR5cGUtRm9udHMgZGFyZ2VzdGVsbHQgd2VyZGVuLCBzbwogICBkYXNzIG1hbmNoZSBXaW5kb3dzLVByb2dyYW1tZSBhdWNoIGRhbm4gbm9jaCBuaWNodCByaWNodGlnCiAgIGZ1bmt0aW9uaWVyZW4sIHdlbm4gZGllIGJlbvZ0aWd0ZW4gRm9udHMgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICB3b3JkZW4gc2luZC4gTWl0IFhGcmVlODYgMy54IGJpZXRldCBzaWNoIGRlciBFaW5zYXR6IGVpbmVzCiAgIFRydWVUeXBlLUZvbnRzZXJ2ZXJzIGFuLiBadXIgWmVpdCBzdGVoZW4gZHJlaSB1bnRlcnNjaGllZGxpY2hlCiAgIHNvbGNoZXIgUHJvZ3JhbW1lIHp1ciBWZXJm/Gd1bmcsIG7kbWxpY2g6IHhmcy14dHQgKERlYmlhbi1QYWtldDoKICAgeGZzLXh0dCksIHhmc3R0IChEZWJpYW4tUGFrZXQgeGZzdHQpIHVuZCB4ZnNmdCAoaW0gSW50ZXJuZXQgdW50ZXIKICAgZGVyIEFkcmVzc2UgaHR0cDovL3d3dy5kY3MuZWQuYWMudWsvaG9tZS9qZWMvcHJvZ3JhbXMveGZzZnQvCiAgIHZlcmb8Z2JhcikuCiAgIAogICBEZXIgQXV0b3IgaGF0IG1pdCBkZW0gUHJvZ3JhbW0geGZzZnQgZGllIGJlc3RlbiBFcmdlYm5pc3NlIGVyemllbHQuCiAgIERpZXNlciBTZXJ2ZXIgbORzc3Qgc2ljaCBsZWljaHQga29uZmlndXJpZXJlbiB1bmQgaXN0IGtvbXBhdGliZWwgenUKICAgaGVya/ZtbWxpY2hlbiBGb250c2VydmVybiwgc28gZGFzcyBuaWNodCB6d2VpIHZlcnNjaGllZGVuZQogICBGb250c2VydmVyIGF1ZiBlaW5lbSBSZWNobmVyIGF1c2dlZvxocnQgd2VyZGVuIG38c3Nlbi4gRGllc2VzCiAgIFByb2dyYW1tIGRpZW50ZSBhdWNoIGFscyBHcnVuZGxhZ2UgZvxyIGRpZSBJbnRlZ3JhdGlvbiBkZXIKICAgVHJ1ZVR5cGUtVW50ZXJzdPx0enVuZyBpbiBYRnJlZTg2IDQuMC4KICAgCiAgIFVtIGRpZSB2b24gZWluZW0gRm9udHNlcnZlciB6dXIgVmVyZvxndW5nIGdlc3RlbGx0ZW4gU2NocmlmdGVuIHp1CiAgIHZlcndlbmRlbiwgbXVzcyBkZW0gWC1TZXJ2ZXIgZGllIEFkcmVzc2UgZGVzIEZvbnRzZXJ2ZXJzIG1pdGdldGVpbHQKICAgd2VyZGVuLiBEaWVzIGthbm4gZW50d2VkZXIgaW4gZGVyIERhdGVpIC9ldGMvWDExL1hGODZDb25maWcgb2RlcgogICBkdXJjaCBFaW5nYWJlIGRpZXNlcyBCZWZlaGxzIGdlc2NoZWhlbjoKICAgCiAgIHhzZXQgZnArIHRjcC9sb2NhbGhvc3Q6NzEwMAogICAKICAgRGFiZWkgbXVzcyBsb2NhbGhvc3QgdS5VLiBnZWdlbiBkZW4gTmFtZW4gZGVzIFJlY2huZXJzIGF1c2dldGF1c2NodAogICB3ZXJkZW4sIGF1ZiBkZW0gZGVyIEZvbnRzZXJ2ZXIgYXVzZ2Vm/GhydCB3ZXJkZW4gdW5kIDcxMDAgZHVyY2ggZGVuCiAgIFBvcnQsIGRlciB2b20gRm9udHNlcnZlciBiZW51dHp0IHdpcmQuIFdlbm4gZGVyIEZvbnRzZXJ2ZXIgYXVmIGRlbQogICBzZWxiZW4gUmVjaG5lciBhdXNnZWb8aHJ0IHdpcmQgd2llIGRlciBYLVNlcnZlciwgZGFubiBr9m5uZW4genVyCiAgIEtvbW11bmlrYXRpb24gendpc2NoZW4gWC1TZXJ2ZXIgdW5kIEZvbnRzZXJ2ZXIgYXVjaAogICBVTklYLURvbWFpbi1Tb2NrZXRzIGJlbnV0enQgd2VyZGVuLiBEZXIgZW50c3ByZWNoZW5kZSBCZWZlaGwga/ZubnRlCiAgIGRhbm4gZm9sZ2VuZGVybWHfZW4gYXVzc2VoZW46CiAgIAogICB4c2V0IGZwKyB1bml4Lzo3MTAwCiAgIAogICAgNy42LjMgRm9udC1FaW5zdGVsbHVuZ2VuIGluIGRlciBXSU5FcyBLb25maWd1cmF0aW9uc2RhdGVpCiAgICAKICAgSW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgfi8ud2luZS9jb25maWcgYnp3LiB3aW5lLmNvbmYgc3RlaGVuIGRpZQogICBmb2xnZW5kZW4gVmFyaWFibGVuIHp1ciBWZXJm/Gd1bmcsIG1pdCBkZW5lbiBXSU5FcyBVbWdhbmcgbWl0CiAgIFNjaHJpZnRhcnRlbiBiZWVpbmZsdXNzdCB3ZXJkZW4ga2FubjoKICAgCiAgIFJlc29sdXRpb24KICAgICAgICAgIFVudGVyIFdpbmRvd3Mga/ZubmVuIFByb2dyYW1tZSBkaWUgR3L232UgZWluZXMgenUKICAgICAgICAgIHZlcndlbmRlbmRlbiBGb250cyBpbiBQdW5rdGVuIChhbiBTdGVsbGUgdm9uIFBpeGVsbikKICAgICAgICAgIGFuZ2ViZW4uIERhbWl0IGRpZSBTY2hyaWZ0YXJ0IGRhbm4gaW4gZGVyIHJpY2h0aWdlbiBHcvbfZQogICAgICAgICAgYW5nZXplaWd0IHdlcmRlbiBrYW5uLCBtdXNzIGRpZSB0YXRz5GNobGljaGUgR3L232UgZGVzCiAgICAgICAgICBCaWxkc2NoaXJtcyBiZWthbm50IHNlaW4sIHdhcyB1bnRlciBYIG5pY2h0IHVuYmVkaW5ndCBkZXIKICAgICAgICAgIEZhbGwgaXN0LiBNaXQgZGVyIFZhcmlhYmxlIFJlc29sdXRpb24ga2FubiBkZXN3ZWdlbiBqdXN0aWVydAogICAgICAgICAgd2VyZGVuLCB3ZWxjaGUgU2NocmlmdGdy9t9lbiBpbiBzb2xjaGVuIEbkbGxlbiB2b24gV0lORQogICAgICAgICAgYXVzZ2V35GhsdCB3ZXJkZW4uIERlciBTdGFuZGFyZHdlcnQgaXN0IDk2LCBzaW5udm9sbGUgV2VydGUKICAgICAgICAgIGxpZWdlbiB6d2lzY2hlbiA2MCB1bmQgMTIwLiBCZWlzcGllbDogIlJlc29sdXRpb24iID0gIjEwMCIuCiAgICAgICAgICAKICAgRGVmYXVsdAogICAgICAgICAgTWl0IGRpZXNlciBWYXJpYWJsZSB3aXJkIGFuZ2VnZWJlbiwgd2VsY2hlIFNjaHJpZnRhcnQgV0lORQogICAgICAgICAgYWxzIFN0YW5kYXJkIHZlcndlbmRlbiBzb2xsLiBEaWUgZGFiZWkgYW56dWdlYmVuZGUKICAgICAgICAgIFplaWNoZW5rZXR0ZSBiZXN0ZWh0IGF1cyBkZXIgSGVyc3RlbGxlcmJlemVpY2hudW5nIGRlciB6dQogICAgICAgICAgdmVyd2VuZGVuZGVuIFNjaHJpZnRhcnQgdW5kIGlocmVtIE5hbWVuLCBkaWVzZSBCZXplaWNobnVuZ2VuCiAgICAgICAgICB3ZXJkZW4gZHVyY2ggZWluIE1pbnVzemVpY2hlbiBtaXRlaW5hbmRlciB2ZXJidW5kZW4sCiAgICAgICAgICBhdd9lcmRlbSBtdXNzIHNpY2ggenUgQmVnaW5uIHVuZCBhbSBFbmRlIGRlciBaZWljaGVua2V0dGUKICAgICAgICAgIGVpbiBNaW51c3plaWNoZW4gYmVmaW5kZW4uICBEaWUgdW50ZXIgWDExIHZlcmb8Z2JhcmVuIEZvbnRzCiAgICAgICAgICBr9m5uZW4gYmVpc3BpZWxzd2Vpc2UgbWl0IGRlbiBQcm9ncmFtbWVuIHhmb250c2VsKDEpIG9kZXIKICAgICAgICAgIHhsc2ZvbnRzKDEpIGF1c2dld+RobHQgd2VyZGVuLiAgCiAgICAgICAgICBCZWlzcGllbDogIkRlZmF1bHQiID0gICItYWRvYmUtdGltZXMtIgogICAgICAgICAgCiAgIERlZmF1bHRGaXhlZAogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdlbGNoZW4gRm9udCBXSU5FIGFscwogICAgICAgICAgc3RhbmRhcmRt5N9pZ2UgU2NocmlmdGFydCBtaXQgZ2xlaWNobeTfaWdlciBCdWNoc3RhYmVuYnJlaXRlCiAgICAgICAgICB2ZXJ3ZW5kZW4gc29sbC4gIERlciBOYW1lIGRlciBnZXf8bnNjaHRlbiBTY2hyaWZ0IGlzdCB3aWUKICAgICAgICAgIGJlaSBkZXIgVmFyaWFibGVuIERlZmF1bHQgYW56dWdlYmVuLiBCZWlzcGllbDoKICAgICAgICAgICJEZWZhdWx0Rml4ZWQiID0gIi1zb255LWZpeGVkLSIKICAgICAgICAgIAogICBEZWZhdWx0U2VyaWYKICAgICAgICAgIEhpZXJtaXQgd2lyZCBmZXN0Z2VsZWd0LCB3ZWxjaGVuIEZvbnQgV0lORSBhbHMKICAgICAgICAgIHN0YW5kYXJkbeTfaWdlIFNjaHJpZnRhcnQgbWl0IFNlcmlmZW4gdmVyd2VuZGVuCiAgICAgICAgICBzb2xsLiBCZWlzcGllbDogIkRlZmF1bHRTZXJpZiIgPSAiLWFkb2JlLXRpbWVzLSIKICAgICAgICAgIAogICBEZWZhdWx0U2Fuc1NlcmlmCiAgICAgICAgICBIaWVybWl0IHdpcmQgYmVzdGltbXQsIHdlbGNoZW4gRm9udCBXSU5FIGFscyBzdGFuZGFyZG3k32lnZQogICAgICAgICAgU2NocmlmdGFydCBvaG5lIFNlcmlmZW4gdmVyd2VuZGVuIHNvbGwuIEJlaXNwaWVsOgogICAgICAgICAgIkRlZmF1bHRTYW5zU2VyaWYiID0gIi1hZG9iZS1oZWx2ZXRpY2EtIgogICAgICAgICAgCiAgIEZvbnRtZXRyaWMKICAgICAgICAgIFdlbm4gV0lORSBkYXMgZXJzdGUgTWFsIGdlc3RhcnRldCB3aXJkLCBmcmFndCBlcyB2b20KICAgICAgICAgIFgtU2VydmVyIGRpZSBFaWdlbnNjaGFmdGVuIGRlciB2ZXJm/GdiYXJlbiBGb250cyBhYi4gIFdlaWwKICAgICAgICAgIGRpZXNlIE9wZXJhdGlvbiByZWNodCB6ZWl0YXVmd2VuZGlnIGlzdCwgd2lyZCBkYXMgRXJnZWJuaXMKICAgICAgICAgIGRlciBBYmZyYWdlIGluIGVpbmVyIERhdGVpIGltIEhlaW1hdHZlcnplaWNobmlzIGRlcwogICAgICAgICAgYmV0cmVmZmVuZGVuIEJlbnV0emVycyBnZXNwZWljaGVydC4gRGllIEFiZnJhZ2UgYnJhdWNodCBkYW5uCiAgICAgICAgICBiZWkgZWluZW0gc3DkdGVyZW4gQXVmcnVmIGRlcyBQcm9ncmFtbXMgbnVyIGF1c2dlZvxocnQgenUKICAgICAgICAgIHdlcmRlbiwgZmFsbHMgc2ljaCBkaWUgdmVyZvxnYmFyZW4gRm9udHMgZ2XkbmRlcnQgaGFiZW4uIE1pdAogICAgICAgICAgZGllc2VyIFZhcmlhYmxlbiBrYW5uIGFuZ2VnZWJlbiB3ZXJkZW4sIGluIHdlbGNoZXIgRGF0ZWkgZGllCiAgICAgICAgICBGb250ZGF0ZW4gendpc2NoZW5nZXNwZWljaGVydCB3ZXJkZW4gc29sbGVuLiBEYWR1cmNoIGzkc3N0CiAgICAgICAgICBzaWNoIGJlaXNwaWVsc3dlaXNlIHZlcm1laWRlbiwgZGFzcyBkaWUgQWJmcmFnZSBm/HIgamVkZW4KICAgICAgICAgIEJlbnV0emVyIGVybmV1dCBhdXNnZWb8aHJ0IHdlcmRlbiBtdXNzLiBCZWlzcGllbDoKICAgICAgICAgICJGb250bWV0cmljIiA9ICIvdmFyL2xpYi9XSU5FL2ZvbnQuY2FjaGUiLgogICAgICAgICAgCiAgIEFsaWFzCiAgICAgICAgICBXaWUgd2VpdGVyIG9iZW4gYmVyZWl0cyBhbmdlc3Byb2NoZW4sIGthbm4gZXMgdm9ya29tbWVuLAogICAgICAgICAgZGFzcyBXaW5kb3dzLUFud2VuZHVuZ2VuIGJlc3RpbW10ZSBTY2hyaWZ0YXJ0ZW4gYmVudXR6ZW4KICAgICAgICAgIHdvbGxlbiwgZGllIHZvbSBYLVNlcnZlciBuaWNodCB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4uIE1pdCBkZXIgVmFyaWFibGUgQWxpYXMga/ZubmVuIHNvbGNoZW4gRm9udG5hbWVuCiAgICAgICAgICBhbmRlcmVuLCB1bnRlciBYIHZlcmb8Z2JhcmVuIFNjaHJpZnRhcnRlbiB6dWdlb3JkbmV0CiAgICAgICAgICB3ZXJkZW4uIFdlcnRlLCBkaWUgZGllc2VyIFZhcmlhYmxlbiB6dWdlb3JkbmV0IHdlcmRlbiwKICAgICAgICAgIGJlc3RlaGVuIGF1cyBkcmVpIEVsZW1lbnRlbiwgZGllIGR1cmNoIEtvbW1hdGEgdm9uZWluYW5kZXIKICAgICAgICAgIHp1IHRyZW5uZW4gc2luZC4gRGFzIGVyc3RlIEVsZW1lbnQgaXN0IGRlciBOYW1lIGRlciB6dQogICAgICAgICAgZXJzZXR6ZW5kZW4gU2NocmlmdGFydCwgZGFzIHp3ZWl0ZSBFbGVtZW50IGRlciBOYW1lIGRlciBYCiAgICAgICAgICBTY2hyaWZ0YXJ0LCBpbiBkZXIgRm9ybSwgd2llIHNpZSBhdWNoIGJlaSBkZXIgRGVmaW5pdGlvbiBkZXIKICAgICAgICAgIFZhcmlhYmxlbiBEZWZhdWx0IGFuenVnZWJlbiBpc3QuIEFscyBkcml0dGVzIEVsZW1lbnQga2FubgogICAgICAgICAgb3B0aW9uYWwgZGFzIFNjaGz8c3NlbHdvcnQgc3Vic3QgYW5nZWdlYmVuIHdlcmRlbi4gIERpZXNlcwogICAgICAgICAgU2NobPxzc2Vsd29ydCBiZXdpcmt0LCBkYXNzIGR1cmNoIGRpZSBBbGlhc2RlZmluaXRpb24gZWluZQogICAgICAgICAgYmVyZWl0cyB2b3JoYW5kZW5lIERlZmluaXRpb24gKGRpZSB2b24gV0lORSBhdXRvbWF0aXNjaAogICAgICAgICAgZXJzdGVsbHQgd3VyZGUpIPxiZXJzY2hyaWViZW4gd2lyZC4gV2VpbCBlcyBt9mdsaWNoIGlzdCwKICAgICAgICAgIG1laHJlcmUgQWxpYXMtRGVmaW5pdGlvbmVuIHZvcnp1bmVobWVuLCBtdXNzIGRlcgogICAgICAgICAgVmFyaWFibGVuYmV6ZWljaG51bmcgQWxpYXMgamV3ZWlscyBlaW5lIFphaGwgbmFjaGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4sIG1pdCBkZXIgYW5nZWdlYmVuIHdpcmQsIHVtIGRpZSB3aWV2aWVsdGUKICAgICAgICAgIEFsaWFzLURlZmluaXRpb24gZXMgc2ljaCBoYW5kZWx0LiBEYWJlaSBpc3QgbWl0IGRlciBaYWhsCiAgICAgICAgICBOdWxsIHp1IGJlZ2lubmVuLCBlcyBkYXJmIGtlaW5lIFphaGwgYXVzZ2VsYXNzZW4KICAgICAgICAgIHdlcmRlbi4gQmVpc3BpZWw6ICJBbGlhczAiID0gIlN5c3RlbSwgLS1pbnRlcm5hdGlvbmFsLSwgc3Vic3QiCiAgICAgICAgICAKICA3LjcgS29uZmlndXJhdGlvbiB2b24gU2Nobml0dHN0ZWxsZW4gdW5kIEhhcmR3YXJlenVncmlmZgogIAogICBXSU5FIGthbm4gQW53ZW5kdW5nZW4gZGVuIGRpcmVrdGVuIFp1Z3JpZmYgYXVmIHNlcmllbGxlIHVuZAogICBwYXJhbGxlbGUgU2Nobml0dHN0ZWxsZW4gc293aWUgYXVmIHdlaXRlcmUgYmVsaWViaWdlIEVpbi0gdW5kCiAgIEF1c2dhYmVhZHJlc3NlbiBnZXN0YXR0ZW4uIEdydW5kc+R0emxpY2ggaXN0IGRhYmVpIHp1IGJlZGVua2VuLAogICBkYXNzIGRlciBiZXRyZWZmZW5kZSBXSU5FLVByb3plc3MgbWl0IGF1c3JlaWNoZW5kZW4gUHJpdmlsZWdpZW4KICAgYXVzZ2VzdGF0dGV0IHNlaW4gbXVzcywgZGFtaXQgZWluIHNvbGNoZXIgWnVncmlmZiB0YXRz5GNobGljaAogICBt9mdsaWNoIHdpcmQuIFdpcmQgV0lORSBtaXQgZ2V39mhubGljaGVuIEJlbnV0emVycmVjaHRlbiAodW5kIG5pY2h0CiAgIG1pdCBkZW4gUHJpdmlsZWdpZW4gZGVzIEFkbWluaXN0cmF0b3JzKSBhdXNnZWb8aHJ0LCBiZWRldXRldCBkaWVzCiAgIGluIGRlciBSZWdlbCwgZGFzcyBkaWUgWnVncmlmZnNyZWNodGUgYXVmIGRpZSBHZXLkdGVkYXRlaWVuLCB3ZWxjaGUKICAgR2Vy5HRlIHJlcHLkc2VudGllcmVuLCBhdWYgZGllIFdpbmRvd3MtUHJvZ3JhbW1lbiBkZXIgWnVncmlmZgogICBnZXN0YXR0ZXQgd2VyZGVuIHNvbGwsIPxiZXJwcvxmdCB3ZXJkZW4gbfxzc2VuLiBEZXIgZGlyZWt0ZSBadWdyaWZmCiAgIGF1ZiBFaW4tIHVuZCBBdXNnYWJlYWRyZXNzZW4gaXN0IHVudGVyIExpbnV4IGF1c3NjaGxpZd9saWNoIGRlbQogICBBZG1pbmlzdHJhdG9yIGdlc3RhdHRldC4KICAgCiAgIFp1ciBLb25maWd1cmF0aW9uIGRlciBzZXJpZWxsZW4gU2Nobml0dHN0ZWxsZW4gZGllbnQgZGVyIEFic2Nobml0dAogICBbc2VyaWFscG9ydHNdIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpLiBEaWUgZWluemVsbmVuIFZhcmlhYmxlbiBpbgogICBkaWVzZW0gQWJzY2huaXR0IGJlemVpY2huZW4gZGllIHNlcmllbGxlbiBTY2huaXR0c3RlbGxlbiBzbyB3aWUgZXMKICAgdW50ZXIgRE9TIHVuZCBXaW5kb3dzIPxibGljaCBpc3QgKENvbTEsIENvbTIgdXN3LikuIEFscyBXZXJ0IHdpcmQKICAgZGllc2VuIFZhcmlhYmxlbiBkZXIgTmFtZSBkZXIgR2Vy5HRlZGF0ZWkg/GJlcmdlYmVuLCB3ZWxjaGUgZGllCiAgIGVudHNwcmVjaGVuZGUgU2Nobml0dHN0ZWxsZSB1bnRlciBMaW51eCByZXBy5HNlbnRpZXJ0LiBGYWxscyBhbHNvCiAgIFdpbmRvd3MtQW53ZW5kdW5nZW4gdW50ZXIgV0lORSD8YmVyIGRpZSBTY2huaXR0c3RlbGxlIENvbTEgYXVmIGRhcwogICBHZXLkdCB6dWdyZWlmZW4gc29sbGVuLCBkYXMgdW50ZXIgTGludXggZHVyY2ggZGllIEdlcuR0ZWRhdGVpCiAgIC9kZXYvdHR5UzAgcmVwcuRzZW50aWVydCB3aXJkLCBzbyBtdXNzIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgIGRlciBmb2xnZW5kZSBBYnNjaG5pdHQgenUgZmluZGVuIHNlaW46CgogICBbc2VyaWFscG9ydHNdCiAgICJDb20xIiA9ICIvZGV2L3R0eVMwIgoKCiAgIERpZSBLb25maWd1cmF0aW9uIHBhcmFsbGVsZXIgU2Nobml0dHN0ZWxsZW4gZXJmb2xndCBhbmFsb2cgenVyCiAgIEtvbmZpZ3VyYXRpb24gc2VyaWVsbGVyLiBEZXIgTmFtZSBkZXMgZW50c3ByZWNoZW5kZW4gQWJzY2huaXR0cwogICBsYXV0ZXQgW3BhcmFsbGVscG9ydHNdIHVuZCBkaWUgTmFtZW4gcGFyYWxsZWxlciBTY2huaXR0c3RlbGxlbgogICB1bnRlciBET1MgdW5kIFdpbmRvd3MgbGF1dGVuIExwdDEsIGxwdDIgdXN3LiBXZW5uIGFsc28gdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiB1bnRlciBXSU5FIPxiZXIgZGVuIE5hbWVuIExwdDEgYXVmIGRpZSBwYXJhbGxlbGUKICAgU2Nobml0dHN0ZWxsZSB6dWdlZ3JpZmZlbiB3ZXJkZW4gc29sbCwgd2VsY2hlIHVudGVyIExpbnV4IGR1cmNoIGRpZQogICBHZXLkdGVkYXRlaSAvZGV2L2xwMCByZXBy5HNlbnRpZXJ0IHdpcmQsIHNvIHfkcmUgaW4gZGllCiAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZGllc2VyIEFic2Nobml0dCBhdWZ6dW5laG1lbi4KCiAgIFtwYXJhbGxlbHBvcnRzXQogICAiTHB0MSIgPSAiL2Rldi9scDAiCgogICBVbSBkZW4gWnVncmlmZiBhdWYgYmVzdGltbXRlIEVpbi0gdW5kIEF1c2dhYmVhZHJlc3NlbiB6dSBlcm32Z2xpY2hlbiwKICAgc2luZCBkaWUgZ2V3/G5zY2h0ZW4gQWRyZXNzZW4gaW4gaGV4YWRlemltYWxlciBTY2hyZWlid2Vpc2UgaW0KICAgQWJzY2huaXR0IFtwb3J0c10gYW56dWdlYmVuLiBBbHMgQWRyZXNzZW4gbGFzc2VuIHNpY2ggZW50d2VkZXIKICAgZWluemVsbmUgQWRyZXNzZW4gKEJlaXNwaWVsOiAweDc3OSkgb2RlciBBZHJlc3NiZXJlaWNoZSBhbmdlYmVuLiBCZWkKICAgQWRyZXNzYmVyZWljaGVuIHdlcmRlbiBkaWUgdW50ZXJlIHVuZCBvYmVyZSBBZHJlc3NlIGRlcyBnZXf8bnNjaHRlbgogICBCZXJlaWNocywgdmVyYnVuZGVuIGR1cmNoIGVpbmVuIEJpbmRlc3RyaWNoLCBhbmdlZ2ViZW4gKEJlaXNwaWVsOgogICAweDI4MC0weDJhMCkuIFdlbm4gbWVocmVyZSBBZHJlc3NlbiBvZGVyIEFkcmVzc2JlcmVpY2hlIGtvbmZpZ3VyaWVydAogICB3ZXJkZW4gc29sbGVuLCBzaW5kIGRpZXNlIGhpbnRlcmVpbmFuZGVyIC0gZHVyY2ggS29tbWF0YSBnZXRyZW5udCAtCiAgIGFuenVnZWJlbi4gQWRyZXNzZW4sIHZvbiBkZW5lbiBnZWxlc2VuIHdlcmRlbiBzb2xsLCBzaW5kIGRlciBWYXJpYWJsZW4KICAgcmVhZCB6dXp1b3JkbmVuIHVuZCBzb2xjaGUsIGF1ZiBkaWUgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGwsIGRlcgogICBWYXJpYWJsZW4gd3JpdGUuIEZhbGxzIGF1ZiBlaW5lIGJlc3RpbW10ZSBBZHJlc3NlIHNvd29obCBsZXNlbmQgYWxzCiAgIGF1Y2ggc2NocmVpYmVuZCB6dWdlZ3JpZmZlbiB3ZXJkZW4gc29sbCwgaXN0IHNpZSBiZWlkZW4gVmFyaWFibGVuCiAgIHp1enVvcmRuZW4uIEJlaXNwaWVsOgoKICAgW3BvcnRzXQogICAicmVhZCIgPSAiMHgzNzgsMHgzNzksMHgyMjAtMHgyYTAiCiAgICJ3cml0ZSIgPSAiMHgzNzksMHgyMjAtMHgyYTAiCgoKICAgIDcuNy4xIFp1Z3JpZmYgYXVmIFNDU0ktR2Vy5HRlCiAgICAKICAgV0lORSBlcm32Z2xpY2h0IGF1Y2ggZGVuIGRpcmVrdGVuIFp1Z3JpZmYgYXVmIFNDU0ktR2Vy5HRlICj8YmVyIGRpZQogICBBU1BJLVNjaG5pdHRzdGVsbGUpLiBIaWVyenUgc2luZCBrZWluZSBzcGV6aWVsbGVuIEFuZ2FiZW4gaW4gZGVyCiAgIEtvbmZpZ3VyYXRpb24gbm90d2VuZGlnLCBhbGxlcmRpbmdzIG11c3MgZGVyIEtlcm5lbCBkZXMgU3lzdGVtcyBzbwogICBrb25maWd1cmllcnQgd29yZGVuIHNlaW4sIGRhc3MgZXIgZGllIFVudGVyc3T8dHp1bmcgZvxyIGdlbmVyaXNjaGVuCiAgIFNDU0ktWnVncmlmZiBlbnRo5Gx0LiBBdd9lcmRlbSBt/HNzZW4gZGllIEdlcuR0ZWRhdGVpZW4sIHdlbGNoZSBkaWUKICAgZ2VuZXJpc2NoZW4gU0NTSS1HZXLkdGUgcmVwcuRzZW50aWVyZW4gKG5vcm1hbGVyd2Vpc2UgL2Rldi9zZzAsCiAgIC9kZXYvc2cxIHVzdy4pIG1pdCBhdXNyZWljaGVuZGVuIFJlY2h0ZW4gZvxyIGRlbiBadWdyaWZmCiAgIGF1c2dlc3RhdHRldCBzZWluLgogICAKICA3LjggS29uZmlndXJhdGlvbiBkZXIgV2luZG93cy1TeXN0ZW1yZWdpc3RyYXR1cgogIAogICBXaW5kb3dzLUJldHJpZWJzc3lzdGVtZSBzdGVsbGVuIGVpbmUgRGF0ZW5iYW5rIHp1ciBWZXJm/Gd1bmcsIGluCiAgIGRlciBQcm9ncmFtbWUgdS5hLiBLb25maWd1cmF0aW9uc2RhdGVuIGFibGVnZW4gdW5kIHNw5HRlciB3aWVkZXIKICAgYXVzbGVzZW4ga/ZubmVuLiBEaWVzZSBzbyBnZW5hbm50ZSBSZWdpc3RyYXR1ciB3aXJkIHZvbiBXSU5FCiAgIGViZW5mYWxscyBiZXJlaXRnZXN0ZWxsdC4gV0lORSBpc3QgZmVybmVyIGluIGRlciBMYWdlLCBkaWUKICAgUmVnaXN0cmF0dXIgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24genUgaW1wb3J0aWVyZW4sCiAgIGRhbWl0IGRlbiBtaXQgV0lORSBhdXNnZWb8aHJ0ZW4gUHJvZ3JhbW1lbiBhbGxlIERhdGVuIHp1ciBWZXJm/Gd1bmcKICAgc3RlaGVuLCBkaWUgYXVjaCB1bnRlciBXaW5kb3dzIHZlcmb8Z2JhciBzaW5kLiBEaWVzIGlzdAogICBpbnNiZXNvbmRlcmUgZGFubiB2b24gQmVkZXV0dW5nLCB3ZW5uIFByb2dyYW1tZSB1bnRlciBXaW5kb3dzCiAgIGluc3RhbGxpZXJ0IHdvcmRlbiBzaW5kIHVuZCB1bnRlciBXSU5FIGF1c2dlZvxocnQgd2VyZGVuLiBFcyBpc3QgenUKICAgYmVhY2h0ZW4sIGRhc3MgV0lORSBkaWUgUmVnaXN0cmF0dXIgZWluZXIgYmVzdGVoZW5kZW4KICAgV2luZG93cy1JbnN0YWxsYXRpb24gbmllbWFscyB2ZXLkbmRlcnQuICBGYWxscyBQcm9ncmFtbWUgYWxzbyB1bnRlcgogICBXSU5FIERhdGVuIGluIGRpZSBSZWdpc3RyYXR1ciBzY2hyZWliZW4sIHN0ZWhlbiBkaWVzZSB1bnRlciBXaW5kb3dzCiAgIG5pY2h0IHp1ciBWZXJm/Gd1bmcuIFdJTkUgc3BlaWNoZXJ0IGRpZSBSZWdpc3RyYXR1ciB2aWVsbWVociBpbgogICBlaWdlbmVuIERhdGVpZW4sIHdlbGNoZSBzaWNoIPxibGljaGVyd2Vpc2UgdW50ZXJoYWxiIGRlcwogICBIZWltYXR2ZXJ6ZWljaG5pc3NlcyBkZXMgYmV0cmVmZmVuZGVuIEJlbnV0emVycyBiZWZpbmRlbi4gTmViZW4gZGVuCiAgIGJlbnV0emVyc3BlemlmaXNjaGVuIFJlZ2lzdHJhdHVyZGF0ZW4ga/ZubmVuIHZvbSBBZG1pbmlzdHJhdG9yCiAgIHN5c3RlbXdlaXQgZ/xsdGlnZSBEYXRlaWVuIGJlcmVpdCBnZXN0ZWxsdCB3ZXJkZW4uIERpZXNlIGJlZmluZGVuCiAgIHNpY2gg/GJsaWNoZXJ3ZWlzZSBpbiBkZW0gZ2xlaWNoZW4gVmVyemVpY2huaXMgd2llIGRpZSBzeXN0ZW13ZWl0CiAgIGf8bHRpZ2UgS29uZmlndXJhdGlvbnNkYXRlaSwgYWxzbyBpbiAvZXRjIG9kZXIgaW4gL3Vzci9sb2NhbC9ldGMsCiAgIHdlbm4gV0lORSBtaXQgZGVuIFN0YW5kYXJkZWluc3RlbGx1bmdlbiD8YmVyc2V0enQgd3VyZGUuIEltCiAgIEFic2Nobml0dCBbcmVnaXN0cnldIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHN0ZWhlbiBkaWUgZm9sZ2VuZGVuCiAgIFZhcmlhYmxlbiB6dXIgVmVyZvxndW5nLCBtaXQgZGVuZW4gdS5hLiBiZXN0aW1tdCB3ZXJkZW4ga2Fubiwgb2IKICAgZWluZSBiZXN0ZWhlbmRlbiBSZWdpc3RyYXR1ciBpbXBvcnRpZXJ0IHdlcmRlbiBzb2xsIHVuZCB3byBXSU5FIGRpZQogICBlaWdlbmUgUmVnaXN0cmF0dXIgYWJsZWdlbiBzb2xsLgogICAKICAgTG9hZEdsb2JhbFJlZ2lzdHJ5RmlsZXMKICAgICAgICAgIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIGRlbiBXZXJ0IHRydWUgZ2VzZXR6dCBpc3QsIGxpZXN0CiAgICAgICAgICBXSU5FIGRpZSBzeXN0ZW13ZWl0IGf8bHRpZ2VuIFJlZ2lzdHJhdHVyZGF0ZW4gZWluLiBEaWVzIGlzdAogICAgICAgICAgZGllIFN0YW5kYXJkZWluc3RlbGx1bmcuIEJlaXNwaWVsOiAiTG9hZEdsb2JhbFJlZ2lzdHJ5RmlsZXMiID0KICAgICAgICAgICJ0cnVlIgogICAgICAgICAgCiAgIExvYWRIb21lUmVnaXN0cnlGaWxlcwogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IGlzdCwgbGllc3QKICAgICAgICAgIFdJTkUgZGllIFJlZ2lzdHJhdHVyZGF0ZW4gYXVzIGRlbSBWZXJ6ZWljaG5pcyAud2luZSBpbQogICAgICAgICAgSGVpbWF0dmVyemVpY2huaXMgZGVzIGF1ZnJ1ZmVuZGVuIEJlbnV0emVycyBlaW4uIERpZQogICAgICAgICAgUmVnaXN0cmF0dXJkYXRlbiBkZXMgQmVudXR6ZXJzIHdlcmRlbiBuYWNoIGRlbiBzeXN0ZW13ZWl0CiAgICAgICAgICBn/Gx0aWdlbiBEYXRlbiBnZWxhZGVuLCBzbyBkYXNzIEJlbnV0emVyIGRpZQogICAgICAgICAgVm9yZWluc3RlbGx1bmdlbiBhdXMgZGVyIGdsb2JhbGVuIFJlZ2lzdHJhdHVyIG1pdCBlaWdlbmVuCiAgICAgICAgICBXZXJ0ZW4g/GJlcnNjaHJlaWJlbiBr9m5uZW4uIEJlaXNwaWVsOgogICAgICAgICAgIkxvYWRIb21lUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIgCiAgICAgICAgICAKICAgTG9hZFdpbmRvd3NSZWdpc3RyeUZpbGVzCiAgICAgICAgICBNaXQgZGllc2VyIFZhcmlhYmxlbiB3aXJkIGJlc3RpbW10LCBvYiBkaWUgUmVnaXN0cmF0dXIgZWluZXIKICAgICAgICAgIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlbGFkZW4gd2VyZGVuIHNvbGwuIFdlbm4KICAgICAgICAgIGRpZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IGlzdCwgc3RlbGx0IFdJTkUKICAgICAgICAgIHNlbGJzdHN05G5kaWcgZmVzdCwgdW0gd2VsY2hlIFZlcnNpb24gdm9uIFdpbmRvd3MgZXMgc2ljaAogICAgICAgICAgYmVpIGRlciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24gaGFuZGVsdCB1bmQgbGllc3QgZGllCiAgICAgICAgICBSZWdpc3RyYXR1cmRhdGVuIGRlciBJbnN0YWxsYXRpb24gZWluLiBFcyBpc3QgenUgYmVhY2h0ZW4sCiAgICAgICAgICBkYXNzIGRpZXMgbnVyIGZ1bmt0aW9uaWVydCwgd2VubiBkYXMgV2luZG93cy0gdW5kIGRhcwogICAgICAgICAgU3lzdGVtdmVyemVpY2huaXMgaW0gYWxsZ2VtZWluZW4gVGVpbCBkZXIKICAgICAgICAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgcmljaHRpZyBhbmdlZ2ViZW4gd29yZGVuIHNpbmQgdW5kIGRlcgogICAgICAgICAgYmVzdGVoZW5kZW4gSW5zdGFsbGF0aW9uIGVudHNwcmVjaGVuLiBBdd9lcmRlbSBpc3QgZXMKICAgICAgICAgIHUuVS4gbm90d2VuZGlnLCBkaWUgVmFyaWFibGUgUHJvZmlsZSBpbSBhbGxnZW1laW5lbiBUZWlsCiAgICAgICAgICByaWNodGlnIHp1IHNldHplbi4gQmVpc3BpZWw6ICJMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXMiID0gInRydWUiLgogICAgICAgICAgCiAgIFdyaXRlVG9Ib21lUmVnaXN0cnlGaWxlcwogICAgICAgICAgV2lyZCBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0LCB2ZXJzdWNodCBXSU5FCiAgICAgICAgICBhbGxlIMRuZGVydW5nZW4sIGRpZSB35GhyZW5kIGRlciBMYXVmemVpdCB2b24gV0lORSBhbiBkZXIKICAgICAgICAgIFJlZ2lzdHJhdHVyIHZvcmdlbm9tbWVuIHdlcmRlbiwgaW4gZGllIFJlZ2lzdHJhdHVyZGF0ZWllbiBpbQogICAgICAgICAgVmVyemVpY2huaXMgLndpbmUgZGVzIGF1ZnJ1ZmVuZGVuIEJlbnV0emVycyB6dQogICAgICAgICAgc2NocmVpYmVuLiBEaWVzIGlzdCBpbiBkZXIgUmVnZWwgbm90d2VuZGlnLCBkYW1pdAogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbWUgKGluc2Jlc29uZGVyZSBJbnN0YWxsYXRpb25zcHJvZ3JhbW1lKQogICAgICAgICAgxG5kZXJ1bmdlbiBhbiBkZXIgS29uZmlndXJhdGlvbiBhYnNwZWljaGVybgogICAgICAgICAga/ZubmVuLiBCZWlzcGllbDogIldyaXRlVG9Ib21lUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIuCiAgICAgICAgICAgICAgICAgICAgCiAgIFBlcmlvZGljU2F2ZQogICAgICAgICAgV2VubiBWZXLkbmRlcnVuZ2VuIGFuIGRlciBSZWdpc3RyYXR1ciB2b24gV0lORSBnZXNwZWljaGVydAogICAgICAgICAgd2VyZGVuIHNvbGxlbiwgZ2VzY2hpZWh0IGRpZXMgbm9ybWFsZXJ3ZWlzZSBhdXRvbWF0aXNjaCwKICAgICAgICAgIHfkaHJlbmQgV0lORSBiZWVuZGV0IHdpcmQuIEFsbGVyZGluZ3Mgd2VyZGVuIGRpZSDEbmRlcnVuZ2VuCiAgICAgICAgICBkYW5uIG5pY2h0IGdlc3BlaWNoZXJ0LCB3ZW5uIFdJTkUgYXVmZ3J1bmQgZWluZXMgRmVobGVycwogICAgICAgICAgbmljaHQga29ycmVrdCBiZWVuZGV0IHdlcmRlbiBrYW5uLiBEZXN3ZWdlbiBpc3QgZXMgbfZnbGljaCwKICAgICAgICAgIG1pdCBkaWVzZXIgVmFyaWFibGVuIGFuenVnZWJlbiwgaW4gd2VsY2hlbSBaZWl0aW50ZXJ2YWxsIGRhcwogICAgICAgICAgUHJvZ3JhbW0gZGllIFJlZ2lzdHJhdHVyIGF1dG9tYXRpc2NoIHNpY2hlcm4gc29sbC4gRGllCiAgICAgICAgICBkaWVzZXIgVmFyaWFibGVuIPxiZXJnZWJlbmUgWmFobCB3aXJkIGFscyBaZWl0aW50ZXJ2YWxsIGluCiAgICAgICAgICBTZWt1bmRlbiBpbnRlcnByZXRpZXJ0LiBEYW1pdCBkaWUgUmVnaXN0cmF0dXIgYWxzbwogICAgICAgICAgYmVpc3BpZWxzd2Vpc2UgYWxsZSAxMCBNaW51dGVuIGF1dG9tYXRpc2NoIGFiZ2VzcGVpY2hlcnQKICAgICAgICAgIHdpcmQsIHfkcmUgZGllc2UgVmFyaWFibGUgc28genUgc2V0emVuOiAiUGVyaW9kaWNTYXZlIiA9ICI2MDAiLgogICAgICAgICAgCiAgIFNhdmVPbmx5VXBkYXRlZEtleXMKICAgICAgICAgIE1pdCBkaWVzZXIgVmFyaWFibGVuIGthbm4gYmVzdGltbXQgd2VyZGVuLCBvYiBXSU5FIGxlZGlnbGljaAogICAgICAgICAgc29sY2hlIFRlaWxlIGRlciBSZWdpc3RyYXR1ciBzaWNoZXJuIHNvbGwsIGRpZSBzaWNoIHfkaHJlbmQKICAgICAgICAgIGRlciBMYXVmemVpdCB2ZXLkbmRlcnQgaGFiZW4gb2RlciBvYiBpbW1lciBkaWUgZ2VzYW10ZQogICAgICAgICAgUmVnaXN0cmF0dXIgZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGwuIERhcyBmb2xnZW5kZSBCZWlzcGllbAogICAgICAgICAgc3BlaWNoZXJ0IGRpZSBSZWdpc3RyYXR1ciBrb21wbGV0dDoKICAgICAgICAgICJTYXZlT25seVVwZGF0ZWRLZXlzIiA9ICJmYWxzZSIuCiAgICAgICAgICAKICAgSGlud2VpczogCiAgIFdlaWwgZGFzIEltcG9ydGllcmVuIGVpbmVyIGdyb99lbiBXaW5kb3dzLVJlZ2lzdHJhdHVyIGVpbiByZWxhdGl2CiAgIHplaXRhdWZ3ZW5kaWdlciBWb3JnYW5nIGlzdCwgZW1wZmllaGx0IGVzIHNpY2gsIGRpZQogICBXaW5kb3dzLVJlZ2lzdHJhdHVyIG51ciBiZWltIGVyc3RlbiBTdGFydCB2b24gV0lORSB6dSBpbXBvcnRpZXJlbgogICAoIkxvYWRXaW5kb3dzUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIpIHVuZCBkaWVzZSBkYW5uIGtvbXBsZXR0IHZvbiBXSU5FCiAgIHNwZWljaGVybiB6dSBsYXNzZW4gKCJTYXZlT25sZVVwZGF0ZWRLZXlzIiA9ICJmYWxzZSIpLiBEYW5hY2ggbGllZ3QgZGllCiAgIFJlZ2lzdHJhdHVyIHZvbGxzdORuZGlnIGluIFdJTkVzIGVpZ2VuZW0gRm9ybWF0IHZvciwgc28gZGFzcyBiZWkKICAgc3DkdGVyZW4gU3RhcnRzIHZvbiBXSU5FIGF1ZiBkZW4gSW1wb3J0IGRlciBXaW5kb3dzLVJlZ2lzdHJhdHVyCiAgIHZlcnppY2h0ZXQgd2VyZGVuIGthbm4gKCJMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXMiID0gImZhbHNlIikuCiAgIAogIDcuOSBFaW5zdGVsbHVuZyBkZXMgTG9vayBhbmQgRmVlbAogIAogICBJbSBBYnNjaG5pdHQgVHdlYWsuTGF5b3V0IGRlciBLb25maWd1cmF0aW9uIGzkc3N0IHNpY2ggZHVyY2ggZGllCiAgIFZhcmlhYmxlIFdJTkVMb29rIGJlc3RpbW1lbiwgd2VsY2hlcyBMb29rIGFuZCBGZWVsIHZvbiBXaW5kb3dzCiAgIGR1cmNoIFdJTkUgbmFjaGVtcGZ1bmRlbiB3ZXJkZW4gc29sbC4gRGVyIFdlcnQgV2luMzEgYmV3aXJrdCwgZGFzcwogICBXSU5FIGFsbGUgRmVuc3RlcmVsZW1lbnRlIGluIGRlbSBFcnNjaGVpbnVuZ3NiaWxkIGVyemV1Z3QsIHdpZSBlcwogICB2b24gV2luZG93cyAzLjExIGJla2FubnQgaXN0LiBBbmFsb2cgZGF6dSBiZXdpcmtlbiBkaWUgV2VydGUgV2luOTUKICAgdW5kIFdpbjk4IGVpbiBtb2Rlcm5lcmVzIEVyc2NoZWludW5nc2JpbGQuIEJlaXNwaWVsOgoKICAgW1R3ZWFrLkxheW91dF0KICAgIldJTkVMb29rIiA9ICJXaW45OCIKCgogIDcuMTAgS29uZmlndXJhdGlvbiBkZXIgV2luZG93cy1Db25zb2xlCiAgCiAgIEltIEdlZ2Vuc2F0eiB6dSAxNi1CaXQtV2luZG93cy1WZXJzaW9uZW4gaXN0IGVzIG1pdCBkZW0gV2luMzIgQVBJIHdpZQogICB1bnRlciBVTklYIG32Z2xpY2gsIFByb2dyYW1tZSBm/HIgZGVuIFRleHRtb2R1cyB6dSBlcnN0ZWxsZW4sIGRpZQogICB1bnRlciBXaW5kb3dzIG5vcm1hbGVyd2Vpc2UgaW4gZWluZW0gc28gZ2VuYW5udGVuICJNUy1ET1MtRmVuc3RlciIKICAgYXVzZ2Vm/GhydCB3ZXJkZW4gKG9id29obCBkaWVzZSBQcm9ncmFtbWUgbmljaHQgdmllbCBtaXQgTVMtRE9TIHp1CiAgIHR1biBoYWJlbikuIFVudGVyIFdJTkUgdmVyd2VuZGVuIHNvbGNoZSBQcm9ncmFtbWUgc3RhbmRhcmRt5N9pZyBkaWUKICAgU3RhbmRhcmRlaW5nYWJlIHVuZCAtQXVzZ2FiZSBkZXMgVGVybWluYWxzLCB2b24gZGVtIGF1cyBXSU5FCiAgIGdlc3RhcnRldCB3dXJkZS4gSW0gQWJzY2huaXR0IFtDb25zb2xlXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBpc3QKICAgZXMgbfZnbGljaCwgZGllIEVpZ2Vuc2NoYWZ0ZW4gZGVyIEtvbnNvbGUgZvxyIFdpbmRvd3MtUHJvZ3JhbW1lCiAgIG7kaGVyIHp1IGJlc3RpbW1lbi4KICAgCiAgIERyaXZlcnMKICAgICAgICAgIEhpZXJtaXQgd2lyZCBmZXN0Z2VsZWd0LCB3aWUgZGllIEtvbnNvbGUgenVyIFZlcmb8Z3VuZwogICAgICAgICAgZ2VzdGVsbHQgd2VyZGVuIHNvbGwuIFdJTkUga2FubiBkYXp1IGRhcyBtaXQgZGVtCiAgICAgICAgICBXSU5FLVByb3plc3MgdmVyYnVuZGVuZSBUZXJtaW5hbCB2ZXJ3ZW5kZW4gb2RlciBm/HIgamVkZXMKICAgICAgICAgIFdpbmRvd3MtUHJvZ3JhbW0sIHdlbGNoZXMgZWluZSBuZXVlIEtvbnNvbGUgYW5mb3JkZXJ0LCBlaW4KICAgICAgICAgIG5ldWVzIFRlcm1pbmFsZmVuc3RlciAod2llIHouQi4geHRlcm0pIHN0YXJ0ZW4uIEltCiAgICAgICAgICBhbGxnZW1laW5lbiBpc3QgZXMgenUgZW1wZmVobGVuLCBm/HIgamVkZSBLb25zb2xlIGVpbgogICAgICAgICAgZWlnZW5lcyBUZXJtaW5hbGZlbnN0ZXIgenUgdmVyd2VuZGVuLCB3ZWlsIGVzIHp1CiAgICAgICAgICB1bmVyd/xuc2NodGVuIE5lYmVuZWZmZWt0ZW4ga29tbWVuIGthbm4sIHdlbm4gdmVyc2NoaWVkZW5lCiAgICAgICAgICBXaW5kb3dzLVByb3plc3NlIHVuZCBXSU5FIHNlbGJzdCBkYXMgc2VsYmUgVGVybWluYWwKICAgICAgICAgIHZlcndlbmRlbi4gRXMgaXN0IGZlcm5lciBt9mdsaWNoLCBkaWUgbmN1cnNlcy1CaWJsaW90aGVrIHp1CiAgICAgICAgICBiZW51dHplbiwgdW0gYmVzdGltbXRlIEVpZ2Vuc2NoYWZ0ZW4sIHdpZSBkaWUgRGFyc3RlbGx1bmcKICAgICAgICAgIHVudGVyc2NoaWVkbGljaGVyIEZhcmJlbiwgenUgYmVudXR6ZW4uIERlciBWYXJpYWJsZW4gRHJpdmVycwogICAgICAgICAga2FubiB6dXIgWmVpdCBlaW5lIEtvbWJpbmF0aW9uIGF1cyBkZW4gZm9sZ2VuZGVuCiAgICAgICAgICBTY2hs/HNzZWx39nJ0ZXJuIPxiZXJnZWJlbiB3ZXJkZW46IHR0eSwgeHRlcm0gdW5kCiAgICAgICAgICBuY3Vyc2VzLiBXZW5uIG1laHJlcmUgZGllc2UgU2NobPxzc2Vsd/ZydGVyIGJlbnV0enQgd2VyZGVuLAogICAgICAgICAgc2luZCBkaWVzZSBkdXJjaCBkYXMgUGx1cy1aZWljaGVuIHZvbmVpbmFuZGVyIHp1CiAgICAgICAgICB0cmVubmVuLiBEaWUgQW5nYWJlIHR0eSBiZXdpcmt0LCBkYXNzIFdJTkUgZGFzIFRlcm1pbmFsIGb8cgogICAgICAgICAgZGllIEtvbnNvbGUgdmVyd2VuZGV0LCBtaXQgd2VsY2hlbSBkZXIgV0lORS1Qcm96ZXNzCiAgICAgICAgICB2ZXJidW5kZW4gaXN0LiBEdXJjaCBkaWUgQW5nYWJlIHh0ZXJtIHdpcmQgZWluIG5ldWVzCiAgICAgICAgICBUZXJtaW5hbGZlbnN0ZXIgZ2X2ZmZuZXQsIHdlbm4gZWluIFdpbmRvd3MtUHJvZ3JhbW0gZWluZQogICAgICAgICAgbmV1ZSBLb25zb2xlIGFuZm9yZGVydC4gRGllIEFuZ2FiZSBuY3Vyc2VzIGJld2lya3QsIGRhc3MgZGllCiAgICAgICAgICBuY3Vyc2VzLUJpYmxpb3RoZWsgYmVudXR6dCB3aXJkLiBEaWVzIGZ1bmt0aW9uaWVydCBudXIsIHdlbm4KICAgICAgICAgIGRpZSBVbnRlcnN0/HR6dW5nIGRhZvxyIGJlaW0g3GJlcnNldHplbiBkZXMgUHJvZ3JhbW1zCiAgICAgICAgICBha3RpdmllcnQgd3VyZGUuIEJlaXNwaWVsOiAiRHJpdmVycyIgPSAibmN1cnNlcyt4dGVybSIKICAgICAgICAgIAogICBYdGVybVByb2cKICAgICAgICAgIEhpZXJtaXQgbORzc3Qgc2ljaCBhbmdlYmVuLCB3ZWxjaGVzIFByb2dyYW1tIGF1ZmdlcnVmZW4KICAgICAgICAgIHdlcmRlbiBzb2xsLCB1bSBkaWUgS29uc29sZSBpbiBlaW5lbSBlaWdlbmVuIEZlbnN0ZXIKICAgICAgICAgIGRhcnp1c3RlbGxlbiAoei5CLiBiZWkgIkRyaXZlcnMiID0gInh0ZXJtIikuIEVzIGxhc3NlbiBzaWNoIGFsbGUKICAgICAgICAgIFRlcm1pbmFsZW11bGF0aW9uc3Byb2dyYW1tZSB2ZXJ3ZW5kZW4sIHdlbGNoZSBkaWUgdm9uIHh0ZXJtCiAgICAgICAgICBoZXIgYmVrYW5udGVuIEtvbW1hbmRvemVpbGVuYXJndW1lbnRlIHZlcnN0ZWhlbi4gQmVpc3BpZWw6CiAgICAgICAgICAiWHRlcm1Qcm9nIiA9ICJ3dGVybSIuCiAgICAgICAgICAKICAgSW5pdGlhbFJvd3MKICAgICAgICAgIE1pdCBkZXIgVmFyaWFibGVuIHdpcmQgYW5nZWdlYmVuLCB3aWV2aWVsZSBaZWlsZW4gZGllCiAgICAgICAgICBLb25zb2xlIG5hY2ggaWhyZW0gU3RhcnQgaGFiZW4gc29sbC4gQmVpc3BpZWw6CiAgICAgICAgICAiSW5pdGlhbFJvd3MiID0gIjI0Ii4KICAgICAgICAgIAogICBJbml0aWFsQ29sdW1ucwogICAgICAgICAgTWl0IGRlciBWYXJpYWJsZW4gd2lyZCBhbmdlZ2ViZW4sIHdpZXZpZWxlIFNwYWx0ZW4gZGllCiAgICAgICAgICBLb25zb2xlIG5hY2ggaWhyZW0gU3RhcnQgaGFiZW4gc29sbC4gQmVpc3BpZWw6CiAgICAgICAgICAiSW5pdGlhbENvbHVtbnMiID0gIjgwIi4KICAgICAgICAgIAogICBUZXJtaW5hbFR5cGUKICAgICAgICAgIEhpZXJtaXQgbORzc3Qgc2ljaCBmZXN0bGVnZW4sIHZvbiB3ZWxjaGVtIFRlcm1pbmFsdHlwIGRpZQogICAgICAgICAgbmN1cnNlcy1CaWJsaW90aGVrIGF1c2dlaGVuIHNvbGwuIFR5cGlzY2hlIFdlcnRlIHNpbmQgeHRlcm0KICAgICAgICAgIG9kZXIgbGludXguCiAgICAgICAgICAKICA3LjExIERpZSBad2lzY2hlbmFibGFnZQogIAogICBEYXMgS29uemVwdCBkZXIgWndpc2NoZW5hYmxhZ2UgdW50ZXJzY2hlaWRldCBzaWNoIHp3aXNjaGVuIFdpbmRvd3MKICAgdW5kIGRlbSBYIFdpbmRvdyBTeXN0ZW0gZXR3YXMuIFVtIGJlaXNwaWVsc3dlaXNlIGVpbmVuIFRleHQgaW4gZGllCiAgIFp3aXNjaGVuYWJsYWdlIHp1IHN0ZWxsZW4sIHdpcmQgZGllc2VyIHVudGVyIFdpbmRvd3Mgbm9ybWFsZXJ3ZWlzZQogICB6dW7kY2hzdCBtYXJraWVydCB1bmQgZGFubiD8YmVyIGVpbmVuIE1lbvxiZWZlaGwgaW4gZGllCiAgIFp3aXNjaGVuYWJsYWdlIGtvcGllcnQgb2RlciB2ZXJzY2hvYmVuLiBVbnRlciBYIHN0ZWhlbiBtaW5kZXN0ZW5zCiAgIHp3ZWkgVHlwZW4gdm9uIFp3aXNjaGVuYWJsYWdlIHp1ciBWZXJm/Gd1bmcuIE5hY2hkZW0gZWluIFRleHQgZG9ydAogICBtYXJraWVydCB3b3JkZW4gaXN0LCBzdGVodCBlciBhbHMgc28gZ2VuYW5udGUgcHJpbeRyZSBBdXN3YWhsIHp1cgogICBWZXJm/Gd1bmc7IGVyIGthbm4gZGFubiBzb2ZvcnQgaW4gYW5kZXJlIEFud2VuZHVuZ2VuIGVpbmdlZvxndAogICB3ZXJkZW4gKGV0d2EgZHVyY2ggQmV05HRpZ3VuZyBkZXIgbWl0dGxlcmVuIE1hdXN0YXN0ZSkuIERpZQogICBad2lzY2hlbmFibGFnZSBpc3QgZWluZSB3ZWl0ZXJlIEF1c3dhaGwsIGluIGRpZSBUZXh0ZSBvZGVyIGFuZGVyZQogICBEYXRlbiB2b24gdmllbGVuIFgtQW53ZW5kdW5nZW4gYXVzIGtvcGllcnQgdW5kIHZvbiBkb3J0IGF1cyB3aWVkZXIKICAgZWluZ2Vm/Gd0IHdlcmRlbiBr9m5uZW4uIEltIEFic2Nobml0dCBbY2xpcGJvYXJkXSBkZXIKICAgS29uZmlndXJhdGlvbnNkYXRlaSBs5HNzdCBzaWNoIGJlc3RpbW1lbiwgd2llIGRpZQogICBXaW5kb3dzLVp3aXNjaGVuYWJsYWdlIG1pdCBkZXIgWndpc2NoZW5hYmxhZ2UgZGVzIFggV2luZG93IFN5c3RlbXMKICAgaW50ZXJhZ2llcnQuCiAgIAogICBDbGVhckFsbFNlbGVjdGlvbnMKICAgICAgICAgIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIHRydWUgZ2VzZXR6dCBpc3QsIHdpcmQgZGVyIEluaGFsdAogICAgICAgICAgZGVyIFdpbmRvd3MtWndpc2NoZW5hYmxhZ2UgZ2Vs9nNjaHQgdW5kIGR1cmNoIGRlbiBJbmhhbHQgZGVyCiAgICAgICAgICBad2lzY2hlbmFibGFnZSBkZXMgWCBXaW5kb3cgU3lzdGVtcyBlcnNldHp0LCBmYWxscyBpbiBlaW5lcgogICAgICAgICAgYW5kZXJlbiBYIEFud2VuZHVuZyBldHdhcyBpbiBkaWUgcHJpbeRyZSBBdXN3YWhsIGdlc3RlbGx0CiAgICAgICAgICB3aXJkLiAgV2lyZCBiZWkgVmVyd2VuZHVuZyBkaWVzZXIgRWluc3RlbGx1bmcgYWxzbyB6dW7kY2hzdAogICAgICAgICAgZXR3YXMgbWl0IGVpbmVtIFdpbmRvd3MtUHJvZ3JhbW0gaW4gZGllIFp3aXNjaGVuYWJsYWdlCiAgICAgICAgICBnZXN0ZWxsdCB1bmQgZGFuYWNoIG1pdCBkZXIgTWF1cyBlaW4gVGV4dCBpbiBlaW5lciBYCiAgICAgICAgICBBbndlbmR1bmcgbWFya2llcnQsIHNvIGdlaHQgZGVyIHVyc3By/G5nbGljaGUgSW5oYWx0IGRlcgogICAgICAgICAgV2luZG93cy1ad2lzY2hlbmFibGFnZSB2ZXJsb3JlbiB1bmQgZXMgc3RlaHQgZG9ydCBkZXIgbWl0CiAgICAgICAgICBkZXIgTWF1cyBtYXJraWVydGUgVGV4dCB6dXIgVmVyZvxndW5nLiBGYWxscyBkaWUgVmFyaWFibGUKICAgICAgICAgIGF1ZiBmYWxzZSBnZXNldHp0IGlzdCwgYmxlaWJ0IGRlciBJbmhhbHQgZGVyIFp3aXNjaGVuYWJsYWdlCiAgICAgICAgICBkdXJjaCBkaWUgVmVy5G5kZXJ1bmcgZGVyIHByaW3kcmVuIEF1c3dhaGwgdW5iZXL8aHJ0LiBVbQogICAgICAgICAgZGFubiBiZWlzcGllbHN3ZWlzZSBlaW5lbiBUZXh0IHZvbiBYRW1hY3MgbmFjaCBXb3JkIHp1CiAgICAgICAgICBrb3BpZXJlbiwgcmVpY2h0IGVzIG5pY2h0IGF1cywgZGVuIFRleHQgaW4gWEVtYWNzIHp1CiAgICAgICAgICBtYXJraWVyZW4sIHNvbmRlcm4gZXIgbXVzcyBkb3J0IGV4cGxpeml0IGluIGRpZQogICAgICAgICAgWndpc2NoZW5hYmxhZ2Uga29waWVydCB3ZXJkZW4sIGZhbGxzIHNpY2ggZG9ydCB2b3JoZXIgZWluZQogICAgICAgICAgQXVzd2FobCBiZWZhbmQsIGRpZSB2b24gZWluZXIgV2luZG93cy1BbndlbmR1bmcgYXVzCiAgICAgICAgICB2b3JnZW5vbW1lbiB3dXJkZS4gQmVpc3BpZWw6ICJDbGVhckFsbFNlbGVjdGlvbnMiID0gInRydWUiCiAgICAgICAgICAKICAgUGVyc2lzdGVudFNlbGVjdGlvbgogICAgICAgICAgTmFjaGRlbSBXSU5FIGJlZW5kZXQgd29yZGVuIGlzdCwga2FubiBkZXIgSW5oYWx0IGRlcgogICAgICAgICAgWndpc2NoZW5hYmxhZ2UgYW5kZXJlbiBYIFByb2dyYW1tZW4gbm9ybWFsZXJ3ZWlzZSBuaWNodCBtZWhyCiAgICAgICAgICB6dXIgVmVyZvxndW5nIGdlc3RlbGx0IHdlcmRlbi4gV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgdHJ1ZQogICAgICAgICAgZ2VzZXR6dCBpc3QsIHN0YXJ0ZXQgV0lORSBkZXN3ZWdlbiBlaW4ga2xlaW5lcwogICAgICAgICAgSGludGVyZ3J1bmRwcm9ncmFtbSAod2luZWNsaXBzcnYpIHdlbGNoZXMgZGVuIEluaGFsdCBkZXIKICAgICAgICAgIFp3aXNjaGVuYWJsYWdlIHNvIGxhbmdlIHZlcmb8Z2JhciBo5Gx0LCBiaXMgZGllc2VyIGR1cmNoIGVpbgogICAgICAgICAgYW5kZXJlcyBQcm9ncmFtbSBlcnNldHp0IHdpcmQgdW5kIHNpY2ggZGFubgogICAgICAgICAgYmVlbmRldC4gQmVpc3BpZWw6ICJQZXJzaXN0ZW50U2VsZWN0aW9uIiA9ICJ0cnVlIgogICAgICAgICAgCiAgNy4xMiBLb25maWd1cmF0aW9uIGRlcyBQb3N0U2NyaXB0LURydWNrZXJ0cmVpYmVycwogIAogICBXSU5FIGthbm4gendlaSBUeXBlbiB2b24gRHJ1Y2tlcnRyZWliZXJuIHZlcndlbmRlbiwgbuRtbGljaCBlY2h0ZQogICAxNmJpdCBXaW5kb3dzLURydWNrZXJ0cmVpYmVyLCB3aWUgU2llIHZvbiBXaW5kb3dzIDMuMTEgb2RlciBXaW5kb3dzCiAgIDk1Lzk4IGJlbnV0enQgd2VyZGVuLCBvZGVyIGVpbmVuIGVpZ2VuZW4gUG9zdFNjcmlwdC0gRHJ1Y2tlcnRyZWliZXIsCiAgIG1pdCBkZW0gc2ljaCBhdXMgZGVuIG1laXN0ZW4gV2luZG93cy1BbndlbmR1bmdlbiBoZXJhdXMgaW0KICAgUG9zdFNjcmlwdC1Gb3JtYXQgZHJ1Y2tlbiBs5HNzdC4gRGllc2UgUG9zdFNjcmlwdC1BdXNnYWJlIGthbm4gZGFubgogICD8YmVyIGRpZSBTcG9vbGVyLVNvZnR3YXJlIGRlcyBTeXN0ZW1zIChub3JtYWxlcndlaXNlIGxwci9scGQpIGF1ZgogICBlaW5lbiBkaXJla3QgYW5nZXNjaGxvc3NlbmVuIG9kZXIgZmVybmVuIERydWNrZXIgYXVzZ2VnZWJlbiB3ZXJkZW4uCiAgIAogICBIaW53ZWlzZSB6dXIgVmVyd2VuZHVuZyB2b24gMTZiaXQtV2luZG93cy1EcnVja2VydHJlaWJlciBmaW5kZW4KICAgc2ljaCB1LmEuIGluIGRlciBEYXRlaSBwcmludGluZyBpbSBVbnRlcnZlcnplaWNobmlzIGRvY3VtZW50YXRpb24KICAgZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMuIEltIGZvbGdlbmRlbiBzb2xsIGxlZGlnbGljaCBhdWYKICAgZGllIEtvbmZpZ3VyYXRpb24gZGVzIGVpbmdlYmF1dGVuIFBvc3RTY3JpcHQtRHJ1Y2tlcnRyZWliZXJzCiAgIGVpbmdlZ2FuZ2VuIHdlcmRlbiAod2FzIGdlbmVyZWxsIHNvd2llc28gYmV2b3J6dWd0IHdpcmQpLgogICAKICAgWnVu5GNoc3QgaXN0IGRhcyBWb3JoYW5kZW5zZWluIGRlcyBEcnVja2VydHJlaWJlcnMgYW56dW1lbGRlbi4gRGF6dQogICBzaW5kIGluIGRlciBEYXRlaSB3aW4uaW5pIGltIFdpbmRvd3MtVmVyemVpY2huaXMgZGllIGZvbGdlbmRlbgogICDEbmRlcnVuZ2VuIHZvcnp1bmVobWVuOgoKICAgW3dpbmRvd3NdCiAgIGRldmljZT1XSU5FIFBvc3RTY3JpcHQgRHJpdmVyLFdJTkVQUyxMUFQxOgoKICAgW2RldmljZXNdCiAgIFdJTkUgUG9zdFNjcmlwdCBEcml2ZXI9V0lORVBTLExQVDE6CgogICBGYWxscyBTaWUgV0lORSBvaG5lIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4sCiAgIGthbm4gZXMgc2VpbiwgZGFzcyBkaWUgRGF0ZWkgd2luLmluaSBub2NoIG5pY2h0IGV4aXN0aWVydC4gSW4KICAgZGllc2VtIEZhbGwga2FubiBkaWUgRGF0ZWkgbmV1IGFuZ2VsZWd0IHVuZCBkaWUgb2JlbiBnZXplaWd0ZW4KICAgWmVpbGVuIGRvcnQgZWluZ2V0cmFnZW4gd2VyZGVuLiBGYWxscyBkaWUgRGF0ZWkgYmVyZWl0cyB2b3JoYW5kZW4KICAgaXN0LCBt/HNzZW4gZGllIEFic2Nobml0dGUgW2RldmljZXNdIHVuZCBbd2luZG93c10gaW4gZGVyIERhdGVpCiAgIGxva2FsaXNpZXJ0IHVuZCB1bSBkaWUgb2JlbiBnZXplaWd0ZW4gWmVpbGVuIGVyZ+RuenQKICAgd2VyZGVuLiBLZWluZXNmYWxscyBzb2xsdGVuIGRpZSBBYnNjaG5pdHRlIGRldmljZXMgb2RlciB3aW5kb3dzCiAgIG1laHJtYWxzIGluIGRlciBEYXRlaSB2b3JoYW5kZW4gc2Vpbi4KICAgCiAgIERhbWl0IGF1Y2ggdm9uIDMyYml0IFByb2dyYW1tZW4gYXVzIGdlZHJ1Y2t0IHdlcmRlbiBrYW5uLCBpc3QgZXMKICAgbm90d2VuZGlnLCBlaW5pZ2UgRWludHLkZ2UgaW4gZGVyIFJlZ2lzdHJhdHVyIHZvcnp1bmVobWVuLiBEaWVzZQogICBFaW50cuRnZSBzaW5kIGluIGRlciBEYXRlaSBwc2Rydi5yZWcgaW0gVW50ZXJ2ZXJ6ZWljaG5pcwogICBkb2N1bWVudGF0aW9uIGRlcyBXSU5FLVF1ZWxsY29kZXZlcnplaWNobmlzc2VzIHZvcmhhbmRlbiB1bmQgbGFzc2VuCiAgIHNpY2ggbWl0IGRlbSBQcm9ncmFtbSByZWdhcGksIHdlbGNoZXMgc2ljaCBpbSBVbnRlcnZlcnplaWNobmlzCiAgIHByb2dyYW1zL3JlZ2FwaSBkZXMgUXVlbGxjb2RldmVyemVpY2huaXNzZXMgYmVmaW5kZXQsCiAgIGltcG9ydGllcmVuLiBGYWxscyBub2NoIG5pY2h0IGdlc2NoZWhlbiwgaXN0IHJlZ2FwaSBkYXp1IHp1buRjaHN0IHp1CiAgIPxiZXJzZXR6ZW4uIFp1IGRpZXNlbSBad2VjayBpc3QgaW4gZGFzIFZlcnplaWNobmlzIHByb2dyYW1zL3JlZ2FwaQogICB6dSB3ZWNoc2VsbiB1bmQgZG9ydCBkZXIgQmVmZWhsIG1ha2UgZWluenVnZWJlbiAoZGllcyBzZXR6dAogICB2b3JhdXMsIGRhc3MgV0lORSBiZXJlaXRzIGVyZm9sZ3JlaWNoIPxiZXJzZXR6dCB3dXJkZSkuIERhbmFjaAogICBr9m5uZW4gZGllIGVyZm9yZGVybGljaGVuIFNjaGz8c3NlbCBkdXJjaCBkaWUgRWluZ2FiZSBkZXMgZm9sZ2VuZGVuCiAgIEJlZmVobHMgaW1wb3J0aWVydCB3ZXJkZW46CiAgIAogICAuL3JlZ2FwaSBzZXRWYWx1ZSA8IC4uLy4uL2RvY3VtZW50YXRpb24vcHNkcnYucmVnCiAgIAogICBBY2h0dW5nOgogICBCZWkgZGVtIFByb2dyYW1tIHJlZ2FwaSBoYW5kZWx0IGVzIHNpY2ggdW0gZWluIHNvZ2VuYW5udGVzCiAgIFdpbmVMaWItUHJvZ3JhbW0uIFNvbGNoZSBQcm9ncmFtbWUgYmVudXR6ZW4gV0lORSwgdW0KICAgV2luZG93cy1zcGV6aWZpc2NoZSBGdW5rdGlvbmVuIHZlcndlbmRlbiB6dSBr9m5uZW4uIERhbWl0IHNpZQogICBhdXNnZWb8aHJ0IHdlcmRlbiBr9m5uZW4sIG11c3MgYmVyZWl0cyBlaW5lIGZ1bmt0aW9uc2bkaGlnZQogICBXSU5FLUtvbmZpZ3VyYXRpb24gdm9yaGFuZGVuIHNlaW4uIERpZXNlciBTY2hyaXR0IHNvbGx0ZSBhbHNvIG5pY2h0CiAgIGR1cmNoZ2Vm/GhydCB3ZXJkZW4sIGJldm9yIGRpZSBFcnN0ZWxsdW5nIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgIGFiZ2VzY2hsb3NzZW4gdW5kIGRpZSBGdW5rdGlvbnNm5GhpZ2tlaXQgdm9uIFdJTkUgZ2V0ZXN0ZXQgd29yZGVuCiAgIGlzdC4KICAgCiAgIFdlaXRlciB3aXJkIGVpbmUgc28gZ2VuYW5udGUgUFBELURhdGVpIGJlbvZ0aWd0LiBFaW5lIHNvbGNoZSBEYXRlaQogICBiZXNjaHJlaWJ0IHZlcnNjaGllZGVuZSBFaWdlbnNjaGFmdGVuIGRlcyBEcnVja2VycyB1bmQgd2lyZAogICBiZW72dGlndCwgZGFtaXQgV0lORSBiZWlzcGllbHN3ZWlzZSBlbnRzY2hlaWRlbiBrYW5uLCBvYiBpbiBGYXJiZQogICBvZGVyIGluIFNjaHdhcnotV2Vp3yBnZWRydWNrdCB3ZXJkZW4ga2Fubi4gV2VubiBrZWluCiAgIFBvc3RTY3JpcHQtZuRoaWdlciBEcnVja2VyIGJlbnV0enQgd2lyZCwgZGFubiBiZW72dGlndCBtYW4gZWluZQogICBQUEQtRGF0ZWksIHdlbGNoZSBkaWUgRWlnZW5zY2hhZnRlbiBkZXMgZ2hvc3RzY3JpcHQtVHJlaWJlcnMgZvxyCiAgIGRlbiBlaW5nZXNldHp0ZW4gRHJ1Y2tlciBiZXNjaHJlaWJ0LCB3ZWlsIGRpZXNlcyBQcm9ncmFtbSBpbiBkZXIKICAgUmVnZWwgenVyIFVtd2FuZGx1bmcgdm9uIFBvc3RTY3JpcHQgaW4gZGFzIERydWNrZXJmb3JtYXQgYmVudXR6dAogICB3aXJkLiBNaXQgRGViaWFuIHN0ZWhlbiBzb2xjaGUgRGF0ZWllbiBpbiBkZW0gUGFrZXQgcHBkLWdzIHp1cgogICBWZXJm/Gd1bmcuIFdpcmQgZGllc2VzIFBha2V0IGJlbnV0enQsIHNvbGx0ZSB2b3JoZXIgZGllIERhdGVpCiAgIC91c3IvZG9jL3BwZC1ncy9SRUFETUUgZ2VsZXNlbiB3ZXJkZW4uCiAgIAogICBFaW5lIFJlaWhlIHZvbiBQUEQtRGF0ZWllbiBzdGVoZW4gdW50ZXIgZGVyIEFkcmVzc2UKICAgZnRwOi8vZnRwLmFkb2JlLmNvbS9wdWIvYWRvYmUvcHJpbnRlcmRyaXZlcnMvd2luL2FsbC9wcGRmaWxlcy8genVyCiAgIFZlcmb8Z3VuZy4gSW4gZGVtIFZlcnplaWNobmlzIGJlZmluZGVuIHNpY2ggc2VsYnN0YXVzcGFja2VuZGUKICAgWklQLUFyY2hpdmUsIGRpZSBQUEQtRGF0ZWllbiBm/HIgRHJ1Y2tlciB2ZXJzY2hpZWRlbmVyIEhlcnN0ZWxsZXIKICAgZW50aGFsdGVuLiBEaWVzZSBBcmNoaXZlIGv2bm5lbiBtaXQgZGVtIFByb2dyYW1tIHVuemlwKDEpIGVudHBhY2t0CiAgIHdlcmRlbi4gVW0gYmVpc3BpZWxzd2Vpc2UgZGllIERhdGVpIGhwLmV4ZSBhdXN6dXBhY2tlbiwgd+RyZQogICBmb2xnZW5kZXIgQmVmZWhsIGVpbnp1Z2ViZW46CiAgIAogICB1bnppcCAtTCBocC5leGUKICAgCiAgIERhbmFjaCBpc3QgZGllIGdld/xuc2NodGUgUFBELURhdGVpIGF1c3p1d+RobGVuLCBoaWVyYmVpIG11c3MKICAgdS5VLiBlaW4gd2VuaWcgZXhwZXJpbWVudGllcnQgd2VyZGVuLCB1bSBvcHRpbWFsZSBFcmdlYm5pc3NlIHp1CiAgIGVyemllbGVuLiBEaWUgRGF0ZWkga2FubiBkYW5uIGJlaXNwaWVsc3dlaXNlIGluIGRhcyBWZXJ6ZWljaG5pcwogICAvdXNyL2xvY2FsL2V0Yy8ga29waWVydCB3ZXJkZW4gdW5kIG11c3MgV0lORSBkdXJjaCBkZW4gZm9sZ2VuZGVuCiAgIEVpbnRyYWcgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgYmVrYW5udCBnZW1hY2h0IHdlcmRlbjoKCiAgIFtwc2Rydl0KICAgInBwZGZpbGUiID0gIi91c3IvbG9jYWwvZXRjL0hQNE0zX1YxLlBQRCIKCiAgIEZhbGxzIHNpY2ggZGllIERhdGVpIGluIGVpbmVtIGFuZGVyZW4gVmVyemVpY2huaXMgYmVmaW5kZXQgb2RlcgogICBlaW5lbiBhbmRlcmVuIE5hbWVuIHRy5Gd0LCBpc3QgZGVyIFdlcnQgZvxyIGRpZSBWYXJpYWJsZSBwcGRmaWxlCiAgIG5hdPxybGljaCBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KICAgCiAgIFNjaGxpZd9saWNoIGJlbvZ0aWd0IFdJTkUgZGllIEZvbnRtZXRyaWMtRGF0ZWllbiBkZXIgU2NocmlmdGFydGVuLAogICBkaWUgYXVmIGRlbSBEcnVja2VyIChvZGVyIG1pdCBnaG9zdHNjcmlwdCkgenVyIFZlcmb8Z3VuZwogICBzdGVoZW4uIEVpbmUgUmVpaGUgc29sY2hlciBGb250bWV0cmljLURhdGVpZW4gbGFzc2VuIHNpY2ggdW50ZXIKICAgRGViaWFuIGJlaXNwaWVsc3dlaXNlIG1pdCBkZW0gUGFrZXQgdGV0ZXgtZXh0cmEgaW5zdGFsbGllcmVuLiBTaWUKICAgYmVmaW5kZW4gc2ljaCBuYWNoIGRlciBJbnN0YWxsYXRpb24gdW50ZXJoYWxiIGRlcyBWZXJ6ZWljaG5pc3NlcwogICAvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS4gU2llIGhhYmVuIG5vcm1hbGVyd2Vpc2UgZGllCiAgIERhdGVpbmFtZW5zZW5kdW5nIC5hZm0gKEFkb2JlIEZvbnRNZXRyaWMpLiBEaWUgenUgdmVyd2VuZGVuZGVuCiAgIERhdGVpZW4gc2luZCBpbSBBYnNjaG5pdHQgW2FmbWZpbGVzXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICBhbnp1Z2ViZW4uIERlciBOYW1lIGplZGVyIERhdGVpIGlzdCBkYWJlaSBlaW5lciBWYXJpYWJsZW4KICAgenV6dW9yZG5lbiwgZGVyZW4gTmFtZSBzaWNoIGF1cyBkZXIgWmVpY2hlbmtldHRlIGZpbGUgdW5kIGVpbmVyCiAgIGZvcnRsYXVmZW5kZW4gWmlmZmVyIHp1c2FtbWVuc2V0enQuICBCZWkgZGVyIEF1c3dhaGwgZGVyCiAgIEFGTS1EYXRlaWVuIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBudXIgZGllIERhdGVpZW4gYW5nZWdlYmVuIHdlcmRlbgogICBicmF1Y2hlbiwgZvxyIGRpZSBkZXIgZW50c3ByZWNoZW5kZSBGb250IHRhdHPkY2hsaWNoIGluIGRlciB2b3JoZXIKICAgZGVmaW5pZXJ0ZW4gUFBELURhdGVpIGdlbmFubnQgd3VyZGUuIERpZSBCZXplaWNobnVuZ2VuIGRlciBGb250cwogICBiZWZpbmRlbiBzaWNoIG5vcm1hbGVyd2Vpc2UgaW4gZGVuIEZvbnRtZXRyaWMtRGF0ZWllbiwgZGllIG1pdAogICBlaW5lbSBUZXh0ZWRpdG9yIGJldHJhY2h0ZXQgd2VyZGVuIGv2bm5lbi4gRGVyIEFuZmFuZyBkZXMKICAgZW50c3ByZWNoZW5kZW4gQWJzY2huaXR0cyBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBr9m5udGUKICAgYmVpc3BpZWxzd2Vpc2UgZm9sZ2VuZGVybWHfZW4gYXVzc2VoZW46CgogICBbYWZtZmlsZXNdCiAgICJmaWxlMSIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvdGltZXMvcHRtYjhhLmFmbSIKICAgImZpbGUyIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS90aW1lcy9wdG1iaThhLmFmbSIKICAgImZpbGUzIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS90aW1lcy9wdG1yOGEuYWZtIgogICAiZmlsZTQiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL3RpbWVzL3B0bXJpOGEuYWZtIgogICAiZmlsZTUiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmJvOGFuLmFmbSIKICAgImZpbGU2IiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZiOGEuYWZtIgogICAiZmlsZTciID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmI4YW4uYWZtIgogICAiZmlsZTgiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmJvOGEuYWZtIgogICAiZmlsZTkiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodnJvOGFuLmFmbSIKICAgImZpbGUxMCIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cjhhLmFmbSIKICAgImZpbGUxMSIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cjhhbi5hZm0iCiAgICJmaWxlMTIiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodnJvOGEuYWZtIgoKICAgQXVjaCBoaWVyIHNpbmQgZGllIERhdGVpbmFtZW4gbmF0/HJsaWNoIGFuIGRpZSB0YXRz5GNobGljaAogICBiZW51dHp0ZW4gRm9udG1ldHJpYy1EYXRlaWVuIGFuenVwYXNzZW4uIERlciBEcnVja2VydHJlaWJlciBzb2xsdGUKICAgZGFubiBhbHMgV0lORSBQb3N0U2NyaXB0RHJpdmVyIGluIGRlbiBEcnVja2RpYWxvZ2VuIGRlcgogICBXaW5kb3dzLUFud2VuZHVuZ2VuIHp1ciBWZXJm/Gd1bmcgc3RlaGVuLgogICAKICA3LjEzIEtvbmZpZ3VyYXRpb24gZGVzIFNwb29sZXJzCiAgCiAgIFN0YW5kYXJkbeTfaWcgd2VyZGVuIERydWNrZGF0ZW4gaW4gZWluZSBEYXRlaSBpbSBha3R1ZWxsZW4KICAgQXJiZWl0c3ZlcnplaWNobmlzIGF1c2dlZ2ViZW4sIGRlcmVuIE5hbWUgZGVyIEJlemVpY2hudW5nIGRlcwogICBEcnVja2VyYW5zY2hsdXNzZXMgdW50ZXIgV2luZG93cywgYXVmIGRlbiBnZWRydWNrdCB3dXJkZSwgZW50c3ByaWNodC4KICAgSW0gQWJzY2huaXR0IFtzcG9vbGVyXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBs5HNzdCBzaWNoIGRpZSBBdXNnYWJlIGluCiAgIGVpbmUgYW5kZXJlIERhdGVpIHVtbGVua2VuIG9kZXIgYW4gZWluIGFuZGVyZXMgUHJvZ3JhbW0gd2VpdGVybGVpdGVuLgogICBEYXp1IGlzdCBpbiBkZW0gQWJzY2huaXR0IGRlciBOYW1lIGRlcyBBbnNjaGx1c3NlcyBhbHMKICAgVmFyaWFibGVuYmV6ZWljaG51bmcgYW56dWdlYmVuIChCZWlzcGllbDogTFBUMTopIHVuZCBkaWVzZXIgVmFyaWFibGUKICAgZGVyIE5hbWUgZGVyIERhdGVpIHp1IPxiZXJnZWJlbiwgaW4gd2VsY2hlIGRpZSBEcnVja2F1c2dhYmUgZ2VsZW5rdAogICB3ZXJkZW4gc29sbC4gVW0gZGllIEF1c2dhYmUgYW4gZGllIFN0YW5kYXJkZWluZ2FiZSBlaW5lcyBQcm9ncmFtbXMgenUKICAg/GJlcmdlYmVuLCBpc3QgZGVyIE5hbWUgZGVzIGdld/xuc2NodGVuIFByb2dyYW1tcyBoaW50ZXIgZGVtCiAgIFBpcGUtWmVpY2hlbiAofCkgYW56dWdlYmVuLgogICAKICAgV2VubiBhbHNvIGJlaXNwaWVsc3dlaXNlIGRpZSBBdXNnYWJlIGF1ZiBkZW4gQW5zY2hsdXNzIExQVDE6IGFuIGRhcwogICBQcm9ncmFtbSBscHIg/GJlcmdlYmVuIHdlcmRlbiBzb2xsLCB1bSBzaWUgZGVtIFNwb29sZXIgenV6dWb8aHJlbiwKICAgd+RyZSBpbiBkaWUgS29uZmlndXJhdGlvbnNkYXRlaSBmb2xnZW5kZXIgQWJzY2huaXR0IGF1Znp1bmVobWVuOgoKICAgW3Nwb29sZXJdCiAgICJMUFQxOiIgPSAifGxwciIKCgogIDcuMTQgTXVsdGltZWRpYS1Lb25maWd1cmF0aW9uCiAgCiAgIERpZSBNdWx0aW1lZGlhLUFyY2hpdGVrdHVyIHVudGVyIFdpbmRvd3MgYmVzdGVodCBhdXMgdmVyc2NoaWVkZW5lbgogICBUeXBlbiB2b24gVHJlaWJlcm4gdW5kIFNjaG5pdHRzdGVsbGVuLCBkaWUgdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbgogICBiZW51dHp0IHdlcmRlbiBr9m5uZW4uIERpZXNlIEFyY2hpdGVrdHVyIHdpcmQgdm9uIFdJTkUKICAgbmFjaGdlYmlsZGV0LCB3b2JlaSB1bnRlcnNjaGllZGxpY2hlIEJlc3RhbmR0ZWlsZSBtZWhyIG9kZXIgd2VuaWdlcgogICB2b2xsc3TkbmRpZyB2b3JoYW5kZW4gc2luZC4gRWluZSBhdXNm/GhybGljaGUgQmVzY2hyZWlidW5nIGRlcgogICBNdWx0aW1lZGlhLUFyY2hpdGVrdHVyIHZvbiBXSU5FIGJlZmluZGV0IHNpY2ggaW4gZGVyIERhdGVpCiAgIG11bHRpbWVkaWEgaW0gVW50ZXJ2ZXJ6ZWljaG5pcyBkb2N1bWVudGF0aW9uL3N0YXR1cyBkZXMKICAgV0lORS1RdWVsbGNvZGVzLgogICAKICAgV0lORSBzdGVsbHQgZWluZW4gZWlnZW5lbiBUcmVpYmVyIHp1ciBBbnN0ZXVlcnVuZyBkZXIgU291bmRoYXJkd2FyZQogICB6dXIgVmVyZvxndW5nLiBEaWVzZSBBbnN0ZXVlcnVuZyBnZXNjaGllaHQg/GJlciBkaWUgR2Vy5HRlZGF0ZWllbgogICAvZGV2L2RzcCwgL2Rldi9hdWRpbywgL2Rldi9taXhlciB1c3cuIERlc3dlZ2VuIG11c3MgZGFyYXVmIGdlYWNodGV0CiAgIHdlcmRlbiwgZGFzcyBTY2hyZWliLSB1bmQgTGVzZWJlcmVjaHRpZ3VuZyBm/HIgZGllc2UgRGF0ZWllbgogICBiZXN0ZWh0LCBmYWxscyBkaWUgU291bmR1bnRlcnN0/HR6dW5nIHZvbiBXSU5FIGJlbnV0enQgd2VyZGVuCiAgIHNvbGwuIERlciBUcmVpYmVyIHNldHp0IGF1ZiBkaWUgT1NTLSAoT3BlbiBTb3VuZCBTeXN0ZW0pIFRyZWliZXIKICAgYXVmLCBkaWUgc3RhbmRhcmRt5N9pZyBCZXN0YW5kdGVpbCBkZXMgTGludXgtS2VybmVscyBzaW5kLgogICAKICAgQmlzIGF1ZiBkaWUgQmlibGlvdGhla2VuIHdpbm1tIHVuZCBtbXN5c3RlbSBsYXNzZW4gc2ljaCBhbGxlCiAgIGFuZGVyZW4gS29tcG9uZW50ZW4gZGVzIE11bHRpbWVkaWFzeXN0ZW1zIGF1Y2ggYXVzIGVpbmVyCiAgIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHZlcndlbmRlbi4gRGllcyBpc3Qgdm9yIGFsbGVtIGJlaQogICBlaW5pZ2VuIE1DSS1UcmVpYmVybiBoaWxmcmVpY2gsIGRpZSBpbiBXSU5FIG5vY2ggbmljaHQgdm9sbHN05G5kaWcKICAgaW1wbGVtZW50aWVydCBzaW5kLiBNQ0ktVHJlaWJlciB3ZXJkZW4gZ2VsYWRlbiwgd2VubiBpbSBBYnNjaG5pdHQKICAgW21jaV0gZGVyIERhdGVpIHN5c3RlbS5pbmkgaW0gV2luZG93cy1WZXJ6ZWljaG5pcyBBbndlaXN1bmdlbiBpbiBkZXIKICAgZm9sZ2VuZGVuIEZvcm0gc3RlaGVuOgoKICAgW21jaV0KICAgY2RhdWRpbz1tY2ljZGEuZHJ2CiAgIHNlcXVlbmNlcj1tY2lzZXEuZHJ2CgogICBCZWkgVmVyd2VuZHVuZyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBzb2xsdGVuIHNpY2gKICAgZGllIGVudHNwcmVjaGVuZGVuIEFud2Vpc3VuZ2VuIGRvcnQgYmVyZWl0cyBiZWZpbmRlbi4gV2lyZCBvaG5lCiAgIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiBnZWFyYmVpdGV0LCBrYW5uIGRpZSBEYXRlaQogICBzeXN0ZW0uaW5pIGltIFVudGVydmVyemVpY2huaXMgZG9jdW1lbnRhdGlvbi9zYW1wbGVzIGRlcwogICBXSU5FLVF1ZWxsY29kZXZlcnplaWNobmlzc2VzIGFscyBWb3JsYWdlIGRpZW5lbi4gRHVyY2ggZGllIFZhcmlhYmxlCiAgIG1jaSBpbSBBYnNjaG5pdHQgW29wdGlvbnNdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHZvbiBXSU5FIGxhc3NlbgogICBzaWNoIGRpZSBEZWZpbml0aW9uZW4gYXVzIGRlciBEYXRlaSBzeXN0ZW0uaW5pIPxiZXJzY2hyZWliZW4uIERhcwogICBpc3Qgc2lubnZvbGwsIHVtIGJlc3RpbW10ZSBUcmVpYmVyIG5pY2h0IHp1IGxhZGVuLCBkaWUgaW4gZGVyIERhdGVpCiAgIHN5c3RlbS5pbmkgYW5nZWdlYmVuIHNpbmQsIHdlaWwgZGllc2UgVHJlaWJlciBtaXQgV0lORSBuaWNodAogICByaWNodGlnIGZ1bmt0aW9uaWVyZW4uIERpZXMgaXN0IHp1ciBaZWl0IG1pdCBkZW0gTUNJLVRyZWliZXIKICAgdmlkZW9kaXNrIGRlciBGYWxsLiBVbSBhbGxlIE1DSS1UcmVpYmVyIChiaXMgYXVmIHZpZGVvZGlzaykgenUKICAgbGFkZW4sIGv2bm50ZSBpbiBkaWUgS29uZmlndXJhdGlvbnNkYXRlaSBkZXIgYWxzbyBkZXIgZm9sZ2VuZGUKICAgQWJzY2huaXR0IGF1Zmdlbm9tbWVuIHdlcmRlbjoKCiAgIFtvcHRpb25zXQogICAibWNpIiA9ICJDREFVRElPOlNFUVVFTkNFUjpXQVZFQVVESU86QVZJVklERU86TVBFR1ZJREVPIgoKICAgT2IgZWluIFRyZWliZXIgYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlbGFkZW4KICAgb2RlciBkZXIgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdGUgVHJlaWJlciBiZW51dHp0IHdlcmRlbgogICBzb2xsLCBrYW5uIHdpZSBiZWkgQmlibGlvdGhla2VuIGltIEFic2Nobml0dCBEbGxPdmVycmlkZXMgZGVyCiAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZmVzdGdlbGVndCB3ZXJkZW4sIHdpZSBlcyB3ZWl0ZXIgb2JlbgogICBiZXNjaHJpZWJlbiB3dXJkZS4gRGFiZWkgaXN0IHp1IGJlYWNodGVuLCBkYXNzIGRpZQogICBEYXRlaW5hbWVuc2VuZHVuZyAuZHJ2IGJlaSBUcmVpYmVybiAtIGltIEdlZ2Vuc2F0eiB6dSBCaWJsaW90aGVrZW4KICAgLSBtaXQgYW56dWdlYmVuIGlzdC4gVW0gYmVpc3BpZWxzd2Vpc2UgZGllIE1DSS1UcmVpYmVyIG1jaWF2aSB1bmQKICAgbWNpYW5pbSBhdXMgZWluZXIgYmVzdGVoZW5kZW4gSW5zdGFsbGF0aW9uIHp1IGxhZGVuIHVuZCBkaWUg/GJyaWdlbgogICBUcmVpYmVyIHZvbiBXSU5FIHp1IHZlcndlbmRlbiwgd+RyZW4gZGVtIEFic2Nobml0dCBbRGxsT3ZlcnJpZGVzXQogICBkaWUgZm9sZ2VuZGVuIFplaWxlbiB6dXp1ZvxnZW46CgogICAibWNpYXZpLmRydiwgbWNpYW5pbS5kcnYiID0gIm5hdGl2ZSwgYnVpbHRpbiIKICAgIm1jaWNkYS5kcnYsIG1jaXNlcS5kcnYiICA9ICJidWlsdGluLCBuYXRpdmUiCiAgICJtc2FjbS5kcnYsIG1pZGltYXAuZHJ2IiAgPSAiYnVpbHRpbiwgbmF0aXZlIgogICAibWNpd2F2ZS5kcnYiICAgICAgICAgICAgID0gImJ1aWx0aW4sIG5hdGl2ZSIKCgogIDcuMTUgRWlucmljaHRlbiBkZXIgUmVnaXN0cmF0dXIKICAKICAgRWluZSBSZWloZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIHVuZCBXSU5FIHNlbGJzdCBiZW72dGlnZW4KICAgYmVzdGltbXRlIEVpbnRy5GdlIGluIGRlciBSZWdpc3RyYXR1ciwgZGFtaXQgc2llIHJpY2h0aWcKICAgZnVua3Rpb25pZXJlbi4gV2VubiBXSU5FIG9obmUgZWluZSBiZXN0ZWhlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIGJlbnV0enQgd2lyZCBvZGVyIGRpZSBXaW5kb3dzLVJlZ2lzdHJhdHVyIG5pY2h0IGltcG9ydGllcnQgd2VyZGVuCiAgIHNvbGwsIHNpbmQgZGllc2UgRWludHLkZ2Ugbm9jaCBuaWNodCB2b3JoYW5kZW4gdW5kIG38c3NlbiBtaXQgZGVtCiAgIHdlaXRlciBvYmVuIGJlcmVpdHMgZXJ35GhudGVuIFByb2dyYW1tIHJlZ2FwaSBpbXBvcnRpZXJ0CiAgIHdlcmRlbi4gQWxzIFZvcmxhZ2Uga2FubiBkYXp1IGRpZSBEYXRlaSB3aW5lZGVmYXVsdC5yZWcgaW0KICAgUXVlbGxjb2RldmVyemVpY2huaXMgdm9uIFdJTkUgZGllbmVuLiBEaWUgRGF0ZWkgc29sbHRlIGplZG9jaAogICBkYXJhdWZoaW4g/GJlcnBy/GZ0IHdlcmRlbiwgb2IgYWxsZSBkb3J0IGFuZ2VnZWJlbmVuCiAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gdW5kIFBmYWRlIHN0aW1tZW4sIGJldm9yIHNpZSBpbXBvcnRpZXJ0IHdpcmQuCiAgIEF132VyZGVtIHNvbGx0ZSBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBuYXT8cmxpY2ggZmVzdGdlbGVndAogICBzZWluLCBkYXNzIGRpZSBSZWdpc3RyYXR1ciBiZWkgQmVlbmRpZ3VuZyBkZXMgUHJvZ3JhbW1zIGdlc3BlaWNoZXJ0CiAgIHdpcmQsIGRhbWl0IGRpZSBpbXBvcnRpZXJ0ZW4gRGF0ZW4gYXVjaCBiZWltIG7kY2hzdGVuIEF1ZnJ1ZiB2b24KICAgV0lORSB6dXIgVmVyZvxndW5nIHN0ZWhlbi4gRGFuYWNoIGthbm4gaW4gZGFzIFVudGVydmVyemVpY2huaXMKICAgcHJvZ3JhbXMvcmVnYXBpIGRlcyBRdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBnZXdlY2hzZWx0IHdlcmRlbi4gRG9ydAogICBpc3QgZGFzIFByb2dyYW1tIHp1buRjaHN0IGR1cmNoIEVpbmdhYmUgZGVzIEJlZmVobHMgbWFrZSB6dQogICBlcnN0ZWxsZW4sIGZhbGxzIGRpZXMgbm9jaCBuaWNodCBnZXNjaGVoZW4gaXN0LiBEYW5hY2gga/ZubmVuIGRpZQogICBlcmZvcmRlcmxpY2hlbiBEYXRlbiBtaXQgZGVtIGZvbGdlbmRlbiBCZWZlaGwgaW1wb3J0aWVydCB3ZXJkZW46CiAgIAogICAuL3JlZ2FwaSBzZXRWYWx1ZSAuLi8uLi93aW5lZGVmYXVsdC5yZWcKICAgCjggQXVmcnVmIHZvbiBXSU5FIHVuZCBLb21tYW5kb3plaWxlbm9wdGlvbmVuCgogICBXSU5FIGzkc3N0IHNpY2ggd2llIGplZGVzIGFuZGVyZSBQcm9ncmFtbSB2b24gZGVyIEtvbW1hbmRvemVpbGUgYXVzCiAgIGF1ZnJ1ZmVuLiBEZXIgTmFtZSBkZXMgYXVzenVm/GhyZW5kZW4gV2luZG93cy1Qcm9ncmFtbXMgaXN0IFdJTkUKICAgZGFiZWkgYW4gZGVyIEtvbW1hbmRvemVpbGUgYW5nZWJlbi4gUHJvZ3JhbW1lLCBkaWUgc2ljaCBpbiBlaW5lbQogICBWZXJ6ZWljaG5pcyBiZWZpbmRlbiwgZGFzIGluIGRlciBWYXJpYWJsZW4gUGF0aCBpbSBBYnNjaG5pdHQgV0lORQogICBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBhdWZnZWb8aHJ0IGlzdCwga/ZubmVuIGRhYmVpIG9obmUgQW5nYWJlCiAgIGRlcyBQZmFkbmFtZW5zIGF1ZmdlcnVmZW4gd2VyZGVuLiBEaWUgQW5nYWJlIGRlciBEYXRlaW5hbWVuc2VuZHVuZwogICAuZXhlIGlzdCBvcHRpb25hbC4gRmFsbHMgV0lORSBhbHNvIGdlc3RhcnRldCB1bmQgZGFzCiAgIFdpbmRvd3MtUHJvZ3JhbW0gd2lubWluZSAoTWluZXN3ZWVwZXIpIGdlbGFkZW4gd2VyZGVuIHNvbGwsIHfkcmUKICAgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW56dWdlYmVuLCB2b3JhdXNnZXNldHp0LCBkaWUgRGF0ZWkKICAgd2lubWluZS5leGUgd/xyZGUgc2ljaCBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBiZWZpbmRlbiwgd2VsY2hlcyBpbgogICBkZXIgVmFyaWFibGVuIFBhdGggYXVmZ2Vm/GhydCBpc3QuCiAgIAogICB3aW5lIHdpbm1pbmUuZXhlCiAgIAogICBTb2xsZW4gUHJvZ3JhbW1lIGdlc3RhcnRldCB3ZXJkZW4sIGRpZSBzaWNoIGluIFZlcnplaWNobmlzc2VuCiAgIGJlZmluZGVuLCB3ZWxjaGUgbmljaHQgaW4gZGVyIFZhcmlhYmxlbiBQYXRoIGJlZmluZGVuLCBpc3QgZXMKICAgZXJmb3JkZXJsaWNoLCBkZW4gUGZhZG5hbWVuIG1pdCBhbnp1Z2ViZW4uIEhpZXIga2FubiBlbnR3ZWRlciBkZXIKICAgRE9TLS9XaW5kb3dzLVBmYWRuYW1lIG9kZXIgZGVyIFVOSVgtUGZhZG5hbWUgYmVudXR6dCB3ZXJkZW4uIERpZQogICBiZWlkZW4gZm9sZ2VuZGVuIEJlZmVobGUgd/xyZGVuIGFsc28gZGFzIGdsZWljaGUgYmV3aXJrZW4sIGZhbGxzCiAgIGRhcyBMYXVmd2VyayBDOiBkZW0gVU5JWC1WZXJ6ZWljaG5pcyAvdmFyL3dpbnJvb3QgenVnZW9yZG5ldCB35HJlLgoKICAgd2luZSBjOlxcd2luZG93c1xcd2lubWluZS5leGUKICAgd2luZSAvdmFyL3dpbnJvb3Qvd2luZG93cy93aW5taW5lLmV4ZQoKICAgRGVyIFL8Y2t35HJ0cy1TY2hy5GdzdHJpY2ggaGF0IGb8ciBkaWUgU2hlbGwgQmFzaCBlaW5lIGJlc29uZGVyZQogICBCZWRldXR1bmcgdW5kIHdpcmQgZGVzd2VnZW4gbm9ybWFsZXJ3ZWlzZSBuaWNodCBhbiBXSU5FCiAgIPxiZXJnZWJlbi4gRHVyY2ggZGllIGRvcHBlbHRlIEFuZ2FiZSBkaWVzZXMgWmVpY2hlbnMgd2lyZCBiZXdpcmt0LAogICBkYXNzIGVpbiBlaW5mYWNoZXIgU2NocuRnc3RyaWNoIPxiZXJnZWJlbiB3aXJkLiBEYXRlaS0gdW5kCiAgIFZlcnplaWNobmlzbmFtZW4gZW50aGFsdGVuIHVudGVyIFdpbmRvd3MgZ2VsZWdlbnRsaWNoCiAgIExlZXJ6ZWljaGVuLiBBdWNoIGhpZXIgaXN0IGVzIG5vdHdlbmRpZyBlaW5lbiBUcmljayBhbnp1d2VuZGVuLAogICBkYW1pdCBkaWUgTGVlcnplaWNoZW4gbmljaHQgZGF6dSBm/GhyZW4sIGRhc3MgZGllIFNoZWxsIGRpZQogICBlaW56ZWxuZW4gVGVpbGUgZGVyIE5hbWVuIGluIHZlcnNjaGllZGVuZW4gQXJndW1lbnRlIHplcmxlZ3QuIERlcgogICBmb2xnZW5kZSBCZWZlaGwgd/xyZGUgYmVpc3BpZWxzd2Vpc2UgbmljaHQgenVtIGdld/xuc2NodGVuIEVyZ2VibmlzCiAgIGb8aHJlbjoKICAgCiAgIHdpbmUgL3Zhci93aW5yb290L1Byb2dyYW1tZS9NaWNyb3NvZnQgR2FtZXMvUm9BIFRyaWFsIFZlcnNpb24vUEFDREVNTy5FWEUKICAgCiAgIEhpZXIgd/xyZGUgZGllIFNoZWxsIFdJTkUgdmllciBBcmd1bWVudGUg/GJlcmdlYmVuLCBu5G1saWNoCiAgIC92YXIvd2lucm9vdC9Qcm9ncmFtbWUvTWljcm9zb2Z0LCBHYW1lcy9Sb0EsIFRyaWFsIHVuZAogICBWZXJzaW9uL1BBQ0RFTU8uRVhFLCB3b3JhdWZoaW4gZGFzIHp1IHN0YXJ0ZW5kZSBQcm9ncmFtbSBuaWNodCBtZWhyCiAgIGdlZnVuZGVuIHdlcmRlbiB3/HJkZS4gRGFtaXQgZGllIFNoZWxsIGJlaSBMZWVyemVpY2hlbiBrZWluZQogICBUcmVubnVuZyBkdXJjaGb8aHJ0LCBpc3QgZGVuIGJldHJlZmZlbmRlbiBMZWVyemVpY2hlbiBlYmVuZmFsbHMgZWluCiAgIHL8Y2t35HJ0c2dlcmljaHRldGVyIFNjaHLkZ3N0cmljaCB2b3Jhbnp1c3RlbGxlbjoKICAgCiAgIHdpbmUgL3Zhci93aW5yb290L1Byb2dyYW1tZS9NaWNyb3NvZnRcIEdhbWVzL1JvQVwgVHJpYWxcIFZlcnNpb24vUEFDREVNTy5FWEUKICAgCiAgIEZhbGxzIEFyZ3VtZW50ZSBkZW0genUgc3RhcnRlbmRlbiBXaW5kb3dzLVByb2dyYW1tZW4g/GJlcmdlYmVuCiAgIHdlcmRlbiBzb2xsZW4sIGlzdCBkZW0gUHJvZ3JhbW1uYW1lbiBlaW4gLS0gdm9yYW56dXN0ZWxsZW4sIHVtIFdpbmUKICAgZGFzIEVuZGUgZGVyIFdpbmUtT3B0aW9uZW4gYW56dXplaWdlbiAoZGFtaXQgV2luZSBuaWNodCBkdXJjaCBQcm9ncmFtbS0KICAgT3B0aW9uZW4gdmVyd2lycnQgd2VyZGVuIGthbm4sIGRpZSBldnQuIGViZW5mYWxscyAtLVhYWCBoZWlzc2VuKS4KICAgVW0gYmVpc3BpZWxzd2Vpc2UgZGFzIFByb2dyYW1tIG5vdGVwYWQuZXhlIHp1IHN0YXJ0ZW4gdW5kIGRpZXNlbSBQcm9ncmFtbQogICBkYXMgQXJndW1lbnQgcmVhZG1lLjFzdCB6dSD8YmVyZ2ViZW4sIHfkcmUgV0lORSBzbyBhdWZ6dXJ1ZmVuOgogICAKICAgd2luZSAtLSBub3RlcGFkIHJlYWRtZS4xc3QKICAgCiAgIFdlbm4gbWVocmVyZSBXaW5kb3dzLVByb2dyYW1tZSBoaW50ZXJlaW5hbmRlciBnZXN0YXJ0ZXQgd2VyZGVuIHNvbGxlbiwKICAgbXVzcyBXSU5FIG1laHJtYWxzIGhpbnRlcmVpbmFuZGVyIG1pdCBkZW4gZW50c3ByZWNoZW5kZW4gUHJvZ3JhbW1uYW1lbgogICBhbHMgQXJndW1lbnQgYXVmZ2VydWZlbiB3ZXJkZW4uCiAgIAogIDguMSBLb21tYW5kb3plaWxlbm9wdGlvbmVuCiAgCiAgIE5lYmVuIGRlbiBOYW1lbiBkZXIgenUgc3RhcnRlbmRlbiBQcm9ncmFtbWUgdmVyc3RlaHQgV0lORSBlaW5lIFJlaWhlCiAgIHZvbiBPcHRpb25lbiwgbWl0IGRlbmVuIGRpZSBPcGVyYXRpb24gZGVzIFByb2dyYW1tcyBnbG9iYWwgYmVlaW5mbHVzc3QKICAgd2VyZGVuIGthbm4uIERpZXNlIE9wdGlvbmVuIHdlcmRlbiBkaXJla3Qgdm9uIFdJTkUgaW50ZXJwcmV0aWVydAogICB1bmQgbmljaHQgYW4gZGFzIGF1Znp1cnVmZW5kZSBXaW5kb3dzLVByb2dyYW1tIPxiZXJnZWJlbi4KICAgCiAgIC0tbWFuYWdlZAogICAgICAgICAgU3RhbmRhcmRt5N9pZyBsYXVmZW4gV2luZG93cy1Qcm9ncmFtbWUgbWl0IFdJTkUgdW5hYmjkbmdpZwogICAgICAgICAgdm9tIGVpbmdlc2V0enRlbiBXaW5kb3dzLU1hbmFnZXIuIERpZXMga2FubiB6dSBQcm9ibGVtZW4gYmVpCiAgICAgICAgICBkZXIgZ2xlaWNoemVpdGlnZW4gVmVyd2VuZHVuZyBub3JtYWxlciBYIFByb2dyYW1tZSB1bmQgdm9uCiAgICAgICAgICBXaW5kb3dzLVByb2dyYW1tZW4gZvxocmVuLiBEdXJjaCBWZXJ3ZW5kdW5nIGRlciBPcHRpb24KICAgICAgICAgIC0tbWFuYWdlZCB3ZXJkZW4gYXVjaCBXaW5kb3dzLVByb2dyYW1tZSB2b20gV2luZG93LU1hbmFnZXIKICAgICAgICAgIHZlcndhbHRldCwgc2llIGVyaGFsdGVuIGRhbm4gZGllIGdsZWljaGVuIFZlcnppZXJ1bmdlbiB3aWUKICAgICAgICAgIG5vcm1hbGUgWCBQcm9ncmFtbWUgKHNpZWhlIGF1Y2ggQWJzY2huaXR0IDcuNSkKICAgICAgICAgIAogICAtLXdpbnZlciBWZXJzaW9uCiAgICAgICAgICBWaWVsZSBXaW5kb3dzLVByb2dyYW1tZSBmdW5rdGlvbmllcmVuIG51ciBtaXQgYmVzdGltbXRlbgogICAgICAgICAgVmVyc2lvbmVuIHZvbiBXaW5kb3dzIG9kZXIgdmVyaGFsdGVuIHNpY2ggdW50ZXJzY2hpZWRsaWNoLAogICAgICAgICAgamUgbmFjaGRlbSBtaXQgd2VsY2hlciBWZXJzaW9uIHZvbiBXaW5kb3dzIHNpZSBhdXNnZWb8aHJ0CiAgICAgICAgICB3ZXJkZW4uICBEaWVzZXIgUGFyYW1ldGVyIGRpZW50IGRhenUsIFdJTkUgYW56dXdlaXNlbiwgYWxzCiAgICAgICAgICB3ZWxjaGUgV2luZG93cy1WZXJzaW9uIGVzIHNpY2ggYXVzZ2ViZW4gc29sbCwgd2VubiBQcm9ncmFtbWUKICAgICAgICAgIGRpZXMgZXJmcmFnZW4uIFN0YW5kYXJkbeTfaWcgdmVyc3VjaHQgV0lORSBzZWxic3QKICAgICAgICAgIGhlcmF1c3p1ZmluZGVuLCB3ZWxjaGUgVmVyc2lvbiB2b24gZWluZW0gYmVzdGltbXRlbiBQcm9ncmFtbQogICAgICAgICAgZXJ3YXJ0ZXQgd2lyZC4gTWl0IFZlcnNpb24ga2FubiBmb2xnZW5kZXMgYW5nZWdlYmVuIHdlcmRlbjoKICAgICAgICAgIHdpbjMxIChXaW5kb3dzIDMuMSksIHdpbjk1IChXaW5kb3dzIDk1KSwgd2luOTggKFdpbmRvd3MgOTgpLAogICAgICAgICAgbnQzNTEgKFdpbmRvd3MgTlQgMy41MSkgb2RlciBudDQwIChXaW5kb3dzIE5UIDQuMCkuIEltCiAgICAgICAgICBad2VpZmVsc2ZhbGwgZW1wZmllaGx0IHNpY2ggd2luOTUsIHdlaWwgV0lORSB6dXIgWmVpdCBkaWUKICAgICAgICAgIG1laXN0ZW4gR2VtZWluc2Fta2VpdGVuIG1pdCBkaWVzZXIgV2luZG93cy1WZXJzaW9uCiAgICAgICAgICBhdWZ3ZWlzdC4gQmVpc3BpZWw6IC0td2ludmVyIHdpbjk1LgogICAgICAgICAgCiAgIC0tZG9zdmVyIFZlcnNpb24KICAgICAgICAgIFdlbm4gRE9TLVByb2dyYW1tZSBtaXQgV2luZG93cyBhdXNnZWb8aHJ0IHdlcmRlbiwgZXJ3YXJ0ZW4KICAgICAgICAgIGRpZXNlIGdlbGVnZW50bGljaCBlaW5lIGJlc3RpbW10ZSBWZXJzaW9uIHZvbiBNUy1ET1MuIERhenUKICAgICAgICAgIGlzdCBtaXQgZGVtIFBhcmFtZXRlciAtLWRvc3ZlciBkaWUgZ2V3/G5zY2h0ZSBWZXJzaW9uLCBpbgogICAgICAgICAgZGVyIEZvcm0geC54eCBhbnp1Z2ViZW4uIEJlaXNwaWVsOiAtLWRvc3ZlciA3LjEwIChkaWVzZQogICAgICAgICAgVmVyc2lvbiBlbnRzcHJpY2h0IFdpbmRvd3MgOTViKS4KICAgICAgICAgIAogICAtLWhlbHAKICAgICAgICAgIERpZSBPcHRpb24gYmV3aXJrdCwgZGFzcyBlaW5lINxiZXJzaWNodCD8YmVyIGRpZSB2ZXJm/GdiYXJlbgogICAgICAgICAgT3B0aW9uZW4gYXVzZ2VnZWJlbiB3aXJkLgogICAgICAgICAgCiAgIC0tdmVyc2lvbgogICAgICAgICAgRGllIE9wdGlvbiBiZXdpcmt0LCBkYXNzIGRpZSBWZXJzaW9uc251bW1lciB2b24gV0lORQogICAgICAgICAgYW5nZXplaWd0IHdpcmQuCiAgICAgICAgICAKICAgLS1kbGwgQmlibGlvdGhla1ssQmlibGlvdGhlayAuLi5dPWJ8bls6QmlibGlvdGhla1ssQmlibGlvdGhlaywuLi5dPWJ8bl0KICAgICAgICAgIE1pdCBkaWVzZXIgT3B0aW9uIGxhc3NlbiBzaWNoIGRpZSBFaW5zdGVsbHVuZ2VuIGF1cyBkZW0KICAgICAgICAgIEFic2Nobml0dCBbRGxsT3ZlcnJpZGVzXSBhdXMgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgICAgICAgIPxiZXJzY2hyZWliZW4sIGVzIGthbm4gYWxzbyBhbmdlZ2ViZW4gd2VyZGVtLCB3ZWxjaGUKICAgICAgICAgIEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24KICAgICAgICAgIGdlbGFkZW4gdW5kIHdlbGNoZSBkaXJla3Qgdm9uIFdJTkUgenUgVmVyZvxndW5nIGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4gc29sbGVuLiAgRGVyIE9wdGlvbiBpc3QgZWluIEF1c2RydWNrIHp1IPxiZXJnZWJlbiwKICAgICAgICAgIHdlbGNoZXIgYXVzIGRlbiBOYW1lbiBkZXIgYmV0cmVmZmVuZGVuIEJpYmxpb3RoZWtlbiBiZXN0ZWh0LAogICAgICAgICAgZGllIGR1cmNoIEtvbW1hdGEgKG9obmUgTGVlcnplaWNoZW4pIHZvbmVpbmFuZGVyIGdldHJlbm50CiAgICAgICAgICB3ZXJkZW4uIERhbmFjaCBmb2xndCBlaW4gR2xlaWNoaGVpdHN6ZWljaGVuIHVuZCBkYXJhdWZoaW4KICAgICAgICAgIGVudHdlZGVyIGRlciBCdWNoc3RhYmUgYiwgdW0genUgYmVzdGltbWVuLCBkYXNzIGRpZQogICAgICAgICAgYW5nZWdlYmVuZW4gQmlibGlvdGhla2VuIHZvbiBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbiBzb2xsZW4sIG9kZXIgZGVyIEJ1Y2hzdGFiZSBuLCBkYW1pdCB2ZXJzdWNodCB3aXJkLAogICAgICAgICAgZGllIEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgYmVzdGVoZW5kZW4gSW5zdGFsbGF0aW9uIHp1CiAgICAgICAgICBsYWRlbi4gU29sY2hlIEF1c2RydWNrZSBr9m5uZW4gd2llZGVyaG9sdCBhbmdlZ2ViZW4gd2VyZGVuLAogICAgICAgICAgc2llIHNpbmQgZGFubiBkdXJjaCBlaW5lbiBEb3BwZWxwdW5rdCAob2huZSBMZWVyemVpY2hlbikKICAgICAgICAgIHZvbmVpbmFuZGVyIHp1IHRyZW5uZW4uIFNvbGxlbiBiZWlzcGllbHN3ZWlzZSBkaWUKICAgICAgICAgIEJpYmxpb3RoZWtlbiBzaGVsbCwgY29tbWRsZyB1bmQgY29tbWN0cmwgbWl0IGlocmVuCiAgICAgICAgICB6dWdlaPZyaWdlbiAzMmJpdCBCaWJsaW90aGVrZW4gYXVzIGVpbmVyIGJlc3RlaGVuZGVuCiAgICAgICAgICBJbnN0YWxsYXRpb24gZ2VsYWRlbiB3ZXJkZW4gdW5kIGRpZSBCaWJsaW90aGVrIGFkdmFwaTMyIHZvbgogICAgICAgICAgV0lORSB6dXIgVmVyZvxndW5nIGdlc3RlbGx0IHdlcmRlbiwgb2J3b2hsIGRpZXMgaW4gZGVyCiAgICAgICAgICBLb25maWd1cmF0aW9uc2RhdGVpIGFuZGVycyBhbmdlZ2ViZW4gaXN0LCBzbyBr9m5udGUgbWFuIGRpZQogICAgICAgICAgT3B0aW9uIHNvIGVpbnNldHplbjoKCiAgICAgICAgICAtLWRsbCBjb21tZGxnLGNvbWRsZzMyLGNvbW1jdHJsLGNvbWN0bDMyLHNoZWxsLHNoZWxsMzI9bjphZHZhcGkzMj1iLgogICAgICAgICAgCiAgIC0tZGVidWdtc2cgK3wtZm9vLCt8LWJhcgogICAgICAgICAgRGllc2UgT3B0aW9uIGRpZW50IGRhenUsIHp1IGtvbnRyb2xsaWVyZW4sIHdlbGNoZSBBcnQgdm9uCiAgICAgICAgICBJbmZvcm1hdGlvbmVuIFdJTkUgenVyIEZlaGxlci0gdW5kIEFibGF1ZnZlcmZvbGd1bmcgYXVzZ2ViZW4KICAgICAgICAgIHNvbGwuIEVzIHN0ZWhlbiBlaW5lIFJlaWhlIHNvIGdlbmFubnRlciBLYW7kbGUgenVyIFZlcmb8Z3VuZywKICAgICAgICAgIGRlcmVuIE5hbWVuIGFuZ2V6ZWlndCB3ZXJkZW4sIHdlbm4gZGllIE9wdGlvbiBvaG5lIHdlaXRlcmUgQW5nYWJlbgogICAgICAgICAgYmVudXR6dCB3aXJkLiBEaWUgZWluemVsbmVuIEthbuRsZSBlbnRzcHJlY2hlbiBub3JtYWxlcndlaXNlCiAgICAgICAgICB1bnRlcnNjaGllZGxpY2hlbiBUZWlsYmVyZWljaGVuIHZvbiBXSU5FLCBkZXJlbiBWZXJoYWx0ZW4gZHVyY2gKICAgICAgICAgIGRpZSBBdXNnYWJlIGJlc3RpbW10ZXIgSW5mb3JtYXRpb25lbiD8YmVycHL8ZnQgd2VyZGVuIGthbm4uIFVtCiAgICAgICAgICBiZWlzcGllbHN3ZWlzZSBkaWUgTWVsZHVuZ2VuIGb8ciBkZW4gS2FuYWwgZmlsZSBlaW56dXNjaGFsdGVuLAogICAgICAgICAgd+RyZSBkaWUgT3B0aW9uIC0tZGVidWdtc2cgK2ZpbGUgenUgYmVudXR6ZW4uIFdlbm4gZGllCiAgICAgICAgICBNZWxkdW5nZW4gZGVyIEthbuRsZSBmaWxlIHVuZCBkb3NmcyBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsZW4sCiAgICAgICAgICB35HJlIC0tZGVidWdtc2cgK2ZpbGUsK2Rvc2ZzIGFuenVnZWJlbi4gV2VpdGVyZSBJbmZvcm1hdGlvbmVuCiAgICAgICAgICBoaWVyenUgYmVmaW5kZW4gc2ljaCBpbiBkZXIgRGF0ZWkgZGVidWctbXNnIGltIFVudGVydmVyemVpY2huaXMKICAgICAgICAgIGRvY3VtZW50YXRpb24gZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMuIFp3ZWkgYmVzb25kZXJzCiAgICAgICAgICB3aWNodGlnZSBLYW7kbGUgc2luZCByZWxheSB1bmQgc25vb3AuIFdlbm4gZGVyIEthbmFsIHJlbGF5CiAgICAgICAgICBlaW5nZXNjaGFsdGV0IGlzdCwgd2lyZCBhdXNnZWdlYmVuLCB3ZWxjaGUgRnVua3Rpb25lbiBpbiBXSU5FCiAgICAgICAgICB2b24gV2luZG93cy1Qcm9ncmFtbWVuIG1pdCB3ZWxjaGVuIFBhcmFtZXRlcm4gYXVmZ2VydWZlbiB3ZXJkZW4KICAgICAgICAgIHVuZCB3ZWxjaGUgUvxja2tlaHJ3ZXJ0ZSBkaWVzZSBGdW5rdGlvbmVuIGxpZWZlcm4uIERlciBLYW5hbAogICAgICAgICAgc25vb3AgemVpZ3QgYW4sIHdlbGNoZSBGdW5rdGlvbmVuIGF1cyBlY2h0ZW4KICAgICAgICAgIFdpbmRvd3MtQmlibGlvdGhla2VuIGF1ZmdlcnVmZW4gd2VyZGVuLiBEaWUgQXVzZ2FiZSBkZXMgS2FuYWxzCiAgICAgICAgICByZWxheSBkaWVudCBXSU5FLUVudHdpY2tsZXJuIG9mdCBkYXp1LCBmZXN0enVzdGVsbGVuLCB3byBlaW4KICAgICAgICAgIEZlaGxlciBhdWZnZXRyZXRlbiBpc3QuIERlc3dlZ2VuIGlzdCBlcyByYXRzYW0sIGJlaQogICAgICAgICAgRmVobGVyYmVyaWNodGVuIGluIGRpZSBXSU5FLU5ld3Nncm91cCBkaWUgbGV0enRlbiAyMDAgWmVpbGVuCiAgICAgICAgICBkZXIgQXVzZ2FiZSB2b24gV0lORSBtaXR6dXNjaGlja2VuLCBkaWUgYmVpIGRlbSBBdWZydWYgZGVzCiAgICAgICAgICBQcm9ncmFtbXMgbWl0IGRlciBPcHRpb24gLS1kZWJ1Z21zZyArcmVsYXkgdm9yIEF1ZnRyZXRlbiBkZXMKICAgICAgICAgIEZlaGxlcnMgZW50c3RhbmRlbiBzaW5kLgogICAgICAgICAgCjkgRmVobGVycXVlbGxlbgoKICAgV0lORSBiZWZpbmRldCBzaWNoIHp1ciBaZWl0IG5vY2ggbWl0dGVuIGluIGRlciBFbnR3aWNrbHVuZywgd2Vzd2VnZW4KICAgdmllbGUgV2luZG93cy1Qcm9ncmFtbWUgbnVyIHRlaWx3ZWlzZSBvZGVyIPxiZXJoYXVwdCBuaWNodCBkYW1pdAogICBmdW5rdGlvbmllcmVuLiBNaXQgZ3Jv32VyIFdhaHJzY2hlaW5saWNoa2VpdCB3ZXJkZW4gZWluaWdlIFByb2dyYW1tZQogICBzb2dhciBuaWUgbWl0IFdJTkUgZnVua3Rpb25pZXJlbiwgYmVpc3BpZWxzd2Vpc2Ugd2VpbCBzaWUgZWlnZW5lCiAgIFdpbmRvd3MtVHJlaWJlciBicmF1Y2hlbiwgZGllIHVudGVyIExpbnV4IG5pY2h0IGdlbGFkZW4gd2VyZGVuIGv2bm5lbi4KICAgVHJvdHpkZW0gZnVua3Rpb25pZXJlbiB2aWVsZSBXaW5kb3dzLVByb2dyYW1tZSBhdXNnZXNwcm9jaGVuIGd1dCBtaXQKICAgV0lORSB1bmQgZGllIEFuemFobCBmdW5rdGlvbmllcmVuZGVyIFByb2dyYW1tZSBlcmj2aHQgc2ljaCByZWxhdGl2CiAgIHNjaG5lbGwuIFdlbm4gZWluIFByb2dyYW1tIG5pY2h0IHdpZSBnZXf8bnNjaHQgZnVua3Rpb25pZXJ0LCBrYW5uIGVzCiAgIGRlc3dlZ2VuIGhpbGZyZWljaCBzZWluLCBkaWUgZm9sZ2VuZGVuIEZyYWdlbiB6dSB1bnRlcnN1Y2hlbjoKICAgCiAgIFdJTkUgZnVua3Rpb25pZXJ0IPxiZXJoYXVwdCBuaWNodAogICAgICAgICAgSW4gYmVzdGltbXRlbiBQYWtldHZlcnNpb25lbiBkZXIgQy1CaWJsaW90aGVrIChWZXJzaW9uCiAgICAgICAgICAyLjEuMykgbGllZ3QgZWluIEZlaGxlciB2b3IsIGRlciBkYXp1IGb8aHJ0LCBkYXNzIFdJTkUKICAgICAgICAgIGRpcmVrdCBuYWNoIGRlbSBTdGFydCBtaXQgRmVobGVybWVsZHVuZ2VuIGFiYnJpY2h0LiBTaWUKICAgICAgICAgIGv2bm5lbiBkYXMgUHJvYmxlbSBiZWhlYmVuLCBpbmRlbSBTaWUgZWluZSBuZXVlcmUgVmVyc2lvbgogICAgICAgICAgZGVyIEMtQmlibGlvdGhlayBpbnN0YWxsaWVyZW4gb2RlciBkaWUgVmFyaWFibGUgTEFORyBhdWYKICAgICAgICAgIGVpbmVuIFdlcnQgc2V0emVuLiBCZWkgVmVyd2VuZHVuZyBkZXIgQmFzaCBrYW5uIGRpZXMKICAgICAgICAgIGJlaXNwaWVsc3dlaXNlIGR1cmNoIEVpbmdhYmUgZGVzIGZvbGdlbmRlbiBCZWZlaGxzCiAgICAgICAgICBnZXNjaGVoZW46IGV4cG9ydCBMQU5HPWRlX0RFLgogICAgICAgICAgCiAgIFdJTkUgZnVua3Rpb25pZXJ0IGltbWVyIG5vY2ggbmljaHQKICAgICAgICAgIFdlbm4gU2llIFdJTkUgYXVmIGRpZSBiZXNjaHJpZWJlbmUgQXJ0IGluc3RhbGxpZXJ0IGhhYmVuLAogICAgICAgICAgc29sbHRlbiBTaWUg/GJlcnBy/GZlbiwgZGFzcyBzaWNoIG5pY2h0IGdsZWljaHplaXRpZyBub2NoCiAgICAgICAgICBlaW5lIGFuZGVyZSwg5Gx0ZXJlIFZlcnNpb24gZGVzIFByb2dyYW1tcyBhdWYgZGVtIFJlY2huZXIKICAgICAgICAgIGJlZmluZGV0LCB3ZWxjaGVzIHUuVS4gdm9uIElocmVyIERpc3RyaWJ1dGlvbiBtaXRpbnN0YWxsaWVydAogICAgICAgICAgd3VyZGUuIERpZXMga/ZubnRlIG7kbWxpY2ggZGF6dSBm/GhyZW4sIGRhc3MgdmVyc3VjaHQgd2lyZCwKICAgICAgICAgIGlua29tcGF0aWJsZSBCaWJsaW90aGVrZW4genUgbGFkZW4uCiAgICAgICAgICAKICAgV2luZG93cy0gdW5kIFdpbmRvd3Mvc3lzdGVtLVZlcnplaWNobmlzIHNpbmQgbmljaHQgcmljaHRpZyBhbmdlZ2ViZW4KICAgICAgICAgIERpZSBNZWxkdW5nIEludmFsaWQgcGF0aCAnYzpcd2luZG93cycgZm9yIHdpbmRvd3MgZGlyZWN0b3J5CiAgICAgICAgICBiZXNhZ3QsIGRhc3MgaW0gQWJzY2huaXR0IFdJTkUgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbWl0CiAgICAgICAgICBkZXIgVmFyaWFibGVuIFdpbmRvd3MgZWluIFdpbmRvd3MtVmVyemVpY2huaXMgYW5nZWdlYmVuCiAgICAgICAgICB3dXJkZSwgd2VsY2hlcyBuaWNodCBleGlzdGllcnQuIEVzIGlzdCBkYW5uIHp1IPxiZXJwcvxmZW4sCiAgICAgICAgICBvYiBkYXMgV2luZG93cy1WZXJ6ZWljaG5pcyB2b3JoYW5kZW4gaXN0IHVuZCBvYiBkYXMKICAgICAgICAgIExhdWZ3ZXJrLCBhdWYgZGVtIGVzIHNpY2ggYmVmaW5kZXQsIGRlbSByaWNodGlnZW4KICAgICAgICAgIFVOSVgtVmVyemVpY2huaXMgenVnZW9yZG5ldCBpc3QuCiAgICAgICAgICAKICAgRGllIFp1b3JkbnVuZ2VuIGRlciBMYXVmd2Vya3NidWNoc3RhYmVuIHN0aW1tZW4gbmljaHQKICAgICAgICAgIFdlbm4gYmVpbSBTdGFydCB2b24gV0lORSBNZWxkdW5nZW4gd2llIFdhcm5pbmc6CiAgICAgICAgICAvdmFyL3dpbnJvb3Qvd2luZG93cy9zb2wuZXhlIG5vdCBhY2Nlc3NpYmxlIGZyb20gYSBET1MgZHJpdmUKICAgICAgICAgIGF1c2dlZ2ViZW4gd2VyZGVuLCB0ZWlsdCBXSU5FIG1pdCwgZGFzcyBkYXMgYXVzenVm/GhyZW5kZQogICAgICAgICAgUHJvZ3JhbW0gc2ljaCBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBiZWZpbmRldCwgZGFzIGF1ZmdydW5kCiAgICAgICAgICBkZXIgWnVvcmRudW5nZW4gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbWl0IGtlaW5lbQogICAgICAgICAgTGF1ZndlcmsgYXNzb3ppaWVydCBpc3QuIEVzIHNvbGx0ZW4gZGFubiBkaWUKICAgICAgICAgIExhdWZ3ZXJrc3p1b3JkbnVuZ2VuIPxiZXJwcvxmdCB3ZXJkZW4uCiAgICAgICAgICAKICAgV2luZG93cy1Qcm9ncmFtbWUgZmluZGVuIEVpbnN0ZWxsdW5nZW4gdW5kIEJpYmxpb3RoZWtlbiBuaWNodAogICAgICAgICAgV2VubiBXSU5FIG1pdCBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0CiAgICAgICAgICB3aXJkLCBpc3QgZXMgZXJmb3JkZXJsaWNoLCBkYXNzIGRpZSBMYXVmd2Vya3NidWNoc3RhYmVuCiAgICAgICAgICB1bnRlciBXaW5kb3dzIHVuZCBXSU5FIPxiZXJlaW5zdGltbWVuLiBGYWxscyBlaW4gUHJvZ3JhbW0KICAgICAgICAgIG7kbWxpY2ggYmVpc3BpZWxzd2Vpc2UgaW4gZGVyIFJlZ2lzdHJhdHVyIGdlc3BlaWNoZXJ0IGhhdCwKICAgICAgICAgIGRhc3Mgc2ljaCBlaW5lIGJlc3RpbW10ZSBLb21wb25lbnRlIGltIFZlcnplaWNobmlzCiAgICAgICAgICBDOlxXaW5kb3dzXFN5c3RlbSBiZWZpbmRldCwgZGFubiBpc3QgZXMgZXJmb3JkZXJsaWNoLCBkYXNzCiAgICAgICAgICBkaWVzZXMgUHJvZ3JhbW0gZGllIEtvbXBvbmVudGUgYXVjaCB1bnRlciBXSU5FIGluIGRlbSBzZWxiZW4KICAgICAgICAgIFZlcnplaWNobmlzIGZpbmRldC4gRXMgaXN0IGplZG9jaCBt9mdsaWNoIG1pdCBXSU5FCiAgICAgICAgICB6dXPkdHpsaWNoZSBMYXVmd2Vya2UgenUgdmVyd2VuZGVuIChhbHNvIHouQi4gZGFzIGVpZ2VuZQogICAgICAgICAgSGVpbWF0dmVyemVpY2huaXMgZWluZW0gTGF1ZndlcmtzYnVjaHN0YWJlbiB6dXp1b3JkbmVuKSwgZGllCiAgICAgICAgICB1bnRlciBXaW5kb3dzIG5pY2h0IHZvcmhhbmRlbiBzaW5kLgogICAgICAgICAgCiAgIFNwaWVsZSB3ZXJkZW4gaW0gRmVuc3RlciBkYXJnZXN0ZWxsdCwgb2J3b2hsIFZvbGxiaWxkIGF1c2dld+RobHQgd3VyZGUKICAgdW5kIHNpbmQgenUgbGFuZ3NhbQoKICAgICAgICAgIERpZSBtZWlzdGVuIFNwaWVsZSBiZW51dHplbiBlaW5lbiBiZXN0aW1tdGUgRmFyYnRpZWZlLCBpbgogICAgICAgICAgZGllIFdpbmRvd3MgdW1zY2hhbHRldCwgd2VubiBkYXMgYmV0cmVmZmVuZGUgU3BpZWwgZ2VzdGFydGV0CiAgICAgICAgICB3aXJkLiAgTWl0IGRlbSBYIFdpbmRvdyBTeXN0ZW0gaXN0IGVzIGxlaWRlciBuaWNodCBt9mdsaWNoCiAgICAgICAgICBkaWUgRmFyYnRpZWZlIHfkaHJlbmQgZGVzIGxhdWZlbmRlbiBCZXRyaWVicyB6dSDkbmRlcm4sCiAgICAgICAgICB3ZXN3ZWdlbiBXSU5FIGRpZSBnZXf8bnNjaHRlIEZhcmJ0aWVmZSBpbiBlaW5lbSBGZW5zdGVyCiAgICAgICAgICBlbXVsaWVyZW4gbXVzcywgZmFsbHMgZGVyIFgtU2VydmVyIG5pY2h0IGluIGRlciByaWNodGlnZW4KICAgICAgICAgIEZhcmJ0aWVmZSBs5HVmdC4gIERhZHVyY2ggd2lyZCBzZWhyIHZpZWwgUmVjaGVubGVpc3R1bmcKICAgICAgICAgIGJlbvZ0aWd0IHVuZCBhdd9lcmRlbSBrYW5uIG5pY2h0IGluIGVpbmVuIFZvbGxiaWxkbW9kdXMKICAgICAgICAgIGdlc2NoYWx0ZXQgd2VyZGVuLiBBYmhpbGZlIHNjaGFmZnQgaGllciBudXIsIGRlbiBYLVNlcnZlciBpbgogICAgICAgICAgZGVyIHJpY2h0aWdlbiBGYXJidGllZmUgenUgc3RhcnRlbiwgYmV2b3IgV0lORSBhdWZnZXJ1ZmVuCiAgICAgICAgICB3aXJkLiBIaWVyenUgZGllbmVuIGRpZSBPcHRpb25lbiAtYnBwLCBiZWkgWC1TZXJ2ZXJuIGRlcwogICAgICAgICAgWEZyZWU4Ni1Qcm9qZWt0cyBkZXIgVmVyc2lvbnNmYW1pbGllIDMuMy54IGJ6dy4gLWRlcHRoIGluCiAgICAgICAgICBkZXIgVmVyc2lvbnNmYW1pbGllIDQuMCkgR2VsZWdlbnRsaWNoIGVtcGZpZWhsdCBlcyBzaWNoCiAgICAgICAgICBhdWNoLCBlaW5lbiB6d2VpdGVuIFgtU2VydmVyIHp1IHN0YXJ0ZW4sIHdhcyBhbSBlaW5mYWNoc3RlbgogICAgICAgICAgbWl0IGRlbSBCZWZlaGwgeGluaXQoMSkgZ2VzY2hlaGVuIGthbm4uIFVtIGJlaXNwaWVsc3dlaXNlCiAgICAgICAgICBkYXMgUHJvZ3JhbW0gcTJ0ZXN0LmV4ZSBtaXQgV0lORSBhdWYgZWluZW0gendlaXRlbiBYLVNlcnZlcgogICAgICAgICAgbWl0IGVpbmVyIEZhcmJ0aWVmZSB2b24gOCBCaXQgcHJvIFBpeGVsIGF1cyBkZW0gYWt0dWVsbGVuCiAgICAgICAgICBBcmJlaXRzdmVyemVpY2huaXMgenUgc3RhcnRlbiwga/ZubnRlIGRlciBmb2xnZW5kZSBCZWZlaGwKICAgICAgICAgIGJlbnV0enQgd2VyZGVuIChGSVhNRTogbmljaHQgbWVociBrb3JyZWt0ID8pOgogICAgICAgICAgCiAgICAgICAgICB4aW5pdCAvdXNyL2xvY2FsL2Jpbi9XSU5FIHEydGVzdC5leGUgLS1kaXNwbGF5IDoxIC0tIC1icHAgOCA6MQogICAgICAgIAogICAgICAgICAgRmFsbHMgc2ljaCBXSU5FIGluIGVpbmVtIGFuZGVyZW4gVmVyemVpY2huaXMgYWxzCiAgICAgICAgICAvdXNyL2xvY2FsL2JpbiBiZWZpbmRldCwgaXN0IGRlciBCZWZlaGwgbmF0/HJsaWNoCiAgICAgICAgICBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KICAgICAgICAgIAogICBEZXIgREdBLU1vZHVzIGZ1bmt0aW9uaWVydCBuaWNodCwgb2J3b2hsIFggaW4gZGVyIHJpY2h0aWdlbgogICBGYXJidGllZmUgYXVzZ2Vm/GhydCB3aXJkOyBTcGllbGUgc2luZCBpbW1lciBub2NoIGxhbmdzYW0KICAgICAgICAgIERpZSBWZXJ3ZW5kdW5nIHZvbiBER0EgaXN0IG5vcm1hbGVyd2Vpc2UgbnVyIGRlbQogICAgICAgICAgU3lzdGVtYWRtaW5pc3RyYXRvciBnZXN0YXR0ZXQsIGRhcyBiZXRyZWZmZW5kZSBQcm9ncmFtbSBtdXNzCiAgICAgICAgICBhbHNvIG1pdCBkZXNzZW4gUmVjaHRlbiBhdXNnZWb8aHJ0IHdlcmRlbi4gQWx0ZXJuYXRpdiBkYXp1CiAgICAgICAgICByZWljaHQgZXMgYXVjaCBhdXMsIEJlbnV0emVybiBTY2hyZWliLSB1bmQgTGVzZXJlY2h0ZSBhdWYKICAgICAgICAgIGRpZSBHZXLkdGVkYXRlaSAvZGV2L2ttZW0genUgZXJ0ZWlsZW4uCiAgICAgICAgICAKICAgRXMgaXN0IGtlaW4gU291bmQgenUgaPZyZW4KICAgICAgICAgIFp1buRjaHN0IHNvbGx0ZSD8YmVycHL8ZnQgd2VyZGVuLCBvYiBkaWUgU291bmR1bnRlcnN0/HR6dW5nCiAgICAgICAgICBkZXMgTGludXgtS2VybmVscyByaWNodGlnIGZ1bmt0aW9uaWVydCwgYWxzbyBvYiBlcyBt9mdsaWNoCiAgICAgICAgICBpc3QsIG1pdCBhbmRlcmVuIExpbnV4LVByb2dyYW1tZW4gZGllIFNvdW5ka2FydGUgenUKICAgICAgICAgIHZlcndlbmRlbi4gSW0gbuRjaHN0ZW4gU2Nocml0dCBrYW5uIPxiZXJwcvxmdCB3ZXJkZW4sIG9iIGRpZQogICAgICAgICAgU291bmQtSGFyZHdhcmUgdm9uIGVpbmVtIGFuZGVyZW4gUHJvZ3JhbW0gYmVudXR6dCB3aXJkIHVuZAogICAgICAgICAgV0lORSBkZXN3ZWdlbiBuaWNodCBkYXJhdWYgenVncmVpZmVuIGthbm4uCiAgICAgICAgICAKV2VpdGVyZvxocmVuZGUgSW5mb3JtYXRpb25lbgoKICAgRGllIHplbnRyYWxlIFdlYi1BZHJlc3NlIGb8ciBJbmZvcm1hdGlvbmVuIHp1IFdJTkUgaXN0CiAgIGh0dHA6Ly93d3cud2luZWhxLmNvbS4gRG9ydCBiZWZpbmRlbiBzaWNoIExpbmtzIHp1IHZpZWxlbiB3ZWl0ZXJlbgogICBEb2t1bWVudGVuLCB3aWUgZWluZW0gV0lORS1GQVEsIGVpbmVtIFdJTkUtSE9XVE8sIGVpbmVyIEFubGVpdHVuZyB6dW0KICAgRXJzdGVsbGVuIHZvbiBGZWhsZXJiZXJpY2h0ZW4gdW5kIHZpZWxlcyBtZWhyLgo=