ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gICBfIF9fX18gIF8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmN1cmwgYmluZGluZ3MKCiBDcmVhdGl2ZSBwZW9wbGUgaGF2ZSB3cml0dGVuIGJpbmRpbmdzIG9yIGludGVyZmFjZXMgZm9yIHZhcmlvdXMgZW52aXJvbm1lbnRzCiBhbmQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLiBVc2luZyBvbmUgb2YgdGhlc2UgYWxsb3dzIHlvdSB0byB0YWtlIGFkdmFudGFnZSBvZgogY3VybCBwb3dlcnMgZnJvbSB3aXRoaW4geW91ciBmYXZvdXJpdGUgbGFuZ3VhZ2Ugb3Igc3lzdGVtLgoKIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBrbm93biBpbnRlcmZhY2VzIGFzIG9mIHRoaXMgd3JpdGluZy4KCiBUaGUgYmluZGluZ3MgbGlzdGVkIGJlbG93IGFyZSBub3QgcGFydCBvZiB0aGUgY3VybC9saWJjdXJsIGRpc3RyaWJ1dGlvbgogYXJjaGl2ZXMsIGJ1dCBtdXN0IGJlIGRvd25sb2FkZWQgYW5kIGluc3RhbGxlZCBzZXBhcmF0ZWx5LgoKQWRhOTUKCiAgV3JpdHR0ZW4gYnkgQW5kcmVhcyBBbG1yb3RoCiAgaHR0cDovL3d3dy5hbG1yb3RoLmNvbS9hZGFjdXJsL2luZGV4Lmh0bWwKCkJhc2ljCgogIFNjcmlwdEJhc2ljIGJpbmRpbmdzIHRvIGxpYmN1cmwuIFdyaXR0dGVuIGJ5IFBldGVyIFZlcmhhcwogIGh0dHA6Ly9zY3JpcHRiYXNpYy5jb20vCgpDCiAgbGliY3VybCBpcyBhIEMgbGlicmFyeSBpbiBpdHNlbGYhCiAgaHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsLwoKQysrCgogIFdyaXR0ZW4gYnkgSmVhbi1QaGlsaXBwZSBCYXJyZXR0ZS1MYVBpZXJyZQogIGh0dHA6Ly9jdXJscHAub3JnLwoKQ2gKCiAgV3JpdHRlbiBieSBTdGVwaGVuIE5lc3RpbmdlciBhbmQgSm9uYXRoYW4gUm9nYWRvCiAgaHR0cDovL2NoY3VybC5zb3VyY2Vmb3JnZS5uZXQvCgpDb2NvYQoKICBCQkhUVFA6IHdyaXR0ZW4gYnkgQnJ1bm8gZGUgQ2FydmFsaG8KICBodHRwczovL2dpdGh1Yi5jb20vYnJ1bm9kZWNhcnZhbGhvL0JCSFRUUAoKICBjdXJsaGFuZGxlOiBXcml0dGVuIGJ5IERhbiBXb29kCiAgaHR0cDovL2N1cmxoYW5kbGUuc291cmNlZm9yZ2UubmV0LwoKRAoKICBXcml0dGVuIGJ5IEtlbm5ldGggQm9nZXJ0CiAgaHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsL2QvCgpEeWxhbgoKICBXcml0dGVuIGJ5IENocmlzIERvdWJsZQogIGh0dHA6Ly9keWxhbmxpYnMuc291cmNlZm9yZ2UubmV0LwoKRWlmZmVsCgogIFdyaXR0ZW4gYnkgRWlmZmVsIFNvZnR3YXJlCiAgaHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsL2VpZmZlbC8KCkV1cGhvcmlhCgogIFdyaXR0ZW4gYnkgUmF5IFNtaXRoCiAgaHR0cDovL3JheXMtd2ViLmNvbS9ldWxpYmN1cmwuaHRtCgpGYWxjb24KCiAgaHR0cDovL3d3dy5mYWxjb25wbC5vcmcvaW5kZXguZnRkP3BhZ2VfaWQ9cHJqcyZwcmpfaWQ9Y3VybAoKRmVyaXRlCgogIFdyaXR0ZW4gYnkgUGF1bCBRdWVybmEKICBodHRwOi8vd3d3LmZlcml0ZS5vcmcvCgpHYW1iYXMKCiAgaHR0cDovL2dhbWJhcy5zb3VyY2Vmb3JnZS5uZXQKCmdsaWIvR1RLKwoKICBXcml0dGVuIGJ5IFJpY2hhcmQgQXR0ZXJlcgogIGh0dHA6Ly9hdHRlcmVyLm5ldC9nbGliY3VybC8KCkd1aWxlOgoKICBXcml0dGVuIGJ5IE1pY2hhZWwgTC4gR3JhbgogIGh0dHA6Ly93d3cubG9uZWx5Y2FjdHVzLmNvbS9ndWlsZS1jdXJsLmh0bWwKCkhhc2tlbGwKCiAgV3JpdHRlbiBieSBHYWxvaXMsIEluYwogIGh0dHA6Ly9oYWNrYWdlLmhhc2tlbGwub3JnL2NnaS1iaW4vaGFja2FnZS1zY3JpcHRzL3BhY2thZ2UvY3VybAoKSmF2YQoKICBNYWludGFpbmVkIGJ5IFtibGFua10KICBodHRwOi8vY3VybC5oYXh4LnNlL2xpYmN1cmwvamF2YS8KCkp1bGlhCgogIFdyaXR0ZW4gYnkgUGF1bCBIb3dlCiAgaHR0cHM6Ly9naXRodWIuY29tL2ZvcmlvL0N1cmwuamwKCkxpc3AKCiAgV3JpdHRlbiBieSBMaWFtIEhlYWx5CiAgaHR0cDovL2NvbW1vbi1saXNwLm5ldC9wcm9qZWN0L2NsLWN1cmwvCgpMdWEKCiAgbHVhY3VybCBieSBBbGV4YW5kZXIgTWFyaW5vdgogIGh0dHA6Ly9sdWFjdXJsLmx1YWZvcmdlLm5ldC8KCiAgTHVhLWNVUkwgYnkgSvxyZ2VuIEj2dHplbAogIGh0dHA6Ly9sdWFmb3JnZS5uZXQvcHJvamVjdHMvbHVhLWN1cmwvCgpNb25vCgogIFdyaXR0ZW4gYnkgSmVmZnJleSBQaGlsbGlwcwogIGh0dHA6Ly9mb3JnZS5ub3ZlbGwuY29tL21vZHVsZXMveGZtb2QvcHJvamVjdC8/bGliY3VybC1tb25vCgouTkVUCgogIGxpYmN1cmwtbmV0IGJ5IEplZmZyZXkgUGhpbGxpcHMKICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYmN1cmwtbmV0LwoKT2JqZWN0LVBhc2NhbAoKICBGcmVlIFBhc2NhbCwgRGVscGhpIGFuZCBLeWxpeCBiaW5kaW5nIHdyaXR0ZW4gYnkgQ2hyaXN0b3BoZSBFc3Blcm4uCiAgaHR0cDovL3d3dy50ZWtvb2wuY29tL29wY3VybAoKTydDYW1sCgogIFdyaXR0ZW4gYnkgTGFycyBOaWxzc29uCiAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9vY3VybC8KClBhc2NhbAoKICBGcmVlIFBhc2NhbCwgRGVscGhpIGFuZCBLeWxpeCBiaW5kaW5nIHdyaXR0ZW4gYnkgSmVmZnJleSBQb2hsbWV5ZXIuCiAgaHR0cDovL2hvdXN0b24ucXVpay5jb20vamtwL2N1cmxwYXMvCgpQZXJsCgogIE1haW50YWluZWQgYnkgQ3JpcyBCYWlsaWZmCiAgaHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsL3BlcmwvCgpQSFAKCiAgV3JpdHRlbiBieSBTdGVybGluZyBIdWdoZXMKICBodHRwOi8vY3VybC5oYXh4LnNlL2xpYmN1cmwvcGhwLwoKUG9zdGdyZVNRTAoKICBXcml0dGVuIGJ5IEdpYW4gUGFvbG8gQ2ljZXJpCiAgaHR0cDovL2dib3JnLnBvc3RncmVzcWwub3JnL3Byb2plY3QvcGdjdXJsL3Byb2pkaXNwbGF5LnBocAoKUHl0aG9uCgogIFB5Y1VSTCBieSBLamV0aWwgSmFjb2JzZW4KICBodHRwOi8vcHljdXJsLnNvdXJjZWZvcmdlLm5ldC8KClIKCiAgUkN1cmwgYnkgRHVuY2FuIFRlbXBsZSBMYW5nCiAgaHR0cDovL3d3dy5vbWVnYWhhdC5vcmcvUkN1cmwvCgpSZXh4CgogIFdyaXR0ZW4gTWFyayBIZXNzbGluZwogIGh0dHA6Ly9yZXh4Y3VybC5zb3VyY2Vmb3JnZS5uZXQvCgpSUEcKCiAgU3VwcG9ydCBmb3IgSUxFL1JQRyBvbiBPUy80MDAgaXMgaW5jbHVkZWQgaW4gc291cmNlIGRpc3RyaWJ1dGlvbgogIGh0dHA6Ly9jdXJsLmhheHguc2UvbGliY3VybC8KICBTZWUgcGFja2FnZXMvT1M0MDAvUkVBRE1FLk9TNDAwIGFuZCBwYWNrYWdlcy9PUzQwMC9jdXJsLmluYy5pbgoKUnVieQoKICBjdXJiIC0gd3JpdHRlbiBieSBSb3NzIEJhbWZvcmQKICBodHRwOi8vY3VyYi5ydWJ5Zm9yZ2Uub3JnLwoKICBydWJ5LWN1cmwtbXVsdGkgLSB3cml0dGVuIGJ5IEtyaXN0amFuIFBldHVyc3NvbiBhbmQgS2VpdGggUmFyaWNrCiAgaHR0cDovL2N1cmwtbXVsdGkucnVieWZvcmdlLm9yZy8KClNjaGVtZQoKICBCaWdsb28gYmluZGluZyBieSBLaXJpbGwgTGlzb3Zza3kKICBodHRwOi8vY3VybC5oYXh4LnNlL2xpYmN1cmwvc2NoZW1lLwoKUy1MYW5nCgogIFMtTGFuZyBiaW5kaW5nIGJ5IEpvaG4gRSBEYXZpcwogIGh0dHA6Ly93d3cuamVkc29mdC5vcmcvc2xhbmcvbW9kdWxlcy9jdXJsLmh0bWwKClNtYWxsdGFsawoKICBTbWFsbHRhbGsgYmluZGluZyBieSBEYW5pbCBPc2lwY2h1awogIGh0dHA6Ly93d3cuc3F1ZWFrc291cmNlLmNvbS9DdXJsUGx1Z2luLwoKU1AtRm9ydGgKCiAgU1AtRm9ydGggYmluZGluZyBieSB5Z3JlawogIGh0dHA6Ly93d3cuZm9ydGgub3JnLnJ1L35hYy9saWIvbGluL2N1cmwvCgpTUEwKCiAgU1BMIGJpbmRpbmcgYnkgQ2xpZmZvcmQgV29sZgogIGh0dHA6Ly93d3cuY2xpZmZvcmQuYXQvc3BsLwoKVGNsCgogIFRjbGN1cmwgYnkgQW5kculzIEdhcmPtYQogIGh0dHA6Ly9wZXJzb25hbDEuaWRkZW8uZXMvYW5kcmVzZ2FyY2kvdGNsY3VybC9lbmdsaXNoL2RvY3MuaHRtbAoKVmlzdWFsIEJhc2ljCgogIGxpYmN1cmwtdmIgYnkgSmVmZnJleSBQaGlsbGlwcwogIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGliY3VybC12Yi8KClZpc3VhbCBGb3hwcm8KCiAgYnkgQ2FybG9zIEFsbG9hdHRpCiAgaHR0cDovL3d3dy5jdGwzMi5jb20uYXIvbGliY3VybC5hc3AKClEKICBUaGUgbGliY3VybCBtb2R1bGUgaXMgcGFydCBvZiB0aGUgZGVmYXVsdCBpbnN0YWxsCiAgaHR0cDovL3EtbGFuZy5zb3VyY2Vmb3JnZS5uZXQvCgp3eFdpZGdldHMKCiAgV3JpdHRlbiBieSBDYXNleSBPJ0Rvbm5lbGwKICBodHRwOi8vd3hjb2RlLnNvdXJjZWZvcmdlLm5ldC9jb21wb25lbnRzL3d4Y3VybC8KClhCTGl0ZQoKICBXcml0dGVuIGJ5IERhdmlkIFN6YWZyYW5za2kKICBodHRwOi8vcGVyc28ud2FuYWRvby5mci94YmxpdGUvbGlicmFyaWVzLmh0bWwK