YQ0NCgAAAAB4Eahin2QAAOMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABz7AEAAGQAZAFsAFoAZAJkA2wBbQJaAgEAZAJkBGwDbQRaBAEAZAJkBWwDbQVaBQEAZAJkBmwDbQZaBgEAZAJkB2wDbQdaBwEAZAJkCGwIbQlaCQEAZAJkCWwIbQpaCgEAZAJkCmwIbQtaCwEAZAJkC2wIbQxaDAEAZAJkDGwIbQ1aDQEAZAJkDWwIbQ5aDgEAZAJkDmwPbRBaEAEAZAJkD2wPbRFaEQEAZAJkEGwPbRJaEgEAZAJkEWwPbRNaEwEAZAJkEmwPbRRaFAEAZAJkE2wPbRVaFQEAZAJkFGwPbRZaFgEAZAJkFWwXbRhaGAEAZAJkFmwZbRpaGgEAZAJkF2wbbRxaHQEAZAJkGGwebR9aHwEAZAJkGWwebSBaIAEAZAJkGmwebSFaIQEAZAJkG2webSJaIgEAZAJkHGwebSNaIwEAZAJkHWwebSRaJAEAZAJkHmwebSVaJQEAZAJkH2webSZaJgEAZAJkIGwnbShaKAEAZAJkIWwpbSlaKQEAZAJkImwqbStaKwEAZAJkI2wsbS1aLQEAZDlkJWQmhAFaLmQnZCiEAFovZClkKoQAWjBkK2QshABaMWQtZC6EAFoyZDpkL2QwhAFaM2QxZDKEAFo0ZDNkNIQAWjVkNWQ2hABaNmQ3ZDiEAFo3ZAFTACk76QAAAABO6QEAAAApAdoKbmFtZV9zdHlsZSkB2hBibGlua19jbGFzc19uYW1lKQHaD2JsaW5rX3R5cGVfaW5mbykB2hZtYWtlX2JsaW5rX3RvX3Y4X3ZhbHVlKQHaEG5hdGl2ZV92YWx1ZV90YWcpAdoJRW1wdHlOb2RlKQHaCExpc3ROb2RlKQHaDFNlcXVlbmNlTm9kZSkB2gpTeW1ib2xOb2RlKQHaD1N5bWJvbFNjb3BlTm9kZSkB2ghUZXh0Tm9kZSkB2g9DeHhDbGFzc0RlZk5vZGUpAdoOQ3h4Rm9yTG9vcE5vZGUpAdoPQ3h4RnVuY0RlY2xOb2RlKQHaDkN4eEZ1bmNEZWZOb2RlKQHaD0N4eExpa2VseUlmTm9kZSkB2hBDeHhOYW1lc3BhY2VOb2RlKQHaEUN4eFVubGlrZWx5SWZOb2RlKQHaEkNvZGVHZW5BY2N1bXVsYXRvcikB2g5Db2RlR2VuQ29udGV4dCkB2g9mb3JtYXRfdGVtcGxhdGUpAdopY29sbGVjdF9mb3J3YXJkX2RlY2xzX2FuZF9pbmNsdWRlX2hlYWRlcnMpAdoQY29tcG9uZW50X2V4cG9ydCkB2hdjb21wb25lbnRfZXhwb3J0X2hlYWRlcikB2hllbmNsb3NlX3dpdGhfaGVhZGVyX2d1YXJkKQHaFW1ha2VfY29weXJpZ2h0X2hlYWRlcikB2hltYWtlX2ZvcndhcmRfZGVjbGFyYXRpb25zKQHaHm1ha2VfaGVhZGVyX2luY2x1ZGVfZGlyZWN0aXZlcykB2hd3cml0ZV9jb2RlX25vZGVfdG9fZmlsZSkB2gxNYWtvUmVuZGVyZXIpAdoTcGFja2FnZV9pbml0aWFsaXplcikB2gtQYXRoTWFuYWdlcikB2glUYXNrUXVldWVGYwMAAAAAAAAAAAAAAAUAAAAHAAAAQwAAAHPAAAAAdAB8AHQBgwJzDkoAggF0AHwBdAKDAnMcSgCCAXQAfAJ0A4MCcypKAIIBdAR9A2cAfQR8BKAFfANkAWQCgwJ8A2QDZASDAnwDZAVkBoMCZwOhAQEAfAFqBnKSfASgB3wDZAdkCIMCoQEBAHwCcoB8BKAHfANkCWQKgwKhAQEAcbJ8BKAHfANkCWQLgwKhAQEAbiB8AWoIcrJ8BKAFfANkB2QMgwJ8A2QJZA2DAmcCoQEBAHwAoAl8BKEBAQBkAFMAKQ5OWg9leGNlcHRpb25fc3RhdGV6dkV4Y2VwdGlvblN0YXRlICR7ZXhjZXB0aW9uX3N0YXRlfSgke2lzb2xhdGV9LCBFeGNlcHRpb25TdGF0ZTo6a0V4ZWN1dGlvbkNvbnRleHQsJHtjbGFzc19saWtlX25hbWV9LCAke3Byb3BlcnR5X25hbWV9KTvaB2lzb2xhdGV6J3Y4OjpJc29sYXRlKiAke2lzb2xhdGV9ID0gR2V0SXNvbGF0ZSgpO9oMc2NyaXB0X3N0YXRlej1TY3JpcHRTdGF0ZSogJHtzY3JpcHRfc3RhdGV9ID0gQ2FsbGJhY2tSZWxldmFudFNjcmlwdFN0YXRlKCk7Wg9jbGFzc19saWtlX25hbWV6SWNvbnN0IGNoYXIqIGNvbnN0ICR7Y2xhc3NfbGlrZV9uYW1lfSA9ICIke2NhbGxiYWNrX2Z1bmN0aW9uLmlkZW50aWZpZXJ9IjtaDXByb3BlcnR5X25hbWV6MWNvbnN0IGNoYXIqIGNvbnN0ICR7cHJvcGVydHlfbmFtZX0gPSAiY29uc3RydWN0Ijt6LmNvbnN0IGNoYXIqIGNvbnN0ICR7cHJvcGVydHlfbmFtZX0gPSAiaW52b2tlIjt6SmNvbnN0IGNoYXIqIGNvbnN0ICR7Y2xhc3NfbGlrZV9uYW1lfSA9ICIke2NhbGxiYWNrX2ludGVyZmFjZS5pZGVudGlmaWVyfSI7ej5jb25zdCBjaGFyKiBjb25zdCAke3Byb3BlcnR5X25hbWV9ID0gIiR7cHJvcGVydHkuaWRlbnRpZmllcn0iOykK2gppc2luc3RhbmNlcgwAAAByFgAAANoEYm9vbHILAAAA2gZleHRlbmTaEWNhbGxiYWNrX2Z1bmN0aW9u2gZhcHBlbmTaEmNhbGxiYWNrX2ludGVyZmFjZVoVcmVnaXN0ZXJfY29kZV9zeW1ib2xzKQXaCWNvZGVfbm9kZdoKY2dfY29udGV4dNoRaXNfY29uc3RydWN0X2NhbGzaAVNaCmxvY2FsX3ZhcnOpAHIwAAAA+movd29ya3NwYWNlL2NoZWNrb3V0L2Nocm9taXVtL3NyYy90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL2NhbGxiYWNrX2Z1bmN0aW9uLnB52g9iaW5kX2xvY2FsX3ZhcnMqAAAAc0IAAAAAAQ4BDgEOAgQCBAIEAQgDCAEEAQL/AvsGCQYBBAEI/wQDBAEEAQQBAv8C/wYEBAEEAQL/Av8GAwYBBAEIAgj9BgdyMgAAAGMBAAAAAAAAAAAAAAAHAAAABgAAAEMAAABzdgAAAHQAfAB0AWoCgwJzEEoAggFnAH0BdAN8AGoEgwFEAF1SXAJ9An0DdAV8A2oGgwF9BHwDagZqB2QBZAKNAWoIckh8BGoJfQVuBnwEagp9BXQLoAxkA3wCZAQXAHwDag2hA30GfAGgDnwFfAZmAqEBAQBxHnwBUwApBU5GqQHaCHZhcmlhZGljeghhcmd7fV97fXICAAAAKQ9yJgAAANoHd2ViX2lkbNoMRnVuY3Rpb25MaWtl2gllbnVtZXJhdGXaCWFyZ3VtZW50c3IFAAAA2ghpZGxfdHlwZdoG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AAB6M21ha2VfY2FsbGJhY2tfaW52b2NhdGlvbl9mdW5jdGlvbi48bG9jYWxzPi48bGFtYmRhPtoEdm9pZHoNdjg6Ok1heWJlPHt9PmMBAAAAAAAAAAAAAAADAAAABgAAAFMAAABzHAAAAGcAfABdFFwCfQF9AmQAoAB8AXwCoQKRAnEEUwCpAXoFe30ge32pAdoGZm9ybWF0qQPaAi4wckEAAAByQgAAAHIwAAAAcjAAAAByMQAAANoKPGxpc3Rjb21wPq0AAABzBAAAAAYCBv96NW1ha2VfY2FsbGJhY2tfaW52b2NhdGlvbl9mdW5jdGlvbi48bG9jYWxzPi48bGlzdGNvbXA+cgEAAAD6N2JpbmRpbmdzOjpWOFZhbHVlT3JTY3JpcHRXcmFwcGFibGVBZGFwdGVyIGFyZzBfcmVjZWl2ZXJUKQRyRQAAAHJGAAAAckcAAABaEndhcm5fdW51c2VkX3Jlc3VsdHpaLy8gUGVyZm9ybXMgImNvbnN0cnVjdCIuCi8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2NvbnN0cnVjdC1hLWNhbGxiYWNrLWZ1bmN0aW9uelQvLyBQZXJmb3JtcyAiaW52b2tlIi4KLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaW52b2tlLWEtY2FsbGJhY2stZnVuY3Rpb256by8vIFBlcmZvcm1zICJjYWxsIGEgdXNlciBvYmplY3QncyBvcGVyYXRpb24iLgovLyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNjYWxsLWEtdXNlci1vYmplY3RzLW9wZXJhdGlvbqkEckUAAAByRgAAAHJHAAAAclAAAADaDWFyZzBfcmVjZWl2ZXJaB251bGxwdHIpAdoHdHlwZWRlZnoOdjg6Okp1c3RWb2lkKCl6F2hlbHBlci5SZXN1bHQ8e30sIHt9PigpWhdyZXR1cm5fdmFsdWVfb25fc3VjY2Vzc3oRdjg6Ok5vdGhpbmc8e30+KClaF3JldHVybl92YWx1ZV9vbl9mYWlsdXJletxTY3JpcHRTdGF0ZSogY2FsbGJhY2tfcmVsZXZhbnRfc2NyaXB0X3N0YXRlID0KICAgIENhbGxiYWNrUmVsZXZhbnRTY3JpcHRTdGF0ZU9yVGhyb3dFeGNlcHRpb24oCiAgICAgICAgJHtjbGFzc19saWtlX25hbWV9LCAke3Byb3BlcnR5X25hbWV9KTsKaWYgKCFjYWxsYmFja19yZWxldmFudF9zY3JpcHRfc3RhdGUpIHsKICByZXR1cm4gJHtyZXR1cm5fdmFsdWVfb25fZmFpbHVyZX07Cn0KelMhSXNDYWxsYmFja0Z1bmN0aW9uUnVubmFibGUoY2FsbGJhY2tfcmVsZXZhbnRfc2NyaXB0X3N0YXRlLCBJbmN1bWJlbnRTY3JpcHRTdGF0ZSgpKXopdjg6OkhhbmRsZVNjb3BlIGhhbmRsZV9zY29wZSgke2lzb2xhdGV9KTt6RnY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0X3Njb3BlKENhbGxiYWNrT2JqZWN0KCktPkNyZWF0aW9uQ29udGV4dCgpKTt6gyR7ZXhjZXB0aW9uX3N0YXRlfS5UaHJvd0V4Y2VwdGlvbihzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihFU0Vycm9yVHlwZTo6a0Vycm9yKSwgIlRoZSBwcm92aWRlZCBjYWxsYmFjayBpcyBubyBsb25nZXIgcnVubmFibGUuIik7eiJyZXR1cm4gJHtyZXR1cm5fdmFsdWVfb25fZmFpbHVyZX07KQLaBGNvbmRySgAAANoUQ2FsbGJhY2tGdW5jdGlvbkJhc2V6NGJpbmRpbmdzOjpDYWxsYmFja0ludm9rZUhlbHBlck1vZGU6OmtDb25zdHJ1Y3RvckNhbGxaGkxlZ2FjeVRyZWF0Tm9uT2JqZWN0QXNOdWxsej9iaW5kaW5nczo6Q2FsbGJhY2tJbnZva2VIZWxwZXJNb2RlOjprTGVnYWN5VHJlYXROb25PYmplY3RBc051bGxaFUNhbGxiYWNrSW50ZXJmYWNlQmFzZXpqYmluZGluZ3M6OkNhbGxiYWNrSW52b2tlSGVscGVyPHt0ZW1wbGF0ZV9wYXJhbXN9PiBoZWxwZXIoCiAgICB0aGlzLCAke2NsYXNzX2xpa2VfbmFtZX0sICR7cHJvcGVydHlfbmFtZX0pO/oCLCApAdoPdGVtcGxhdGVfcGFyYW1zejJVTkxJS0VMWSghaGVscGVyLlByZXBhcmVGb3JDYWxsKCR7YXJnMF9yZWNlaXZlcn0pKXobaGVscGVyLlY4UmVzdWx0KCkuSXNFbXB0eSgpeiJyZXR1cm4gJHtyZXR1cm5fdmFsdWVfb25fc3VjY2Vzc307ehNjb25zdCBpbnQgYXJnYyA9IDA7eiV2ODo6TG9jYWw8djg6OlZhbHVlPiogYXJndiA9IG51bGxwdHI76f////96IGNvbnN0IGludCBhcmdjID0ge30gKyB7fS5zaXplKCk7cgIAAAB6FGNvbnN0IGludCBhcmdjID0ge307ei12ODo6TG9jYWw8djg6OlZhbHVlPiBhcmd2W3N0ZDo6bWF4KDEsIGFyZ2MpXTt6IHY4OjpMb2NhbDx2ODo6VmFsdWU+IGFyZ3ZbYXJnY107egt2OF9hcmd7fV97fSkCckAAAABaG2Vycm9yX2V4aXRfcmV0dXJuX3N0YXRlbWVudHoeYXJndlt7aW5kZXh9XSA9ICR7e3t2OF9hcmd9fX07KQJyPwAAANoGdjhfYXJnegV7fVtpXXIzAAAAeit3dGZfc2l6ZV90IGkgPSAwOyBpIDwge3Zhcl9hcmd9LnNpemUoKTsgKytpKQFaB3Zhcl9hcmd6LWFyZ3Zbe25vbl92YXJfYXJnX3NpemV9ICsgaV0gPSAke3t7djhfYXJnfX19OykCWhBub25fdmFyX2FyZ19zaXplcnAAAAByJAAAAHIlAAAAKQNyawAAAHJKAAAAWg13ZWFrX2RlcF9zeW1zehghaGVscGVyLkNhbGwoYXJnYywgYXJndikpLHImAAAAchYAAADaA3N0cnInAAAAcg0AAADaDWZ1bmN0aW9uX2xpa2VyRwAAAHI6AAAA2gdpc192b2lkcgUAAABaB3ZhbHVlX3RyYwAAAHJDAAAA2gZpbnNlcnRyCgAAAHIQAAAAcikAAAByKwAAAHIoAAAAchEAAAByUAAAAHJIAAAAckkAAAByKgAAAHJKAAAA2hBhZGRfdGVtcGxhdGVfdmFycjIAAAByBwAAAHIUAAAAcggAAADaE2V4dGVuZGVkX2F0dHJpYnV0ZXPaBGpvaW5yEgAAAHI4AAAA2gtpc192YXJpYWRpY9oDbGVucjcAAAByAwAAAFoLbG9jYWxfdmFyX2ZyPAAAAFoUcmVnaXN0ZXJfY29kZV9zeW1ib2xyBgAAAHI5AAAAcg8AAAApG3ItAAAA2g1mdW5jdGlvbl9uYW1l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KTsKCmNvbnN0IGJvb2wgaXNfcnVubmFibGUgPQogICAgaWdub3JlX3BhdXNlID09IElnbm9yZVBhdXNlOjprSWdub3JlCiAgICA/IElzQ2FsbGJhY2tGdW5jdGlvblJ1bm5hYmxlSWdub3JpbmdQYXVzZSgKICAgICAgICAgIGNhbGxiYWNrX3JlbGV2YW50X3NjcmlwdF9zdGF0ZSwgSW5jdW1iZW50U2NyaXB0U3RhdGUoKSkKICAgIDogSXNDYWxsYmFja0Z1bmN0aW9uUnVubmFibGUoCiAgICAgICAgICBjYWxsYmFja19yZWxldmFudF9zY3JpcHRfc3RhdGUsIEluY3VtYmVudFNjcmlwdFN0YXRlKCkpOwppZiAoaXNfcnVubmFibGUpCiAgcmV0dXJuIHRydWU7Cno5U2NyaXB0U3RhdGU6OlNjb3BlIHNjb3BlKGNhbGxiYWNrX3JlbGV2YW50X3NjcmlwdF9zdGF0ZSk7epoke2V4Y2VwdGlvbl9zdGF0ZX0uVGhyb3dFeGNlcHRpb24oCiAgICBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihFU0Vycm9yVHlwZTo6a0Vycm9yKSwKICAgICJUaGUgcHJvdmlkZWQgY2FsbGJhY2sgaXMgbm8gbG9uZ2VyIHJ1bm5hYmxlLiIpOwpyZXR1cm4gZmFsc2U7KRByJgAAAHIWAAAAcnEAAAByDQAAAHIKAAAAcgkAAAByEAAAAHIoAAAAchEAAAByUAAAAHJIAAAAckkAAAByKgAAAHJKAAAAcnUAAAByMgAAACkJci0AAAByegAAAHJdAAAAclEAAAByfQAAAFoQaWdub3JlX3BhdXNlX2RlZnJUAAAAcksAAABySgAAAHIwAAAAcjAAAAByMQAAANojbWFrZV9pc19ydW5uYWJsZV9vcl90aHJvd19leGNlcHRpb26lAQAAc0gAAAAAAQ4BDgIEAgYBBgICAQYBBgEGAQb8BgYEAQQBAv4GAwQBBgQCAQL6BgkEAQQBAgEE/QYEDgEKAQYBDAEKAgQBBgwGAQbyBhZyhwAAAGMBAAAAAAAAAAAAAAAkAAAACQAAAEMAAABz1AQAAHQAfAB0AWoCgwJzEEoAggF0A4MAoAShAH0BfAGgBXwAoQF9AnQGfAKDAX0DfANqB3wDaghrAnM8SgCCAXwDagd9BHwCaglqCn0FdAt8AoMBfQZ0DHwCfAZkAWQCjQN9B3wDag1kA2QEjQF9CHwDag1kBWQEjQF9CXQOZAZkB40BfQp8CqAPdBCDAKEBAQB8CqARdBKDAKEBAQB0DmQGZAeNAX0LfAugD3QQgwChAQEAfAugEXQSgwChAQEAdBN0FKAVZAihAYMBfQx0E3QUoBVkCKEBgwF9DXQWfAdqF2QBZwFkCXQYfAR8BYMCZAqNBH0OfA6gGXwHoBqhAKEBAQB0G3wHgwFcAn0PfRB0HHwHgwFcAn0RfRJ0HXwHgwFcAn0TfRR8B2oefAJkC40BfRV0H3wVdBSgIGQMoQFkDWQOjQNcAn0WfRd0H3wVdBSgIGQPoQFkCWQOjQNcAn0YfRl0IXwVdBSgIGQQoQF0FKAgZAyhAYMDXAJ9Gn0bZBFcAn0cfR18AmoiZBJrApACcgh0I4MAfRx0I4MAfR10JHwVdBSgIGQToQGDAlwCfR59H3wcoCV8HqEBAQB8HaAlfB+hAQEAfBygJXQmgwChAQEAfB2gJXQmgwChAQEAdB98FXQUoCBkFKEBZAlkFY0DXAJ9Hn0ffBygJXweoQEBAHwdoCV8H6EBAQB8CqAndCiDAHQmgwB0KXQOdCp8CmorgwF0JoMAfAxnA4MBdBSgLHwIoQGDAmcDoQEBAHwMai2gJ3QufApqK4MBdCaDAGcCoQEBAHwLoCd0KIMAdCaDAHQvZBagMHwIoQGDAXQmgwB0KnwLaiuDAXQmgwB8DWcHoQEBAHwNai2gJ3QufAtqK4MBdCaDAGcCoQEBAHwKaiugMXQyfAR8BYMCZBdkGGcDoQEBAHwLaiugMWcAZBmiAaEBAQB0M3wCajRnAXQ1dDZkGmQbhAB8Amo3gwKDARcAgwFcBH0gfSF9In0jfApqK6A4fCChAQEAfApqK6AxfCGhAQEAfAtqK6A4fCKhAQEAfAtqK6AxfCOhAQEAfAxqLaAlfA6hAQEAfAxqLaAldCaDAKEBAQB8Dmo5oCV8D6EBAQB8Dmo5oCV0JoMAoQEBAHwNai2gJXwQoQEBAHwNai2gJXQmgwChAQEAfA5qOaAlfBGhAQEAfA5qOaAldCaDAKEBAQB8DWotoCV8EqEBAQB8DWotoCV0JoMAoQEBAHwOajmgJXQvZByDAaEBAQB8Dmo5oCV8E6EBAQB8Dmo5oCV0JoMAoQEBAHwNai2gJXwUoQEBAHwNai2gJXQmgwChAQEAfA5qOaAlfBahAQEAfA5qOaAldCaDAKEBAQB8DWotoCV8F6EBAQB8DWotoCV0JoMAoQEBAHwOajmgJXwYoQEBAHwOajmgJXQmgwChAQEAfA1qLaAlfBmhAQEAfA1qLaAldCaDAKEBAQB8Dmo5oCV8GqEBAQB8Dmo5oCV0JoMAoQEBAHwNai2gJXwboQEBAHwNai2gJXQmgwChAQEAfA5qOaAlfByhAQEAfA5qOaAldCaDAKEBAQB8DWotoCV8HaEBAQB8DWotoCV0JoMAoQEBAHQ6fAp8A6A7fAihAYMCAQB0OnwLfAOgO3wJoQGDAgEAZABTACkdTnJsAAAAKQNyKQAAAHJQAAAAWg9iYXNlX2NsYXNzX25hbWXaAWgpAVoDZXh0WgJjY9oBCikB2gR0YWls2gVibGlua1QpA1oQYmFzZV9jbGFzc19uYW1lc9oFZmluYWzaBmV4cG9ydCkBcikAAABaBkludm9rZUYpAXIuAAAAWglDb25zdHJ1Y3RaGEludm9rZUFuZFJlcG9ydEV4Y2VwdGlvbnKCAAAAWhNFdmVudEhhbmRsZXJOb25OdWxsWhpJc1J1bm5hYmxlT3JUaHJvd0V4Y2VwdGlvblodSW52b2tlV2l0aG91dFJ1bm5hYmlsaXR5Q2hlY2spAXJ7AAAAeg0jaW5jbHVkZSAie30iekV0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy9jYWxsYmFja19mdW5jdGlvbl9iYXNlLmh6U3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2JpbmRpbmdzL3Y4X3ZhbHVlX29yX3NjcmlwdF93cmFwcGFibGVfYWRhcHRlci5oKQN6RHRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvY2FsbGJhY2tfaW52b2tlX2hlbHBlci5oekN0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L2dlbmVyYXRlZF9jb2RlX2hlbHBlci5oejp0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L3RvX3Y4X3RyYWl0cy5oYwEAAAAAAAAAAAAAAAEAAAABAAAAUwAAAHMGAAAAfABqAFMAclYAAAApAXI5AAAAKQFyQAAAAHIwAAAAcjAAAAByMQAAAHJeAAAAWwIAAHJfAAAAeixnZW5lcmF0ZV9jYWxsYmFja19mdW5jdGlvbi48bG9jYWxzPi48bGFtYmRhPnoYLy8gTmFtZUNsaWVudCBvdmVycmlkZXM6KTxyJgAAAHI1AAAA2gpJZGVudGlmaWVyciEAAADaEHdlYl9pZGxfZGF0YWJhc2XaBGZpbmRyIgAAANoNYXBpX2NvbXBvbmVudFoOaW1wbF9jb21wb25lbnTaE2NvZGVfZ2VuZXJhdG9yX2luZm/aC2Zvcl90ZXN0aW5ncgQAAAByFgAAAFoIYXBpX3BhdGhyCQAAAFoPc2V0X2FjY3VtdWxhdG9ychUAAABaDHNldF9yZW5kZXJlcnIgAAAAchMAAAByAwAAANoJbmFtZXNwYWNlcg4AAAByUAAAAHIZAAAAckgAAABySQAAAHJMAAAAclIAAAByVQAAANoJbWFrZV9jb3B5coEAAADaBGZ1bmNyhgAAAHI8AAAAcgoAAAByhwAAAHIqAAAAcggAAAByKAAAAHIcAAAAchsAAAByHgAAAFoLYWNjdW11bGF0b3JaDGhlYWRlcl9ndWFyZHJKAAAAch0AAAByDQAAAHJjAAAAWhNhZGRfaW5jbHVkZV9oZWFkZXJzchoAAAByGAAAAHJHAAAA2gRsaXN02gNtYXByOAAAAFoPYWRkX2NsYXNzX2RlY2xzWg5wdWJsaWNfc2VjdGlvbnIfAAAAWgtnZW5fcGF0aF90bykkWhxjYWxsYmFja19mdW5jdGlvbl9pZGVudGlmaWVyco8AAAByKQAAANoMcGF0aF9tYW5hZ2VycpEAAABykwAAAHJQAAAAci0AAABaC2hlYWRlcl9wYXRo2gtzb3VyY2VfcGF0aFoLaGVhZGVyX25vZGVaC3NvdXJjZV9ub2RlWg9oZWFkZXJfYmxpbmtfbnNaD3NvdXJjZV9ibGlua19uc1oJY2xhc3NfZGVmWg1mYWN0b3J5X2RlY2xzWgxmYWN0b3J5X2RlZnNaCmN0b3JfZGVjbHNaCWN0b3JfZGVmc1oQbmFtZWNsaWVudF9kZWNsc1oPbmFtZWNsaWVudF9kZWZzWgNjZ2NaDGludm9rZV9kZWNsc1oLaW52b2tlX2RlZnNaD2NvbnN0cnVjdF9kZWNsc1oOY29uc3RydWN0X2RlZnNaF2ludm9rZV9hbmRfcmVwb3J0X2RlY2xzWhZpbnZva2VfYW5kX3JlcG9ydF9kZWZzWhNldmVudF9oYW5kbGVyX2RlY2xzWhJldmVudF9oYW5kbGVyX2RlZnNyUQAAAHJ9AAAAWhRoZWFkZXJfZm9yd2FyZF9kZWNsc1oWaGVhZGVyX2luY2x1ZGVfaGVhZGVyc1oUc291cmNlX2ZvcndhcmRfZGVjbHNaFnNvdXJjZV9pbmNsdWRlX2hlYWRlcnNyMAAAAHIwAAAAcjEAAADaGmdlbmVyYXRlX2NhbGxiYWNrX2Z1bmN0aW9u4wEAAHMmAQAAAAEQAgoBCgIIARABBgEIAwgCBAECAQL+BgUMAQwDCgEMAQwBCgEMAQwDDgEOAwYBBAECAQIBBP8C/QYFDgMMAQwBAgEC/wgDDAICAQz/CgICAQz/CgQCAQoBCP4C/wQBAgQIAQwBBgEGAQIBCv8IAgoBCgEMAQwBAgECAQgBAv0KBAoBCgMEAQQBBAECAQIBCAEEAQL9BAQI+wL9BgoGAQgBBP4GBAQBBAEEAQwBBAEIAQQBAvkGCQYBCAEE/gYGBgEIAQIBAv0GBRAGAgEIAQgBBP8C/wT/Av8IAQIEDAEMAQwBDAIMAQ4CDAEOAQwBDgIMAQ4BDAEOAhABDAEOAQwBDgIMAQ4BDAEOAgwBDgEMAQ4CDAEOAQwBDgIMAQ4BDAEOAxABcpsAAABjAQAAAAAAAAAAAAAAAwAAAAUAAABDAAAAc0IAAAB0AHwAdAGDAnMOSgCCAXQCgwCgA6EAfQF8AWoERABdHn0CfAJqBWQBdgByLnEefACgBnQHfAJqBaECAQBxHmQAUwApAk4pAloaT25FcnJvckV2ZW50SGFuZGxlck5vbk51bGxaIU9uQmVmb3JlVW5sb2FkRXZlbnRIYW5kbGVyTm9uTnVsbCkIciYAAAByIwAAAHIhAAAAco8AAADaEmNhbGxiYWNrX2Z1bmN0aW9uc3I8AAAAWglwb3N0X3Rhc2tymwAAACkD2gp0YXNrX3F1ZXVlco8AAAByKQAAAHIwAAAAcjAAAAByMQAAANobZ2VuZXJhdGVfY2FsbGJhY2tfZnVuY3Rpb25zjgIAAHMQAAAAAAEOAgoCCgEKBQIBBgEE/3KeAAAAKQFGKQJGRik4cjUAAAByTQAAAHIDAAAAWg9ibGlua192OF9icmlkZ2VyBAAAAHIFAAAAcgYAAAByBwAAAHIsAAAAcggAAAByCQAAAHIKAAAAcgsAAAByDAAAAHINAAAAWg1jb2RlX25vZGVfY3h4cg4AAAByDwAAAHIQAAAAchEAAAByEgAAAHITAAAAchQAAABaE2NvZGVnZW5fYWNjdW11bGF0b3JyFQAAAFoPY29kZWdlbl9jb250ZXh0chYAAABaDmNvZGVnZW5fZm9ybWF0chcAAAByWAAAAFoNY29kZWdlbl91dGlsc3IYAAAAchkAAAByGgAAAHIbAAAAchwAAAByHQAAAHIeAAAAch8AAABaDW1ha29fcmVuZGVyZXJyIAAAAHIhAAAAcpkAAAByIgAAAHKdAAAAciMAAAByMgAAAHJDAAAAckwAAAByUgAAAHJVAAAAcoEAAAByhgAAAHKHAAAAcpsAAAByngAAAHIwAAAAcjAAAAByMAAAAHIxAAAA2gg8bW9kdWxlPgUAAABzXgAAAAgCDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwDCikIDwgRCBUIFgABAP0KfwBKCEAIPgh/ACw=