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ICA+Pj4gdi5zYXRpc2ZpZWRfYnkoJzE1NTUuMWIzJykKICAgIEZhbHNlCgogICAgYFZlcnNpb25QcmVkaWNhdGVgIGlzIGZsZXhpYmxlIGluIGFjY2VwdGluZyBleHRyYSB3aGl0ZXNwYWNlOjoKCiAgICA+Pj4gdiA9IFZlcnNpb25QcmVkaWNhdGUoJyBwYXQoID09ICAwLjEgICkgICcpCiAgICA+Pj4gdi5uYW1lCiAgICAncGF0JwogICAgPj4+IHYuc2F0aXNmaWVkX2J5KCcwLjEnKQogICAgVHJ1ZQogICAgPj4+IHYuc2F0aXNmaWVkX2J5KCcwLjInKQogICAgRmFsc2UKCiAgICBJZiBhbnkgdmVyc2lvbiBudW1iZXJzIHBhc3NlZCBpbiBkbyBub3QgY29uZm9ybSB0byB0aGUKICAgIHJlc3RyaWN0aW9ucyBvZiBgU3RyaWN0VmVyc2lvbmAsIGEgYFZhbHVlRXJyb3JgIGlzIHJhaXNlZDo6CgogICAgPj4+IHYgPSBWZXJzaW9uUHJlZGljYXRlKCdwMS5wMi5wMy5wNCg+PTEuMCwgPD0xLjNhMSwgIT0xLjJ6YjMpJykKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBWYWx1ZUVycm9yOiBpbnZhbGlkIHZlcnNpb24gbnVtYmVyICcxLjJ6YjMnCgogICAgSXQgdGhlIG1vZHVsZSBvciBwYWNrYWdlIG5hbWUgZ2l2ZW4gZG9lcyBub3QgY29uZm9ybSB0byB3aGF0J3MKICAgIGFsbG93ZWQgYXMgYSBsZWdhbCBtb2R1bGUgb3IgcGFja2FnZSBuYW1lLCBgVmFsdWVFcnJvcmAgaXMKICAgIHJhaXNlZDo6CgogICAgPj4+IHYgPSBWZXJzaW9uUHJlZGljYXRlKCdmb28tYmFyJykKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBWYWx1ZUVycm9yOiBleHBlY3RlZCBwYXJlbnRoZXNpemVkIGxpc3Q6ICctYmFyJwoKICAgID4+PiB2ID0gVmVyc2lvblByZWRpY2F0ZSgnZm9vIGJhciAoMTIuMjEpJykKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBWYWx1ZUVycm9yOiBleHBlY3RlZCBwYXJlbnRoZXNpemVkIGxpc3Q6ICdiYXIgKDEyLjIxKScKCiAgICBjAgAAAAYAAAAEAAAAQwAAAHP/AAAAfAEAagAAgwAAfQEAfAEAcyEAdAEAZAEAgwEAggEAbgAAdAIAagMAfAEAgwEAfQIAfAIAc0kAdAEAZAIAfAEAFoMBAIIBAG4AAHwCAGoEAIMAAFwCAHwAAF8FAH0DAHwDAGoAAIMAAH0DAHwDAHLyAHQGAGoDAHwDAIMBAH0CAHwCAHOYAHQBAGQDAHwDABaDAQCCAQBuAAB8AgBqBACDAABkBAAZfQQAZwAAfAQAagcAZAUAgwEARF0SAH0FAHQIAHwFAIMBAF4CAHG4AHwAAF8JAHwAAGoJAHP7AHQBAGQGAHwBABaDAQCCAQBx+wBuCQBnAAB8AABfCQBkBwBTKAgAAABzKgAAAFBhcnNlIGEgdmVyc2lvbiBwcmVkaWNhdGUgc3RyaW5nLgogICAgICAgIHMZAAAAZW1wdHkgcGFja2FnZSByZXN0cmljdGlvbnMWAAAAYmFkIHBhY2thZ2UgbmFtZSBpbiAlcnMfAAAAZXhwZWN0ZWQgcGFyZW50aGVzaXplZCBsaXN0OiAlcmkAAAAAdAEAAAAscx4AAABlbXB0eSBwYXJlbnRoZXNpemVkIGxpc3QgaW4gJXJOKAoAAAB0BQAAAHN0cmlwUgIAAAB0DwAAAHJlX3ZhbGlkUGFja2FnZVIBAAAAUgMAAAB0BAAAAG5hbWV0CAAAAHJlX3BhcmVudAUAAABzcGxpdFILAAAAUgcAAAAoBgAAAHQEAAAAc2VsZnQTAAAAdmVyc2lvblByZWRpY2F0ZVN0clIBAAAAdAUAAABwYXJlbnQDAAAAc3RydAUAAABhUHJlZCgAAAAAKAAAAABzYgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2Rpc3R1dGlscy92ZXJzaW9ucHJlZGljYXRlLnB5dAgAAABfX2luaXRfX18AAABzJAAAAAAHDAEGAQ8BDwEGARMBFQEMAQYBDwEGARMBEAErAQkBBgEQAmMBAAAABAAAAAUAAABDAAAAc2AAAAB8AABqAAByVQBnAAB8AABqAABEXSAAXAIAfQEAfQIAfAEAZAEAF3QBAHwCAIMBABdeAgBxEwB9AwB8AABqAgBkAgAXZAMAagMAfAMAgwEAF2QEABdTfAAAagIAU2QAAFMoBQAAAE50AQAAACBzAgAAACAocwIAAAAsIHQBAAAAKSgEAAAAUgcAAABSGAAAAFISAAAAdAQAAABqb2luKAQAAABSFQAAAHQEAAAAY29uZHQDAAAAdmVydAMAAABzZXEoAAAAACgAAAAAc2IAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9kaXN0dXRpbHMvdmVyc2lvbnByZWRpY2F0ZS5weXQHAAAAX19zdHJfX3oAAABzCAAAAAABCQEwARwCYwIAAAAEAAAABAAAAEMAAABzNQAAAHguAHwAAGoAAERdIwBcAgB9AgB9AwB0AQB8AgAZfAEAfAMAgwIAcwoAdAIAU3EKAFd0AwBTKAEAAABzzwAAAFRydWUgaWYgdmVyc2lvbiBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHRoZSBwcmVkaWNhdGVzIGluIHNlbGYuCiAgICAgICAgVGhlIHBhcmFtZXRlciB2ZXJzaW9uIG11c3QgYmUgYWNjZXB0YWJsZSB0byB0aGUgU3RyaWN0VmVyc2lvbgogICAgICAgIGNvbnN0cnVjdG9yLiAgSXQgbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBTdHJpY3RWZXJzaW9uLgogICAgICAgICgEAAAAUgcAAAB0BwAAAGNvbXBtYXB0BQAAAEZhbHNldAQAAABUcnVlKAQAAABSFQAAAFIFAAAAUh4AAABSHwAAACgAAAAAKAAAAABzYgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2Rpc3R1dGlscy92ZXJzaW9ucHJlZGljYXRlLnB5dAwAAABzYXRpc2ZpZWRfYnmBAAAAcwgAAAAABRYBEwEIASgGAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfX1IaAAAAUiEAAABSJQAAACgAAAAAKAAAAAAoAAAAAHNiAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZGlzdHV0aWxzL3ZlcnNpb25wcmVkaWNhdGUucHlSDgAAAB4AAABzCAAAAAY/BgIJGwkHYwEAAAADAAAAAwAAAEMAAABzlQAAAHQAAGQFAGsIAHIeAHQCAGoDAGQBAIMBAGEAAG4AAHwAAGoEAIMAAH0AAHQAAGoFAHwAAIMBAH0BAHwBAHNSAHQGAGQCAHwAABaDAQCCAQBuAAB8AQBqBwBkAwCDAQBwZABkBQB9AgB8AgByggB0CABqCQBqCgB8AgCDAQB9AgBuAAB8AQBqBwBkBACDAQB8AgBmAgBTKAYAAABzOQEAAFJldHVybiB0aGUgbmFtZSBhbmQgb3B0aW9uYWwgdmVyc2lvbiBudW1iZXIgb2YgYSBwcm92aXNpb24uCgogICAgVGhlIHZlcnNpb24gbnVtYmVyLCBpZiBnaXZlbiwgd2lsbCBiZSByZXR1cm5lZCBhcyBhIGBTdHJpY3RWZXJzaW9uYAogICAgaW5zdGFuY2UsIG90aGVyd2lzZSBpdCB3aWxsIGJlIGBOb25lYC4KCiAgICA+Pj4gc3BsaXRfcHJvdmlzaW9uKCdteXBrZycpCiAgICAoJ215cGtnJywgTm9uZSkKICAgID4+PiBzcGxpdF9wcm92aXNpb24oJyBteXBrZyggMS4yICkgJykKICAgICgnbXlwa2cnLCBTdHJpY3RWZXJzaW9uICgnMS4yJykpCiAgICBzPQAAAChbYS16QS1aX11cdyooPzpcLlthLXpBLVpfXVx3KikqKSg/OlxzKlwoXHMqKFteKVxzXSspXHMqXCkpPyRzIgAAAGlsbGVnYWwgcHJvdmlkZXMgc3BlY2lmaWNhdGlvbjogJXJpAgAAAGkBAAAATigLAAAAdA0AAABfcHJvdmlzaW9uX3J4dAQAAABOb25ldAIAAAByZXQHAAAAY29tcGlsZVIQAAAAUgEAAABSAgAAAHQFAAAAZ3JvdXBSBAAAAFIFAAAAUgYAAAAoAwAAAHQFAAAAdmFsdWV0AQAAAG1SHwAAACgAAAAAKAAAAABzYgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2Rpc3R1dGlscy92ZXJzaW9ucHJlZGljYXRlLnB5dA8AAABzcGxpdF9wcm92aXNpb26OAAAAcxYAAAAADAwBBgEMAQwBDwEGARMBFQEGARUBKAAAAAAoFQAAAFIoAAAAUisAAAB0EQAAAGRpc3R1dGlscy52ZXJzaW9uUgQAAAB0CAAAAG9wZXJhdG9yUiwAAABSEQAAAFITAAAAUgAAAABSCwAAAHQCAAAAbHR0AgAAAGxldAIAAABlcXQCAAAAZ3R0AgAAAGdldAIAAABuZVIiAAAAUg4AAABSKgAAAFIpAAAAUjAAAAAoAAAAACgAAAAAKAAAAABzYgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2Rpc3R1dGlscy92ZXJzaW9ucHJlZGljYXRlLnB5dAgAAAA8bW9kdWxlPgIAAABzGAAAAAYBDAEMAQwDDwMPAQ8ECQshASECE24GAg==