LyoKICogV2luZSBjb21tYW5kIHByb21wdAogKiBHZXJtYW4gTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgMjAwNCBIZW5uaW5nIEdlcmhhcmR0CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJ3Y21kLmgiCgpMQU5HVUFHRSBMQU5HX0dFUk1BTiwgU1VCTEFOR19ORVVUUkFMCgpTVFJJTkdUQUJMRQp7CiAgV0NNRF9BVFRSSUIsICJIaWxmZSBm/HIgQVRUUklCXG4iCiAgV0NNRF9DQUxMLAoiQ0FMTCA8QmF0Y2hkYXRlaW5hbWU+IHdpcmQgaW4gZWluZXIgQmF0Y2hkYXRlaSBnZW51dHp0LCB1bSBCZWZlaGxlIGF1c1xuXAplaW5lciBhbmRlcmVuIEJhdGNoZGF0ZWkgYXVzenVm/GhyZW4uIFdlbm4gZGllIEJhdGNoZGF0ZWkgZXhpc2llcnQsIGtlaHJ0XG5cCmRpZSBLb250cm9sbGUgenUgZGVyIERhdGVpIHp1cvxjaywgZGllIHNpZSBnZXJ1ZmVuIGhhdC4gRGVyIENBTEwgQmVmZWhsIGthbm5cblwKUGFyYW1ldGVyIHp1IGRlciBydWZlbmRlbiBQcm96ZWR1cmUg/GJlcnRyYWdlbi5cblwKXG5cCsRuZGVydW5nZW4gZvxyIGRhcyBha3R1ZWxsZSBWZXJ6ZWljaG5pcywgVW1nZWJ1bmdzdmFyaWFibGVuIHVzdy4gd2VyZGVuIGluXG5cCmRlciBnZXJ1ZmVuZW4gUHJvemVkdXIgZ2VtYWNodCwgZGllIHNpZSB2b24gZGVyIGF1ZmdlcnVmZW5lbiBnZWVyYnQgaGF0LlxuIgoKICBXQ01EX0NELCAgICAgIkhpbGZlIGb8ciBDRFxuIgogIFdDTURfQ0hESVIsICAiSGlsZmUgZvxyIENIRElSXG4iCgogIFdDTURfQ0xTLCAgICAiQ0xTIGz2c2NodCBkZW4gSW5oYWx0IGRlciBLb25zb2xlXG4iCgogIFdDTURfQ09QWSwgICAiSGlsZmUgZvxyIENPUFlcbiIKICBXQ01EX0NUVFksICAgIkhpbGZlIGb8ciBDVFRZXG4iCiAgV0NNRF9EQVRFLCAgICJIaWxmZSBm/HIgREFURVxuIgogIFdDTURfREVMLCAgICAiSGlsZmUgZvxyIERFTFxuIgogIFdDTURfRElSLCAgICAiSGlsZmUgZvxyIERJUlxuIgoKICBXQ01EX0VDSE8sCiJFQ0hPIDxaZWljaGVua2V0dGU+IHplaWd0IGRpZSA8WmVpY2hlbmtldHRlPiBhdWYgZGVtIGFrdHVlbGxlbiBUZXJtaW5hbGdlcuR0LlxuXApcblwKRUNITyBPTiBiZXdpcmt0LCBkYXNzIGFsbGUgbmFjaGZvbGdlbmRlbiBCZWZlaGxlIGluIGVpbmVyIEJhdGNoZGF0ZWkgenVlcnN0XG5cCmF1ZiBkZW0gVGVybWluYWxnZXLkdCBhbmdlemVpZ3QgdW5kIGRhbmFjaCBhdXNnZWb8aHJ0IHdlcmRlbi5cblwKXG5cCkVDSE8gT0ZGIGtlaHJ0IGRlbiBFZmZla3QgZGVzIHZvcmhlcmlnZW4gRUNITyBPTiAoRUNITyBpc3Qgc3RhbmRhcmRt5HNzaWdcblwKYXVmIE9GRikgdW0uIFVtIGRlbiBFQ0hPIE9GRiBCZWZlaGwgbmljaHQgYW56ZWlnZW4genUgbGFzc2VuLCBrYW5uIHZvciBkZXNzZW5cblwKZWluIEAgWmVpY2hlbiBnZXNldHp0IHdlcmRlbi5cbiIKCiAgV0NNRF9FUkFTRSwgICJIaWxmZSBm/HIgRVJBU0VcbiIKCiAgV0NNRF9GT1IsCiJEZXIgRk9SIEJlZmVobCB3aXJkIGdlbnV0enQsIHVtIGVpbmVuIEJlZmVobCBm/HIgZWluZSBNZW5nZSB2b24gRGF0ZWllblxuXAplaW56ZWxuIGF1c3p1ZvxocmVuLlxuXApcblwKU3ludGF4OiBGT1IgJVZhcmlhYmxlIElOIChzZXQpIERPIEJlZmVobFxuXApcblwKRGllIEFuZm9yZGVydW5nIGRhcyAlIFplaWNoZW4genUgdmVyZG9wcGVsbiwgc29iYWxkIEZPUiBpbiBlaW5lciBCYXRjaGRhdGVpXG5cCmJlbnV0enQgd2lyZCwgZXhpc3RpZXJ0IGltIENNRCBuaWNodC5cbiIKCiAgV0NNRF9HT1RPLAoiRGVyIEdPVE8gQmVmZWhsIHRyYW5zZmVyaWVydCBkaWUgQXVzZvxocnVuZyB6dSBlaW5lciBhbmRlcmVuIFN0ZWxsZSBpbiBlaW5lclxuXApCYXRjaGRhdGVpLlxuXApcblwKRGllIEJlemVpY2hudW5nLCBkaWUgZGFzIFppZWwgZWluZXMgR09UTydzIGlzdCwga2FubiBiaXMgenUgMjU1IFplaWNoZW4gbGFuZ1xuXApzZWluLCBkYXJmIGFiZXIga2VpbmUgTGVlcnplaWNoZW4gZW50aGFrdGVuIChkaWVzIGlzdCBkZXIgVW50ZXJzY2hpZWQgenVcblwKYW5kZXJlbiBCZXRyaWVic3N5c3RlbWVuKS4gV2VubiB6d2VpIG9kZXIgbWVociBpZGVudGlzY2hlIEJlemVpY2hudW5nZW4gaW5cblwKZWluZXIgQmF0Y2hkYXRlaSBleGlzdGllcmVuLCBkYW5uIHdpcmQgaW1tZXIgenUgZGVyIGVyc3RlbiBCZXplaWNobnVuZ1xuXApnZXNwcnVuZ2VuLiBWZXJzdWNodCBHT1RPIHp1IGVpbmVyIG5pY2h0IHZvcmhhbmRlbiBCZXplaWNobnVuZyB6dSBzcHJpbmdlbixcblwKYmVlbmRldCBzaWNoIGRpZSBBdXNm/GhydW5nIGRlciBCYXRjaGRhdGVpLlxuXApcblwKR09UTyBoYXQga2VpbmUgQXVzd2lya3VuZ2VuLCB3ZW5uIGVzIGludGVyYWt0aXYgZ2VudXR6dCB3aXJkLlxuIgoKICBXQ01EX0hFTFAsICAgIkhpbGZlIGb8ciBIRUxQXG4iCgogIFdDTURfSUYsCiJJRiB3aXJkIGJlbnV0enQsIHVtIGVpbmVuIEJlZmVobCBiZWRpbmd0IGF1c3p1ZvxocmVuLlxuXApcblwKU3ludGF4OglJRiBbTk9UXSBFWElTVCBEYXRlaW5hbWUgQmVmZWhsXG5cCglJRiBbTk9UXSBaZWljaGVua2V0dGUxPT1aZWljaGVua2V0dGUyIEJlZmVobFxuXAoJSUYgW05PVF0gRVJST1JMRVZFTCBOdW1tZXIgQmVmZWhsXG5cClxuXApJbiBkZXIgendlaXRlbiBGb3JtIGRlcyBCZWZlaGxzLCBt/HNzZW4gZGllIGJlaWRlbiBaZWljaGVua2V0dGVuIGluIGRvcHBlbHRlblxuXApBbmb8aHJ1bmdzemVpY2hlbiBzdGVoZW4uIERlciBWZXJnbGVpY2ggYWNodGV0IG5pY2h0IGF1ZiBkaWUgR3Jv3y0gdW5kXG5cCktsZWluc2NocmVpYnVuZy5cbiIKCiAgV0NNRF9MQUJFTCwgIAoiTEFCRUwgd2lyZCBiZW51dHp0LCB1bSBkaWUgTGF1ZndlcmtzYmV6ZWljaG51bmcgZmVzdHp1bGVnZW4uXG5cClxuXApTeW50YXg6IExBQkVMIFtMYXVmd2VyazpdXG5cClxuXApEZXIgQmVmZWhsIHdhcnRldCBhdWYgZGllIEVpbmdhYmUgZWluZXIgbmV1ZW4gQmV6ZWljaG51bmcgZvxyIGRhcyBhbmdlZ2ViZW5lXG5cCkxhdWZ3ZXJrLiBTaWUga/ZubmVuIHNpY2ggYXVjaCBkaWUgTGF1ZndlcmtzYmV6ZWljbnVuZyBtaXQgZGVtIFZPTCAtIEJlZmVobFxuXAphbnplaWdlbiBsYXNzZW4uXG4iCgogIFdDTURfTUQsICAgICAiSGlsZmUgZvxyIE1EXG4iCiAgV0NNRF9NS0RJUiwgICJIaWxmZSBm/HIgTUtESVJcbiIKICBXQ01EX01PVkUsCiJNT1ZFIHZlcnNjaGllYnQgZWluZSBEYXRlaSBvZGVyIGVpbiBWZXJ6ZWljaG5pcyB6dSBlaW5lbSBuZXVlbiBQdW5rdCBpbVxuXApEYXRlaXN5c3RlbS5cblwKXG5cCklzdCBkYXMgenUgdmVyc2NoaWViZW5kZSBPYmpla3QgZWluIFZlcnplaWNobmlzLCBkYW5uIHdlcmRlbiBhbGxlIERhdGVpZW4gdW5kXG5cClVudGVydmVyemVpY2huaXNzZSB1bnRlcmhhbGIgZGVzIE9iamVrdGVzIGdlbmF1c28gdmVyc2Nob2Jlbi5cblwKXG5cCk1PVkUgc2NobORndCBmZWhsLCB3ZW5uIGRpZSBhbHRlIHVuZCBkaWUgbmV1ZSBQb3NpdGlvbiBhdWYgdmVyc2NoaWVkZW5lbiBET1NcblwKTGF1ZndlcmtlbiBzaW5kLlxuIgoKICBXQ01EX1BBVEgsCiJQQVRIIORuZGVydCBvZGVyIHplaWd0IGRlbiBDTUQgU3VjaHBmYWQgYW4uXG5cClxuXApOYWNoIGRlciBFaW5nYWJlIHZvbiBQQVRILCB3aXJkIGRpZSBha3R1ZWxsZSBQQVRIIEVpbnN0ZWxsdW5nIGFuZ2V6ZWlndFxuXAoobmFjaCBkZW0gU3RhcnQgd2lyZCBkZXIgV2VydCBhdXMgZGVyIHdpbmUuY29uZiBEYXRlaSBnZW5vbW1lbikuIFVtIGRpZVxuXApFaW5zdGVsbHVuZ2VuIHp1IORuZGVybiwgbXVzcyBuYWNoIGRlbSBQQVRIIEJlZmVobCBkZXIgbmV1ZSBXZXJ0IGFuZ2VnZWJlblxuXAp3ZXJkZW5cblwKXG5cCkVzIGlzdCBhdWNoIG32Z2xpY2ggZGVuIFBBVEggbWl0IEhpbGZlIGRlciBQQVRIIFVtZ2VidW5nc3ZhcmlhYmxlIHp1XG5cCm1vZGlmaXppZXJlbi4gWnVtIEJlaXNwaWVsOlxuXAoJCVBBVEggJVBBVEglO2M6XFx0ZW1wXG4iCgogIFdDTURfUEFVU0UsCiJQQVVTRSBs5HNzdCBlaW5lIE1lbGR1bmcgYXVmIGRlbSBCaWxkc2NoaXJtIGVyc2NoZWluZW5cblwKJ0Ry/GNrZW4gU2llIGRpZSBFaW5nYWJldGFzdGUgdW0gZm9ydHp1ZmFocmVuJyB1bmQgd2FydGV0IGRhcmF1ZiwgZGFzcyBkZXJcblwKQmVudXR6ZXIgZGllIEVpbmdhYmV0YXN0ZS9FbnRlci1UYXN0ZSBkcvxja3QuIEVzIHdpcmQgaGF1cHRz5GNobGljaCBpblxuXApCYXRjaGRhdGVpZW4gZ2VudXR6dCwgdW0gZGVtIEJldXR6ZXIgenUgZXJsYXViZW4sIGRpZSBBdXNnYWJlIGVpbmVzIHZvcmhlcmlnZW5cblwKQmVmZWhscyB6dSBsZXNlbiwgYmV2b3IgZXMgZHVyY2ggU2Nyb2xsZW4gdm9tIEJpbGRzY2hpcm0gdmVyc2Nod2luZGV0LlxuIgoKICBXQ01EX1BST01QVCwKIlBST01QVCBzZXR6dCBkZW4gQmVmZWhsc3plaWxlbnByb21wdC5cblwKXG5cCkRpZSBaZWljaGVua2V0dGUsIGRpZSBkZW0gUFJPTVBUIEJlZmVobCBmb2xndCAodW5kIGRlbSBMZWVyemVpY2hlblxuXAp1bm1pdHRlbGJhciBkYW5hY2gpLCBlcnNjaGVpbnQgYW0gWmVpbGVuYW5mYW5nLCB3ZW5uIENNRCBhdWYgZGllIEVpbmdhYmVcblwKd2FydGV0LlxuXApcblwKRGllIG5hY2hmb2xnZW5kZW4gWmVpY2hlbiBoYWJlbiBlaW5lIGJlc29uZGVyZSBCZWRldXR1bmc6XG5cClxuXAokJCAgICBEb2xsYXJ6ZWljaGVuICAgICAgICRfICAgIFplaWxlbnZvcnNjaHViICAgICAgJGIgICAgUGlwZSBaZWljaGVuICh8KVxuXAokZCAgICBha3R1ZWxsZXMgRGF0dW0gICAgICRlICAgIEVzY2FwZSAgICAgICAgICAgICAgJGcgICAgPiBaZWljaGVuXG5cCiRsICAgIDwgWmVpY2hlbiAgICAgICAgICAgJG4gICAgYWt1dGVsbGVzIExhdWZ3ZXJrICAkcCAgICBha3R1ZWxsZXIgUGZhZFxuXAokcSAgICBHbGVpY2hoZWl0c3plaWNoZW4gICR0ICAgIGFrdHVlbGxlIFplaXQgICAgICAgJHYgICAgY21kIFZlcnNpb25cblwKXG5cCkhpbndlaXM6IERpZSBFaW5nYWJlIGRlcyBQUk9NUFQgQmVmZWhscyBvaG5lIGVpbmUgUHJvbXB0LVplaWNoZW5rZXR0ZSwgc2V0enRcblwKZGVuIFByb21wdCB6dSBkZW4gU3RhbmRhcmR3ZXJ0IHp1cvxjaywgd2FzIGRhcyBha3R1ZWxsZSBWZXJ6ZWljaG5pcyAoaW5rbHVzaXZlXG5cCmRlbSBha3R1ZWxsZW4gTGF1ZndlcmtzYnVjaHN0YWJlbikgZ2Vmb2xndCB2b24gZWluZW4gR3L232VyemVpY2hlbiAoPilcblwKKGdlbmF1IHdpZSBkZXIgUFJPTVBUICRwJGcgQmVmZWhsKS5cblwKXG5cCkRlciBQcm9tcHQga2FubiBhdWNoIGdl5G5kZXJ0IHdlcmRlbiBkdXJjaCBkYXMgxG5kZXJuIGRlciBQUk9NUFRcblwKVW1nZWJ1bmdzdmFyaWFibGUsIHNvIGhhdCBkZXIgQmVmZWhsICdTRVQgUFJPTVBUPXRleHQnIGRpZSBnbGVpY2hlIEF1c3dpcmt1bmdcblwKd2llICdQUk9NUFQgdGV4dCcuXG4iCgogIFdDTURfUkVNLAoiQmVnaW5udCBlaW5lIEJlZmVobHN6ZWlsZSBtaXQgUkVNIChnZWZvbGd0IHZvbiBlaW5lbSBMZWVyemVpY2hlbiksIHdpcmRcblwKa2VpbmUgQWt0aW9uIGF1c2dlZvxocnQgdW5kIGthbm4gZGVzaGFsYiBhdWNoIGFscyBLb21tZW50YXIgaW4gZWluZXJcblwKQmF0Y2hkYXRlaSBnZW51dHp0IHdlcmRlbi5cbiIKCiAgV0NNRF9SRU4sICAgICJIaWxmZSBm/HIgUkVOXG4iCiAgV0NNRF9SRU5BTUUsICJIaWxmZSBm/HIgUkVOQU1FXG4iCiAgV0NNRF9SRCwgICAgICJIaWxmZSBm/HIgUkRcbiIKICBXQ01EX1JNRElSLCAgIkhpbGZlIGb8ciBSTURJUlxuIgoKICBXQ01EX1NFVCwKIlNFVCDkbmRlcnQgb2RlciB6ZWlndCBkaWUgQ01EIFVtZ2VidW5nc3ZhcmlhYmxlbiBhbi5cblwKXG5cClNFVCBvaG5lIFBhcmFtZXRlciB6ZWlndCBhbGxlIGFrdHVlbGxlbiBVbWdlYnVuZ3N2YXJpYWJsZW4gYW4uXG5cClxuXApVbSBlaW5lIFVtZ2VidW5nc3ZhcmlhYmxlIHp1IGVyc2NoYWZmZW4gb2RlciB6dSDkbmRlcm4sIGlzdCBkZXIgU3ludGF4IG72dGlnOlxuXApcblwKICAgICAgU0VUIDxWYXJpYWJsZT49PFdlcnQ+XG5cClxuXApXb2JlaSA8VmFyaWFibGU+IHVuZCA8V2VydD4gWmVpY2hlbmtldHRlIHNpbmQuIEVzIG38c3NlbiBrZWluZSBMZWVyemVpY2hlbiB2b3JcblwKZGVtIEdsZWljaGhlaXRzemVpY2hlbiBzZWluLCBub2NoIG11c3MgZGVyIFZhcmlhYmxlbm5hbWUgaW4gQW5m/GhydW5nc3plaWNoZW5cblwKZWluZ2VzY2hsb3NzZW4gc2Vpbi5cblwKXG5cCkluIFdpbmUgd2VyZGVuIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZW4gZGVzIGRhcnVudGVybGllZ2VuZGVuIEJldHJpZWJzc3lzdGVtc1xuXAptaXQgaW4gZGllIFdpbjMyIFVtZ2VidW5nIGVpbmdlYnVuZGVuLCBkZXNoYWxiIGdpYnQgZXMgZ2V39mhubGljaCBtZWhyIFdlcnRlXG5cCmFscyBlcyBzaWUgaW4gZWluZXIgdXJzcHL8bmdsaWNoZW4gV2luMzIgUmVhbGlzaWVydW5nIGfkYmUuIEFubWVya3VuZzogRXMgaXN0XG5cCm5pY2h0IG32Z2xpY2ggZGllIFVtZ2VidW5nc3ZhcmlhYmxlbiBkZXMgQmV0cmllYnNzeXN0ZW1zIHZvbSBDTUQgYXVzIHp1XG5cCmJlZWluZmx1c3Nlbi5cbiIKCiAgV0NNRF9TSElGVCwKIlNISUZUIHdpcmQgaW4gZWluZXIgQmF0Y2hkYXRlaSBnZW51dHp0LCB1bSBlaW5lbiBQYXJhbWV0ZXIgdm9tIEFuZmFuZyBkZXJcblwKTGlzdGUgenUgZW50ZmVybmVuLCBzbyBkYXMgZGVyIFBhcmFtZXRlciAyIHp1IFBhcmFtZXRlciAxIHdpcmQgdW5kIHNvIHdlaXRlci5cblwKRXMgaGF0IGtlaW5lIEF1c3dpcmt1bmdlbiwgd2VubiBlcyB2b24gZGVyIEJlZmVobHN6ZWlsZSBnZXJ1ZmVuIHdpcmQuXG4iCgogIFdDTURfVElNRSwgICAiSGlsZmUgZvxyIFRJTUVcbiIKCiAgV0NNRF9USVRMRSwKIlNldHp0IGRlbiBGZW5zdGVydGl0ZWwgZvxyIGRhcyBDTUQgLSBGZW5zdGVyLlxuXApcblwKU3ludGF4OiBUSVRMRSBbWmVpY2hlbmtldHRlXVxuIgoKICBXQ01EX1RZUEUsCiJUWVBFIDxEYXRlaT4ga29waWVydCA8RGF0ZWk+IHp1IGRlbSBLb25zb2xlbmdlcuR0IChvZGVyIGRvcnRoaW4sIHdvaGluXG5cCmRpZXMgdW1nZWxlaXRldCB3dXJkZSkuIEVzIHdpcmQga2VpbmUg3GJlcnBy/GZ1bmcgdm9yZ2Vub21tZW4sIG9iIGRpZVxuXApEYXRlaSBsZXNiYXJlciBUZXh0IGlzdC5cbiIKCiAgV0NNRF9WRVJJRlksCiJWRVJJRlkgd2lyZCBiZW51dHp0LCB1bSBkYXMgVmVyaWZ5IEZsYWcgenUgc2V0emVuLCB6dSBs9nNjaGVuIG9kZXIgenVcblwKdGVzdGVuLiBH/Gx0aWdlIEVpbmdhYmVuIHNpbmQ6XG5cClxuXApWRVJJRlkgT04JU2V0enQgZGFzIEZsYWdcblwKVkVSSUZZIE9GRglM9nNjaHQgZGFzIEZsYWdcblwKVkVSSUZZCQlaZWlndCBhbiwgb2IgT04gb2RlciBPRkYgdmVyd2VuZGV0IHdpcmQuXG5cClxuXApEYXMgVmVyaWZ5IEZsYWcgaGF0IGtlaW5lIEZ1bmt0aW9uIGluIFdpbmUuXG4iCgogIFdDTURfVkVSLAoiVkVSIHplaWd0IGRpZSBha3R1ZWxsZSBWZXJzaW9uIHZvbiBDTUQgYW4uXG4iCgogIFdDTURfVk9MLCAgICAiSGlsZmUgZvxyIFZPTFxuIgoKICBXQ01EX1BVU0hELCAgIlBVU0hEIDxWZXJ6ZWljaG5pc25hbWU+IHNwZWljaGVydCBkYXMgYWt0dWVsbGVcblwKVmVyemVpY2huaXMgYXVmIGVpbmVtIFN0YWNrIHVuZCB3ZWNoZXNlbHQgZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pc1xuXAp6dSBkZW0gYW5nZWdlYmVuZW4uXG4iCgogIFdDTURfUE9QRCwgICAiUE9QRCB3ZWNoc2VsdCBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIHp1IGRlbSB6dWxldHp0XG5cCm1pdCBQVVNIRCBnZXNwZWljaGVydGVuLlxuIgoKICBXQ01EX01PUkUsICAgIk1PUkUgZGlzcGxheXMgb3V0cHV0IG9mIGZpbGVzIG9yIHBpcGVkIGlucHV0IGluIHBhZ2VzLlxuIgoKICBXQ01EX0VYSVQsCiJFWElUIGJlZW5kZXQgZGllIGFrdHVlbGxlIEJlZmVobHNzaXR6dW5nIHVuZCBrZWhydCB6dW1cblwKQmV0cmllYnNzeXN0ZW0gb2RlciBkZXIgU2hlbGwgenVy/GNrLCB2b24gZGVyIENNRCBnZXN0YXJ0IHd1cmRlLlxuIgoKCiAgV0NNRF9BTExIRUxQLCAiQ01EIGVpbmdlYmF1dGVuIEJlZmVobGUgc2luZDpcblwKQVRUUklCXHRcdFplaWd0IGFuIG9kZXIg5G5kZXJ0IGRpZSBET1MgRGF0ZWllaWdlbnNjaGFmdGVuXG5cCkNBTExcdFx0UnVmdCBlaW5lIEJhdGNoLURhdGVpIGlubmVyaGFsYiBlaW5lciBhbmRlcmVuIGF1ZlxuXApDRCAoQ0hESVIpXHRXZWNoc2VsdCBpbiBkYXMgVmVyemVpY2huaXNcblwKQ0xTXHRcdEz2c2NodCBkZW4gSW5oYWx0IGRlciBLb25zb2xlXG5cCkNPUFlcdFx0S29waWVydCBlaW5lIERhdGVpXG5cCkNUVFlcdFx0xG5kZXJ0IGRhcyBFaW5nYWJlL0F1c2dhYmUgLSBHZXLkdFxuXApEQVRFXHRcdFplaWd0IGFuIG9kZXIg5G5kZXJ0IGRhcyBTeXN0ZW1kYXR1bVxuXApERUwgKEVSQVNFKVx0TPZzY2h0IGVpbmUgb2RlciBtZWhyZXJlIERhdGVpZW5cblwKRElSXHRcdExpc3RldCBkZW4gSW5oYWx0IGVpbmVzIFZlcnplaWNobmlzc2VzXG5cCkVDSE9cdFx0S29waWVydCBkZW4gVGV4dCBkaXJla3QgenVyIEtvbnNvbGVuYXVzZ2FiZVxuXApIRUxQXHRcdFplaWd0IGRldGFsaWVydGUgSW5mb3JtYXRpb25lbiB6dSBlaW5lbiBUaGVtYVxuXApNRCAoTUtESVIpXHRFcnpldWd0IGVpbiBVbnRlcnZlcnplaWNobmlzXG5cCk1PUkVcdFx0WmVpZ3QgZGllIEF1c2dhYmUgc2VpdGVud2Vpc2UgYW5cblwKTU9WRVx0XHRCZXdlZ3QgZWluZSBvZGVyIG1laHJlcmUgRGF0ZWllbiBvZGVyIGVpbmVuIFZlcnplaWNobmlzYmF1bVxuXApQQVRIXHRcdFNldHp0IG9kZXIgemVpZ3QgZGVuIFN1Y2hwZmFkIGFuXG5cClBST01QVFx0XHTEbmRlcnQgZGVuIEJlZmVobHN6ZWlsZW5wcm9tcHRcblwKUkVOIChSRU5BTUUpXHRCZW5lbm50IGVpbmUgRGF0ZWkgdW1cblwKUkQgKFJNRElSKVx0TPZzY2h0IGVpbiBVbnRlcnZlcnplaWNobmlzXG5cClNFVFx0XHRTZXR6dCBvZGVyIHplaWd0IGRpZSBVbWdlYnVuZ3N2YXJpYWJsZW4gYW5cblwKVElNRVx0XHRTZXR6dCBvZGVyIHplaWd0IGRpZSBha3R1ZWxsZSBTeXN0ZW16ZWl0IGFuXG5cClRJVExFXHRcdFNldHp0IGRlbiBGZW5zdGVydGl0ZWwgZvxyIGRpZSBDTUQgLSBTaXR6dW5nXG5cClRZUEVcdFx0R2lidCBkZW4gSW5oYWx0IGVpbmVyIFRleHRkYXRlaSBhdXNcblwKVkVSXHRcdFplaWd0IGRpZSBha3R1ZWxsZSBWZXJzaW9uIHZvbiBDTUQgYW5cblwKVk9MXHRcdFplaWd0IGRpZSBCZXplaWNobnVuZyBlaW5lcyBMYXVmd2Vya2VzIGFuXG5cCkVYSVRcdFx0QmVlbmRldCBkZW4gQ01EXG5cblwKR2ViZW4gU2llIEhFTFAgPEJlZmVobD4gZWluLCBkYW1pdCBTaWUgd2VpdGVyZSBJbmZvcm1hdGlvbmVuIGb8ciBlaW5lbiBkZXJcblwKb2JpZ2VuIEJlZmVobGUgZXJoYWx0ZW4uXG4iCgogIFdDTURfQ09ORklSTSwgIlNpbmQgc2llIHNpY2hlciIKICBXQ01EX1lFUywgIkoiCiAgV0NNRF9OTywgIk4iCiAgV0NNRF9OT0FTU09DLCAiVmVya278cGZ1bmcgZvxyIERhdGVpZW5kdW5nICVzIGZlaGx0XG4iCiAgV0NNRF9OT0ZUWVBFLCAiS2VpbiBCZWZlaGwgenVtINZmZm5lbiBm/HIgRGF0ZWl0eXAgJyVzJ1xuIgogIFdDTURfT1ZFUldSSVRFLCAiJXMg/GJlcnNjaHJlaWJlbiIKICBXQ01EX01PUkVTVFIsICJNZWhyLi4uIgogIFdDTURfVFJVTkNBVEVETElORSwgIkRpZSBaZWlsZSBiZWkgZGVyIEJhdGNodmVyYXJiZWl0dW5nIGlzdCBt9mdsaWNoZXJ3ZWlzZSBhYmdlc2Nobml0dGVuLiBCZW51dHplOlxuIgogIFdDTURfTllJLCAiTm9jaCBuaWNodCBpbXBsZW1lbnRpZXJ0XG5cbiIKICBXQ01EX05PQVJHLCAiQXJndW1lbnQgZmVobHRcbiIKICBXQ01EX1NZTlRBWEVSUiwgIlN5bnRheGZlaGxlclxuIgogIFdDTURfRklMRU5PVEZPVU5ELCAiJXMgOiBEYXRlaSBuaWNodCBnZWZ1bmRlblxuIgogIFdDTURfTk9DTURIRUxQLCAiSGlsZmUgZvxyICVzIGlzdCBuaWNodCB2ZXJm/GdiYXJcbiIKICBXQ01EX05PVEFSR0VULCAiRGFzIFNwcnVuZ3ppZWwgdm9uIEdPVE8gd3VyZGUgbmljaHQgZ2VmdW5kZW5cbiIKICBXQ01EX0NVUlJFTlREQVRFLCAiQWt0dWVsbGVzIERhdHVtIGlzdCAlc1xuIgogIFdDTURfQ1VSUkVOVFRJTUUsICJBa3R1ZWxsZSBaZWl0IGlzdCAlc1xuIgogIFdDTURfTkVXREFURSwgIkdlYmVuIFNpZSBkYXMgbmV1ZSBEYXR1bSBlaW46ICIKICBXQ01EX05FV1RJTUUsICJHZWJlbiBTaWUgZGllIG5ldWUgWmVpdCBlaW46ICIKICBXQ01EX01JU1NJTkdFTlYsICJEaWUgVW1nZWJ1bmdzdmFyaWFibGUgJXMgaXN0IG5pY2h0IGRlZmluaWVydFxuIgogIFdDTURfUkVBREZBSUwsICInJXMnIGtvbm50ZSBuaWNodCBnZfZmZm5ldCB3ZXJkZW5cbiIKICBXQ01EX0NBTExJTlNDUklQVCwgIkNhbm5vdCBjYWxsIGJhdGNoIGxhYmVsIG91dHNpZGUgb2YgYSBiYXRjaCBzY3JpcHRcbiIKICBXQ01EX0FMTCwgIkEiCiAgV0NNRF9ERUxQUk9NUFQsICIlcywgbPZzY2hlbiIKICBXQ01EX0VDSE9QUk9NUFQsICJFY2hvIGlzdCAlc1xuIgogIFdDTURfVkVSSUZZUFJPTVBULCAiVmVyaWZ5IGlzdCAlc1xuIgogIFdDTURfVkVSSUZZRVJSLCAiVmVyaWZ5IG113yBPTiBvZGVyIE9GRiBzZWluXG4iOwogIFdDTURfQVJHRVJSLCAiUGFyYW1ldGVyZmVobGVyXG4iCiAgV0NNRF9WT0xVTUVERVRBSUwsICJWb2x1bWUgaW4gTGF1ZndlcmsgJWMgaXN0ICVzXG5Wb2x1bWVzZXJpZW5udW1tZXIgaXN0ICUwNHgtJTA0eFxuXG4iCiAgV0NNRF9WT0xVTUVQUk9NUFQsICJWb2x1bWViZXplaWNobnVuZyAoMTEgWmVpY2hlbiwgRUlOR0FCRVRBU1RFIGb8ciBrZWluZSk/IgogIFdDTURfTk9QQVRILCAiUEFUSCBuaWNodCBnZWZ1bmRlblxuIgogIFdDTURfQU5ZS0VZLCJEcvxja2VuIFNpZSBkaWUgRWluZ2FiZXRhc3RlIHVtIGZvcnR6dWZhaHJlbjogIgogIFdDTURfQ09OU1RJVExFLCJXaW5lIEJlZmVobHNwcm96ZXNzb3IiCiAgV0NNRF9WRVJTSU9OLCJDTUQgVmVyc2lvbiAlc1xuXG4iCiAgV0NNRF9NT1JFUFJPTVBULCAiTWVocj8gIgogIFdDTURfTElORVRPT0xPTkcsICJUaGUgaW5wdXQgbGluZSBpcyB0b28gbG9uZy5cbiIKfQo=