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U2NhbGUsIExpc3Rib3gsIFNjcm9sbGJhciwgT3B0aW9uTWVudSwgU3BpbmJveApMYWJlbEZyYW1lIGFuZCBQYW5lZFdpbmRvdy4KClByb3BlcnRpZXMgb2YgdGhlIHdpZGdldHMgYXJlIHNwZWNpZmllZCB3aXRoIGtleXdvcmQgYXJndW1lbnRzLgpLZXl3b3JkIGFyZ3VtZW50cyBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGNvcnJlc3BvbmRpbmcgcmVzb3VyY2UKdW5kZXIgVGsuCgpXaWRnZXRzIGFyZSBwb3NpdGlvbmVkIHdpdGggb25lIG9mIHRoZSBnZW9tZXRyeSBtYW5hZ2VycyBQbGFjZSwgUGFjawpvciBHcmlkLiBUaGVzZSBtYW5hZ2VycyBjYW4gYmUgY2FsbGVkIHdpdGggbWV0aG9kcyBwbGFjZSwgcGFjaywgZ3JpZAphdmFpbGFibGUgaW4gZXZlcnkgV2lkZ2V0LgoKQWN0aW9ucyBhcmUgYm91bmQgdG8gZXZlbnRzIGJ5IHJlc291cmNlcyAoZS5nLiBrZXl3b3JkIGFyZ3VtZW50CmNvbW1hbmQpIG9yIHdpdGggdGhlIG1ldGhvZCBiaW5kLgoKRXhhbXBsZSAoSGVsbG8sIFdvcmxkKToKaW1wb3J0IFRraW50ZXIKZnJvbSBUa2NvbnN0YW50cyBpbXBvcnQgKgp0ayA9IFRraW50ZXIuVGsoKQpmcmFtZSA9IFRraW50ZXIuRnJhbWUodGssIHJlbGllZj1SSURHRSwgYm9yZGVyd2lkdGg9MikKZnJhbWUucGFjayhmaWxsPUJPVEgsZXhwYW5kPTEpCmxhYmVsID0gVGtpbnRlci5MYWJlbChmcmFtZSwgdGV4dD0iSGVsbG8sIFdvcmxkIikKbGFiZWwucGFjayhmaWxsPVgsIGV4cGFuZD0xKQpidXR0b24gPSBUa2ludGVyLkJ1dHRvbihmcmFtZSx0ZXh0PSJFeGl0Iixjb21tYW5kPXRrLmRlc3Ryb3kpCmJ1dHRvbi5wYWNrKHNpZGU9Qk9UVE9NKQp0ay5tYWlubG9vcCgpCnMSAAAAJFJldmlzaW9uOiA4MTAwOCAkaf////9OdAUAAAB3aW4zMigBAAAAdAEAAAAqaQEAAABzCAAAAChbXFx7fV0pcwYAAAAoW1xzXSljAQAAAAEAAAAEAAAAQwAAAHMWAAAAZAEAagAAdAEAdAIAfAAAgwIAgwEAUygCAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi50AQAAACAoAwAAAHQEAAAAam9pbnQDAAAAbWFwdAoAAABfc3RyaW5naWZ5KAEAAAB0BQAAAHZhbHVlKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0BQAAAF9qb2luQQAAAHMCAAAAAAJjAQAAAAEAAAAEAAAAQwAAAHMJAQAAdAAAfAAAdAEAdAIAZgIAgwIAcmoAdAMAfAAAgwEAZAEAawIAclcAdAQAfAAAZAIAGYMBAH0AAHwAAGQCABlkAwBrAgByZwBkBAB8AAAWfQAAcWcAcQUBZAQAdAUAfAAAgwEAFn0AAG6bAHQAAHwAAHQGAIMCAHKIAHQHAHwAAIMBAH0AAG4MAHQIAHwAAIMBAH0AAHwAAHOjAGQFAH0AAG5iAHQJAGoKAHwAAIMBAHLZAHQJAGoLAGQGAHwAAIMCAH0AAHQMAGoLAGQGAHwAAIMCAH0AAG4sAHwAAGQCABlkBwBrAgBz+AB0DABqCgB8AACDAQByBQFkBAB8AAAWfQAAbgAAfAAAUygIAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi5pAQAAAGkAAAAAdAEAAAB7cwQAAAB7JXN9cwIAAAB7fXMEAAAAXFxcMXQBAAAAIigNAAAAdAoAAABpc2luc3RhbmNldAQAAABsaXN0dAUAAAB0dXBsZXQDAAAAbGVuUgUAAABSBwAAAHQKAAAAYmFzZXN0cmluZ3QHAAAAdW5pY29kZXQDAAAAc3RydAkAAABfbWFnaWNfcmV0BgAAAHNlYXJjaHQDAAAAc3VidAkAAABfc3BhY2VfcmUoAQAAAFIGAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSBQAAAEUAAABzIgAAAAACFQESARABEAEQAhMCDwEPAgwBBgEJAQ8CEgEVAR8BDQFjAQAAAAMAAAAEAAAAQwAAAHNiAAAAZAEAfQEAeFUAfAAARF1NAH0CAHQAAHwCAIMBAHQBAHQCAGYCAGsGAHI+AHwBAHQDAHwCAIMBABd9AQBxDQB8AgBkAgBrCQByDQB8AQB8AgBmAQAXfQEAcQ0AcQ0AV3wBAFMoAwAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uKAAAAABOKAUAAAB0BAAAAHR5cGV0CQAAAFR1cGxlVHlwZXQIAAAATGlzdFR5cGV0CAAAAF9mbGF0dGVudAQAAABOb25lKAMAAABSDAAAAHQDAAAAcmVzdAQAAABpdGVtKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSGAAAAF0AAABzDgAAAAACBgENARgBEwEMARQBYwEAAAAGAAAABwAAAEMAAABztAAAAHQAAHwAAIMBAHQBAGsIAHIWAHwAAFN0AAB8AACDAQB0AgB0AwBmAgBrBgByMgB8AABTaQAAfQEAeHEAdAQAfAAAgwEARF1jAH0CAHkRAHwBAGoFAHwCAIMBAAFXcUUABHQGAHQHAGYCAGsKAHKnAAF9AwABZAEAR3wDAEdIeCgAfAIAaggAgwAARF0WAFwCAH0EAH0FAHwFAHwBAHwEADxxigBXcUUAWHFFAFd8AQBTZAIAUygDAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi5zGwAAAF9jbmZtZXJnZTogZmFsbGJhY2sgZHVlIHRvOk4oCQAAAFIVAAAAdA4AAABEaWN0aW9uYXJ5VHlwZXQIAAAATm9uZVR5cGV0CgAAAFN0cmluZ1R5cGVSGAAAAHQGAAAAdXBkYXRldA4AAABBdHRyaWJ1dGVFcnJvcnQJAAAAVHlwZUVycm9ydAUAAABpdGVtcygGAAAAdAQAAABjbmZzdAMAAABjbmZ0AQAAAGN0AwAAAG1zZ3QBAAAAa3QBAAAAdigAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAkAAABfY25mbWVyZ2VqAAAAcxoAAAAAAhIBBAEYAQQCBgETAQMBEQEVAQkBGQEWAXQFAAAARXZlbnRjAAAAAAAAAAABAAAAQgAAAHMOAAAAZQAAWgEAZAAAWgIAUlMoAQAAAHPKBwAAQ29udGFpbmVyIGZvciB0aGUgcHJvcGVydGllcyBvZiBhbiBldmVudC4KCiAgICBJbnN0YW5jZXMgb2YgdGhpcyB0eXBlIGFyZSBnZW5lcmF0ZWQgaWYgb25lIG9mIHRoZSBmb2xsb3dpbmcgZXZlbnRzIG9jY3VyczoKCiAgICBLZXlQcmVzcywgS2V5UmVsZWFzZSAtIGZvciBrZXlib2FyZCBldmVudHMKICAgIEJ1dHRvblByZXNzLCBCdXR0b25SZWxlYXNlLCBNb3Rpb24sIEVudGVyLCBMZWF2ZSwgTW91c2VXaGVlbCAtIGZvciBtb3VzZSBldmVudHMKICAgIFZpc2liaWxpdHksIFVubWFwLCBNYXAsIEV4cG9zZSwgRm9jdXNJbiwgRm9jdXNPdXQsIENpcmN1bGF0ZSwKICAgIENvbG9ybWFwLCBHcmF2aXR5LCBSZXBhcmVudCwgUHJvcGVydHksIERlc3Ryb3ksIEFjdGl2YXRlLAogICAgRGVhY3RpdmF0ZSAtIGZvciB3aW5kb3cgZXZlbnRzLgoKICAgIElmIGEgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIG9uZSBvZiB0aGVzZSBldmVudHMgaXMgcmVnaXN0ZXJlZAogICAgdXNpbmcgYmluZCwgYmluZF9hbGwsIGJpbmRfY2xhc3MsIG9yIHRhZ19iaW5kLCB0aGUgY2FsbGJhY2sgaXMKICAgIGNhbGxlZCB3aXRoIGFuIEV2ZW50IGFzIGZpcnN0IGFyZ3VtZW50LiBJdCB3aWxsIGhhdmUgdGhlCiAgICBmb2xsb3dpbmcgYXR0cmlidXRlcyAoaW4gYnJhY2VzIGFyZSB0aGUgZXZlbnQgdHlwZXMgZm9yIHdoaWNoCiAgICB0aGUgYXR0cmlidXRlIGlzIHZhbGlkKToKCiAgICAgICAgc2VyaWFsIC0gc2VyaWFsIG51bWJlciBvZiBldmVudAogICAgbnVtIC0gbW91c2UgYnV0dG9uIHByZXNzZWQgKEJ1dHRvblByZXNzLCBCdXR0b25SZWxlYXNlKQogICAgZm9jdXMgLSB3aGV0aGVyIHRoZSB3aW5kb3cgaGFzIHRoZSBmb2N1cyAoRW50ZXIsIExlYXZlKQogICAgaGVpZ2h0IC0gaGVpZ2h0IG9mIHRoZSBleHBvc2VkIHdpbmRvdyAoQ29uZmlndXJlLCBFeHBvc2UpCiAgICB3aWR0aCAtIHdpZHRoIG9mIHRoZSBleHBvc2VkIHdpbmRvdyAoQ29uZmlndXJlLCBFeHBvc2UpCiAgICBrZXljb2RlIC0ga2V5Y29kZSBvZiB0aGUgcHJlc3NlZCBrZXkgKEtleVByZXNzLCBLZXlSZWxlYXNlKQogICAgc3RhdGUgLSBzdGF0ZSBvZiB0aGUgZXZlbnQgYXMgYSBudW1iZXIgKEJ1dHRvblByZXNzLCBCdXR0b25SZWxlYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXIsIEtleVByZXNzLCBLZXlSZWxlYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVhdmUsIE1vdGlvbikKICAgIHN0YXRlIC0gc3RhdGUgYXMgYSBzdHJpbmcgKFZpc2liaWxpdHkpCiAgICB0aW1lIC0gd2hlbiB0aGUgZXZlbnQgb2NjdXJyZWQKICAgIHggLSB4LXBvc2l0aW9uIG9mIHRoZSBtb3VzZQogICAgeSAtIHktcG9zaXRpb24gb2YgdGhlIG1vdXNlCiAgICB4X3Jvb3QgLSB4LXBvc2l0aW9uIG9mIHRoZSBtb3VzZSBvbiB0aGUgc2NyZWVuCiAgICAgICAgICAgICAoQnV0dG9uUHJlc3MsIEJ1dHRvblJlbGVhc2UsIEtleVByZXNzLCBLZXlSZWxlYXNlLCBNb3Rpb24pCiAgICB5X3Jvb3QgLSB5LXBvc2l0aW9uIG9mIHRoZSBtb3VzZSBvbiB0aGUgc2NyZWVuCiAgICAgICAgICAgICAoQnV0dG9uUHJlc3MsIEJ1dHRvblJlbGVhc2UsIEtleVByZXNzLCBLZXlSZWxlYXNlLCBNb3Rpb24pCiAgICBjaGFyIC0gcHJlc3NlZCBjaGFyYWN0ZXIgKEtleVByZXNzLCBLZXlSZWxlYXNlKQogICAgc2VuZF9ldmVudCAtIHNlZSBYL1dpbmRvd3MgZG9jdW1lbnRhdGlvbgogICAga2V5c3ltIC0ga2V5c3ltIG9mIHRoZSBldmVudCBhcyBhIHN0cmluZyAoS2V5UHJlc3MsIEtleVJlbGVhc2UpCiAgICBrZXlzeW1fbnVtIC0ga2V5c3ltIG9mIHRoZSBldmVudCBhcyBhIG51bWJlciAoS2V5UHJlc3MsIEtleVJlbGVhc2UpCiAgICB0eXBlIC0gdHlwZSBvZiB0aGUgZXZlbnQgYXMgYSBudW1iZXIKICAgIHdpZGdldCAtIHdpZGdldCBpbiB3aGljaCB0aGUgZXZlbnQgb2NjdXJyZWQKICAgIGRlbHRhIC0gZGVsdGEgb2Ygd2hlZWwgbW92ZW1lbnQgKE1vdXNlV2hlZWwpCiAgICAoAwAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX190BwAAAF9fZG9jX18oAAAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UioAAAB+AAAAcwQAAAAGKQYBYwAAAAAAAAAAAQAAAEMAAABzEwAAAGQBAGEAAGQCAGECAGICAGQCAFMoAwAAAHOoAAAASW5oaWJpdCBzZXR0aW5nIG9mIGRlZmF1bHQgcm9vdCB3aW5kb3cuCgogICAgQ2FsbCB0aGlzIGZ1bmN0aW9uIHRvIGluaGliaXQgdGhhdCB0aGUgZmlyc3QgaW5zdGFuY2Ugb2YKICAgIFRrIGlzIHVzZWQgZm9yIHdpbmRvd3Mgd2l0aG91dCBhbiBleHBsaWNpdCBwYXJlbnQgd2luZG93LgogICAgaQAAAABOKAMAAAB0FQAAAF9zdXBwb3J0X2RlZmF1bHRfcm9vdFIZAAAAdA0AAABfZGVmYXVsdF9yb290KAAAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAATm9EZWZhdWx0Um9vdK0AAABz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bC5OKAMAAABSPwAAAHQOAAAAZ2xvYmFsdW5zZXR2YXJSQAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQHAAAAX19kZWxfX+QAAABzAgAAAAACYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAHMnAAAAUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSBpbiBUY2wuKAEAAABSQAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQHAAAAX19zdHJfX+cAAABzAgAAAAACYwIAAAACAAAAAwAAAEMAAABzFgAAAHwAAGoAAGoBAHwAAGoCAHwBAIMCAFMoAQAAAHMaAAAAU2V0IHRoZSB2YXJpYWJsZSB0byBWQUxVRS4oAwAAAFI/AAAAdAwAAABnbG9iYWxzZXR2YXJSQAAAACgCAAAAUkYAAABSBgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkMAAADqAAAAcwIAAAAAAmMBAAAAAQAAAAIAAABDAAAAcxMAAAB8AABqAABqAQB8AABqAgCDAQBTKAEAAABzGQAAAFJldHVybiB2YWx1ZSBvZiB2YXJpYWJsZS4oAwAAAFI/AAAAdAwAAABnbG9iYWxnZXR2YXJSQAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQDAAAAZ2V07QAAAHMCAAAAAAJjAwAAAAQAAAAGAAAAQwAAAHM1AAAAfAAAagAAagEAfAIAgwEAfQMAfAAAagIAagMAZAEAZAIAfAAAagQAfAEAfAMAgwUAAXwDAFMoAwAAAHMKAQAARGVmaW5lIGEgdHJhY2UgY2FsbGJhY2sgZm9yIHRoZSB2YXJpYWJsZS4KCiAgICAgICAgTU9ERSBpcyBvbmUgb2YgInIiLCAidyIsICJ1IiBmb3IgcmVhZCwgd3JpdGUsIHVuZGVmaW5lLgogICAgICAgIENBTExCQUNLIG11c3QgYmUgYSBmdW5jdGlvbiB3aGljaCBpcyBjYWxsZWQgd2hlbgogICAgICAgIHRoZSB2YXJpYWJsZSBpcyByZWFkLCB3cml0dGVuIG9yIHVuZGVmaW5lZC4KCiAgICAgICAgUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBjYWxsYmFjay4KICAgICAgICB0BQAAAHRyYWNldAgAAAB2YXJpYWJsZSgFAAAAUj0AAAB0CQAAAF9yZWdpc3RlclI/AAAAUkQAAABSQAAAACgEAAAAUkYAAAB0BAAAAG1vZGV0CAAAAGNhbGxiYWNrdAYAAABjYm5hbWUoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAdHJhY2VfdmFyaWFibGXwAAAAcwYAAAAACRIBHwFjAwAAAAMAAAAGAAAAQwAAAHMzAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAfAIAgwUAAXwAAGoDAGoEAHwCAIMBAAFkAwBTKAQAAABzxQAAAERlbGV0ZSB0aGUgdHJhY2UgY2FsbGJhY2sgZm9yIGEgdmFyaWFibGUuCgogICAgICAgIE1PREUgaXMgb25lIG9mICJyIiwgInciLCAidSIgZm9yIHJlYWQsIHdyaXRlLCB1bmRlZmluZS4KICAgICAgICBDQk5BTUUgaXMgdGhlIG5hbWUgb2YgdGhlIGNhbGxiYWNrIHJldHVybmVkIGZyb20gdHJhY2VfdmFyaWFibGUgb3IgdHJhY2UuCiAgICAgICAgUlAAAAB0BwAAAHZkZWxldGVOKAUAAABSPwAAAFJEAAAAUkAAAABSPQAAAHQNAAAAZGVsZXRlY29tbWFuZCgDAAAAUkYAAABSUwAAAFJVAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHRyYWNlX3ZkZWxldGX9AAAAcwQAAAAABh8BYwEAAAABAAAABwAAAEMAAABzNAAAAHQAAHwAAGoBAGoCAHwAAGoBAGoDAHwAAGoBAGoEAGQBAGQCAHwAAGoFAIMDAIMBAIMCAFMoAwAAAHMmAAAAUmV0dXJuIGFsbCB0cmFjZSBjYWxsYmFjayBpbmZvcm1hdGlvbi5SUAAAAHQFAAAAdmluZm8oBgAAAFIEAAAAUj8AAAB0BQAAAHNwbGl0dAkAAABzcGxpdGxpc3RSRAAAAFJAAAAAKAEAAABSRgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAAB0cmFjZV92aW5mbwUBAABzBAAAAAACFQFjAgAAAAIAAAADAAAAQwAAAHMoAAAAfAAAagAAagEAfAEAagAAagEAawIAbycAfAAAagIAfAEAagIAawIAUygBAAAAc5UAAABDb21wYXJpc29uIGZvciBlcXVhbGl0eSAoPT0pLgoKICAgICAgICBOb3RlOiBpZiB0aGUgVmFyaWFibGUncyBtYXN0ZXIgbWF0dGVycyB0byBiZWhhdmlvcgogICAgICAgIGFsc28gY29tcGFyZSBzZWxmLl9tYXN0ZXIgPT0gb3RoZXIuX21hc3RlcgogICAgICAgICgDAAAAdAkAAABfX2NsYXNzX19SKwAAAFJAAAAAKAIAAABSRgAAAHQFAAAAb3RoZXIoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQGAAAAX19lcV9fCQEAAHMEAAAAAAYYAU4oDwAAAFIrAAAAUiwAAABSLQAA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bwEAAHMCAAAAAAJ0BAAAAE1pc2NjAAAAAAAAAAATAAAAQgAAAHMpBgAAZQAAWgEAZAAAWgIAZKkAWgQAZAEAhAAAWgUAZAIAhAAAWgYAZKkAZAMAhAEAWgcAZAQAhAAAWggAZAUAhAAAWgkAZAYAhAAAWgoAZAcAZAgAhAEAWgsAZQsAWgwAZKkAZAkAhAEAWg0AZKkAZAoAhAEAWg4AZAcAZAsAZAwAhAIAWg8AZAcAZA0AhAEAWhAAZREAWhIAZRMAWhQAZA4AhAAAWhUAZA8AhAAAWhYAZRYAWhcAZBAAhAAAWhgAZBEAhAAAWhkAZBIAhAAAWhoAZBMAhAAAWhsAZBQAhAAAWhwAZBUAhAAAWh0AZBYAhAAAWh4AZKkAZBcAhAEAWh8AZBgAhAAAWiAAZBkAhAAAWiEAZBoAZBsAhAEAWiIAZBwAhAAAWiMAZB0AhAAAWiQAZB4AhAAAWiUAZB8AhAAAWiYAZCAAhAAAWicAZCEAhAAAWigAZCIAhAAAWikAZCMAhAAAWioAZKkAZCQAhAEAWisAZCUAhAAAWiwAZCYAhAAAWi0AZKkAZCcAhAEAWi4AZCgAhAAAWi8AZCkAhAAAWjAAZCoAhAAAWjEAZCsAhAAAWjIAZCwAhAAAWjMAZC0AhAAAWjQAZKkAZC4AhAEAWjUAZKkAZC8AhAEAWjYAZTYAWjcAZKkAZDAAhAEAWjgAZBoAZDEAhAEAWjkAZBoAZDIAhAEAWjoAZDMAhAAAWjsAZDQAhAAAWjwAZDUAhAAAWj0AZDYAhAAAWj4AZBoAZDcAhAEAWj8AZDgAhAAAWkAAZDkAhAAAWkEAZDoAhAAAWkIAZDsAhAAAWkMAZDwAhAAAWkQAZD0AhAAAWkUAZBoAZD4AhAEAWkYAZD8AhAAAWkcAZEAAhAAAWkgAZEEAhAAAWkkAZEIAhAAAWkoAZBoAZEMAhAEAWksAZEQAhAAAWkwAZEUAhAAAWk0AZEYAhAAAWk4AZEcAhAAAWk8AZEgAhAAAWlAAZEkAhAAAWlEAZEoAhAAAWlIAZEsAhAAAWlMAZEwAhAAAWlQAZE0AhAAAWlUAZE4AhAAAWlYAZE8AhAAAWlcAZFAAhAAAWlgAZFEAhAAAWlkAZFIAhAAAWloAZFMAhAAAWlsAZFQAhAAAWlwAZFUAhAAAWl0AZFYAhAAAWl4AZFcAhAAA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ICAgIFJldHVybnMgdGhlIHNldCB2YWx1ZS5SQwAAAHQOAAAAdGtfc3RyaWN0TW90aWYoAwAAAFI+AAAAUmgAAABSRAAAACgCAAAAUkYAAAB0BwAAAGJvb2xlYW4oAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJxAAAAjwEAAHMEAAAAAAcSAWMBAAAAAQAAAAIAAABDAAAAcxQAAAB8AABqAABqAQBkAQCDAQABZAIAUygDAAAAc0QAAABDaGFuZ2UgdGhlIGNvbG9yIHNjaGVtZSB0byBsaWdodCBicm93biBhcyB1c2VkIGluIFRrIDMuNiBhbmQgYmVmb3JlLnQJAAAAdGtfYmlzcXVlTigCAAAAUj4AAABSRAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJzAAAAmAEAAHMCAAAAAAJjAQAAAAMAAAAEAAAATwAAAHMuAAAAfAAAagAAagEAZAMAdAIAfAEAgwEAF3QCAHwCAGoDAIMAAIMBABeDAQABZAIAUygEAAAAcwsCAABTZXQgYSBuZXcgY29sb3Igc2NoZW1lIGZvciBhbGwgd2lkZ2V0IGVsZW1lbnRzLgoKICAgICAgICBBIHNpbmdsZSBjb2xvciBhcyBhcmd1bWVudCB3aWxsIGNhdXNlIHRoYXQgYWxsIGNvbG9ycyBvZiBUawogICAgICAgIHdpZGdldCBlbGVtZW50cyBhcmUgZGVyaXZlZCBmcm9tIHRoaXMuCiAgICAgICAgQWx0ZXJuYXRpdmVseSBzZXZlcmFsIGtleXdvcmQgcGFyYW1ldGVycyBhbmQgaXRzIGFzc29jaWF0ZWQKICAgICAgICBjb2xvcnMgY2FuIGJlIGdpdmVuLiBUaGUgZm9sbG93aW5nIGtleXdvcmRzIGFyZSB2YWxpZDoKICAgICAgICBhY3RpdmVCYWNrZ3JvdW5kLCBmb3JlZ3JvdW5kLCBzZWxlY3RDb2xvciwKICAgICAgICBhY3RpdmVGb3JlZ3JvdW5kLCBoaWdobGlnaHRCYWNrZ3JvdW5kLCBzZWxlY3RCYWNrZ3JvdW5kLAogICAgICAgIGJhY2tncm91bmQsIGhpZ2hsaWdodENvbG9yLCBzZWxlY3RGb3JlZ3JvdW5kLAogICAgICAgIGRpc2FibGVkRm9yZWdyb3VuZCwgaW5zZXJ0QmFja2dyb3VuZCwgdHJvdWdoQ29sb3IudA0AAAB0a19zZXRQYWxldHRlTigBAAAAcw0AAAB0a19zZXRQYWxldHRlKAQAAABSPgAAAFJEAAAAUhgAAABSIgAAACgDAAAAUkYAAAB0BAAAAGFyZ3N0AgAAAGt3KAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSdAAAAJsBAABzBAAAAAALCQFjAQAAAAIAAAABAAAARwAAAHMEAAAAZAEAUygCAAAAcykAAABEbyBub3QgdXNlLiBOZWVkZWQgaW4gVGsgMy42IGFuZCBlYXJsaWVyLk4oAAAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAAB0a19tZW51QmFyqAEAAHMCAAAAAAJSOgAAAGMCAAAAAgAAAAQAAABDAAAAcxoAAAB8AABqAABqAQBkAQBkAgB8AQCDAwABZAMAUygEAAAAc4MAAABXYWl0IHVudGlsIHRoZSB2YXJpYWJsZSBpcyBtb2RpZmllZC4KCiAgICAgICAgQSBwYXJhbWV0ZXIgb2YgdHlwZSBJbnRWYXIsIFN0cmluZ1ZhciwgRG91YmxlVmFyIG9yCiAgICAgICAgQm9vbGVhblZhciBtdXN0IGJlIGdpdmVuLnQGAAAAdGt3YWl0UlEAAABOKAIAAABSPgAAAFJEAAAAKAIAAABSRgAAAFJIAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWls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L2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAAc2VsZWN0aW9uX2dldJUCAABzEgAAAAAJDAAQARsBAwEKASEBDQEOAWMCAAAABAAAAAQAAABLAAAAcz0AAAB8AABqAAB8AQCDAQB9AwB8AABqAQBqAgBkBAB8AABqAwB8AgCDAQAXfAAAagQAfAMAZgIAF4MBAAFkAwBTKAUAAABzAQIAAFNwZWNpZnkgYSBmdW5jdGlvbiBDT01NQU5EIHRvIGNhbGwgaWYgdGhlIFgKICAgICAgICBzZWxlY3Rpb24gb3duZWQgYnkgdGhpcyB3aWRnZXQgaXMgcXVlcmllZCBieSBhbm90aGVyCiAgICAgICAgYXBwbGljYXRpb24uCgogICAgICAgIFRoaXMgZnVuY3Rpb24gbXVzdCByZXR1cm4gdGhlIGNvbnRlbnRzIG9mIHRoZQogICAgICAgIHNlbGVjdGlvbi4gVGhlIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlCiAgICAgICAgYXJndW1lbnRzIE9GRlNFVCBhbmQgTEVOR1RIIHdoaWNoIGFsbG93cyB0aGUgY2h1bmtpbmcKICAgICAgICBvZiB2ZXJ5IGxvbmcgc2VsZWN0aW9ucy4gVGhlIGZvbGxvd2luZyBrZXl3b3JkCiAgICAgICAgcGFyYW1ldGVycyBjYW4gYmUgcHJvdmlkZWQ6CiAgICAgICAgc2VsZWN0aW9uIC0gbmFtZSBvZiB0aGUgc2VsZWN0aW9uIChkZWZhdWx0IFBSSU1BUlkpLAogICAgICAgIHR5cGUgLSB0eXBlIG9mIHRoZSBzZWxlY3Rpb24gKGUuZy4gU1RSSU5HLCBGSUxFX05BTUUpLlK7AAAAdAYAAABoYW5kbGVOKAIAAABzCQAAAHNlbGVjdGlvblK+AAAAKAUAAABSUgAAAFI+AAAAUkQAAABSoAAAAFJ7AAAAKAQAAABSRgAAAHQHAAAAY29tbWFuZFJ2AAAAUkgAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGli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dGhpcyB3aWRnZXQuUs0AAAB0CwAAAHNjcmVlbmRlcHRoKAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQRAAAAd2luZm9fc2NyZWVuZGVwdGhYAwAAcwQAAAAAAwMBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNYAAAAUmV0dXJuIHRoZSBudW1iZXIgb2YgcGl4ZWxzIG9mIHRoZSBoZWlnaHQgb2YgdGhlIHNjcmVlbiBvZiB0aGlzIHdpZGdldAogICAgICAgIGluIHBpeGVsLlLNAAAAdAwAAABzY3JlZW5oZWlnaHQoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBIAAAB3aW5mb19zY3JlZW5oZWlnaHRdAwAAcwQAAAAAAwMBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNVAAAAUmV0dXJuIHRoZSBudW1iZXIgb2YgcGl4ZWxzIG9mIHRoZSBoZWlnaHQgb2YgdGhlIHNjcmVlbiBvZgogICAgICAgIHRoaXMgd2lkZ2V0IGluIG1tLlLNAAAAdA4AAABzY3JlZW5tbWhlaWdodCgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0FAAAAHdpbmZvX3NjcmVlbm1taGVpZ2h0YgMAAHMEAAAAAAMDAWMBAAAA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cnVlIGlmIHRoZSB3aWRnZXQgYW5kIGFsbCBpdHMgaGlnaGVyIGFuY2VzdG9ycyBhcmUgbWFwcGVkLlLNAAAAdAgAAAB2aWV3YWJsZSgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHdpbmZvX3ZpZXdhYmxlfgMAAHMEAAAAAAIDAWMBAAAAAQAAAAQAAABDAAAAcxkAAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwBTKAMAAABzlwAAAFJldHVybiBvbmUgb2YgdGhlIHN0cmluZ3MgZGlyZWN0Y29sb3IsIGdyYXlzY2FsZSwgcHNldWRvY29sb3IsCiAgICAgICAgc3RhdGljY29sb3IsIHN0YXRpY2dyYXksIG9yIHRydWVjb2xvciBmb3IgdGhlCiAgICAgICAgY29sb3Jtb2RlbCBvZiB0aGlzIHdpZGdldC5SzQAAAHQGAAAAdmlzdWFsKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAHdpbmZvX3Zpc3VhbIIDAABzAgAAAAAEYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHM3AAAAUmV0dXJuIHRoZSBYIGlkZW50aWZpZXIgZm9yIHRoZSB2aXN1YWwgZm9yIHRoaXMgd2lkZ2V0LlLNAAAAdAgAAAB2aXN1YWxpZCgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA4AAAB3aW5mb192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ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQFAAAAX2JpbmTUAwAAcxoAAAAAAhIBHQEGAQ8BCQEDAg8BEAEaAQQBBgEXAmMEAAAABAAAAAUAAABDAAAAcx8AAAB8AABqAABkAQB8AABqAQBmAgB8AQB8AgB8AwCDBABTKAIAAABzTwcAAEJpbmQgdG8gdGhpcyB3aWRnZXQgYXQgZXZlbnQgU0VRVUVOQ0UgYSBjYWxsIHRvIGZ1bmN0aW9uIEZVTkMuCgogICAgICAgIFNFUVVFTkNFIGlzIGEgc3RyaW5nIG9mIGNvbmNhdGVuYXRlZCBldmVudAogICAgICAgIHBhdHRlcm5zLiBBbiBldmVudCBwYXR0ZXJuIGlzIG9mIHRoZSBmb3JtCiAgICAgICAgPE1PRElGSUVSLU1PRElGSUVSLVRZUEUtREVUQUlMPiB3aGVyZSBNT0RJRklFUiBpcyBvbmUKICAgICAgICBvZiBDb250cm9sLCBNb2QyLCBNMiwgU2hpZnQsIE1vZDMsIE0zLCBMb2NrLCBNb2Q0LCBNNCwKICAgICAgICBCdXR0b24xLCBCMSwgTW9kNSwgTTUgQnV0dG9uMiwgQjIsIE1ldGEsIE0sIEJ1dHRvbjMsCiAgICAgICAgQjMsIEFsdCwgQnV0dG9uNCwgQjQsIERvdWJsZSwgQnV0dG9uNSwgQjUgVHJpcGxlLAogICAgICAgIE1vZDEsIE0xLiBUWVBFIGlzIG9uZSBvZiBBY3RpdmF0ZSwgRW50ZXIsIE1hcCwKICAgICAgICBCdXR0b25QcmVzcywgQnV0dG9uLCBFeHBvc2UsIE1vdGlvbiwgQnV0dG9uUmVsZWFzZQogICAgICAgIEZvY3VzSW4sIE1vdXNlV2hlZWwsIENpcmN1bGF0ZSwgRm9jdXNPdXQsIFByb3BlcnR5LAogICAgICAgIENvbG9ybWFwLCBHcmF2aXR5IFJlcGFyZW50LCBDb25maWd1cmUsIEtleVByZXNzLCBLZXksCiAgICAgICAgVW5tYXAsIERlYWN0aXZhdGUsIEtleVJlbGVhc2UgVmlzaWJpbGl0eSwgRGVzdHJveSwKICAgICAgICBMZWF2ZSBhbmQgREVUQUlMIGlzIHRoZSBidXR0b24gbnVtYmVyIGZvciBCdXR0b25QcmVzcywKICAgICAgICBCdXR0b25SZWxlYXNlIGFuZCBERVRBSUwgaXMgdGhlIEtleXN5bSBmb3IgS2V5UHJlc3MgYW5kCiAgICAgICAgS2V5UmVsZWFzZS4gRXhhbXBsZXMgYXJlCiAgICAgICAgPENvbnRyb2wtQnV0dG9uLTE+IGZvciBwcmVzc2luZyBDb250cm9sIGFuZCBtb3VzZSBidXR0b24gMSBvcgogICAgICAgIDxBbHQtQT4gZm9yIHByZXNzaW5nIEEgYW5kIHRoZSBBbHQga2V5IChLZXlQcmVzcyBjYW4gYmUgb21pdHRlZCkuCiAgICAgICAgQW4gZXZlbnQgcGF0dGVybiBjYW4gYWxzbyBiZSBhIHZpcnR1YWwgZXZlbnQgb2YgdGhlIGZvcm0KICAgICAgICA8PEFTdHJpbmc+PiB3aGVyZSBBU3RyaW5nIGNhbiBiZSBhcmJpdHJhcnkuIFRoaXMKICAgICAgICBldmVudCBjYW4gYmUgZ2VuZXJhdGVkIGJ5IGV2ZW50X2dlbmVyYXRlLgogICAgICAgIElmIGV2ZW50cyBhcmUgY29uY2F0ZW5hdGVkIHRoZXkgbXVzdCBhcHBlYXIgc2hvcnRseQogICAgICAgIGFmdGVyIGVhY2ggb3RoZXIuCgogICAgICAgIEZVTkMgd2lsbCBiZSBjYWxsZWQgaWYgdGhlIGV2ZW50IHNlcXVlbmNlIG9jY3VycyB3aXRoIGFuCiAgICAgICAgaW5zdGFuY2Ugb2YgRXZlbnQgYXMgYXJndW1lbnQuIElmIHRoZSByZXR1cm4gdmFsdWUgb2YgRlVOQyBpcwogICAgICAgICJicmVhayIgbm8gZnVydGhlciBib3VuZCBmdW5jdGlvbiBpcyBpbnZva2VkLgoKICAgICAgICBBbiBhZGRpdGlvbmFsIGJvb2xlYW4gcGFyYW1ldGVyIEFERCBzcGVjaWZpZXMgd2hldGhlciBGVU5DIHdpbGwKICAgICAgICBiZSBjYWxsZWQgYWRkaXRpb25hbGx5IHRvIHRoZSBvdGhlciBib3VuZCBmdW5jdGlvbiBvciB3aGV0aGVyCiAgICAgICAgaXQgd2lsbCByZXBsYWNlIHRoZSBwcmV2aW91cyBmdW5jdGlvbi4KCiAgICAgICAgQmluZCB3aWxsIHJldHVybiBhbiBpZGVudGlmaWVyIHRvIGFsbG93IGRlbGV0aW9uIG9mIHRoZSBib3VuZCBmdW5jdGlvbiB3aXRoCiAgICAgICAgdW5iaW5kIHdpdGhvdXQgbWVtb3J5IGxlYWsuCgogICAgICAgIElmIEZVTkMgb3IgU0VRVUVOQ0UgaXMgb21pdHRlZCB0aGUgYm91bmQgZnVuY3Rpb24gb3IgbGlzdAogICAgICAgIG9mIGJvdW5kIGV2ZW50cyBhcmUgcmV0dXJuZWQudAQAAABiaW5kKAIAAABSRgEAAFJ7AAAAKAQAAABSRgAAAFJDAQAAUo8AAABSsQAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkcBAADlAwAAcwIAAAAAJ2MDAAAAAwAAAAUAAABDAAAAczYAAAB8AABqAABqAQBkAQB8AABqAgB8AQBkAgCDBAABfAIAcjIAfAAAagMAfAIAgwEAAW4AAGQDAFMoBAAAAHNXAAAAVW5iaW5kIGZvciB0aGlzIHdpZGdldCBmb3IgZXZlbnQgU0VRVUVOQ0UgIHRoZQogICAgICAgIGZ1bmN0aW9uIGlkZW50aWZpZWQgd2l0aCBGVU5DSUQuUkcBAABSOQAAAE4oBAAAAFI+AAAAUkQAAABSewAAAFJYAAAAKAMAAABSRgAAAFJDAQAAUkUBAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQGAAAAdW5iaW5kDQQAAHMGAAAAAAMcAQYBYwQAAAAEAAAABgAAAEMAAABzGQAAAHwAAGoAAGQEAHwBAHwCAHwDAGQDAIMFAFMoBQAAAHMdAQAAQmluZCB0byBhbGwgd2lkZ2V0cyBhdCBhbiBldmVudCBTRVFVRU5DRSBhIGNhbGwgdG8gZnVuY3Rpb24gRlVOQy4KICAgICAgICBBbiBhZGRpdGlvbmFsIGJvb2xlYW4gcGFyYW1ldGVyIEFERCBzcGVjaWZpZXMgd2hldGhlciBGVU5DIHdpbGwKICAgICAgICBiZSBjYWxsZWQgYWRkaXRpb25hbGx5IHRvIHRoZSBvdGhlciBib3VuZCBmdW5jdGlvbiBvciB3aGV0aGVyCiAgICAgICAgaXQgd2lsbCByZXBsYWNlIHRoZSBwcmV2aW91cyBmdW5jdGlvbi4gU2VlIGJpbmQgZm9yIHRoZSByZXR1cm4gdmFsdWUuUkcBAAB0AwAAAGFsbGkAAAAAKAIAAABzBAAAAGJpbmRzAwAAAGFsbCgBAAAAUkYBAAAoBAAAAFJGAAAAUkMBAABSjwAAAFKxAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CAAAAGJpbmRfYWxsEwQAAHMCAAAAAAVjAgAAAAIAAAAFAAAAQwAAAHMdAAAAfAAAagAAagEAZAEAZAIAfAEAZAMAgwQAAWQEAFMoBQAAAHM4AAAAVW5iaW5kIGZvciBhbGwgd2lkZ2V0cyBmb3IgZXZlbnQgU0VRVUVOQ0UgYWxsIGZ1bmN0aW9ucy5SRwEAAFJJAQAAUjkAAABOKAIAAABSPgAAAFJEAAAAKAIAAABSRgAAAFJDAQAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHVuYmluZF9hbGwZBAAAcwIAAAAAAmMFAAAABQAAAAYAAABDAAAAcx8AAAB8AABqAABkAQB8AQBmAgB8AgB8AwB8BABkAgCDBQBTKAMAAABzPQEAAEJpbmQgdG8gd2lkZ2V0cyB3aXRoIGJpbmR0YWcgQ0xBU1NOQU1FIGF0IGV2ZW50CiAgICAgICAgU0VRVUVOQ0UgYSBjYWxsIG9mIGZ1bmN0aW9uIEZVTkMuIEFuIGFkZGl0aW9uYWwKICAgICAgICBib29sZWFuIHBhcmFtZXRlciBBREQgc3BlY2lmaWVzIHdoZXRoZXIgRlVOQyB3aWxsIGJlCiAg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ZSBmaXJzdCBmb3JtIHJldHVybnMgYSBsaXN0IG9mIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBmbGFncyBhbmQKICAgICAgICB0aGVpciB2YWx1ZXMuIFRoZSBzZWNvbmQgZm9ybSByZXR1cm5zIHRoZSB2YWx1ZSBmb3IgdGhlIHNwZWNpZmljCiAgICAgICAgb3B0aW9uLiBUaGUgdGhpcmQgZm9ybSBzZXRzIG9uZSBvciBtb3JlIG9mIHRoZSB2YWx1ZXMuIFRoZSB2YWx1ZXMKICAgICAgICBhcmUgYXMgZm9sbG93czoKCiAgICAgICAgT24gV2luZG93cywgLWRpc2FibGVkIGdldHMgb3Igc2V0cyB3aGV0aGVyIHRoZSB3aW5kb3cgaXMgaW4gYQogICAgICAgIGRpc2FibGVkIHN0YXRlLiAtdG9vbHdpbmRvdyBnZXRzIG9yIHNldHMgdGhlIHN0eWxlIG9mIHRoZSB3aW5kb3cKICAgICAgICB0byB0b29sd2luZG93IChhcyBkZWZpbmVkIGluIHRoZSBNU0ROKS4gLXRvcG1vc3QgZ2V0cyBvciBzZXRzCiAgICAgICAgd2hldGhlciB0aGlzIGlzIGEgdG9wbW9zdCB3aW5kb3cgKGRpc3BsYXlzIGFib3ZlIGFsbCBvdGhlcgogICAgICAgIHdpbmRvd3MpLgoKICAgICAgICBPbiBNYWNpbnRvc2gsIFhYWFhYCgogICAgICAgIE9uIFVuaXgsIHRoZXJlIGFyZSBjdXJyZW50bHkgbm8gc3BlY2lhbCBhdHRyaWJ1dGUgdmFsdWVzLgogICAgICAgIFLSAQAAdAoAAABhdHRyaWJ1dGVzKAMAAABSewAAAFI+AAAAUkQAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAAd21fYXR0cmlidXRlc/4FAABzBAAAAAASFgFjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAgwQAUygDAAAAc1YAAABTdG9yZSBOQU1FIGluIFdNX0NMSUVOVF9NQUNISU5FIHByb3BlcnR5IG9mIHRoaXMgd2lkZ2V0LiBSZXR1cm4KICAgICAgICBjdXJyZW50IHZhbHVlLlLSAQAAdAYAAABjbGllbnQoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSSAAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAkAAAB3bV9jbGllbnQUBgAAcwIAAAAAA2MBAAAAAwAAAAQAAABHAAAAc1AAAAB0AAB8AQCDAQBkAQBrBAByHgB8AQBmAQB9AQBuAABkAgBkAwB8AABqAQBmAwB8AQAXfQIAdAIAfAAAagMAfAAAagQAagUAfAIAgwEAgwIAUygEAAAAc9sAAABTdG9yZSBsaXN0IG9mIHdpbmRvdyBuYW1lcyAoV0xJU1QpIGludG8gV01fQ09MT1JNQVBXSU5ET1dTIHByb3BlcnR5CiAgICAgICAgb2YgdGhpcyB3aWRnZXQuIFRoaXMgbGlzdCBjb250YWlucyB3aW5kb3dzIHdob3NlIGNvbG9ybWFwcyBkaWZmZXIgZnJvbSB0aGVpcgogICAgICAgIHBhcmVudHMuIFJldHVybiBjdXJyZW50IGxpc3Qgb2Ygd2lkZ2V0cyBpZiBXTElTVCBpcyBlbXB0eS5pAQAAAFLSAQAAdA8AAABjb2xvcm1hcHdpbmRvd3MoBgAAAFINAAAAUnsAAABSBAAAAFKGAAAAUj4AAABSRAAAACgDAAAAUkYAAAB0BQAAAHdsaXN0UnUAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQSAAAAd21fY29sb3JtYXB3aW5kb3dzGQYAAHMIAAAAAAQSAQwBFgFjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAgwQAUygDAAAAc50AAABTdG9yZSBWQUxVRSBpbiBXTV9DT01NQU5EIHByb3BlcnR5LiBJdCBpcyB0aGUgY29tbWFuZAogICAgICAgIHdoaWNoIHNoYWxsIGJlIHVzZWQgdG8gaW52b2tlIHRoZSBhcHBsaWNhdGlvbi4gUmV0dXJuIGN1cnJlbnQKICAgICAgICBjb21tYW5kIGlmIFZBTFVFIGlzIE5vbmUuUtIBAABSvwAAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFIGAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHdtX2NvbW1hbmQiBgAAcwIAAAAABGMBAAAAAQAAAAQAAABDAAAAcxkAAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwBTKAMAAABziAAAAERlaWNvbmlmeSB0aGlzIHdpZGdldC4gSWYgaXQgd2FzIG5ldmVyIG1hcHBlZCBpdCB3aWxsIG5vdCBiZSBtYXBwZWQuCiAgICAgICAgT24gV2luZG93cyBpdCB3aWxsIHJhaXNlIHRoaXMgd2lkZ2V0IGFuZCBnaXZlIGl0IHRoZSBmb2N1cy5S0gEAAHQJAAAAZGVpY29uaWZ5KAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAHdtX2RlaWNvbmlmeSgGAABzAgAAAAADYwIAAAACAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFMoAwAAAHPRAAAAU2V0IGZvY3VzIG1vZGVsIHRvIE1PREVMLiAiYWN0aXZlIiBtZWFucyB0aGF0IHRoaXMgd2lkZ2V0IHdpbGwgY2xhaW0KICAgICAgICB0aGUgZm9jdXMgaXRzZWxmLCAicGFzc2l2ZSIgbWVhbnMgdGhhdCB0aGUgd2luZG93IG1hbmFnZXIgc2hhbGwgZ2l2ZQogICAgICAgIHRoZSBmb2N1cy4gUmV0dXJuIGN1cnJlbnQgZm9jdXMgbW9kZWwgaWYgTU9ERUwgaXMgTm9uZS5S0gEAAHQKAAAAZm9jdXNtb2RlbCgDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAHQFAAAAbW9kZWwoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAAd21fZm9jdXNtb2RlbC0GAABzAgAAAAAEYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHNBAAAAUmV0dXJuIGlkZW50aWZpZXIgZm9yIGRlY29yYXRpdmUgZnJhbWUgb2YgdGhpcyB3aWRnZXQgaWYgcHJlc2VudC5S0gEAAHQFAAAAZnJhbWUoAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAd21fZnJhbWUzBgAAcwIAAAAAAmMCAAAAAgAAAAUAAABDAAAAcxwAAAB8AABqAABqAQBkAQBkAgB8AABqAgB8AQCDBABTKAMAAABzaQAAAFNldCBnZW9tZXRyeSB0byBORVdHRU9NRVRSWSBvZiB0aGUgZm9ybSA9d2lkdGh4aGVpZ2h0K3greS4gUmV0dXJuCiAgICAgICAgY3VycmVudCB2YWx1ZSBpZiBOb25lIGlzIGdpdmVuLlLSAQAAUucAAAAoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAAB0CwAAAG5ld0dlb21ldHJ5KAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHdtX2dlb21ldHJ5NwYAAHMCAAAAAANjBQAAAAUAAAAJAAAAQwAAAHMuAAAAfAAAagAAfAAAagEAagIAZAEAZAIAfAAAagMAfAEAfAIAfAMAfAQAgwcAgwEAUygDAAAAcw8BAABJbnN0cnVjdCB0aGUgd2luZG93IG1hbmFnZXIgdGhhdCB0aGlzIHdpZGdldCBzaGFsbCBvbmx5IGJlCiAgICAgICAgcmVzaXplZCBvbiBncmlkIGJvdW5kYXJpZXMuIFdJRFRISU5DIGFuZCBIRUlHSFRJTkMgYXJlIHRoZSB3aWR0aCBhbmQKICAgICAgICBoZWlnaHQgb2YgYSBncmlkIHVuaXQgaW4gcGl4ZWxzLiBCQVNFV0lEVEggYW5kIEJBU0VIRUlHSFQgYXJlIHRoZQogICAgICAgIG51bWJlciBvZiBncmlkIHVuaXRzIHJlcXVlc3RlZCBpbiBUa19HZW9tZXRyeVJlcXVlc3QuUtIBAABSmQEAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoBQAAAFJGAAAAdAkAAABiYXNlV2lkdGh0CgAAAGJhc2VIZWlnaHR0CAAAAHdpZHRoSW5jdAkAAABoZWlnaHRJbmMoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQHAAAAd21fZ3JpZDwGAABzBgAAAAAHDwEMAWMCAAAAAgAAAAUAAABDAAAAcxwAAAB8AABqAABqAQBkAQBkAgB8AABqAgB8AQCDBABTKAMAAABzfgAAAFNldCB0aGUgZ3JvdXAgbGVhZGVyIHdpZGdldHMgZm9yIHJlbGF0ZWQgd2lkZ2V0cyB0byBQQVRITkFNRS4gUmV0dXJuCiAgICAgICAgdGhlIGdyb3VwIGxlYWRlciBvZiB0aGlzIHdpZGdldCBpZiBOb25lIGlzIGdpdmVuLlLSAQAAdAUAAABncm91cCgDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAHQIAAAAcGF0aE5hbWUoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAd21f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dGUgYW5jaG9yIG9mIHRoaXMgd2lkZ2V0IGJldHdlZW4gMC4wIGFuZCAxLjAKICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlIHRvIHdpZHRoIG9mIG1hc3RlciAoMS4wIGlzIHJpZ2h0IGVkZ2UpCiAgICAgICAgcmVseT1hbW91bnQgLSBsb2NhdGUgYW5jaG9yIG9mIHRoaXMgd2lkZ2V0IGJldHdlZW4gMC4wIGFuZCAxLjAKICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlIHRvIGhlaWdodCBvZiBtYXN0ZXIgKDEuMCBpcyBib3R0b20gZWRnZSkKICAgICAgICBhbmNob3I9TlNFVyAob3Igc3Vic2V0KSAtIHBvc2l0aW9uIGFuY2hvciBhY2NvcmRpbmcgdG8gZ2l2ZW4gZGlyZWN0aW9uCiAgICAgICAgd2lkdGg9YW1vdW50IC0gd2lkdGggb2YgdGhpcyB3aWRnZXQgaW4gcGl4ZWwKICAgICAgICBoZWlnaHQ9YW1vdW50IC0gaGVpZ2h0IG9mIHRoaXMgd2lkZ2V0IGluIHBpeGVsCiAgICAgICAgcmVsd2lkdGg9YW1vdW50IC0gd2lkdGggb2YgdGhpcyB3aWRnZXQgYmV0d2VlbiAwLjAgYW5kIDEuMAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlIHRvIHdpZHRoIG9mIG1hc3RlciAoMS4wIGlzIHRoZSBzYW1lIHdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdGhlIG1hc3RlcikKICAgICAgICByZWxoZWlnaHQ9YW1vdW50IC0gaGVpZ2h0IG9mIHRoaXMgd2lkZ2V0IGJldHdlZW4gMC4wIGFuZCAxLjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmUgdG8gaGVpZ2h0IG9mIG1hc3RlciAoMS4wIGlzIHRoZSBzYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCBhcyB0aGUgbWFzdGVyKQogICAgICAgIGJvcmRlcm1vZGU9Imluc2lkZSIgb3IgIm91dHNpZGUiIC0gd2hldGhlciB0byB0YWtlIGJvcmRlciB3aWR0aCBvZgogICAg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LCBoaWdobGlnaHRjb2xvciwKICAgICAgICAgICAgaGlnaGxpZ2h0dGhpY2tuZXNzLCBpbWFnZSwganVzdGlmeSwKICAgICAgICAgICAgcGFkeCwgcGFkeSwgcmVsaWVmLCByZXBlYXRkZWxheSwKICAgICAgICAgICAgcmVwZWF0aW50ZXJ2YWwsIHRha2Vmb2N1cywgdGV4dCwKICAgICAgICAgICAgdGV4dHZhcmlhYmxlLCB1bmRlcmxpbmUsIHdyYXBsZW5ndGgKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGNvbW1hbmQsIGNvbXBvdW5kLCBkZWZhdWx0LCBoZWlnaHQsCiAgICAgICAgICAgIG92ZXJyZWxpZWYsIHN0YXRlLCB3aWR0aAogICAgICAgIHQGAAAAYnV0dG9uTigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAAJwgAAHMCAAAAABNjAQAAAAIAAAADAAAARwAAAHMaAAAAfAAAagAAagEAZAEAfAAAagIAgwIAAWQAAFMoAgAAAE50DQAAAHRrQnV0dG9uRW50ZXIoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAAB0BQAAAGR1bW15KAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSbAIAADwIAABzAgAAAAABYwEAAAACAAAAAwAAAEcAAABzGgAAAHwAAGoAAGoBAGQBAHwAAGoCAIMCAAFkAABTKAIAAABOdA0AAAB0a0J1dHRvbkxlYXZlKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUm0CAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14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ZDgAhAAAWj4AZDkAhAAAWj8AUlMoOwAAAHM/AAAAQ2FudmFzIHdpZGdldCB0byBkaXNwbGF5IGdyYXBoaWNhbCBlbGVtZW50cyBsaWtlIGxpbmVzIG9yIHRleHQuYwMAAAAEAAAABgAAAEsAAABzHQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAFkAgBTKAMAAABzAQIAAENvbnN0cnVjdCBhIGNhbnZhcyB3aWRnZXQgd2l0aCB0aGUgcGFyZW50IE1BU1RFUi4KCiAgICAgICAgVmFsaWQgcmVzb3VyY2UgbmFtZXM6IGJhY2tncm91bmQsIGJkLCBiZywgYm9yZGVyd2lkdGgsIGNsb3NlZW5vdWdoLAogICAgICAgIGNvbmZpbmUsIGN1cnNvciwgaGVpZ2h0LCBoaWdobGlnaHRiYWNrZ3JvdW5kLCBoaWdobGlnaHRjb2xvciwKICAgICAgICBoaWdobGlnaHR0aGlja25lc3MsIGluc2VydGJhY2tncm91bmQsIGluc2VydGJvcmRlcndpZHRoLAogICAgICAgIGluc2VydG9mZnRpbWUsIGluc2VydG9udGltZSwgaW5zZXJ0d2lkdGgsIG9mZnNldCwgcmVsaWVmLAogICAgICAgIHNjcm9sbHJlZ2lvbiwgc2VsZWN0YmFja2dyb3VuZCwgc2VsZWN0Ym9yZGVyd2lkdGgsIHNlbGVjdGZvcmVncm91bmQsCiAgICAgICAgc3RhdGUsIHRha2Vmb2N1cywgd2lkdGgsIHhzY3JvbGxjb21tYW5kLCB4c2Nyb2xsaW5jcmVtZW50LAogICAgICAgIHlzY3JvbGxjb21tYW5kLCB5c2Nyb2xsaW5jcmVtZW50LnQGAAAAY2FudmFzTigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAAdggAAHMCAAAAAApjAQAAAAIAAAADAAAARwAAAHMhAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAEAF4MBAAFkAgBTKAMAAABzEgAA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AAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAdGFnX2JpbmSpCAAAcwQAAAAABhUBYwMAAAADAAAABgAAAEMAAABzIgAAAHQAAHwAAGoBAGoCAHwAAGoDAGQBAHwBAHwCAIMEAIMBAFMoAgAAAHNyAAAAUmV0dXJuIHRoZSBjYW52YXMgeCBjb29yZGluYXRlIG9mIHBpeGVsIHBvc2l0aW9uIFNDUkVFTlggcm91bmRlZAogICAgICAgIHRvIG5lYXJlc3QgbXVsdGlwbGUgb2YgR1JJRFNQQUNJTkcgdW5pdHMudAcAAABjYW52YXN4KAQAAABSZgAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAAB0BwAAAHNjcmVlbnh0CwAAAGdyaWRzcGFjaW5nKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSlgIAALEIAABzBAAAAAADDAFjAwAAAAMAAAAGAAAAQwAAAHMiAAAAdAAAfAAAagEAagIAfAAAagMAZAEAfAEAfAIAgwQAgwEAUygCAAAAc3IAAABSZXR1cm4gdGhlIGNhbnZhcyB5IGNvb3JkaW5hdGUgb2YgcGl4ZWwgcG9zaXRpb24gU0NSRUVOWSByb3VuZGVkCiAgICAgICAgdG8gbmVhcmVzdCBtdWx0aXBsZSBvZiBHUklEU1BBQ0lORyB1bml0cy50BwAAAGNhbnZhc3koBAAAAFJmAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAHQHAAAAc2NyZWVueVKYAgAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSmQIAALYIAABzBAAAAAADDAFjAQAAAAIAAAAGAAAARwAAAHMyAAAAdAAAdAEAfAAAagIAagMAfAAAagIA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eDEseTEseDIseTIudAQAAABvdmFsKAEAAABSnQIAACgDAAAAUkYAAABSdQAAAFJ2AAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAGNyZWF0ZV9vdmFs2AgAAHMCAAAAAAJjAQAAAAMAAAAEAAAATwAAAHMTAAAAfAAAagAAZAEAfAEAfAIAgwMAUygCAAAAczAAAABDcmVhdGUgcG9seWdvbiB3aXRoIGNvb3JkaW5hdGVzIHgxLHkxLC4uLix4bix5bi50BwAAAHBvbHlnb24oAQAAAFKdAgAAKAMAAABSRgAAAFJ1AAAAUnYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAY3JlYXRlX3BvbHlnb27bCAAAcwIAAAAAAmMBAAAAAwAAAAQAAABPAAAAcxMAAAB8AABqAABkAQB8AQB8AgCDAwBTKAIAAABzLgAAAENyZWF0ZSByZWN0YW5nbGUgd2l0aCBjb29yZGluYXRlcyB4MSx5MSx4Mix5Mi50CQAAAHJlY3RhbmdsZSgBAAAAUp0CAAAoAwAAAFJGAAAAUnUAAABSdgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBAAAABjcmVhdGVfcmVjdGFuZ2xl3ggAAHMCAAAAAAJjAQAAAAMAAAAEAAAATwAAAHMTAAAAfAAAagAAZAEAfAEAfAIAgwMAUygCAAAAcyMAAABDcmVhdGUgdGV4dCB3aXRoIGNvb3JkaW5hdGVzIHgxLHkxLnQEAAAAdGV4dCgBAAAAUp0CAAAoAwAAAFJGAAAAUnUAAABSdgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJl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ay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK8AgAAOAkAAHMCAAAAAAJjAgAAAAMAAAAFAAAASwAAAHMpAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAAAagMAfAEAfAIAgwIAF4MBAFMoAgAAAHPPAAAAUHJpbnQgdGhlIGNvbnRlbnRzIG9mIHRoZSBjYW52YXMgdG8gYSBwb3N0c2NyaXB0CiAgICAgICAgZmlsZS4gVmFsaWQgb3B0aW9uczogY29sb3JtYXAsIGNvbG9ybW9kZSwgZmlsZSwgZm9udG1hcCwKICAgICAgICBoZWlnaHQsIHBhZ2VhbmNob3IsIHBhZ2VoZWlnaHQsIHBhZ2V3aWR0aCwgcGFnZXgsIHBhZ2V5LAogICAgICAgIHJvdGF0ZSwgd2l0ZGgsIHgsIHkudAoAAABwb3N0c2NyaXB0KAQAAABSPgAAAFJEAAAAUnsAAABSoAAAACgDAAAAUkYAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSvQIAADsJAABzBAAAAAAFFQFjAQAAAAIAAAADAAAARwAAAHMhAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAEAF4MBAAFkAgBTKAMAAABzSgAAAFJhaXNlIGFuIGl0ZW0gVEFHT1JJRCBnaXZlbiBpbiBBUkdTCiAgICAgICAgKG9wdGlvbmFsIGFib3ZlIGFub3RoZXIgaXRlbSkuUskAAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQJAAAAdGFnX3JhaXNlQgkAAHMCAAAAAANjAQAAAAIAAAADAAAARwAAAHMhAAAAfAAAagAAagEAfAAAagIAZAEA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Y3RpdmViYWNrZ3JvdW5kLCBhY3RpdmVmb3JlZ3JvdW5kLCBhbmNob3IsCiAgICAgICAgYmFja2dyb3VuZCwgYmQsIGJnLCBiaXRtYXAsIGJvcmRlcndpZHRoLCBjb21tYW5kLCBjdXJzb3IsCiAgICAgICAgZGlzYWJsZWRmb3JlZ3JvdW5kLCBmZywgZm9udCwgZm9yZWdyb3VuZCwgaGVpZ2h0LAogICAgICAgIGhpZ2hsaWdodGJhY2tncm91bmQsIGhpZ2hsaWdodGNvbG9yLCBoaWdobGlnaHR0aGlja25lc3MsIGltYWdlLAogICAgICAgIGluZGljYXRvcm9uLCBqdXN0aWZ5LCBvZmZ2YWx1ZSwgb252YWx1ZSwgcGFkeCwgcGFkeSwgcmVsaWVmLAogICAgICAgIHNlbGVjdGNvbG9yLCBzZWxlY3RpbWFnZSwgc3RhdGUsIHRha2Vmb2N1cywgdGV4dCwgdGV4dHZhcmlhYmxlLAogICAgICAgIHVuZGVybGluZSwgdmFyaWFibGUsIHdpZHRoLCB3cmFwbGVuZ3RoLnQLAAAAY2hlY2tidXR0b25OKAIAAABSZAIAAFJJAAAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAABnCQAAcwIAAAAACmMBAAAAAQAAAAMAAABDAAAAcxoAAAB8AABqAABqAQB8AABqAgBkAQCDAgABZAIAUygDAAAAcxwAAABQdXQgdGhlIGJ1dHRvbiBpbiBvZmYtc3RhdGUudAgAAABkZXNlbGVjdE4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLSAgAAcgkAAHMCAAAAAAJjAQAAAAEAAAADAAAAQwAAAHMaAAAAfAAAagAAagEAfAAAagIAZAEAgwIAAWQCAFMoAwAA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ZnksIHJlbGllZiwgc2VsZWN0YmFja2dyb3VuZCwKICAgICAgICBzZWxlY3Rib3JkZXJ3aWR0aCwgc2VsZWN0Zm9yZWdyb3VuZCwgc2hvdywgc3RhdGUsIHRha2Vmb2N1cywKICAgICAgICB0ZXh0dmFyaWFibGUsIHZhbGlkYXRlLCB2YWxpZGF0ZWNvbW1hbmQsIHZjbWQsIHdpZHRoLAogICAgICAgIHhzY3JvbGxjb21tYW5kLnQFAAAAZW50cnlOKAIAAABSZAIAAFJJAAAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAACECQAAcwIAAAAAC2MDAAAAAwAAAAUAAABDAAAAcyAAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgCDBAABZAIAUygDAAAAcy4AAABEZWxldGUgdGV4dCBmcm9tIEZJUlNUIHRvIExBU1QgKG5vdCBpbmNsdWRlZCkuUrUBAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAdAUAAABmaXJzdHQEAAAAbGFzdCgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrUBAACQCQAAcwIAAAAAAmMBAAAAAQAAAAMAAABDAAAAcxYAAAB8AABqAABqAQB8AABqAgBkAQCDAgBTKAIAAABzEAAAAFJldHVybiB0aGUgdGV4dC5STwAAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uk8AAACTCQAAcwIAAAAAAmMCAAAAAgAAAAQAAABDAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQB8AQCD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fAIAfAMAgwUAAWQCAFMoAwAAAHP5AQAAQ29uc3RydWN0IGEgbGFiZWwgd2lkZ2V0IHdpdGggdGhlIHBhcmVudCBNQVNURVIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGFjdGl2ZWJhY2tncm91bmQsIGFjdGl2ZWZvcmVncm91bmQsIGFuY2hvciwKICAgICAgICAgICAgYmFja2dyb3VuZCwgYml0bWFwLCBib3JkZXJ3aWR0aCwgY3Vyc29yLAogICAgICAgICAgICBkaXNhYmxlZGZvcmVncm91bmQsIGZvbnQsIGZvcmVncm91bmQsCiAgICAgICAgICAgIGhpZ2hsaWdodGJhY2tncm91bmQsIGhpZ2hsaWdodGNvbG9yLAogICAgICAgICAgICBoaWdobGlnaHR0aGlja25lc3MsIGltYWdlLCBqdXN0aWZ5LAogICAgICAgICAgICBwYWR4LCBwYWR5LCByZWxpZWYsIHRha2Vmb2N1cywgdGV4dCwKICAgICAgICAgICAgdGV4dHZhcmlhYmxlLCB1bmRlcmxpbmUsIHdyYXBsZW5ndGgKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGhlaWdodCwgc3RhdGUsIHdpZHRoCgogICAgICAgIHQFAAAAbGFiZWxOKAIAAABSZAIAAFJJAAAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAADXCQAAcwIAAAAAEk4oBQAAAFIrAAAAUiwAAABSLQAAAFIZAAAAUkkAAAAoAAAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UuECAADVCQAAcwQAAAAGAQYBdAcAAABMaXN0Ym94YwAAAAAAAAAAAwAAAEIAAABz7AAAAGUAAFoBAGQAAFoCAGQU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AFodAGQlAGQcAIQBAFoeAGQdAIQAAFofAGQlAGQeAIQBAFogAGUgAFohAGQfAIQAAFoiAGQgAIQAAFojAGQhAIQAAFokAGQiAIQAAFolAGQjAIQAAFomAGQkAIQAAFonAFJTKCYAAABzUAAAAE1lbnUgd2lkZ2V0IHdoaWNoIGFsbG93cyB0byBkaXNwbGF5IG1lbnUgYmFycywgcHVsbC1kb3duIG1lbnVzIGFuZCBwb3AtdXAgbWVudXMuYwMAAAAEAAAABgAAAEsAAABzHQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAFkAgBTKAMAAABzQQEAAENvbnN0cnVjdCBtZW51IHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgTUFTVEVSLgoKICAgICAgICBWYWxpZCByZXNvdXJjZSBuYW1lczogYWN0aXZlYmFja2dyb3VuZCwgYWN0aXZlYm9yZGVyd2lkdGgsCiAgICAgICAgYWN0aXZlZm9yZWdyb3VuZCwgYmFja2dyb3VuZCwgYmQsIGJnLCBib3JkZXJ3aWR0aCwgY3Vyc29yLAogICAgICAgIGRpc2FibGVkZm9yZWdyb3VuZCwgZmcsIGZvbnQsIGZvcmVncm91bmQsIHBvc3Rjb21tYW5kLCByZWxpZWYsCiAgICAgICAgc2VsZWN0Y29sb3IsIHRha2Vmb2N1cywgdGVhcm9mZiwgdGVhcm9mZmNvbW1hbmQsIHRpdGxlLCB0eXBlLnQEAAAAbWVudU4oAgAAAFJkAgAAUkkAAAAoBAAAAFJGAAAAUkcAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAAEsKAABzAgAAAAAHYwEAAAABAAAAAQAAAEMAAABzBAAAAGQAAFMoAQAAAE4oAAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQTAAAAdGtfYmluZEZv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AFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAADJCgAAcwIAAAAAAU4oBQAAAFIrAAAAUiwAAABSLQAAAFIZAAAAUkkAAAAoAAAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UhoDAADHCgAAcwQAAAAGAQYBdAsAAABSYWRpb2J1dHRvbmMAAAAAAAAAAAMAAABCAAAAc0EAAABlAABaAQBkAABaAgBkBgBpAABkAQCEAgBaBABkAgCEAABaBQBkAwCEAABaBgBkBACEAABaBwBkBQCEAABaCABSUygHAAAAc0cAAABSYWRpb2J1dHRvbiB3aWRnZXQgd2hpY2ggc2hvd3Mgb25seSBvbmUgb2Ygc2V2ZXJhbCBidXR0b25zIGluIG9uLXN0YXRlLmMDAAAABAAAAAYAAABLAAAAcx0AAAB0AABqAQB8AAB8AQBkAQB8AgB8AwCDBQABZAIAUygDAAAAc/YBAABDb25zdHJ1Y3QgYSByYWRpb2J1dHRvbiB3aWRnZXQgd2l0aCB0aGUgcGFyZW50IE1BU1RFUi4KCiAgICAgICAgVmFsaWQgcmVzb3VyY2UgbmFtZXM6IGFjdGl2ZWJhY2tncm91bmQsIGFjdGl2ZWZvcmVncm91bmQsIGFuY2hvciwKICAgICAgICBiYWNrZ3JvdW5kLCBiZCwgYmcsIGJpdG1hcCwgYm9yZGVyd2lkdGgsIGNvbW1hbmQsIGN1cnNvciwKICAgICAgICBkaXNhYmxlZGZvcmVncm91bmQsIGZnLCBmb250LCBmb3JlZ3JvdW5kLCBoZWlnaHQsCiAgICAgICAgaGlnaGxpZ2h0YmFja2dyb3VuZCwgaGlnaGxpZ2h0Y29sb3IsIGhpZ2hsaWdodHRoaWNrbmVzcywgaW1hZ2UsCiAgICAgICAgaW5kaWNhdG9yb24sIGp1c3RpZnksIHBhZHgsIHBhZHks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GQAAAFJJAAAAUk8AAABSQwAAAFKbAgAAUh4DAAAoAAAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uh0DAADnCgAAcwwAAAAGAQYBDwoJBwkDDAZ0CQAAAFNjcm9sbGJhcmMAAAAAAAAAAAMAAABCAAAAc1MAAABlAABaAQBkAABaAgBkCABpAABkAQCEAgBaBABkAgCEAABaBQBkAwCEAABaBgBkBACEAABaBwBkBQCEAABaCABkBgCEAABaCQBkBwCEAABaCgBSUygJAAAAcz8AAABTY3JvbGxiYXIgd2lkZ2V0IHdoaWNoIGRpc3BsYXlzIGEgc2xpZGVyIGF0IGEgY2VydGFpbiBwb3NpdGlvbi5jAwAAAAQAAAAGAAAASwAAAHMdAAAAdAAAagEAfAAAfAEAZAEAfAIAfAMAgwUAAWQCAFMoAwAAAHNsAQAAQ29uc3RydWN0IGEgc2Nyb2xsYmFyIHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgTUFTVEVSLgoKICAgICAgICBWYWxpZCByZXNvdXJjZSBuYW1lczogYWN0aXZlYmFja2dyb3VuZCwgYWN0aXZlcmVsaWVmLAogICAgICAgIGJhY2tncm91bmQsIGJkLCBiZywgYm9yZGVyd2lkdGgsIGNvbW1hbmQsIGN1cnNvciwKICAgICAgICBlbGVtZW50Ym9yZGVyd2lkdGgsIGhpZ2hsaWdodGJhY2tncm91bmQsCiAgICAgICAgaGlnaGxpZ2h0Y29sb3IsIGhpZ2hsaWdodHRoaWNrbmVzcywganVtcCwgb3JpZW50LAogICAgICAgIHJlbGllZiwgcmVwZWF0ZGVsYXksIHJlcGVhdGludGVydmFsLCB0YWtlZm9jdXMsCiAgICAgICAgdHJvdWdoY29sb3IsIHdpZHRoLnQJAAAAc2Nyb2xsYmFyTigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZf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AAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAGVkaXRfbW9kaWZpZWSgCwAAcwIAAAAACWMBAAAAAQAAAAIAAABDAAAAcw0AAAB8AABqAABkAQCDAQBTKAIAAABzDAEAAFJlZG8gdGhlIGxhc3QgdW5kb25lIGVkaXQKCiAgICAgICAgV2hlbiB0aGUgdW5kbyBvcHRpb24gaXMgdHJ1ZSwgcmVhcHBsaWVzIHRoZSBsYXN0CiAgICAgICAgdW5kb25lIGVkaXRzIHByb3ZpZGVkIG5vIG90aGVyIGVkaXRzIHdlcmUgZG9uZSBzaW5jZQogICAgICAgIHRoZW4uIEdlbmVyYXRlcyBhbiBlcnJvciB3aGVuIHRoZSByZWRvIHN0YWNrIGlzIGVtcHR5LgogICAgICAgIERvZXMgbm90aGluZyB3aGVuIHRoZSB1bmRvIG9wdGlvbiBpcyBmYWxzZS4KICAgICAgICB0BAAAAHJlZG8oAQAAAFIvAwAAKAEAAABSRgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAkAAABlZGl0X3JlZG+rCwAAcwIAAAAACGMBAAAAAQAAAAIAAABDAAAAcw0AAAB8AABqAABkAQCDAQBTKAIAAABzKAAAAENsZWFycyB0aGUgdW5kbyBhbmQgcmVkbyBzdGFja3MKICAgICAgICB0BQAAAHJlc2V0KAEAAABSLwMAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQKAAAAZWRpdF9yZXNldLULAABzAgAAAAADYwEAAAABAAAAAgAAAEMAAABzDQAAAHwAAGoAAGQBAIMBAFMoAgAAAHNuAAAASW5zZXJ0cyBhIHNlcGFyYXRvciAoYm91bmRh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AFoQAGQOAIQAAFoRAGQPAIQAAFoSAGQRAGQQAIQBAFoTAFJTKBIAAABzDwAAAHNwaW5ib3ggd2lkZ2V0LmMDAAAABAAAAAYAAABLAAAAcx0AAAB0AABqAQB8AAB8AQBkAQB8AgB8AwCDBQABZAIAUygDAAAAc6QDAABDb25zdHJ1Y3QgYSBzcGluYm94IHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgTUFTVEVSLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBhY3RpdmViYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kLCBib3JkZXJ3aWR0aCwKICAgICAgICAgICAgY3Vyc29yLCBleHBvcnRzZWxlY3Rpb24sIGZvbnQsIGZvcmVncm91bmQsCiAgICAgICAgICAgIGhpZ2hsaWdodGJhY2tncm91bmQsIGhpZ2hsaWdodGNvbG9yLAogICAgICAgICAgICBoaWdobGlnaHR0aGlja25lc3MsIGluc2VydGJhY2tncm91bmQsCiAgICAgICAgICAgIGluc2VydGJvcmRlcndpZHRoLCBpbnNlcnRvZmZ0aW1lLAogICAgICAgICAgICBpbnNlcnRvbnRpbWUsIGluc2VydHdpZHRoLCBqdXN0aWZ5LCByZWxpZWYsCiAgICAgICAgICAgIHJlcGVhdGRlbGF5LCByZXBlYXRpbnRlcnZhbCwKICAgICAgICAgICAgc2VsZWN0YmFja2dyb3VuZCwgc2VsZWN0Ym9yZGVyd2lkdGgKICAgICAgICAgICAgc2VsZWN0Zm9yZWdyb3VuZCwgdGFrZWZvY3VzLCB0ZXh0dmFyaWFibGUKICAgICAgICAgICAgeHNjcm9sbGNvbW1hbmQuCgogICAgICAgIFdJREdFVC1TUEVDSUZJQyBPUFRJT05TCgogICAgICAgICAgICBidXR0b25iYWNrZ3JvdW5kLCBidXR0b25jdXJzb3IsCiAgICAgICAgICAgIGJ1dHRvbmRvd25yZWxpZWYsIGJ1dHRvbnVwcmVsaWVmLAogICAgICAgICAgICBjb21tYW5kLCBkaXNhYmxlZGJhY2tncm91bmQsCiAgICAgICAgICAgIGRpc2FibGVkZm9yZWdyb3VuZCwgZm9ybWF0LCBmcm9tLAogICAgICAg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Y3Rpb24uUsACAAAoAAAAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLAAgAAig0AAHMEAAAAAAIGAWMCAAAAAgAAAAMAAABDAAAAcxAAAAB8AABqAABkAQB8AQCDAgBTKAIAAABz9gAAAFJlY29yZHMgeCBhbmQgdGhlIGN1cnJlbnQgdmlldyBpbiB0aGUgc3BpbmJveCB3aW5kb3c7CgogICAgICAgIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBsYXRlciBzY2FuIGRyYWd0byBjb21tYW5kcy4KICAgICAgICBUeXBpY2FsbHkgdGhpcyBjb21tYW5kIGlzIGFzc29jaWF0ZWQgd2l0aCBhIG1vdXNlIGJ1dHRvbgogICAgICAgIHByZXNzIGluIHRoZSB3aWRnZXQuIEl0IHJldHVybnMgYW4gZW1wdHkgc3RyaW5nLgogICAgICAgIFLBAgAAKAEAAABSwAIAACgCAAAAUkYAAABSLAEAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UsICAACPDQAAcwIAAAAAB2MCAAAAAgAAAAMAAABDAAAAcxAAAAB8AABqAABkAQB8AQCDAgBTKAIAAABztAEAAENvbXB1dGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgZ2l2ZW4geCBhcmd1bWVudAogICAgICAgIGFuZCB0aGUgeCBhcmd1bWVudCB0byB0aGUgbGFzdCBzY2FuIG1hcmsgY29tbWFuZAoKICAgICAgICBJdCB0aGVuIGFkanVzdHMgdGhlIHZpZXcgbGVmdCBvciByaWdodCBieSAxMCB0aW1lcyB0aGUKICAgICAgICBkaWZmZXJlbmNlIGluIHgtY29vcmRpbmF0ZXMuIFRoaXMgY29tbWFuZCBpcyB0eXBpY2FsbHkKICAgICAgICBhc3NvY2lhdGVkIHdpdGggbW91c2UgbW90aW9uIGV2ZW50cyBpbiB0aGUgd2lkZ2V0LCB0bwogICAgICAgIHByb2R1Y2UgdGhlIGVmZmVjdCBvZiBkcmFnZ2luZyB0aGUgc3BpbmJveCBhdCBoaWdoIHNwZWVkCiAgICAgICAgdGhyb3VnaCB0aGUgd2luZG93LiBUaGUgcmV0dXJuIHZhbHVlIGlzIGFuIGVtcHR5IHN0cmluZy4KICAgICAgICBSwwIAACgBAAAAUsACAAAoAgAAAFJGAAAAUiwBAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLFAgAAmA0AAHMCAAAAAApjAQAAAAIAAAAEAAAARwAAAHMsAAAAfAAAagAAfAAAagEAagIAfAAAagMAZAEAZgIAfAEAF4MBAIMBAHArAGQCAFMoAwAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uUrsAAAAoAAAAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK7AAAApA0AAHMEAAAAAAIGAWMCAAAAAgAAAAMAAABDAAAAcxAAAAB8AABqAABkAQB8AQCDAgBTKAIAAABzEwIAAExvY2F0ZSB0aGUgZW5kIG9mIHRoZSBzZWxlY3Rpb24gbmVhcmVzdCB0byB0aGUgY2hhcmFjdGVyCiAgICAgICAgZ2l2ZW4gYnkgaW5kZXgsCgogICAgICAgIFRoZW4gYWRqdXN0IHRoYXQgZW5kIG9mIHRoZSBzZWxlY3Rpb24gdG8gYmUgYXQgaW5kZXgKICAgICAgICAoaS5lIGluY2x1ZGluZyBidXQgbm90IGdvaW5nIGJleW9uZCBpbmRleCkuIFRoZSBvdGhlcgogICAgICAgIGVuZCBvZiB0aGUgc2VsZWN0aW9uIGlzIG1hZGUgdGhlIGFuY2hvciBwb2ludCBmb3IgZnV0dXJlCiAgICAgICAgc2VsZWN0IHRvIGNvbW1hbmRzLiBJZiB0aGUgc2VsZWN0aW9uIGlzbid0IGN1cnJlbnRseSBpbgogICAgICAgIHRoZSBzcGluYm94LCB0aGVuIGEgbmV3IHNlbGVjdGlvbiBpcyBjcmVhdGVkIHRvIGluY2x1ZGUKICAgICAgICB0aGUgY2hhcmFjdGVycyBiZXR3ZWVuIGluZGV4IGFuZCB0aGUgbW9zdCByZWNlbnQgc2VsZWN0aW9uCiAgICAgICAgYW5jaG9yIHBvaW50LCBpbmNsdXNpdmUuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nLgogICAgICAgIFLHAgAAKAEAAABSuwAAACgCAAAAUkYAAABSoQEAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UtgCAACpDQAAcwIAAAAADGMBAAAAAQAAAAIAAABDAAAAcw0AAAB8AABqAABkAQCDAQBTKAIAAABzjAAAAENsZWFyIHRoZSBzZWxlY3Rpb24KCiAgICAgICAgSWYgdGhlIHNlbGVjdGlvbiBpc24ndCBpbiB0aGlzIHdpZGdldCB0aGVuIHRoZQogICAgICAgIGNvbW1hbmQgaGFzIG5vIGVmZmVjdC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuCiAgICAgICAgUqIAAAAoAQAAAFK7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrwAAAC3DQAAcwIAAAAABmMCAAAAAgAAAAMAAABDAAAAcxAAAAB8AABqAABkAQB8AQCDAgBTKAIAAABziwAAAFNldHMgb3IgZ2V0cyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGVsZW1lbnQuCgogICAgICAgIElmIGEgc3BpbmJ1dHRvbiBlbGVtZW50IGlzIHNwZWNpZmll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AQAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSHgMAAAMOAABzAgAAAAAKYwEAAAACAAAABAAAAEcAAABzLAAAAHwAAGoAAHwAAGoBAGoCAHwAAGoDAGQBAGYCAHwBABeDAQCDAQBwKwBkAgBTKAMAAABzEgAAAEludGVybmFsIGZ1bmN0aW9uLnQFAAAAcHJveHkoAAAAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKQAwAADw4AAHMEAAAAAAIGAWMBAAAAAQAAAAIAAABDAAAAcw0AAAB8AABqAABkAQCDAQBTKAIAAABzQgAAAFJldHVybiB0aGUgeCBhbmQgeSBwYWlyIG9mIHRoZSBtb3N0IHJlY2VudCBwcm94eSBsb2NhdGlvbgogICAgICAgIHQFAAAAY29vcmQoAQAAAFKQAwAAKAEAAABSRgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAABwcm94eV9jb29yZBQOAABzAgAAAAADYwEAAAABAAAAAgAAAEMAAABzDQAAAHwAAGoAAGQBAIMBAFMoAgAAAHMrAAAAUmVtb3ZlIHRoZSBwcm94eSBmcm9tIHRoZSBkaXNwbGF5LgogICAgICAgIFJRAgAAKAEAAABSkAMAACgBAAAAUkYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAcHJveHlfZm9yZ2V0GQ4AAHMCAAAAAANj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YmluZyBhbGwKICAgICAgICBvZiB0aGUgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIHBhdGhOYW1lLiAgSWYgb3B0aW9uIGlzCiAgICAgICAgc3BlY2lmaWVkIHdpdGggbm8gdmFsdWUsIHRoZW4gdGhlIGNvbW1hbmQgcmV0dXJucyBhIGxpc3QKICAgICAgICBkZXNjcmliaW5nIHRoZSBvbmUgbmFtZWQgb3B0aW9uICh0aGlzIGxpc3Qgd2lsbCBiZSBpZGVudGljYWwKICAgICAgICB0byB0aGUgY29ycmVzcG9uZGluZyBzdWJsaXN0IG9mIHRoZSB2YWx1ZSByZXR1cm5lZCBpZiBubwogICAgICAgIG9wdGlvbiBpcyBzcGVjaWZpZWQpLiBJZiBvbmUgb3IgbW9yZSBvcHRpb24tdmFsdWUgcGFpcnMgYXJlCiAgICAgICAgc3BlY2lmaWVkLCB0aGVuIHRoZSBjb21tYW5kIG1vZGlmaWVzIHRoZSBnaXZlbiB3aWRnZXQKICAgICAgICBvcHRpb24ocykgdG8gaGF2ZSB0aGUgZ2l2ZW4gdmFsdWUocyk7IGluIHRoaXMgY2FzZSB0aGUKICAgICAgICBjb21tYW5kIHJldHVybnMgYW4gZW1wdHkgc3RyaW5nLiBUaGUgZm9sbG93aW5nIG9wdGlvbnMKICAgICAgICBhcmUgc3VwcG9ydGVkOgoKICAgICAgICBhZnRlciB3aW5kb3cKICAgICAgICAgICAgSW5zZXJ0IHRoZSB3aW5kb3cgYWZ0ZXIgdGhlIHdpbmRvdyBzcGVjaWZpZWQuIHdpbmRvdwogICAgICAgICAgICBzaG91bGQgYmUgdGhlIG5hbWUgb2YgYSB3aW5kb3cgYWxyZWFkeSBtYW5hZ2VkIGJ5IHBhdGhOYW1lLgogICAgICAgIGJlZm9yZSB3aW5kb3cKICAgICAgICAgICAgSW5zZXJ0IHRoZSB3aW5kb3cgYmVmb3JlIHRoZSB3aW5kb3cgc3BlY2lmaWVkLiB3aW5kb3cKICAgICAgICAgICAgc2hvdWxkIGJlIHRoZSBuYW1lIG9mIGEgd2luZG93IGFscmVhZHkgbWFuYWdlZCBieSBwYXRoTmFtZS4KICAgICAgICBoZWlnaHQgc2l6ZQogICAgICAgICAgICBTcGVjaWZ5IGEgaGVpZ2h0IGZvciB0aGUgd2luZG93LiBUaGUgaGVpZ2h0IHdpbGwgYmUgdGhlCiAgICAgICAgICAgIG91dGVyIGRpbWVuc2lvbiBvZiB0aGUgd2luZG93IGluY2x1ZGluZyBpdHMgYm9yZGVyLCBpZgogICAgICAgICAgICBhbnkuIElmIHNpemUgaXMgYW4gZW1wdHkgc3RyaW5nLCBvciBpZiAtaGVpZ2h0IGlzIG5vdAogICAgICAgICAgICBzcGVjaWZpZWQsIHRoZW4gdGhlIGhlaWdodCByZXF1ZXN0ZWQgaW50ZXJuYWxseSBieSB0aGUKICAgICAgICAgICAgd2luZG93IHdpbGwgYmUgdXNlZCBpbml0aWFsbHk7IHRoZSBoZWlnaHQgbWF5IGxhdGVyIGJlCiAgICAgICAgICAgIGFkanVzdGVkIGJ5IHRoZSBtb3ZlbWVudCBvZiBzYXNoZXMgaW4gdGhlIHBhbmVkd2luZG93LgogICAgICAgICAgICBTaXplIG1heSBiZSBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgVGtfR2V0UGl4ZWxzLgogICAgICAgIG1pbnNpemUgbgogICAgICAgICAgICBTcGVjaWZpZXMgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgd2luZG93IGNhbm5vdCBiZSBtYWRlCiAgICAgICAgICAgIGxlc3MgdGhhbiBuLiBUaGlzIGNvbnN0cmFpbnQgb25seSBhZmZlY3RzIHRoZSBzaXplIG9mCiAgICAgICAgICAgIHRoZSB3aWRnZXQgaW4gdGhlIHBhbmVkIGRpbWVuc2lvbiAtLSB0aGUgeCBkaW1lbnNpb24KICAgICAgICAgICAgZm9yIGhvcml6b250YWwgcGFuZWR3aW5kb3dzLCB0aGUgeSBkaW1lbnNpb24gZm9yCiAgICAgICAgICAgIHZlcnRpY2FsIHBhbmVkd2luZG93cy4gTWF5IGJlIGFueSB2YWx1ZSBhY2NlcHRlZCBieQogICAgICAgICAgICBUa19HZXRQaXhlbHMuCiAgICAgICAgcGFkeCBuCiAgICAgICAgICAgIFNwZWNpZmllcyBhIG5vbi1uZWdhdGl2ZSB2YWx1ZSBpbmRpY2F0aW5nIGhvdyBtdWNoCiAgICAgICAgICAgIGV4dHJhIHNwYWNlIHRvIGxlYXZlIG9uIGVhY2ggc2lkZSBvZiB0aGUgd2luZG93IGluCiAgICAgICAgICAgIHRoZSBYLWRpcmVjdGlvbi4gVGhlIHZhbHVlIG1heSBoYXZlIGFueSBvZiB0aGUgZm9ybXMKICAgICAgICAgICAgYWNjZXB0ZWQgYnkgVGtfR2V0UGl4ZWxzLgogICAgICAgIHBhZHkgbgogICAgICAgICAgICBTcGVjaWZpZXMgYSBub24tbmVnYXRpdmUgdmFsdWUgaW5kaWNhdGluZyBob3cgbXVjaAogICAgICAgICAgICBleHRyYSBzcGFjZSB0byBsZWF2ZSBvbiBlYWNoIHNpZGUgb2YgdGhlIHdpbmRvdyBpbgogICAgICAgICAgICB0aGUgWS1kaXJlY3Rpb24uIFRoZSB2YWx1ZSBtYXkgaGF2ZSBhbnkgb2YgdGhlIGZvcm1zCiAgICAgICAgICAgIGFjY2VwdGVkIGJ5IFRrX0dldFBpeGVscy4KICAgICAgICBzdGlja3kgc3R5bGUKICAgICAgICAgICAgSWYgYSB3aW5kb3cncyBwYW5lIGlzIGxhcmdlciB0aGFuIHRoZSByZXF1ZXN0ZWQKICAgICAgICAgICAgZGltZW5zaW9ucyBvZiB0aGUgd2luZG93LCB0aGlzIG9wdGlvbiBtYXkgYmUgdXNlZAogICAgICAgICAgICB0byBwb3NpdGlvbiAob3Igc3RyZXRjaCkgdGhlIHdpbmRvdyB3aXRoaW4gaXRzIHBhbmUuCiAgICAgICAgICAgIFN0eWxlIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgemVybyBvciBtb3JlIG9mIHRoZQogICAgICAgICAgICBjaGFyYWN0ZXJzIG4sIHMsIGUgb3Igdy4gVGhlIHN0cmluZyBjYW4gb3B0aW9uYWxseQogICAgICAgICAgICBjb250YWlucyBzcGFjZXMgb3IgY29tbWFzLCBidXQgdGhleSBhcmUgaWdub3JlZC4gRWFjaAogICAgICAgICAgICBsZXR0ZXIgcmVmZXJzIHRvIGEgc2lkZSAobm9ydGgsIHNvdXRoLCBlYXN0LCBvciB3ZXN0KQogICAgICAgICAgICB0aGF0IHRoZSB3aW5kb3cgd2lsbCAic3RpY2siIHRvLiBJZiBib3RoIG4gYW5kIHMKICAgICAgICAgICAgKG9yIGUgYW5kIHcpIGFyZSBzcGVjaWZpZWQsIHRoZSB3aW5kb3cgd2lsbCBiZQogICAgICAgICAgICBzdHJldGNoZWQgdG8gZmlsbCB0aGUgZW50aXJlIGhlaWdodCAob3Igd2lkdGgpIG9mCiAgICAgICAgICAgIGl0cyBjYXZpdHkuCiAgICAgICAgd2lkdGggc2l6ZQogICAgICAgICAgICBTcGVjaWZ5IGEgd2lkdGggZm9yIHRoZSB3aW5kb3cuIFRoZSB3aWR0aCB3aWxsIGJlCiAgICAgICAgICAgIHRoZSBvdXRlciBkaW1lbnNpb24gb2YgdGhlIHdpbmRvdyBpbmNsdWRpbmcgaXRzCiAgICAgICAgICAgIGJvcmRlciwgaWYgYW55LiBJZiBzaXplIGlzIGFuIGVtcHR5IHN0cmluZywgb3IKICAgICAgICAgICAgaWYgLXdpZHRoIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIHdpZHRoIHJlcXVlc3RlZAogICAgICAgICAgICBpbnRlcm5hbGx5IGJ5IHRoZSB3aW5kb3cgd2lsbCBiZSB1c2VkIGluaXRpYWxseTsgdGhlCiAgICAgICAgICAgIHdpZHRoIG1heSBsYXRlciBiZSBhZGp1c3RlZCBieSB0aGUgbW92ZW1lbnQgb2Ygc2FzaGVzCiAgICAgICAgICAgIGluIHRoZSBwYW5lZHdpbmRvdy4gU2l6ZSBtYXkgYmUgYW55IHZhbHVlIGFjY2VwdGVkIGJ5CiAgICAgICAgICAgIFRrX0dldFBpeGVscy4KCiAgICAgICAgdA0AAABwYW5lY29uZmlndXJlaQAAAABpAQAAAFJXAQAATigIAAAAUhkAAABSPgAAAFJbAAAAUkQAAABSewAAAFIVAAAAUh4AAABSoAAAACgFAAAAUkYAAABSgQIAAFIkAAAAUnYAAABSLAEAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UpoDAABKDgAAcxoAAAAARBMBBgEMAQ8BEwEpAQQBGQESARwBFwEYAWMBAAAAAQAAAAMAAABDAAAAcxYAAAB8AABqAABqAQB8AABqAgBkAQCDAgBTKAIAAABzKwAAAFJldHVybnMgYW4gb3JkZXJlZCBsaXN0IG9mIHRoZSBjaGlsZCBwYW5lcy50BQAAAHBhbmVzKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSmwMAAJ0OAABzAgAAAAACTigVAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFKxAAAAUnAAAABSUQIAAFIeAwAAUpADAABSkgMAAFKTAwAAUpQDAABSlQMAAFKWAwAAUpcDAABSmAMAAFKZAwAAUpoDAAB0CgAAAHBhbmVjb25maWdSmwMAACgAAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSjgMAAN8NAABzJAAAAAYBBgEPEAkKCQYGAgkMCQUJBQkFCQUJBQkOCQcJBQkIDFEGAnQKAAAAU3R1ZGJ1dHRvbmMAAAAAAAAAAAMAAABCAAAAcxcAAABlAABaAQBkAQBpAABkAACEAgBaAwBSUygCAAAAYwMAAAAEAAAABgAAAEsAAABzaQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAF8AABqAgBkAgB8AABqAwCDAgABfAAAagIAZAMAfAAAagQAgwIAAXwAAGoCAGQEAHwAAGoFAIMCAAF8AABqAgBkBQB8AABqBgCDAgABZAAAUygGAAAATnQKAAAAc3R1ZGJ1dHRvbnMLAAAAPEFueS1FbnRlcj5zCwAAADxBbnktTGVhdmU+cwMAAAA8MT5zEQAAADxCdXR0b25SZWxlYXNlLTE+KAcAAABSZAIAAFJJAAAAUkcBAABSbAIAAFJuAgAAUm8CAABScAIAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAApQ4AAHMKAAAAAAEZARMBEwETAU4oBAAAAFIrAAAAUiwAAABSGQAAAFJJAAAAKAAAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKdAwAApA4AAHMCAAAABgF0CQAAAFRyaWJ1dHRvbmMAAAAAAAAAAAMAAABCAAAAcxcAAABlAABaAQBkAQBpAABkAACEAgBaAwBSUygCAAAAYwMAAAAEAAAABgAAAEsAAABzhQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAF8AABqAgBkAgB8AABqAwCDAgABfAAAagIAZAMAfAAAagQAgwIAAXwAAGoCAGQEAHwAAGoFAIMCAAF8AABqAgBkBQB8AABqBgCDAgABfAAAZAYAGXwAAGQHADx8AABkBgAZfAAAZAgAPGQAAFMoCQAAAE50CQAAAHRyaWJ1dHRvbnMLAAAAPEFueS1FbnRlcj5zCwAAADxBbnktTGVhdmU+cwMAAAA8MT5zEQAAADxCdXR0b25SZWxlYXNlLTE+dAIAAABiZ3QCAAAAZmd0EAAAAGFjdGl2ZWJhY2tncm91bmQoBwAAAFJkAgAAUkkAAABSRwEAAFJsAgAAUm4CAABSbwIAAFJwAgAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzVgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAACtDgAAcw4AAAAAARkBEwETARMBEwEOAU4oBAAAAFIrAAAAUiwAAABSGQAAAFJJAAAAKAAAAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKfAwAArA4AAHMCAAAABgFjAAAAAAUAAAAHAAAAQwAAAHPrAAAAdAAAgwAAfQAAZAEAdAEAFn0BAHQBAGQCAGsFAHJNAHkXAHwBAHQCAGQDAGQEAIMCABd9AQBXcU0ABHQDAGsKAHJJAAEBAXFNAFhuAAB0BAB8AABkBQB8AQCDAQF9AgB8AgBqBQCDAAABdAYAfAAAZAUAZAYAZAcAfAAAZAgAhAEAgwECfQMAfAMAagUAgwAAAXwDAHwAAF8HAHQGAHwAAGQFAGQJAGQHAHwAAGoIAIMBAn0EAHwEAGoFAIMAAAF8AABqCQCDAAABfAAAagoAgwAAAXwAAGoLAIMAAAF8AABqDACDAAABZAAAUygKAAAATnMZAAAAVGhpcyBpcyBUY2wvVGsgdmVyc2lvbiAlc2czMzMzMzMgQHMcAAAAClRoaXMgc2hvdWxkIGJlIGEgY2VkaWxsYTog53MKAAAAaXNvLTg4NTktMVKqAgAAcwkAAABDbGljayBtZSFSvwAAAGMBAAAAAQAAAAUAAABTAAAAcx4AAAB8AABqAABqAQBkAQBkAgB8AABqAABkAQAZFoMAAVMoAwAAAE5SqgIAAHMEAAAAWyVzXSgCAAAAdAQAAAB0ZXN0UokBAAAoAQAAAFKGAQAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSjgEAAMUOAABzAgAAAAwBdAQAAABRVUlUKA0AAABSGAIAAHQKAAAAVGNsVmVyc2lvblIPAAAAdAkAAABOYW1lRXJyb3JS4QIAAFKRAQAAUmoCAABSpAMAAFJvAAAAUvYBAABSHwAAAFLhAQAAUmoAAAAoBQAAAFKGAQAAUqoCAABS4gIAAFKkAwAAUk4BAAAoAAAAACgAAAAAc1YAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQFAAAAX3Rlc3S5DgAAcygAAAAAAQkBCgEMAQMBCQEOAQ0BBwESAQoBDwEPAgoBCQEbAQoDCgEKAQoBdAgAAABfX21haW5fXyheAAAAUi0AAAB0CwAAAF9fdmVyc2lvbl9fUn4BAAB0CAAAAHBsYXRmb3JtdAUAAABGaXhUa1IfAgAAdAcAAAB0a2ludGVyUo4AAABSvQEAAHQLAAAAVGtjb25zdGFudHN0AgAAAHJlUiECAABSwAEAAFIzAgAAUjYCAABSNQIAAFKmAwAAdAgAAABSRUFEQUJMRXQIAAAAV1JJVEFCTEV0CQAAAEVYQ0VQVElPTnQRAAAAY3JlYXRlZmlsZWhhbmRsZXJSIAAAAFIZAAAAdBEAAABkZWxldGVmaWxlaGFuZGxlcnQHAAAAY29tcGlsZVIRAAAAUhQAAABSBwAAAFIFAAAAUhgAAABSKQAAAFIqAAAAUi4AAABSLwAAAFIwAAAAUjIAAABSNwAAAFJCAAAAUjgAAABSYQAAAFJiAAAAUmUAAABSZwAAAFJqAAAAUjMAAABSZAAAAFJmAAAAUmgAAABSbQAAAFJdAQAAUsYBAABSzQEAAFLRAQAAUhgCAABSTgIAAFJPAgAAUlQCAABSWAIAAFJdAgAAUmQCAABSZQIAAFJqAgAAUnUCAABSeAIAAFJ5AgAAUnoCAABSewIAAFJ8AgAAUtACAABS1AIAAFLgAgAAUuECAABS4wIAAFLyAgAAUhgDAABSGgMAAFIcAwAAUh0DAABSHwMAAFIjAwAAUmgDAABSbQMAAFJ5AwAAUnwDAABShwMAAFK8AQAAUr4BAABSiAMAAFKMAwAAUo4DAABSnQMAAFKfAwAAUqgDAABSKwAAACgAAAAAKAAAAAAoAAAAAHNWAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CAAAADxtb2R1bGU+HwAAAHPUAAAABgIGAgwBDwIPAQwBBgEJAQoBCgEMAgYCDwEPAgkBCQEJAwMACwENAA0BAwALAQ0ADQMPAQ8CCQQJGAkKAwANAQ0ABAIJEQMADQENAAQCEywGAQYCCQwJBAwIBgETTBYWFhkWExYTDAQGAgYCCQUT/wD/AP8A/wBBExQTFRMVE8oZehUDEy0TMhM1FjgfBxkcFj4JAgkFCQIJAgwGHPEWHRlBFhIWFhxeFnkWBRYFFhsWIRYoHP8ASBMLFiUTPBY8FggJAQkDGZ4WFhbFFggWDQkZDAE=