MS4gSU5MRUROSU5HCgpXaW5lIORyIGV0dCBwcm9ncmFtIHNvbSBn9nIgZGV0IG32amxpZ3QgYXR0IGv2cmEgV2luZG93cy1wcm9ncmFtCihpbmtsdWRlcmF0IERPUywgV2luZG93cyAzLngsIFdpbjMyIG9jaCBXaW42NCkgaSBVbml4LiBEZXQgYmVzdOVyIGF2IGVuCnByb2dyYW1zdGFydGFyZSBzb20gc3RhcnRhciBvY2gga/ZyIFdpbmRvd3MtcHJvZ3JhbWZpbGVyLCBzYW10IGV0dApiaWJsaW90ZWsgKGthbGxhdCBXaW5lbGliKSBzb20gaW1wbGVtZW50ZXJhciBXaW5kb3dzIEFQSS1hbnJvcCBtZWQgaGrkbHAKYXYgZGVyYXMgVW5peC0gZWxsZXIgWDExLW1vdHN2YXJpZ2hldGVyLiBCaWJsaW90ZWtldCBrYW4gb2Nrc+UgYW525G5kYXMKdGlsbCBhdHQgcG9ydGEgV2luZG93cy1rb2QgdGlsbCB2YW5saWdhIFVuaXgtcHJvZ3JhbS4KCldpbmUg5HIgZnJpIHByb2dyYW12YXJhLCB1dGdldHQgdW5kZXIgdmlsbGtvcmVuIGkgR05VIExHUEw7IHNlCmZpbGVuIExJQ0VOU0UgZvZyIGRldGFsamVyLgoKMi4gS09NIElHxU5HCgpO5HIgZHUgYnlnZ2VyIFdpbmUgZnLlbiBr5Gxsa29kIHPlIHJla29tbWVuZGVyYXMgZHUgYW525G5kYSBXaW5lcwppbnN0YWxsYXRpb25zcHJvZ3JhbS4gS/ZyIGb2bGphbmRlIGkgcm90a2F0YWxvZ2VuIGb2ciBXaW5lcyBr5Gxsa29kOgoKLi90b29scy93aW5laW5zdGFsbAoKS/ZyIHByb2dyYW0gbWVkICJ3aW5lIFt2YWxdIHByb2dyYW0iLiBTZSByZXN0ZW4gYXYgZGVubmEgZmlsLApXaW5lcyBtYW4tc2lkb3Igc2FtdCBzaXN0IG1lbiBpbnRlIG1pbnN0IGh0dHA6Ly93d3cud2luZWhxLm9yZy8gZvZyIG1lcgppbmZvcm1hdGlvbiBvY2ggdGlwcyBvbSBodXIgcHJvYmxlbSBrYW4gbPZzYXMuCgoKMy4gU1lTVEVNS1JBVgoKRvZyIGF0dCBrb21waWxlcmEgb2NoIGv2cmEgV2luZSBrcuR2cyBldHQgYXYgZvZsamFuZGU6CgogIExpbnV4IHZlcnNpb24gMi4wLjM2IGVsbGVyIHNlbmFyZQogIEZyZWVCU0QgNy4wIGVsbGVyIHNlbmFyZQogIFNvbGFyaXMgeDg2IDkgZWxsZXIgc2VuYXJlCiAgTmV0QlNELWN1cnJlbnQKICBNYWMgT1MgWCAxMC41IGVsbGVyIHNlbmFyZQoKV2luZSBrcuR2ZXIgc3T2ZCBm9nIgdHLlZGFyIHDlIGtlcm5lbG5pduUsIG9jaCBk5HJm9nIg5HIgZGV0IGJhcmEKb3BlcmF0aXZzeXN0ZW1lbiBvdmFuIHNvbSBzdPZkcy4gQW5kcmEgb3BlcmF0aXZzeXN0ZW0gc29tCnN09mRlciBrZXJuZWx0cuVkYXIga29tbWVyIGV2ZW50dWVsbHQgYXR0IHN09mRqYXMgaSBmcmFtdGlkZW4uCgpJbmZvcm1hdGlvbiBm9nIgRnJlZUJTRAogIFdpbmUga29tbWVyIGkgcmVnZWwgaW50ZSBhdHQgZnVuZ2VyYSBw5SBGcmVlQlNELXZlcnNpb25lciDkbGRyZSDkbiA3LjAuCiAgU2UgaHR0cDovL3dpa2kuZnJlZWJzZC5vcmcvV2luZSBm9nIgbWVyIGluZm9ybWF0aW9uLgoKSW5mb3JtYXRpb24gZvZyIFNvbGFyaXMKICBXaW5lIG3lc3RlIGFudGFnbGlnZW4gYnlnZ2FzIG1lZCBHTlUgdG9vbGNoYWluIChnY2MsIGdhcyBldGMuKS4KICBWYXJuaW5nOiDkdmVuIG9tIGdhcyBpbnN0YWxsZXJhcyBz5SDkciBkZXQgaW50ZSBz5GtlcnQgYXR0IGRldCBhbnbkbmRzIGF2CiAgZ2NjLiBEZXQgc+RncyBhdHQgZGV0IORyIG72ZHbkbmRpZ3QgYXR0IGFudGluZ2VuIGJ5Z2dhIGdjYyBw5SBueXR0LCBlbGxlcgogIHNrYXBhIHN5bWJvbGlza2EgbORua2FyIGZy5W4gImNjIiwgImFzIiBvY2ggImxkIiB0aWxsIEdOVSB0b29sY2hhaW4uCgpJbmZvcm1hdGlvbiBm9nIgTmV0QlNECiAgVVNFUl9MRFQsIFNZU1ZTSE0sIFNZU1ZTRU0gb2NoIFNZU1ZNU0cgbeVzdGUgdmFyYSBha3RpdmVyYWRlIGkga2VybmVsbi4KCkluZm9ybWF0aW9uIGb2ciBNYWMgT1MgWDoKICBEdSBiZWj2dmVyIFhjb2RlIDIuNCBlbGxlciBzZW5hcmUgZvZyIGF0dCBrb3JyZWt0IGt1bm5hIGJ5Z2dhIFdpbmUgcOUgeDg2LgoKClN09mRkYSBmaWxzeXN0ZW0KICBXaW5lIGthbiBr9nJhIHDlIGRlIGZsZXN0YSBmaWxzeXN0ZW0sIG1lbiBkZXQgaGFyIHJhcHBvcnRlcmF0cyBwcm9ibGVtIHZhZAogIGfkbGxlciBrb21wYXRpYmlsaXRldCBk5SBzYW1iYSBhbnbkbmRzIGb2ciBhdHQgYW5zbHV0YSB0aWxsIGZpbGVyLiBOVEZTCiAgdGlsbGhhbmRhaOVsbGVyIGludGUgaGVsbGVyIGFsbGEgZmlsc3lzdGVtc2Z1bmt0aW9uZXIgc29tIGJlaPZ2cyBhdiBhbGxhCiAgcHJvZ3JhbS4gRGV0IHJla29tbWVuZGVyYXMgYXR0IGFuduRuZGEgZXR0IHJpa3RpZ3QgVW5peC1maWxzeXN0ZW0uCgpHcnVuZGzkZ2dhbmRlIGtyYXY6CiAgVXR2ZWNrbGluZ3NmaWxlcm5hIGb2ciBYMTEgbeVzdGUgdmFyYSBpbnN0YWxsZXJhZGUgKGRlIGthbGxhcyB4bGliNmctZGV2IGkKICBEZWJpYW4gb2NoIFhGcmVlODYtZGV2ZWwgaSBSZWQgSGF0KS4KCiAgRHUgbeVzdGUgZ2l2ZXR2aXMgb2Nrc+UgaGEgIm1ha2UiIChtZXN0IHRyb2xpZ3QgIkdOVSBtYWtlIikuCgogIERldCDkciBvY2tz5SBu9mR25G5kaWd0IGF0dCBoYSBmbGV4IDIuNS4zMyBlbGxlciBzZW5hcmUgc2FtdCBiaXNvbi4KClZhbGZyaWEgc3T2ZGJpYmxpb3RlazoKICBjb25maWd1cmUtc2tyaXB0ZXQgdmlzYXIgdmFybmluZ2FyIG7kciB2YWxmcmlhIGJpYmxpb3RlayBpbnRlIGhpdHRhdHMuCiAgU2UgaHR0cDovL3dpa2kud2luZWhxLm9yZy9SZWNvbW1lbmRlZF9QYWNrYWdlcyBm9nIgaW5mb3JtYXRpb24gb20KICB2aWxrYSBwYWtldCBkdSBi9nIgaW5zdGFsbGVyYS4KCiAgUOUgNjQgYml0LXN5c3RlbSBt5XN0ZSBkdSBz5GtlcnN05GxsYSBhdHQgMzIgYml0LXZlcnNpb25lcm5hIGF2CiAgb3Zhbm7kbW5kYSBiaWJsaW90ZWsgaW5zdGFsbGVyYXRzOyBzZSBodHRwOi8vd2lraS53aW5laHEub3JnL1dpbmVPbjY0Yml0CiAgZvZyIG7kcm1hcmUgZGV0YWxqZXIuIE9tIGR1IHZpbGwgaGEgZXR0IHNhbnQgNjQtYml0IFdpbmUgKGVsbGVyIGVuIG1peGFkCiAgMzItIG9jaCA2NC1iaXQgV2luZS1pbnN0YWxsYXRpb24pLCBzZSBodHRwOi8vd2lraS53aW5laHEub3JnL1dpbmU2NCBm9nIKICBkZXRhbGplci4KCjQuIEtPTVBJTEVSSU5HCgpL9nIgZvZsamFuZGUga29tbWFuZG9uIGb2ciBhdHQgYnlnZ2EgV2luZSBvbSBkdSBpbnRlIGFuduRuZGVyIHdpbmVpbnN0YWxsOgoKLi9jb25maWd1cmUKbWFrZQoKRGV0dGEgYnlnZ2VyIHByb2dyYW1tZXQgIndpbmUiIG9jaCBkaXZlcnNlIHN09mRiaWJsaW90ZWsvcHJvZ3JhbWZpbGVyLgpQcm9ncmFtZmlsZW4gIndpbmUiIGxhZGRhciBvY2gga/ZyIFdpbmRvd3MtcHJvZ3JhbS4KQmlibGlvdGVrZXQgImxpYndpbmUiICgiV2luZWxpYiIpIGthbiBhbnbkbmRhcyB0aWxsIGF0dCBieWdnYSBvY2ggbORua2EKV2luZG93cy1r5Gxsa29kIGkgVW5peC4KCkv2ciAnLi9jb25maWd1cmUgLS1oZWxwJyBm9nIgYXR0IHNlIGluc3TkbGxuaW5nYXIgb2NoIHZhbCB2aWQga29tcGlsZXJpbmcuCgo1LiBJTlNUQUxMQVRJT04KCk7kciBXaW5lIORyIGJ5Z2d0IGthbiBkdSBr9nJhICJtYWtlIGluc3RhbGwiIGb2ciBhdHQgaW5zdGFsbGVyYSBkZXQ7CmRldHRhIGluc3RhbGxlcmFyIG9ja3PlIG1hbi1zaWRvcm5hIG9jaCBu5WdyYSBmbGVyIG72ZHbkbmRpZ2EgZmlsZXIuCgpHbPZtIGludGUgYXR0IGb2cnN0IGF2aW5zdGFsbGVyYSBnYW1sYSBXaW5lLXZlcnNpb25lci4gUHL2dmEgYW50aW5nZW4KImRwa2cgLXIgd2luZSIsICJycG0gLWUgd2luZSIgZWxsZXIgIm1ha2UgdW5pbnN0YWxsIiBm9nJlIGluc3RhbGxhdGlvbmVuLgoKTuRyIFdpbmUg5HIgaW5zdGFsbGVyYXQga2FuIGR1IGFuduRuZGEgaW5zdORsbG5pbmdzcHJvZ3JhbW1ldCAid2luZWNmZyIuClNlIGhq5GxwYXZkZWxuaW5nZW4gcOUgaHR0cDovL3d3dy53aW5laHEub3JnLyBm9nIgdGlwcyBvbSBpbnN05GxsbmluZ2FyLgoKCjYuIEvWUk5JTkcgQVYgUFJPR1JBTQoKTuRyIGR1IGFuduRuZGVyIFdpbmUga2FuIGR1IHVwcGdlIGhlbGEgc/ZrduRnZW4gdGlsbCBwcm9ncmFtZmlsZW4sIGVsbGVyCmVuYmFydCBldHQgZmlsbmFtbi4KCkV4ZW1wZWw6IGb2ciBhdHQga/ZyYSBOb3RlcGFkOgoKICAgICAgICB3aW5lIG5vdGVwYWQgICAgICAgICAgICAgICAoYW525G5kZXIgc/ZrduRnZW4gYW5naXZlbiBpIFdpbmVzCiAgICAgICAgd2luZSBub3RlcGFkLmV4ZSAgICAgICAgICAgIGtvbmZpZ3VyYXRpb25zZmlsIGb2ciBhdHQgZmlubmEgZmlsZW4pCgogICAgICAgIHdpbmUgYzpcXHdpbmRvd3NcXG5vdGVwYWQuZXhlICAoYW525G5kbmluZyBhdiBET1MtZmlsbmFtbnNzeW50YXgpCgogICAgICAgIHdpbmUgfi8ud2luZS9kcml2ZV9jL3dpbmRvd3Mvbm90ZXBhZC5leGUgIChhbnbkbmRuaW5nIGF2IFVuaXgtZmlsduRnYXIpCgogICAgICAgIHdpbmUgbm90ZXBhZC5leGUgcmVhZG1lLnR4dCAgKGv2cmEgcHJvZ3JhbSBtZWQgcGFyYW1ldHJhcikKCldpbmUg5HIgaW50ZSBwZXJmZWt0LCBz5SBkZXQg5HIgbfZqbGlndCBhdHQgdmlzc2EgcHJvZ3JhbSBrcmFzY2hhci4KSSBz5SBmYWxsIGblciBkdSBlbiBrcmFzY2hsb2dnIHNvbSBkdSBi9nIgYmlmb2dhIHRpbGwgZGluIHJhcHBvcnQgZOUgZHUKcmFwcG9ydGVyYXIgZXR0IGZlbC4KCgo3LiBNRVIgSU5GT1JNQVRJT04KCkludGVybmV0OiAgTXlja2V0IGluZm9ybWF0aW9uIG9tIFdpbmUgZmlubnMgc2FtbGF0IHDlIFdpbmVIUSBw5QogICAgICAgICAgIGh0dHA6Ly93d3cud2luZWhxLm9yZy8gOiBkaXZlcnNlIGd1aWRlciwgZW4gcHJvZ3JhbWRhdGFiYXMgc2FtdAogICAgICAgICAgIGZlbHNw5XJuaW5nLiBEZXR0YSDkciBhbnRhZ2xpZ2VuIGRldCBi5HN0YSBzdORsbGV0IGF0dCBi9nJqYS4KCkZy5WdvcjogICAgRnLlZ29yIG9jaCBzdmFyIG9tIFdpbmUgZmlubnMgc2FtbGFkZSBw5SBodHRwOi8vd3d3LndpbmVocS5vcmcvRkFRCgpGZWw6ICAgICAgIFJhcHBvcnRlcmEgZmVsIHRpbGwgV2luZXMgQnVnemlsbGEgcOUgaHR0cDovL2J1Z3Mud2luZWhxLm9yZwogICAgICAgICAgIFP2ayBpIEJ1Z3ppbGxhLWRhdGFiYXNlbiBm9nIgYXR0IHNlIG9tIHByb2JsZW1ldCByZWRhbiBmaW5ucwogICAgICAgICAgIHJhcHBvcnRlcmF0IGlubmFuIGR1IHPkbmRlciBlbiBmZWxyYXBwb3J0LgoKSVJDOiAgICAgICBIauRscCBmaW5ucyB0aWxsZ+RuZ2xpZyBvbmxpbmUgcOUga2FuYWxlbiAjV2luZUhRIHDlCiAgICAgICAgICAgaXJjLmZyZWVub2RlLm5ldC4KCkdpdDogICAgICAgV2luZXMgbnV2YXJhbmRlIHV0dmVja2xpbmdzdmVyc2lvbiBmaW5ucyB0aWxsZ+RuZ2xpZyBnZW5vbSBHaXQuCiAgICAgICAgICAgR+UgdGlsbCBodHRwOi8vd3d3LndpbmVocS5vcmcvZ2l0IGb2ciBtZXIgaW5mb3JtYXRpb24uCgpFLXBvc3RsaXN0b3I6CiAgICAgICAgICAgRGV0IGZpbm5zIGZsZXJhIGUtcG9zdGxpc3RvciBm9nIgV2luZS1hbnbkbmRhcmUgb2NoIC11dHZlY2tsYXJlOyBzZQogICAgICAgICAgIGh0dHA6Ly93d3cud2luZWhxLm9yZy9mb3J1bXMgZvZyIG1lciBpbmZvcm1hdGlvbi4KCldpa2k6ICAgICAgV2luZXMgV2lraSBmaW5ucyBw5SBodHRwOi8vd2lraS53aW5laHEub3JnCgpPbSBkdSBs5GdnZXIgdGlsbCBu5WdvdCBlbGxlciBmaXhhciBldHQgZmVsLCDkciBkZXQgYnJhIG9tIGR1IHPkbmRlcgplbiBwYXRjaCAoZvZyc2xhZ3N2aXMgbWVkIGdpdC1mb3JtYXQtcGF0Y2gpIHRpbGwgbGlzdGFuIHdpbmUtcGF0Y2hlc0B3aW5laHEub3JnCmb2ciBpbmtsdWRlcmluZyBpIG7kc3RhIHV0Z+V2YSBhdiBXaW5lLgoKLS0KT3JpZ2luYWxldCB0aWxsIGRlbm5hIGZpbCBza3JldnMgYXYKQWxleGFuZHJlIEp1bGxpYXJkCmp1bGxpYXJkQHdpbmVocS5vcmcKCtZ2ZXJzYXR0IHRpbGwgc3ZlbnNrYSBhdgpBbmRlcnMgSm9uc3NvbgphbmRlcnMuam9uc3NvbkBub3Jzam9uZXQuc2UK