--- http_interactions: - request: method: get uri: https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/NJ7XSO body: encoding: US-ASCII string: '' headers: User-Agent: - Mozilla/5.0 (compatible; Maremma/4.9.8; mailto:info@front-matter.io) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Encoding: - gzip,deflate response: status: code: 200 message: OK headers: Date: - Wed, 24 Aug 2022 13:12:52 GMT Content-Type: - text/html;charset=UTF-8 Connection: - keep-alive Set-Cookie: - AWSALB=m57KAuh36De/JF3aaDk1G85F2vaCpqDrJxsjb+pjwKD+KKsN/vocp35XX6cxwpviLzA/UHjPRvqpZ0Vk1GB2z3FExXXLappDw/Uwd5IhsBXntos9WcgAqWTJC4cB; Expires=Wed, 31 Aug 2022 13:12:52 GMT; Path=/, AWSALBCORS=m57KAuh36De/JF3aaDk1G85F2vaCpqDrJxsjb+pjwKD+KKsN/vocp35XX6cxwpviLzA/UHjPRvqpZ0Vk1GB2z3FExXXLappDw/Uwd5IhsBXntos9WcgAqWTJC4cB; Expires=Wed, 31 Aug 2022 13:12:52 GMT; Path=/; SameSite=None; Secure, JSESSIONID=ffbf4cfeb9fbd1973fddf13ba9a9; Path=/; Secure; HttpOnly Server: - Apache Content-Security-Policy: - frame-ancestors 'none' body: encoding: ASCII-8BIT string: !binary |- PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnID8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgbGFuZz0iZW4iIHhtbDpsYW5nPSJlbiI+PGhlYWQgaWQ9ImpfaWR0MTkiPjwhLS0gR2xvYmFsIHNpdGUgdGFnIChndGFnLmpzKSAtIEdvb2dsZSBBbmFseXRpY3MgLS0+CjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9VUEtNjE3NTMzMzQtMSI+PC9zY3JpcHQ+CjxzY3JpcHQ+CiAgLy88IVtDREFUQVsKICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9CiAgZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsgZ3RhZygnY29uZmlnJywgJ1VBLTYxNzUzMzM0LTEnKTsKCiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBlbmFibGVBbmFseXRpY3NFdmVudENhcHR1cmUsIGZhbHNlKTsKCiAgZnVuY3Rpb24gZW5hYmxlQW5hbHl0aWNzRXZlbnRDYXB0dXJlKCkgewogICAgLy8gRG93bmxvYWQgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmJ0bi1kb3dubG9hZCwgLmJ0bi1kb3dubG9hZC5kcm9wZG93bi10b2dnbGUgKyB1bC5kcm9wZG93bi1tZW51IGxpIGEiLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGNhdGVnb3J5ID0gc3RyaXBTaXplKCQodGhpcykudGV4dCgpKTsKICAgICAgdmFyIGxhYmVsID0gZ2V0RmlsZUlkKCQodGhpcykpOwogICAgICBndGFnKCdldmVudCcsICdEb3dubG9hZCcseydldmVudF9jYXRlZ29yeScgOiBjYXRlZ29yeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIFJlcXVlc3QgQWNjZXNzIGJ1dHRvbgogICAgJChkb2N1bWVudCkub24oImNsaWNrIiwgIi5idG4tcmVxdWVzdCIsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY2F0ZWdvcnkgPSAkKHRoaXMpLnRleHQoKTsKICAgICAgdmFyIGxhYmVsID0gZ2V0RmlsZUlkKCQodGhpcykpOwogICAgICBndGFnKCdldmVudCcsICdSZXF1ZXN0IEFjY2VzcycsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIEV4cGxvcmUgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmJ0bi1leHBsb3JlLCAuYnRuLWV4cGxvcmUuZHJvcGRvd24tdG9nZ2xlICsgdWwuZHJvcGRvd24tbWVudSBsaSBhIiwgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjYXRlZ29yeSA9ICQodGhpcykudGV4dCgpOwogICAgICB2YXIgbGFiZWwgPSBnZXRGaWxlSWQoJCh0aGlzKSk7CiAgICAgIGd0YWcoJ2V2ZW50JywgJ0V4cGxvcmUnLCB7J2V2ZW50X2NhdGVnb3J5JyA6IGNhdGVnb3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdldmVudF9sYWJlbCcgOiBsYWJlbH0pOwogICAgfSk7CgogICAgLy8gQ29tcHV0ZSBidXR0b24KICAgICQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuYnRuLWNvbXB1dGUsIC5idG4tY29tcHV0ZS5kcm9wZG93bi10b2dnbGUgKyB1bC5kcm9wZG93bi1tZW51IGxpIGEiLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGNhdGVnb3J5ID0gJCh0aGlzKS50ZXh0KCk7CiAgICAgIHZhciBsYWJlbCA9IGdldEZpbGVJZCgkKHRoaXMpKTsKICAgICAgZ3RhZygnZXZlbnQnLCAnQ29tcHV0ZScsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2xhYmVsJyA6IGxhYmVsfSk7CiAgICB9KTsKCiAgICAvLyBQcmV2aWV3IGJ1dHRvbgogICAgJChkb2N1bWVudCkub24oImNsaWNrIiwgIi5idG4tcHJldmlldywgLmJ0bi1wcmV2aWV3LmRyb3Bkb3duLXRvZ2dsZSArIHVsLmRyb3Bkb3duLW1lbnUgbGkgYSIsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY2F0ZWdvcnkgPSAkKHRoaXMpLnRleHQoKTsKICAgICAgdmFyIGxhYmVsID0gZ2V0RmlsZUlkKCQodGhpcykpOwogICAgICBndGFnKCdldmVudCcsICdQcmV2aWV3JywgeydldmVudF9jYXRlZ29yeScgOiBjYXRlZ29yeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIENpdGUgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmRvd25sb2FkQ2l0YXRpb24gKyB1bC5kcm9wZG93bi1tZW51IGxpIGEiLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGNhdGVnb3J5ID0gJCh0aGlzKS50ZXh0KCk7CiAgICAgIHZhciBsYWJlbCA9ICdVbmtub3duJzsKICAgICAgaWYoJCgnI2ZpbGVGb3JtJykubGVuZ3RoID4gMCkgewogICAgICAgIGxhYmVsID0gc3RyaXBJZCgkKCcjZmlsZUZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0gZWxzZSBpZigkKCcjZGF0YXNldEZvcm0nKS5sZW5ndGggPiAwKSB7CiAgICAgICAgbGFiZWwgPSBzdHJpcElkKCQoJyNkYXRhc2V0Rm9ybScpLmF0dHIoJ2FjdGlvbicpKTsKICAgICAgfQogICAgICBndGFnKCdldmVudCcsICdEb3dubG9hZCBDaXRhdGlvbicsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIEV4cG9ydCBNZXRhZGF0YSBidXR0b24KICAgICQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuYnRuLWV4cG9ydCArIHVsLmRyb3Bkb3duLW1lbnUgbGkgYSIsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY2F0ZWdvcnkgPSAkKHRoaXMpLnRleHQoKTsKICAgICAgdmFyIGxhYmVsID0gJ1Vua25vd24nOwogICAgICBpZigkKCcjZmlsZUZvcm0nKS5sZW5ndGggPiAwKSB7CiAgICAgICAgbGFiZWwgPSBzdHJpcElkKCQoJyNmaWxlRm9ybScpLmF0dHIoJ2FjdGlvbicpKTsKICAgICAgfSBlbHNlIGlmKCQoJyNkYXRhc2V0Rm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwSWQoJCgnI2RhdGFzZXRGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgICB9CiAgICAgIGd0YWcoJ2V2ZW50JywgJ0V4cG9ydCBNZXRhZGF0YScsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIENvbnRhY3QgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmJ0bi1jb250YWN0IiwgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjYXRlZ29yeSA9ICQodGhpcykudGV4dCgpOwogICAgICB2YXIgbGFiZWwgPSAnVW5rbm93bic7CiAgICAgIGlmKCQoJyNmaWxlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwSWQoJCgnI2ZpbGVGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgICB9IGVsc2UgaWYoJCgnI2RhdGFzZXRGb3JtJykubGVuZ3RoID4gMCkgewogICAgICAgIGxhYmVsID0gc3RyaXBJZCgkKCcjZGF0YXNldEZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0gZWxzZSBpZigkKCcjZGF0YXZlcnNlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwQWxpYXMoJCgnI2RhdGF2ZXJzZUZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0KICAgICAgZ3RhZygnZXZlbnQnLCAnQ29udGFjdCcsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2xhYmVsJyA6IGxhYmVsfSk7CiAgICB9KTsKCiAgICAvLyBTaGFyZSBidXR0b24KICAgICQoZG9jdW1lbnQpLm9uKCJjbGljayIsICdkaXZbaWQkPSJzaGFyZURpYWxvZyJdIGFbY2xhc3NePSJzaGFycnJlIl0nLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIHNoYXJycmVWYWwgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CiAgICAgIHZhciBjYXRlZ29yeSA9IHNoYXJycmVWYWwuc3Vic3RyaW5nKHNoYXJycmVWYWwuaW5kZXhPZignLScpICsgMSkgOwogICAgICB2YXIgbGFiZWwgPSAnVW5rbm93bic7CiAgICAgIGlmKCQoJyNmaWxlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwSWQoJCgnI2ZpbGVGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgICB9IGVsc2UgaWYoJCgnI2RhdGFzZXRGb3JtJykubGVuZ3RoID4gMCkgewogICAgICAgIGxhYmVsID0gc3RyaXBJZCgkKCcjZGF0YXNldEZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0gZWxzZSBpZigkKCcjZGF0YXZlcnNlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwQWxpYXMoJCgnI2RhdGF2ZXJzZUZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0KICAgICAgZ3RhZygnZXZlbnQnLCAnU2hhcmUnLCB7J2V2ZW50X2NhdGVnb3J5JyA6IGNhdGVnb3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICB9CgogIGZ1bmN0aW9uIGdldEZpbGVJZCh0YXJnZXQpIHsKICAgIHZhciBsYWJlbCA9ICdVbmtub3duJzsKICAgIGlmKHRhcmdldC5wYXJlbnRzKCd0aCwgI2FjdGlvbkJ1dHRvbkJsb2NrIC5idG4tYWNjZXNzLWRhdGFzZXQgKyB1bC5kcm9wZG93bi1tZW51JykubGVuZ3RoPjApIHsKICAgICAgLy9TcGVjaWFsIGNhc2UgLSB0aGUgRG93bmxvYWQgYnV0dG9uIHRoYXQgZG93bmxvYWRzIGFsbCBzZWxlY3RlZCBmaWxlcyBpbiB0aGUgZGF0YXNldAogICAgICBsYWJlbCA9ICdmaWxlKHMpIGZyb20gJyArIHN0cmlwSWQoJCgnI2RhdGFzZXRGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgfSBlbHNlIHsKICAgICAgdmFyIHJvdyA9IHRhcmdldC5wYXJlbnRzKCd0cicpWzBdOwogICAgICBpZihyb3cgIT0gbnVsbCkgewogICAgICAgIC8vZmluZHMgdGhlIGZpbGUgaWQvRE9JIGluIHRoZSBEYXRhc2V0IHBhZ2UKICAgICAgICBsYWJlbCA9ICQocm93KS5maW5kKCd0ZC5jb2wtZmlsZS1tZXRhZGF0YSAgYScpLmF0dHIoJ2hyZWYnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvL2ZpbmRzIHRoZSBmaWxlIGlkL0RPSSBpbiB0aGUgZmlsZSBwYWdlCiAgICAgICAgbGFiZWwgPSAkKCcjZmlsZUZvcm0nKS5hdHRyKCdhY3Rpb24nKTsKICAgICAgfQogICAgICBsYWJlbCA9IHN0cmlwSWQobGFiZWwpOwogICAgfQogICAgcmV0dXJuIGxhYmVsOwogIH0KCgogIGZ1bmN0aW9uIHN0cmlwSWQobGFiZWwpIHsKICAgIHZhciBpbmRleCA9IGxhYmVsLmluZGV4T2YoJyYnKTsKICAgIGlmKGluZGV4ID09IC0xKSBpbmRleCA9IGxhYmVsLmxlbmd0aDsKICAgIGlmKGxhYmVsLmluZGV4T2YoJ3BlcnNpc3RlbnRJZD0nKSA+PSAwKSB7CiAgICAgIGxhYmVsID0gbGFiZWwuc3Vic3RyaW5nKGxhYmVsLmluZGV4T2YoJ3BlcnNpc3RlbnRJZD0nKSArIDEzLCBpbmRleCk7CiAgICB9CiAgICBpZihsYWJlbC5pbmRleE9mKCdmaWxlSWQ9JykgPj0gMCkgewogICAgICBsYWJlbCA9IGxhYmVsLnN1YnN0cmluZyhsYWJlbC5pbmRleE9mKCdmaWxlSWQ9JykgKyA3LCBpbmRleCk7CiAgICB9CiAgICByZXR1cm4obGFiZWwpOwogIH0KCiAgZnVuY3Rpb24gc3RyaXBBbGlhcyhsYWJlbCkgewogICAgdmFyIGluZGV4ID0gbGFiZWwubGVuZ3RoOwogICAgbGFiZWwgPSBsYWJlbC5zdWJzdHJpbmcobGFiZWwuaW5kZXhPZignL2RhdGF2ZXJzZS8nKSArIDExLCBpbmRleCkuc3BsaXQoL1s/I10vKVswXTsKICAgIHJldHVybihsYWJlbCk7CiAgfQoKICBmdW5jdGlvbiBzdHJpcFNpemUoY2F0ZWdvcnkpIHsKICAgIHZhciBpbmRleCA9IGNhdGVnb3J5LmluZGV4T2YoJ1pJUCAoJyk7CiAgICBpZihpbmRleCA+PSAwKSB7CiAgICAgIGNhdGVnb3J5ID0gY2F0ZWdvcnkuc3Vic3RyaW5nKDAsIGluZGV4ICsgMyk7CiAgICB9CiAgICByZXR1cm4oY2F0ZWdvcnkpOwogIH0KICAvL11dPgo8L3NjcmlwdD4KCiAgICAgICAgICAgIDx0aXRsZT5TdW1tYXJ5IGRhdGEgYW5reWxvc2luZyBzcG9uZHlsaXRpcyBHV0FTIC0gSGFydmFyZCBEYXRhdmVyc2U8L3RpdGxlPgoJICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgogICAgICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiIC8+CiAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU3VtbWFyeSBvZiBhc3NvY2lhdGlvbiB0ZXN0cyBmb3IgTmF0dXJlIEdlbmV0aWNzIHB1YmxpY2F0aW9uICZxdW90O0lkZW50aWZpY2F0aW9uIG9mIG11bHRpcGxlIHJpc2sgdmFyaWFudHMgZm9yIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgdGhyb3VnaCBoaWdoLWRlbnNpdHkgZ2Vub3R5cGluZyBvZiBpbW11bmUtcmVsYXRlZCBsb2NpJnF1b3Q7LiIgLz4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5pZGVudGlmaWVyIiBjb250ZW50PSJkb2k6MTAuNzkxMC9EVk4vTko3WFNPIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLnR5cGUiIGNvbnRlbnQ9IkRhdGFzZXQiIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0iREMudGl0bGUiIGNvbnRlbnQ9IlN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVMiIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0iREMuZGF0ZSIgY29udGVudD0iMjAxNy0wOS0zMCIgLz4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5wdWJsaXNoZXIiIGNvbnRlbnQ9IkhhcnZhcmQgRGF0YXZlcnNlIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLmRlc2NyaXB0aW9uIiBjb250ZW50PSJTdW1tYXJ5IG9mIGFzc29jaWF0aW9uIHRlc3RzIGZvciBOYXR1cmUgR2VuZXRpY3MgcHVibGljYXRpb24gJnF1b3Q7SWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2kmcXVvdDsuIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJJbnRlcm5hdGlvbmFsIEdlbmV0aWNzIG9mIEFua3lsb3NpbmcgU3BvbmR5bGl0aXMgQ29uc29ydGl1bSAoSUdBUykiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLnN1YmplY3QiIGNvbnRlbnQ9Ik1lZGljaW5lLCBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXMiIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJTdW1tYXJ5IGRhdGEgYW5reWxvc2luZyBzcG9uZHlsaXRpcyBHV0FTIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJhcnRpY2xlIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2RhdGFzZXQueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08iIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbWFnZXMvZGF0YXZlcnNlLWljb24tMTIwMC5wbmcueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5IiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkhhcnZhcmQgRGF0YXZlcnNlIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iU3VtbWFyeSBvZiBhc3NvY2lhdGlvbiB0ZXN0cyBmb3IgTmF0dXJlIEdlbmV0aWNzIHB1YmxpY2F0aW9uICZxdW90O0lkZW50aWZpY2F0aW9uIG9mIG11bHRpcGxlIHJpc2sgdmFyaWFudHMgZm9yIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgdGhyb3VnaCBoaWdoLWRlbnMuLi4iIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhcnRpY2xlOmF1dGhvciIgY29udGVudD0iSW50ZXJuYXRpb25hbCBHZW5ldGljcyBvZiBBbmt5bG9zaW5nIFNwb25keWxpdGlzIENvbnNvcnRpdW0gKElHQVMpIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhcnRpY2xlOnB1Ymxpc2hlZF90aW1lIiBjb250ZW50PSIyMDE3LTA5LTMwIiAvPgogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+eyJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJEYXRhc2V0IiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTyIsImlkZW50aWZpZXIiOiJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPIiwibmFtZSI6IlN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVMiLCJjcmVhdG9yIjpbeyJuYW1lIjoiSW50ZXJuYXRpb25hbCBHZW5ldGljcyBvZiBBbmt5bG9zaW5nIFNwb25keWxpdGlzIENvbnNvcnRpdW0gKElHQVMpIn1dLCJhdXRob3IiOlt7Im5hbWUiOiJJbnRlcm5hdGlvbmFsIEdlbmV0aWNzIG9mIEFua3lsb3NpbmcgU3BvbmR5bGl0aXMgQ29uc29ydGl1bSAoSUdBUykifV0sImRhdGVQdWJsaXNoZWQiOiIyMDE3LTA5LTMwIiwiZGF0ZU1vZGlmaWVkIjoiMjAxNy0wOS0zMCIsInZlcnNpb24iOiIxIiwiZGVzY3JpcHRpb24iOlsiU3VtbWFyeSBvZiBhc3NvY2lhdGlvbiB0ZXN0cyBmb3IgTmF0dXJlIEdlbmV0aWNzIHB1YmxpY2F0aW9uIFwiSWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2lcIi4iXSwia2V5d29yZHMiOlsiTWVkaWNpbmUsIEhlYWx0aCBhbmQgTGlmZSBTY2llbmNlcyIsIiBHZW5vbWUtV2lkZSBBc3NvY2lhdGlvbiBTdHVkaWVzIiwiQW5reWxvc2luZyBzcG9uZHlsaXRpcyJdLCJjaXRhdGlvbiI6W3siQHR5cGUiOiJDcmVhdGl2ZVdvcmsiLCJ0ZXh0IjoiMTAuMTAzOC9uZy4yNjY3In1dLCJsaWNlbnNlIjoiaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wIiwiaW5jbHVkZWRJbkRhdGFDYXRhbG9nIjp7IkB0eXBlIjoiRGF0YUNhdGFsb2ciLCJuYW1lIjoiSGFydmFyZCBEYXRhdmVyc2UiLCJ1cmwiOiJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdSJ9LCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiSGFydmFyZCBEYXRhdmVyc2UifSwicHJvdmlkZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiSGFydmFyZCBEYXRhdmVyc2UifSwiZGlzdHJpYnV0aW9uIjpbeyJAdHlwZSI6IkRhdGFEb3dubG9hZCIsIm5hbWUiOiJBc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQiLCJmaWxlRm9ybWF0IjoidGV4dC9wbGFpbiIsImNvbnRlbnRTaXplIjoxMTU3MjQxMiwiZGVzY3JpcHRpb24iOiJTdW1tYXJ5IGRhdGEgZm9yIEFzaWFuIGNvaG9ydCIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC43OTEwL0RWTi9OSjdYU08vSzNOUk1PIiwiaWRlbnRpZmllciI6Imh0dHBzOi8vZG9pLm9yZy8xMC43OTEwL0RWTi9OSjdYU08vSzNOUk1PIiwiY29udGVudFVybCI6Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9hY2Nlc3MvZGF0YWZpbGUvMzA1NTQyNCJ9LHsiQHR5cGUiOiJEYXRhRG93bmxvYWQiLCJuYW1lIjoiRXVyb3BlYW5fQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0IiwiZmlsZUZvcm1hdCI6InRleHQvcGxhaW4iLCJjb250ZW50U2l6ZSI6MTEyNDU0OTYsImRlc2NyaXB0aW9uIjoiU3VtbWFyeSBkYXRhIGZvciBjb21iaW5lZCBjb2hvcnQiLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPL0hBMlNWUiIsImlkZW50aWZpZXIiOiJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPL0hBMlNWUiIsImNvbnRlbnRVcmwiOiJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9hcGkvYWNjZXNzL2RhdGFmaWxlLzMwNTU0MjUifSx7IkB0eXBlIjoiRGF0YURvd25sb2FkIiwibmFtZSI6IkV1cm9wZWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dCIsImZpbGVGb3JtYXQiOiJ0ZXh0L3BsYWluIiwiY29udGVudFNpemUiOjEzMzM3MTgzLCJkZXNjcmlwdGlvbiI6IlN1bW1hcnkgZGF0YSBmb3IgRXVyb3BlYW4gY29ob3J0IiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTy9JTjQ1R1oiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTy9JTjQ1R1oiLCJjb250ZW50VXJsIjoiaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2FjY2Vzcy9kYXRhZmlsZS8zMDU1NDI2In1dfQoKICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvdGhlbWUuY3NzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9sbj1wcmltZWZhY2VzLWJvb3RzdHJhcCZhbXA7dj0xMS4wLjAiIC8+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL3ByaW1laWNvbnMvcHJpbWVpY29ucy5jc3MueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9vbW5pZmFjZXMuanMueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2xuPW9tbmlmYWNlcyZhbXA7dj0zLjgiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcXVlcnkvanF1ZXJ5LmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pxdWVyeS9qcXVlcnktcGx1Z2lucy5qcy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/bG49cHJpbWVmYWNlcyZhbXA7dj0xMS4wLjAiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jb3JlLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2NvbXBvbmVudHMuanMueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIj48L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY29tcG9uZW50cy5jc3MueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS93YXRlcm1hcmsvd2F0ZXJtYXJrLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ZpbGV1cGxvYWQvZmlsZXVwbG9hZC5jc3MueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9maWxldXBsb2FkL2ZpbGV1cGxvYWQuanMueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvdG91Y2gvdG91Y2hzd2lwZS5qcy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/bG49cHJpbWVmYWNlcyZhbXA7dj0xMS4wLjAiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbnB1dG1hc2svaW5wdXRtYXNrLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5qcy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/bG49cHJpbWVmYWNlcyZhbXA7dj0xMS4wLjAiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZih3aW5kb3cuUHJpbWVGYWNlcyl7UHJpbWVGYWNlcy5zZXR0aW5ncy5sb2NhbGU9J2VuJztQcmltZUZhY2VzLnNldHRpbmdzLnZpZXdJZD0nL2RhdGFzZXQueGh0bWwnO1ByaW1lRmFjZXMuc2V0dGluZ3MuY29udGV4dFBhdGg9Jyc7UHJpbWVGYWNlcy5zZXR0aW5ncy5jb29raWVzU2VjdXJlPWZhbHNlO308L3NjcmlwdD4KICAgICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxODB4MTgwIiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvaW1hZ2VzL2Zhdi9hcHBsZS10b3VjaC1pY29uLnBuZy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTkiIC8+CiAgICAgICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIxNngxNiIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ltYWdlcy9mYXYvZmF2aWNvbi0xNngxNi5wbmcueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5IiAvPgogICAgICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMzJ4MzIiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbWFnZXMvZmF2L2Zhdmljb24tMzJ4MzIucG5nLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOSIgLz4KICAgICAgICA8bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvaW1hZ2VzL2Zhdi9zaXRlLndlYm1hbmlmZXN0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOSIgLz4KICAgICAgICA8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ltYWdlcy9mYXYvc2FmYXJpLXBpbm5lZC10YWIuc3ZnLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOSIgY29sb3I9IiNkYTUzMmMiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiNkYTUzMmMiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiNmZmZmZmYiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0iaW1hZ2UvcG5nIiByZWw9ImltYWdlX3NyYyIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ltYWdlcy9kYXRhdmVyc2Vwcm9qZWN0LnBuZy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTkiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2Nzcy9ib290c3RyYXAubWluLmNzcy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/dmVyc2lvbj01LjExLjEiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2Nzcy9ib290c3RyYXAtdGhlbWUubWluLmNzcy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/dmVyc2lvbj01LjExLjEiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2Nzcy9pZS1jb21wYXQuY3NzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT92ZXJzaW9uPTUuMTEuMSIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL293bC5jYXJvdXNlbC5jc3MueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3ZlcnNpb249NS4xMS4xIiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jc3MvZm9udGN1c3RvbS5jc3MueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3ZlcnNpb249NS4xMS4xIiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jc3Mvc29jaWNvbi5jc3MueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3ZlcnNpb249NS4xMS4xIiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jc3Mvc3RydWN0dXJlLmNzcy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/dmVyc2lvbj01LjExLjEiIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgIC8qIEN1c3RvbSBDU1MgKi8KICAgICAgICAgICAgICAgICNuYXZiYXJGaXhlZCBkaXYubmF2YmFyLWhlYWRlciBpbWcubmF2YmFyLWJyYW5kLmN1c3RvbS1sb2dvIHtoZWlnaHQ6NTBweCAhaW1wb3J0YW50O30KI2RhdGF2ZXJzZURlc2Mgc3BhbiA+IHNwYW4gPiBzcGFuID4gaDMge2ZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDt9CgpuYXYubmF2YmFyLm5hdmJhci1kZWZhdWx0IHtiYWNrZ3JvdW5kOiAjZWNlY2VjICFpbXBvcnRhbnQ7fQovKiAjZm9vdGVyIHtiYWNrZ3JvdW5kOiAjZWNlY2VjICFpbXBvcnRhbnQ7IHBhZGRpbmctdG9wOjEuMjVlbTt9ICovCgogICAgICAgICAgICA8L3N0eWxlPjwvaGVhZD48Ym9keT4KCTxhIGhyZWY9IiNjb250ZW50IiBjbGFzcz0ic3Itb25seSI+U2tpcCB0byBtYWluIGNvbnRlbnQ8L2E+CgogICAgPG5hdiBpZD0iZGF0YXZlcnNlLWhlYWRlci1ibG9jayI+PGRpdiBpZD0ibmF2YmFyRml4ZWQiIGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiN0b3BOYXZCYXIiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+VG9nZ2xlIG5hdmlnYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLyI+PGltZyBzcmM9Ii9sb2dvcy9uYXZiYXIvbG9nby5wbmc7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5IiBhbHQ9IkhhcnZhcmQgRGF0YXZlcnNlIGhvbWVwYWdlIiBjbGFzcz0ibmF2YmFyLWJyYW5kIGN1c3RvbS1sb2dvIiAvPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBpZD0idG9wTmF2QmFyIj4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdmJhci1yaWdodCI+PGxpIGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPkFkZCBEYXRhIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+PGxpPjxhIGhyZWY9Ii9kYXRhdmVyc2UueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P293bmVySWQ9MSI+TmV3IERhdGF2ZXJzZTwvYT48L2xpPjxsaT48YSBocmVmPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/b3duZXJJZD0xIj5OZXcgRGF0YXNldDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+U2VhcmNoIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBuYXZiYXItc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJmb3JtLWlubGluZSIgcm9sZT0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD0ic2VhcmNoTmF2TGFiZWwiIGNsYXNzPSJzci1vbmx5IiBmb3I9Im5hdmJhcnNlYXJjaCI+U2VhcmNoPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Im5hdmJhcnNlYXJjaCIgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgc2l6ZT0iMjgiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJTZWFyY2ggYWxsIGRhdGF2ZXJzZXMuLi4iIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWJ0biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiB0aXRsZT0iRmluZCIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIGFyaWEtbGFiZWxsZWRieT0ic2VhcmNoTmF2TGFiZWwiIG9uY2xpY2s9IndpbmRvdy5sb2NhdGlvbj0nL2RhdGF2ZXJzZS9oYXJ2YXJkP3E9JyArIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXZiYXJzZWFyY2gnKS52YWx1ZTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCBuby10ZXh0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5kYXRhdmVyc2UuaGFydmFyZC5lZHUvIiByZWw9Im5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+QWJvdXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ3VpZGVzLmRhdGF2ZXJzZS5vcmcvZW4vNS4xMS4xL3VzZXIiIHJlbD0ibm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5Vc2VyIEd1aWRlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgo8Zm9ybSBpZD0ial9pZHQ3OCIgbmFtZT0ial9pZHQ3OCIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyIgY2xhc3M9Im5hdmJhci1mb3JtIG5hdmJhci1sZWZ0IG5hdmJhci1mb3JtLWxpbmsiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgZGF0YS1wYXJ0aWFsc3VibWl0PSJ0cnVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ial9pZHQ3OCIgdmFsdWU9ImpfaWR0NzgiIC8+CjxhIGlkPSJqX2lkdDc4OmhlYWRlclN1cHBvcnRMaW5rIiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2pfaWR0Nzg6aGVhZGVyU3VwcG9ydExpbmsmcXVvdDssZjomcXVvdDtqX2lkdDc4JnF1b3Q7LHU6JnF1b3Q7Y29udGFjdERpYWxvZyZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtQRignY29udGFjdEZvcm0nKS5zaG93KCk7fX0pO3JldHVybiBmYWxzZTsiPlN1cHBvcnQ8L2E+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iamF2YXguZmFjZXMuVmlld1N0YXRlIiBpZD0ial9pZDE6amF2YXguZmFjZXMuVmlld1N0YXRlOjAiIHZhbHVlPSItNzgyOTA2OTc1Njg4ODc0MjQ3ODotMjMzMjczNjE5NjIxNjY4NTE3NSIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGF2ZXJzZXVzZXIueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2VkaXRNb2RlPUNSRUFURSZhbXA7cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2lnbiBVcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2xvZ2lucGFnZS54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nIEluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgIAogICAgICAgIDxub3NjcmlwdD4KICAgICAgICAgICAgPGRpdiBpZD0ibm9zY3JpcHQtYWxlcnQiIGNsYXNzPSJiZy1kYW5nZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQgY29udGFpbmVyIHRleHQtZGFuZ2VyIG5vLW1hcmdpbi1ib3R0b20iPlBsZWFzZSBlbmFibGUgSmF2YVNjcmlwdCBpbiB5b3VyIGJyb3dzZXIuIEl0IGlzIHJlcXVpcmVkIHRvIHVzZSBtb3N0IG9mIHRoZSBmZWF0dXJlcyBvZiBEYXRhdmVyc2UuCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9ub3NjcmlwdD4KPGZvcm0gaWQ9ImpfaWR0MTMyIiBuYW1lPSJqX2lkdDEzMiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyIgY2xhc3M9ImZvcm0taW5saW5lIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIGRhdGEtcGFydGlhbHN1Ym1pdD0idHJ1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImpfaWR0MTMyIiB2YWx1ZT0ial9pZHQxMzIiIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImphdmF4LmZhY2VzLlZpZXdTdGF0ZSIgaWQ9ImpfaWQxOmphdmF4LmZhY2VzLlZpZXdTdGF0ZToxIiB2YWx1ZT0iLTc4MjkwNjk3NTY4ODg3NDI0Nzg6LTIzMzI3MzYxOTYyMTY2ODUxNzUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgo8L2Zvcm0+PGRpdiBpZD0iYnJlYWRDcnVtYlBhbmVsIj48ZGl2IGlkPSJicmVhZGNydW1iTmF2QmxvY2siIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYkJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJicmVhZGNydW1iTG5rMCIgaHJlZj0iL2RhdGF2ZXJzZS9oYXJ2YXJkIj5IYXJ2YXJkIERhdGF2ZXJzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+PHNwYW4gY2xhc3M9ImJyZWFkY3J1bWJDYXJyb3QiPiAmZ3Q7IDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJCbG9jayI+CiAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJtZXNzYWdlUGFuZWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgbWVzc2FnZVBhbmVsIj4KICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICA8L25hdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJjb250ZW50IiByb2xlPSJtYWluIj4KPGZvcm0gaWQ9ImRhdGFzZXRGb3JtIiBuYW1lPSJkYXRhc2V0Rm9ybSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm0iIHZhbHVlPSJkYXRhc2V0Rm9ybSIgLz4KPGlucHV0IGlkPSJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSIgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSIgLz48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnZhbGlkVGVybXNvZkFjY2VzcyIgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybTp2YWxpZFRlcm1zb2ZBY2Nlc3MiIHZhbHVlPSJ0cnVlIiAvPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50Ij48ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJkYXRhc2V0VmVyc2lvbkJsb2NrIiBjbGFzcz0icm93Ij48ZGl2IGlkPSJ0aXRsZS1ibG9jayIgY2xhc3M9ImNvbC14cy0xMiBtYXJnaW4tYm90dG9tLWhhbGYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGlkPSJ0aXRsZSI+IFN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVM8L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idGl0bGUtbGFiZWwtYmxvY2siIGNsYXNzPSJtYXJnaW4tdG9wLWhhbGYiPjxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1kZWZhdWx0Ij5WZXJzaW9uIDEuMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJkYXRhc2V0Q2l0YXRpb25BY3Rpb25TdW1tYXJ5QmxvY2siIGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTEyIGNvbC1tZC04IGNvbC1sZy05Ij4KICAgIDxkaXYgY2xhc3M9ImNpdGF0aW9uLWJsb2NrIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBhbGVydCBhbGVydC1pbmZvIGJnLWNpdGF0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2l0YXRpb24gbWFyZ2luLWJvdHRvbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQgcHJldmlldy1pY29uLWJsb2NrIj48c3BhbiBjbGFzcz0iaWNvbi1kYXRhc2V0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaXRhdGlvbi1zZWxlY3QiIG9uY2xpY2s9ImlmIChldmVudC50YXJnZXQpIHsgc2VsZWN0VGV4dChldmVudC50YXJnZXQpOyB9IGVsc2V7IHNlbGVjdFRleHQodGhpcyk7IH0iPkludGVybmF0aW9uYWwgR2VuZXRpY3Mgb2YgQW5reWxvc2luZyBTcG9uZHlsaXRpcyBDb25zb3J0aXVtIChJR0FTKSwgMjAxNywgIlN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVMiLCA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTzwvYT4sIEhhcnZhcmQgRGF0YXZlcnNlLCBWMQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJwdWxsLWxlZnQgcm93IGNvbC1zbS05IHBhZGRpbmctbm9uZSI+PGRpdiBjbGFzcz0iY29sLXNtLTMgY29sLW1kLTQgY29sLWxnLTMgYnRuLWdyb3VwIG1hcmdpbi1ib3R0b20gY2l0YXRpb24tZG93bmxvYWQiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1saW5rIGRyb3Bkb3duLXRvZ2dsZSBwYWRkaW5nLW5vbmUgZG93bmxvYWRDaXRhdGlvbiIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgQ2l0ZSBEYXRhc2V0IDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanNmLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9sbj1qYXZheC5mYWNlcyI+PC9zY3JpcHQ+PGEgaWQ9ImRhdGFzZXRGb3JtOmVuZE5vdGVMaW5rIiBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTplbmROb3RlTGluayc6J2RhdGFzZXRGb3JtOmVuZE5vdGVMaW5rJ30sJycpO3JldHVybiBmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5kTm90ZSBYTUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGlkPSJkYXRhc2V0Rm9ybTpyaXNMaW5rIiBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTpyaXNMaW5rJzonZGF0YXNldEZvcm06cmlzTGluayd9LCcnKTtyZXR1cm4gZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJJUwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaWQ9ImRhdGFzZXRGb3JtOmJpYkxpbmsiIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOmJpYkxpbmsnOidkYXRhc2V0Rm9ybTpiaWJMaW5rJ30sJ19ibGFuaycpO3JldHVybiBmYWxzZSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpYlRlWAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+PGRpdiBjbGFzcz0iY29sLXNtLTkgY29sLW1kLTggY29sLWxnLTkgdGV4dC1tdXRlZCBtYXJnaW4tYm90dG9tIGNpdGF0aW9uLXN0YW5kYXJkcyI+TGVhcm4gYWJvdXQgPGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2Uub3JnL2Jlc3QtcHJhY3RpY2VzL2RhdGEtY2l0YXRpb24iIHRpdGxlPSJEYXRhIENpdGF0aW9uIC0gRGF0YXZlcnNlLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPkRhdGEgQ2l0YXRpb24gU3RhbmRhcmRzPC9hPi48L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS0xMiBjb2wtbWQtNCBjb2wtbGctMyBwdWxsLXJpZ2h0IG1hcmdpbi1ib3R0b20iPjxkaXYgaWQ9ImFjdGlvbkJ1dHRvbkJsb2NrIj48ZGl2IGNsYXNzPSJidG4tZ3JvdXAgYnRuLWdyb3VwLWp1c3RpZmllZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYWNjZXNzLWRhdGFzZXQgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY2Nlc3MgRGF0YXNldCA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHB1bGwtcmlnaHQgdGV4dC1sZWZ0IiBzdHlsZT0icGFkZGluZy1sZWZ0OjFlbTsgcGFkZGluZy1yaWdodDoxZW07Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5Eb3dubG9hZCBPcHRpb25zIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjwvbGk+PGxpPjxhIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI2NCIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4tZG93bmxvYWQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyNjQmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3Nob3dQb3B1cCgpOzt9LGZwOiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWklQICgzNC41IE1CKTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBidG4tZ3JvdXAtanVzdGlmaWVkIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQzOTUiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IGJ0bi14cyBidG4tY29udGFjdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDM5NSZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7Y29udGFjdERpYWxvZyZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtQRignY29udGFjdEZvcm0nKS5zaG93KCk7fSxmcDomcXVvdDtkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCZxdW90O30pO3JldHVybiBmYWxzZTsiIHRpdGxlPSJDb250YWN0IERhdGFzZXQgT3duZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGFjdCBPd25lcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0Mzk3IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCBidG4teHMgYnRuLXNoYXJlIiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0Mzk3JnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7UEYoJ3NoYXJlRGlhbG9nJykuc2hvdygpO3NoYXJycmUoKTs7fSxmcDomcXVvdDtkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCZxdW90O30pO3JldHVybiBmYWxzZTsiIHRpdGxlPSJTaGFyZSBEYXRhc2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IHN0eWxlPSJjbGVhcjpyaWdodDsiIGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTEyIGNvbC1tZC00IGNvbC1sZy0zIHB1bGwtcmlnaHQgbWFyZ2luLWJvdHRvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1ldHJpY3MtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1ldHJpY3MtaGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGFzZXQgTWV0cmljcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gdG9wIiBkYXRhLXRyaWdnZXI9ImhvdmVyIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJBZ2dyZWdhdGVkIG1ldHJpY3MgZm9yIHRoaXMgZGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtZXRyaWNzLWJvZHkiPjxkaXYgY2xhc3M9Im1ldHJpY3MtY291bnQtYmxvY2siPjIwMyBEb3dubG9hZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gdG9wIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUb3RhbCBhZ2dyZWdhdGVkIGRvd25sb2FkcyBvZiBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJkYXRhc2V0LWNvbG9yZGVyLWJsb2NrIiBjbGFzcz0idmlzaWJsZS1tZC1ibG9jayB2aXNpYmxlLWxnLWJsb2NrIGNvbC1tZC04IGNvbC1sZy05Ij48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0LXN1bW1hcnktbWV0YWRhdGEiIGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTEyIGNvbC1tZC04IGNvbC1sZy05IG1ldGFkYXRhLWNvbnRhaW5lciBwYWRkaW5nLW5vbmUgbWFyZ2luLWJvdHRvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9Im1ldGFkYXRhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+PHRyIGlkPSJkc0Rlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkEgc3VtbWFyeSBkZXNjcmliaW5nIHRoZSBwdXJwb3NlLCBuYXR1cmUsIGFuZCBzY29wZSBvZiB0aGUgRGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlN1bW1hcnkgb2YgYXNzb2NpYXRpb24gdGVzdHMgZm9yIE5hdHVyZSBHZW5ldGljcyBwdWJsaWNhdGlvbiAiSWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2kiLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ViamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEb21haW4tc3BlY2lmaWMgU3ViamVjdCBDYXRlZ29yaWVzIHRoYXQgYXJlIHRvcGljYWxseSByZWxldmFudCB0byB0aGUgRGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5NZWRpY2luZSwgSGVhbHRoIGFuZCBMaWZlIFNjaWVuY2VzPC90ZD48L3RyPjx0ciBpZD0ia2V5d29yZHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2V5d29yZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJLZXkgdGVybXMgdGhhdCBkZXNjcmliZSBpbXBvcnRhbnQgYXNwZWN0cyBvZiB0aGUgRGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4gR2Vub21lLVdpZGUgQXNzb2NpYXRpb24gU3R1ZGllcywgQW5reWxvc2luZyBzcG9uZHlsaXRpczwvdGQ+PC90cj48dHIgaWQ9InB1YmxpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF0ZWQgUHVibGljYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iUHVibGljYXRpb25zIHRoYXQgdXNlIHRoZSBkYXRhIGZyb20gdGhpcyBEYXRhc2V0LiBUaGUgZnVsbCBsaXN0IG9mIFJlbGF0ZWQgUHVibGljYXRpb25zIHdpbGwgYmUgZGlzcGxheWVkIG9uIHRoZSBtZXRhZGF0YSB0YWIuIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+MTAuMTAzOC9uZy4yNjY3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj48L2E+PC90ZD48L3RyPjx0ciBpZD0ibm90ZXNUZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkFkZGl0aW9uYWwgaW1wb3J0YW50IGluZm9ybWF0aW9uIGFib3V0IHRoZSBEYXRhc2V0LiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPkV1cm9wZWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dDogc3VtbWFyeSBkYXRhIGZvciBFdXJvcGVhbiBjb2hvcnQgQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0OiBzdW1tYXJ5IGRhdGEgZm9yIEFzaWFuIGNvaG9ydCBFdXJvcGVhbl9Bc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQ6IHN1bW1hcnkgZGF0YSBmb3IgY29tYmluZWQgY29ob3J0PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGljZW5zZS9EYXRhIFVzZSBBZ3JlZW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2xpY2Vuc2VidXR0b25zLm5ldC9wL3plcm8vMS4wLzg4eDMxLnBuZyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgb25sb2FkPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J2lubGluZSciIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMCIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgdGFyZ2V0PSJfYmxhbmsiPkNDMCAxLjA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJjb250ZW50VGFicyI+PGRpdiBpZD0iZGF0YXNldEZvcm06cGFnZVJlZnJlc2hGcmFnbWVudCI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhc2V0TG9ja2VkRm9yQW55UmVhc29uVmFyaWFibGUiIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06ZGF0YXNldExvY2tlZEZvckFueVJlYXNvblZhcmlhYmxlIiB2YWx1ZT0iZmFsc2UiIC8+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhc2V0U3RhdGVDaGFuZ2VkVmFyaWFibGUiIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06ZGF0YXNldFN0YXRlQ2hhbmdlZFZhcmlhYmxlIiB2YWx1ZT0iZmFsc2UiIC8+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQ2NDYiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmVmcmVzaEFsbExvY2tzQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDY0NiIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOmpfaWR0NjQ2Iix1OiJkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50IG1lc3NhZ2VQYW5lbCIscGE6YXJndW1lbnRzWzBdLGZwOiJkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50In0pO308L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDY0NyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoQWxsQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDY0NyIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOmpfaWR0NjQ3Iix1OiJkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUgbWVzc2FnZVBhbmVsIixwYTphcmd1bWVudHNbMF0sZnA6ImRhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQifSk7fTwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24iIGNsYXNzPSIiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50IGRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSZxdW90OyxmcDomcXVvdDtkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+dWktYnV0dG9uPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsInJlZnJlc2hCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy88IVtDREFUQVsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBqYXZhc2NyaXB0IGZvciByZWZyZXNoaW5nIHBhZ2Ugd2hlbiBsb2NrcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoSWZTdGlsbExvY2tlZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHJlZnJlc2hJZlN0aWxsTG9ja2VkKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnaW5wdXRbaWQkPSJkYXRhc2V0TG9ja2VkRm9yQW55UmVhc29uVmFyaWFibGUiXScpLnZhbCgpID09PSAndHJ1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGRhdGFzZXQgaXMgbG9ja2VkLCBpbnN0cnVjdCB0aGUgcGFnZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2FpdCBhbmQgY2hlY2sgYWdhaW46CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0QW5kQ2hlY2tMb2NrQWdhaW4oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIG5vdCBsb2NrZWQsIGhhcyBpdCBqdXN0IGJlZW4gdW5sb2NrZWQ/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnaW5wdXRbaWQkPSJkYXRhc2V0U3RhdGVDaGFuZ2VkVmFyaWFibGUiXScpLnZhbCgpID09PSAndHJ1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3Igd2hhdGV2ZXIgdW5rbm93biBQcmltZUZhY2VzIHJlYXNvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBwYWdlIG5lZWRzIHRvIGJlIHJlZnJlc2hlZCB0d2ljZSwgZm9yIGFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBwdWxsIGRvd24gbWVudXMgdG8gdXBkYXRlIHByb3Blcmx5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hBbGxDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gWW91IGNhbid0IGp1c3QgcnVuIDIgcmVmcmVzaEFsbENvbW1hbmQoKXMgaW4gYSByb3cKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlaXRoZXI7IGJlY2F1c2UgdGhlIGNvbW1hbmQgaGFzIGFuICJ1cGRhdGU9QGFsbCIgb24gaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gSSBndWVzcyBpZiB5b3UgdHJ5IHRvIGV4ZWN1dGUgdGhlIDJuZCBvbmUgcmlnaHQgYWZ0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZmlyc3Qgb25lLCB0aGlzIGZyYWdtZW50IGlzIHN0aWxsIGdvaW5nIHRvIGJlIGxvYWRpbmcgLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoZXJlIHdvdWxkIG5vdCB5ZXQgYmUgYSBjb21tYW5kIHRvIHJ1biEgKGl0IG5lZWRzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmUgcmVuZGVyZWQsIGJlZm9yZSB5b3UgY2FuIGV4ZWN1dGUgaXQsIHRoYXQgaXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgYnV0dG9uIGRvZXNuJ3QgZG8gYW55dGhpbmcsIGJ1dCBpdCBoYXMgYW4gdXBkYXRlPSJAYWxsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhdHRyaWJ1dGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9InJlZnJlc2hCdXR0b24iXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVmcmVzaEFsbENvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxNTAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB3YWl0QW5kQ2hlY2tMb2NrQWdhaW4oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVmcmVzaCB0aGUgbG9jayBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tpbmcgYmVhbjsgaS5lLiwgY2hlY2ssIGlmIHRoZSBpbmdlc3QgaGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGNvbXBsZXRlZCBpbiB0aGUgYmFja2dyb3VuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCgnYnV0dG9uW2lkJD0icmVmcmVzaEJ1dHRvbiJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVmcmVzaExvY2tDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoQWxsTG9ja3NDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9dXT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXciIGNsYXNzPSJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLWhpZGRlbi1jb250YWluZXIgdWktdGFicy10b3AiIGRhdGEtd2lkZ2V0PSJjb250ZW50Ij48dWwgY2xhc3M9InVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiIHJvbGU9InRhYmxpc3QiPjxsaSBjbGFzcz0idWktdGFicy1oZWFkZXIgdWktc3RhdGUtZGVmYXVsdCB1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtc2VsZWN0ZWQ9InRydWUiIGRhdGEtaW5kZXg9IjAiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3OmRhdGFGaWxlc1RhYiIgdGFiaW5kZXg9Ii0xIj5GaWxlczwvYT48L2xpPjxsaSBjbGFzcz0idWktdGFicy1oZWFkZXIgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgZGF0YS1pbmRleD0iMSI+PGEgaHJlZj0iI2RhdGFzZXRGb3JtOnRhYlZpZXc6bWV0YWRhdGFNYXBUYWIiIHRhYmluZGV4PSItMSI+TWV0YWRhdGE8L2E+PC9saT48bGkgY2xhc3M9InVpLXRhYnMtaGVhZGVyIHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIgcm9sZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGRhdGEtaW5kZXg9IjIiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3OnRlcm1zVGFiIiB0YWJpbmRleD0iLTEiPlRlcm1zPC9hPjwvbGk+PGxpIGNsYXNzPSJ1aS10YWJzLWhlYWRlciB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiIHJvbGU9InRhYiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBkYXRhLWluZGV4PSIzIj48YSBocmVmPSIjZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYiIgdGFiaW5kZXg9Ii0xIj5WZXJzaW9uczwvYT48L2xpPjwvdWw+PGRpdiBjbGFzcz0idWktdGFicy1wYW5lbHMiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZGF0YUZpbGVzVGFiIiBjbGFzcz0idWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1oaWRkZW49ImZhbHNlIiBkYXRhLWluZGV4PSIwIj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTAyNiIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoUGFnaW5hdG9yID0gZnVuY3Rpb24oKSB7cmV0dXJuIFByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxMDI2IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDEwMjYiLHU6ImRhdGFzZXRGb3JtIixwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDEwMzEiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmViaW5kQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTAzMSIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxMDMxIix1OiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiIGNsYXNzPSJ1aS1kYXRhdGFibGUgdWktd2lkZ2V0IiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjFweDsiPjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItdG9wIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZmlsZXNIZWFkZXJCbG9jayIgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtNSI+PGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyIgaWQ9InNlYXJjaExhYmVsIiBjbGFzcz0ic3Itb25seSI+U2VhcmNoPC9sYWJlbD48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNlYXJjaEZpbGVzIiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiIHRpdGxlPSJTZWFyY2giIG9ua2V5cHJlc3M9ImlmIChldmVudC5rZXlDb2RlID09IDEzKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtaXRzZWFyY2goKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSIgYXJpYS1sYWJlbGxlZGJ5PSJzZWFyY2hMYWJlbCIgLz48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2VhcmNoRmlsZXNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0IiwiaW5wdXRTZWFyY2hUZXJtIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyJ9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDQyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIldhdGVybWFyayIsIndpZGdldF9kYXRhc2V0Rm9ybV90YWJWaWV3X2ZpbGVzVGFibGVfal9pZHQxMDQyIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDEwNDIiLHZhbHVlOiJTZWFyY2ggdGhpcyBkYXRhc2V0Li4uIix0YXJnZXQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyJ9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDQzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnN1Ym1pdHNlYXJjaCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDQzIixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTA0MyBAd2lkZ2V0VmFyKGlucHV0U2VhcmNoVGVybSkiLHU6ImRhdGFzZXRGb3JtIixwczp0cnVlLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDQ1IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTA0NSZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTA0NSBAd2lkZ2V0VmFyKGlucHV0U2VhcmNoVGVybSkmcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyxwczp0cnVlfSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkZpbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCBuby10ZXh0Ij48L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy03IHRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMHB4OyIgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLXhzLTkgdGV4dC1sZWZ0Ij48ZGl2IHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7IiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+RmlsdGVyIGJ5PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjIwcHg7IiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxpbmsgZHJvcGRvd24tdG9nZ2xlIiBzdHlsZT0icGFkZGluZzowOyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxlIFR5cGU6IDxzcGFuIGNsYXNzPSIiPkFsbDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPJmFtcDt2ZXJzaW9uPSZhbXA7cT0mYW1wO2ZpbGVBY2Nlc3M9JmFtcDtmaWxlVGFnPSZhbXA7ZmlsZVNvcnRGaWVsZD0mYW1wO2ZpbGVTb3J0T3JkZXI9Ij48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+QWxsPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9InNlcGFyYXRvciIgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JTIyVGV4dCUyMiZhbXA7ZmlsZUFjY2Vzcz0mYW1wO2ZpbGVUYWc9JmFtcDtmaWxlU29ydEZpZWxkPSZhbXA7ZmlsZVNvcnRPcmRlcj0iPjxzcGFuIGNsYXNzPSIiPlRleHQgKDMpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1yaWdodDoyMHB4OyIgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1saW5rIGRyb3Bkb3duLXRvZ2dsZSIgc3R5bGU9InBhZGRpbmc6MDsiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXNzOiA8c3BhbiBjbGFzcz0iIj5BbGw8L3NwYW4+IDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlVGFnPSZhbXA7ZmlsZVNvcnRGaWVsZD0mYW1wO2ZpbGVTb3J0T3JkZXI9Ij48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+QWxsPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9InNlcGFyYXRvciIgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPVB1YmxpYyZhbXA7ZmlsZVRhZz0mYW1wO2ZpbGVTb3J0RmllbGQ9JmFtcDtmaWxlU29ydE9yZGVyPSI+PHNwYW4gY2xhc3M9IiI+UHVibGljICgzKTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMyB0ZXh0LXJpZ2h0ICI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNvcnQiPjwvc3Bhbj4gU29ydCA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBwdWxsLXJpZ2h0IHRleHQtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPJmFtcDt2ZXJzaW9uPSZhbXA7cT0mYW1wO2ZpbGVUeXBlR3JvdXBGYWNldD0mYW1wO2ZpbGVBY2Nlc3M9Ij48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+TmFtZSAoQS1aKTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08mYW1wO3ZlcnNpb249JmFtcDtxPSZhbXA7ZmlsZVR5cGVHcm91cEZhY2V0PSZhbXA7ZmlsZUFjY2Vzcz0mYW1wO2ZpbGVTb3J0RmllbGQ9bmFtZSZhbXA7ZmlsZVNvcnRPcmRlcj1kZXNjIj48c3BhbiBjbGFzcz0iIj5OYW1lIChaLUEpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPSZhbXA7ZmlsZVNvcnRGaWVsZD1kYXRlIj48c3BhbiBjbGFzcz0iIj5OZXdlc3Q8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPJmFtcDt2ZXJzaW9uPSZhbXA7cT0mYW1wO2ZpbGVUeXBlR3JvdXBGYWNldD0mYW1wO2ZpbGVBY2Nlc3M9JmFtcDtmaWxlU29ydEZpZWxkPWRhdGUmYW1wO2ZpbGVTb3J0T3JkZXI9ZGVzYyI+PHNwYW4gY2xhc3M9IiI+T2xkZXN0PC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPSZhbXA7ZmlsZVNvcnRGaWVsZD1zaXplIj48c3BhbiBjbGFzcz0iIj5TaXplPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPSZhbXA7ZmlsZVNvcnRGaWVsZD10eXBlIj48c3BhbiBjbGFzcz0iIj5UeXBlPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idWktZGF0YXRhYmxlLXRhYmxld3JhcHBlciI+PHRhYmxlIHJvbGU9ImdyaWQiIHN0eWxlPSJtaW4td2lkdGg6MTAwJTt3aWR0aDphdXRvOyI+PHRoZWFkIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfaGVhZCI+PHRyIHJvbGU9InJvdyI+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMjE5IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCB1aS1zZWxlY3Rpb24tY29sdW1uIHRleHQtY2VudGVyIiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9IlNlbGVjdCBGaWxlcyIgc2NvcGU9ImNvbCI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS1jaGtib3gtYWxsIHVpLXdpZGdldCI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX2hlYWRfY2hlY2tib3giIHJvbGU9ImNoZWNrYm94IiB0YWJpbmRleD0iMCIgYXJpYS1sYWJlbD0iU2VsZWN0IEFsbCIgYXJpYS1jaGVja2VkPSJmYWxzZSIgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PC90aD48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDEyMjAiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1maWxlLW1ldGFkYXRhIiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9InswfSB0byB7MX0gb2YgezJ9IHsyLCBjaG9pY2UsIDAjRmlsZXN8MSNGaWxlfDIjRmlsZXN9IiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZmlsZXNIZWFkZXJDb3VudCI+PHNwYW4gY2xhc3M9ImhpZ2hsaWdodEJvbGQiPjEgdG8gMyBvZiAzIEZpbGVzPC9zcGFuPjwvZGl2Pjwvc3Bhbj48L3RoPjx0aCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTI1NiIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgY29sLWZpbGUtYWN0aW9uIGJ1dHRvbi1ibG9jayB0ZXh0LXJpZ2h0IiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9IkZpbGUgQWN0aW9ucyIgc2NvcGU9ImNvbCIgc3R5bGU9IndpZHRoOjQwJTsiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRvd25sb2FkRmlsZXModXJsLCBmaWxlbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICBmaWxlbGlzdCA9IGZpbGVsaXN0ICsgJywnOyAvL1ByZXZlbnRzIGxhc3QgZmlsZSBmcm9tIGJlaW5nIGRyb3BwZWQgb24gc2VydmVyCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmb3JtID0gJCgnPGZvcm0+PC9mb3JtPicpLmF0dHIoJ2FjdGlvbicsIHVybCkuYXR0cignbWV0aG9kJywgJ3Bvc3QnKS5hdHRyKCdlbmN0eXBlJywgJ3RleHQvcGxhaW4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ybS5hcHBlbmQoJCgiPGlucHV0IC8+IikuYXR0cigndHlwZScsICdoaWRkZW4nKS5hdHRyKCduYW1lJywgJ2ZpbGVJZHMnKS5hdHRyKCd2YWx1ZScsIGZpbGVsaXN0KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vU3VibWl0IGFuZCB0aGVuIHJlbW92ZSBmb3JtCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0uYXBwZW5kVG8oJ2JvZHknKS5zdWJtaXQoKS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICA8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZG93bmxvYWRCdXR0b25CbG9ja05vcm1hbCIgY2xhc3M9ImJ0bi1ncm91cCI+PGEgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDEzMDciIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IGJ0bi1kb3dubG9hZCIgb25jbGljaz0iaWYgKCF0ZXN0RmlsZXNTZWxlY3RlZCgpKSByZXR1cm4gZmFsc2U7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTMwNyZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7c2hvd1BvcHVwKCk7O319KTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+IERvd25sb2FkCiAgICAgICAgICAgICAgICAgICAgPC9hPjwvZGl2Pjwvc3Bhbj48L3RoPjwvdHI+PC90aGVhZD48dGJvZHkgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9kYXRhIiBjbGFzcz0idWktZGF0YXRhYmxlLWRhdGEgdWktd2lkZ2V0LWNvbnRlbnQiPjx0ciBkYXRhLXJpPSIwIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNWVkNTdhNjUyZS02NzI4NGEzNzJjMjkiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtZXZlbiB1aS1kYXRhdGFibGUtc2VsZWN0YWJsZSIgcm9sZT0icm93IiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3MzOi8vZHZuLWNsb3VkOjE1ZWQ1N2E2NTJlLTY3Mjg0YTM3MmMyOV9jaGVja2JveCIgcm9sZT0iY2hlY2tib3giIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsPSJTZWxlY3QgQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0IiBhcmlhLWNoZWNrZWQ9ImZhbHNlIiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlSW5mb0luY2x1ZGUtZmlsZXNUYWJsZSIgY2xhc3M9InVpLW91dHB1dHBhbmVsIHVpLXdpZGdldCBtZWRpYSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtbGVmdCBjb2wtZmlsZS10aHVtYiIgc3R5bGU9InBhZGRpbmctdG9wOjRweDsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1vYmplY3QgdGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj48c3BhbiBjbGFzcz0iaWNvbi1kb2N1bWVudCBmaWxlLXRodW1ibmFpbC1pY29uIHRleHQtbXV0ZWQiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtYm9keSBjb2wtZmlsZS1tZXRhZGF0YSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpbGVOYW1lT3JpZ2luYWwiPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0szTlJNTyZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICBBc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVUeXBlIj5QbGFpbiBUZXh0PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlU2l6ZSI+IC0gMTEuMCBNQjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGVDcmVhdGVQdWJsaXNoLWJsb2NrIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj5QdWJsaXNoZWQgU2VwIDMwLCAyMDE3PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0iZG93bmxvYWRzLWJsb2NrIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6ZmlsZURvd25sb2FkQ291bnQiIGNsYXNzPSJ2aXNpYmxlLXhzLWJsb2NrIHZpc2libGUtc20tYmxvY2sgdmlzaWJsZS1tZC1pbmxpbmUgdmlzaWJsZS1sZy1pbmxpbmUiPjU4IERvd25sb2Fkczwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkgY2hlY2tzdW0tdHJ1bmNhdGUgY2hlY2tzdW0tdG9vbHRpcCIgc3R5bGU9Im1hcmdpbi1yaWdodDozcHg7IiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9InRvcCIgZGF0YS1odG1sPSJ0cnVlIiBkYXRhLWNsaXBib2FyZC1hY3Rpb249ImNvcHkiIGRhdGEtY2xpcGJvYXJkLXRleHQ9ImJjYzA2YWViZjk2Yzk1NDA5OTUxOTJjODljOTFmYjIzIiB0aXRsZT0iQ2xpY2sgdG8gY29weSZsdDtici8mZ3Q7YmNjMDZhZWJmOTZjOTU0MDk5NTE5MmM4OWM5MWZiMjMiPk1ENTogYmNjMDZhZWJmOTZjOTU0MDk5NTE5MmM4OWM5MWZiMjM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tY29weSBidG4tY29weSBjaGVja3N1bS10b29sdGlwIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9InRvcCIgZGF0YS1odG1sPSJ0cnVlIiBkYXRhLWNsaXBib2FyZC1hY3Rpb249ImNvcHkiIGRhdGEtY2xpcGJvYXJkLXRleHQ9ImJjYzA2YWViZjk2Yzk1NDA5OTUxOTJjODljOTFmYjIzIiB0aXRsZT0iQ2xpY2sgdG8gY29weSZsdDtici8mZ3Q7YmNjMDZhZWJmOTZjOTU0MDk5NTE5MmM4OWM5MWZiMjMiPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0iZmlsZURlc2NyaXB0aW9uIHNtYWxsIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6ZmlsZURlc2NOb25FbXB0eSI+U3VtbWFyeSBkYXRhIGZvciBBc2lhbiBjb2hvcnQ8L3NwYW4+PC9kaXY+CiAgICAgICAgPC9kaXY+PC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDo0MCU7IiBjbGFzcz0iY29sLWZpbGUtYWN0aW9uIGJ1dHRvbi1ibG9jayB0ZXh0LXJpZ2h0Ij48ZGl2IHJvbGU9Imdyb3VwIiBjbGFzcz0iYnRuLWdyb3VwIiBhcmlhLWxhYmVsPSJGaWxlIEFjdGlvbnMiPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4tcHJldmlldyBidG4gYnRuLWxpbmsgYm9vdHN0cmFwLWJ1dHRvbi10b29sdGlwIiB0aXRsZT0iUmVhZCBUZXh0IiBocmVmPSIvZmlsZS54aHRtbD9wZXJzaXN0ZW50SWQ9ZG9pOjEwLjc5MTAvRFZOL05KN1hTTy9LM05STU8mYW1wO3ZlcnNpb249MS4wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV5ZS1vcGVuIj48L3NwYW4+PHNwYW4gY2xhc3M9InNyLW9ubHkiPlByZXZpZXcgIkFzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dCI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSB0eXBlPSJidXR0b24iIHN0eWxlPSJwYWRkaW5nOjZweCA4cHg7IiBjbGFzcz0iYnRuLWFjY2Vzcy1maWxlIGJ0biBidG4tbGluayBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAgZHJvcGRvd24tdG9nZ2xlIiB0aXRsZT0iQWNjZXNzIEZpbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIHRhYmluZGV4PSIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+PHNwYW4gY2xhc3M9InNyLW9ubHkiPkFjY2VzcyBGaWxlPC9zcGFuPjxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgcHVsbC1yaWdodCB0ZXh0LWxlZnQiPgogICAgCiAgICAKICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5GaWxlIEFjY2VzcyA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1maWxlIj48L3NwYW4+PC9saT4KICAgIDxsaT48c3BhbiBjbGFzcz0iZHJvcGRvd24taXRlbS10ZXh0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZ2xvYmUgdGV4dC1zdWNjZXNzIj48L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtc3VjY2VzcyI+IFB1YmxpYzwvc3Bhbj4KICAgICAgICA8L3NwYW4+PC9saT4KICAgICAgICAKICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duLWhlYWRlciI+RG93bmxvYWQgT3B0aW9ucyA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj48L2xpPjxsaT48YSBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxMzUxIiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0bi1kb3dubG9hZCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDEzNTEmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90OyxwOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmpfaWR0MTM1MSZxdW90O30pO3JldHVybiBmYWxzZTsiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIFBsYWluIFRleHQKICAgICAgICAgICAgPC9hPjwvbGk+CiAgICAKICAgIAogICAgCiAgICA8bGkgY2xhc3M9ImRyb3Bkb3duLWhlYWRlciI+RG93bmxvYWQgTWV0YWRhdGEgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+PC9saT48bGkgY2xhc3M9ImRyb3Bkb3duLXN1Ym1lbnUgcHVsbC1sZWZ0Ij4KICAgICAgICAgICAgPGEgdGFiaW5kZXg9IjAiPkRhdGEgRmlsZSBDaXRhdGlvbjwvYT4KICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxMzg2JzonZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxMzg2J30sJycpO3JldHVybiBmYWxzZSIgY2xhc3M9ImJ0bi1kb3dubG9hZCI+RW5kTm90ZSBYTUw8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDEzODknOidkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDEzODknfSwnJyk7cmV0dXJuIGZhbHNlIiBjbGFzcz0iYnRuLWRvd25sb2FkIj5SSVM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDEzOTInOidkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDEzOTInfSwnJyk7cmV0dXJuIGZhbHNlIiBjbGFzcz0iYnRuLWRvd25sb2FkIj5CaWJUZVg8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD48L2xpPgogICAgCiAgICA8bGkgcm9sZT0icHJlc2VudGF0aW9uIiBjbGFzcz0iY2xlYXJmaXgiPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBkYXRhLXJpPSIxIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNWVkNTdhODdiOS05OWFiYzE2MmI0NTgiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtb2RkIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJ1aS1zZWxlY3Rpb24tY29sdW1uIHRleHQtY2VudGVyIj48ZGl2IGNsYXNzPSJ1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfczM6Ly9kdm4tY2xvdWQ6MTVlZDU3YTg3YjktOTlhYmMxNjJiNDU4X2NoZWNrYm94IiByb2xlPSJjaGVja2JveCIgdGFiaW5kZXg9IjAiIGFyaWEtbGFiZWw9IlNlbGVjdCBFdXJvcGVhbl9Bc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQiIGFyaWEtY2hlY2tlZD0iZmFsc2UiIGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtbWV0YWRhdGEiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVJbmZvSW5jbHVkZS1maWxlc1RhYmxlIiBjbGFzcz0idWktb3V0cHV0cGFuZWwgdWktd2lkZ2V0IG1lZGlhIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1sZWZ0IGNvbC1maWxlLXRodW1iIiBzdHlsZT0icGFkZGluZy10b3A6NHB4OyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLW9iamVjdCB0aHVtYm5haWwtYmxvY2sgdGV4dC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJpY29uLWRvY3VtZW50IGZpbGUtdGh1bWJuYWlsLWljb24gdGV4dC1tdXRlZCI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5IGNvbC1maWxlLW1ldGFkYXRhIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZU5hbWVPcmlnaW5hbCI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZpbGUueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08vSEEyU1ZSJmFtcDt2ZXJzaW9uPTEuMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIEV1cm9wZWFuX0FzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dAogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW11dGVkIHNtYWxsIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6ZmlsZVR5cGUiPlBsYWluIFRleHQ8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVTaXplIj4gLSAxMC43IE1CPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGF0ZUNyZWF0ZVB1Ymxpc2gtYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlQ3JlYXRlUHVibGlzaERhdGUiPlB1Ymxpc2hlZCBTZXAgMzAsIDIwMTc8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJkb3dubG9hZHMtYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlRG93bmxvYWRDb3VudCIgY2xhc3M9InZpc2libGUteHMtYmxvY2sgdmlzaWJsZS1zbS1ibG9jayB2aXNpYmxlLW1kLWlubGluZSB2aXNpYmxlLWxnLWlubGluZSI+NTggRG93bmxvYWRzPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImNoZWNrc3VtLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSBjaGVja3N1bS10cnVuY2F0ZSBjaGVja3N1bS10b29sdGlwIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjNweDsiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0idG9wIiBkYXRhLWh0bWw9InRydWUiIGRhdGEtY2xpcGJvYXJkLWFjdGlvbj0iY29weSIgZGF0YS1jbGlwYm9hcmQtdGV4dD0iMGFlN2I0NjM5NjI2ZWJhZDZhYjc3ZjU0YmZjZmRkNmQiIHRpdGxlPSJDbGljayB0byBjb3B5Jmx0O2JyLyZndDswYWU3YjQ2Mzk2MjZlYmFkNmFiNzdmNTRiZmNmZGQ2ZCI+TUQ1OiAwYWU3YjQ2Mzk2MjZlYmFkNmFiNzdmNTRiZmNmZGQ2ZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jb3B5IGJ0bi1jb3B5IGNoZWNrc3VtLXRvb2x0aXAiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0idG9wIiBkYXRhLWh0bWw9InRydWUiIGRhdGEtY2xpcGJvYXJkLWFjdGlvbj0iY29weSIgZGF0YS1jbGlwYm9hcmQtdGV4dD0iMGFlN2I0NjM5NjI2ZWJhZDZhYjc3ZjU0YmZjZmRkNmQiIHRpdGxlPSJDbGljayB0byBjb3B5Jmx0O2JyLyZndDswYWU3YjQ2Mzk2MjZlYmFkNmFiNzdmNTRiZmNmZGQ2ZCI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmaWxlRGVzY3JpcHRpb24gc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlRGVzY05vbkVtcHR5Ij5TdW1tYXJ5IGRhdGEgZm9yIGNvbWJpbmVkIGNvaG9ydDwvc3Bhbj48L2Rpdj4KICAgICAgICA8L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjQwJTsiIGNsYXNzPSJjb2wtZmlsZS1hY3Rpb24gYnV0dG9uLWJsb2NrIHRleHQtcmlnaHQiPjxkaXYgcm9sZT0iZ3JvdXAiIGNsYXNzPSJidG4tZ3JvdXAiIGFyaWEtbGFiZWw9IkZpbGUgQWN0aW9ucyI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0bi1wcmV2aWV3IGJ0biBidG4tbGluayBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIHRpdGxlPSJSZWFkIFRleHQiIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0hBMlNWUiZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXllLW9wZW4iPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3Itb25seSI+UHJldmlldyAiRXVyb3BlYW5fQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0Ijwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9InBhZGRpbmc6NnB4IDhweDsiIGNsYXNzPSJidG4tYWNjZXNzLWZpbGUgYnRuIGJ0bi1saW5rIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCBkcm9wZG93bi10b2dnbGUiIHRpdGxlPSJBY2Nlc3MgRmlsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgdGFiaW5kZXg9IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3Itb25seSI+QWNjZXNzIEZpbGU8L3NwYW4+PHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBwdWxsLXJpZ2h0IHRleHQtbGVmdCI+CiAgICAKICAgIAogICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkZpbGUgQWNjZXNzIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZpbGUiPjwvc3Bhbj48L2xpPgogICAgPGxpPjxzcGFuIGNsYXNzPSJkcm9wZG93bi1pdGVtLXRleHQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1nbG9iZSB0ZXh0LXN1Y2Nlc3MiPjwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1zdWNjZXNzIj4gUHVibGljPC9zcGFuPgogICAgICAgIDwvc3Bhbj48L2xpPgogICAgICAgIAogICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5Eb3dubG9hZCBPcHRpb25zIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjwvbGk+PGxpPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpqX2lkdDEzNTEiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuLWRvd25sb2FkIiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTM1MSZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6al9pZHQxMzUxJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgUGxhaW4gVGV4dAogICAgICAgICAgICA8L2E+PC9saT4KICAgIAogICAgCiAgICAKICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5Eb3dubG9hZCBNZXRhZGF0YSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iZHJvcGRvd24tc3VibWVudSBwdWxsLWxlZnQiPgogICAgICAgICAgICA8YSB0YWJpbmRleD0iMCI+RGF0YSBGaWxlIENpdGF0aW9uPC9hPgogICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpqX2lkdDEzODYnOidkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpqX2lkdDEzODYnfSwnJyk7cmV0dXJuIGZhbHNlIiBjbGFzcz0iYnRuLWRvd25sb2FkIj5FbmROb3RlIFhNTDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTM4OSc6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTM4OSd9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPlJJUzwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTM5Mic6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTM5Mid9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPkJpYlRlWDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICA8L3VsPjwvbGk+CiAgICAKICAgIDxsaSByb2xlPSJwcmVzZW50YXRpb24iIGNsYXNzPSJjbGVhcmZpeCI+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48L2Rpdj48L3RkPjwvdHI+PHRyIGRhdGEtcmk9IjIiIGRhdGEtcms9InMzOi8vZHZuLWNsb3VkOjE1ZWQ1N2FhYjdlLTkwYTJiNmMxMTJlYiIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1ldmVuIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJ1aS1zZWxlY3Rpb24tY29sdW1uIHRleHQtY2VudGVyIj48ZGl2IGNsYXNzPSJ1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfczM6Ly9kdm4tY2xvdWQ6MTVlZDU3YWFiN2UtOTBhMmI2YzExMmViX2NoZWNrYm94IiByb2xlPSJjaGVja2JveCIgdGFiaW5kZXg9IjAiIGFyaWEtbGFiZWw9IlNlbGVjdCBFdXJvcGVhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQiIGFyaWEtY2hlY2tlZD0iZmFsc2UiIGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtbWV0YWRhdGEiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVJbmZvSW5jbHVkZS1maWxlc1RhYmxlIiBjbGFzcz0idWktb3V0cHV0cGFuZWwgdWktd2lkZ2V0IG1lZGlhIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1sZWZ0IGNvbC1maWxlLXRodW1iIiBzdHlsZT0icGFkZGluZy10b3A6NHB4OyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLW9iamVjdCB0aHVtYm5haWwtYmxvY2sgdGV4dC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJpY29uLWRvY3VtZW50IGZpbGUtdGh1bWJuYWlsLWljb24gdGV4dC1tdXRlZCI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5IGNvbC1maWxlLW1ldGFkYXRhIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZU5hbWVPcmlnaW5hbCI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZpbGUueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08vSU40NUdaJmFtcDt2ZXJzaW9uPTEuMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIEV1cm9wZWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dAogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW11dGVkIHNtYWxsIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZVR5cGUiPlBsYWluIFRleHQ8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVTaXplIj4gLSAxMi43IE1CPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGF0ZUNyZWF0ZVB1Ymxpc2gtYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlQ3JlYXRlUHVibGlzaERhdGUiPlB1Ymxpc2hlZCBTZXAgMzAsIDIwMTc8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJkb3dubG9hZHMtYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlRG93bmxvYWRDb3VudCIgY2xhc3M9InZpc2libGUteHMtYmxvY2sgdmlzaWJsZS1zbS1ibG9jayB2aXNpYmxlLW1kLWlubGluZSB2aXNpYmxlLWxnLWlubGluZSI+ODcgRG93bmxvYWRzPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImNoZWNrc3VtLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSBjaGVja3N1bS10cnVuY2F0ZSBjaGVja3N1bS10b29sdGlwIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjNweDsiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0idG9wIiBkYXRhLWh0bWw9InRydWUiIGRhdGEtY2xpcGJvYXJkLWFjdGlvbj0iY29weSIgZGF0YS1jbGlwYm9hcmQtdGV4dD0iODc2YmIzYjYwMDQ2MGZkYmZhYmMwMWViMDhjNDE0OTciIHRpdGxlPSJDbGljayB0byBjb3B5Jmx0O2JyLyZndDs4NzZiYjNiNjAwNDYwZmRiZmFiYzAxZWIwOGM0MTQ5NyI+TUQ1OiA4NzZiYjNiNjAwNDYwZmRiZmFiYzAxZWIwOGM0MTQ5Nzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jb3B5IGJ0bi1jb3B5IGNoZWNrc3VtLXRvb2x0aXAiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0idG9wIiBkYXRhLWh0bWw9InRydWUiIGRhdGEtY2xpcGJvYXJkLWFjdGlvbj0iY29weSIgZGF0YS1jbGlwYm9hcmQtdGV4dD0iODc2YmIzYjYwMDQ2MGZkYmZhYmMwMWViMDhjNDE0OTciIHRpdGxlPSJDbGljayB0byBjb3B5Jmx0O2JyLyZndDs4NzZiYjNiNjAwNDYwZmRiZmFiYzAxZWIwOGM0MTQ5NyI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmaWxlRGVzY3JpcHRpb24gc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlRGVzY05vbkVtcHR5Ij5TdW1tYXJ5IGRhdGEgZm9yIEV1cm9wZWFuIGNvaG9ydDwvc3Bhbj48L2Rpdj4KICAgICAgICA8L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjQwJTsiIGNsYXNzPSJjb2wtZmlsZS1hY3Rpb24gYnV0dG9uLWJsb2NrIHRleHQtcmlnaHQiPjxkaXYgcm9sZT0iZ3JvdXAiIGNsYXNzPSJidG4tZ3JvdXAiIGFyaWEtbGFiZWw9IkZpbGUgQWN0aW9ucyI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0bi1wcmV2aWV3IGJ0biBidG4tbGluayBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIHRpdGxlPSJSZWFkIFRleHQiIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0lONDVHWiZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXllLW9wZW4iPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3Itb25seSI+UHJldmlldyAiRXVyb3BlYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0Ijwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9InBhZGRpbmc6NnB4IDhweDsiIGNsYXNzPSJidG4tYWNjZXNzLWZpbGUgYnRuIGJ0bi1saW5rIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCBkcm9wZG93bi10b2dnbGUiIHRpdGxlPSJBY2Nlc3MgRmlsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgdGFiaW5kZXg9IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3Itb25seSI+QWNjZXNzIEZpbGU8L3NwYW4+PHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBwdWxsLXJpZ2h0IHRleHQtbGVmdCI+CiAgICAKICAgIAogICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkZpbGUgQWNjZXNzIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZpbGUiPjwvc3Bhbj48L2xpPgogICAgPGxpPjxzcGFuIGNsYXNzPSJkcm9wZG93bi1pdGVtLXRleHQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1nbG9iZSB0ZXh0LXN1Y2Nlc3MiPjwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1zdWNjZXNzIj4gUHVibGljPC9zcGFuPgogICAgICAgIDwvc3Bhbj48L2xpPgogICAgICAgIAogICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5Eb3dubG9hZCBPcHRpb25zIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjwvbGk+PGxpPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpqX2lkdDEzNTEiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuLWRvd25sb2FkIiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTM1MSZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6al9pZHQxMzUxJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgUGxhaW4gVGV4dAogICAgICAgICAgICA8L2E+PC9saT4KICAgIAogICAgCiAgICAKICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5Eb3dubG9hZCBNZXRhZGF0YSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iZHJvcGRvd24tc3VibWVudSBwdWxsLWxlZnQiPgogICAgICAgICAgICA8YSB0YWJpbmRleD0iMCI+RGF0YSBGaWxlIENpdGF0aW9uPC9hPgogICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpqX2lkdDEzODYnOidkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpqX2lkdDEzODYnfSwnJyk7cmV0dXJuIGZhbHNlIiBjbGFzcz0iYnRuLWRvd25sb2FkIj5FbmROb3RlIFhNTDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTM4OSc6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTM4OSd9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPlJJUzwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTM5Mic6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTM5Mid9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPkJpYlRlWDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICA8L3VsPjwvbGk+CiAgICAKICAgIDxsaSByb2xlPSJwcmVzZW50YXRpb24iIGNsYXNzPSJjbGVhcmZpeCI+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48L2Rpdj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxpbnB1dCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgdHlwZT0iaGlkZGVuIiBhdXRvY29tcGxldGU9Im9mZiIgYXJpYS1oaWRkZW49InRydWUiIHZhbHVlPSIiIC8+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRhdGFUYWJsZSIsImZpbGVzVGFibGUiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixzZWxlY3Rpb25Nb2RlOiJjaGVja2JveCIscm93U2VsZWN0TW9kZToiY2hlY2tib3giLGdyb3VwQ29sdW1uSW5kZXhlczpbXSxkaXNhYmxlQ29udGV4dE1lbnVJZkVtcHR5OmZhbHNlLGJlaGF2aW9yczp7cm93VW5zZWxlY3Q6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dVbnNlbGVjdCIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dmFsaWRhdGVGaWxlc091dGNvbWUgZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtyZWJpbmRDb21tYW5kKCk7fX0sZXh0KTt9LHJvd1Vuc2VsZWN0Q2hlY2tib3g6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dVbnNlbGVjdENoZWNrYm94IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30scm93RGJsc2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93RGJsc2VsZWN0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30scGFnZTpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLGU6InBhZ2UiLGY6ImRhdGFzZXRGb3JtIixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7cmVmcmVzaFBhZ2luYXRvcigpLHJlYmluZENvbW1hbmQoKTt9fSxleHQpO30scm93U2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93U2VsZWN0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30sdG9nZ2xlU2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToidG9nZ2xlU2VsZWN0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30scm93U2VsZWN0Q2hlY2tib3g6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dTZWxlY3RDaGVja2JveCIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dmFsaWRhdGVGaWxlc091dGNvbWUgZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtyZWJpbmRDb21tYW5kKCk7fX0sZXh0KTt9fX0pO30pOzwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6bWV0YWRhdGFNYXBUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIxIj48ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgdGFiLWhlYWRlciBtYXJnaW4tYm90dG9tIHRleHQtcmlnaHQiPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLWV4cG9ydCBkcm9wZG93bi10b2dnbGUiIHR5cGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leHBvcnQiPjwvc3Bhbj4gRXhwb3J0IE1ldGFkYXRhIDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgcHVsbC1yaWdodCB0ZXh0LWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/ZXhwb3J0ZXI9ZGN0ZXJtcyZhbXA7cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAvRFZOL05KN1hTTyIgdGFyZ2V0PSJfYmxhbmsiPkR1YmxpbiBDb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/ZXhwb3J0ZXI9ZGRpJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+RERJPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/ZXhwb3J0ZXI9RGF0YWNpdGUmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5EYXRhQ2l0ZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2V4cG9ydGVyPWh0bWwmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5EREkgSFRNTCBDb2RlYm9vazwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2V4cG9ydGVyPWRhdGF2ZXJzZV9qc29uJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+SlNPTjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P2V4cG9ydGVyPU9BSV9PUkUmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5PQUlfT1JFPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/ZXhwb3J0ZXI9b2FpX2RhdGFjaXRlJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+T3BlbkFJUkU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9hcGkvZGF0YXNldHMvZXhwb3J0O2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT9leHBvcnRlcj1zY2hlbWEub3JnJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+U2NoZW1hLm9yZyBKU09OLUxEPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTUwMSI+PC9kaXY+PGRpdiBjbGFzcz0icGFuZWwtZ3JvdXAiPgogICAgICAgIDxwPgogICAgICAgIDwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNwYW5lbENvbGxhcHNlMCIgY2xhc3M9InBhbmVsLWhlYWRpbmcgdGV4dC1pbmZvIj4KICAgICAgICAgICAgICAgICAgICBDaXRhdGlvbiBNZXRhZGF0YSDCoDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZTAiIGNsYXNzPSJjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSBtZXRhZGF0YS1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9Im1ldGFkYXRhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9wZXJzaXN0ZW50SWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGFzZXQgUGVyc2lzdGVudCBJRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSB1bmlxdWUgcGVyc2lzdGVudCBpZGVudGlmaWVyIGZvciBhIGRhdGFzZXQsIHdoaWNoIGNhbiBiZSBhIEhhbmRsZSBvciBET0kgaW4gRGF0YXZlcnNlLiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5kb2k6MTAuNzkxMC9EVk4vTko3WFNPPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj48dHIgaWQ9Im1ldGFkYXRhX3B1YmxpY2F0aW9uRGF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gRGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBwdWJsaWNhdGlvbiBkYXRlIG9mIGEgZGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjAxNy0wOS0zMDwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV90aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGl0bGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJGdWxsIHRpdGxlIGJ5IHdoaWNoIHRoZSBEYXRhc2V0IGlzIGtub3duLiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+U3VtbWFyeSBkYXRhIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgR1dBUzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBpZD0ibWV0YWRhdGFfYXV0aG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRob3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgcGVyc29uKHMpLCBjb3Jwb3JhdGUgYm9keShpZXMpLCBvciBhZ2VuY3koaWVzKSByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHdvcmsuIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5JbnRlcm5hdGlvbmFsIEdlbmV0aWNzIG9mIEFua3lsb3NpbmcgU3BvbmR5bGl0aXMgQ29uc29ydGl1bSAoSUdBUyk8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgaWQ9Im1ldGFkYXRhX2RhdGFzZXRDb250YWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIGNvbnRhY3QocykgZm9yIHRoaXMgRGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPlVzZSBlbWFpbCBidXR0b24gYWJvdmUgdG8gY29udGFjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5MaSwgWmhpeGl1IChRVVQpIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBpZD0ibWV0YWRhdGFfZHNEZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJBIHN1bW1hcnkgZGVzY3JpYmluZyB0aGUgcHVycG9zZSwgbmF0dXJlLCBhbmQgc2NvcGUgb2YgdGhlIERhdGFzZXQuIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5TdW1tYXJ5IG9mIGFzc29jaWF0aW9uIHRlc3RzIGZvciBOYXR1cmUgR2VuZXRpY3MgcHVibGljYXRpb24gIklkZW50aWZpY2F0aW9uIG9mIG11bHRpcGxlIHJpc2sgdmFyaWFudHMgZm9yIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgdGhyb3VnaCBoaWdoLWRlbnNpdHkgZ2Vub3R5cGluZyBvZiBpbW11bmUtcmVsYXRlZCBsb2NpIi48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgaWQ9Im1ldGFkYXRhX3N1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEb21haW4tc3BlY2lmaWMgU3ViamVjdCBDYXRlZ29yaWVzIHRoYXQgYXJlIHRvcGljYWxseSByZWxldmFudCB0byB0aGUgRGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPk1lZGljaW5lLCBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXM8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgaWQ9Im1ldGFkYXRhX2tleXdvcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtleXdvcmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJLZXkgdGVybXMgdGhhdCBkZXNjcmliZSBpbXBvcnRhbnQgYXNwZWN0cyBvZiB0aGUgRGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPkdlbm9tZS1XaWRlIEFzc29jaWF0aW9uIFN0dWRpZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5Bbmt5bG9zaW5nIHNwb25keWxpdGlzPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9wdWJsaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXRlZCBQdWJsaWNhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlB1YmxpY2F0aW9ucyB0aGF0IHVzZSB0aGUgZGF0YSBmcm9tIHRoaXMgRGF0YXNldC4gVGhlIGZ1bGwgbGlzdCBvZiBSZWxhdGVkIFB1YmxpY2F0aW9ucyB3aWxsIGJlIGRpc3BsYXllZCBvbiB0aGUgbWV0YWRhdGEgdGFiLiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+MTAuMTAzOC9uZy4yNjY3IGRvaTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9ub3Rlc1RleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQWRkaXRpb25hbCBpbXBvcnRhbnQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERhdGFzZXQuIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5FdXJvcGVhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQ6IHN1bW1hcnkgZGF0YSBmb3IgRXVyb3BlYW4gY29ob3J0IEFzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dDogc3VtbWFyeSBkYXRhIGZvciBBc2lhbiBjb2hvcnQgRXVyb3BlYW5fQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0OiBzdW1tYXJ5IGRhdGEgZm9yIGNvbWJpbmVkIGNvaG9ydDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBpZD0ibWV0YWRhdGFfZGVwb3NpdG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBvc2l0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgcGVyc29uIChGYW1pbHkgTmFtZSwgR2l2ZW4gTmFtZSkgb3IgdGhlIG5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGRlcG9zaXRlZCB0aGlzIERhdGFzZXQgdG8gdGhlIHJlcG9zaXRvcnkuIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5MaSwgWmhpeGl1PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9kYXRlT2ZEZXBvc2l0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBvc2l0IERhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEYXRlIHRoYXQgdGhlIERhdGFzZXQgd2FzIGRlcG9zaXRlZCBpbnRvIHRoZSByZXBvc2l0b3J5LiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+MjAxNy0wOS0zMDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogPHNjcmlwdD4KICAgIC8vPCFbQ0RBVEFbCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICAgLy9UaGUgc2VsZWN0MiB3aWRnZXQgdXNlZCBpbiBleHRlcm5hbCB2b2NhYiBzY3JpcHRzIGhhcyB0cm91YmxlIGRldGVybWluaW5nIHRoZSB3aWR0aCBvZiBhbiBpbnB1dCBmaWVsZCBpZiBpdCBpcyBpbml0aWFsbHkgaGlkZGVuCiAgICAgIC8vU3RhcnRpbmcgd2l0aCB0aGUgbWV0YWRhdGFibG9ja3MgZGlzcGxheWVkIGFuZCBjb2xsYXBzaW5nIHRoZW0gaGVyZSBpcyBhIHdvcmstYXJvdW5kIHRvIGZpeCB0aGF0LgogICAgICBpZihmYWxzZSkgewogICAgICAgIGZvcihsZXQgaT0xO2k8IDE7aSsrKSB7CiAgICAgICAgICAkKCcjcGFuZWxDb2xsYXBzZScraSkuY29sbGFwc2UoJ2hpZGUnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogICAgLy9dXT4KICAgIDwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dGVybXNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIyIj4KICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIj4KICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgIDxkaXYgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3BhbmVsQ29sbGFwc2VUT1UiIGNsYXNzPSJwYW5lbC1oZWFkaW5nIHRleHQtaW5mbyI+CiAgICAgICAgICAgICAgIERhdGFzZXQgVGVybXMgwqA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXVwIj48L3NwYW4+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZVRPVSIgY2xhc3M9ImNvbGxhcHNlIGluIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnRvdUZyYWdtZW50Ij4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJkYXRhc2V0Rm9ybTp0YWJWaWV3Om1ldGFkYXRhX1Rlcm1zIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaWNlbnNlL0RhdGEgVXNlIEFncmVlbWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPk91ciA8YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5vcmcvYmVzdC1wcmFjdGljZXMvZGF0YXZlcnNlLWNvbW11bml0eS1ub3JtcyIgdGl0bGU9IkRhdGF2ZXJzZSBDb21tdW5pdHkgTm9ybXMgLSBEYXRhdmVyc2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+Q29tbXVuaXR5IE5vcm1zPC9hPiBhcyB3ZWxsIGFzIGdvb2Qgc2NpZW50aWZpYyBwcmFjdGljZXMgZXhwZWN0IHRoYXQgcHJvcGVyIGNyZWRpdCBpcyBnaXZlbiB2aWEgY2l0YXRpb24uIFBsZWFzZSB1c2UgdGhlIGRhdGEgY2l0YXRpb24gc2hvd24gb24gdGhlIGRhdGFzZXQgcGFnZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2xpY2Vuc2VidXR0b25zLm5ldC9wL3plcm8vMS4wLzg4eDMxLnBuZyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgb25sb2FkPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J2lubGluZSciIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMCIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgdGFyZ2V0PSJfYmxhbmsiPkNDMCAxLjA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PiAKICAgIDwvZGl2PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIzIj4KCiAgIDxzY3JpcHQ+CiAgICAgICAvLzwhW0NEQVRBWwogICAgICAgLy8gVmVyc2lvbiB0YWI6IFJldHJpZXZlIGRhdGEgYWZ0ZXIgcGFnZSBsb2FkCiAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBwcmVsb2FkX21lc3NhZ2UgPSAiKExvYWRpbmcgdmVyc2lvbnMuLi4pIjsKICAgICAgICAgICAgJCgnI2RhdGFzZXRGb3JtXFw6dGFiVmlld1xcOnZlcnNpb25zVGFibGVfZGF0YSB0ci51aS1kYXRhdGFibGUtZW1wdHktbWVzc2FnZSB0ZCcpLnRleHQocHJlbG9hZF9tZXNzYWdlKTsKICAgICAgICAgICAgcG9zdExvYWRWZXJzaW9uVGFiTGlzdCgpOwogICAgICAgfSk7CiAgICAgICAvL11dPgogICA8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTgzNSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5wb3N0TG9hZFZlcnNpb25UYWJMaXN0ID0gZnVuY3Rpb24oKSB7cmV0dXJuIFByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxODM1IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDE4MzUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIscGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PgogICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCBtYXJnaW4tYm90dG9tIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9ucyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6Y29tcGFyZVZlcnNpb25zJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtQRignZGV0YWlsc0Jsb2NrcycpLnNob3coKTtwb3N0X2RpZmZlcmVuY2VzKCk7O319KTtyZXR1cm4gZmFsc2U7IiBzdHlsZT0iZGlzcGxheTpub25lIiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5EaXJlY3Q8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV90YWJWaWV3X2NvbXBhcmVWZXJzaW9ucyIse2lkOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9ucyJ9KTt9KTs8L3NjcmlwdD4KICAgIDwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIgY2xhc3M9InVpLWRhdGF0YWJsZSB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS10YWJsZXdyYXBwZXIiPjx0YWJsZSByb2xlPSJncmlkIj48dGhlYWQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZV9oZWFkIj48dHIgcm9sZT0icm93Ij48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZTpqX2lkdDE4NDEiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1zbS0xIHRleHQtY2VudGVyIiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9IkRhdGFzZXQgVmVyc2lvbiIgc2NvcGU9ImNvbCI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+RGF0YXNldCBWZXJzaW9uPC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxODUzIiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCIgcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLWxhYmVsPSJTdW1tYXJ5IiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5TdW1tYXJ5PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxODk1IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMyIgcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLWxhYmVsPSJDb250cmlidXRvcnMiIHNjb3BlPSJjb2wiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPkNvbnRyaWJ1dG9yczwvc3Bhbj48L3RoPjx0aCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYmxlOmpfaWR0MTkwMCIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgY29sLXNtLTIiIHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0iUHVibGlzaGVkIG9uIiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5QdWJsaXNoZWQgb248L3NwYW4+PC90aD48L3RyPjwvdGhlYWQ+PHRib2R5IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGVfZGF0YSIgY2xhc3M9InVpLWRhdGF0YWJsZS1kYXRhIHVpLXdpZGdldC1jb250ZW50Ij48dHIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1lbXB0eS1tZXNzYWdlIj48dGQgY29sc3Bhbj0iNCI+Tm8gcmVjb3JkcyBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEYXRhVGFibGUiLCJ2ZXJzaW9uc1RhYmxlIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIsZ3JvdXBDb2x1bW5JbmRleGVzOltdLGRpc2FibGVDb250ZXh0TWVudUlmRW1wdHk6ZmFsc2V9KTt9KTs8L3NjcmlwdD48L2Rpdj48L2Rpdj48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIHR5cGU9ImhpZGRlbiIgYXV0b2NvbXBsZXRlPSJvZmYiIGFyaWEtaGlkZGVuPSJ0cnVlIiB2YWx1ZT0iMCIgLz48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIlRhYlZpZXciLCJjb250ZW50Iix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXciLGVmZmVjdER1cmF0aW9uOiJub3JtYWwiLHNjcm9sbGFibGU6ZmFsc2UsYmVoYXZpb3JzOnt0YWJDaGFuZ2U6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldyIsZToidGFiQ2hhbmdlIixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldyIsdToiZGF0YXNldEZvcm06dGFiVmlldyJ9LGV4dCk7fX19KTt9KTs8L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE5MDgiIGNsYXNzPSJ1aS1ibG9ja3VpLWNvbnRlbnQgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktaGVscGVyLWhpZGRlbiB1aS1zaGFkb3ciPjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTkwOF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJCbG9ja1VJIiwiYmxvY2tEYXRhc2V0Rm9ybSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE5MDgiLGJsb2NrOiJkYXRhc2V0Rm9ybSJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpmaWxlQWxyZWFkeURlbGV0ZWRQcmV2aW91cyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmZpbGVBbHJlYWR5RGVsZXRlZFByZXZpb3VzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5FZGl0IEZpbGU8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXNfY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFRoaXMgZmlsZSBoYXMgYWxyZWFkeSBiZWVuIGRlbGV0ZWQgKG9yIHJlcGxhY2VkKSBpbiB0aGUgY3VycmVudCB2ZXJzaW9uLiBJdCBtYXkgbm90IGJlIGVkaXRlZC48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXMnKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQ2xvc2UKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXMiLHtpZDoiZGF0YXNldEZvcm06ZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXMiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVzdHJpY3QgQWNjZXNzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwX2NvbnRlbnQiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE5MTAiPjwvc3Bhbj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuZm9jdXMobnVsbCwgJ2RhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwJyk7fSk7PC9zY3JpcHQ+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPjxzcGFuIGNsYXNzPSJ0ZXh0LW11dGVkIj5SZXN0cmljdGluZyBsaW1pdHMgYWNjZXNzIHRvIHB1Ymxpc2hlZCBmaWxlcy4gUGVvcGxlIHdobyB3YW50IHRvIHVzZSB0aGUgcmVzdHJpY3RlZCBmaWxlcyBjYW4gcmVxdWVzdCBhY2Nlc3MgYnkgZGVmYXVsdC4gIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+SWYgeW91IGRpc2FibGUgcmVxdWVzdCBhY2Nlc3MsIHlvdSBtdXN0IGFkZCBpbmZvcm1hdGlvbiBhYm91dCBhY2Nlc3MgdG8gdGhlIFRlcm1zIG9mIEFjY2VzcyBmaWVsZC48L3NwYW4+CiAgICAgICAgICAgIDxwPjwvcD48c3BhbiBjbGFzcz0idGV4dC1tdXRlZCI+TGVhcm4gYWJvdXQgcmVzdHJpY3RpbmcgZmlsZXMgYW5kIGRhdGFzZXQgYWNjZXNzIGluIHRoZSA8YSBocmVmPSJodHRwczovL2d1aWRlcy5kYXRhdmVyc2Uub3JnL2VuLzUuMTEuMS91c2VyL2RhdGFzZXQtbWFuYWdlbWVudC5odG1sI3Jlc3RyaWN0ZWQtZmlsZXMtdGVybXMtb2YtYWNjZXNzIiB0aXRsZT0iRGF0YXZlcnNlIFVzZXIgR3VpZGUiIHRhcmdldD0iX2JsYW5rIj5Vc2VyIEd1aWRlPC9hPi48L3NwYW4+CiAgICAgICAgPC9wPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTkxOSI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTp0ZXJtc29mQWNjZXNzSGlkZGVuIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOnRlcm1zb2ZBY2Nlc3NIaWRkZW4iIC8+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbiIgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybTpmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbiIgdmFsdWU9ImZhbHNlIiAvPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2VzczIiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0IEFjY2VzcwogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IklmIGNoZWNrZWQsIHVzZXJzIGNhbiByZXF1ZXN0IGFjY2VzcyB0byB0aGUgcmVzdHJpY3RlZCBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MyIiBjbGFzcz0idWktc2VsZWN0Ym9vbGVhbmNoZWNrYm94IHVpLWNoa2JveCB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzMl9pbnB1dCIgbmFtZT0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2VzczJfaW5wdXQiIHR5cGU9ImNoZWNrYm94IiBhdXRvY29tcGxldGU9Im9mZiIgYXJpYS1sYWJlbD0iRW5hYmxlIGFjY2VzcyByZXF1ZXN0IiBhcmlhLWNoZWNrZWQ9ImZhbHNlIiBvbmNoYW5nZT0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzMiZxdW90OyxlOiZxdW90O2NoYW5nZSZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06cmVxdWVzdEFjY2VzczImcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTpyZXN0cmljdEZpbGVCdXR0b24mcXVvdDt9KTsiIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48c3BhbiBjbGFzcz0idWktY2hrYm94LWxhYmVsIj5FbmFibGUgYWNjZXNzIHJlcXVlc3Q8L3NwYW4+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2VzczJfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiU2VsZWN0Qm9vbGVhbkNoZWNrYm94IiwiaW5wdXRmYXIiLHtpZDoiZGF0YXNldEZvcm06cmVxdWVzdEFjY2VzczIifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PGRpdiBpZD0iZGF0YXNldEZvcm06cG9wdXBXYXJuaW5nIj48ZGl2IGFyaWEtbGl2ZT0icG9saXRlIiBjbGFzcz0idWktbWVzc2FnZSB1aS1tZXNzYWdlLWVycm9yIHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVpLW1lc3NhZ2UtZXJyb3ItZGV0YWlsIj5Zb3UgbXVzdCBlbmFibGUgcmVxdWVzdCBhY2Nlc3Mgb3IgYWRkIHRlcm1zIG9mIGFjY2VzcyB0byByZXN0cmljdCBmaWxlIGFjY2Vzcy48L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0idGVybXNBY2Nlc3NJbnB1dCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIEFjY2VzcyBmb3IgUmVzdHJpY3RlZCBGaWxlcwogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkluZm9ybWF0aW9uIG9uIGhvdyBhbmQgaWYgdXNlcnMgY2FuIGFjY2VzcyByZXN0cmljdGVkIGZpbGVzIGluIHRoaXMgRGF0YXNldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij48dGV4dGFyZWEgaWQ9ImRhdGFzZXRGb3JtOnRlcm1zQWNjZXNzSW5wdXQiIG5hbWU9ImRhdGFzZXRGb3JtOnRlcm1zQWNjZXNzSW5wdXQiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dGFyZWEgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiIGNvbHM9IjIwIiByb3dzPSI1IiBtYXhsZW5ndGg9IjIxNDc0ODM2NDciIG9ua2V5dXA9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGVybXNBY2Nlc3NJbnB1dCZxdW90OyxlOiZxdW90O2tleXVwJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTp0ZXJtc0FjY2Vzc0lucHV0JnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm06cmVzdHJpY3RGaWxlQnV0dG9uJnF1b3Q7fSk7Ij48L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRlcm1zQWNjZXNzSW5wdXRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0YXJlYSIsImlucHV0dG9hIix7aWQ6ImRhdGFzZXRGb3JtOnRlcm1zQWNjZXNzSW5wdXQiLGF1dG9SZXNpemU6ZmFsc2UsYmVoYXZpb3JzOnt9fSk7fSk7PC9zY3JpcHQ+IAogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxhIGlkPSJkYXRhc2V0Rm9ybTpyZXN0cmljdEZpbGVCdXR0b24iIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJ0ZXN0VE9BKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06cmVzdHJpY3RGaWxlQnV0dG9uJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTpwb3B1cFdhcm5pbmcmcXVvdDt9KTtyZXR1cm4gZmFsc2U7Ij5TYXZlIENoYW5nZXM8L2E+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2FjY2Vzc1BvcHVwJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4gCgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImFjY2Vzc1BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwIixtb2RhbDp0cnVlLHdpZHRoOiI3MDBweCIsaGVpZ2h0OiIzNTBweCJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpmaWxlRW1iYXJnb1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RWRpdCBFbWJhcmdvPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmZpbGVFbWJhcmdvUG9wdXBfY29udGVudCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTkyNyI+PC9zcGFuPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5mb2N1cygnZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29EYXRlJyk7fSk7PC9zY3JpcHQ+PHAgY2xhc3M9InRleHQtZGFuZ2VyIGVtYmFyZ28iPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj5UaGUgc2VsZWN0ZWQgZmlsZSBvciBmaWxlcyBoYXZlIGFscmVhZHkgYmVlbiBwdWJsaXNoZWQuIENvbnRhY3QgYW4gYWRtaW5pc3RyYXRvciB0byBjaGFuZ2UgdGhlIGVtYmFyZ28gZGF0ZSBvciByZWFzb24gb2YgdGhlIGZpbGUgb3IgZmlsZXMuPC9wPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTplbWJhcmdvSW5wdXRzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1iYXJnbyI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbWJhcmdvIj4KICAgICAgICAgICAgPC9kaXY+PC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cENhbmNlbEJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cENhbmNlbEJ1dHRvbiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2ZpbGVFbWJhcmdvUG9wdXAnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpmaWxlRW1iYXJnb1BvcHVwQ2FuY2VsQnV0dG9uJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTplbWJhcmdvSW5wdXRzJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlRW1iYXJnb1BvcHVwQ2FuY2VsQnV0dG9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fZmlsZUVtYmFyZ29Qb3B1cENhbmNlbEJ1dHRvbiIse2lkOiJkYXRhc2V0Rm9ybTpmaWxlRW1iYXJnb1BvcHVwQ2FuY2VsQnV0dG9uIn0pO30pOzwvc2NyaXB0PgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmZpbGVFbWJhcmdvUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZmlsZUVtYmFyZ29Qb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpmaWxlRW1iYXJnb1BvcHVwIixyZXNpemFibGU6ZmFsc2UsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZUZpbGVDb25maXJtIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlRmlsZUNvbmZpcm1fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlbGV0ZSBGaWxlczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVGaWxlQ29uZmlybV9jb250ZW50Ij4KICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gVGhlIGZpbGUgd2lsbCBiZSBkZWxldGVkIGFmdGVyIHlvdSBjbGljayBvbiB0aGUgRGVsZXRlIGJ1dHRvbi48L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBGaWxlcyB3aWxsIG5vdCBiZSByZW1vdmVkIGZyb20gcHJldmlvdXNseSBwdWJsaXNoZWQgdmVyc2lvbnMgb2YgdGhlIGRhdGFzZXQuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxOTU4IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE5NTgiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdkZWxldGVGaWxlQ29uZmlybWF0aW9uJykuaGlkZSgpfSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE5NTgmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5EZWxldGU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxOTU4X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxOTU4Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTk1OCJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignZGVsZXRlRmlsZUNvbmZpcm1hdGlvbicpLmhpZGUoKSIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVGaWxlQ29uZmlybV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWxldGVGaWxlQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOmRlbGV0ZUZpbGVDb25maXJtIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06Y29uZmlndXJlVG9vbFBvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06Y29uZmlndXJlVG9vbFBvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj48L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06Y29uZmlndXJlVG9vbFBvcHVwX2NvbnRlbnQiPgoKICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9InRleHQtbGVmdCI+IDxici8+PC9zcGFuPgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTk2MyIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxOTYzIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignY29uZmlndXJlVG9vbFBvcHVwJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxOTYzJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDttZXNzYWdlUGFuZWwmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxOTYzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxOTYzIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTk2MyJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignY29uZmlndXJlVG9vbFBvcHVwJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpjb25maWd1cmVUb29sUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29uZmlndXJlVG9vbFBvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmNvbmZpZ3VyZVRvb2xQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzX2NvbnRlbnQiPgogICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGZpbGVzLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdzZWxlY3RGaWxlcycpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlcyIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlcyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTk2NiIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZXN0cmljdEZpbGVDb21tYW5kID0gZnVuY3Rpb24oKSB7cmV0dXJuIFByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0MTk2NiIsZjoiZGF0YXNldEZvcm0iLHU6Im1lc3NhZ2VQYW5lbCIscGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgLy88IVtDREFUQVsKICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFRPQSgpIHsKICAgICAgICAgICAgICAgIHZhciB0ZXJtc29mQWNjZXNzSGlkZGVuLCBmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbjsKICAgICAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1zb2ZBY2Nlc3NIaWRkZW4gID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGFzZXRGb3JtOnRlcm1zb2ZBY2Nlc3NIaWRkZW4iKS52YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW4gID0gICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0YXNldEZvcm06ZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW4iKS52YWx1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpewogICAgICAgICAgICAgICAgICAgICAgICB0ZXJtc29mQWNjZXNzSGlkZGVuICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlRm9ybTp0ZXJtc29mQWNjZXNzSGlkZGVuIikudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVBY2Nlc3NSZXF1ZXN0SGlkZGVuICA9ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVGb3JtOmZpbGVBY2Nlc3NSZXF1ZXN0SGlkZGVuIikudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW4gPT09ICdmYWxzZScgJiYgdGVybXNvZkFjY2Vzc0hpZGRlbiA9PT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9Ob3QgY29tcGxpYW50IHNob3cgZXJyb3Iga2VlcCBwb3B1cCBvcGVuLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYWNjZXNzUG9wdXAnKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0cmljdEZpbGVDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAvL11dPgogICAgPC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2ciIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2dfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNoYXJlIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2dfY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj5TaGFyZSB0aGlzIGRhdGFzZXQgb24geW91ciBmYXZvcml0ZSBzb2NpYWwgbWVkaWEgbmV0d29ya3MuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzaGFycnJlLXdpZGdldCIgZGF0YS11cmw9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2RhdGFzZXQueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08iIGRhdGEtdGV4dD0iVmlldyB0aGlzIGRhdGFzZXQuIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ3NoYXJlRGlhbG9nJykuaGlkZSgpIiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2dfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2hhcmVEaWFsb2ciLHtpZDoiZGF0YXNldEZvcm06c2hhcmVEaWFsb2ciLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjaXRhdGlvbnNEaWFsb2ciIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpjaXRhdGlvbnNEaWFsb2dfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRhdGFzZXQgQ2l0YXRpb25zPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmNpdGF0aW9uc0RpYWxvZ19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPkNpdGF0aW9ucyBmb3IgdGhpcyBkYXRhc2V0IGFyZSByZXRyaWV2ZWQgZnJvbSBDcm9zc3JlZiB2aWEgRGF0YUNpdGUgdXNpbmcgTWFrZSBEYXRhIENvdW50IHN0YW5kYXJkcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YXNldCBtZXRyaWNzLCBwbGVhc2UgcmVmZXIgdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ3VpZGVzLmRhdGF2ZXJzZS5vcmcvZW4vNS4xMS4xL3VzZXIvZGF0YXNldC1tYW5hZ2VtZW50Lmh0bWwjZGF0YXNldC1tZXRyaWNzLWFuZC1tYWtlLWRhdGEtY291bnQiIHRpdGxlPSJEYXRhc2V0IE1ldHJpY3MgYW5kIE1ha2UgRGF0YSBDb3VudCAtIERhdGF2ZXJzZSBVc2VyIEd1aWRlIiB0YXJnZXQ9Il9ibGFuayI+VXNlciBHdWlkZTwvYT4uCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY2l0YXRpb25zLWxpc3QtYmxvY2siPjxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29ycnksIG5vIGNpdGF0aW9ucyB3ZXJlIGZvdW5kLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignY2l0YXRpb25zRGlhbG9nJykuaGlkZSgpIiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06Y2l0YXRpb25zRGlhbG9nX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNpdGF0aW9uc0RpYWxvZyIse2lkOiJkYXRhc2V0Rm9ybTpjaXRhdGlvbnNEaWFsb2ciLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZEludmFsaWQiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZEludmFsaWRfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlJlc3RyaWN0ZWQgRmlsZXMgU2VsZWN0ZWQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRJbnZhbGlkX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhlIHNlbGVjdGVkIGZpbGUocykgbWF5IG5vdCBiZSBkb3dubG9hZGVkIGJlY2F1c2UgeW91IGhhdmUgbm90IGJlZW4gZ3JhbnRlZCBhY2Nlc3MuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZG93bmxvYWRJbnZhbGlkJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkSW52YWxpZF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkb3dubG9hZEludmFsaWQiLHtpZDoiZGF0YXNldEZvcm06ZG93bmxvYWRJbnZhbGlkIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRUb29MYXJnZSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkVG9vTGFyZ2VfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRvd25sb2FkIE9wdGlvbnM8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRUb29MYXJnZV9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+ICBUaGUgZmlsZXMgc2VsZWN0ZWQgYXJlIHRvbyBsYXJnZSB0byBkb3dubG9hZCBhcyBhIFpJUC48L3A+CiAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj5Zb3UgY2FuIHNlbGVjdCBpbmRpdmlkdWFsIGZpbGVzIHRoYXQgYXJlIGJlbG93IHRoZSAyMC4wIEdCIGRvd25sb2FkIGxpbWl0IGZyb20gdGhlIGZpbGVzIHRhYmxlLCBvciB1c2UgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ3VpZGVzLmRhdGF2ZXJzZS5vcmcvZW4vNS4xMS4xL2FwaS9kYXRhYWNjZXNzLmh0bWwiIHRpdGxlPSJEYXRhIEFjY2VzcyBBUEkiIHRhcmdldD0iX2JsYW5rIj5EYXRhIEFjY2VzcyBBUEk8L2E+IGZvciBwcm9ncmFtbWF0aWMgYWNjZXNzIHRvIHRoZSBmaWxlcy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkVG9vTGFyZ2VfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZG93bmxvYWRUb29MYXJnZSIse2lkOiJkYXRhc2V0Rm9ybTpkb3dubG9hZFRvb0xhcmdlIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEb3dubG9hZCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWRfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWRfY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvciBmaWxlcyB0byBiZSBkb3dubG9hZGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ3NlbGVjdEZpbGVzRm9yRG93bmxvYWQnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEb3dubG9hZF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckRvd25sb2FkIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWQiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZE1peGVkIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRNaXhlZF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVzdHJpY3RlZCBGaWxlcyBTZWxlY3RlZDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZE1peGVkX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhlIHJlc3RyaWN0ZWQgZmlsZShzKSBzZWxlY3RlZCBtYXkgbm90IGJlIGRvd25sb2FkZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgYmVlbiBncmFudGVkIGFjY2Vzcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj5DbGljayBDb250aW51ZSB0byBkb3dubG9hZCB0aGUgZmlsZXMgeW91IGhhdmUgYWNjZXNzIHRvIGRvd25sb2FkLjwvcD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE5OTciIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTk5NyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2Rvd25sb2FkTWl4ZWQnKS5oaWRlKCl9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTk5NyZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTk5N19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTk5NyIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE5OTcifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdkb3dubG9hZE1peGVkJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZE1peGVkX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkTWl4ZWQiLHtpZDoiZGF0YXNldEZvcm06ZG93bmxvYWRNaXhlZCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZUNvbmZpcm1hdGlvbiIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZUNvbmZpcm1hdGlvbl90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGVsZXRlIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlQ29uZmlybWF0aW9uX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGRhdGFzZXQgYW5kIGFsbCBvZiBpdHMgZmlsZXM/IFlvdSBjYW5ub3QgdW5kZWxldGUgdGhpcyBkYXRhc2V0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIwMDEiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MjAwMSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2RlbGV0ZUNvbmZpcm1hdGlvbicpLmhpZGUoKX0sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyMDAxJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyMDAxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQyMDAxIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MjAwMSJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2RlbGV0ZUNvbmZpcm1hdGlvbicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVsZXRlQ29uZmlybWF0aW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlbGV0ZUNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWxldGVDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVWZXJzaW9uQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbl90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGVsZXRlIERyYWZ0IFZlcnNpb248L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBkcmFmdCB2ZXJzaW9uPyBGaWxlcyB3aWxsIGJlIHJldmVydGVkIHRvIHRoZSBtb3N0IHJlY2VudGx5IHB1Ymxpc2hlZCB2ZXJzaW9uLiBZb3UgY2Fubm90IHVuZGVsZXRlIHRoaXMgZHJhZnQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjAwNCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMDA0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKX0sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyMDA0JnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyMDA0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQyMDA0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MjAwNCJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2RlbGV0ZVZlcnNpb25Db25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZVZlcnNpb25Db25maXJtYXRpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWxldGVWZXJzaW9uQ29uZmlybWF0aW9uIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cHJpdmF0ZVVybElkIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cHJpdmF0ZVVybElkX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5VbnB1Ymxpc2hlZCBEYXRhc2V0IFByaXZhdGUgVVJMPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZF9jb250ZW50Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpwcml2YXRlVXJsUGFuZWxDYW5ub3RDcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFByaXZhdGUgVVJMIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB1bnB1Ymxpc2hlZCB2ZXJzaW9ucyBvZiBkYXRhc2V0cy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ3ByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJwcml2YXRlVXJsQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRpc2FibGVQcml2YXRlVXJsQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlVucHVibGlzaGVkIERhdGFzZXQgUHJpdmF0ZSBVUkw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkaXNhYmxlUHJpdmF0ZVVybENvbmZpcm1hdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkaXNhYmxlIHRoZSBQcml2YXRlIFVSTD8gSWYgeW91IGhhdmUgc2hhcmVkIHRoZSBQcml2YXRlIFVSTCB3aXRoIG90aGVycyB0aGV5IHdpbGwgbm8gbG9uZ2VyIGJlIGFibGUgdG8gdXNlIGl0IHRvIGFjY2VzcyB5b3VyIHVucHVibGlzaGVkIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjAyOCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMDI4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDIwMjgmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnByaXZhdGVVcmxQYW5lbCBtZXNzYWdlUGFuZWwmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+WWVzLCBEaXNhYmxlIFByaXZhdGUgVVJMPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjAyOF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjAyOCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDIwMjgifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdkaXNhYmxlUHJpdmF0ZVVybENvbmZpcm1hdGlvbicpLmhpZGUoKTtQRigncHJpdmF0ZVVybENvbmZpcm1hdGlvbicpLnNob3coKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06ZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb24iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlbGV0ZSBGaWxlczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb25fY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBUaGUgZmlsZShzKSB3aWxsIGJlIGRlbGV0ZWQgYWZ0ZXIgeW91IGNsaWNrIG9uIHRoZSBEZWxldGUgYnV0dG9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBGaWxlcyB3aWxsIG5vdCBiZSByZW1vdmVkIGZyb20gcHJldmlvdXNseSBwdWJsaXNoZWQgdmVyc2lvbnMgb2YgdGhlIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjAzNCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMDM0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uJykuaGlkZSgpfSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDIwMzQmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5EZWxldGU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyMDM0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQyMDM0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MjAzNCJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2RlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjb21wdXRlSW52YWxpZCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5Db21wdXRlPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhpcyBkYXRhc2V0IGNvbnRhaW5zIHJlc3RyaWN0ZWQgZmlsZXMgeW91IG1heSBub3QgY29tcHV0ZSBvbiBiZWNhdXNlIHlvdSBoYXZlIG5vdCBiZWVuIGdyYW50ZWQgYWNjZXNzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2NvbXB1dGVJbnZhbGlkJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbXB1dGVJbnZhbGlkIix7aWQ6ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQyMDM3Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIwMzgiIGNsYXNzPSJ1aS1vdXRwdXRwYW5lbCB1aS13aWRnZXQiPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlYWNjZXNzaW9uPyBUaGUgc2VsZWN0ZWQgdmVyc2lvbihzKSB3aWxsIG5vIGxvbmdlciBiZSB2aWV3YWJsZSBieSB0aGUgcHVibGljLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDIwNjUiIHZhbHVlPSJZZXMiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCkiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlYWNjZXNzaW9uIHRoaXMgZGF0YXNldD8gSXQgd2lsbCBubyBsb25nZXIgYmUgdmlld2FibGUgYnkgdGhlIHB1YmxpYy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMDY4IiB2YWx1ZT0iWWVzIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd29fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlZlcnNpb24gRGlmZmVyZW5jZXMgRGV0YWlsczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiB0ZXh0LWRhbmdlciI+PC9zcGFuPiA8c3BhbiBjbGFzcz0idGV4dC1kYW5nZXIiPlBsZWFzZSBzZWxlY3QgdHdvIHZlcnNpb25zIHRvIHZpZXcgdGhlIGRpZmZlcmVuY2VzLjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdjb21wYXJlVHdvJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd29fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29tcGFyZVR3byIse2lkOiJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2NrcyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlZlcnNpb24gRGlmZmVyZW5jZXMgRGV0YWlsczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkZXRhaWxzQmxvY2tzX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ2ZXJzaW9uLXRpdGxlIiBjbGFzcz0ibWFyZ2luLWJvdHRvbS1oYWxmIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idmVyc2lvbi1kZXRhaWxzLWJsb2NrIiBjbGFzcz0iIGNsZWFyZml4IG1hcmdpbi1ib3R0b20taGFsZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMKgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGFzdCBVcGRhdGVkOiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOiA8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IFVwZGF0ZWQ6IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgbWFyZ2luLWJvdHRvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkZXRhaWxzQmxvY2tzJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2Nrc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZXRhaWxzQmxvY2tzIix7aWQ6ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2Vzc19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFBsZWFzZSBzZWxlY3QgYSBmaWxlIG9yIGZpbGVzIGZvciBhY2Nlc3MgcmVxdWVzdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2VzcyIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEVtYmFyZ29lZEZpbGVzRm9yUmVxdWVzdEFjY2Vzc19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IEVtYmFyZ29lZCBmaWxlcyBjYW5ub3QgYmUgYWNjZXNzZWQuIFBsZWFzZSBzZWxlY3QgYW4gdW5lbWJhcmdvZWQgZmlsZSBvciBmaWxlcyBmb3IgeW91ciBhY2Nlc3MgcmVxdWVzdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3MnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RW1iYXJnb2VkRmlsZXNGb3JSZXF1ZXN0QWNjZXNzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEVtYmFyZ29lZEZpbGVzRm9yUmVxdWVzdEFjY2VzcyIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RWRpdCBUYWdzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBfY29udGVudCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjE1MSI+PC9zcGFuPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5mb2N1cygnZGF0YXNldEZvcm06ZmlsZVRhZ3NNZW51RFMnKTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPlNlbGVjdCBleGlzdGluZyBmaWxlIHRhZ3Mgb3IgY3JlYXRlIG5ldyB0YWdzIHRvIGRlc2NyaWJlIHlvdXIgZmlsZXMuIEVhY2ggZmlsZSBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIHRhZy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24mcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSBkYXRhc2V0Rm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtQRignZmlsZVRhZ3NQb3B1cCcpLmhpZGUoKTt9fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+U2F2ZSBDaGFuZ2VzPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24ifSk7fSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2ZpbGVUYWdzUG9wdXAnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIse2lkOiJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uIn0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImZpbGVUYWdzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1NpZ25VcExvZ0luIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1NpZ25VcExvZ0luX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1ZXN0IEFjY2Vzczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NTaWduVXBMb2dJbl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIHRleHQtZGFuZ2VyIj48L3NwYW4+wqAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciI+WW91IG5lZWQgdG8gPGEgaHJlZj0iL2RhdGF2ZXJzZXVzZXIueGh0bWw/ZWRpdE1vZGU9Q1JFQVRFJnJlZGlyZWN0UGFnZT0lMkZkYXRhc2V0LnhodG1sJTNGcGVyc2lzdGVudElkJTNEZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyIgdGFyZ2V0PSJfc2VsZiIgdGl0bGU9IlNpZ24gVXAgZm9yIGEgRGF0YXZlcnNlIEFjY291bnQiPlNpZ24gVXA8L2E+IG9yIDxhIGhyZWY9Ii9sb2dpbnBhZ2UueGh0bWw/cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPIiB0YXJnZXQ9Il9zZWxmIiB0aXRsZT0iTG9nIGludG8geW91ciBEYXRhdmVyc2UgQWNjb3VudCI+TG9nIEluPC9hPiB0byByZXF1ZXN0IGFjY2Vzcy48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2FjY2Vzc1NpZ25VcExvZ0luX3BvcHVwJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NTaWduVXBMb2dJbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJhY2Nlc3NTaWduVXBMb2dJbl9wb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTphY2Nlc3NTaWduVXBMb2dJbiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgbGFyZ2VQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EYXRhc2V0IFRlcm1zPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXBfY29udGVudCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjE4MyI+PC9zcGFuPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5mb2N1cyhudWxsLCAnZGF0YXNldEZvcm06Z3Vlc3Rib29rVUlGcmFnbWVudCcpO30pOzwvc2NyaXB0PgogICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgVGhpcyBkYXRhc2V0IGlzIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBmb2xsb3dpbmcgdGVybXMuIFBsZWFzZSBjb25maXJtIGFuZC9vciBjb21wbGV0ZSB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIGJlbG93IGluIG9yZGVyIHRvIGNvbnRpbnVlLgogICAgICAgIDwvcD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpndWVzdGJvb2tNZXNzYWdlcyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBtZXNzYWdlUGFuZWwiPgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhvcml6b250YWwgdGVybXMiPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOmZkTGljZW5zZSIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgTGljZW5zZS9EYXRhIFVzZSBBZ3JlZW1lbnQgPC9sYWJlbD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPk91ciA8YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5vcmcvYmVzdC1wcmFjdGljZXMvZGF0YXZlcnNlLWNvbW11bml0eS1ub3JtcyIgdGl0bGU9IkRhdGF2ZXJzZSBDb21tdW5pdHkgTm9ybXMgLSBEYXRhdmVyc2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+Q29tbXVuaXR5IE5vcm1zPC9hPiBhcyB3ZWxsIGFzIGdvb2Qgc2NpZW50aWZpYyBwcmFjdGljZXMgZXhwZWN0IHRoYXQgcHJvcGVyIGNyZWRpdCBpcyBnaXZlbiB2aWEgY2l0YXRpb24uIFBsZWFzZSB1c2UgdGhlIGRhdGEgY2l0YXRpb24gc2hvd24gb24gdGhlIGRhdGFzZXQgcGFnZS4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2xpY2Vuc2VidXR0b25zLm5ldC9wL3plcm8vMS4wLzg4eDMxLnBuZyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiIG9ubG9hZD0idGhpcy5zdHlsZS5kaXNwbGF5PSdpbmxpbmUnIiAvPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMCIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgdGFyZ2V0PSJfYmxhbmsiPkNDMCAxLjAKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQyMjg1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDIyODUiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDIyODUmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOmd1ZXN0Ym9va1VJRnJhZ21lbnQmcXVvdDsscGE6W3tuYW1lOiZxdW90O0RPX0dCX1ZBTElEQVRJT05fZG93bmxvYWREYXRhc2V0JnF1b3Q7LHZhbHVlOiZxdW90O3RydWUmcXVvdDt9XX0pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkFjY2VwdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIyODVfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDIyODUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQyMjg1In0pO30pOzwvc2NyaXB0PjxidXR0b24gbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMjkzIiB2YWx1ZT0iIiBvbmNsaWNrPSJQRignZG93bmxvYWRQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbGluayI+CiAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRQb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkb3dubG9hZFBvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpwcmV2aWV3R3Vlc3Rib29rIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIGxhcmdlUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cHJldmlld0d1ZXN0Ym9va190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHJldmlldyBHdWVzdGJvb2s8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06cHJldmlld0d1ZXN0Ym9va19jb250ZW50Ij4KICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgIFVwb24gZG93bmxvYWRpbmcgZmlsZXMgdGhlIGd1ZXN0Ym9vayBhc2tzIGZvciB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICBHdWVzdGJvb2sgTmFtZQogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS04Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9ybS1jb250cm9sLXN0YXRpYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgIENvbGxlY3RlZCBEYXRhCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVXNlciBkYXRhIGNvbGxlY3RlZCBieSB0aGUgZ3Vlc3Rib29rLiI+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS04Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9ybS1jb250cm9sLXN0YXRpYyI+QWNjb3VudCBJbmZvcm1hdGlvbgogICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ3ZpZXdHdWVzdGJvb2snKS5oaWRlKCkiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpwcmV2aWV3R3Vlc3Rib29rX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInZpZXdHdWVzdGJvb2siLHtpZDoiZGF0YXNldEZvcm06cHJldmlld0d1ZXN0Ym9vayIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRQYWNrYWdlUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlBhY2thZ2UgRmlsZSBEb3dubG9hZDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cF9jb250ZW50Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpwYWNrYWdlUG9wdXBEb3dubG9hZEluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIG5vLW1hcmdpbi10b3AiPlVzZSB0aGUgRG93bmxvYWQgVVJMIGluIGEgV2dldCBjb21tYW5kIG9yIGEgZG93bmxvYWQgbWFuYWdlciB0byBkb3dubG9hZCB0aGlzIHBhY2thZ2UgZmlsZS4gRG93bmxvYWQgdmlhIHdlYiBicm93c2VyIGlzIG5vdCByZWNvbW1lbmRlZC4gPGEgaHJlZj0iaHR0cHM6Ly9ndWlkZXMuZGF0YXZlcnNlLm9yZy9lbi81LjExLjEvdXNlci9maW5kLXVzZS1kYXRhLmh0bWwjZG93bmxvYWRpbmctYS1kYXRhdmVyc2UtcGFja2FnZS12aWEtdXJsIiB0aXRsZT0iVXNlciBHdWlkZSAtIERvd25sb2FkaW5nIGEgRGF0YXZlcnNlIFBhY2thZ2UgdmlhIFVSTCIgdGFyZ2V0PSJfYmxhbmsiPlVzZXIgR3VpZGUgLSBEb3dubG9hZGluZyBhIERhdGF2ZXJzZSBQYWNrYWdlIHZpYSBVUkw8L2E+CiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIgbWFyZ2luLWJvdHRvbSI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4KICAgICAgICAgICAgPGxhYmVsPkRvd25sb2FkIFVSTDwvbGFiZWw+IAogICAgICAgICAgICA8cD48Y29kZT5odHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9hcGkvYWNjZXNzL2RhdGFmaWxlLzwvY29kZT48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIGJ1dHRvbi1ibG9jayBtYXJnaW4tdG9wIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cENhbmNlbEJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06ZG93bmxvYWRQYWNrYWdlUG9wdXBDYW5jZWxCdXR0b24iIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdkb3dubG9hZFBhY2thZ2VQb3B1cCcpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwQ2FuY2VsQnV0dG9uJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cCZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cENhbmNlbEJ1dHRvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2Rvd25sb2FkUGFja2FnZVBvcHVwQ2FuY2VsQnV0dG9uIix7aWQ6ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwQ2FuY2VsQnV0dG9uIn0pO30pOzwvc2NyaXB0PgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkUGFja2FnZVBvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIGxhcmdlUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1ZXN0IEFjY2Vzczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzUG9wdXBfY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICBQbGVhc2UgY29uZmlybSBhbmQvb3IgY29tcGxldGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCBiZWxvdyBpbiBvcmRlciB0byByZXF1ZXN0IGFjY2VzcyB0byBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0MDAiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MjQwMCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjQwMCZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7QChbaWQkPXJlcXVlc3RBY2Nlc3NDb25zb2xpZGF0ZWRdKSBAKFtpZCQ9cmVxdWVzdFBhbmVsXSkgQChbaWQkPW1lc3NhZ2VQYW5lbF0pIEAoW2lkJD1maWxlc1RhYmxlXSkmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7UEYoJ3JlcXVlc3RBY2Nlc3NQb3B1cCcpLmhpZGUoKTs7fX0pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkFjY2VwdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0MDBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI0MDAiLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNDAwIn0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NQb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJyZXF1ZXN0QWNjZXNzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyNDE4IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmxpbmtEYXRhc2V0Q29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDI0MTgiLGY6ImRhdGFzZXRGb3JtIix1OiJtZXNzYWdlUGFuZWwgQChbaWQkPU1lc3NhZ2VzXSkiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe1BGKCdsaW5rRGF0YXNldEZvcm0nKS5oaWRlKCk7O30scGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVCYXRjaExpc3RQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpjb21wdXRlQmF0Y2hMaXN0UG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkNvbXB1dGUgQmF0Y2g8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06Y29tcHV0ZUJhdGNoTGlzdFBvcHVwX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1yZW1vdmUiPjwvc3Bhbj5DbGVhciBCYXRjaDxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjQyMCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyNDIwIiBjbGFzcz0iIGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDI0MjAmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPnVpLWJ1dHRvbjwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0MjBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI0MjAiLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNDIwIn0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48dGFibGUgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVCYXRjaCIgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQiPgo8dGhlYWQ+Cjx0cj4KPHRoIHNjb3BlPSJjb2wiPkRhdGFzZXQ8L3RoPgo8dGggc2NvcGU9ImNvbCI+RGF0YXNldCBQZXJzaXN0ZW50IElEPC90aD4KPHRoIHNjb3BlPSJjb2wiPkNoYW5nZSBDb21wdXRlIEJhdGNoPC90aD4KPC90cj4KPC90aGVhZD4KPHRib2R5Pgo8dHI+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5Pgo8L3RhYmxlPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS87anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5IiBvbmNsaWNrPSJQRignY29tcHV0ZUJhdGNoTGlzdFBvcHVwJykuaGlkZSgpIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCI+Q29tcHV0ZSBCYXRjaDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2NvbXB1dGVCYXRjaExpc3RQb3B1cCcpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06Y29tcHV0ZUJhdGNoTGlzdFBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbXB1dGVCYXRjaExpc3RQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpjb21wdXRlQmF0Y2hMaXN0UG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTppbnJldmlldyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTppbnJldmlld190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U3VibWl0IGZvciBSZXZpZXc8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06aW5yZXZpZXdfY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IFlvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIG1ha2UgY2hhbmdlcyB0byB0aGlzIGRhdGFzZXQgd2hpbGUgaXQgaXMgaW4gcmV2aWV3LgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQyNDM5IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDI0MzkiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdpbnJldmlldycpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjQzOSZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlN1Ym1pdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0MzlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI0MzkiLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNDM5In0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignaW5yZXZpZXcnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmlucmV2aWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImlucmV2aWV3Iix7aWQ6ImRhdGFzZXRGb3JtOmlucmV2aWV3Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cHVibGlzaERhdGFzZXQiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cHVibGlzaERhdGFzZXRfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpwdWJsaXNoRGF0YXNldF9jb250ZW50Ij48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQyNDUyIj48L3NwYW4+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmZvY3VzKCdkYXRhc2V0Rm9ybTpvcHRpb25zJyk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlcHVibGlzaCB0aGlzIGRhdGFzZXQ/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+PGRpdiBjbGFzcz0id2VsbCB0ZXJtcy1hZ3JlZW1lbnQtYmxvY2siPkJ5IGRlZmF1bHQgZGF0YXNldHMgYXJlIHB1Ymxpc2hlZCB3aXRoIHRoZSBDQzAt4oCcUHVibGljIERvbWFpbiBEZWRpY2F0aW9u4oCdIHdhaXZlci4gTGVhcm4gbW9yZSBhYm91dCB0aGUgQ0MwIHdhaXZlciA8YSB0YXJnZXQ9X2JsYW5rIGhyZWY9J2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2Nob29zZS96ZXJvLyc+aGVyZTwvYT4uIDxicj48YnI+IFRvIHB1Ymxpc2ggd2l0aCBjdXN0b20gVGVybXMgb2YgVXNlLCBjbGljayB0aGUgQ2FuY2VsIGJ1dHRvbiBhbmQgZ28gdG8gdGhlIFRlcm1zIHRhYiBmb3IgdGhpcyBkYXRhc2V0LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IGlmIHRoaXMgaXMgYSBtaW5vciBvciBtYWpvciB2ZXJzaW9uIHVwZGF0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+PHRhYmxlIGlkPSJkYXRhc2V0Rm9ybTpvcHRpb25zIiByb2xlPSJwcmVzZW50YXRpb24iIGNsYXNzPSJ1aS1zZWxlY3RvbmVyYWRpbyB1aS13aWRnZXQiPjx0cj48dGQ+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24gdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06b3B0aW9uczowIiBuYW1lPSJkYXRhc2V0Rm9ybTpvcHRpb25zIiB0eXBlPSJyYWRpbyIgdmFsdWU9IjEiIGNoZWNrZWQ9ImNoZWNrZWQiIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24tYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0aXZlIj48c3BhbiBjbGFzcz0idWktcmFkaW9idXR0b24taWNvbiB1aS1pY29uIHVpLWljb24tYnVsbGV0IHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48bGFiZWwgZm9yPSJkYXRhc2V0Rm9ybTpvcHRpb25zOjAiPk1pbm9yIFJlbGVhc2UgKDEuMSk8L2xhYmVsPjwvdGQ+PHRkPjxkaXYgY2xhc3M9InVpLXJhZGlvYnV0dG9uIHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MSIgbmFtZT0iZGF0YXNldEZvcm06b3B0aW9ucyIgdHlwZT0icmFkaW8iIHZhbHVlPSIyIiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLXJhZGlvYnV0dG9uLWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktcmFkaW9idXR0b24taWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MSI+TWFqb3IgUmVsZWFzZSAoMi4wKTwvbGFiZWw+PC90ZD48L3RyPjwvdGFibGU+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06b3B0aW9uc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJTZWxlY3RPbmVSYWRpbyIsIndpZGdldF9kYXRhc2V0Rm9ybV9vcHRpb25zIix7aWQ6ImRhdGFzZXRGb3JtOm9wdGlvbnMiLHVuc2VsZWN0YWJsZTpmYWxzZX0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQyNDcwIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDI0NzAiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdwdWJsaXNoRGF0YXNldCcpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjQ3MCZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjQ3MF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjQ3MCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDI0NzAifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdwdWJsaXNoRGF0YXNldCcpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnB1Ymxpc2hEYXRhc2V0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInB1Ymxpc2hEYXRhc2V0Iix7aWQ6ImRhdGFzZXRGb3JtOnB1Ymxpc2hEYXRhc2V0Iixtb2RhbDp0cnVlLHdpZHRoOiI3MCUifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06bWF5Tm90UmVsZWFzZSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTptYXlOb3RSZWxlYXNlX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QdWJsaXNoIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06bWF5Tm90UmVsZWFzZV9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj5UaGlzIGRhdGFzZXQgY2Fubm90IGJlIHB1Ymxpc2hlZCB1bnRpbCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2RhdGF2ZXJzZS54aHRtbD9hbGlhcz1oYXJ2YXJkIiB0aXRsZT0iSGFydmFyZCBEYXRhdmVyc2UiPkhhcnZhcmQgRGF0YXZlcnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4gIGlzIHB1Ymxpc2hlZCBieSBpdHMgYWRtaW5pc3RyYXRvci4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignbWF5Tm90UmVsZWFzZScpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06bWF5Tm90UmVsZWFzZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJtYXlOb3RSZWxlYXNlIix7aWQ6ImRhdGFzZXRGb3JtOm1heU5vdFJlbGVhc2UiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZW5kQmFja1RvQ29udHJpYnV0b3IiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VuZEJhY2tUb0NvbnRyaWJ1dG9yX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXR1cm4gdG8gQXV0aG9yPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbmRCYWNrVG9Db250cmlidXRvcl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gUmV0dXJuIHRoaXMgZGF0YXNldCB0byBjb250cmlidXRvciBmb3IgbW9kaWZpY2F0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjQ5MSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyNDkxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignc2VuZEJhY2tUb0NvbnRyaWJ1dG9yJykuaGlkZSgpfSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDI0OTEmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Db250aW51ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0OTFfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI0OTEiLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNDkxIn0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignc2VuZEJhY2tUb0NvbnRyaWJ1dG9yJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VuZEJhY2tUb0NvbnRyaWJ1dG9yX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbmRCYWNrVG9Db250cmlidXRvciIse2lkOiJkYXRhc2V0Rm9ybTpzZW5kQmFja1RvQ29udHJpYnV0b3IiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0OTMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmV0dXJuVG9BdXRob3JDb21tYW5kID0gZnVuY3Rpb24oKSB7cmV0dXJuIFByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0MjQ5MyIsZjoiZGF0YXNldEZvcm0iLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0OTQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+bGlua0VkaXRUZXJtcyA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDI0OTQiLGY6ImRhdGFzZXRGb3JtIix1OiJkYXRhc2V0Rm9ybSBkYXRhc2V0Rm9ybSBtZXNzYWdlUGFuZWwiLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0OTUiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZWRpdE1lZGF0ZGF0YUNvbW1hbmQgPSBmdW5jdGlvbigpIHtyZXR1cm4gUHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06al9pZHQyNDk1IixmOiJkYXRhc2V0Rm9ybSIsdToiZGF0YXNldEZvcm0gZGF0YXNldEZvcm0gbWVzc2FnZVBhbmVsIixwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyNDk2IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmRhdGFzZXRTYXZlQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDI0OTYiLGY6ImRhdGFzZXRGb3JtIix1OiJkYXRhc2V0Rm9ybSBtZXNzYWdlUGFuZWwiLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MiIgdmFsdWU9Ii03ODI5MDY5NzU2ODg4NzQyNDc4Oi0yMzMyNzM2MTk2MjE2Njg1MTc1IiBhdXRvY29tcGxldGU9Im9mZiIgLz4KPC9mb3JtPgogICAgICAgICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgICAgICAgICAvLzwhW0NEQVRBWwogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcG9wb3ZlckhUTUwoJ0FsbG93ZWQgSFRNTCBUYWdzJywgJyZsdDthJmd0OywgJmx0O2ImZ3Q7LCAmbHQ7YmxvY2txdW90ZSZndDssICZsdDticiZndDssICZsdDtjb2RlJmd0OywgJmx0O2RlbCZndDssICZsdDtkZCZndDssICZsdDtkbCZndDssICZsdDtkdCZndDssICZsdDtlbSZndDssICZsdDtociZndDssICZsdDtoMSZndDstJmx0O2gzJmd0OywgJmx0O2kmZ3Q7LCAmbHQ7aW1nJmd0OywgJmx0O2tiZCZndDssICZsdDtsaSZndDssICZsdDtvbCZndDssICZsdDtwJmd0OywgJmx0O3ByZSZndDssICZsdDtzJmd0OywgJmx0O3N1cCZndDssICZsdDtzdWImZ3Q7LCAmbHQ7c3Ryb25nJmd0OywgJmx0O3N0cmlrZSZndDssICZsdDt1Jmd0OywgJmx0O3VsJmd0OycpOwogICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5RGVzY1RydW5jYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzdW1tYXJ5RGVzY1RydW5jYXRpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRydW5jYXRlIHN1bW1hcnkgZGVzY3JpcHRpb24sIGNvbnRlbnRUcnVuY2F0ZSBmdW5jdGlvbiBpbiBkdl9yZWJpbmRfYm9vdHN0cmFwX3VpLmpzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBzdW1tYXJ5IGRlc2Mgcm93IGlkIHRvIHBhc3MgYXMgc2VsZWN0b3IgcGFyYW0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlc2NJZCA9ICdkc0Rlc2NyaXB0aW9uJzsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1ldGFkYXRhIGR5bmFtaWMgbGFiZWwgdGV4dCwgdG9vbHRpcCB0ZXh0IGZyb20gYnVuZGxlIGFzIHBhcmFtCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0cnVuY01vcmVCdG4gPSAnUmVhZCBmdWxsIERlc2NyaXB0aW9uIFsrXSc7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0cnVuY01vcmVUaXAgPSAnQ2xpY2sgdG8gcmVhZCB0aGUgZnVsbCBEZXNjcmlwdGlvbi4nOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHJ1bmNMZXNzQnRuID0gJ0NvbGxhcHNlIERlc2NyaXB0aW9uIFsrXSc7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0cnVuY0xlc3NUaXAgPSAnQ2xpY2sgdG8gY29sbGFwc2UgdGhlIERlc2NyaXB0aW9uLic7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAvLyBwYXNzIGJ1bmRsZSB0ZXh0IHZhcmlhYmxzIGFzIHBhcmFtcyB0byBmdW5jdGlvbgogICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VHJ1bmNhdGUoZGVzY0lkLCB0cnVuY01vcmVCdG4sIHRydW5jTW9yZVRpcCwgdHJ1bmNMZXNzQnRuLCB0cnVuY0xlc3NUaXApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBvcGVuRGlhbG9nKCkgewogICAgICAgICAgICAgICAgICAgICAgICBQRignZGV0YWlscycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gb3BlbkNvbXBhcmVUd28oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdjb21wYXJlVHdvJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBlZGl0VGVybXMoKXsgIAogICAgICAgICAgICAgICAgICAgICAgICBsaW5rRWRpdFRlcm1zKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGVkaXRNZXRhZGF0YSgpeyAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbGlkVE9BID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGFzZXRGb3JtOnZhbGlkVGVybXNvZkFjY2VzcyIpLnZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRUT0EgPT09ICdmYWxzZScpeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2FjY2Vzc1BvcHVwJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdE1lZGF0ZGF0YUNvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdENoZWNrQm94ZXMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCd2ZXJzaW9uc1RhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ICE9PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignY29tcGFyZVR3bycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9ImNvbXBhcmVWZXJzaW9ucyJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RmlsZXNTZWxlY3RlZCgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gUEYoJ2ZpbGVzVGFibGUnKS5nZXRTZWxlY3RlZFJvd3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdEZpbGVzJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFRlcm1zT2ZBY2Nlc3MoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWxpZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRhc2V0Rm9ybTp2YWxpZFRlcm1zb2ZBY2Nlc3MiKS52YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2FjY2Vzc1BvcHVwJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdXBkYXRlVGVtcGxhdGUoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9InVwZGF0ZVRlbXBsYXRlIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB1cGRhdGVPd25lckRhdGF2ZXJzZSgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnYnV0dG9uW2lkJD0idXBkYXRlT3duZXJEYXRhdmVyc2UiXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNob3dQb3B1cCgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG91dGNvbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0YXNldEZvcm06dmFsaWRhdGVGaWxlc091dGNvbWUiKS52YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dGNvbWUgPT09J01peGVkJyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZG93bmxvYWRNaXhlZCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3V0Y29tZSA9PT0nRmFpbEVtcHR5Jyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VsZWN0RmlsZXNGb3JEb3dubG9hZCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3V0Y29tZSA9PT0nRmFpbFNpemUnKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkb3dubG9hZFRvb0xhcmdlJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdXRjb21lID09PSdGYWlsUmVzdHJpY3RlZCcpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Rvd25sb2FkSW52YWxpZCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3V0Y29tZSA9PT0nR3Vlc3Rib29rUmVxdWlyZWQnKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkb3dubG9hZFBvcHVwJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RUT0FEYXRhc2V0UGFnZSgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRlcm1zb2ZBY2Nlc3NIaWRkZW4sIGZpbGVBY2Nlc3NSZXF1ZXN0SGlkZGVuOwogICAgICAgICAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXJtc29mQWNjZXNzSGlkZGVuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGFzZXRGb3JtOnRhYlZpZXc6dGVybXNvZkFjY2Vzc0hpZGRlbkxUIikudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbiAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbkxUIikudmFsdWU7ICAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZXJyb3IpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90ZXJtcyBub3QgcHJlc2VudCBzbyBzYXZlLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFzZXRTYXZlQ29tbWFuZCgpOyAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9ICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVBY2Nlc3NSZXF1ZXN0SGlkZGVuID09PSAnZmFsc2UnICYmIHRlcm1zb2ZBY2Nlc3NIaWRkZW4gPT09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTm90IGNvbXBsaWFudCBzaG93IGVycm9yIGtlZXAgcGFnZSBvcGVuLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFzZXRTYXZlQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgLy9dXT4KICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgIDwvZGl2PgogICAgPGZvb3Rlcj4KICAgICAgICA8ZGl2IGlkPSJkdmZvb3RlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1zbS04IHNtYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q29weXJpZ2h0ICYjMTY5OyAyMDIyLCBUaGUgUHJlc2lkZW50ICYjMzg7IEZlbGxvd3Mgb2YgSGFydmFyZCBDb2xsZWdlwqB8wqAgPGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0LmRhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9oYXJ2YXJkLWRhdGF2ZXJzZS1wcml2YWN5LXBvbGljeSIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPlByaXZhY3kgUG9saWN5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgdGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvd2VyZWRieWxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UG93ZXJlZCBieTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9kYXRhdmVyc2Uub3JnLyIgdGl0bGU9IlRoZSBEYXRhdmVyc2UgUHJvamVjdCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPjxpbWcgc3JjPSIvcmVzb3VyY2VzL2ltYWdlcy9kYXRhdmVyc2VfcHJvamVjdF9sb2dvLnN2ZyIgd2lkdGg9IjExOCIgaGVpZ2h0PSI0MCIgb25lcnJvcj0idGhpcy5zcmM9Jy9yZXNvdXJjZXMvaW1hZ2VzL2RhdGF2ZXJzZXByb2plY3RfbG9nby5wbmcnIiBhbHQ9IlRoZSBEYXRhdmVyc2UgUHJvamVjdCBsb2dvIiAvPjwvYT48c3BhbiBjbGFzcz0idmVyc2lvbiI+di4gNS4xMS4xPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj48c2NyaXB0PgogIC8vPCFbQ0RBVEFbCiAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgJCgiI2Zvb3RlciA+IGRpdi5jb250YWluZXIgPiBkaXYucm93ID4gZGl2LmNvbC1zbS04LnNtYWxsID4gcCIpLmFwcGVuZCgiJiMxNjA7fCYjMTYwOyA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaGFydmFyZC5lZHUvY29weXJpZ2h0LWlzc3VlXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5SZXBvcnQgQ29weXJpZ2h0IEluZnJpbmdlbWVudDwvYT4gJiMxNjA7fCYjMTYwOyA8YSBocmVmPVwiaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5Lmh1aXQuaGFydmFyZC5lZHUvZGlnaXRhbC1hY2Nlc3NpYmlsaXR5LXBvbGljeVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+QWNjZXNzaWJpbGl0eTwvYT4iKTsKICB9KTsKICAvL11dPgo8L3NjcmlwdD4KCjxzdHlsZT4KI2ZlZWRiYWNrVGFiIHtwb3NpdGlvbjpmaXhlZDsgYm90dG9tOjA7IHJpZ2h0OjUwcHg7fQojZmVlZGJhY2tUYWIgYS5idG4tZmVlZGJhY2sge2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDt9Ci5idG4tZmVlZGJhY2sge2JhY2tncm91bmQtY29sb3I6I0M1NUIyODsgYm9yZGVyLWNvbG9yOiNDNTVCMjg7IGNvbG9yOiNmZmY7fQouYnRuLWZlZWRiYWNrOmhvdmVyLCAuYnRuLWZlZWRiYWNrOmZvY3VzLAouYnRuLWZlZWRiYWNrOmFjdGl2ZSwgLmJ0bi1mZWVkYmFjay5hY3RpdmUge2JhY2tncm91bmQtY29sb3I6I2IwNTEyNDsgYm9yZGVyLWNvbG9yOiAjOWI0NzFmOyBjb2xvcjojZmZmO30KPC9zdHlsZT4KCjxkaXYgaWQ9ImZlZWRiYWNrVGFiIj4KICAgIDxhIGNsYXNzPSJidG4gYnRuLWZlZWRiYWNrIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCIgaHJlZj0iaHR0cHM6Ly9nb28uZ2wvZm9ybXMvcDd1dTNHZmlXWVNsSnJzaTEiIHJvbGU9ImJ1dHRvbiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiICBhcmlhLWxhYmVsPSJIZWxwIGltcHJvdmUgRGF0YXZlcnNlISIgZGF0YS1vcmlnaW5hbC10aXRsZT0iSGVscCBpbXByb3ZlIERhdGF2ZXJzZSEiPgogICAgICAgIEZlZWRiYWNrCiAgICA8L2E+CjwvZGl2PgoKICAgIDwvZm9vdGVyPjxkaXYgaWQ9ImFqYXhTdGF0dXNQYW5lbCI+PGRpdiBpZD0iYWpheFN0YXR1c1BhbmVsX3N0YXJ0IiBzdHlsZT0iZGlzcGxheTpub25lIj48aW1nIHNyYz0iL3Jlc291cmNlcy9pbWFnZXMvYWpheC1sb2FkaW5nLmdpZjtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTkiIGFsdD0iTG9hZGluZy4uLiIgLz48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJhamF4U3RhdHVzUGFuZWxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQWpheFN0YXR1cyIsIndpZGdldF9hamF4U3RhdHVzUGFuZWwiLHtpZDoiYWpheFN0YXR1c1BhbmVsIixkZWxheTowfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iY29udGFjdERpYWxvZyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJjb250YWN0RGlhbG9nX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5Db250YWN0IEhhcnZhcmQgRGF0YXZlcnNlIFN1cHBvcnQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iY29udGFjdERpYWxvZ19jb250ZW50Ij48ZGl2IGlkPSJqX2lkdDI1MjUiPgo8Zm9ybSBpZD0iZW1haWxGb3JtIiBuYW1lPSJlbWFpbEZvcm0iIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08iIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVtYWlsRm9ybSIgdmFsdWU9ImVtYWlsRm9ybSIgLz4KPHNwYW4gaWQ9ImVtYWlsRm9ybTpqX2lkdDI1MjYiPjwvc3Bhbj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuZm9jdXMobnVsbCwgJ2NvbnRhY3REaWFsb2cnKTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWVzc2FnZVRvIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+VG88L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9Im1lc3NhZ2VUbyIgY2xhc3M9ImZvcm0tY29udHJvbC1zdGF0aWMiPkhhcnZhcmQgRGF0YXZlcnNlIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBmb3I9ImVtYWlsRm9ybTp1c2VyRW1haWwiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj5Gcm9tIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWFzdGVyaXNrIHRleHQtZGFuZ2VyIiB0aXRsZT0iUmVxdWlyZWQgZmllbGQiPjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PGlucHV0IGlkPSJlbWFpbEZvcm06dXNlckVtYWlsIiBuYW1lPSJlbWFpbEZvcm06dXNlckVtYWlsIiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiIHNpemU9IjMwIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTp1c2VyRW1haWxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV91c2VyRW1haWwiLHtpZDoiZW1haWxGb3JtOnVzZXJFbWFpbCJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBmb3I9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPlN1YmplY3QgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tYXN0ZXJpc2sgdGV4dC1kYW5nZXIiIHRpdGxlPSJSZXF1aXJlZCBmaWVsZCI+PC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjxpbnB1dCBpZD0iZW1haWxGb3JtOm1lc3NhZ2VTdWJqZWN0IiBuYW1lPSJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3QiIHR5cGU9InRleHQiIHZhbHVlPSIiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgLz48c2NyaXB0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3RfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV9tZXNzYWdlU3ViamVjdCIse2lkOiJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3QifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4gICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGZvcj0iZW1haWxGb3JtOnVzZXJNZXNzYWdlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+TWVzc2FnZSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PHRleHRhcmVhIGlkPSJlbWFpbEZvcm06dXNlck1lc3NhZ2UiIG5hbWU9ImVtYWlsRm9ybTp1c2VyTWVzc2FnZSIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0YXJlYSB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgY29scz0iMjAiIHJvd3M9IjEwIiB0aXRsZT0iTWVzc2FnZSIgbWF4bGVuZ3RoPSIyMTQ3NDgzNjQ3Ij48L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTp1c2VyTWVzc2FnZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHRhcmVhIiwid2lkZ2V0X2VtYWlsRm9ybV91c2VyTWVzc2FnZSIse2lkOiJlbWFpbEZvcm06dXNlck1lc3NhZ2UiLGF1dG9SZXNpemU6ZmFsc2V9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tb2Zmc2V0LTMgY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cD48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+UGxlYXNlIGZpbGwgdGhpcyBvdXQgdG8gcHJvdmUgeW91IGFyZSBub3QgYSByb2JvdC48L3NwYW4+IDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWFzdGVyaXNrIHRleHQtZGFuZ2VyIiB0aXRsZT0iUmVxdWlyZWQgZmllbGQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJlbWFpbEZvcm06bWVzc2FnZVN1bSI+ICsgID0gCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGlucHV0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1bSIgbmFtZT0iZW1haWxGb3JtOm1lc3NhZ2VTdW0iIHR5cGU9InRleHQiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsICIgc2l6ZT0iNCIgdGl0bGU9Ikh1bWFuIEFjY2VzcyBWYWxpZGF0aW9uIEFuc3dlciIgLz48c2NyaXB0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1bV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHQiLCJ3aWRnZXRfZW1haWxGb3JtX21lc3NhZ2VTdW0iLHtpZDoiZW1haWxGb3JtOm1lc3NhZ2VTdW0ifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJlbWFpbEZvcm06al9pZHQyNTU0IiBuYW1lPSJlbWFpbEZvcm06al9pZHQyNTU0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZW1haWxGb3JtOmpfaWR0MjU1NCZxdW90OyxmOiZxdW90O2VtYWlsRm9ybSZxdW90Oyx1OiZxdW90O2VtYWlsRm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtpZiAoYXJncyAmYW1wOyZhbXA7ICFhcmdzLnZhbGlkYXRpb25GYWlsZWQpIFBGKCdjb250YWN0Rm9ybScpLmhpZGUoKTs7fSxwYTpbe25hbWU6JnF1b3Q7RE9fVkFMSURBVElPTiZxdW90Oyx2YWx1ZTomcXVvdDt0cnVlJnF1b3Q7fV0sZnA6JnF1b3Q7al9pZHQyNTI1JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+U2VuZCBNZXNzYWdlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTpqX2lkdDI1NTRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9lbWFpbEZvcm1fal9pZHQyNTU0Iix7aWQ6ImVtYWlsRm9ybTpqX2lkdDI1NTQifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignY29udGFjdEZvcm0nKS5oaWRlKCkiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iamF2YXguZmFjZXMuVmlld1N0YXRlIiBpZD0ial9pZDE6amF2YXguZmFjZXMuVmlld1N0YXRlOjMiIHZhbHVlPSItNzgyOTA2OTc1Njg4ODc0MjQ3ODotMjMzMjczNjE5NjIxNjY4NTE3NSIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT48L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJjb250YWN0RGlhbG9nX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbnRhY3RGb3JtIix7aWQ6ImNvbnRhY3REaWFsb2ciLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2R2X3JlYmluZF9ib290c3RyYXBfdWkuanMueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3ZlcnNpb249NS4xMS4xIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2pzL2Jvb3RzdHJhcC5taW4uanMueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3ZlcnNpb249NS4xMS4xIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvaWUtY29tcGF0LmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT92ZXJzaW9uPTUuMTEuMSI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL293bC5jYXJvdXNlbC5qcy54aHRtbDtqc2Vzc2lvbmlkPWZmYmY0Y2ZlYjlmYmQxOTczZmRkZjEzYmE5YTk/dmVyc2lvbj01LjExLjEiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9qcXVlcnkubWF0Y2hIZWlnaHQuanMueGh0bWw7anNlc3Npb25pZD1mZmJmNGNmZWI5ZmJkMTk3M2ZkZGYxM2JhOWE5P3ZlcnNpb249NS4xMS4xIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2pxdWVyeS5zaGFycnJlLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT92ZXJzaW9uPTUuMTEuMSI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9jbGlwYm9hcmQubWluLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZmZiZjRjZmViOWZiZDE5NzNmZGRmMTNiYTlhOT92ZXJzaW9uPTUuMTEuMSI+PC9zY3JpcHQ+wqAKICAgICAgICAKICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLzwhW0NEQVRBWwogICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAvLyBOYXZiYXIgU2VhcmNoIFRvZ2dsZQogICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgJyNuYXZiYXItc2VhcmNoLXRvZ2dsZScsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoImxpIikuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICQoImZvcm0ubmF2YmFyLWZvcm1bcm9sZT0nc2VhcmNoJ10iKS5zaG93KCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQoJ2JvZHknKS5jbGljayhmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIGlmICghJChlLnRhcmdldCkuY2xvc2VzdCgiZm9ybS5uYXZiYXItZm9ybVtyb2xlPSdzZWFyY2gnXSIpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCJmb3JtLm5hdmJhci1mb3JtW3JvbGU9J3NlYXJjaCddIikuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIjbmF2YmFyLXNlYXJjaC10b2dnbGUiKS5wYXJlbnQoImxpIikuc2hvdygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICA7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGZ1bmN0aW9uIGNsaWNrU3VwcG9ydExpbmsoKSB7CiAgICAgICAgICAgICAgICAkKCJbaWQkPSdoZWFkZXJTdXBwb3J0TGluayddIikuY2xpY2soKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvL11dPgogICAgICAgIDwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBpZD0ial9pZHQyNTU4Ij5iaW5kX2JzdWlfY29tcG9uZW50cygpOzwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg== http_version: recorded_at: Wed, 24 Aug 2022 13:12:53 GMT recorded_with: VCR 3.0.3