My43LjIKYzJiZjI1NzZiZGRmMGI2MDM1YWExZjU3MGYzNjYxNTJmZTdiZTE1MwoECG86GVNhc3M6OlRyZWU6OlJvb3ROb2RlDDoOQGNoaWxkcmVuWwhvOhxTYXNzOjpUcmVlOjpDb21tZW50Tm9kZQw6C0B2YWx1ZVsGSSJWLyovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAqIEltcG9ydCBQaWVjZXMKICovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICovBjoGRVQ6CkB0eXBlOgtzaWxlbnQ7BlsAOg5AZmlsZW5hbWUwOg1Ab3B0aW9uc3sAOgpAbGluZWkGOhJAc291cmNlX3JhbmdlbzoYU2Fzczo6U291cmNlOjpSYW5nZQk6D0BzdGFydF9wb3NvOhtTYXNzOjpTb3VyY2U6OlBvc2l0aW9uBzsOaQY6DEBvZmZzZXRpBjoNQGVuZF9wb3NvOxIHOw5pCDsTaSQ6CkBmaWxlSSJ/L0xpYnJhcnkvUnVieS9HZW1zLzIuMy4wL2dlbXMvbWluaW1hbC1taXN0YWtlcy1qZWt5bGwtNC4xNC4xL19zYXNzL21pbmltYWwtbWlzdGFrZXMvdmVuZG9yL2JyZWFrcG9pbnQvcGFyc2Vycy9fdHJpcGxlLnNjc3MGOwlUOg5AaW1wb3J0ZXJvOiBTYXNzOjpJbXBvcnRlcnM6OkZpbGVzeXN0ZW0IOgpAcm9vdEkiRy9MaWJyYXJ5L1J1YnkvR2Vtcy8yLjMuMC9nZW1zL21pbmltYWwtbWlzdGFrZXMtamVreWxsLTQuMTQuMS9fc2FzcwY7CUY6D0ByZWFsX3Jvb3RJIkcvTGlicmFyeS9SdWJ5L0dlbXMvMi4zLjAvZ2Vtcy9taW5pbWFsLW1pc3Rha2VzLWpla3lsbC00LjE0LjEvX3Nhc3MGOwlUOhhAc2FtZV9uYW1lX3dhcm5pbmdzbzoIU2V0BjoKQGhhc2h9AEZvOhtTYXNzOjpUcmVlOjpJbXBvcnROb2RlDToXQGltcG9ydGVkX2ZpbGVuYW1lSSITdHJpcGxlL2RlZmF1bHQGOwlUOwZbADsMMDsNQAs6DkB0ZW1wbGF0ZTA7DmkJOw9vOxAJOxFvOxIHOw5pCTsTaQ47FG87Egc7DmkJOxNpHjsVQA87FkAQOhNAaW1wb3J0ZWRfZmlsZTBvOh1TYXNzOjpUcmVlOjpGdW5jdGlvbk5vZGUOOgpAbmFtZUkiHGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlBjsJVDoKQGFyZ3NbCFsHbzohU2Fzczo6U2NyaXB0OjpUcmVlOjpWYXJpYWJsZQs7IkkiDGZlYXR1cmUGOwlUOhZAdW5kZXJzY29yZWRfbmFtZUkiDGZlYXR1cmUGOwlUOw5pCzsPbzsQCTsRbzsSBzsOaQs7E2koOxRvOxIHOw5pCzsTaTA7FUAPOxZAEDsMQA87DUALMFsHbzskCzsiSSIQZW1wdHktbWVkaWEGOwlUOyVJIhBlbXB0eV9tZWRpYQY7CVQ7DmkLOw9vOxAJOxFvOxIHOw5pCzsTaTI7FG87Egc7DmkLOxNpPjsVQA87FkAQOwxADzsNQAswWwdvOyQLOyJJIgpmaXJzdAY7CVQ7JUkiCmZpcnN0BjsJVDsOaQs7D287EAk7EW87Egc7DmkLOxNpQDsUbzsSBzsOaQs7E2lGOxVADzsWQBA7DEAPOw1ACzA6C0BzcGxhdDA7BlsPbzodU2Fzczo6VHJlZTo6VmFyaWFibGVOb2RlDjsiSSILcGFyc2VkBjsJVDoKQGV4cHJvOiBTYXNzOjpTY3JpcHQ6OlRyZWU6OkxpdGVyYWwJOwhvOiBTYXNzOjpTY3JpcHQ6OlZhbHVlOjpTdHJpbmcJOwhJIgAGOwlUOw1ACzsKOgtzdHJpbmc6IkBkZXByZWNhdGVkX2ludGVycF9lcXVpdmFsZW50MDsOaQw7D287EAk7EW87Egc7DmkMOxNpETsUbzsSBzsOaQw7E2kTOxVADzsWQBA7DEAPOg1AZ3VhcmRlZDA6DEBnbG9iYWwwOwZbADsMMDsNQAs7DmkMOw9vOxAJOxFvOxIHOw5pDDsTaQk7FG87Egc7DmkMOxNpEzsVQA87FkAQbzsnDjsiSSILbGVhZGVyBjsJVDsobzspCTsIbzsqCTsISSIABjsJVDsNQAs7CjsrOywwOw5pDTsPbzsQCTsRbzsSBzsOaQ07E2kROxRvOxIHOw5pDTsTaRM7FUAPOxZAEDsMQA87LTA7LjA7BlsAOwwwOw1ACzsOaQ07D287EAk7EW87Egc7DmkNOxNpCTsUbzsSBzsOaQ07E2kTOxVADzsWQBBvOwcMOwhbBkkiGy8qIElmIHdlJ3JlIGZvcmNpbmcgKi8GOwlUOwo7CzsGWwA7DDA7DUALOw5pDzsPbzsQCTsRbzsSBzsOaQ87E2kIOxRvOxIHOw5pDzsTaRs7FUAPOxZAEHU6F1Nhc3M6OlRyZWU6OklmTm9kZQIsBQQIWwhvOiJTYXNzOjpTY3JpcHQ6OlRyZWU6Ok9wZXJhdGlvbgw6DkBvcGVyYW5kMW86J1Nhc3M6OlNjcmlwdDo6VHJlZTo6VW5hcnlPcGVyYXRpb24LOg1Ab3BlcmFuZG86IVNhc3M6OlNjcmlwdDo6VHJlZTo6VmFyaWFibGULOgpAbmFtZUkiEGVtcHR5LW1lZGlhBjoGRVQ6FkB1bmRlcnNjb3JlZF9uYW1lSSIQZW1wdHlfbWVkaWEGOwtUOgpAbGluZWkQOhJAc291cmNlX3JhbmdlbzoYU2Fzczo6U291cmNlOjpSYW5nZQk6D0BzdGFydF9wb3NvOhtTYXNzOjpTb3VyY2U6OlBvc2l0aW9uBzsNaRA6DEBvZmZzZXRpEToNQGVuZF9wb3NvOxEHOw1pEDsSaR06CkBmaWxlSSJ/L0xpYnJhcnkvUnVieS9HZW1zLzIuMy4wL2dlbXMvbWluaW1hbC1taXN0YWtlcy1qZWt5bGwtNC4xNC4xL19zYXNzL21pbmltYWwtbWlzdGFrZXMvdmVuZG9yL2JyZWFrcG9pbnQvcGFyc2Vycy9fdHJpcGxlLnNjc3MGOwtUOg5AaW1wb3J0ZXJvOiBTYXNzOjpJbXBvcnRlcnM6OkZpbGVzeXN0ZW0IOgpAcm9vdEkiRy9MaWJyYXJ5L1J1YnkvR2Vtcy8yLjMuMC9nZW1zL21pbmltYWwtbWlzdGFrZXMtamVreWxsLTQuMTQuMS9fc2FzcwY7C0Y6D0ByZWFsX3Jvb3RJIkcvTGlicmFyeS9SdWJ5L0dlbXMvMi4zLjAvZ2Vtcy9taW5pbWFsLW1pc3Rha2VzLWpla3lsbC00LjE0LjEvX3Nhc3MGOwtUOhhAc2FtZV9uYW1lX3dhcm5pbmdzbzoIU2V0BjoKQGhhc2h9AEY6DkBmaWxlbmFtZUAOOg1Ab3B0aW9uc3sAOg5Ab3BlcmF0b3I6CG5vdDsNaRA7Dm87Dwk7EG87EQc7DWkQOxJpEDsTbzsRBzsNaRA7EmkeOxRADjsVQA87HEAOOx1AFDoOQG9wZXJhbmQybzsHCzsIbzsJCzsKSSIKZmlyc3QGOwtUOwxJIgpmaXJzdAY7C1Q7DWkQOw5vOw8JOxBvOxEHOw1pEDsSaSc7E287EQc7DWkQOxJpLTsUQA47FUAPOxxADjsdQBQ7HjsfOw1pEDsObzsPCTsQbzsRBzsNaRA7EmkmOxNvOxEHOw1pEDsSaS47FEAOOxVADzscQA47HUAUOx46B29yOw1pEDsObzsPCTsQQBY7E287EQc7DWkQOxJpLzsUQA47FUAPOxxADjsdQBQwWwZvOh1TYXNzOjpUcmVlOjpWYXJpYWJsZU5vZGUOOwpJIgtsZWFkZXIGOwtUOgpAZXhwcm86IFNhc3M6OlNjcmlwdDo6VHJlZTo6TGl0ZXJhbAk6C0B2YWx1ZW86IFNhc3M6OlNjcmlwdDo6VmFsdWU6OlN0cmluZwk7JUkiCWFuZCAGOwtUOx1AFDoKQHR5cGU6C3N0cmluZzoiQGRlcHJlY2F0ZWRfaW50ZXJwX2VxdWl2YWxlbnQwOw1pETsObzsPCTsQbzsRBzsNaRE7EmkTOxNvOxEHOw1pETsSaRk7FEAOOxVADzscQA46DUBndWFyZGVkMDoMQGdsb2JhbDA6DkBjaGlsZHJlblsAOxwwOx1AFDsNaRE7Dm87Dwk7EG87EQc7DWkROxJpCzsTbzsRBzsNaRE7EmkZOxRADjsVQA9vOwcMOwhbBkkiPi8qIHNlcGFyYXRlIHRoZSBzdHJpbmcgZmVhdHVyZXMgZnJvbSB0aGUgdmFsdWUgbnVtYmVycyAqLwY7CVQ7CjsLOwZbADsMMDsNQAs7DmkUOw9vOxAJOxFvOxIHOw5pFDsTaQg7FG87Egc7DmkUOxNpPjsVQA87FkAQbzsnDjsiSSILc3RyaW5nBjsJVDsobzspCTsIbzoeU2Fzczo6U2NyaXB0OjpWYWx1ZTo6TnVsbAc7CDA7DUALOw5pFTsPbzsQCTsRbzsSBzsOaRU7E2kROxRvOxIHOw5pFTsTaRU7FUAPOxZAEDsMQA87LTA7LjA7BlsAOwwwOw1ACzsOaRU7D287EAk7EW87Egc7DmkVOxNpCTsUbzsSBzsOaRU7E2kVOxVADzsWQBBvOycOOyJJIgxudW1iZXJzBjsJVDsobzspCTsIQF47DmkWOw9vOxAJOxFvOxIHOw5pFjsTaRI7FG87Egc7DmkWOxNpFjsVQA87FkAQOwxADzstMDsuMDsGWwA7DDA7DUALOw5pFjsPbzsQCTsRbzsSBzsOaRY7E2kJOxRvOxIHOw5pFjsTaRY7FUAPOxZAEG86GVNhc3M6OlRyZWU6OkVhY2hOb2RlDToKQHZhcnNbBkkiCHZhbAY7CVQ6CkBsaXN0bzskCzsiSSIMZmVhdHVyZQY7CVQ7JUkiDGZlYXR1cmUGOwlUOw5pFzsPbzsQCTsRbzsSBzsOaRc7E2kWOxRvOxIHOw5pFzsTaR47FUAPOxZAEDsMQA87DUALOwZbBnU7LwLzDgQIWwhvOiJTYXNzOjpTY3JpcHQ6OlRyZWU6Ok9wZXJhdGlvbgw6DkBvcGVyYW5kMW86IFNhc3M6OlNjcmlwdDo6VHJlZTo6RnVuY2FsbA86DkBjYWxsYWJsZTA6CkBuYW1lSSIMdHlwZS1vZgY6BkVUOgpAYXJnc1sGbzohU2Fzczo6U2NyaXB0OjpUcmVlOjpWYXJpYWJsZQs7CUkiCHZhbAY7ClQ6FkB1bmRlcnNjb3JlZF9uYW1lSSIIdmFsBjsKVDoKQGxpbmVpGDoSQHNvdXJjZV9yYW5nZW86GFNhc3M6OlNvdXJjZTo6UmFuZ2UJOg9Ac3RhcnRfcG9zbzobU2Fzczo6U291cmNlOjpQb3NpdGlvbgc7DmkYOgxAb2Zmc2V0aRY6DUBlbmRfcG9zbzsSBzsOaRg7E2kaOgpAZmlsZUkify9MaWJyYXJ5L1J1YnkvR2Vtcy8yLjMuMC9nZW1zL21pbmltYWwtbWlzdGFrZXMtamVreWxsLTQuMTQuMS9fc2Fzcy9taW5pbWFsLW1pc3Rha2VzL3ZlbmRvci9icmVha3BvaW50L3BhcnNlcnMvX3RyaXBsZS5zY3NzBjsKVDoOQGltcG9ydGVybzogU2Fzczo6SW1wb3J0ZXJzOjpGaWxlc3lzdGVtCDoKQHJvb3RJIkcvTGlicmFyeS9SdWJ5L0dlbXMvMi4zLjAvZ2Vtcy9taW5pbWFsLW1pc3Rha2VzLWpla3lsbC00LjE0LjEvX3Nhc3MGOwpGOg9AcmVhbF9yb290SSJHL0xpYnJhcnkvUnVieS9HZW1zLzIuMy4wL2dlbXMvbWluaW1hbC1taXN0YWtlcy1qZWt5bGwtNC4xNC4xL19zYXNzBjsKVDoYQHNhbWVfbmFtZV93YXJuaW5nc286CFNldAY6CkBoYXNofQBGOg5AZmlsZW5hbWVAEDoNQG9wdGlvbnN7ADoOQGtleXdvcmRzbzoeU2Fzczo6VXRpbDo6Tm9ybWFsaXplZE1hcAc6EUBrZXlfc3RyaW5nc3sAOglAbWFwewA6C0BzcGxhdDA6EUBrd2FyZ19zcGxhdDA7DmkYOw9vOxAJOxFvOxIHOw5pGDsTaQ47FG87Egc7DmkYOxNpGzsVQBA7FkAROx1AEDseQBY6DkBvcGVyYW5kMm86IFNhc3M6OlNjcmlwdDo6VHJlZTo6TGl0ZXJhbAk6C0B2YWx1ZW86IFNhc3M6OlNjcmlwdDo6VmFsdWU6OlN0cmluZwk7J0kiC3N0cmluZwY7ClQ7HkAWOgpAdHlwZToPaWRlbnRpZmllcjoiQGRlcHJlY2F0ZWRfaW50ZXJwX2VxdWl2YWxlbnQwOw5pGDsPbzsQCTsRbzsSBzsOaRg7E2kfOxRvOxIHOw5pGDsTaSU7FUAQOxZAETsdQBA6DkBvcGVyYXRvcjoHZXE7DmkYOw9vOxAJOxFAGzsUbzsSBzsOaRg7E2kmOxVAEDsWQBE7HUAQOx5AFnU6F1Nhc3M6OlRyZWU6OklmTm9kZQKZCQQIWwgwMFsGdToXU2Fzczo6VHJlZTo6SWZOb2RlAnkJBAhbCG86IlNhc3M6OlNjcmlwdDo6VHJlZTo6T3BlcmF0aW9uDDoOQG9wZXJhbmQxbzogU2Fzczo6U2NyaXB0OjpUcmVlOjpGdW5jYWxsDzoOQGNhbGxhYmxlMDoKQG5hbWVJIgx0eXBlLW9mBjoGRVQ6CkBhcmdzWwZvOiFTYXNzOjpTY3JpcHQ6OlRyZWU6OlZhcmlhYmxlCzsJSSIMbnVtYmVycwY7ClQ6FkB1bmRlcnNjb3JlZF9uYW1lSSIMbnVtYmVycwY7ClQ6CkBsaW5laRw6EkBzb3VyY2VfcmFuZ2VvOhhTYXNzOjpTb3VyY2U6OlJhbmdlCToPQHN0YXJ0X3Bvc286G1Nhc3M6OlNvdXJjZTo6UG9zaXRpb24HOw5pHDoMQG9mZnNldGkYOg1AZW5kX3Bvc287Egc7DmkcOxNpIDoKQGZpbGVJIn8vTGlicmFyeS9SdWJ5L0dlbXMvMi4zLjAvZ2Vtcy9taW5pbWFsLW1pc3Rha2VzLWpla3lsbC00LjE0LjEvX3Nhc3MvbWluaW1hbC1taXN0YWtlcy92ZW5kb3IvYnJlYWtwb2ludC9wYXJzZXJzL190cmlwbGUuc2NzcwY7ClQ6DkBpbXBvcnRlcm86IFNhc3M6OkltcG9ydGVyczo6RmlsZXN5c3RlbQg6CkByb290SSJHL0xpYnJhcnkvUnVieS9HZW1zLzIuMy4wL2dlbXMvbWluaW1hbC1taXN0YWtlcy1qZWt5bGwtNC4xNC4xL19zYXNzBjsKRjoPQHJlYWxfcm9vdEkiRy9MaWJyYXJ5L1J1YnkvR2Vtcy8yLjMuMC9nZW1zL21pbmltYWwtbWlzdGFrZXMtamVreWxsLTQuMTQuMS9fc2FzcwY7ClQ6GEBzYW1lX25hbWVfd2FybmluZ3NvOghTZXQGOgpAaGFzaH0ARjoOQGZpbGVuYW1lQBA6DUBvcHRpb25zewA6DkBrZXl3b3Jkc286HlNhc3M6OlV0aWw6Ok5vcm1hbGl6ZWRNYXAHOhFAa2V5X3N0cmluZ3N7ADoJQG1hcHsAOgtAc3BsYXQwOhFAa3dhcmdfc3BsYXQwOw5pHDsPbzsQCTsRbzsSBzsOaRw7E2kQOxRvOxIHOw5pHDsTaSE7FUAQOxZAETsdQBA7HkAWOg5Ab3BlcmFuZDJvOiBTYXNzOjpTY3JpcHQ6OlRyZWU6OkxpdGVyYWwJOgtAdmFsdWVvOiBTYXNzOjpTY3JpcHQ6OlZhbHVlOjpTdHJpbmcJOydJIgludWxsBjsKVDseQBY6CkB0eXBlOgtzdHJpbmc6IkBkZXByZWNhdGVkX2ludGVycF9lcXVpdmFsZW50MDsOaRw7D287EAk7EW87Egc7DmkcOxNpJTsUbzsSBzsOaRw7E2krOxVAEDsWQBE7HUAQOg5Ab3BlcmF0b3I6B2VxOw5pHDsPbzsQCTsRQBs7FG87Egc7DmkcOxNpLDsVQBA7FkAROx1AEDseQBZ1OhdTYXNzOjpUcmVlOjpJZk5vZGUCHAQECFsIMDBbBm86HVNhc3M6OlRyZWU6OlZhcmlhYmxlTm9kZQ46CkBuYW1lSSIMbnVtYmVycwY6BkVUOgpAZXhwcm86IFNhc3M6OlNjcmlwdDo6VHJlZTo6RnVuY2FsbA86DkBjYWxsYWJsZTA7BkkiC2FwcGVuZAY7B1Q6CkBhcmdzWwdvOiFTYXNzOjpTY3JpcHQ6OlRyZWU6OlZhcmlhYmxlCzsGSSIMbnVtYmVycwY7B1Q6FkB1bmRlcnNjb3JlZF9uYW1lSSIMbnVtYmVycwY7B1Q6CkBsaW5laSA6EkBzb3VyY2VfcmFuZ2VvOhhTYXNzOjpTb3VyY2U6OlJhbmdlCToPQHN0YXJ0X3Bvc286G1Nhc3M6OlNvdXJjZTo6UG9zaXRpb24HOw5pIDoMQG9mZnNldGkfOg1AZW5kX3Bvc287Egc7DmkgOxNpJzoKQGZpbGVJIn8vTGlicmFyeS9SdWJ5L0dlbXMvMi4zLjAvZ2Vtcy9taW5pbWFsLW1pc3Rha2VzLWpla3lsbC00LjE0LjEvX3Nhc3MvbWluaW1hbC1taXN0YWtlcy92ZW5kb3IvYnJlYWtwb2ludC9wYXJzZXJzL190cmlwbGUuc2NzcwY7B1Q6DkBpbXBvcnRlcm86IFNhc3M6OkltcG9ydGVyczo6RmlsZXN5c3RlbQg6CkByb290SSJHL0xpYnJhcnkvUnVieS9HZW1zLzIuMy4wL2dlbXMvbWluaW1hbC1taXN0YWtlcy1qZWt5bGwtNC4xNC4xL19zYXNzBjsHRjoPQHJlYWxfcm9vdEkiRy9MaWJyYXJ5L1J1YnkvR2Vtcy8yLjMuMC9nZW1zL21pbmltYWwtbWlzdGFrZXMtamVreWxsLTQuMTQuMS9fc2FzcwY7B1Q6GEBzYW1lX25hbWVfd2FybmluZ3NvOghTZXQGOgpAaGFzaH0ARjoOQGZpbGVuYW1lQBI6DUBvcHRpb25zewBvOwwLOwZJIgh2YWwGOwdUOw1JIgh2YWwGOwdUOw5pIDsPbzsQCTsRbzsSBzsOaSA7E2kpOxRvOxIHOw5pIDsTaS07FUASOxZAEzsdQBI7HkAYOg5Aa2V5d29yZHNvOh5TYXNzOjpVdGlsOjpOb3JtYWxpemVkTWFwBzoRQGtleV9zdHJpbmdzewA6CUBtYXB7ADoLQHNwbGF0MDoRQGt3YXJnX3NwbGF0MDsOaSA7D287EAk7EW87Egc7DmkgOxNpGDsUbzsSBzsOaSA7E2kuOxVAEjsWQBM7HUASOx5AGDoNQGd1YXJkZWQwOgxAZ2xvYmFsMDoOQGNoaWxkcmVuWwA7HTA7HkAYOw5pIDsPbzsQCTsRbzsSBzsOaSA7E2kPOxRv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