U2VlIDxodHRwOi8vYnVpbGQua2RlLm9yZy9qb2IvcGxhc21hLWRlc2t0b3BfbWFzdGVyX3F0NS8x MTMzL2NoYW5nZXM+CgpDaGFuZ2VzOgoKW2hlaW5dIFFNTCBGaWxlRGlhbG9nIGlzIG5vIGxvbmdl ciBicm9rZW47IHN0b3AgbGlua2luZyBRV2lkZ2V0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tClsuLi50cnVuY2F0ZWQgMjg3IGxpbmVzLi4uXQogKiBRdDVDb3Jl IChyZXF1aXJlZCB2ZXJzaW9uID49IDUuNC4xKQogKiBRdDVHdWkgKHJlcXVpcmVkIHZlcnNpb24g Pj0gNS40LjEpCiAqIFF0NU5ldHdvcmsgKHJlcXVpcmVkIHZlcnNpb24gPj0gNS40LjEpCiAqIFF0 NVFtbCAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjQuMSkKICogUXQ1UXVpY2sKICogUXQ1UXVpY2tX aWRnZXRzCiAqIFF0NURCdXMKICogUXQ1V2lkZ2V0cwogKiBRdDVYMTFFeHRyYXMKICogUXQ1U3Zn CiAqIFF0NUNvbmN1cnJlbnQKICogS0Y1QXV0aCAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkK ICogS0Y1UGxhc21hIChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBLRjVQbGFzbWFRdWlj ayAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkKICogS0Y1RG9jVG9vbHMgKHJlcXVpcmVkIHZl cnNpb24gPj0gNS4yLjApCiAqIEdldHRleHQKICogUHl0aG9uSW50ZXJwCiAqIEtGNUkxOG4gKHJl cXVpcmVkIHZlcnNpb24gPj0gNS4yLjApCiAqIEtGNUtDTVV0aWxzIChyZXF1aXJlZCB2ZXJzaW9u ID49IDUuMi4wKQogKiBLRjVOZXdTdHVmZiAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkKICog S0Y1S0RFTGliczRTdXBwb3J0IChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBLRjVOb3Rp ZmljYXRpb25zIChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBLRjVOb3RpZnlDb25maWcg KHJlcXVpcmVkIHZlcnNpb24gPj0gNS4yLjApCiAqIEtGNUF0dGljYSAocmVxdWlyZWQgdmVyc2lv biA+PSA1LjIuMCkKICogS0Y1V2FsbGV0IChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBL RjVSdW5uZXIgKHJlcXVpcmVkIHZlcnNpb24gPj0gNS4yLjApCiAqIEtGNUdsb2JhbEFjY2VsIChy ZXF1aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBLRjVEZWNsYXJhdGl2ZSAocmVxdWlyZWQgdmVy c2lvbiA+PSA1LjIuMCkKICogS0Y1IChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBMaWJL V29ya3NwYWNlCiAqIExpYlRhc2tNYW5hZ2VyCiAqIEtXaW5EQnVzSW50ZXJmYWNlCiAqIFNjcmVl blNhdmVyREJ1c0ludGVyZmFjZQogKiBLUnVubmVyQXBwREJ1c0ludGVyZmFjZQogKiBLU01TZXJ2 ZXJEQnVzSW50ZXJmYWNlCiAqIEtGNUl0ZW1Nb2RlbHMKICogS0Y1RW1vdGljb25zCiAqIEtGNUJh bG9vIChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMS45MCkgLCBGaWxlIFNlYXJjaGluZwogICBOZWVk ZWQgdG8gYnVpbGQgdG8gRmlsZSBTZWFyY2ggS0NNCiAqIFgxMSAsIFgxMSBsaWJyYXJpZXMgLCA8 aHR0cDovL3d3dy54Lm9yZz4KICAgUmVxdWlyZWQgZm9yIGJ1aWxkaW5nIHRoZSBYMTEgYmFzZWQg d29ya3NwYWNlCiAqIFhDQiAsIFggcHJvdG9jb2wgQy1sYW5ndWFnZSBCaW5kaW5nICwgPGh0dHA6 Ly94Y2IuZnJlZWRlc2t0b3Aub3JnPgogKiBPcGVuR0wgLCBUaGUgT3BlbkdMIGxpYnJhcmllcyAs IDxodHRwOi8vd3d3Lm9wZW5nbC5vcmc+CiAqIEVDTSAocmVxdWlyZWQgdmVyc2lvbiA+PSAxLjgu MCkKICogUXQ1U3FsCiAqIFF0NQoKLS0gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4g ZGlzYWJsZWQ6CgogKiBYQ0ItWEtCICwgUmVxdWlyZWQgZm9yIGJ1aWxkaW5nIGtjbS9rZXlib2Fy ZAogKiBTeW5hcHRpY3MgLCBTeW5hcHRpY3MgbGlicmFyaWVzIG5lZWRlZCBmb3IgdG91Y2hwYWQg S0NNCgotLSBUaGUgZm9sbG93aW5nIE9QVElPTkFMIHBhY2thZ2VzIGhhdmUgbm90IGJlZW4gZm91 bmQ6CgogKiBQYWNrYWdlS2l0UXQ1IChyZXF1aXJlZCB2ZXJzaW9uID49IDAuOSkgLCBTb2Z0d2Fy ZSBNYW5hZ2VyIGludGVncmF0aW9uCiAgIFByb3ZpZGVzIHBhY2thZ2UgbWFuYWdlbWVudCBpbnRl Z3JhdGlvbiB0byB0aGUgYXBwbGljYXRpb24gbGF1bmNoZXIuCiAqIFN5bmFwdGljcyAsIFN5bmFw dGljcyBsaWJyYXJpZXMgbmVlZGVkIGZvciB0b3VjaHBhZCBLQ00KCi0tIEZvdW5kIEZyZWV0eXBl OiAvdXNyL2xpYjY0L2xpYmZyZWV0eXBlLnNvIChmb3VuZCB2ZXJzaW9uICIyLjQuMTEiKSAKQ01h a2UgV2FybmluZyAoZGV2KSBhdCAvc3J2L2plbmtpbnMvaW5zdGFsbC9saW51eC94ODZfNjQvZysr L2tmNS1xdDUvZnJhbWV3b3Jrcy9rYXV0aC9pbnN0L2xpYjY0L2NtYWtlL0tGNUF1dGgvS0Y1QXV0 aE1hY3Jvcy5jbWFrZTo1NSAoYWRkX2N1c3RvbV90YXJnZXQpOgogIFBvbGljeSBDTVAwMDM3IGlz IG5vdCBzZXQ6IFRhcmdldCBuYW1lcyBzaG91bGQgbm90IGJlIHJlc2VydmVkIGFuZCBzaG91bGQK ICBtYXRjaCBhIHZhbGlkaXR5IHBhdHRlcm4uICBSdW4gImNtYWtlIC0taGVscC1wb2xpY3kgQ01Q MDAzNyIgZm9yIHBvbGljeQogIGRldGFpbHMuICBVc2UgdGhlIGNtYWtlX3BvbGljeSBjb21tYW5k IHRvIHNldCB0aGUgcG9saWN5IGFuZCBzdXBwcmVzcyB0aGlzCiAgd2FybmluZy4KCiAgVGhlIHRh cmdldCBuYW1lICJhY3Rpb25zIGZvciBvcmcua2RlLmtjb250cm9sLmtjbWNsb2NrIiBpcyByZXNl cnZlZCBvciBub3QKICB2YWxpZCBmb3IgY2VydGFpbiBDTWFrZSBmZWF0dXJlcywgc3VjaCBhcyBn ZW5lcmF0b3IgZXhwcmVzc2lvbnMsIGFuZCBtYXkKICByZXN1bHQgaW4gdW5kZWZpbmVkIGJlaGF2 aW9yLgpDYWxsIFN0YWNrIChtb3N0IHJlY2VudCBjYWxsIGZpcnN0KToKICBrY21zL2RhdGVhbmR0 aW1lL0NNYWtlTGlzdHMudHh0OjM2IChrYXV0aF9pbnN0YWxsX2FjdGlvbnMpClRoaXMgd2Fybmlu ZyBpcyBmb3IgcHJvamVjdCBkZXZlbG9wZXJzLiAgVXNlIC1Xbm8tZGV2IHRvIHN1cHByZXNzIGl0 LgoKLS0gRm91bmQgUHVsc2VBdWRpbzogL3Vzci9saWI2NC9saWJwdWxzZS5zbyAoZm91bmQgc3Vp dGFibGUgdmVyc2lvbiAiMy4wLjAiLCBtaW5pbXVtIHJlcXVpcmVkIGlzICIwLjkuMTYiKSAKLS0g Rm91bmQgR0xJQjI6IC91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28gIAotLSBjaGVja2luZyBmb3Ig bW9kdWxlICdsaWJjYW5iZXJyYScKLS0gICBwYWNrYWdlICdsaWJjYW5iZXJyYScgbm90IGZvdW5k Ci0tIENvdWxkIE5PVCBmaW5kIENhbmJlcnJhIChtaXNzaW5nOiAgQ0FOQkVSUkFfTElCUkFSSUVT IENBTkJFUlJBX0lOQ0xVREVfRElSUykgCi0tIExvb2tpbmcgZm9yIGluY2x1ZGUgZmlsZSBsb2Nh bGUuaAotLSBMb29raW5nIGZvciBpbmNsdWRlIGZpbGUgbG9jYWxlLmggLSBmb3VuZApDTWFrZSBX YXJuaW5nIChkZXYpIGF0IC9zcnYvamVua2lucy9pbnN0YWxsL2xpbnV4L3g4Nl82NC9nKysva2Y1 LXF0NS9mcmFtZXdvcmtzL2thdXRoL2luc3QvbGliNjQvY21ha2UvS0Y1QXV0aC9LRjVBdXRoTWFj cm9zLmNtYWtlOjU1IChhZGRfY3VzdG9tX3RhcmdldCk6CiAgUG9saWN5IENNUDAwMzcgaXMgbm90 IHNldDogVGFyZ2V0IG5hbWVzIHNob3VsZCBub3QgYmUgcmVzZXJ2ZWQgYW5kIHNob3VsZAogIG1h dGNoIGEgdmFsaWRpdHkgcGF0dGVybi4gIFJ1biAiY21ha2UgLS1oZWxwLXBvbGljeSBDTVAwMDM3 IiBmb3IgcG9saWN5CiAgZGV0YWlscy4gIFVzZSB0aGUgY21ha2VfcG9saWN5IGNvbW1hbmQgdG8g c2V0IHRoZSBwb2xpY3kgYW5kIHN1cHByZXNzIHRoaXMKICB3YXJuaW5nLgoKICBUaGUgdGFyZ2V0 IG5hbWUgImFjdGlvbnMgZm9yIG9yZy5rZGUuZm9udGluc3QiIGlzIHJlc2VydmVkIG9yIG5vdCB2 YWxpZCBmb3IKICBjZXJ0YWluIENNYWtlIGZlYXR1cmVzLCBzdWNoIGFzIGdlbmVyYXRvciBleHBy ZXNzaW9ucywgYW5kIG1heSByZXN1bHQgaW4KICB1bmRlZmluZWQgYmVoYXZpb3IuCkNhbGwgU3Rh Y2sgKG1vc3QgcmVjZW50IGNhbGwgZmlyc3QpOgogIGtjbXMva2ZvbnRpbnN0L2RidXMvQ01ha2VM aXN0cy50eHQ6MzAgKGthdXRoX2luc3RhbGxfYWN0aW9ucykKVGhpcyB3YXJuaW5nIGlzIGZvciBw cm9qZWN0IGRldmVsb3BlcnMuICBVc2UgLVduby1kZXYgdG8gc3VwcHJlc3MgaXQuCgpDTWFrZSBX YXJuaW5nIChkZXYpIGF0IC9zcnYvamVua2lucy9pbnN0YWxsL2xpbnV4L3g4Nl82NC9nKysva2Y1 LXF0NS9rZGVzdXBwb3J0L2V4dHJhLWNtYWtlLW1vZHVsZXMvaW5zdC9zaGFyZS9FQ00vbW9kdWxl cy9FQ01JbnN0YWxsSWNvbnMuY21ha2U6MjQyIChtZXNzYWdlKToKICAiaGlzYy1hcHBzLXByZWZl cmVuY2VzLWRlc2t0b3AtZm9udC1pbnN0YWxsZXIuc3ZneiIgaGFzIGNoYXJhY3RlcnMgYmVmb3Jl CiAgdGhlIHNpemU7IGl0IHNob3VsZCBiZSByZW5hbWVkIHRvCiAgInNjLWFwcHMtcHJlZmVyZW5j ZXMtZGVza3RvcC1mb250LWluc3RhbGxlci5zdmd6IgpDYWxsIFN0YWNrIChtb3N0IHJlY2VudCBj YWxsIGZpcnN0KToKICBrY21zL2tmb250aW5zdC9DTWFrZUxpc3RzLnR4dDo1MCAoZWNtX2luc3Rh bGxfaWNvbnMpClRoaXMgd2FybmluZyBpcyBmb3IgcHJvamVjdCBkZXZlbG9wZXJzLiAgVXNlIC1X bm8tZGV2IHRvIHN1cHByZXNzIGl0LgoKLS0gTG9va2luZyBmb3IgZGdldHRleHQKLS0gTG9va2lu ZyBmb3IgZGdldHRleHQgLSBmb3VuZAotLSBGb3VuZCBHZXR0ZXh0OiBidWlsdCBpbiBsaWJjCi0t IAotLSBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBlbmFibGVkOgoKICogbGlieGZ0 ICwgWCBGcmVlVHlwZSBpbnRlcmZhY2UgbGlicmFyeSByZXF1aXJlZCBmb3IgZm9udCBpbnN0YWxs YXRpb24KCi0tIFRoZSBmb2xsb3dpbmcgT1BUSU9OQUwgcGFja2FnZXMgaGF2ZSBiZWVuIGZvdW5k OgoKICogVVNCICwgVXNlciBsZXZlbCBhY2Nlc3MgdG8gVVNCIGRldmljZXMgLCA8aHR0cDovL2xp YnVzYi5zb3VyY2Vmb3JnZS5uZXQ+CiAgIFByb3ZpZGVzIExvZ2l0ZWNoIG1vdXNlIHN1cHBvcnQg aW4gS0NvbnRyb2wuCiAqIEZvbnRjb25maWcgLCBGb250IGFjY2VzcyBjb25maWd1cmF0aW9uIGxp YnJhcnkgLCA8aHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9mb250Y29u ZmlnPgogICBOZWVkZWQgdG8gYnVpbGQgZm9udCBjb25maWd1cmF0aW9uIGFuZCBpbnN0YWxsYXRp b24gdG9vbHMKICogRnJlZXR5cGUgLCBBIGZvbnQgcmVuZGVyaW5nIGVuZ2luZSAsIDxodHRwOi8v d3d3LmZyZWV0eXBlLm9yZz4KICAgTmVlZGVkIHRvIGJ1aWxkIGtmb250aW5zdCwgYSBzaW1wbGUg Zm9udCBpbnN0YWxsZXIuCiAqIFB1bHNlQXVkaW8gKHJlcXVpcmVkIHZlcnNpb24gPj0gMC45LjE2 KSAsIFB1bHNlQXVkaW8gQXVkaW8gU2VydmVyICwgPGh0dHA6Ly93d3cucHVsc2VhdWRpby5vcmcv PgogICBsaWJwdWxzZSBpcyBuZWVkZWQgZm9yIGF1ZGlvIHNldHVwIEdVSQogKiBHTElCMiAsIExv dy1sZXZlbCBjb3JlIGxpYnJhcnkgZm9yIGRhdGEgc3RydWN0dXJlIGhhbmRsaW5nLCBwb3J0YWJp bGl0eSB3cmFwcGVycywgZXRjLiAsIDxodHRwOi8vd3d3Lmd0ay5vcmc+CiAqIFBrZ0NvbmZpZwoK LS0gVGhlIGZvbGxvd2luZyBSRVFVSVJFRCBwYWNrYWdlcyBoYXZlIGJlZW4gZm91bmQ6CgogKiBR dDVDb3JlIChyZXF1aXJlZCB2ZXJzaW9uID49IDUuNC4xKQogKiBRdDVHdWkgKHJlcXVpcmVkIHZl cnNpb24gPj0gNS40LjEpCiAqIFF0NU5ldHdvcmsgKHJlcXVpcmVkIHZlcnNpb24gPj0gNS40LjEp CiAqIFF0NVF1aWNrCiAqIFF0NVF1aWNrV2lkZ2V0cwogKiBRdDVEQnVzCiAqIFF0NVN2ZwogKiBR dDVDb25jdXJyZW50CiAqIEtGNUF1dGggKHJlcXVpcmVkIHZlcnNpb24gPj0gNS4yLjApCiAqIEtG NVBsYXNtYSAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkKICogS0Y1UGxhc21hUXVpY2sgKHJl cXVpcmVkIHZlcnNpb24gPj0gNS4yLjApCiAqIEtGNURvY1Rvb2xzIChyZXF1aXJlZCB2ZXJzaW9u ID49IDUuMi4wKQogKiBLRjVLQ01VdGlscyAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkKICog S0Y1TmV3U3R1ZmYgKHJlcXVpcmVkIHZlcnNpb24gPj0gNS4yLjApCiAqIEtGNUtERUxpYnM0U3Vw cG9ydCAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkKICogS0Y1Tm90aWZpY2F0aW9ucyAocmVx dWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkKICogS0Y1Tm90aWZ5Q29uZmlnIChyZXF1aXJlZCB2ZXJz aW9uID49IDUuMi4wKQogKiBLRjVBdHRpY2EgKHJlcXVpcmVkIHZlcnNpb24gPj0gNS4yLjApCiAq IEtGNVdhbGxldCAocmVxdWlyZWQgdmVyc2lvbiA+PSA1LjIuMCkKICogS0Y1UnVubmVyIChyZXF1 aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBLRjVEZWNsYXJhdGl2ZSAocmVxdWlyZWQgdmVyc2lv biA+PSA1LjIuMCkKICogS0Y1IChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMi4wKQogKiBMaWJLV29y a3NwYWNlCiAqIExpYlRhc2tNYW5hZ2VyCiAqIEtXaW5EQnVzSW50ZXJmYWNlCiAqIFNjcmVlblNh dmVyREJ1c0ludGVyZmFjZQogKiBLUnVubmVyQXBwREJ1c0ludGVyZmFjZQogKiBLU01TZXJ2ZXJE QnVzSW50ZXJmYWNlCiAqIEtGNUl0ZW1Nb2RlbHMKICogS0Y1RW1vdGljb25zCiAqIEtGNUJhbG9v IChyZXF1aXJlZCB2ZXJzaW9uID49IDUuMS45MCkgLCBGaWxlIFNlYXJjaGluZwogICBOZWVkZWQg dG8gYnVpbGQgdG8gRmlsZSBTZWFyY2ggS0NNCiAqIFhDQiAsIFggcHJvdG9jb2wgQy1sYW5ndWFn ZSBCaW5kaW5nICwgPGh0dHA6Ly94Y2IuZnJlZWRlc2t0b3Aub3JnPgogKiBPcGVuR0wgLCBUaGUg T3BlbkdMIGxpYnJhcmllcyAsIDxodHRwOi8vd3d3Lm9wZW5nbC5vcmc+CiAqIFF0NVNxbAogKiBR dDVUZXN0IChyZXF1aXJlZCB2ZXJzaW9uID49IDUuNC4wKQogKiBQaG9ub240UXQ1IChyZXF1aXJl ZCB2ZXJzaW9uID49IDQuNi42MCkKICogRUNNIChyZXF1aXJlZCB2ZXJzaW9uID49IDAuMC44KQog KiBRdDVXaWRnZXRzCiAqIFF0NVFtbAogKiBRdDVYMTFFeHRyYXMKICogUXQ1CiAqIEdldHRleHQK ICogUHl0aG9uSW50ZXJwCiAqIEtGNUkxOG4KICogS0Y1Q29uZmlnCiAqIEtGNUNvcmVBZGRvbnMK ICogS0Y1R2xvYmFsQWNjZWwKICogS0Y1R3VpQWRkb25zCiAqIEtGNUtJTwogKiBLRjVBY3Rpdml0 aWVzICwgbWFuYWdlbWVudCBvZiBQbGFzbWEgYWN0aXZpdGllcwogICBOZWVkZWQgYnkgYWN0aXZp dHkgcmVsYXRlZCBwbGFzbW9pZHMgYW5kIHRoZSBwYWdlci4KICogWDExICwgWDExIGxpYnJhcmll cyAsIDxodHRwOi8vd3d3Lngub3JnPgogICBSZXF1aXJlZCBmb3IgYnVpbGRpbmcgdGhlIFgxMSBi YXNlZCB3b3Jrc3BhY2UKCi0tIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRpc2Fi bGVkOgoKICogWENCLVhLQiAsIFJlcXVpcmVkIGZvciBidWlsZGluZyBrY20va2V5Ym9hcmQKICog U3luYXB0aWNzICwgU3luYXB0aWNzIGxpYnJhcmllcyBuZWVkZWQgZm9yIHRvdWNocGFkIEtDTQoK LS0gVGhlIGZvbGxvd2luZyBPUFRJT05BTCBwYWNrYWdlcyBoYXZlIG5vdCBiZWVuIGZvdW5kOgoK ICogUGFja2FnZUtpdFF0NSAocmVxdWlyZWQgdmVyc2lvbiA+PSAwLjkpICwgU29mdHdhcmUgTWFu YWdlciBpbnRlZ3JhdGlvbgogICBQcm92aWRlcyBwYWNrYWdlIG1hbmFnZW1lbnQgaW50ZWdyYXRp b24gdG8gdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVyLgogKiBTeW5hcHRpY3MgLCBTeW5hcHRpY3Mg bGlicmFyaWVzIG5lZWRlZCBmb3IgdG91Y2hwYWQgS0NNCiAqIENhbmJlcnJhICwgQXVkaW8gc2V0 dXAgR1VJICwgPGh0dHA6Ly8wcG9pbnRlci5kZS9sZW5uYXJ0L3Byb2plY3RzL2xpYmNhbmJlcnJh PgogICBsaWJjYW5iZXJyYSBpcyBuZWVkZWQgZm9yIGF1ZGlvIHNldHVwIEdVSQoKLS0gQ29uZmln dXJpbmcgZG9uZQpDTWFrZSBFcnJvciBhdCBhcHBsZXRzL2tpY2tlci9DTWFrZUxpc3RzLnR4dDo0 OCAoYWRkX2xpYnJhcnkpOgogIENhbm5vdCBmaW5kIHNvdXJjZSBmaWxlOgoKICAgIHBsdWdpbi9p bWFnZXBpY2tlci5jcHAKCiAgVHJpZWQgZXh0ZW5zaW9ucyAuYyAuQyAuYysrIC5jYyAuY3BwIC5j eHggLm0gLk0gLm1tIC5oIC5oaCAuaCsrIC5obSAuaHBwCiAgLmh4eCAuaW4gLnR4eAoKCkNNYWtl IEVycm9yOiBDTWFrZSBjYW4gbm90IGRldGVybWluZSBsaW5rZXIgbGFuZ3VhZ2UgZm9yIHRhcmdl dDoga2lja2VycGx1Z2luCkNNYWtlIEVycm9yOiBDYW5ub3QgZGV0ZXJtaW5lIGxpbmsgbGFuZ3Vh Z2UgZm9yIHRhcmdldCAia2lja2VycGx1Z2luIi4KLS0gR2VuZXJhdGluZyBkb25lCkNNYWtlIFdh cm5pbmc6CiAgTWFudWFsbHktc3BlY2lmaWVkIHZhcmlhYmxlcyB3ZXJlIG5vdCB1c2VkIGJ5IHRo ZSBwcm9qZWN0OgoKICAgIEtERTRfQlVJTERfVEVTVFMKICAgIExJQl9TVUZGSVgKICAgIFNJUF9E RUZBVUxUX1NJUF9ESVIKCgotLSBCdWlsZCBmaWxlcyBoYXZlIGJlZW4gd3JpdHRlbiB0bzogPGh0 dHA6Ly9idWlsZC5rZGUub3JnL2pvYi9wbGFzbWEtZGVza3RvcF9tYXN0ZXJfcXQ1L3dzL2J1aWxk PgpDb25maWd1cmUgc3RlcCBleGl0ZWQgd2l0aCBub24temVybyBjb2RlLCBhc3N1bWluZyBmYWls dXJlIHRvIGNvbmZpZ3VyZSBmb3IgcHJvamVjdCBwbGFzbWEtZGVza3RvcC4KQnVpbGQgc3RlcCAn RXhlY3V0ZSBzaGVsbCcgbWFya2VkIGJ1aWxkIGFzIGZhaWx1cmUKW1dBUk5JTkdTXSBTa2lwcGlu ZyBwdWJsaXNoZXIgc2luY2UgYnVpbGQgcmVzdWx0IGlzIEZBSUxVUkUKUmVjb3JkaW5nIHRlc3Qg cmVzdWx0cwpFUlJPUjogUHVibGlzaGVyIGh1ZHNvbi50YXNrcy5qdW5pdC5KVW5pdFJlc3VsdEFy Y2hpdmVyIGFib3J0ZWQgZHVlIHRvIGV4Y2VwdGlvbgpodWRzb24uQWJvcnRFeGNlcHRpb246IE5v IHRlc3QgcmVwb3J0IGZpbGVzIHdlcmUgZm91bmQuIENvbmZpZ3VyYXRpb24gZXJyb3I/CglhdCBo dWRzb24udGFza3MuanVuaXQuSlVuaXRQYXJzZXIkUGFyc2VSZXN1bHRDYWxsYWJsZS5pbnZva2Uo SlVuaXRQYXJzZXIuamF2YToxMTYpCglhdCBodWRzb24udGFza3MuanVuaXQuSlVuaXRQYXJzZXIk UGFyc2VSZXN1bHRDYWxsYWJsZS5pbnZva2UoSlVuaXRQYXJzZXIuamF2YTo5MykKCWF0IGh1ZHNv bi5GaWxlUGF0aCRGaWxlQ2FsbGFibGVXcmFwcGVyLmNhbGwoRmlsZVBhdGguamF2YToyNjg4KQoJ YXQgaHVkc29uLnJlbW90aW5nLlVzZXJSZXF1ZXN0LnBlcmZvcm0oVXNlclJlcXVlc3QuamF2YTox MjEpCglhdCBodWRzb24ucmVtb3RpbmcuVXNlclJlcXVlc3QucGVyZm9ybShVc2VyUmVxdWVzdC5q YXZhOjQ5KQoJYXQgaHVkc29uLnJlbW90aW5nLlJlcXVlc3QkMi5ydW4oUmVxdWVzdC5qYXZhOjMy NSkKCWF0IGh1ZHNvbi5yZW1vdGluZy5JbnRlcmNlcHRpbmdFeGVjdXRvclNlcnZpY2UkMS5jYWxs KEludGVyY2VwdGluZ0V4ZWN1dG9yU2VydmljZS5qYXZhOjY4KQoJYXQgamF2YS51dGlsLmNvbmN1 cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2MikKCWF0IGphdmEudXRpbC5j b25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9y LmphdmE6MTE0NSkKCWF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRX b3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYxNSkKCWF0IGphdmEubGFuZy5UaHJl YWQucnVuKFRocmVhZC5qYXZhOjc0NSkKCWF0IC4uLi4uLnJlbW90ZSBjYWxsIHRvIExpbnV4U2xh dmUgLSA0KE5hdGl2ZSBNZXRob2QpCglhdCBodWRzb24ucmVtb3RpbmcuQ2hhbm5lbC5hdHRhY2hD YWxsU2l0ZVN0YWNrVHJhY2UoQ2hhbm5lbC5qYXZhOjEzNjApCglhdCBodWRzb24ucmVtb3Rpbmcu VXNlclJlc3BvbnNlLnJldHJpZXZlKFVzZXJSZXF1ZXN0LmphdmE6MjIxKQoJYXQgaHVkc29uLnJl bW90aW5nLkNoYW5uZWwuY2FsbChDaGFubmVsLmphdmE6NzUzKQoJYXQgaHVkc29uLkZpbGVQYXRo LmFjdChGaWxlUGF0aC5qYXZhOjk3OCkKCWF0IGh1ZHNvbi5GaWxlUGF0aC5hY3QoRmlsZVBhdGgu amF2YTo5NjcpCglhdCBodWRzb24udGFza3MuanVuaXQuSlVuaXRQYXJzZXIucGFyc2VSZXN1bHQo SlVuaXRQYXJzZXIuamF2YTo5MCkKCWF0IGh1ZHNvbi50YXNrcy5qdW5pdC5KVW5pdFJlc3VsdEFy Y2hpdmVyLnBhcnNlKEpVbml0UmVzdWx0QXJjaGl2ZXIuamF2YToxMjApCglhdCBodWRzb24udGFz a3MuanVuaXQuSlVuaXRSZXN1bHRBcmNoaXZlci5wZXJmb3JtKEpVbml0UmVzdWx0QXJjaGl2ZXIu amF2YToxMzcpCglhdCBodWRzb24udGFza3MuQnVpbGRTdGVwQ29tcGF0aWJpbGl0eUxheWVyLnBl cmZvcm0oQnVpbGRTdGVwQ29tcGF0aWJpbGl0eUxheWVyLmphdmE6NzQpCglhdCBodWRzb24udGFz a3MuQnVpbGRTdGVwTW9uaXRvciQxLnBlcmZvcm0oQnVpbGRTdGVwTW9uaXRvci5qYXZhOjIwKQoJ YXQgaHVkc29uLm1vZGVsLkFic3RyYWN0QnVpbGQkQWJzdHJhY3RCdWlsZEV4ZWN1dGlvbi5wZXJm b3JtKEFic3RyYWN0QnVpbGQuamF2YTo3NjEpCglhdCBodWRzb24ubW9kZWwuQWJzdHJhY3RCdWls ZCRBYnN0cmFjdEJ1aWxkRXhlY3V0aW9uLnBlcmZvcm1BbGxCdWlsZFN0ZXBzKEFic3RyYWN0QnVp bGQuamF2YTo3MjEpCglhdCBodWRzb24ubW9kZWwuQnVpbGQkQnVpbGRFeGVjdXRpb24ucG9zdDIo QnVpbGQuamF2YToxODMpCglhdCBodWRzb24ubW9kZWwuQWJzdHJhY3RCdWlsZCRBYnN0cmFjdEJ1 aWxkRXhlY3V0aW9uLnBvc3QoQWJzdHJhY3RCdWlsZC5qYXZhOjY3MCkKCWF0IGh1ZHNvbi5tb2Rl bC5SdW4uZXhlY3V0ZShSdW4uamF2YToxNzc2KQoJYXQgaHVkc29uLm1vZGVsLkZyZWVTdHlsZUJ1 aWxkLnJ1bihGcmVlU3R5bGVCdWlsZC5qYXZhOjQzKQoJYXQgaHVkc29uLm1vZGVsLlJlc291cmNl Q29udHJvbGxlci5leGVjdXRlKFJlc291cmNlQ29udHJvbGxlci5qYXZhOjg5KQoJYXQgaHVkc29u Lm1vZGVsLkV4ZWN1dG9yLnJ1bihFeGVjdXRvci5qYXZhOjI0MCkKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUGxhc21hLWRldmVsIG1haWxpbmcgbGlzdApQ bGFzbWEtZGV2ZWxAa2RlLm9yZwpodHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3BsYXNtYS1kZXZlbAo=