wao 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- export default "AGFzbQEAAAABwwRUYAF+AX9gAn5+AGAEfn5+fgF/YAN+fn4BfmACfn8AYAF+AGACfn4BfmADfn5+AGACfn4Bf2ABfgF+YAR+fn5+AX5gA35+fgF/YAJ+fwF/YAN+fn8AYAN+f34Bf2ADfn5/AX9gA35/fgF+YAJ+fwF+YAV+fn5+fgBgA35+fwF+YAN+f38AYAAAYAN+f34AYAABfmABfAF8YAR+fn5+AGAFfn5+fn4Bf2ABfwF/YAR/fn9+AX9gBH5+fn8AYAN+f38Bf2ACfHwBfGABfwBgBH9+fn4Bf2AAAX9gBH5+f38AYAN+f38BfmAFfn9/f38AYAR+f39/AGACf34AYAZ+fH9/f38Bf2ADf39+AX9gBH5/fn4BfmAEfn5+fwF/YAV+f39/fwF/YAR+f39/AX9gBH5/fn4Bf2AEfn9/fgBgBH5/fn4AYAJ/fwF/YAJ/fgF/YAJ/fgF+YAN8fH8BfGACfn4BfGADf35+AX9gAAF8YAN/f38Bf2ADf35/AX9gBn5+fn5+fwBgBX5+fn5/AX9gBX5+fn5/AGAEfn5/fgF+YAR+f39+AX5gBn5+fn5/fgF+YAV+f35+fwBgA35/fgF8YAZ+f39/fn4Bf2ACfn8BfGAEfn5/fgBgBX5+fn5+AX5gAnx+AX9gAnx+AXxgAnx/AXxgAX8BfmAHfn5+fn5+fgF/YAJ+fABgA39+fgF+YAN/fn4AYAR/fn5+AX5gBX9+fn5+AX5gBX9+fn5+AX9gAn9/AGAEf35+fwF+YAd/fnx/f39/AX8CrAYfA2VudgppbnZva2VfdmpqAAcDZW52CHN0cmZ0aW1lAAoDZW52BGV4aXQAIANlbnYaX19hc3luY2pzX193ZWF2ZWRyaXZlX29wZW4ACANlbnYaX19hc3luY2pzX193ZWF2ZWRyaXZlX3JlYWQANgNlbnYbX19hc3luY2pzX193ZWF2ZWRyaXZlX2Nsb3NlABsDZW52EV9fc3lzY2FsbF9mY250bDY0ACkDZW52D19fc3lzY2FsbF9pb2N0bAApFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAGxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3JlYWQAIRZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlACEDZW52CV9hYm9ydF9qcwAVA2VudhVfZW1zY3JpcHRlbl9tZW1jcHlfanMABwNlbnYTZW1zY3JpcHRlbl9kYXRlX25vdwA3A2VudiBfZW1zY3JpcHRlbl9nZXRfbm93X2lzX21vbm90b25pYwAiA2Vudg5fX3N5c2NhbGxfZHVwMwA4Fndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQACBZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAgWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrABwDZW52Cl9ta3RpbWVfanMACQNlbnYNX2xvY2FsdGltZV9qcwABA2VudgpfZ210aW1lX2pzAAEDZW52El9fc3lzY2FsbF91bmxpbmthdAA5A2Vudg9fX3N5c2NhbGxfcm1kaXIAAANlbnYSX19zeXNjYWxsX3JlbmFtZWF0ABwDZW52El9lbXNjcmlwdGVuX3N5c3RlbQAAA2VudhBfX3N5c2NhbGxfb3BlbmF0ABwDZW52FF9fc3lzY2FsbF9yZWFkbGlua2F0ACEDZW52CV90enNldF9qcwAZA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAADZW52GV9lbXNjcmlwdGVuX3Rocm93X2xvbmdqbXAAFQPfBN0EFRsbKgYBAwMBCA8SEgsLCwQHBgUGIwMGGQMJBgYGABATBjo7PCsAAxEBDQMFCAUADQwABAgBCQUFCQYBBQUHAQEBEAcDBAkFBQgHBQQBEQEJJCMOEz0LPgcGBwUZBz8KBQQDBgYHAQkMLAAtFAQUJRQECAsNAQENDQgBAQgHAQ8sAQcuQCYLBQUEFgUPBAENCAEWASMvAQEmJQENHQQLBAQFFCsPDQ0BARoBBwEMAQ0EFAQEDAwMDAweLQZBEAwQEREREQMBAw0BDggMDggUDAcWFgQBAQQvQgEaHgAMBAYkJAsIFg4eBA4MCAUJFi4qEBQEQxEQBgYABwUBBQMLCAMaAwgMCRANAQcKFwoABQAAAAAADgAAAEQAAAMAAAAOAAAAAAAAAAAAAAAAAAAAAAAZAAsARQsAAAAADwAAAAAAAAAAFAAAAAAAACYeAAAAAAAHAAcEAAAAAAAADwAAAA8ADwAAAAAAAAAAAAAAAQAAAAAAAAAADwAAAAAAAgAMAAAAAAMwAAAAAAAAAAAaAAAxAgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAgATIGAwAJMwADEwMYGB9GNB8DECIXGBgAAAAGAB8LAAQnRw8JAwoACQAYGBALHwABBUgxMycCExERCAZJCQsGBgYAGR0SCTU0BRUnGkoHADAGJSgBAwwJCQUJARIdAgsSBARLBAQdEhISNQUJFxUXFxdMTTJOTxxQUVJTBRUFFSIEBwFwAcwBzAEFBgEFwAiAQAYiBn4BQrDxlyALfwFBAAt+AUIAC34BQgALfwFBAAt+AUIACwfaBCAGbWVtb3J5AgARX193YXNtX2NhbGxfY3RvcnMAHwZoYW5kbGUA+AMZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEABGZyZWUA1AQGZmZsdXNoAJMEBG1haW4A/QMGbWFsbG9jAIEEBHNicmsA0gQIc2V0VGhyZXcA3AQVZW1zY3JpcHRlbl9zdGFja19pbml0AOkEGWVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2ZyZWUA6gQZZW1zY3JpcHRlbl9zdGFja19nZXRfYmFzZQDrBBhlbXNjcmlwdGVuX3N0YWNrX2dldF9lbmQA7AQZX2Vtc2NyaXB0ZW5fc3RhY2tfcmVzdG9yZQDmBBdfZW1zY3JpcHRlbl9zdGFja19hbGxvYwDnBBxlbXNjcmlwdGVuX3N0YWNrX2dldF9jdXJyZW50AOgEC2R5bkNhbGxfampqAO0EC2R5bkNhbGxfdmpqAO4ECmR5bkNhbGxfaWoA7wQMZHluQ2FsbF9qampqAPAEDWR5bkNhbGxfampqamoA8QQMZHluQ2FsbF9pamlqAPIEDWR5bkNhbGxfaWpqamoA8wQKZHluQ2FsbF92aQD0BAxkeW5DYWxsX2pqamkA9QQPZHluQ2FsbF9pamRpaWlpAPYEFWFzeW5jaWZ5X3N0YXJ0X3Vud2luZAD3BBRhc3luY2lmeV9zdG9wX3Vud2luZAD4BBVhc3luY2lmeV9zdGFydF9yZXdpbmQA+QQUYXN5bmNpZnlfc3RvcF9yZXdpbmQA+gQSYXN5bmNpZnlfZ2V0X3N0YXRlAPsECZoDAQBBAQvLAVlabMYBxwHJAc0B+AGXAp8C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DkHFAEZyBEAgBCAIIAUgAhB+IQZBxQAjBEEBRg0LGiAGIQULIwRFBEAgAyACNwMQIAMgBTcDACADKQMIIgRCAXwhAgsLAn8jBEUEQCADIAI3AwggBCAFfCALOgAAIAApA0AiAikDACIDQgF9IQQgAiAENwMAIANCAFIhDAsjBEEBIAwbRQRAIAIiAyACKQMIIgJCAXwiBDcDCCACLQAADAELIwRFIA5BxgBGcgR/IAIQRSENQcYAIwRBAUYNCxogDQUgDAsLIQwjBEUEQCAAIAw2AgBCxTchCCALQTBGIQsLIAsjBEECRnIEQCMERSAOQccARnIEQCAAQvfAABBTIQ1BxwAjBEEBRg0LGiANIQsLIAhC5R5CxTcgCxsjBBshCAsDQCMERSAOQcgARnIEQCAAIAgQUyENQcgAIwRBAUYNCxogDSELCyALIwRBAkZyBEAjBEUgDkHJAEZyBEAgAELpxQAQUyENQckAIwRBAUYNDBogDSELCwsjBEUEQCAAKAIAIgusQoEIfCICLQAAQRBxIQwLIAwjBEECRnIEQCMERQRAIAApA0giAykDCCIEQgF8IgIgAykDECIFWCEMCwJAIwRFBEAgDARAIAMpAwAhBQwCCyAFQv//////////P1oiDA0EIAApAzghBCADKQMAIQogBUIBhiECCyMERSAOQcoARnIEQCAEIAogBSACEH4hBkHKACMEQQFGDQ0aIAYhBQsjBEUEQCADIAI3AxAgAyAFNwMAIAMpAwgiBEIBfCECCwsjBEUEQCADIAI3AwggBCAFfCALOgAAIAApA0AiAikDACIDQgF9IQQgAiAENwMAIANCAFIiCwRAIAIiAyACKQMIIgJCAXwiBDcDCCAAIAItAAAiCzYCAAwDCwsjBEUgDkHLAEZyBEAgAhBFIQ1BywAjBEEBRg0MGiANIQsLIwRFBEAgACALNgIADAILCyMERQRAIAApA0giAykDCCIFQgF8IQQgAykDECECIAtBLkYhCwsgCyMEQQJGcgRAIAsgAiAEWiMEGyELAkAjBEUEQCALBEAgAykDACECDAILIAJC//////////8/WiILDQQgACkDOCEFIAMpAwAhCiACQgGGIQQLIwRFIA5BzABGcgRAIAUgCiACIAQQfiEGQcwAIwRBAUYNDRogBiECCyMERQRAIAMgBDcDECADIAI3AwAg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QQEjBEEBRg0BGiACIQELIwRFBEAgAy0AVCEFIAFBCDoAECABIAVBA3E6ABEgASADKQNYNwMIIAMgAUIIfCIENwNYIAApAxAiAkHIADYCCCACIAQ3AwAgACAAKQMQQhB8NwMQIAFCADcDQCABIAM3AyAgAUIANwMoIAFBADsBEiABQgA3A2AgASAENwNYIAFCADcDsAEgAUEBOgDUASABQgA3A8ABIAFCATcCzAEgAUIANwNIIAFCADcDuAEgAUEAOgAUIAEgACgCyAE2AtABIAEgACgCvAEiBTYCxAEgACkDqAEhAiABIAU2AsgBIAEgAjcDsAEgASADKQPIAUIIfSkAADcAAAsjBEUgBkECRnIEQCAAQgBCAEKABRB+IQJBAiMEQQFGDQEaIAIhAAsjBEUEQCABQSg2AsABIAEgADcDQCAAQQA2AvgEIABBADYC6AQgAEEANgLYBCAAQQA2AsgEIABBADYCuAQgAEEANgKoBCAAQQA2ApgEIABBADYCiAQgAEEANgL4AyAAQQA2AugDIABBADYC2AMgAEEANgLIAyAAQQA2ArgDIABBADYCqAMgAEEANgKYAyAAQQA2AogDIABBADYC+AIgAEEANgLoAiAAQQA2AtgCIABBADYCyAIgAEEANgK4AiAAQQA2AqgCIABBADYCmAIgAEEANgKIAiAAQQA2AvgBIABBADYC6AEgAEEANgLYASAAQQA2AsgBIABBADYCuAEgAEEANgKoASAAQQA2ApgBIABBADYCiAEgAEEANgJ4IABBADYCaCAAQQA2AlggAEEANgJIIABBADYCOCAAQQA2AiggAEEANgIYIAFBADsBqgEgASAAQrAEfDcDOCABQgA3A3ggAUIANwOAASABIAA3A2ggASAAQhB8NwMYIABBADYCCCABIAFC6AB8NwMoIAEgAELQAnw3A3AgBA8LAAshBSMFKQMAIAU2AgAjBSMFKQMAQgR8NwMAIwUpAwAiAiAANwIAIAIgATcCCCACIAM3AhAgAiAENwIYIwUjBSkDAEIgfDcDAEIAC4YGAgR+A38jBEECRgRAIwUjBSkDAEIsfTcDACMFKQMAIgMpAgAhACADKQIIIQEgAykCECECIAMoAhghBiADKQIcIQQgAykCJCEDCwJ/IwRBAkYEQCMFIwUpAwBCBH03AwAjBSkDACgCACEHCyMERQRAIwAiAkIwfSIEJAAgAKchBgsjBEUgB0VyBEAgAUIAQghCkAwgBhEKACEFQQAjBEEBRg0BGiAFIQILIAYgAlAjBBshBgJAIwRFBEAgBg0BIAJBAToArAIgAkIANwMIIAJCADcDQCACQgA3AyggAkEANgLAASACQYgCNgIQIAJCADcDYCACQgA3A7ABIAJBAToA1AEgAkIANwLEASACQgE3AswBIAJCADcDSCACQQA6ABQgAkIANwO4ASACIAA3A9gBIAIgATcD4AEgAiACQtgBfDcDICACIAJCCHwiADcDWCACIAA3A6ADEJAEIQEgBEIBNwMoIARCiAo3AyAgBCAANwMQIAQgAaciBjYCDCAEIARCDHw3AxhCICEBIAZBIHMhBiAEQg98IQUDQCABIAV8LQAAIAZBBXQgBkECdmpqIAZzIQYgAUICfSIBQgFWDQALIAJBADoArwIgAiAGNgKoAiACQgA3A6gDIAJCADcDmAMgAkEANgKgAiACQgA3A4ACIAJCADcDiAIgAkIANwOQAiACQQc7AK0CIAJCsAJ8QQBC2AAQjgQaIAJByAE2ApADIAJCgICAgIAZNwOIAyACQgA3A/ABIAJCkAw3A+gBIAJC+AR8QQBCyAAQjgQaCyMERSAHQQFGcgRAIABCAkIAEL0BIQhBASMEQQFGDQIaIAghBgsjBCAGckUEQCAAIQMMAQsjBEUgB0ECRnIEQCAAEFtBAiMEQQFGDQIaCwsjBEUEQCAEQjB8JAAgAw8LAAshCCMFKQMAIAg2AgAjBSMFKQMAQgR8NwMAIwUpAwAiBSAANwIAIAUgATcCCCAFIAI3AhAgBSAGNgIYIAUgBDcCHCAFIAM3AiQjBSMFKQMAQix8NwMAQgAL6QoCBX4BfyMEQQJGBEAjBSMFKQMAQjB9NwMAIwUpAwAiAykCACEAIAMpAhAhAiADKQIYIQQgAykCICEFIAMpAighBiADKQIIIQELAn8jBEECRgRAIwUjBSkDAEIEfTcDACMFKQMAKAIAIQcLIwRFBEAjACIBQhB9IgUkACAAKQMYIQYLIwRFIAdFcgRAIABCAEIAQoAFEH4hA0EAIwRBAUYNARogAyEBCyMERQRAIABBKDYCuAEgACABNwM4IAFBADYC+AQgAUEANgLoBCABQQA2AtgEIAFBADYCyAQgAUEANgK4BCABQQA2AqgEIAFBADYCmAQgAUEANgKIBCABQQA2AvgDIAFBADYC6AMgAUEANgLYAyABQQA2AsgDIAFBADYCuAMgAUEANgKoAyABQQA2ApgDIAFBADYCiAMgAUEANgL4AiABQQA2AugCIAFBADYC2AIgAUEANgLIAiABQQA2ArgCIAFBADYCqAIgAUEANgKYAiABQQA2AogCIAFBADYC+AEgAUEANgLoASABQQA2AtgBIAFBADYCyAEgAUEANgK4ASABQQA2AqgBIAFBADYCmAEgAUEANgKIASABQQA2AnggAUEANgJoIAFBADYCWCABQQA2AkggAUEANgI4IAFBADYCKCABQQA2AhggAEEAOwGiASAAIAFCsAR8NwMwIABCADcDcCAAQgA3A3ggACABNwNgIAAgAUIQfDcDECABQQA2AgggACAAQuAAfCICNwMgIAAgAULQAnwiATcDaAsjBEUgB0EBRnIEQCAAEDkhA0EBIwRBAUYNARogAyEBCyMERQRAIAZBxQA2AkggBiABNwNACyMERSAHQQJGcgRAIAAgAUECQQAQNEECIwRBAUYNARoLIwRFBEAgBUHIADYCCCAFIAA3AwALIwRFIAdBA0ZyBEAgACABQgEgBRA3QQMjBEEBRg0BGgsjBEUgB0EERnIEQCAAEDkhA0EEIwRBAUYNARogAyECCyMERQRAIAVBxQA2AgggBSACNwMACyMERSAHQQVGcgRAIAAgAUICIAUQN0EFIwRBAUYNARoLIwRFBEAgACkDGCEBCyMERSAHQQZGcgRAIABBgAEQgAFBBiMEQQFGDQEaCyMERSAHQQdGcgRAIABCzwxCERCBASEDQQcjBEEBRg0BGiADIQILIwRFBEAgASACNwPYASAAIAIQYCABQugDfCEDIAEpA9gBIQEDQCADIARCBIZ8IgIgATcDCCACIAE3AwAgBEI0UgRAIAIgATcDGCACIAE3AxAgAiABNwMgIAIgATcDKCACIAE3AzAgAiABNwM4IARCBHwhBAwBCwtCACEBCwNAIwRFBEAgAUIDhiICQvDSAHwpAwAhBAsjBEUgB0EIRnIEQCAAIAQQgwEhA0EIIwRBAUYNAhogAyEECyMERQRAIAApAxggAnwgBDcD4AEgACAAKQMYIgQgAnwpA+ABIgIQYCABQgF8IgFCGFINAQsLIAFCACMEGyEBIwRFIAdBCUZy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CiEDIAQpAwAiACgCCEEWRg0BQogKIAApAwAiAEHX80IgAWutQgSGfEIgfCAALQAKQdjzQiABa0kbIQMLCyMEBH4gAAUgAkIAUgRAIAICfiADKQMAIgAtAAhBBEYEQCAAMQALDAELIAApAxALNwMACyADKQMAQhh8CwshACMERQRAIAAPCwALIQYjBSkDACAGNgIAIwUjBSkDAEIEfDcDACMFKQMAIgQgADcCACAEIAE2AgggBCACNwIMIAQgAzcCFCAEIAU2AhwjBSMFKQMAQiB8NwMAQgALhgICAX4CfyMEIQMgACkDICECAn4gAUEASgRAQogKIAIpAwAgAa1CBIZ8IgIgAiAAKQMQWhsMAQsgAUHZ80JOBEAgACkDECABrEIEhnwMAQsgAUHY80JGBEAgACkDGEJAfQwBC0KICiACKQMAIgIoAghBFkYNABpCiAogAikDACIAQdfzQiABa61CBIZ8QiB8IAAtAApB2PNCIAFrSRsLIQBCACECAkACQAJAAkACQCAAKAIIQT9xQQRrDhEAAwQCBAQEBAQEBAQEBAQEAQQLIAApAwAxAAsPCyAAKQMAKQMQDwsgACkDACkDGA8LIAApAwAQPSEEIwQgA0cEQAALIASsIQILIAIL0wECAX4BfyMEIQMgACkDICECAn4gAUEASgRAQogKIAIpAwAgAa1CBIZ8IgIgAiAAKQMQWhsMAQsgAUHZ80JOBEAgACkDECABrEIEhnwMAQsgAUHY80JGBEAgACkDGEJAfQwBC0KICiACKQMAIgIoAghBFkYNABpCiAogAikDACIAQdfzQiABa61CBIZ8QiB8IAAtAApB2PNCIAFrSRsLIQBCACECAkACQAJAIAAoAghBD3FBAmsOBgECAgICAAILIAApAwBCKHwPCyAAKQMAIQILIAILuAECAX4BfyMEIQMgACkDICECAn4gAUEASgRAQogKIAIpAwAgAa1CBIZ8IgIgAiAAKQMQWhsMAQsgAUHZ80JOBEAgACkDECABrEIEhnwMAQsgAUHY80JGBEAgACkDGEJAfQwBC0KICiACKQMAIgIoAghBFkYNABpCiAogAikDACIAQdfzQiABa61CBIZ8QiB8IAAtAApB2PNCIAFrSRsLIQBCACECIAAoAghByABGBH4gACkDAAVCAAsL8gECAX4BfyMEIQMgACkDICECAn4g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IAg2AiwjBSMFKQMAQjB8NwMAQgALOQECfyMEIQICfyAAKAKMAUEASARAIAAoAngMAQsgACgCeAsiAUEASAR/QsCFF0EINgIAQX8FIAELC5EEAgR+A38jBCEIAkACQCABvSICIgRCAYYiA1ANACACQv///////////wCDQoCAgICAgID4/wBWDQAgAL0iBUI0iKdB/w9xIgZB/w9HDQELIAAgAaIiACAAow8LIAMgBUIBhiICWgRAIABEAAAAAAAAAACiIAAgAiADURsPCyAEQjSIp0H/D3EhBwJ+IAZFBEBBACEGIAVCDIYiAkIAWQRAA0AgBkEBayEGIAJCAYYiAkIAWQ0ACwsgBUEBIAZrrYYMAQsgBUL/////////B4NCgICAgICAgAiECyECAn4gB0UEQEEAIQcgBEIMhiIDQgBZBEADQCAHQQFrIQcgA0IBhiIDQgBZDQALCyAEQQEgB2uthgwBCyAEQv////////8Hg0KAgICAgICACIQLIQQgBiAHSgRAA0ACQCACIAR9IgNCAFMNACADIgJCAFINACAARAAAAAAAAAAAog8LIAJCAYYhAiAGQQFrIgYgB0oNAAsgByEGCwJAIAIgBH0iA0IAUw0AIAMiAkIAUg0AIABEAAAAAAAAAACiDwsCQCACQv////////8HVgRAIAIhAwwBCwNAIAZBAWshBiACQoCAgICAgIAEVCEHIAJCAYYiAyECIAcNAAsLIAVCgICAgICAgICAf4MhAiAGQQBKBH4gA0KAgICAgICACH0gBq1CNIaEBSADQQEgBmutiAsgAoS/C4MCAgJ+An8jBEECRgRAIwUjBSkDAEIkfTcDACMFKQMAIgMpAgAhACADKQIQIQIgAykCGCEEIAMoAiAhBiADKQIIIQELAn8jBEECRgRAIwUjBSkDAEIEfTcDACMFKQMAKAIAIQULIwRFBEAjAEIQfSIEJAAgBCACNwMICyMERSAFRXIEQCAAIAEgAkIAQgAQxwQhBUEAIwRBAUYNARogBSEGCyMERQRAIARCEHwkACAGDwsACyEFIwUpAwAgBTYCACMFIwUpAwBCBHw3AwAjBSkDACIDIAA3AgAgAyABNwIIIAMgAjcCECADIAQ3AhggAyAGNgIgIwUjBSkDAEIkfDcDAEEAC2gCAn8BfiMEIQIgACAAKAKIASIBQQFrIAFyNgKI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AEKAgICAgICAORDiBCMEIAVHBEAAC0HogX0gAyADQeiBfU0bQZr+AWohAyAEKQM4IQIgBCkDMCEBCyAEIAEgAkIAIANB//8Aaq1CMIYQ4gQjBCAFRwRAAAsgACAEKQMINwMIIAAgBCkDADcDACAEQtAAfCQAC8EHAgR+B38jBCEMIwBCgAF9IgUkAAJAAkACQCADIARCAEIAENkEIQ0jBCAMRwRAAAsgDUUNAAJ/IARC////////P4MhBwJ/IARCMIinQf//AXEiCkH//wFHBEBBBCAKDQEaQQJBAyADIAeEUBsMAgsgAyAHhFALC0UNACACQjCIpyILQf//AXEiCUH//wFHDQELIAVCEHwgASACIAMgBBDiBCMEIAxHBEAACyAFIAUpAxAiAiAFKQMYIgEgAiABENsEIwQgDEcEQAALIAUpAwghAiAFKQMAIQQMAQsgASACQv///////////wCDIgcgAyAEQv///////////wCDIgYQ2QQhDiMEIAxHBEAACyAOQQBMBEAgASAHIAMgBhDZBCEPIwQgDEcEQAALIA8EQCABIQQMAgsgBULwAHwgASACQgBCABDiBCMEIAxHBEAACyAFKQN4IQIgBSkDcCEEDAELIARCMIinQf//AXEhCiAJBH4gAQUgBULgAHwgASAHQgBCgICAgICAwLvAABDiBCMEIAxHBEAACyAFKQNoIgdCMIinQfgAayEJIAUpA2ALIQQgCkUEQCAFQtAAfCADIAZCAEKAgICAgIDAu8AAEOIEIwQgDEcEQAALIAUpA1giBkIwiKdB+ABrIQogBSkDUCEDCyAGQv///////z+DQoCAgICAgMAAhCEIIAdC////////P4NCgICAgICAwACEIQcgCSAKSgRAA0ACfiAHIAh9IAMgBFatfSIGQgBZBEAgBiAEIAN9IgSEUARAIAVCIHwgASACQgBCABDiBCMEIAxHBEAACyAFKQMoIQIgBSkDICEEDAULIAZCAYYgBEI/iIQMAQsgB0IBhiAEQj+IhAshByAEQgGGIQQgCUEBayIJIApKDQALIAohCQsCQCAHIAh9IAMgBFatfSIGQgBTBEAgByEGDAELIAYgBCADfSIEhEIAUg0AIAVCMHwgASACQgBCABDiBCMEIAxHBEAACyAFKQM4IQIgBSkDMCEEDAELIAZC////////P1gEQANA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AFINAAsgByAANwMAIAAgBTcDMAsgACAANwMYIAAgADcDEA8LIAUpAxAiASAANwMYIAUgADcDECAAQgA3AzAgACAFNwMYIAAgATcDEAsLmAoCBH8FfiMEIQgjAELwAH0iCSQAIARC////////////AIMhCgJAAkAgAVAiBSACQv///////////wCDIgtCgICAgICAwP//AH1CgICAgICAwICAf1QgC1AbRQRAIANCAFIgCkKAgICAgIDA//8AfSIMQoCAgICAgMCAgH9WIAxCgICAgICAwICAf1EbDQELIAUgC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQQgASEDDAILIANQIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEEDAILIAEgC0KAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACACIAEgA4UgAiAEhUKAgICAgICAgIB/hYRQIgUbIQRCACABIAUbIQMMAgsgAyAKQoCAgICAgMD//wCFhFANASABIAuEUARAIAMgCoRCAFINAiABIAODIQMgAiAEgyEEDAILIAMgCoRCAFINACABIQMgAiEEDAELIAMgASABIANUIAogC1YgCiALURsiBxshCyAEIAIgBxsiDUL///////8/gyEKIAIgBCAHGyIMQjCIp0H//wFxIQYgDUIwiKdB//8BcSIFRQRAIAlC4AB8IAsgCiALIAogClAiBRt5IAVBBnStfKciBUEPaxDYBCMEIAhHBEAACyAJKQNoIQogCSkDYCELQRAgBWshBQsgASADIAcbIQMgDEL///////8/gyEBIAYEfiABBSAJQtAAfCADIAEgAyABIAFQIgYbeSAGQQZ0rXynIgZBD2sQ2AQjBCAIRwRAAAtBECAGayEGIAkpA1AhAyAJKQNYC0IDhiADQj2IhEKAgICAgICABIQhASAKQgOGIAtCPYiEIQwgAiAEhSEEAn4gA0IDhiICIAUgBkYNABogBSAGayIGQf8ASwRAQgAhAUIBDAELIAlCQH0gAiABQYABIAZrENgEIwQgCEcEQAALIAlCMHwgAiABIAYQ4QQjBCAIRwRAAAsgCSkDOCEBIAkpAzAgCSkDQCAJKQNIhEIAUq2ECyEKIAxCgICAgICAgASEIQwgC0IDhiELAkAgBEIAUwRAQgAhA0IAIQQgCiALhSABIAyFhFANAiALIAp9IQIgDCABfSAKIAtWrX0iBEL/////////A1YNASAJQiB8IAIgBCACIAQgBFAiBht5IAZBBnStfKdBDGsiBhDYBCMEIAhHBEAACyAFIAZrIQUgCSkDKCEEIAkpAyAhAgwBCyAKIAt8IgIgClStIAEgDHx8IgRCgICAgICAgAiDUA0AIApCAYMgBEI/hiACQgGIhIQhAiAFQQFqIQUgBEIBiCEECyANQoCAgICAgICAgH+DIQMgBUH//wFOBEAgA0KAgICAgIDA//8AhCEEQgAhAwwBC0EAIQYCQCAFQQBKBEAgBSEGDAELIAlCEHwgAiAEQYABQQEgBWsiBWsQ2AQjBCAIRwRAAAsgCSACIAQgBRDhBCMEIAhHBEAACyAJKQMAIAkpAxAgCSkDGIRCAFKthCECIAkpAwghBAsgBEI9hiACQgOIhCEBIARCA4hC////////P4MgBq1CMIaEIAOEIQQCQAJAIAKnQQdxIgVBBEcEQCAEIAEgASAFQQRLrXwiA1atfCEEDAELIAQgASABIAFCAYN8IgNWrXwhBAwBCyAFRQ0BCwsgACADNwMAIAAgBDcDCCAJQvAAfCQAC1YCAX4BfyMEIQUCQCADQcAAcQRAIAEgA0FAaq2GIQJCACEBDAELIANFDQAgAiADrSIEhiABQcAAIANrrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMIC98BAgJ/An4jBCEFQQEhBAJAIABCAFIgAUL///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgdCgICAgICAwP//AFYgB0KAgICAgIDA//8AURsNACAAIAKEIAYgB4SEUARAQQAPCyABIAODQgBZBEBBfyEEIAAgAlQgASADUyABIANRGw0BIAAgAoUgASADhYRCAFIPC0F/IQQgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEECyAEC8QBAgJ/An4jBCEEQX8hAwJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkL///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFJxDQAgACAFIAaEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADC/8QAhB+BX8jBCEZIwBC0AJ9IgUkACAEQv///////z+DIQYgAkL///////8/gyEHIAIgBIVCgICAgICAgICAf4MhCCAEQjCIp0H//wFxIRcCQAJAIAJCMIinQf//AXEiGEH//wFrQYKAfk8EQCAXQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIglCgICAgICAwP//AFQgCUKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEIDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQggAyEBDAILIAEgCUKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEIDAMLIAhCgICAgICAwP//AIQhCEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASAJhFAEQEKAgICAgIDg//8AIAggAiADhFAbIQhCACEBDAILIAIgA4RQBEAgCEKAgICAgIDA//8AhCEIQgAhAQwCCyAJQv///////z9YBEAgBULAAnwgASAHIAEgByAHUCIVG3kgFUEGdK18pyIVQQ9rENgEIwQgGUcEQAALQRAgFWshFSAFKQPIAiEHIAUpA8ACIQELIAJC////////P1YNACAFQrACfCADIAYgAyAGIAZQIhYbeSAWQQZ0rXynIhZBD2sQ2AQjBCAZRwRAAAsgFSAWakEQayEVIAUpA7gCIQYgBSkDsAIhAwsgBUKgAnwgBkKAgICAgIDAAIQiDkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQ4wQjBCAZRwRAAAsgBUKQAnxCACAFKQOoAn1CACAEQgAQ4wQjBCAZRwRAAAsgBUKAAnwgBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQ4wQjBCAZRwRAAAsgBULwAXwgBEIAQgAgBSkDiAJ9QgAQ4wQjBCAZRwRAAAsgBULgAXwgBSkD+AFCAYYgBSkD8AFCP4iEIgRC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rUIghoQhBSAEKQMACzcDACAAIAU3AwggBEIQfCQAC3QCAn4BfyMEIQQjAEIQfSICJAAgAAJ+IAFFBEBCAAwBCyACIAGtQgBB8AAgAWciAUEfc2sQ2AQjBCAERwRAAAsgAikDCEKAgICAgIDAAIVBnoABIAFrrUIwhnwhAyACKQMACzcDACAAIAM3AwggAkIQfCQAC1YCAX4BfyMEIQUCQCADQcAAcQRAIAIgA0FAaq2IIQFCACECDAELIANFDQAgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiCECCyAAIAE3AwAgACACNwMIC4MLAhB+BX8jBCEZIwBC4AB9IgUkACAEQv///////z+DIQggAiAEhUKAgICAgICAgIB/gyEGIAJC////////P4MiCUIgiCEKIARCMIinQf//AXEhFgJAAkAgAkIwiKdB//8BcSIYQf//AWtBgoB+TwRAIBZB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiB0KAgICAgIDA//8AVCAHQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQYMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBiADIQEMAgsgASAHQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhBkIAIQEMAwsgBkKAgICAgIDA//8AhCEGQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgB4QhAkIAIQEgAlAEQEKAgICAgIDg//8AIQYMAwsgBkKAgICAgIDA//8AhCEGDAILIAEgB4RQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIAdC////////P1gEQCAFQtAAfCABIAkgASAJIAlQIhUbeSAVQQZ0rXynIhVBD2sQ2AQjBCAZRwRAAAtBECAVayEVIAUpA1giCUIgiCEKIAUpA1AhAQsgAkL///////8/Vg0AIAVCQH0gAyAIIAMgCCAIUCIXG3kgF0EGdK18pyIXQQ9rENgEIwQgGUcEQAALIBUgF2tBEGohFSAFKQNIIQggBSkDQCEDCyADQg+GIgdCgID+/w+DIgIgAUIgiCIEfiIMIAdCIIgiDyABQv////8PgyIBfnwiC0IghiINIAEgAn58IgcgDVStIAIgCUL/////D4MiCX4iESAEIA9+fCINIAhCD4YiDiADQjGIhEL/////D4MiAyABfnwiECALIAxUrUIghiALQiCIhHwiCyACIApCgIAEhCIIfiISIAkgD358IgogDkIgiEKAgICACIQiAiABfnwiDCADIAR+fCIOQiCGfCITfCEBIBYgGGogFWpB//8AayEVAkAgAiAEfiIUIAggD358IgQgFFStIAQgBCADIAl+fCIEVq18IAIgCH58IAQgBCANIBFUrSANIBBWrXx8IgRWrXwgAyAIfiIDIAIgCX58IgIgA1StQiCGIAJCIIiEfCAEIAJCIIZ8IgIgBFStfCACIAIgDCAOVq0gCiASVK0gCiAMVq18fEIghiAOQiCIhHwiAlatfCACIAIgCyAQVK0gCyATVq18fCICVq18IgRCgICAgICAwACDQgBSBEAgFUEBaiEVDAELIAdCP4ghAyAEQgGGIAJCP4iEIQQgAkIBhiABQj+IhCECIAdCAYYhByADIAFCAYaEIQELIBVB//8BTgRAIAZCgICAgICAwP//AIQhBkIAIQEMAQsCfiAVQQBMBEBBASAVayIWQf8ATQRAIAVCMHwgByABIBVB/wBqIhUQ2AQjBCAZRwRAAAsgBUIgfCACIAQgFRDYBCMEIBlHBEAACyAFQhB8IAcgASAWEOEEIwQgGUcEQAALIAUgAiAEIBYQ4QQjBCAZRwRAAAsgBSkDMCAFKQM4hEIAUq0gBSkDICAFKQMQhIQhByAFKQMoIAUpAxiEIQEgBSkDACECIAUpAwgMAgtCACEBDAILIARC////////P4MgFa1CMIaECyAGhCEGIAdQIAFCAFkgAUKAgICAgICAgIB/URtFBEAgBiACQgF8IgFQrXwhBgwBCyAHIAFCgICAgICAgICAf4WEQgBSBEAgAiEBDAELIAYgAiACQgGDfCIBIAJUrXwhBgsgACABNwMAIAAgBjcDCCAFQuAAfCQAC3sCAX4BfyMEIQYgACABIAR+IAIgA358IANCIIgiAiABQiCIIgR+fCADQv////8PgyIDIAFC/////w+DIgF+IgVCIIggAyAEfnwiA0IgiHwgASACfiADQv////8Pg3wiAUIgiHw3AwggACAFQv////8PgyABQiCGhDcDAAtUAgF+AX8jBCEGIwBCEH0iBSQAIAUgASACIAMgBEKAgICAgICAgIB/hRDXBCMEIAZHBEAACyAFKQMAIQEgACAFKQMINwMIIAAgATcDACAFQhB8JAALgQQCBH4FfyMEIQojAEIgfSIDJAAgAUL///////8/gyECAn4gAUIwiEL//wGDIgSnIgZBgfgAa0H9D00EQCACQgSGIABCPIiEIQIgBkGA+ABrrSEEAkAgAEL//////////w+DIgBCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyAAQoCAgICAgICACFINACACQgGDIAJ8IQILQgAgAiACQv////////8HViIGGyEFIAatIAR8DAELAkAgACAChFANACAEQv//AVINACACQgSGIABCPIiEQoCAgICAgIAEhCEFQv8PDAELIAZB/ocBSwRAQv8PDAELQgBBgPgAQYH4ACAEUCIIGyIJIAZrIgdB8ABKDQAaIANCEHwgACACIAJCgICAgICAwACEIAgbIgJBgAEgB2sQ2AQjBCAKRwRAAAsgAyAAIAIgBxDhBCMEIApHBEAACyADKQMIQgSGIAMpAwAiAkI8iIQhAAJAIAYgCUcgAykDECADKQMYhEIAUnGtIAJC//////////8Pg4QiAkKBgICAgICAgAhaBEAgAEIBfCEADAELIAJCgICAgICAgIAIUg0AIABCAYMgAHwhAAsgAEKAgICAgICACIUgACAAQv////////8HViIGGyEFIAatCyEEIANCIHwkACABQoCAgICAgICAgH+DIARCNIaEIAWEvwsMAQF/IwQhASAAJAALFgEBfyMEIQEjACAAfUJwgyIAJAAgAAsKAQF/IwQhACMACxUBAX8jBCEAQrDxlyAkA0Kw8RckAgsNAQF/IwQhACMAIwJ9CwoBAX8jBCEAIwMLCgEBfyMEIQAjAgvFAQIBfgF/IwRBAkYEQCMFIwUpAwBCFH03AwAjBSkDACICKAIAIQAgAikCBCEBIAIpAgwhAgsCfyMERSMEQQJGBH8jBSMFKQMAQgR9NwMAIwUpAwAoAgAFIAQLRXIEQCABIAIgABEGACEDQQAjBEEBRg0BGiADIQELIwRFBEAgAQ8LAAshBCMFKQMAIAQ2AgAjBSMFKQMAQgR8NwMAIwUpAwAiAyAANgIAIAMgATcCBCADIAI3AgwjBSMFKQMAQhR8NwMAQgALtAECAX8BfiMEQQJGBEAjBSMFKQMAQhR9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ZGV4AG1heAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AF9fcG93AGludGVnZXIgb3ZlcmZsb3cAQyBzdGFjayBvdmVyZmxvdwBzdHJpbmcgbGVuZ3RoIG92ZXJmbG93AHRhYmxlIG92ZXJmbG93AHVuc2lnbmVkIG92ZXJmbG93AGdldGVudgBfX2lkaXYAX19kaXYAZmxuU3R1AHRleHQAbmV4dABfSU9fb3V0cHV0AF9JT19pbnB1dABzdGRvdXQAYnRlc3QAaXNkc3QAc3FydABzb3J0AGRhdGEgc3RyaW5nIHRvbyBzaG9ydABhc3NlcnQAaW5zZXJ0AHJlc3RhcnQALmJvb3QAX19ibm90AGNvdW50AFNsbnQAcHJpbnQAY29kZXBvaW50AC5iaW50AGFic2VudAAuYXNzaWdubWVudABjb21tZW50AC5jbGllbnQAY29uc3RhbnQALmRlZmF1bHQAX19sdABleGl0AC5jcnlwdG8uZGlnZXN0LmluaXQALmNyeXB0by5jaXBoZXIuaW5pdAAuY3J5cHRvLmluaXQALmNyeXB0by51dGlsLmluaXQALmNyeXB0by5rZGYuaW5pdAAuY3J5cHRvLm1hYy5pbml0AC5jcnlwdG8udXRpbC5iaXQAYXJzaGlmdABsc2hpZnQAcmF3c2V0AG9mZnNldAByYXdnZXQAY29sbGVjdABzZWxlY3QAZXh0cmFjdABidABmbG9hdAB2YXJpYWJsZS1sZW5ndGggZm9ybWF0AGludmFsaWQgZm9ybWF0AG5hbWV3aGF0AHJlcGVhdABfX2NvbmNhdABzaXplX3QAKnQAc3RhdHVzAC5jcnlwdG8uY2lwaGVyLm1vcnVzAHRvbyBtYW55IGFyZ3VtZW50cwB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzAGNvbnN0YW50cwB0b28gbWFueSByZXN1bHRzAHRyeWluZyB0byBhY2Nlc3Mgbm9uLWV4aXN0ZW50IGJpdHMALnByb2Nlc3MAX19pcGFpcnMAX19wYWlycwBmdW5jdGlvbiBvciBleHByZXNzaW9uIG5lZWRzIHRvbyBtYW55IHJlZ2lzdGVycwAuaGFuZGxlcnMAc2VhcmNoZXJzAG51cHMAbGFiZWxzL2dvdG9zAHN0cmluZyBjb250YWlucyB6ZXJvcwBhY29zAHRvbyBtYW55IG5lc3RlZCBmdW5jdGlvbnMAbnBhcmFtcwAudXRpbHMALmhhbmRsZXJzLXV0aWxzAEMgbGV2ZWxzAHRvbyBtYW55IHVwdmFsdWVzAGF0dGVtcHQgdG8gY29tcGFyZSB0d28gJXMgdmFsdWVzAHRvbyBtYW55IGNhcHR1cmVzAGNvcmUgYW5kIGxpYnJhcnkgaGF2ZSBpbmNvbXBhdGlibGUgbnVtZXJpYyB0eXBlcwBhY3RpdmVsaW5lcwBjaHVuayBoYXMgdG9vIG1hbnkgbGluZXMAbG9jYWwgdmFyaWFibGVzAG9wY29kZXMALmNyeXB0by5jaXBoZXIuYWVzAHBvc2l0aW9uIG91dCBvZiBib3VuZHMAYWJzACVzJXMAYXR0ZW1wdCB0byAlcyBhICVzIHZhbHVlJXMAbHVhb3Blbl8lcwBAJXMAPiVzAG1vZHVsZSAnJXMnIG5vdCBmb3VuZDolcwAlcyBleHBlY3RlZCwgZ290ICVzACVzIG5lYXIgJXMAdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKSBpbiAlcwBhdHRlbXB0IHRvIGNvbXBhcmUgJXMgd2l0aCAlcwBjYW5ub3QgJXMgJXM6ICVzACVzOiVkOiAlcwBlcnJvciBsb2FkaW5nIG1vZHVsZSAnJXMnIGZyb20gZmlsZSAnJXMnOgoJJXMAaG91cgBjdXIALmNyeXB0by5jaXBoZXIubW9kZS5jdHIAc3RkZXJyAF9fYnhvcgBmb3IgaXRlcmF0b3IAc3ludGF4IGVycm9yAGZsb29yAGZvcgBfX2JvcgBfX3NocgBsb3dlcgBpbnZhbGlkIGxvbmcgc3RyaW5nIGRlbGltaXRlcgB1cHBlcgBtYXhpbnRlZ2VyAHRvaW50ZWdlcgBtaW5pbnRlZ2VyAG9iamVjdCBsZW5ndGggaXMgbm90IGFuIGludGVnZXIAZmllbGQgJyVzJyBpcyBub3QgYW4gaW50ZWdlcgBsdWFfSW50ZWdlcgAlZC1ieXRlIGludGVnZXIgZG9lcyBub3QgZml0IGludG8gTHVhIEludGVnZXIAdG9udW1iZXIAbWFsZm9ybWVkIG51bWJlcgAnZm9yJyBsaW1pdCBtdXN0IGJlIGEgbnVtYmVyACdmb3InIHN0ZXAgbXVzdCBiZSBhIG51bWJlcgAnZm9yJyBpbml0aWFsIHZhbHVlIG11c3QgYmUgYSBudW1iZXIAbHVhX051bWJlcgBjaGFyAHllYXIAX19lcQBmcmV4cABsZGV4cABzdG9wACdfX25ld2luZGV4JyBjaGFpbiB0b28gbG9uZzsgcG9zc2libGUgbG9vcAAnX19pbmRleCcgY2hhaW4gdG9vIGxvbmc7IHBvc3NpYmxlIGxvb3AAPCVzPiBhdCBsaW5lICVkIG5vdCBpbnNpZGUgYSBsb29wAC5kdW1wAHN0ZXAAcmVwAHdyYXAAUHAAJXM6ICVwAHByb3RvAGdvdG8AL3Vzci9sb2NhbC9saWIvbHVhLzUuMy8/LnNvOy91c3IvbG9jYWwvbGliL2x1YS81LjMvbG9hZGFsbC5zbzsuLz8uc28ALmNyeXB0by5wYWRkaW5nLnplcm8AYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwBubwBpbwBnZXRpbmZvAGRvAC5hbwByZXR1cm4AY2hhcnBhdHRlcm4AbWlzc2luZyAnWycgYWZ0ZXIgJyUlZicgaW4gcGF0dGVybgBqc29uAGludmFsaWQgb3B0aW9uAEluc3RydWN0aW9uAG1haW4gZnVuY3Rpb24AdW5hYmxlIHRvIGR1bXAgZ2l2ZW4gZnVuY3Rpb24AY2Fubm90IHVzZSAnLi4uJyBvdXRzaWRlIGEgdmFyYXJnIGZ1bmN0aW9uAGZhaWxlZCB0byBjYWxsIGhhbmRsZSBmdW5jdGlvbgBudW1iZXIlcyBoYXMgbm8gaW50ZWdlciByZXByZXNlbnRhdGlvbgBudW1iZXIgaGFzIG5vIGludGVnZXIgcmVwcmVzZW50YXRpb24AdGltZSByZXN1bHQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHRoaXMgaW5zdGFsbGF0aW9uAGR5bmFtaWMgbGlicmFyaWVzIG5vdCBlbmFibGVkOyBjaGVjayB5b3VyIEx1YSBpbnN0YWxsYXRpb24Abm90IGVub3VnaCBtZW1vcnkgZm9yIGJ1ZmZlciBhbGxvY2F0aW9uAHBlcmZvcm0gYml0d2lzZSBvcGVyYXRpb24gb24AcGVyZm9ybSBhcml0aG1ldGljIG9uAGFzaW4AdXB2YWx1ZWpvaW4AbWluAD1zdGRpbgBtYWluAGZsb2F0IGZvcm1hdCBtaXNtYXRjaCBpbgBlbmRpYW5uZXNzIG1pc21hdGNoIGluAHZlcnNpb24gbWlzbWF0Y2ggaW4AJXMgc2l6ZSBtaXNtYXRjaCBpbgBwb3BlbgByZW9wZW4AcmF3bGVuAF9fbGVuAHRoZW4AYXRhbgBuYW4AYm9vbGVhbgBmYWlsZWQgdG8gYm9vdCBsdWEgcnVudGltZVxuAHZhbHVlIGhhcyBubyBsaXRlcmFsIGZvcm0AcmFuZG9tAF9fdW5tAC5jcnlwdG8udXRpbC5zdHJlYW0Ac2V0c3RlcG11bABfX211bAB1bmV4cGVjdGVkIHN5bWJvbABmdWxsAHhwY2FsbABpc3RhaWxjYWxsAF9fY2FsbAB0YWlsIGNhbGwAdW50aWwAdGFibGUgaW5kZXggaXMgbmlsAGNlaWwAX19zaGwALmV2YWwAcmF3ZXF1YWwAbm9ybWFsAHNldGxvY2FsAGdldGxvY2FsAGdsb2JhbABTbABzZXRob29rAGdldGhvb2sAZXh0ZXJuYWwgaG9vawBtYWluIGNodW5rACVzOiAlcyBwcmVjb21waWxlZCBjaHVuawBzZWVrAGNsb2NrAHRvbyBtYW55IHJlc3VsdHMgdG8gdW5wYWNrAHRyYWNlYmFjawBicmVhawBwaQBtb250aABzZWFyY2hwYXRoAGNwYXRoAG1hdGgAZmx1c2gAY29zaABzaW5oAHRhbmgAZ21hdGNoAGRlYnVnAGlzdmFyYXJnAGxvZwBsZXhpY2FsIGVsZW1lbnQgdG9vIGxvbmcAY29udHJvbCBzdHJ1Y3R1cmUgdG9vIGxvbmcAc3RyaW5nIHNsaWNlIHRvbyBsb25nAGludmFsaWQgb3JkZXIgZnVuY3Rpb24gZm9yIHNvcnRpbmcAX190b3N0cmluZwBiaW5hcnkgc3RyaW5nAGludmFsaWQgdXNlIG9mICclYycgaW4gcmVwbGFjZW1lbnQgc3RyaW5nAGZpbmFsIHBvc2l0aW9uIG91dCBvZiBzdHJpbmcAaW5pdGlhbCBwb3NpdGlvbiBvdXQgb2Ygc3RyaW5nAHVuZmluaXNoZWQgc3RyaW5nAHJlYWRlciBmdW5jdGlvbiBtdXN0IHJldHVybiBhIHN0cmluZwAnX190b3N0cmluZycgbXVzdCByZXR1cm4gYSBzdHJpbmcAJ3BhY2thZ2UuJXMnIG11c3QgYmUgYSBzdHJpbmcAaXNydW5uaW5nAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAGNvbmZpZwBhcnJheSB0b28gYmlnAG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yOiBibG9jayB0b28gYmlnAGRlZwAlLjE0ZwBzZXR2YnVmAGdldCBsZW5ndGggb2YAaW5mAHNlbGYAZWxzZWlmAG1vZGYAdmVyc2lvbiBtaXNtYXRjaDogYXBwLiBuZWVkcyAlZiwgTHVhIGNvcmUgcHJvdmlkZXMgJWYAcGFja3NpemUAc3RyaW5nIGxlbmd0aCBkb2VzIG5vdCBmaXQgaW4gZ2l2ZW4gc2l6ZQBzdHJpbmcgbG9uZ2VyIHRoYW4gZ2l2ZW4gc2l6ZQByZW1vdmUAdG9vIG1hbnkgZWxlbWVudHMgdG8gbW92ZQB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAGZpZWxkIGNhbm5vdCBiZSBuZWdhdGl2ZQB0cnVlAHNldHVzZXJ2YWx1ZQBnZXR1c2VydmFsdWUAc2V0dXB2YWx1ZQBnZXR1cHZhbHVlAG5vIHZhbHVlAC5jcnlwdG8udXRpbC5xdWV1ZQBpbml0aWFsIHBvc2l0aW9uIGlzIGEgY29udGludWF0aW9uIGJ5dGUAZXhlY3V0ZQB3cml0ZQBycm90YXRlAGxyb3RhdGUAY29uY2F0ZW5hdGUAY29sbGF0ZQBjcmVhdGUAZGF0ZQBzZXRwYXVzZQByZXZlcnNlAGNsb3NlAGVsc2UAZmFsc2UAaW52YWxpZCBwYXR0ZXJuIGNhcHR1cmUAdW5maW5pc2hlZCBjYXB0dXJlAHJlcXVpcmUAY3R5cGUAY2Fubm90IHJlc3VtZSBub24tc3VzcGVuZGVkIGNvcm91dGluZQBjYW5ub3QgcmVzdW1lIGRlYWQgY29yb3V0aW5lAGF0dGVtcHQgdG8geWllbGQgZnJvbSBvdXRzaWRlIGEgY29yb3V0aW5lAGN1cnJlbnRsaW5lAHRvbyBtYW55IGFyZ3VtZW50cyB0byByZXN1bWUAdG9vIG1hbnkgcmVzdWx0cyB0byByZXN1bWUAZnVuY3Rpb24gaGFuZGxlIGlzIG5vdCBkZWZpbmVkIGdsb2JhbHkgaW4gbHVhIHJ1bnRpbWUAZGlmZnRpbWUAdG1wbmFtZQByZW5hbWUAdW5hYmxlIHRvIGdlbmVyYXRlIGEgdW5pcXVlIGZpbGVuYW1lAF9fbmFtZQB3aGlsZQB0bXBmaWxlAGRvZmlsZQBsb2FkZmlsZQBjYW5ub3QgY2xvc2Ugc3RhbmRhcmQgZmlsZQBhdHRlbXB0IHRvIHVzZSBhIGNsb3NlZCBmaWxlAGhhbmRsZQBzZXRtZXRhdGFibGUAZ2V0bWV0YXRhYmxlAF9fbWV0YXRhYmxlAGNhbm5vdCBjaGFuZ2UgYSBwcm90ZWN0ZWQgbWV0YXRhYmxlAGZpZWxkICclcycgbWlzc2luZyBpbiBkYXRlIHRhYmxlACdwYWNrYWdlLnNlYXJjaGVycycgbXVzdCBiZSBhIHRhYmxlAGlzeWllbGRhYmxlAHNldGxvY2FsZQBfX2xlAGh1Z2UAZm9ybWF0IHJlc3VsdCB0b28gbGFyZ2UAYnVmZmVyIHRvbyBsYXJnZQBpbnRlcnZhbCB0b28gbGFyZ2UAcmVzdWx0aW5nIHN0cmluZyB0b28gbGFyZ2UAVVRGLTggdmFsdWUgdG9vIGxhcmdlAGRlY2ltYWwgZXNjYXBlIHRvbyBsYXJnZQBpbmRleCBvdXQgb2YgcmFuZ2UAcG9zaXRpb24gb3V0IG9mIHJhbmdlAGxldmVsIG91dCBvZiByYW5nZQB2YWx1ZSBvdXQgb2YgcmFuZ2UAYmFzZSBvdXQgb2YgcmFuZ2UAbm8gbWVzc2FnZQBwYWNrYWdlAGNvbGxlY3RnYXJiYWdlAF9fbW9kZQBpbnZhbGlkIG1vZGUAaW52YWxpZCBVVEYtOCBjb2RlAHNvdXJjZQBpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZQAuY2hhbmNlAHJlcGxhY2UARWUAZm1vZABfX21vZABtZXRhbWV0aG9kAGRlc3RpbmF0aW9uIHdyYXAgYXJvdW5kAGZpZWxkICclcycgaXMgb3V0LW9mLWJvdW5kAGZpbmQAZW5kAF9fYmFuZAAlbGxkAHlpZWxkAGZpZWxkAHVwdmFsdWVpZAAncG9wZW4nIG5vdCBzdXBwb3J0ZWQAY29ycnVwdGVkAG11bHRpcGxlIEx1YSBWTXMgZGV0ZWN0ZWQAaGV4YWRlY2ltYWwgZGlnaXQgZXhwZWN0ZWQAZnVuY3Rpb24gYXJndW1lbnRzIGV4cGVjdGVkACVzIGV4cGVjdGVkAEx1YSBmdW5jdGlvbiBleHBlY3RlZAB0YWJsZSBvciBzdHJpbmcgZXhwZWN0ZWQAdmFsdWUgZXhwZWN0ZWQAc3RyaW5nL2Z1bmN0aW9uL3RhYmxlIGV4cGVjdGVkAG5pbCBvciB0YWJsZSBleHBlY3RlZAB0aHJlYWQgZXhwZWN0ZWQAJz0nIG9yICdpbicgZXhwZWN0ZWQAPG5hbWU+IG9yICcuLi4nIGV4cGVjdGVkAHRydW5jYXRlZABmaWxlIGlzIGFscmVhZHkgY2xvc2VkAHN0YW5kYXJkICVzIGZpbGUgaXMgY2xvc2VkAGxhc3RsaW5lZGVmaW5lZAByYW5kb21zZWVkAHN1c3BlbmRlZABsb2FkZWQAX19hZGQAcmFkAHByZWxvYWQAdGhyZWFkAGRlYWQAXCUwM2QAXCVkAGludmFsaWQgY2FwdHVyZSBpbmRleCAlJSVkAGZ1bmN0aW9uIGF0IGxpbmUgJWQAbm8gdmlzaWJsZSBsYWJlbCAnJXMnIGZvciA8Z290bz4gYXQgbGluZSAlZABsYWJlbCAnJXMnIGFscmVhZHkgZGVmaW5lZCBvbiBsaW5lICVkAHNob3J0X3NyYwBmdW5jAG51bWVyaWMAX19nYwBzZWMALmNyeXB0by5jaXBoZXIubW9kZS5jYmMALmNyeXB0by5jaXBoZXIuaXNzYWMALmNyeXB0by5tYWMuaG1hYwAlYwBnc3ViAF9fc3ViAHJiAGxvYWRsaWIALmNyeXB0by5jaXBoZXIubW9kZS5vZmIALmNyeXB0by5jaXBoZXIubW9kZS5jZmIALndlYXZlZGIALmNyeXB0by5jaXBoZXIubW9kZS5lY2IALmNyeXB0by5kaWdlc3QuYmxha2UyYgByd2EAL3Vzci9sb2NhbC9zaGFyZS9sdWEvNS4zLz8ubHVhOy91c3IvbG9jYWwvc2hhcmUvbHVhLzUuMy8/L2luaXQubHVhOy91c3IvbG9jYWwvbGliL2x1YS81LjMvPy5sdWE7L3Vzci9sb2NhbC9saWIvbHVhLzUuMy8/L2luaXQubHVhOy4vPy5sdWE7Li8/L2luaXQubHVhABtMdWEAbGlnaHQgdXNlcmRhdGEAJWEAbm90IGEAX19sdWFfd2ViYXNzZW1ibHlfXwBpbnRlZ3JhbCBzaXplICglZCkgb3V0IG9mIGxpbWl0cyBbMSwlZF0APVtDXQAKCW5vIGZpZWxkIHBhY2thZ2UucHJlbG9hZFsnJXMnXQAiXQB4WABMVUFCT1gAUE9TSVgAX0VOVgBMVUFfTk9FTlYAJVUAR01UAHBQAC54WG5OAHRhYmxlIGluZGV4IGlzIE5hTgBfVkVSU0lPTgBOQU4ATENfQUxMACVJAExVQV9QQVRIAExVQV9DUEFUSABfRwBMQU5HAElORgBlRQBfTE9BREVEAF9QUkVMT0FEAEMAPT8APGludGVnZXI+ADxudW1iZXI+ADxzdHJpbmc+ADxlb2Y+ADxuYW1lPgA8XCVkPgBmdW5jdGlvbiA8JXM6JWQ+AD4+AH49AD49AD09ADw9ADw8ADs7ADsBOwAKCSVzOgBzdGFjayB0cmFjZWJhY2s6ACVkOgA6OgAtMDEyMzQ1Njc4OQB1dGY4AC5jcnlwdG8uY2lwaGVyLmFlczEyOABDLlVURi04AC5jcnlwdG8uY2lwaGVyLmFlczI1NgAuY3J5cHRvLmRpZ2VzdC5zaGEyXzI1NgAuY3J5cHRvLmRpZ2VzdC5tZDUALmNyeXB0by5kaWdlc3QubWQ0AC5iYXNlNjQALmNyeXB0by5kaWdlc3Quc2hhMwBfNV8zAEx1YSA1LjMAYXRhbjIALmNyeXB0by5rZGYucGJrZGYyAC5jcnlwdG8uZGlnZXN0Lm1kMgAuY3J5cHRvLmNpcGhlci5hZXMxOTIAYml0MzIALmNyeXB0by5kaWdlc3Quc2hhMl81MTIAZm9ybWF0IGFza3MgZm9yIGFsaWdubWVudCBub3QgcG93ZXIgb2YgMgAuY3J5cHRvLmRpZ2VzdC5zaGExAGxvZzEwAC8vAF9HLgAKCS4uLgBeJCorPy4oWyUtAHcrAC0rAEZJTEUqACgqdGVtcG9yYXJ5KQAoZm9yIGluZGV4KQAoZm9yIGxpbWl0KQBpbnZhbGlkIGZvcm1hdCAocmVwZWF0ZWQgZmxhZ3MpAHN0YWNrIG92ZXJmbG93ICglcykAY2FsbGluZyAnJXMnIG9uIGJhZCBzZWxmICglcykAZXJyb3IgaW4gX19nYyBtZXRhbWV0aG9kICglcykAYmFkIGFyZ3VtZW50ICMlZCAoJXMpAGJhZCBhcmd1bWVudCAjJWQgdG8gJyVzJyAoJXMpAGNhbm5vdCBvcGVuIGZpbGUgJyVzJyAoJXMpAGludmFsaWQgcmVwbGFjZW1lbnQgdmFsdWUgKGEgJXMpAChmb3IgZ2VuZXJhdG9yKQAoZm9yIHN0ZXApAGZpbGUgKCVwKQAoZm9yIGNvbnRyb2wpAChudWxsKQAoKnZhcmFyZykAaW52YWxpZCBmb3JtYXQgKHdpZHRoIG9yIHByZWNpc2lvbiB0b28gbG9uZykAKGVycm9yIG9iamVjdCBpcyBhICVzIHZhbHVlKQAoZm9yIHN0YXRlKQAoKm5vIG5hbWUpAD0oZGVidWcgY29tbWFuZCkAZmlsZSAoY2xvc2VkKQA9KGxvYWQpAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkAJXMgZXhwZWN0ZWQgKHRvIGNsb3NlICVzIGF0IGxpbmUgJWQpAHVuZmluaXNoZWQgbG9uZyAlcyAoc3RhcnRpbmcgYXQgbGluZSAlZCkACgkoLi4udGFpbCBjYWxscy4uLikAYXR0ZW1wdCB0byBsb2FkIGEgJXMgY2h1bmsgKG1vZGUgaXMgJyVzJykAICglcyAnJXMnKQBtYWxmb3JtZWQgcGF0dGVybiAobWlzc2luZyBhcmd1bWVudHMgdG8gJyUlYicpAG1hbGZvcm1lZCBwYXR0ZXJuIChtaXNzaW5nICddJykAbWFsZm9ybWVkIHBhdHRlcm4gKGVuZHMgd2l0aCAnJSUnKQBtaXNzaW5nICd9JwBtaXNzaW5nICd7JwBpbnZhbGlkIGtleSB0byAnbmV4dCcAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byAnaW5zZXJ0JwAndG9zdHJpbmcnIG11c3QgcmV0dXJuIGEgc3RyaW5nIHRvICdwcmludCcAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdmb3JtYXQnAGludmFsaWQgdmFsdWUgKCVzKSBhdCBpbmRleCAlZCBpbiB0YWJsZSBmb3IgJ2NvbmNhdCcAJXMgJyVzJwBpbnZhbGlkIG9wdGlvbiAnJXMnAGZ1bmN0aW9uICclcycAPGdvdG8gJXM+IGF0IGxpbmUgJWQganVtcHMgaW50byB0aGUgc2NvcGUgb2YgbG9jYWwg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KCJtb2R1bGUgJXMgbm90IGZvdW5kIik6Zm9ybWF0KG5hbWUpIGVuZAogICAgaWYgdHlwZShtb2QpID09ICdzdHJpbmcnIHRoZW4KICAgICAgICBsb2NhbCBjaHVuaywgZXJyID0gbG9hZChtb2QsIG5hbWUpCiAgICAgICAgaWYgY2h1bmsgdGhlbgogICAgICAgICAgICByZXR1cm4gY2h1bmsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGVycm9yKCgiZXJyb3IgbG9hZGluZyBtb2R1bGUgJXM6ICVzIik6Zm9ybWF0KG5hbWUsIGVyciksIDApCiAgICAgICAgZW5kCiAgICBlbHNlaWYgdHlwZShtb2QpID09ICdmdW5jdGlvbicgdGhlbgogICAgICAgIHJldHVybiBtb2QKICAgIGVuZAplbmQKCnRhYmxlLmluc2VydChwYWNrYWdlLmxvYWRlcnMgb3IgcGFja2FnZS5zZWFyY2hlcnMsIDIsIF9pbmxpbmVfbG9hZGVyKQoKLS0gVGhlIF9fbHVhX3dlYmFzc2VtYmx5X18gbW9kdWxlIHdpbGwgYmUgaW5qZWN0IHZpYSBDIHByb2dyYW0uCmxvY2FsIG1haW4gPSBfaW5saW5lX2xvYWRlcignX19sdWFfd2ViYXNzZW1ibHlfXycpCm1haW4oKQoKLS0gRXhwb3J0IGZ1bmN0aW9uIGNhbGwgd3JhcHBlcgotLSBmdW5jdGlvbiBsdWFfY2FsbChmdW5jdGlvbl9uYW1lLCAuLi4pCi0tICAgZm9yIGssIHYgaW4gcGFpcnMoZXhwb3J0cykgZG8KLS0gICAgIHByaW50KGspCi0tICAgZW5kCi0tICAgcHJpbnQoZXhwb3J0c1snaGVsbG9fd29ybGQnXSkKLS0gICBwcmludCgjZnVuY3Rpb25fbmFtZSkKLS0gICBwcmludChmdW5jdGlvbl9uYW1lID09ICdoZWxsb193b3JsZCcpCi0tICAgcHJpbnQoZnVuY3Rpb25fbmFtZSA9PSAnaGVsbG9fd29ybGQnKQotLSAgIHByaW50KHR5cGUoZnVuY3Rpb25fbmFtZSkpCi0tIAotLSAgIGxvY2FsIG1vZCA9IGV4cG9ydHNbZnVuY3Rpb25fbmFtZV0KLS0gICBpZiBub3QgbW9kIHRoZW4KLS0gICAgIHByaW50KCgiTW9kdWxlICVzIGlzbid0IGV4cG9ydGVkIik6Zm9ybWF0KGZ1bmN0aW9uX25hbWUpKQotLSAgICAgcmV0dXJuCi0tICAgZWxzZWlmIHR5cGUobW9kKSB+PSAndGFibGUnIHRoZW4KLS0gICAgIHByaW50KCgiTW9kdWxlICVzIGV4cG9ydGVkIGJ1dCBub3QgYW4gdGFibGUiKTpmb3JtYXQoZnVuY3Rpb25fbmFtZSkpCi0tICAgICByZXR1cm4KLS0gICBlbmQKLS0gCi0tICAgbG9jYWwgZm4gPSBtb2QuZm4KLS0gICBpZiBub3QgZm4gdGhlbgotLSAgICAgcHJpbnQoKCJNb2R1bGUgJXMuZm4gaXMgbm90IGRlZmluZWQiKTpmb3JtYXQoZnVuY3Rpb25fbmFtZSkpCi0tICAgICByZXR1cm4KLS0gICBlbHNlaWYgdHlwZShmbikgfj0gJ2Z1bmN0aW9uJyB0aGVuCi0tICAgICBwcmludCgoIk1vZHVsZSAlcy5mbiBpcyBub3QgYSBmdW5jdGlvbiIpOmZvcm1hdChmdW5jdGlvbl9uYW1lKSkKLS0gICAgIHJldHVybgotLSAgIGVuZAotLSAgIC0tIENhbGwgZXhwb3J0ZWQgZnVuY3Rpb24KLS0gICBsb2NhbCBhcmd1bWVudHMgPSB7c2VsZWN0KDEsIC4uLil9Ci0tICAgcmV0dXJuIGZuKHRhYmxlLnVucGFjayhhcmd1bWVudHMpKQotLSBlbmQKAELQgAELsgRsb2NhbCBqc29uID0gcmVxdWlyZSAianNvbiIKCmZ1bmN0aW9uIGhhbmRsZShtc2dKU09OLCBhb0pTT04pCiAgICAtLSBieSByZXF1aXJpbmcgJy5wcm9jZXNzJyBoZXJlIHdlIGFyZSBhYmxlIHRvIHJlbG9hZCB2aWEgLnVwZGF0ZXMKICAgIGxvY2FsIHByb2Nlc3MgPSByZXF1aXJlICIucHJvY2VzcyIKICAgIC0tIGRlY29kZSBpbnB1dHMKICAgIGxvY2FsIG1zZyA9IGpzb24uZGVjb2RlKG1zZ0pTT04pCiAgICBsb2NhbCBlbnYgPSBqc29uLmRlY29kZShhb0pTT04pCgogICAgLS0gaGFuZGxlIHByb2Nlc3MKICAgIGxvY2FsIHN0YXR1cywgcmVzcG9uc2UgPSBwY2FsbChmdW5jdGlvbigpCiAgICAgICAgcmV0dXJuIChwcm9jZXNzLmhhbmRsZShtc2csIGVudikpCiAgICBlbmQpCgogICAgLS0gZW5jb2RlIG91dHB1dAogICAgbG9jYWwgcmVzcG9uc2VKU09OID0ganNvbi5lbmNvZGUoe29rID0gc3RhdHVzLCByZXNwb25zZSA9IHJlc3BvbnNlfSkKICAgIC0tIGZyZWUgCiAgICByZXNwb25zZSA9IG5pbAogICAgY29sbGVjdGdhcmJhZ2UoKQogICAgcmV0dXJuIHJlc3BvbnNlSlNPTgplbmQKAEKQhQELo4cELS0tIFRoZSBFdmFsIG1vZHVsZSBwcm92aWRlcyBhIGhhbmRsZXIgZm9yIGV2YWx1YXRpbmcgTHVhIGV4cHJlc3Npb25zLiBSZXR1cm5zIHRoZSBldmFsIGZ1bmN0aW9uLgoKLS0gQG1vZHVsZSBldmFsCgoKCmxvY2FsIHN0cmluZ2lmeSA9IHJlcXVpcmUoIi5zdHJpbmdpZnkiKQoKCgotLS0gVGhlIGV2YWwgZnVuY3Rpb24uCgotLSBIYW5kbGVyIGZvciBleGVjdXRpbmcgYW5kIGV2YWx1YXRpbmcgTHVhIGV4cHJlc3Npb25zLgoKLS0gQWZ0ZXIgZXhlY3V0aW9uLCB0aGUgcmVzdWx0IGlzIHN0cmluZ2lmaWVkIGFuZCBwbGFjZWQgaW4gYW8ub3V0Ym94Lk91dHB1dC4KCi0tIEBmdW5jdGlvbiBldmFsCgotLSBAdHBhcmFtIHt0YWJsZX0gYW8gVGhlIGFvIGVudmlyb25tZW50IG9iamVjdAoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBUaGUgaGFuZGxlciBmdW5jdGlvbiwgd2hpY2ggdGFrZXMgYSBtZXNzYWdlIGFzIGFuIGFyZ3VtZW50LgoKLS0gQHNlZSBzdHJpbmdpZnkKCnJldHVybiBmdW5jdGlvbiAoYW8pCgogIHJldHVybiBmdW5jdGlvbiAobXNnKQoKICAgIC0tIGV4ZWMgZXhwcmVzc2lvbgoKICAgIGxvY2FsIGV4cHIgPSBtc2cuRGF0YQoKICAgIGxvY2FsIGZ1bmMsIGVyciA9IGxvYWQoInJldHVybiAiIC4uIGV4cHIsICdhb3MnLCAndCcsIF9HKQoKICAgIGxvY2FsIG91dHB1dCA9ICIiCgogICAgbG9jYWwgZSA9IG5pbAoKICAgIGlmIGVyciB0aGVuCgogICAgICBmdW5jLCBlcnIgPSBsb2FkKGV4cHIsICdhb3MnLCAndCcsIF9HKQoKICAgIGVuZAoKICAgIGlmIGZ1bmMgdGhlbgoKICAgICAgb3V0cHV0LCBlID0gZnVuYygpCgogICAgZWxzZQoKICAgICAgYW8ub3V0Ym94LkVycm9yID0gZXJyCgogICAgICByZXR1cm4KCiAgICBlbmQKCiAgICBpZiBlIHRoZW4gCgogICAgICBhby5vdXRib3guRXJyb3IgPSBlCgogICAgICByZXR1cm4gCgogICAgZW5kCgogICAgaWYgSEFORExFUl9QUklOVF9MT0dTIGFuZCBvdXRwdXQgdGhlbgoKICAgICAgdGFibGUuaW5zZXJ0KEhBTkRMRVJfUFJJTlRfTE9HUywgdHlwZShvdXRwdXQpID09ICJ0YWJsZSIgYW5kIHN0cmluZ2lmeS5mb3JtYXQob3V0cHV0KSBvciB0b3N0cmluZyhvdXRwdXQpKQoKICAgIGVsc2UKCiAgICAgIC0tIHNldCByZXN1bHQgaW4gb3V0Ym94Lk91dHB1dCAoTGVmdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkpCgogICAgICBhby5vdXRib3guT3V0cHV0ID0geyAgCgogICAgICAgIGpzb24gPSB0eXBlKG91dHB1dCkgPT0gInRhYmxlIiBhbmQgcGNhbGwoZnVuY3Rpb24gKCkgcmV0dXJuIGpzb24uZW5jb2RlKG91dHB1dCkgZW5kKSBhbmQgb3V0cHV0IG9yICJ1bmRlZmluZWQiLAoKICAgICAgICBkYXRhID0gewoKICAgICAgICAgIG91dHB1dCA9IHR5cGUob3V0cHV0KSA9PSAidGFibGUiIGFuZCBzdHJpbmdpZnkuZm9ybWF0KG91dHB1dCkgb3Igb3V0cHV0LAoKICAgICAgICAgIHByb21wdCA9IFByb21wdCgpCgogICAgICAgIH0sIAoKICAgICAgICBwcm9tcHQgPSBQcm9tcHQoKQoKICAgICAgfQoKCgogICAgZW5kCgogIGVuZAoKZW5kCgAALS0tIFRoZSBVdGlscyBtb2R1bGUgcHJvdmlkZXMgYSBjb2xsZWN0aW9uIG9mIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBmdW5jdGlvbmFsIHByb2dyYW1taW5nIGluIEx1YS4gSXQgaW5jbHVkZXMgZnVuY3Rpb25zIGZvciBhcnJheSBtYW5pcHVsYXRpb24gc3VjaCBhcyBjb25jYXRlbmF0aW9uLCBtYXBwaW5nLCByZWR1Y3Rpb24sIGZpbHRlcmluZywgYW5kIGZpbmRpbmcgZWxlbWVudHMsIGFzIHdlbGwgYXMgYSBwcm9wZXJ0eSBlcXVhbGl0eSBjaGVja2VyLgoKLS0gQG1vZHVsZSB1dGlscwoKCgotLS0gVGhlIHV0aWxzIHRhYmxlCgotLSBAdGFibGUgdXRpbHMKCi0tIEBmaWVsZCBfdmVyc2lvbiBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIHV0aWxzIG1vZHVsZQoKLS0gQGZpZWxkIG1hdGNoZXNQYXR0ZXJuIFRoZSBtYXRjaGVzUGF0dGVybiBmdW5jdGlvbgoKLS0gQGZpZWxkIG1hdGNoZXNTcGVjIFRoZSBtYXRjaGVzU3BlYyBmdW5jdGlvbgoKLS0gQGZpZWxkIGN1cnJ5IFRoZSBjdXJyeSBmdW5jdGlvbgoKLS0gQGZpZWxkIGNvbmNhdCBUaGUgY29uY2F0IGZ1bmN0aW9uCgotLSBAZmllbGQgcmVkdWNlIFRoZSByZWR1Y2UgZnVuY3Rpb24KCi0tIEBmaWVsZCBtYXAgVGhlIG1hcCBmdW5jdGlvbgoKLS0gQGZpZWxkIGZpbHRlciBUaGUgZmlsdGVyIGZ1bmN0aW9uCgotLSBAZmllbGQgZmluZCBUaGUgZmluZCBmdW5jdGlvbgoKLS0gQGZpZWxkIHByb3BFcSBUaGUgcHJvcEVxIGZ1bmN0aW9uCgotLSBAZmllbGQgcmV2ZXJzZSBUaGUgcmV2ZXJzZSBmdW5jdGlvbgoKLS0gQGZpZWxkIGNvbXBvc2UgVGhlIGNvbXBvc2UgZnVuY3Rpb24KCi0tIEBmaWVsZCBwcm9wIFRoZSBwcm9wIGZ1bmN0aW9uCgotLSBAZmllbGQgaW5jbHVkZXMgVGhlIGluY2x1ZGVzIGZ1bmN0aW9uCgotLSBAZmllbGQga2V5cyBUaGUga2V5cyBmdW5jdGlvbgoKLS0gQGZpZWxkIHZhbHVlcyBUaGUgdmFsdWVzIGZ1bmN0aW9uCgpsb2NhbCB1dGlscyA9IHsgX3ZlcnNpb24gPSAiMC4wLjUiIH0KCgoKLS0tIEdpdmVuIGEgcGF0dGVybiwgYSB2YWx1ZSwgYW5kIGEgbWVzc2FnZSwgcmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGEgcGF0dGVybiBtYXRjaC4KCi0tIEB1c2FnZSB1dGlscy5tYXRjaGVzUGF0dGVybihwYXR0ZXJuLCB2YWx1ZSwgbXNnKQoKLS0gQHBhcmFtIHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gbWF0Y2gKCi0tIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2sgZm9yIGluIHRoZSBwYXR0ZXJuCgotLSBAcGFyYW0gbXNnIFRoZSBtZXNzYWdlIHRvIGNoZWNrIGZvciB0aGUgcGF0dGVybgoKLS0gQHRyZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlcmUgaXMgYSBwYXR0ZXJuIG1hdGNoCgpmdW5jdGlvbiB1dGlscy5tYXRjaGVzUGF0dGVybihwYXR0ZXJuLCB2YWx1ZSwgbXNnKQoKICAtLSBJZiB0aGUga2V5IGlzIG5vdCBpbiB0aGUgbWVzc2FnZSwgdGhlbiBpdCBkb2VzIG5vdCBtYXRjaAoKICBpZiAobm90IHBhdHRlcm4pIHRoZW4KCiAgICByZXR1cm4gZmFsc2UKCiAgZW5kCgogIC0tIGlmIHRoZSBwYXR0ZXJuTWF0Y2hTcGVjIGlzIGEgd2lsZGNhcmQsIHRoZW4gaXQgYWx3YXlzIG1hdGNoZXMKCiAgaWYgcGF0dGVybiA9PSAnXycgdGhlbgoKICAgIHJldHVybiB0cnVlCgogIGVuZAoKICAtLSBpZiB0aGUgcGF0dGVybk1hdGNoU3BlYyBpcyBhIGZ1bmN0aW9uLCB0aGVuIGl0IGlzIGV4ZWN1dGVkIG9uIHRoZSB0YWcgdmFsdWUKCiAgaWYgdHlwZShwYXR0ZXJuKSA9PSAiZnVuY3Rpb24iIHRoZW4KCiAgICBpZiBwYXR0ZXJuKHZhbHVlLCBtc2cpIHRoZW4KCiAgICAgIHJldHVybiB0cnVlCgogICAgZWxzZQoKICAgICAgcmV0dXJuIGZhbHNlCgogICAgZW5kCgogIGVuZAoKICAKCiAgLS0gaWYgdGhlIHBhdHRlcm5NYXRjaFNwZWMgaXMgYSBzdHJpbmcsIGNoZWNrIGl0IGZvciBzcGVjaWFsIHN5bWJvbHMgKGxlc3MgYC1gIGFsb25lKQoKICAtLSBhbmQgZXhhY3Qgc3RyaW5nIG1hdGNoIG1vZGUKCiAgaWYgKHR5cGUocGF0dGVybikgPT0gJ3N0cmluZycpIHRoZW4KCiAgICBpZiBzdHJpbmcubWF0Y2gocGF0dGVybiwgIlslXiUkJSglKSUlJS4lWyVdJSolKyU/XSIpIHRoZW4KCiAgICAgIGlmIHN0cmluZy5tYXRjaCh2YWx1ZSwgcGF0dGVybikgdGhlbgoKICAgICAgICByZXR1cm4gdHJ1ZQoKICAgICAgZW5kCgogICAgZWxzZQoKICAgICAgaWYgdmFsdWUgPT0gcGF0dGVybiB0aGVuCgogICAgICAgIHJldHVybiB0cnVlCgogICAgICBlbmQKCiAgICBlbmQKCiAgZW5kCgoKCiAgLS0gaWYgdGhlIHBhdHRlcm4gaXMgYSB0YWJsZSwgcmVjdXJzaXZlbHkgY2hlY2sgaWYgYW55IG9mIGl0cyBzdWItcGF0dGVybnMgbWF0Y2gKCiAgaWYgdHlwZShwYXR0ZXJuKSA9PSAndGFibGUnIHRoZW4KCiAgICBmb3IgXywgc3ViUGF0dGVybiBpbiBwYWlycyhwYXR0ZXJuKSBkbwoKICAgICAgaWYgdXRpbHMubWF0Y2hlc1BhdHRlcm4oc3ViUGF0dGVybiwgdmFsdWUsIG1zZykgdGhlbgoKICAgICAgICByZXR1cm4gdHJ1ZQoKICAgICAgZW5kCgogICAgZW5kCgogIGVuZAoKCgogIHJldHVybiBmYWxzZQoKZW5kCgoKCi0tLSBHaXZlbiBhIG1lc3NhZ2UgYW5kIGEgc3BlYywgcmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGEgc3BlYyBtYXRjaC4KCi0tIEB1c2FnZSB1dGlscy5tYXRjaGVzU3BlYyhtc2csIHNwZWMpCgotLSBAcGFyYW0gbXNnIFRoZSBtZXNzYWdlIHRvIGNoZWNrIGZvciB0aGUgc3BlYwoKLS0gQHBhcmFtIHNwZWMgVGhlIHNwZWMgdG8gY2hlY2sgZm9yIGluIHRoZSBtZXNzYWdlCgotLSBAdHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGVyZSBpcyBhIHNwZWMgbWF0Y2gKCmZ1bmN0aW9uIHV0aWxzLm1hdGNoZXNTcGVjKG1zZywgc3BlYykKCiAgaWYgdHlwZShzcGVjKSA9PSAnZnVuY3Rpb24nIHRoZW4KCiAgICByZXR1cm4gc3BlYyhtc2cpCgogIC0tIElmIHRoZSBzcGVjIGlzIGEgdGFibGUsIHN0ZXAgdGhyb3VnaCBldmVyeSBrZXkvdmFsdWUgcGFpciBpbiB0aGUgcGF0dGVybiBhbmQgY2hlY2sgaWYgdGhlIG1zZyBtYXRjaGVzCgogIC0tIFN1cHBvcnRlZCBwYXR0ZXJuIHR5cGVzOgoKICAtLSAgIC0gRXhhY3Qgc3RyaW5nIG1hdGNoCgogIC0tICAgLSBMdWEgZ21hdGNoIHN0cmluZwoKICAtLSAgIC0gJ18nICh3aWxkY2FyZDogTWVzc2FnZSBoYXMgdGFnLCBidXQgY2FuIGJlIGFueSB2YWx1ZSkKCiAgLS0gICAtIEZ1bmN0aW9uIGV4ZWN1dGlvbiBvbiB0aGUgdGFnLCBvcHRpb25hbGx5IHVzaW5nIHRoZSBtc2cgYXMgdGhlIHNlY29uZCBhcmd1bWVudAoKICAtLSAgIC0gVGFibGUgb2YgcGF0dGVybnMsIHdoZXJlIEFOWSBvZiB0aGUgc3ViLXBhdHRlcm5zIG1hdGNoaW5nIHRoZSB0YWcgd2lsbCByZXN1bHQgaW4gYSBtYXRjaAoKICBlbmQKCiAgaWYgdHlwZShzcGVjKSA9PSAndGFibGUnIHRoZW4KCiAgICBmb3Iga2V5LCBwYXR0ZXJuIGluIHBhaXJzKHNwZWMpIGRvCgogICAgICAtLSBUaGUga2V5IGNhbiBlaXRoZXIgYmUgaW4gdGhlIHRvcCBsZXZlbCBvZiB0aGUgJ21zZycgb2JqZWN0IG9yIHdpdGhpbiB0aGUgJ1RhZ3MnIAoKCgogICAgICBsb2NhbCBtc2dWYWx1ZSA9IG1zZ1trZXldCgogICAgICBsb2NhbCBtc2dUYWdWYWx1ZSA9IG1zZ1snVGFncyddIGFuZCBtc2dbJ1RhZ3MnXVtrZXldCgogIAoKICAgICAgaWYgbm90IG1zZ1ZhbHVlIGFuZCBub3QgbXNnVGFnVmFsdWUgdGhlbgoKICAgICAgICByZXR1cm4gZmFsc2UKCiAgICAgIGVuZAoKICAKCiAgICAgIGxvY2FsIG1hdGNoZXNNc2dWYWx1ZSA9IHV0aWxzLm1hdGNoZXNQYXR0ZXJuKHBhdHRlcm4sIG1zZ1ZhbHVlLCBtc2cpCgogICAgICBsb2NhbCBtYXRjaGVzTXNnVGFnVmFsdWUgPSB1dGlscy5tYXRjaGVzUGF0dGVybihwYXR0ZXJuLCBtc2dUYWdWYWx1ZSwgbXNnKQoKICAKCiAgICAgIGlmIG5vdCBtYXRjaGVzTXNnVmFsdWUgYW5kIG5vdCBtYXRjaGVzTXNnVGFnVmFsdWUgdGhlbgoKICAgICAgICByZXR1cm4gZmFsc2UKCiAgICAgIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiB0cnVlCgogIGVuZAoKICAKCiAgaWYgdHlwZShzcGVjKSA9PSAnc3RyaW5nJyBhbmQgbXNnLkFjdGlvbiBhbmQgbXNnLkFjdGlvbiA9PSBzcGVjIHRoZW4KCiAgICByZXR1cm4gdHJ1ZQoKICBlbmQKCiAgcmV0dXJuIGZhbHNlCgplbmQKCgoKLS0tIEdpdmVuIGEgdGFibGUsIHJldHVybnMgd2hldGhlciBpdCBpcyBhbiBhcnJheS4KCi0tIEFuICdhcnJheScgaXMgZGVmaW5lZCBhcyBhIHRhYmxlIHdpdGggaW50ZWdlciBrZXlzIHN0YXJ0aW5nIGZyb20gMSBhbmQKCi0tIGhhdmluZyBubyBnYXBzIGJldHdlZW4gdGhlIGtleXMuCgotLSBAbGZ1bmN0aW9uIGlzQXJyYXkKCi0tIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgdG8gY2hlY2sKCi0tIEB0cmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSB0YWJsZSBpcyBhbiBhcnJheQoKbG9jYWwgZnVuY3Rpb24gaXNBcnJheSh0YWJsZSkKCiAgaWYgdHlwZSh0YWJsZSkgPT0gInRhYmxlIiB0aGVuCgogICAgICBsb2NhbCBtYXhJbmRleCA9IDAKCiAgICAgIGZvciBrLCB2IGluIHBhaXJzKHRhYmxlKSBkbwoKICAgICAgICAgIGlmIHR5cGUoaykgfj0gIm51bWJlciIgb3IgayA8IDEgb3IgbWF0aC5mbG9vcihrKSB+PSBrIHRoZW4KCiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlIC0tIElmIHRoZXJlJ3MgYSBub24taW50ZWdlciBrZXksIGl0J3Mgbm90IGFuIGFycmF5CgogICAgICAgICAgZW5kCgogICAgICAgICAgbWF4SW5kZXggPSBtYXRoLm1heChtYXhJbmRleCwgaykKCiAgICAgIGVuZAoKICAgICAgLS0gSWYgdGhlIGhpZ2hlc3QgbnVtZXJpYyBpbmRleCBpcyBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzLCBpdCdzIGFuIGFycmF5CgogICAgICByZXR1cm4gbWF4SW5kZXggPT0gI3RhYmxlCgogIGVuZAoKICByZXR1cm4gZmFsc2UKCmVuZAoKCgotLS0gQ3VycmllcyBhIGZ1bmN0aW9uLgoKLS0gQHRwYXJhbSB7ZnVuY3Rpb259IGZuIFRoZSBmdW5jdGlvbiB0byBjdXJyeQoKLS0gQHRwYXJhbSB7bnVtYmVyfSBhcml0eSBUaGUgYXJpdHkgb2YgdGhlIGZ1bmN0aW9uCgotLSBAdHJldHVybiB7ZnVuY3Rpb259IFRoZSBjdXJyaWVkIGZ1bmN0aW9uCgp1dGlscy5jdXJyeSA9IGZ1bmN0aW9uIChmbiwgYXJpdHkpCgogIGFzc2VydCh0eXBlKGZuKSA9PSAiZnVuY3Rpb24iLCAiZnVuY3Rpb24gaXMgcmVxdWlyZWQgYXMgZmlyc3QgYXJndW1lbnQiKQoKICBhcml0eSA9IGFyaXR5IG9yIGRlYnVnLmdldGluZm8oZm4sICJ1IikubnBhcmFtcwoKICBpZiBhcml0eSA8IDIgdGhlbiByZXR1cm4gZm4gZW5kCgoKCiAgcmV0dXJuIGZ1bmN0aW9uICguLi4pCgogICAgbG9jYWwgYXJncyA9IHsuLi59CgoKCiAgICBpZiAjYXJncyA+PSBhcml0eSB0aGVuCgogICAgICByZXR1cm4gZm4odGFibGUudW5wYWNrKGFyZ3MpKQoKICAgIGVsc2UKCiAgICAgIHJldHVybiB1dGlscy5jdXJyeShmdW5jdGlvbiAoLi4uKQoKICAgICAgICByZXR1cm4gZm4odGFibGUudW5wYWNrKGFyZ3MpLCAgLi4uKQoKICAgICAgZW5kLCBhcml0eSAtICNhcmdzKQoKICAgIGVuZAoKICBlbmQKCmVuZAoKCgotLS0gQ29uY2F0IHR3byBBcnJheSBUYWJsZXMKCi0tIEBmdW5jdGlvbiBjb25jYXQKCi0tIEB1c2FnZSB1dGlscy5jb25jYXQoYSkoYikKCi0tIEB1c2FnZSB1dGlscy5jb25jYXQoezEsIDJ9KSh7MywgNH0pIC0tPiB7MSwgMiwgMywgNH0KCi0tIEB0cGFyYW0ge3RhYmxlPEFycmF5Pn0gYSBUaGUgZmlyc3QgYXJyYXkKCi0tIEB0cGFyYW0ge3RhYmxlPEFycmF5Pn0gYiBUaGUgc2Vjb25kIGFycmF5CgotLSBAdHJldHVybiB7dGFibGU8QXJyYXk+fSBUaGUgY29uY2F0ZW5hdGVkIGFycmF5Cgp1dGlscy5jb25jYXQgPSB1dGlscy5jdXJyeShmdW5jdGlvbiAoYSwgYikKCiAgYXNzZXJ0KHR5cGUoYSkgPT0gInRhYmxlIiwgImZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHRhYmxlIHRoYXQgaXMgYW4gYXJyYXkiKQoKICBhc3NlcnQodHlwZShiKSA9PSAidGFibGUiLCAic2Vjb25kIGFyZ3VtZW50IHNob3VsZCBiZSBhIHRhYmxlIHRoYXQgaXMgYW4gYXJyYXkiKQoKICBhc3NlcnQoaXNBcnJheShhKSwgImZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHRhYmxlIikKCiAgYXNzZXJ0KGlzQXJyYXkoYiksICJzZWNvbmQgYXJndW1lbnQgc2hvdWxkIGJlIGEgdGFibGUiKQoKCgogIGxvY2FsIHJlc3VsdCA9IHt9CgogIGZvciBpID0gMSwgI2EgZG8KCiAgICAgIHJlc3VsdFsjcmVzdWx0ICsgMV0gPSBhW2ldCgogIGVuZAoKICBmb3IgaSA9IDEsICNiIGRvCgogICAgICByZXN1bHRbI3Jlc3VsdCArIDFdID0gYltpXQoKICBlbmQKCiAgcmV0dXJuIHJlc3VsdAoKZW5kLCAyKQoKCgotLS0gQXBwbGllcyBhIGZ1bmN0aW9uIHRvIGVhY2ggZWxlbWVudCBvZiBhIHRhYmxlLCByZWR1Y2luZyBpdCB0byBhIHNpbmdsZSB2YWx1ZS4KCi0tIEBmdW5jdGlvbiB1dGlscy5yZWR1Y2UKCi0tIEB1c2FnZSB1dGlscy5yZWR1Y2UoZm4pKGluaXRpYWwpKHQpCgotLSBAdXNhZ2UgdXRpbHMucmVkdWNlKGZ1bmN0aW9uKGFjYywgeCkgcmV0dXJuIGFjYyArIHggZW5kKSgwKSh7MSwgMiwgM30pIC0tPiA2CgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIGFwcGx5CgotLSBAcGFyYW0gaW5pdGlhbCBUaGUgaW5pdGlhbCB2YWx1ZQoKLS0gQHRwYXJhbSB7dGFibGU8QXJyYXk+fSB0IFRoZSB0YWJsZSB0byByZWR1Y2UKCi0tIEByZXR1cm4gVGhlIHJlZHVjZWQgdmFsdWUKCnV0aWxzLnJlZHVjZSA9IHV0aWxzLmN1cnJ5KGZ1bmN0aW9uIChmbiwgaW5pdGlhbCwgdCkKCiAgYXNzZXJ0KHR5cGUoZm4pID09ICJmdW5jdGlvbiIsICJmaXJzdCBhcmd1bWVudCBzaG91bGQgYmUgYSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgKHJlc3VsdCwgdmFsdWUsIGtleSkiKQoKICBhc3NlcnQodHlwZSh0KSA9PSAidGFibGUiIGFuZCBpc0FycmF5KHQpLCAidGhpcmQgYXJndW1lbnQgc2hvdWxkIGJlIGEgdGFibGUgdGhhdCBpcyBhbiBhcnJheSIpCgogIGxvY2FsIHJlc3VsdCA9IGluaXRpYWwKCiAgZm9yIGssIHYgaW4gcGFpcnModCkgZG8KCiAgICBpZiByZXN1bHQgPT0gbmlsIHRoZW4KCiAgICAgIHJlc3VsdCA9IHYKCiAgICBlbHNlCgogICAgICByZXN1bHQgPSBmbihyZXN1bHQsIHYsIGspCgogICAgZW5kCgogIGVuZAoKICByZXR1cm4gcmVzdWx0CgplbmQsIDMpCgoKCi0tLSBBcHBsaWVzIGEgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50IG9mIGFuIGFycmF5IHRhYmxlLCBtYXBwaW5nIGl0IHRvIGEgbmV3IHZhbHVlLgoKLS0gQGZ1bmN0aW9uIHV0aWxzLm1hcAoKLS0gQHVzYWdlIHV0aWxzLm1hcChmbikodCkKCi0tIEB1c2FnZSB1dGlscy5tYXAoZnVuY3Rpb24oeCkgcmV0dXJuIHggKiAyIGVuZCkoezEsIDIsIDN9KSAtLT4gezIsIDQsIDZ9CgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggZWxlbWVudAoKLS0gQHRwYXJhbSB7dGFibGU8QXJyYXk+fSBkYXRhIFRoZSB0YWJsZSB0byBtYXAgb3ZlcgoKLS0gQHRyZXR1cm4ge3RhYmxlPEFycmF5Pn0gVGhlIG1hcHBlZCB0YWJsZQoKdXRpbHMubWFwID0gdXRpbHMuY3VycnkoZnVuY3Rpb24gKGZuLCBkYXRhKQoKICBhc3NlcnQodHlwZShmbikgPT0gImZ1bmN0aW9uIiwgImZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHVuYXJ5IGZ1bmN0aW9uIikKCiAgYXNzZXJ0KHR5cGUoZGF0YSkgPT0gInRhYmxlIiBhbmQgaXNBcnJheShkYXRhKSwgInNlY29uZCBhcmd1bWVudCBzaG91bGQgYmUgYW4gQXJyYXkiKQoKCgogIGxvY2FsIGZ1bmN0aW9uIG1hcCAocmVzdWx0LCB2LCBrKQoKICAgIHJlc3VsdFtrXSA9IGZuKHYsIGspCgogICAgcmV0dXJuIHJlc3VsdAoKICBlbmQKCgoKICByZXR1cm4gdXRpbHMucmVkdWNlKG1hcCwge30sIGRhdGEpCgplbmQsIDIpCgoKCi0tLSBGaWx0ZXJzIGFuIGFycmF5IHRhYmxlIGJhc2VkIG9uIGEgcHJlZGljYXRlIGZ1bmN0aW9uLgoKLS0gQGZ1bmN0aW9uIHV0aWxzLmZpbHRlcgoKLS0gQHVzYWdlIHV0aWxzLmZpbHRlcihmbikodCkKCi0tIEB1c2FnZSB1dGlscy5maWx0ZXIoZnVuY3Rpb24oeCkgcmV0dXJuIHggPiAxIGVuZCkoezEsIDIsIDN9KSAtLT4gezIsM30KCi0tIEB0cGFyYW0ge2Z1bmN0aW9ufSBmbiBUaGUgcHJlZGljYXRlIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiBhbiBlbGVtZW50IHNob3VsZCBiZSBpbmNsdWRlZC4KCi0tIEB0cGFyYW0ge3RhYmxlPEFycmF5Pn0gZGF0YSBUaGUgYXJyYXkgdG8gZmlsdGVyCgotLSBAdHJldHVybiB7dGFibGU8QXJyYXk+fSBUaGUgZmlsdGVyZWQgdGFibGUKCnV0aWxzLmZpbHRlciA9IHV0aWxzLmN1cnJ5KGZ1bmN0aW9uIChmbiwgZGF0YSkKCiAgYXNzZXJ0KHR5cGUoZm4pID09ICJmdW5jdGlvbiIsICJmaXJzdCBhcmd1bWVudCBzaG91bGQgYmUgYSB1bmFyeSBmdW5jdGlvbiIpCgogIGFzc2VydCh0eXBlKGRhdGEpID09ICJ0YWJsZSIgYW5kIGlzQXJyYXkoZGF0YSksICJzZWNvbmQgYXJndW1lbnQgc2hvdWxkIGJlIGFuIEFycmF5IikKCgoKICBsb2NhbCBmdW5jdGlvbiBmaWx0ZXIgKHJlc3VsdCwgdiwgX2spCgogICAgaWYgZm4odikgdGhlbgoKICAgICAgdGFibGUuaW5zZXJ0KHJlc3VsdCwgdikKCiAgICBlbmQKCiAgICByZXR1cm4gcmVzdWx0CgogIGVuZAoKCgogIHJldHVybiB1dGlscy5yZWR1Y2UoZmlsdGVyLHt9LCBkYXRhKQoKZW5kLCAyKQoKCgotLS0gRmluZHMgdGhlIGZpcnN0IGVsZW1lbnQgaW4gYW4gYXJyYXkgdGFibGUgdGhhdCBzYXRpc2ZpZXMgYSBwcmVkaWNhdGUgZnVuY3Rpb24uCgotLSBAZnVuY3Rpb24gdXRpbHMuZmluZAoKLS0gQHVzYWdlIHV0aWxzLmZpbmQoZm4pKHQpCgotLSBAdXNhZ2UgdXRpbHMuZmluZChmdW5jdGlvbih4KSByZXR1cm4geCA+IDEgZW5kKSh7MSwgMiwgM30pIC0tPiAyCgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gZm4gVGhlIHByZWRpY2F0ZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYW4gZWxlbWVudCBzaG91bGQgYmUgaW5jbHVkZWQuCgotLSBAdHBhcmFtIHt0YWJsZTxBcnJheT59IHQgVGhlIGFycmF5IHRhYmxlIHRvIHNlYXJjaAoKLS0gQHRyZXR1cm4gVGhlIGZpcnN0IGVsZW1lbnQgdGhhdCBzYXRpc2ZpZXMgdGhlIHByZWRpY2F0ZSBmdW5jdGlvbgoKdXRpbHMuZmluZCA9IHV0aWxzLmN1cnJ5KGZ1bmN0aW9uIChmbiwgdCkKCiAgYXNzZXJ0KHR5cGUoZm4pID09ICJmdW5jdGlvbiIsICJmaXJzdCBhcmd1bWVudCBzaG91bGQgYmUgYSB1bmFyeSBmdW5jdGlvbiIpCgogIGFzc2VydCh0eXBlKHQpID09ICJ0YWJsZSIsICJzZWNvbmQgYXJndW1lbnQgc2hvdWxkIGJlIGEgdGFibGUgdGhhdCBpcyBhbiBhcnJheSIpCgogIGZvciBfLCB2IGluIHBhaXJzKHQpIGRvCgogICAgaWYgZm4odikgdGhlbgoKICAgICAgcmV0dXJuIHYKCiAgICBlbmQKCiAgZW5kCgplbmQsIDIpCgoKCi0tLSBDaGVja3MgaWYgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QgaXMgZXF1YWwgdG8gYSB2YWx1ZS4KCi0tIEBmdW5jdGlvbiB1dGlscy5wcm9wRXEKCi0tIEB1c2FnZSB1dGlscy5wcm9wRXEocHJvcE5hbWUpKHZhbHVlKShvYmplY3QpCgotLSBAdXNhZ2UgdXRpbHMucHJvcEVxKCJuYW1lIikoIkx1YSIpKHtuYW1lID0gIkx1YSJ9KSAtLT4gdHJ1ZQoKLS0gQHRwYXJhbSB7c3RyaW5nfSBwcm9wTmFtZSBUaGUgcHJvcGVydHkgbmFtZSB0byBjaGVjawoKLS0gQHRwYXJhbSB7c3RyaW5nfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2sgYWdhaW5zdAoKLS0gQHRwYXJhbSB7dGFibGV9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNoZWNrCgotLSBAdHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgcHJvcGVydHkgaXMgZXF1YWwgdG8gdGhlIHZhbHVlCgp1dGlscy5wcm9wRXEgPSB1dGlscy5jdXJyeShmdW5jdGlvbiAocHJvcE5hbWUsIHZhbHVlLCBvYmplY3QpCgogIGFzc2VydCh0eXBlKHByb3BOYW1lKSA9PSAic3RyaW5nIiwgImZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyIpCgogIGFzc2VydCh0eXBlKHZhbHVlKSA9PSAic3RyaW5nIiwgInNlY29uZCBhcmd1bWVudCBzaG91bGQgYmUgYSBzdHJpbmciKQoKICBhc3NlcnQodHlwZShvYmplY3QpID09ICJ0YWJsZSIsICJ0aGlyZCBhcmd1bWVudCBzaG91bGQgYmUgYSB0YWJsZTxvYmplY3Q+IikKCiAgCgogIHJldHVybiBvYmplY3RbcHJvcE5hbWVdID09IHZhbHVlCgplbmQsIDMpCgoKCi0tLSBSZXZlcnNlcyBhbiBhcnJheSB0YWJsZS4KCi0tIEBmdW5jdGlvbiB1dGlscy5yZXZlcnNlCgotLSBAdXNhZ2UgdXRpbHMucmV2ZXJzZShkYXRhKQoKLS0gQHVzYWdlIHV0aWxzLnJldmVyc2UoezEsIDIsIDN9KSAtLT4gezMsIDIsIDF9CgotLSBAdHBhcmFtIHt0YWJsZTxBcnJheT59IGRhdGEgVGhlIGFycmF5IHRhYmxlIHRvIHJldmVyc2UKCi0tIEB0cmV0dXJuIHt0YWJsZTxBcnJheT59IFRoZSByZXZlcnNlZCBhcnJheSB0YWJsZQoKdXRpbHMucmV2ZXJzZSA9IGZ1bmN0aW9uIChkYXRhKQoKICBhc3NlcnQodHlwZShkYXRhKSA9PSAidGFibGUiLCAiYXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0YWJsZSB0aGF0IGlzIGFuIGFycmF5IikKCiAgcmV0dXJuIHV0aWxzLnJlZHVjZSgKCiAgICBmdW5jdGlvbiAocmVzdWx0LCB2LCBpKQoKICAgICAgcmVzdWx0WyNkYXRhIC0gaSArIDFdID0gdgoKICAgICAgcmV0dXJuIHJlc3VsdAoKICAgIGVuZCwKCiAgICB7fSwKCiAgICBkYXRhCgogICkKCmVuZAoKCgotLS0gQ29tcG9zZXMgYSBzZXJpZXMgb2YgZnVuY3Rpb25zIGludG8gYSBzaW5nbGUgZnVuY3Rpb24uCgotLSBAZnVuY3Rpb24gdXRpbHMuY29tcG9zZQoKLS0gQHVzYWdlIHV0aWxzLmNvbXBvc2UoZm4xKShmbjIpKGZuMykodikKCi0tIEB1c2FnZSB1dGlscy5jb21wb3NlKGZ1bmN0aW9uKHgpIHJldHVybiB4ICsgMSBlbmQpKGZ1bmN0aW9uKHgpIHJldHVybiB4ICogMiBlbmQpKDMpIC0tPiA3CgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gLi4uIFRoZSBmdW5jdGlvbnMgdG8gY29tcG9zZQoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBUaGUgY29tcG9zZWQgZnVuY3Rpb24KCnV0aWxzLmNvbXBvc2UgPSB1dGlscy5jdXJyeShmdW5jdGlvbiAoLi4uKQoKICBsb2NhbCBtdXRhdGlvbnMgPSB1dGlscy5yZXZlcnNlKHsuLi59KQoKCgogIHJldHVybiBmdW5jdGlvbiAodikKCiAgICBsb2NhbCByZXN1bHQgPSB2CgogICAgZm9yIF8sIGZuIGluIHBhaXJzKG11dGF0aW9ucykgZG8KCiAgICAgIGFzc2VydCh0eXBlKGZuKSA9PSAiZnVuY3Rpb24iLCAiZWFjaCBhcmd1bWVudCBuZWVkcyB0byBiZSBhIGZ1bmN0aW9uIikKCiAgICAgIHJlc3VsdCA9IGZuKHJlc3VsdCkKCiAgICBlbmQKCiAgICByZXR1cm4gcmVzdWx0CgogIGVuZAoKZW5kLCAyKQoKCgotLS0gUmV0dXJucyB0aGUgdmFsdWUgb2YgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QuCgotLSBAZnVuY3Rpb24gdXRpbHMucHJvcAoKLS0gQHVzYWdlIHV0aWxzLnByb3AocHJvcE5hbWUpKG9iamVjdCkKCi0tIEB1c2FnZSB1dGlscy5wcm9wKCJuYW1lIikoe25hbWUgPSAiTHVhIn0pIC0tPiAiTHVhIgoKLS0gQHRwYXJhbSB7c3RyaW5nfSBwcm9wTmFtZSBUaGUgcHJvcGVydHkgbmFtZSB0byBnZXQKCi0tIEB0cGFyYW0ge3RhYmxlfSBvYmplY3QgVGhlIG9iamVjdCB0byBnZXQgdGhlIHByb3BlcnR5IGZyb20KCi0tIEB0cmV0dXJuIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkKCnV0aWxzLnByb3AgPSB1dGlscy5jdXJyeShmdW5jdGlvbiAocHJvcE5hbWUsIG9iamVjdCkgCgogIHJldHVybiBvYmplY3RbcHJvcE5hbWVdCgplbmQsIDIpCgoKCi0tLSBDaGVja3MgaWYgYW4gYXJyYXkgdGFibGUgaW5jbHVkZXMgYSB2YWx1ZS4KCi0tIEBmdW5jdGlvbiB1dGlscy5pbmNsdWRlcwoKLS0gQHVzYWdlIHV0aWxzLmluY2x1ZGVzKHZhbCkodCkKCi0tIEB1c2FnZSB1dGlscy5pbmNsdWRlcygyKSh7MSwgMiwgM30pIC0tPiB0cnVlCgotLSBAcGFyYW0gdmFsIFRoZSB2YWx1ZSB0byBjaGVjayBmb3IKCi0tIEB0cGFyYW0ge3RhYmxlPEFycmF5Pn0gdCBUaGUgYXJyYXkgdGFibGUgdG8gY2hlY2sKCi0tIEB0cmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBpbiB0aGUgYXJyYXkgdGFibGUKCnV0aWxzLmluY2x1ZGVzID0gdXRpbHMuY3VycnkoZnVuY3Rpb24gKHZhbCwgdCkKCiAgYXNzZXJ0KHR5cGUodCkgPT0gInRhYmxlIiwgImFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdGFibGUiKQoKICBhc3NlcnQoaXNBcnJheSh0KSwgImFyZ3VtZW50IHNob3VsZCBiZSBhIHRhYmxlIHRoYXQgaXMgYW4gYXJyYXkiKQoKICByZXR1cm4gdXRpbHMuZmluZChmdW5jdGlvbiAodikgcmV0dXJuIHYgPT0gdmFsIGVuZCwgdCkgfj0gbmlsCgplbmQsIDIpCgoKCi0tLSBSZXR1cm5zIHRoZSBrZXlzIG9mIGEgdGFibGUuCgotLSBAdXNhZ2UgdXRpbHMua2V5cyh0KQoKLS0gQHVzYWdlIHV0aWxzLmtleXMoe25hbWUgPSAiTHVhIiwgYWdlID0gMjV9KSAtLT4geyJuYW1lIiwgImFnZSJ9CgotLSBAdHBhcmFtIHt0YWJsZX0gdCBUaGUgdGFibGUgdG8gZ2V0IHRoZSBrZXlzIGZyb20KCi0tIEB0cmV0dXJuIHt0YWJsZTxBcnJheT59IFRoZSBrZXlzIG9mIHRoZSB0YWJsZQoKdXRpbHMua2V5cyA9IGZ1bmN0aW9uICh0KQoKICBhc3NlcnQodHlwZSh0KSA9PSAidGFibGUiLCAiYXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0YWJsZSIpCgogIGxvY2FsIGtleXMgPSB7fQoKICBmb3Iga2V5IGluIHBhaXJzKHQpIGRvCgogICAgdGFibGUuaW5zZXJ0KGtleXMsIGtleSkKCiAgZW5kCgogIHJldHVybiBrZXlzCgplbmQKCgoKLS0tIFJldHVybnMgdGhlIHZhbHVlcyBvZiBhIHRhYmxlLgoKLS0gQHVzYWdlIHV0aWxzLnZhbHVlcyh0KQoKLS0gQHVzYWdlIHV0aWxzLnZhbHVlcyh7bmFtZSA9ICJMdWEiLCBhZ2UgPSAyNX0pIC0tPiB7Ikx1YSIsIDI1fQoKLS0gQHRwYXJhbSB7dGFibGV9IHQgVGhlIHRhYmxlIHRvIGdldCB0aGUgdmFsdWVzIGZyb20KCi0tIEB0cmV0dXJuIHt0YWJsZTxBcnJheT59IFRoZSB2YWx1ZXMgb2YgdGhlIHRhYmxlCgp1dGlscy52YWx1ZXMgPSBmdW5jdGlvbiAodCkKCiAgYXNzZXJ0KHR5cGUodCkgPT0gInRhYmxlIiwgImFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdGFibGUiKQoKICBsb2NhbCB2YWx1ZXMgPSB7fQoKICBmb3IgXywgdmFsdWUgaW4gcGFpcnModCkgZG8KCiAgICB0YWJsZS5pbnNlcnQodmFsdWVzLCB2YWx1ZSkKCiAgZW5kCgogIHJldHVybiB2YWx1ZXMKCmVuZAoKCgpyZXR1cm4gdXRpbHMKAAAAAAAtLVtbLS0KCmx1YS1iaW50IC0gdjAuNS4xIC0gMjYvSnVuLzIwMjMKCkVkdWFyZG8gQmFydCAtIGVkdWI0cnRAZ21haWwuY29tCgpodHRwczovL2dpdGh1Yi5jb20vZWR1YmFydC9sdWEtYmludAoKCgpTbWFsbCBwb3J0YWJsZSBhcmJpdHJhcnktcHJlY2lzaW9uIGludGVnZXIgYXJpdGhtZXRpYyBsaWJyYXJ5IGluIHB1cmUgTHVhIGZvcgoKY29tcHV0aW5nIHdpdGggbGFyZ2UgaW50ZWdlcnMuCgoKCkRpZmZlcmVudCBmcm9tIG1vc3QgYXJiaXRyYXJ5LXByZWNpc2lvbiBpbnRlZ2VyIGxpYnJhcmllcyBpbiBwdXJlIEx1YSBvdXQgdGhlcmUgdGhpcyBvbmUKCnVzZXMgYW4gYXJyYXkgb2YgbHVhIGludGVnZXJzIGFzIHVuZGVybHlpbmcgZGF0YS10eXBlIGluIGl0cyBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFkIG9mCgp1c2luZyBzdHJpbmdzIG9yIGxhcmdlIHRhYmxlcywgdGhpcyBtYWtlIGl0IGVmZmljaWVudCBmb3Igd29ya2luZyB3aXRoIGZpeGVkIHdpZHRoIGludGVnZXJzCgphbmQgdG8gbWFrZSBiaXR3aXNlIG9wZXJhdGlvbnMuCgoKCiMjIERlc2lnbiBnb2FscwoKCgpUaGUgbWFpbiBkZXNpZ24gZ29hbCBvZiB0aGlzIGxpYnJhcnkgaXMgdG8gYmUgc21hbGwsIGNvcnJlY3QsIHNlbGYgY29udGFpbmVkIGFuZCB1c2UgZmV3CgpyZXNvdXJjZXMgd2hpbGUgcmV0YWluaW5nIGFjY2VwdGFibGUgcGVyZm9ybWFuY2UgYW5kIGZlYXR1cmUgY29tcGxldGVuZXNzLgoKCgpUaGUgbGlicmFyeSBpcyBkZXNpZ25lZCB0byBmb2xsb3cgcmVjZW50IEx1YSBpbnRlZ2VyIHNlbWFudGljcywgdGhpcyBtZWFucyB0aGF0CgppbnRlZ2VyIG92ZXJmbG93IHdhcnBzIGFyb3VuZCwKCnNpZ25lZCBpbnRlZ2VycyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgdHdvLWNvbXBsZW1lbnQgYXJpdGhtZXRpYyBydWxlcywKCmludGVnZXIgZGl2aXNpb24gb3BlcmF0aW9ucyByb3VuZHMgdG93YXJkcyBtaW51cyBpbmZpbml0eSwKCmFueSBtaXhlZCBvcGVyYXRpb25zIHdpdGggZmxvYXQgbnVtYmVycyBwcm9tb3RlcyB0aGUgdmFsdWUgdG8gYSBmbG9hdCwKCmFuZCB0aGUgdXN1YWwgZGl2aXNpb24vcG93ZXIgb3BlcmF0aW9uIGFsd2F5cyBwcm9tb3RlcyB0byBmbG9hdHMuCgoKClRoZSBsaWJyYXJ5IGlzIGRlc2lnbmVkIHRvIGJlIHBvc3NpYmxlIHRvIHdvcmsgd2l0aCBvbmx5IHVuc2lnbmVkIGludGVnZXIgYXJpdGhtZXRpYwoKd2hlbiB1c2luZyB0aGUgcHJvcGVyIG1ldGhvZHMuCgoKCkFsbCB0aGUgbHVhIGFyaXRobWV0aWMgb3BlcmF0b3JzICgrLCAtLCAqLCAvLywgLywgJSkgYW5kIGJpdHdpc2Ugb3BlcmF0b3JzICgmLCB8LCB+LCA8PCwgPj4pCgphcmUgaW1wbGVtZW50ZWQgYXMgbWV0YW1ldGhvZHMuCgoKClRoZSBpbnRlZ2VyIHNpemUgbXVzdCBiZSBmaXhlZCBpbiBhZHZhbmNlIGFuZCB0aGUgbGlicmFyeSBpcyBkZXNpZ25lZCB0byBiZSBtb3JlIGVmZmljaWVudCB3aGVuCgp3b3JraW5nIHdpdGggaW50ZWdlcnMgb2Ygc2l6ZXMgYmV0d2VlbiA2NC00MDk2IGJpdHMuIElmIHlvdSBuZWVkIHRvIHdvcmsgd2l0aCByZWFsbHkgaHVnZSBudW1iZXJzCgp3aXRob3V0IHNpemUgcmVzdHJpY3Rpb25zIHRoZW4gdXNlIGFub3RoZXIgbGlicmFyeS4gVGhpcyBjaG9pY2UgaGFzIGJlZW4gbWFkZSB0byBoYXZlIG1vcmUgZWZmaWNpZW5jeQoKaW4gdGhhdCBzcGVjaWZpYyBzaXplIHJhbmdlLgoKCgojIyBVc2FnZQoKCgpGaXJzdCBvbiB5b3Ugc2hvdWxkIHJlcXVpcmUgdGhlIGJpbnQgZmlsZSBpbmNsdWRpbmcgaG93IG1hbnkgYml0cyB0aGUgYmludCBtb2R1bGUgd2lsbCB3b3JrIHdpdGgsCgpieSBjYWxsaW5nIHRoZSByZXR1cm5lZCBmdW5jdGlvbiBmcm9tIHRoZSByZXF1aXJlLCBmb3IgZXhhbXBsZToKCgoKYGBgbHVhCgpsb2NhbCBiaW50ID0gcmVxdWlyZSAnYmludCcoMTAyNCkKCmBgYAoKCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBpdHMgYXJndW1lbnRzIHNlZSBAe25ld21vZHVsZX0uCgpUaGVuIHdoZW4geW91IG5lZWQgY3JlYXRlIGEgYmludCwgeW91IGNhbiB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgoKCgoqIEB7YmludC5mcm9tdWludGVnZXJ9IChjb252ZXJ0IGZyb20gbHVhIGludGVnZXJzLCBidXQgcmVhZCBhcyB1bnNpZ25lZCBpbnRlZ2VyKQoKKiBAe2JpbnQuZnJvbWludGVnZXJ9IChjb252ZXJ0IGZyb20gbHVhIGludGVnZXJzLCBwcmVzZXJ2aW5nIHRoZSBzaWduKQoKKiBAe2JpbnQuZnJvbWJhc2V9IChjb252ZXJ0IGZyb20gYXJiaXRyYXJ5IGJhc2VzLCBsaWtlIGhleGFkZWNpbWFsKQoKKiBAe2JpbnQuZnJvbXN0cmluZ30gKGNvbnZlcnQgZnJvbSBhcmJpdHJhcnkgc3RyaW5nLCBzdXBwb3J0IGJpbmFyeS9oZXhhZGVjaW1hbC9kZWNpbWFsKQoKKiBAe2JpbnQudHJ1bmN9IChjb252ZXJ0IGZyb20gbHVhIG51bWJlcnMsIHRydW5jYXRpbmcgdGhlIGZyYWN0aW9uYWwgcGFydCkKCiogQHtiaW50Lm5ld30gKGNvbnZlcnQgZnJvbSBhbnl0aGluZywgYXNzZXJ0cyBvbiBpbnZhbGlkIGludGVnZXJzKQoKKiBAe2JpbnQudG9iaW50fSAoY29udmVydCBmcm9tIGFueXRoaW5nLCByZXR1cm5zIG5pbCBvbiBpbnZhbGlkIGludGVnZXJzKQoKKiBAe2JpbnQucGFyc2V9IChjb252ZXJ0IGZyb20gYW55dGhpbmcsIHJldHVybnMgYSBsdWEgbnVtYmVyIGFzIGZhbGxiYWNrKQoKKiBAe2JpbnQuemVyb30KCiogQHtiaW50Lm9uZX0KCiogYGJpbnRgCgoKCllvdSBjYW4gYWxzbyBjYWxsIGBiaW50YCBhcyBpdCBpcyBhbiBhbGlhcyB0byBgYmludC5uZXdgLgoKSW4gZG91YnQgdXNlIEB7YmludC5uZXd9IHRvIGNyZWF0ZSBhIG5ldyBiaW50LgoKCgpUaGVuIHlvdSBjYW4gdXNlIGFsbCB0aGUgdXN1YWwgbHVhIG51bWVyaWMgb3BlcmF0aW9ucyBvbiBpdCwKCmFsbCB0aGUgYXJpdGhtZXRpYyBtZXRhbWV0aG9kcyBhcmUgaW1wbGVtZW50ZWQuCgpXaGVuIHlvdSBhcmUgZG9uZSBjb21wdXRpbmcgYW5kIG5lZWQgdG8gZ2V0IHRoZSByZXN1bHQsCgpnZXQgdGhlIG91dHB1dCBmcm9tIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKCgoKKiBAe2JpbnQudG91aW50ZWdlcn0gKGNvbnZlcnQgdG8gYSBsdWEgaW50ZWdlciwgd3JhcHMgYXJvdW5kIGFzIGFuIHVuc2lnbmVkIGludGVnZXIpCgoqIEB7YmludC50b2ludGVnZXJ9IChjb252ZXJ0IHRvIGEgbHVhIGludGVnZXIsIHdyYXBzIGFyb3VuZCwgcHJlc2VydmVzIHRoZSBzaWduKQoKKiBAe2JpbnQudG9udW1iZXJ9IChjb252ZXJ0IHRvIGx1YSBmbG9hdCwgbG9zaW5nIHByZWNpc2lvbikKCiogQHtiaW50LnRvYmFzZX0gKGNvbnZlcnQgdG8gYSBzdHJpbmcgaW4gYW55IGJhc2UpCgoqIEB7YmludC5fX3Rvc3RyaW5nfSAoY29udmVydCB0byBhIHN0cmluZyBpbiBiYXNlIDEwKQoKCgpUbyBvdXRwdXQgYSB2ZXJ5IGxhcmdlIGludGVnZXIgd2l0aCBubyBsb3NzIHlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSBAe2JpbnQudG9iYXNlfQoKb3IgY2FsbCBgdG9zdHJpbmdgIHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbi4KCgoKIyMgUHJlY2F1dGlvbnMKCgoKQWxsIGxpYnJhcnkgZnVuY3Rpb25zIGNhbiBiZSBtaXhlZCB3aXRoIGx1YSBudW1iZXJzLAoKdGhpcyBtYWtlcyBlYXN5IHRvIG1peCBvcGVyYXRpb25zIGJldHdlZW4gYmludHMgYW5kIGx1YSBudW1iZXJzLAoKaG93ZXZlciB0aGUgdXNlciBzaG91bGQgdGFrZSBjYXJlIGluIHNvbWUgc2l0dWF0aW9uczoKCgoKKiBEb24ndCBtaXggaW50ZWdlcnMgYW5kIGZsb2F0IG9wZXJhdGlvbnMgaWYgeW91IHdhbnQgdG8gd29yayB3aXRoIGludGVnZXJzIG9ubHkuCgoqIERvbid0IHVzZSB0aGUgcmVndWxhciBlcXVhbCBvcGVyYXRvciAoJz09JykgdG8gY29tcGFyZSB2YWx1ZXMgZnJvbSB0aGlzIGxpYnJhcnksCgp1bmxlc3MgeW91IGtub3cgaW4gYWR2YW5jZSB0aGF0IGJvdGggdmFsdWVzIGFyZSBvZiB0aGUgc2FtZSBwcmltaXRpdmUgdHlwZSwKCm90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2UsIHVzZSBAe2JpbnQuZXF9IHRvIGJlIHNhZmUuCgoqIERvbid0IHBhc3MgZnJhY3Rpb25hbCBudW1iZXJzIHRvIGZ1bmN0aW9ucyB0aGF0IGFuIGludGVnZXIgaXMgZXhwZWN0ZWQKCiogRG9uJ3QgbWl4IG9wZXJhdGlvbnMgYmV0d2VlbiBiaW50IGNsYXNzZXMgd2l0aCBkaWZmZXJlbnQgc2l6ZXMgYXMgdGhpcyBpcyBub3Qgc3VwcG9ydGVkLCB0aGlzCgp3aWxsIHRocm93IGFzc2VydGlvbnMuCgoqIFJlbWVtYmVyIHRoYXQgY2FzdGluZyBiYWNrIHRvIGx1YSBpbnRlZ2VycyBvciBudW1iZXJzIHByZWNpc2lvbiBjYW4gYmUgbG9zdC4KCiogRm9yIGRpdmlkaW5nIHdoaWxlIHByZXNlcnZpbmcgaW50ZWdlcnMgdXNlIHRoZSBAe2JpbnQuX19pZGl2fSAodGhlICcvLycgb3BlcmF0b3IpLgoKKiBGb3IgZG9pbmcgcG93ZXIgb3BlcmF0aW9uIHByZXNlcnZpbmcgaW50ZWdlcnMgdXNlIHRoZSBAe2JpbnQuaXBvd30gZnVuY3Rpb24uCgoqIENvbmZpZ3VyZSB0aGUgcHJvcGVyIGludGVnZXIgc2l6ZSB5b3UgaW50ZW5kIHRvIHdvcmsgd2l0aCwgb3RoZXJ3aXNlIGxhcmdlIGludGVnZXJzIG1heSB3cmFwIGFyb3VuZC4KCgoKXV0KCgoKLS0gUmV0dXJucyBudW1iZXIgb2YgYml0cyBvZiB0aGUgaW50ZXJuYWwgbHVhIGludGVnZXIgdHlwZS4KCmxvY2FsIGZ1bmN0aW9uIGx1YWludGVnZXJfYml0c2l6ZSgpCgogIGxvY2FsIG4sIGkgPSAtMSwgMAoKICByZXBlYXQKCiAgICBuLCBpID0gbiA+PiAxNiwgaSArIDE2CgogIHVudGlsIG49PTAKCiAgcmV0dXJuIGkKCmVuZAoKCgpsb2NhbCBtYXRoX3R5cGUgPSBtYXRoLnR5cGUKCmxvY2FsIG1hdGhfZmxvb3IgPSBtYXRoLmZsb29yCgpsb2NhbCBtYXRoX2FicyA9IG1hdGguYWJzCgpsb2NhbCBtYXRoX2NlaWwgPSBtYXRoLmNlaWwKCmxvY2FsIG1hdGhfbW9kZiA9IG1hdGgubW9kZgoKbG9jYWwgbWF0aF9taW5pbnRlZ2VyID0gbWF0aC5taW5pbnRlZ2VyCgpsb2NhbCBtYXRoX21heGludGVnZXIgPSBtYXRoLm1heGludGVnZXIKCmxvY2FsIG1hdGhfbWF4ID0gbWF0aC5tYXgKCmxvY2FsIG1hdGhfbWluID0gbWF0aC5taW4KCmxvY2FsIHN0cmluZ19mb3JtYXQgPSBzdHJpbmcuZm9ybWF0Cgpsb2NhbCB0YWJsZV9pbnNlcnQgPSB0YWJsZS5pbnNlcnQKCmxvY2FsIHRhYmxlX2NvbmNhdCA9IHRhYmxlLmNvbmNhdAoKbG9jYWwgdGFibGVfdW5wYWNrID0gdGFibGUudW5wYWNrCgoKCmxvY2FsIG1lbW8gPSB7fQoKCgotLS0gQ3JlYXRlIGEgbmV3IGJpbnQgbW9kdWxlIHJlcHJlc2VudGluZyBpbnRlZ2VycyBvZiB0aGUgZGVzaXJlZCBiaXQgc2l6ZS4KCi0tIFRoaXMgaXMgdGhlIHJldHVybmVkIGZ1bmN0aW9uIHdoZW4gYHJlcXVpcmUgJ2JpbnQnYCBpcyBjYWxsZWQuCgotLSBAZnVuY3Rpb24gbmV3bW9kdWxlCgotLSBAcGFyYW0gYml0cyBOdW1iZXIgb2YgYml0cyBmb3IgdGhlIGludGVnZXIgcmVwcmVzZW50YXRpb24sIG11c3QgYmUgbXVsdGlwbGUgb2Ygd29yZGJpdHMgYW5kCgotLSBhdCBsZWFzdCA2NC4KCi0tIEBwYXJhbVtvcHRdIHdvcmRiaXRzIE51bWJlciBvZiB0aGUgYml0cyBmb3IgdGhlIGludGVybmFsIHdvcmQsCgotLSBkZWZhdWx0cyB0byBoYWxmIG9mIEx1YSdzIGludGVnZXIgc2l6ZS4KCmxvY2FsIGZ1bmN0aW9uIG5ld21vZHVsZShiaXRzLCB3b3JkYml0cykKCgoKbG9jYWwgaW50Yml0cyA9IGx1YWludGVnZXJfYml0c2l6ZSgpCgpiaXRzID0gYml0cyBvciAyNTYKCndvcmRiaXRzID0gd29yZGJpdHMgb3IgKGludGJpdHMgLy8gMikKCgoKLS0gTWVtb2l6ZSBiaW50IG1vZHVsZXMKCmxvY2FsIG1lbW9pbmRleCA9IGJpdHMgKiA2NCArIHdvcmRiaXRzCgppZiBtZW1vW21lbW9pbmRleF0gdGhlbgoKICByZXR1cm4gbWVtb1ttZW1vaW5kZXhdCgplbmQKCgoKLS0gVmFsaWRhdGUKCmFzc2VydChiaXRzICUgd29yZGJpdHMgPT0gMCwgJ2JpdHNpemUgaXMgbm90IG11bHRpcGxlIG9mIHdvcmQgYml0c2l6ZScpCgphc3NlcnQoMip3b3JkYml0cyA8PSBpbnRiaXRzLCAnd29yZCBiaXRzaXplIG11c3QgYmUgaGFsZiBvZiB0aGUgbHVhIGludGVnZXIgYml0c2l6ZScpCgphc3NlcnQoYml0cyA+PSA2NCwgJ2JpdHNpemUgbXVzdCBiZSA+PSA2NCcpCgphc3NlcnQod29yZGJpdHMgPj0gOCwgJ3dvcmRiaXRzIG11c3QgYmUgYXQgbGVhc3QgOCcpCgphc3NlcnQoYml0cyAlIDggPT0gMCwgJ2JpdHNpemUgbXVzdCBiZSBtdWx0aXBsZSBvZiA4JykKCgoKLS0gQ3JlYXRlIGJpbnQgbW9kdWxlCgpsb2NhbCBiaW50ID0ge30KCmJpbnQuX19pbmRleCA9IGJpbnQKCgoKLS0tIE51bWJlciBvZiBiaXRzIHJlcHJlc2VudGluZyBhIGJpbnQgaW5zdGFuY2UuCgpiaW50LmJpdHMgPSBiaXRzCgoKCi0tIENvbnN0YW50cyB1c2VkIGludGVybmFsbHkKCmxvY2FsIEJJTlRfQklUUyA9IGJpdHMKCmxvY2FsIEJJTlRfQllURVMgPSBiaXRzIC8vIDgKCmxvY2FsIEJJTlRfV09SREJJVFMgPSB3b3JkYml0cwoKbG9jYWwgQklOVF9TSVpFID0gQklOVF9CSVRTIC8vIEJJTlRfV09SREJJVFMKCmxvY2FsIEJJTlRfV09SRE1BWCA9ICgxIDw8IEJJTlRfV09SREJJVFMpIC0gMQoKbG9jYWwgQklOVF9XT1JETVNCID0gKDEgPDwgKEJJTlRfV09SREJJVFMgLSAxKSkKCmxvY2FsIEJJTlRfTEVQQUNLRk1UID0gJzwnLi4oJ0knLi4od29yZGJpdHMgLy8gOCkpOnJlcChCSU5UX1NJWkUpCgpsb2NhbCBCSU5UX01BVEhNSU5JTlRFR0VSLCBCSU5UX01BVEhNQVhJTlRFR0VSCgpsb2NhbCBCSU5UX01JTklOVEVHRVIKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IHdpdGggMCB2YWx1ZS4KCmZ1bmN0aW9uIGJpbnQuemVybygpCgogIGxvY2FsIHggPSBzZXRtZXRhdGFibGUoe30sIGJpbnQpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgeFtpXSA9IDAKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCmxvY2FsIGJpbnRfemVybyA9IGJpbnQuemVybwoKCgotLS0gQ3JlYXRlIGEgbmV3IGJpbnQgd2l0aCAxIHZhbHVlLgoKZnVuY3Rpb24gYmludC5vbmUoKQoKICBsb2NhbCB4ID0gc2V0bWV0YXRhYmxlKHt9LCBiaW50KQoKICB4WzFdID0gMQoKICBmb3IgaT0yLEJJTlRfU0laRSBkbwoKICAgIHhbaV0gPSAwCgogIGVuZAoKICByZXR1cm4geAoKZW5kCgpsb2NhbCBiaW50X29uZSA9IGJpbnQub25lCgoKCi0tIENvbnZlcnQgYSB2YWx1ZSB0byBhIGx1YSBpbnRlZ2VyIHdpdGhvdXQgbG9zaW5nIHByZWNpc2lvbi4KCmxvY2FsIGZ1bmN0aW9uIHRvaW50ZWdlcih4KQoKICB4ID0gdG9udW1iZXIoeCkKCiAgbG9jYWwgdHkgPSBtYXRoX3R5cGUoeCkKCiAgaWYgdHkgPT0gJ2Zsb2F0JyB0aGVuCgogICAgbG9jYWwgZmxvb3J4ID0gbWF0aF9mbG9vcih4KQoKICAgIGlmIGZsb29yeCA9PSB4IHRoZW4KCiAgICAgIHggPSBmbG9vcngKCiAgICAgIHR5ID0gbWF0aF90eXBlKHgpCgogICAgZW5kCgogIGVuZAoKICBpZiB0eSA9PSAnaW50ZWdlcicgdGhlbgoKICAgIHJldHVybiB4CgogIGVuZAoKZW5kCgoKCi0tLSBDcmVhdGUgYSBiaW50IGZyb20gYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIFRyZWF0cyBzaWduZWQgaW50ZWdlcnMgYXMgYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIEBwYXJhbSB4IEEgdmFsdWUgdG8gaW5pdGlhbGl6ZSBmcm9tIGNvbnZlcnRpYmxlIHRvIGEgbHVhIGludGVnZXIuCgotLSBAcmV0dXJuIEEgbmV3IGJpbnQgb3IgbmlsIGluIGNhc2UgdGhlIGlucHV0IGNhbm5vdCBiZSByZXByZXNlbnRlZCBieSBhbiBpbnRlZ2VyLgoKLS0gQHNlZSBiaW50LmZyb21pbnRlZ2VyCgpmdW5jdGlvbiBiaW50LmZyb211aW50ZWdlcih4KQoKICB4ID0gdG9pbnRlZ2VyKHgpCgogIGlmIHggdGhlbgoKICAgIGlmIHggPT0gMSB0aGVuCgogICAgICByZXR1cm4gYmludF9vbmUoKQoKICAgIGVsc2VpZiB4ID09IDAgdGhlbgoKICAgICAgcmV0dXJuIGJpbnRfemVybygpCgogICAgZW5kCgogICAgbG9jYWwgbiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbltpXSA9IHggJiBCSU5UX1dPUkRNQVgKCiAgICAgIHggPSB4ID4+IEJJTlRfV09SREJJVFMKCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCmVuZAoKbG9jYWwgYmludF9mcm9tdWludGVnZXIgPSBiaW50LmZyb211aW50ZWdlcgoKCgotLS0gQ3JlYXRlIGEgYmludCBmcm9tIGEgc2lnbmVkIGludGVnZXIuCgotLSBAcGFyYW0geCBBIHZhbHVlIHRvIGluaXRpYWxpemUgZnJvbSBjb252ZXJ0aWJsZSB0byBhIGx1YSBpbnRlZ2VyLgoKLS0gQHJldHVybiBBIG5ldyBiaW50IG9yIG5pbCBpbiBjYXNlIHRoZSBpbnB1dCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYW4gaW50ZWdlci4KCi0tIEBzZWUgYmludC5mcm9tdWludGVnZXIKCmZ1bmN0aW9uIGJpbnQuZnJvbWludGVnZXIoeCkKCiAgeCA9IHRvaW50ZWdlcih4KQoKICBpZiB4IHRoZW4KCiAgICBpZiB4ID09IDEgdGhlbgoKICAgICAgcmV0dXJuIGJpbnRfb25lKCkKCiAgICBlbHNlaWYgeCA9PSAwIHRoZW4KCiAgICAgIHJldHVybiBiaW50X3plcm8oKQoKICAgIGVuZAoKICAgIGxvY2FsIG5lZyA9IGZhbHNlCgogICAgaWYgeCA8IDAgdGhlbgoKICAgICAgeCA9IG1hdGhfYWJzKHgpCgogICAgICBuZWcgPSB0cnVlCgogICAgZW5kCgogICAgbG9jYWwgbiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbltpXSA9IHggJiBCSU5UX1dPUkRNQVgKCiAgICAgIHggPSB4ID4+IEJJTlRfV09SREJJVFMKCiAgICBlbmQKCiAgICBpZiBuZWcgdGhlbgoKICAgICAgbjpfdW5tKCkKCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCmVuZAoKbG9jYWwgYmludF9mcm9taW50ZWdlciA9IGJpbnQuZnJvbWludGVnZXIKCgoKbG9jYWwgYmFzZXN0ZXBzID0ge30KCgoKLS0gQ29tcHV0ZSB0aGUgcmVhZCBzdGVwIGZvciBmcm9tYmFzZSBmdW5jdGlvbgoKbG9jYWwgZnVuY3Rpb24gZ2V0YmFzZXN0ZXAoYmFzZSkKCiAgbG9jYWwgc3RlcCA9IGJhc2VzdGVwc1tiYXNlXQoKICBpZiBzdGVwIHRoZW4KCiAgICByZXR1cm4gc3RlcAoKICBlbmQKCiAgc3RlcCA9IDAKCiAgbG9jYWwgZG1heCA9IDEKCiAgbG9jYWwgbGltaXQgPSBtYXRoX21heGludGVnZXIgLy8gYmFzZQoKICByZXBlYXQKCiAgICBzdGVwID0gc3RlcCArIDEKCiAgICBkbWF4ID0gZG1heCAqIGJhc2UKCiAgdW50aWwgZG1heCA+PSBsaW1pdAoKICBiYXNlc3RlcHNbYmFzZV0gPSBzdGVwCgogIHJldHVybiBzdGVwCgplbmQKCgoKLS0gQ29tcHV0ZSBwb3dlciB3aXRoIGx1YSBpbnRlZ2Vycy4KCmxvY2FsIGZ1bmN0aW9uIGlwb3coeSwgeCwgbikKCiAgaWYgbiA9PSAxIHRoZW4KCiAgICByZXR1cm4geSAqIHgKCiAgZWxzZWlmIG4gJiAxID09IDAgdGhlbiAtLWV2ZW4KCiAgICByZXR1cm4gaXBvdyh5LCB4ICogeCwgbiAvLyAyKQoKICBlbmQKCiAgcmV0dXJuIGlwb3coeCAqIHksIHggKiB4LCAobi0xKSAvLyAyKQoKZW5kCgoKCi0tLSBDcmVhdGUgYSBiaW50IGZyb20gYSBzdHJpbmcgb2YgdGhlIGRlc2lyZWQgYmFzZS4KCi0tIEBwYXJhbSBzIFRoZSBzdHJpbmcgdG8gYmUgY29udmVydGVkIGZyb20sCgotLSBtdXN0IGhhdmUgb25seSBhbHBoYW51bWVyaWMgYW5kICcrLScgY2hhcmFjdGVycy4KCi0tIEBwYXJhbVtvcHRdIGJhc2UgQmFzZSB0aGF0IHRoZSBudW1iZXIgaXMgcmVwcmVzZW50ZWQsIGRlZmF1bHRzIHRvIDEwLgoKLS0gTXVzdCBiZSBhdCBsZWFzdCAyIGFuZCBhdCBtb3N0IDM2LgoKLS0gQHJldHVybiBBIG5ldyBiaW50IG9yIG5pbCBpbiBjYXNlIHRoZSBjb252ZXJzaW9uIGZhaWxlZC4KCmZ1bmN0aW9uIGJpbnQuZnJvbWJhc2UocywgYmFzZSkKCiAgaWYgdHlwZShzKSB+PSAnc3RyaW5nJyB0aGVuCgogICAgcmV0dXJuCgogIGVuZAoKICBiYXNlID0gYmFzZSBvciAxMAoKICBpZiBub3QgKGJhc2UgPj0gMiBhbmQgYmFzZSA8PSAzNikgdGhlbgoKICAgIC0tIG51bWJlciBiYXNlIGlzIHRvbyBsYXJnZQoKICAgIHJldHVybgoKICBlbmQKCiAgbG9jYWwgc3RlcCA9IGdldGJhc2VzdGVwKGJhc2UpCgogIGlmICNzIDwgc3RlcCB0aGVuCgogICAgLS0gc3RyaW5nIGlzIHNtYWxsLCB1c2UgdG9udW1iZXIgKGZhc3RlcikKCiAgICByZXR1cm4gYmludF9mcm9taW50ZWdlcih0b251bWJlcihzLCBiYXNlKSkKCiAgZW5kCgogIGxvY2FsIHNpZ24sIGludCA9IHM6bG93ZXIoKTptYXRjaCgnXihbKy1dPykoJXcrKSQnKQoKICBpZiBub3QgKHNpZ24gYW5kIGludCkgdGhlbgoKICAgIC0tIGludmFsaWQgaW50ZWdlciBzdHJpbmcgcmVwcmVzZW50YXRpb24KCiAgICByZXR1cm4KCiAgZW5kCgogIGxvY2FsIG4gPSBiaW50X3plcm8oKQoKICBmb3IgaT0xLCNpbnQsc3RlcCBkbwoKICAgIGxvY2FsIHBhcnQgPSBpbnQ6c3ViKGksaStzdGVwLTEpCgogICAgbG9jYWwgZCA9IHRvbnVtYmVyKHBhcnQsIGJhc2UpCgogICAgaWYgbm90IGQgdGhlbgoKICAgICAgLS0gaW52YWxpZCBpbnRlZ2VyIHN0cmluZyByZXByZXNlbnRhdGlvbgoKICAgICAgcmV0dXJuCgogICAgZW5kCgogICAgaWYgaSA+IDEgdGhlbgoKICAgICAgbiA9IG4gKiBpcG93KDEsIGJhc2UsICNwYXJ0KQoKICAgIGVuZAoKICAgIGlmIGQgfj0gMCB0aGVuCgogICAgICBuOl9hZGQoZCkKCiAgICBlbmQKCiAgZW5kCgogIGlmIHNpZ24gPT0gJy0nIHRoZW4KCiAgICBuOl91bm0oKQoKICBlbmQKCiAgcmV0dXJuIG4KCmVuZAoKbG9jYWwgYmludF9mcm9tYmFzZSA9IGJpbnQuZnJvbWJhc2UKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IGZyb20gYSBzdHJpbmcuCgotLSBUaGUgc3RyaW5nIGNhbiBieSBhIGRlY2ltYWwgbnVtYmVyLCBiaW5hcnkgbnVtYmVyIHByZWZpeGVkIHdpdGggJzBiJyBvciBoZXhhZGVjaW1hbCBudW1iZXIgcHJlZml4ZWQgd2l0aCAnMHgnLgoKLS0gQHBhcmFtIHMgQSBzdHJpbmcgY29udmVydGlibGUgdG8gYSBiaW50LgoKLS0gQHJldHVybiBBIG5ldyBiaW50IG9yIG5pbCBpbiBjYXNlIHRoZSBjb252ZXJzaW9uIGZhaWxlZC4KCi0tIEBzZWUgYmludC5mcm9tYmFzZQoKZnVuY3Rpb24gYmludC5mcm9tc3RyaW5nKHMpCgogIGlmIHR5cGUocykgfj0gJ3N0cmluZycgdGhlbgoKICAgIHJldHVybgoKICBlbmQKCiAgaWYgczpmaW5kKCdeWystXT9bMC05XSskJykgdGhlbgoKICAgIHJldHVybiBiaW50X2Zyb21iYXNlKHMsIDEwKQoKICBlbHNlaWYgczpmaW5kKCdeWystXT8wW3hYXVswLTlhLWZBLUZdKyQnKSB0aGVuCgogICAgcmV0dXJuIGJpbnRfZnJvbWJhc2Uoczpnc3ViKCcwW3hYXScsICcnLCAxKSwgMTYpCgogIGVsc2VpZiBzOmZpbmQoJ15bKy1dPzBbYkJdWzAxXSskJykgdGhlbgoKICAgIHJldHVybiBiaW50X2Zyb21iYXNlKHM6Z3N1YignMFtiQl0nLCAnJywgMSksIDIpCgogIGVuZAoKZW5kCgpsb2NhbCBiaW50X2Zyb21zdHJpbmcgPSBiaW50LmZyb21zdHJpbmcKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IGZyb20gYSBidWZmZXIgb2YgbGl0dGxlLWVuZGlhbiBieXRlcy4KCi0tIEBwYXJhbSBidWZmZXIgQnVmZmVyIG9mIGJ5dGVzLCBleHRyYSBieXRlcyBhcmUgdHJpbW1lZCBmcm9tIHRoZSByaWdodCwgbWlzc2luZyBieXRlcyBhcmUgcGFkZGVkIHRvIHRoZSByaWdodC4KCi0tIEByYWlzZSBBbiBhc3NlcnQgaXMgdGhyb3duIGluIGNhc2UgYnVmZmVyIGlzIG5vdCBhbiBzdHJpbmcuCgotLSBAcmV0dXJuIEEgYmludC4KCmZ1bmN0aW9uIGJpbnQuZnJvbWxlKGJ1ZmZlcikKCiAgYXNzZXJ0KHR5cGUoYnVmZmVyKSA9PSAnc3RyaW5nJywgJ2J1ZmZlciBpcyBub3QgYSBzdHJpbmcnKQoKICBpZiAjYnVmZmVyID4gQklOVF9CWVRFUyB0aGVuIC0tIHRyaW0gZXh0cmEgYnl0ZXMgZnJvbSB0aGUgcmlnaHQKCiAgICBidWZmZXIgPSBidWZmZXI6c3ViKDEsIEJJTlRfQllURVMpCgogIGVsc2VpZiAjYnVmZmVyIDwgQklOVF9CWVRFUyB0aGVuIC0tIGFkZCBtaXNzaW5nIGJ5dGVzIHRvIHRoZSByaWdodAoKICAgIGJ1ZmZlciA9IGJ1ZmZlci4uKCdceDAwJyk6cmVwKEJJTlRfQllURVMgLSAjYnVmZmVyKQoKICBlbmQKCiAgcmV0dXJuIHNldG1ldGF0YWJsZSh7QklOVF9MRVBBQ0tGTVQ6dW5wYWNrKGJ1ZmZlcil9LCBiaW50KQoKZW5kCgoKCi0tLSBDcmVhdGUgYSBuZXcgYmludCBmcm9tIGEgYnVmZmVyIG9mIGJpZy1lbmRpYW4gYnl0ZXMuCgotLSBAcGFyYW0gYnVmZmVyIEJ1ZmZlciBvZiBieXRlcywgZXh0cmEgYnl0ZXMgYXJlIHRyaW1tZWQgZnJvbSB0aGUgbGVmdCwgbWlzc2luZyBieXRlcyBhcmUgcGFkZGVkIHRvIHRoZSBsZWZ0LgoKLS0gQHJhaXNlIEFuIGFzc2VydCBpcyB0aHJvd24gaW4gY2FzZSBidWZmZXIgaXMgbm90IGFuIHN0cmluZy4KCi0tIEByZXR1cm4gQSBiaW50LgoKZnVuY3Rpb24gYmludC5mcm9tYmUoYnVmZmVyKQoKICBhc3NlcnQodHlwZShidWZmZXIpID09ICdzdHJpbmcnLCAnYnVmZmVyIGlzIG5vdCBhIHN0cmluZycpCgogIGlmICNidWZmZXIgPiBCSU5UX0JZVEVTIHRoZW4gLS0gdHJpbSBleHRyYSBieXRlcyBmcm9tIHRoZSBsZWZ0CgogICAgYnVmZmVyID0gYnVmZmVyOnN1YigtQklOVF9CWVRFUywgI2J1ZmZlcikKCiAgZWxzZWlmICNidWZmZXIgPCBCSU5UX0JZVEVTIHRoZW4gLS0gYWRkIG1pc3NpbmcgYnl0ZXMgdG8gdGhlIGxlZnQKCiAgICBidWZmZXIgPSAoJ1x4MDAnKTpyZXAoQklOVF9CWVRFUyAtICNidWZmZXIpLi5idWZmZXIKCiAgZW5kCgogIHJldHVybiBzZXRtZXRhdGFibGUoe0JJTlRfTEVQQUNLRk1UOnVucGFjayhidWZmZXI6cmV2ZXJzZSgpKX0sIGJpbnQpCgplbmQKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IGZyb20gYSB2YWx1ZS4KCi0tIEBwYXJhbSB4IEEgdmFsdWUgY29udmVydGlibGUgdG8gYSBiaW50IChzdHJpbmcsIG51bWJlciBvciBhbm90aGVyIGJpbnQpLgoKLS0gQHJldHVybiBBIG5ldyBiaW50LCBndWFyYW50ZWVkIHRvIGJlIGEgbmV3IHJlZmVyZW5jZSBpbiBjYXNlIG5lZWRlZC4KCi0tIEByYWlzZSBBbiBhc3NlcnQgaXMgdGhyb3duIGluIGNhc2UgeCBpcyBub3QgY29udmVydGlibGUgdG8gYSBiaW50LgoKLS0gQHNlZSBiaW50LnRvYmludAoKLS0gQHNlZSBiaW50LnBhcnNlCgpmdW5jdGlvbiBiaW50Lm5ldyh4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgfj0gYmludCB0aGVuCgogICAgbG9jYWwgdHkgPSB0eXBlKHgpCgogICAgaWYgdHkgPT0gJ251bWJlcicgdGhlbgoKICAgICAgeCA9IGJpbnRfZnJvbWludGVnZXIoeCkKCiAgICBlbHNlaWYgdHkgPT0gJ3N0cmluZycgdGhlbgoKICAgICAgeCA9IGJpbnRfZnJvbXN0cmluZyh4KQoKICAgIGVuZAoKICAgIGFzc2VydCh4LCAndmFsdWUgY2Fubm90IGJlIHJlcHJlc2VudGVkIGJ5IGEgYmludCcpCgogICAgcmV0dXJuIHgKCiAgZW5kCgogIC0tIHJldHVybiBhIGNsb25lCgogIGxvY2FsIG4gPSBzZXRtZXRhdGFibGUoe30sIGJpbnQpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgbltpXSA9IHhbaV0KCiAgZW5kCgogIHJldHVybiBuCgplbmQKCmxvY2FsIGJpbnRfbmV3ID0gYmludC5uZXcKCgoKLS0tIENvbnZlcnQgYSB2YWx1ZSB0byBhIGJpbnQgaWYgcG9zc2libGUuCgotLSBAcGFyYW0geCBBIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCAoc3RyaW5nLCBudW1iZXIgb3IgYW5vdGhlciBiaW50KS4KCi0tIEBwYXJhbVtvcHRdIGNsb25lIEEgYm9vbGVhbiB0aGF0IHRlbGxzIGlmIGEgbmV3IGJpbnQgcmVmZXJlbmNlIHNob3VsZCBiZSByZXR1cm5lZC4KCi0tIERlZmF1bHRzIHRvIGZhbHNlLgoKLS0gQHJldHVybiBBIGJpbnQgb3IgbmlsIGluIGNhc2UgdGhlIGNvbnZlcnNpb24gZmFpbGVkLgoKLS0gQHNlZSBiaW50Lm5ldwoKLS0gQHNlZSBiaW50LnBhcnNlCgpmdW5jdGlvbiBiaW50LnRvYmludCh4LCBjbG9uZSkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIGlmIG5vdCBjbG9uZSB0aGVuCgogICAgICByZXR1cm4geAoKICAgIGVuZAoKICAgIC0tIHJldHVybiBhIGNsb25lCgogICAgbG9jYWwgbiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbltpXSA9IHhbaV0KCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCiAgbG9jYWwgdHkgPSB0eXBlKHgpCgogIGlmIHR5ID09ICdudW1iZXInIHRoZW4KCiAgICByZXR1cm4gYmludF9mcm9taW50ZWdlcih4KQoKICBlbHNlaWYgdHkgPT0gJ3N0cmluZycgdGhlbgoKICAgIHJldHVybiBiaW50X2Zyb21zdHJpbmcoeCkKCiAgZW5kCgplbmQKCmxvY2FsIHRvYmludCA9IGJpbnQudG9iaW50CgoKCi0tLSBDb252ZXJ0IGEgdmFsdWUgdG8gYSBiaW50IGlmIHBvc3NpYmxlIG90aGVyd2lzZSB0byBhIGx1YSBudW1iZXIuCgotLSBVc2VmdWwgdG8gcHJlcGFyZSB2YWx1ZXMgdGhhdCB5b3UgYXJlIHVuc3VyZSBpZiBpdCdzIGdvaW5nIHRvIGJlIGFuIGludGVnZXIgb3IgZmxvYXQuCgotLSBAcGFyYW0geCBBIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCAoc3RyaW5nLCBudW1iZXIgb3IgYW5vdGhlciBiaW50KS4KCi0tIEBwYXJhbVtvcHRdIGNsb25lIEEgYm9vbGVhbiB0aGF0IHRlbGxzIGlmIGEgbmV3IGJpbnQgcmVmZXJlbmNlIHNob3VsZCBiZSByZXR1cm5lZC4KCi0tIERlZmF1bHRzIHRvIGZhbHNlLgoKLS0gQHJldHVybiBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIG9yIG5pbCBpbiBjYXNlIHRoZSBjb252ZXJzaW9uIGZhaWxlZC4KCi0tIEBzZWUgYmludC5uZXcKCi0tIEBzZWUgYmludC50b2JpbnQKCmZ1bmN0aW9uIGJpbnQucGFyc2UoeCwgY2xvbmUpCgogIGxvY2FsIGkgPSB0b2JpbnQoeCwgY2xvbmUpCgogIGlmIGkgdGhlbgoKICAgIHJldHVybiBpCgogIGVuZAoKICByZXR1cm4gdG9udW1iZXIoeCkKCmVuZAoKbG9jYWwgYmludF9wYXJzZSA9IGJpbnQucGFyc2UKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGFuIHVuc2lnbmVkIGludGVnZXIuCgotLSBOb3RlIHRoYXQgbGFyZ2UgdW5zaWduZWQgaW50ZWdlcnMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIG5lZ2F0aXZlcyBpbiBsdWEgaW50ZWdlcnMuCgotLSBOb3RlIHRoYXQgbHVhIGNhbm5vdCByZXByZXNlbnQgdmFsdWVzIGxhcmdlciB0aGFuIDY0IGJpdHMsCgotLSBpbiB0aGF0IGNhc2UgaW50ZWdlciB2YWx1ZXMgd3JhcCBhcm91bmQuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBudW1iZXIgdG8gYmUgY29udmVydGVkIGludG8gYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIEByZXR1cm4gQW4gaW50ZWdlciBvciBuaWwgaW4gY2FzZSB0aGUgaW5wdXQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGJ5IGFuIGludGVnZXIuCgotLSBAc2VlIGJpbnQudG9pbnRlZ2VyCgpmdW5jdGlvbiBiaW50LnRvdWludGVnZXIoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIGxvY2FsIG4gPSAwCgogICAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICAgIG4gPSBuIHwgKHhbaV0gPDwgKEJJTlRfV09SREJJVFMgKiAoaSAtIDEpKSkKCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCiAgcmV0dXJuIHRvaW50ZWdlcih4KQoKZW5kCgoKCi0tLSBDb252ZXJ0IGEgYmludCB0byBhIHNpZ25lZCBpbnRlZ2VyLgoKLS0gSXQgd29ya3MgYnkgdGFraW5nIGFic29sdXRlIHZhbHVlcyB0aGVuIGFwcGx5aW5nIHRoZSBzaWduIGJpdCBpbiBjYXNlIG5lZWRlZC4KCi0tIE5vdGUgdGhhdCBsdWEgY2Fubm90IHJlcHJlc2VudCB2YWx1ZXMgbGFyZ2VyIHRoYW4gNjQgYml0cywKCi0tIGluIHRoYXQgY2FzZSBpbnRlZ2VyIHZhbHVlcyB3cmFwIGFyb3VuZC4KCi0tIEBwYXJhbSB4IEEgYmludCBvciB2YWx1ZSB0byBiZSBjb252ZXJ0ZWQgaW50byBhbiB1bnNpZ25lZCBpbnRlZ2VyLgoKLS0gQHJldHVybiBBbiBpbnRlZ2VyIG9yIG5pbCBpbiBjYXNlIHRoZSBpbnB1dCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYW4gaW50ZWdlci4KCi0tIEBzZWUgYmludC50b3VpbnRlZ2VyCgpmdW5jdGlvbiBiaW50LnRvaW50ZWdlcih4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgPT0gYmludCB0aGVuCgogICAgbG9jYWwgbiA9IDAKCiAgICBsb2NhbCBuZWcgPSB4OmlzbmVnKCkKCiAgICBpZiBuZWcgdGhlbgoKICAgICAgeCA9IC14CgogICAgZW5kCgogICAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICAgIG4gPSBuIHwgKHhbaV0gPDwgKEJJTlRfV09SREJJVFMgKiAoaSAtIDEpKSkKCiAgICBlbmQKCiAgICBpZiBuZWcgdGhlbgoKICAgICAgbiA9IC1uCgogICAgZW5kCgogICAgcmV0dXJuIG4KCiAgZW5kCgogIHJldHVybiB0b2ludGVnZXIoeCkKCmVuZAoKbG9jYWwgYmludF90b2ludGVnZXIgPSBiaW50LnRvaW50ZWdlcgoKCgpsb2NhbCBmdW5jdGlvbiBiaW50X2Fzc2VydF90b2ludGVnZXIoeCkKCiAgeCA9IGJpbnRfdG9pbnRlZ2VyKHgpCgogIGlmIG5vdCB4IHRoZW4KCiAgICBlcnJvcigndmFsdWUgaGFzIG5vIGludGVnZXIgcmVwcmVzZW50YXRpb24nKQoKICBlbmQKCiAgcmV0dXJuIHgKCmVuZAoKCgotLS0gQ29udmVydCBhIGJpbnQgdG8gYSBsdWEgZmxvYXQgaW4gY2FzZSBpbnRlZ2VyIHdvdWxkIHdyYXAgYXJvdW5kIG9yIGx1YSBpbnRlZ2VyIG90aGVyd2lzZS4KCi0tIERpZmZlcmVudCBmcm9tIEB7YmludC50b2ludGVnZXJ9IHRoZSBvcGVyYXRpb24gZG9lcyBub3Qgd3JhcCBhcm91bmQgaW50ZWdlcnMsCgotLSBidXQgZGlnaXRzIHByZWNpc2lvbiBhcmUgbG9zdCBpbiB0aGUgcHJvY2VzcyBvZiBjb252ZXJ0aW5nIHRvIGEgZmxvYXQuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgdmFsdWUgdG8gYmUgY29udmVydGVkIGludG8gYSBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBBIGx1YSBudW1iZXIgb3IgbmlsIGluIGNhc2UgdGhlIGlucHV0IGNhbm5vdCBiZSByZXByZXNlbnRlZCBieSBhIG51bWJlci4KCi0tIEBzZWUgYmludC50b2ludGVnZXIKCmZ1bmN0aW9uIGJpbnQudG9udW1iZXIoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIGlmIHggPD0gQklOVF9NQVRITUFYSU5URUdFUiBhbmQgeCA+PSBCSU5UX01BVEhNSU5JTlRFR0VSIHRoZW4KCiAgICAgIHJldHVybiB4OnRvaW50ZWdlcigpCgogICAgZW5kCgogICAgcmV0dXJuIHRvbnVtYmVyKHRvc3RyaW5nKHgpKQoKICBlbmQKCiAgcmV0dXJuIHRvbnVtYmVyKHgpCgplbmQKCmxvY2FsIGJpbnRfdG9udW1iZXIgPSBiaW50LnRvbnVtYmVyCgoKCi0tIENvbXB1dGUgYmFzZSBsZXR0ZXJzIHRvIHVzZSBpbiBiaW50LnRvYmFzZQoKbG9jYWwgQkFTRV9MRVRURVJTID0ge30KCmRvCgogIGZvciBpPTEsMzYgZG8KCiAgICBCQVNFX0xFVFRFUlNbaS0xXSA9ICgnMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk6c3ViKGksaSkKCiAgZW5kCgplbmQKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGEgc3RyaW5nIGluIHRoZSBkZXNpcmVkIGJhc2UuCgotLSBAcGFyYW0geCBUaGUgYmludCB0byBiZSBjb252ZXJ0ZWQgZnJvbS4KCi0tIEBwYXJhbVtvcHRdIGJhc2UgQmFzZSB0byBiZSByZXByZXNlbnRlZCwgZGVmYXVsdHMgdG8gMTAuCgotLSBNdXN0IGJlIGF0IGxlYXN0IDIgYW5kIGF0IG1vc3QgMzYuCgotLSBAcGFyYW1bb3B0XSB1bnNpZ25lZCBXaGV0aGVyIHRvIG91dHB1dCBhcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLgoKLS0gRGVmYXVsdHMgdG8gZmFsc2UgZm9yIGJhc2UgMTAgYW5kIHRydWUgZm9yIG90aGVycy4KCi0tIFdoZW4gdW5zaWduZWQgaXMgZmFsc2UgdGhlIHN5bWJvbCAnLScgaXMgcHJlcGVuZGVkIGluIG5lZ2F0aXZlIHZhbHVlcy4KCi0tIEByZXR1cm4gQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBpbnB1dC4KCi0tIEByYWlzZSBBbiBhc3NlcnQgaXMgdGhyb3duIGluIGNhc2UgdGhlIGJhc2UgaXMgaW52YWxpZC4KCmZ1bmN0aW9uIGJpbnQudG9iYXNlKHgsIGJhc2UsIHVuc2lnbmVkKQoKICB4ID0gdG9iaW50KHgpCgogIGlmIG5vdCB4IHRoZW4KCiAgICAtLSB4IGlzIGEgZnJhY3Rpb25hbCBmbG9hdCBvciBzb21ldGhpbmcgZWxzZQoKICAgIHJldHVybgoKICBlbmQKCiAgYmFzZSA9IGJhc2Ugb3IgMTAKCiAgaWYgbm90IChiYXNlID49IDIgYW5kIGJhc2UgPD0gMzYpIHRoZW4KCiAgICAtLSBudW1iZXIgYmFzZSBpcyB0b28gbGFyZ2UKCiAgICByZXR1cm4KCiAgZW5kCgogIGlmIHVuc2lnbmVkID09IG5pbCB0aGVuCgogICAgdW5zaWduZWQgPSBiYXNlIH49IDEwCgogIGVuZAoKICBsb2NhbCBpc3huZWcgPSB4OmlzbmVnKCkKCiAgaWYgKGJhc2UgPT0gMTAgYW5kIG5vdCB1bnNpZ25lZCkgb3IgKGJhc2UgPT0gMTYgYW5kIHVuc2lnbmVkIGFuZCBub3QgaXN4bmVnKSB0aGVuCgogICAgaWYgeCA8PSBCSU5UX01BVEhNQVhJTlRFR0VSIGFuZCB4ID49IEJJTlRfTUFUSE1JTklOVEVHRVIgdGhlbgoKICAgICAgLS0gaW50ZWdlciBpcyBzbWFsbCwgdXNlIHRvc3RyaW5nIG9yIHN0cmluZy5mb3JtYXQgKGZhc3RlcikKCiAgICAgIGxvY2FsIG4gPSB4OnRvaW50ZWdlcigpCgogICAgICBpZiBiYXNlID09IDEwIHRoZW4KCiAgICAgICAgcmV0dXJuIHRvc3RyaW5nKG4pCgogICAgICBlbHNlaWYgdW5zaWduZWQgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nX2Zvcm1hdCgnJXgnLCBuKQoKICAgICAgZW5kCgogICAgZW5kCgogIGVuZAoKICBsb2NhbCBzcyA9IHt9CgogIGxvY2FsIG5lZyA9IG5vdCB1bnNpZ25lZCBhbmQgaXN4bmVnCgogIHggPSBuZWcgYW5kIHg6YWJzKCkgb3IgYmludF9uZXcoeCkKCiAgbG9jYWwgeGlzemVybyA9IHg6aXN6ZXJvKCkKCiAgaWYgeGlzemVybyB0aGVuCgogICAgcmV0dXJuICcwJwoKICBlbmQKCiAgLS0gY2FsY3VsYXRlIGJhc2Vwb3cKCiAgbG9jYWwgc3RlcCA9IDAKCiAgbG9jYWwgYmFzZXBvdyA9IDEKCiAgbG9jYWwgbGltaXQgPSAoQklOVF9XT1JETVNCIC0gMSkgLy8gYmFzZQoKICByZXBlYXQKCiAgICBzdGVwID0gc3RlcCArIDEKCiAgICBiYXNlcG93ID0gYmFzZXBvdyAqIGJhc2UKCiAgdW50aWwgYmFzZXBvdyA+PSBsaW1pdAoKICAtLSBzZXJpYWxpemUgYmFzZSBkaWdpdHMKCiAgbG9jYWwgc2l6ZSA9IEJJTlRfU0laRQoKICBsb2NhbCB4ZCwgY2FycnksIGQKCiAgcmVwZWF0CgogICAgLS0gc2luZ2xlIHdvcmQgZGl2aXNpb24KCiAgICBjYXJyeSA9IDAKCiAgICB4aXN6ZXJvID0gdHJ1ZQoKICAgIGZvciBpPXNpemUsMSwtMSBkbwoKICAgICAgY2FycnkgPSBjYXJyeSB8IHhbaV0KCiAgICAgIGQsIHhkID0gY2FycnkgLy8gYmFzZXBvdywgY2FycnkgJSBiYXNlcG93CgogICAgICBpZiB4aXN6ZXJvIGFuZCBkIH49IDAgdGhlbgoKICAgICAgICBzaXplID0gaQoKICAgICAgICB4aXN6ZXJvID0gZmFsc2UKCiAgICAgIGVuZAoKICAgICAgeFtpXSA9IGQKCiAgICAgIGNhcnJ5ID0geGQgPDwgQklOVF9XT1JEQklUUwoKICAgIGVuZAoKICAgIC0tIGRpZ2l0IGRpdmlzaW9uCgogICAgZm9yIF89MSxzdGVwIGRvCgogICAgICB4ZCwgZCA9IHhkIC8vIGJhc2UsIHhkICUgYmFzZQoKICAgICAgaWYgeGlzemVybyBhbmQgeGQgPT0gMCBhbmQgZCA9PSAwIHRoZW4KCiAgICAgICAgLS0gc3RvcCBvbiBsZWFkaW5nIHplcm9zCgogICAgICAgIGJyZWFrCgogICAgICBlbmQKCiAgICAgIHRhYmxlX2luc2VydChzcywgMSwgQkFTRV9MRVRURVJTW2RdKQoKICAgIGVuZAoKICB1bnRpbCB4aXN6ZXJvCgogIGlmIG5lZyB0aGVuCgogICAgdGFibGVfaW5zZXJ0KHNzLCAxLCAnLScpCgogIGVuZAoKICByZXR1cm4gdGFibGVfY29uY2F0KHNzKQoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGJpbnRfYXNzZXJ0X2NvbnZlcnQoeCkKCiAgcmV0dXJuIGFzc2VydCh0b2JpbnQoeCksICd2YWx1ZSBoYXMgbm90IGludGVnZXIgcmVwcmVzZW50YXRpb24nKQoKZW5kCgoKCi0tLSBDb252ZXJ0IGEgYmludCB0byBhIGJ1ZmZlciBvZiBsaXR0bGUtZW5kaWFuIGJ5dGVzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtW29wdF0gdHJpbSBJZiB0cnVlLCB6ZXJvIGJ5dGVzIG9uIHRoZSByaWdodCBhcmUgdHJpbW1lZC4KCi0tIEByZXR1cm4gQSBidWZmZXIgb2YgYnl0ZXMgcmVwcmVzZW50aW5nIHRoZSBpbnB1dC4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXQgaXMgbm90IGNvbnZlcnRpYmxlIHRvIGFuIGludGVnZXIuCgpmdW5jdGlvbiBiaW50LnRvbGUoeCwgdHJpbSkKCiAgeCA9IGJpbnRfYXNzZXJ0X2NvbnZlcnQoeCkKCiAgbG9jYWwgcyA9IEJJTlRfTEVQQUNLRk1UOnBhY2sodGFibGVfdW5wYWNrKHgpKQoKICBpZiB0cmltIHRoZW4KCiAgICBzID0gczpnc3ViKCdceDAwKyQnLCAnJykKCiAgICBpZiBzID09ICcnIHRoZW4KCiAgICAgIHMgPSAnXHgwMCcKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiBzCgplbmQKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGEgYnVmZmVyIG9mIGJpZy1lbmRpYW4gYnl0ZXMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgbHVhIGludGVnZXIuCgotLSBAcGFyYW1bb3B0XSB0cmltIElmIHRydWUsIHplcm8gYnl0ZXMgb24gdGhlIGxlZnQgYXJlIHRyaW1tZWQuCgotLSBAcmV0dXJuIEEgYnVmZmVyIG9mIGJ5dGVzIHJlcHJlc2VudGluZyB0aGUgaW5wdXQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0IGlzIG5vdCBjb252ZXJ0aWJsZSB0byBhbiBpbnRlZ2VyLgoKZnVuY3Rpb24gYmludC50b2JlKHgsIHRyaW0pCgogIHggPSBiaW50X2Fzc2VydF9jb252ZXJ0KHgpCgogIGxvY2FsIHMgPSBCSU5UX0xFUEFDS0ZNVDpwYWNrKHRhYmxlX3VucGFjayh4KSk6cmV2ZXJzZSgpCgogIGlmIHRyaW0gdGhlbgoKICAgIHMgPSBzOmdzdWIoJ15ceDAwKycsICcnKQoKICAgIGlmIHMgPT0gJycgdGhlbgoKICAgICAgcyA9ICdceDAwJwoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIHMKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgMCBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50LmlzemVybyh4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgPT0gYmludCB0aGVuCgogICAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICAgIGlmIHhbaV0gfj0gMCB0aGVuCgogICAgICAgIHJldHVybiBmYWxzZQoKICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIHRydWUKCiAgZW5kCgogIHJldHVybiB4ID09IDAKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgMSBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50Lmlzb25lKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICBpZiB4WzFdIH49IDEgdGhlbgoKICAgICAgcmV0dXJuIGZhbHNlCgogICAgZW5kCgogICAgZm9yIGk9MixCSU5UX1NJWkUgZG8KCiAgICAgIGlmIHhbaV0gfj0gMCB0aGVuCgogICAgICAgIHJldHVybiBmYWxzZQoKICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIHRydWUKCiAgZW5kCgogIHJldHVybiB4ID09IDEKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgLTEgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyLgoKZnVuY3Rpb24gYmludC5pc21pbnVzb25lKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgaWYgeFtpXSB+PSBCSU5UX1dPUkRNQVggdGhlbgoKICAgICAgICByZXR1cm4gZmFsc2UKCiAgICAgIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiB0cnVlCgogIGVuZAoKICByZXR1cm4geCA9PSAtMQoKZW5kCgpsb2NhbCBiaW50X2lzbWludXNvbmUgPSBiaW50LmlzbWludXNvbmUKCgoKLS0tIENoZWNrIGlmIHRoZSBpbnB1dCBpcyBhIGJpbnQuCgotLSBAcGFyYW0geCBBbnkgbHVhIHZhbHVlLgoKZnVuY3Rpb24gYmludC5pc2JpbnQoeCkKCiAgcmV0dXJuIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50CgplbmQKCgoKLS0tIENoZWNrIGlmIHRoZSBpbnB1dCBpcyBhIGx1YSBpbnRlZ2VyIG9yIGEgYmludC4KCi0tIEBwYXJhbSB4IEFueSBsdWEgdmFsdWUuCgpmdW5jdGlvbiBiaW50LmlzaW50ZWdyYWwoeCkKCiAgcmV0dXJuIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IG9yIG1hdGhfdHlwZSh4KSA9PSAnaW50ZWdlcicKCmVuZAoKCgotLS0gQ2hlY2sgaWYgdGhlIGlucHV0IGlzIGEgYmludCBvciBhIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geCBBbnkgbHVhIHZhbHVlLgoKZnVuY3Rpb24gYmludC5pc251bWVyaWMoeCkKCiAgcmV0dXJuIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IG9yIHR5cGUoeCkgPT0gJ251bWJlcicKCmVuZAoKCgotLS0gR2V0IHRoZSBudW1iZXIgdHlwZSBvZiB0aGUgaW5wdXQgKGJpbnQsIGludGVnZXIgb3IgZmxvYXQpLgoKLS0gQHBhcmFtIHggQW55IGx1YSB2YWx1ZS4KCi0tIEByZXR1cm4gUmV0dXJucyAiYmludCIgZm9yIGJpbnRzLCAiaW50ZWdlciIgZm9yIGx1YSBpbnRlZ2VycywKCi0tICJmbG9hdCIgZnJvbSBsdWEgZmxvYXRzIG9yIG5pbCBvdGhlcndpc2UuCgpmdW5jdGlvbiBiaW50LnR5cGUoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIHJldHVybiAnYmludCcKCiAgZW5kCgogIHJldHVybiBtYXRoX3R5cGUoeCkKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgbmVnYXRpdmUgY29uc2lkZXJpbmcgYmludHMuCgotLSBaZXJvIGlzIGd1YXJhbnRlZWQgdG8gbmV2ZXIgYmUgbmVnYXRpdmUgZm9yIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlci4KCmZ1bmN0aW9uIGJpbnQuaXNuZWcoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIHJldHVybiB4W0JJTlRfU0laRV0gJiBCSU5UX1dPUkRNU0Igfj0gMAoKICBlbmQKCiAgcmV0dXJuIHggPCAwCgplbmQKCmxvY2FsIGJpbnRfaXNuZWcgPSBiaW50LmlzbmVnCgoKCi0tLSBDaGVjayBpZiBhIG51bWJlciBpcyBwb3NpdGl2ZSBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50LmlzcG9zKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4gbm90IHg6aXNuZWcoKSBhbmQgbm90IHg6aXN6ZXJvKCkKCiAgZW5kCgogIHJldHVybiB4ID4gMAoKZW5kCgoKCi0tLSBDaGVjayBpZiBhIG51bWJlciBpcyBldmVuIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlci4KCmZ1bmN0aW9uIGJpbnQuaXNldmVuKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4geFsxXSAmIDEgPT0gMAoKICBlbmQKCiAgcmV0dXJuIG1hdGhfYWJzKHgpICUgMiA9PSAwCgplbmQKCgoKLS0tIENoZWNrIGlmIGEgbnVtYmVyIGlzIG9kZCBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50Lmlzb2RkKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4geFsxXSAmIDEgPT0gMQoKICBlbmQKCiAgcmV0dXJuIG1hdGhfYWJzKHgpICUgMiA9PSAxCgplbmQKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IHdpdGggdGhlIG1heGltdW0gcG9zc2libGUgaW50ZWdlciB2YWx1ZS4KCmZ1bmN0aW9uIGJpbnQubWF4aW50ZWdlcigpCgogIGxvY2FsIHggPSBzZXRtZXRhdGFibGUoe30sIGJpbnQpCgogIGZvciBpPTEsQklOVF9TSVpFLTEgZG8KCiAgICB4W2ldID0gQklOVF9XT1JETUFYCgogIGVuZAoKICB4W0JJTlRfU0laRV0gPSBCSU5UX1dPUkRNQVggfiBCSU5UX1dPUkRNU0IKCiAgcmV0dXJuIHgKCmVuZAoKCgotLS0gQ3JlYXRlIGEgbmV3IGJpbnQgd2l0aCB0aGUgbWluaW11bSBwb3NzaWJsZSBpbnRlZ2VyIHZhbHVlLgoKZnVuY3Rpb24gYmludC5taW5pbnRlZ2VyKCkKCiAgbG9jYWwgeCA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgZm9yIGk9MSxCSU5UX1NJWkUtMSBkbwoKICAgIHhbaV0gPSAwCgogIGVuZAoKICB4W0JJTlRfU0laRV0gPSBCSU5UX1dPUkRNU0IKCiAgcmV0dXJuIHgKCmVuZAoKCgotLS0gQml0d2lzZSBsZWZ0IHNoaWZ0IGEgYmludCBpbiBvbmUgYml0IChpbi1wbGFjZSkuCgpmdW5jdGlvbiBiaW50Ol9zaGxvbmUoKQoKICBsb2NhbCB3b3JkYml0c20xID0gQklOVF9XT1JEQklUUyAtIDEKCiAgZm9yIGk9QklOVF9TSVpFLDIsLTEgZG8KCiAgICBzZWxmW2ldID0gKChzZWxmW2ldIDw8IDEpIHwgKHNlbGZbaS0xXSA+PiB3b3JkYml0c20xKSkgJiBCSU5UX1dPUkRNQVgKCiAgZW5kCgogIHNlbGZbMV0gPSAoc2VsZlsxXSA8PCAxKSAmIEJJTlRfV09SRE1BWAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBCaXR3aXNlIHJpZ2h0IHNoaWZ0IGEgYmludCBpbiBvbmUgYml0IChpbi1wbGFjZSkuCgpmdW5jdGlvbiBiaW50Ol9zaHJvbmUoKQoKICBsb2NhbCB3b3JkYml0c20xID0gQklOVF9XT1JEQklUUyAtIDEKCiAgZm9yIGk9MSxCSU5UX1NJWkUtMSBkbwoKICAgIHNlbGZbaV0gPSAoKHNlbGZbaV0gPj4gMSkgfCAoc2VsZltpKzFdIDw8IHdvcmRiaXRzbTEpKSAmIEJJTlRfV09SRE1BWAoKICBlbmQKCiAgc2VsZltCSU5UX1NJWkVdID0gc2VsZltCSU5UX1NJWkVdID4+IDEKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLSBCaXR3aXNlIGxlZnQgc2hpZnQgd29yZHMgb2YgYSBiaW50IChpbi1wbGFjZSkuIFVzZWQgb25seSBpbnRlcm5hbGx5LgoKZnVuY3Rpb24gYmludDpfc2hsd29yZHMobikKCiAgZm9yIGk9QklOVF9TSVpFLG4rMSwtMSBkbwoKICAgIHNlbGZbaV0gPSBzZWxmW2kgLSBuXQoKICBlbmQKCiAgZm9yIGk9MSxuIGRvCgogICAgc2VsZltpXSA9IDAKCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0gQml0d2lzZSByaWdodCBzaGlmdCB3b3JkcyBvZiBhIGJpbnQgKGluLXBsYWNlKS4gVXNlZCBvbmx5IGludGVybmFsbHkuCgpmdW5jdGlvbiBiaW50Ol9zaHJ3b3JkcyhuKQoKICBpZiBuIDwgQklOVF9TSVpFIHRoZW4KCiAgICBmb3IgaT0xLEJJTlRfU0laRS1uIGRvCgogICAgICBzZWxmW2ldID0gc2VsZltpICsgbl0KCiAgICBlbmQKCiAgICBmb3IgaT1CSU5UX1NJWkUtbisxLEJJTlRfU0laRSBkbwoKICAgICAgc2VsZltpXSA9IDAKCiAgICBlbmQKCiAgZWxzZQoKICAgIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgICBzZWxmW2ldID0gMAoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gSW5jcmVtZW50IGEgYmludCBieSBvbmUgKGluLXBsYWNlKS4KCmZ1bmN0aW9uIGJpbnQ6X2luYygpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgbG9jYWwgdG1wID0gc2VsZltpXQoKICAgIGxvY2FsIHYgPSAodG1wICsgMSkgJiBCSU5UX1dPUkRNQVgKCiAgICBzZWxmW2ldID0gdgoKICAgIGlmIHYgPiB0bXAgdGhlbgoKICAgICAgYnJlYWsKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0tIEluY3JlbWVudCBhIG51bWJlciBieSBvbmUgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIGluY3JlbWVudC4KCmZ1bmN0aW9uIGJpbnQuaW5jKHgpCgogIGxvY2FsIGl4ID0gdG9iaW50KHgsIHRydWUpCgogIGlmIGl4IHRoZW4KCiAgICByZXR1cm4gaXg6X2luYygpCgogIGVuZAoKICByZXR1cm4geCArIDEKCmVuZAoKCgotLS0gRGVjcmVtZW50IGEgYmludCBieSBvbmUgKGluLXBsYWNlKS4KCmZ1bmN0aW9uIGJpbnQ6X2RlYygpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgbG9jYWwgdG1wID0gc2VsZltpXQoKICAgIGxvY2FsIHYgPSAodG1wIC0gMSkgJiBCSU5UX1dPUkRNQVgKCiAgICBzZWxmW2ldID0gdgoKICAgIGlmIHYgPD0gdG1wIHRoZW4KCiAgICAgIGJyZWFrCgogICAgZW5kCgogIGVuZAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBEZWNyZW1lbnQgYSBudW1iZXIgYnkgb25lIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byBkZWNyZW1lbnQuCgpmdW5jdGlvbiBiaW50LmRlYyh4KQoKICBsb2NhbCBpeCA9IHRvYmludCh4LCB0cnVlKQoKICBpZiBpeCB0aGVuCgogICAgcmV0dXJuIGl4Ol9kZWMoKQoKICBlbmQKCiAgcmV0dXJuIHggLSAxCgplbmQKCgoKLS0tIEFzc2lnbiBhIGJpbnQgdG8gYSBuZXcgdmFsdWUgKGluLXBsYWNlKS4KCi0tIEBwYXJhbSB5IEEgdmFsdWUgdG8gYmUgY29waWVkIGZyb20uCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYXNzaWduKHkpCgogIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHkpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgc2VsZltpXSA9IHlbaV0KCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0tIFRha2UgYWJzb2x1dGUgb2YgYSBiaW50IChpbi1wbGFjZSkuCgpmdW5jdGlvbiBiaW50Ol9hYnMoKQoKICBpZiBzZWxmOmlzbmVnKCkgdGhlbgoKICAgIHNlbGY6X3VubSgpCgogIGVuZAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBUYWtlIGFic29sdXRlIG9mIGEgbnVtYmVyIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byB0YWtlIHRoZSBhYnNvbHV0ZS4KCmZ1bmN0aW9uIGJpbnQuYWJzKHgpCgogIGxvY2FsIGl4ID0gdG9iaW50KHgsIHRydWUpCgogIGlmIGl4IHRoZW4KCiAgICByZXR1cm4gaXg6X2FicygpCgogIGVuZAoKICByZXR1cm4gbWF0aF9hYnMoeCkKCmVuZAoKbG9jYWwgYmludF9hYnMgPSBiaW50LmFicwoKCgotLS0gVGFrZSB0aGUgZmxvb3Igb2YgYSBudW1iZXIgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIHBlcmZvcm0gdGhlIGZsb29yIG9wZXJhdGlvbi4KCmZ1bmN0aW9uIGJpbnQuZmxvb3IoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIHJldHVybiBiaW50X25ldyh4KQoKICBlbmQKCiAgcmV0dXJuIGJpbnRfbmV3KG1hdGhfZmxvb3IodG9udW1iZXIoeCkpKQoKZW5kCgoKCi0tLSBUYWtlIGNlaWwgb2YgYSBudW1iZXIgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIHBlcmZvcm0gdGhlIGNlaWwgb3BlcmF0aW9uLgoKZnVuY3Rpb24gYmludC5jZWlsKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4gYmludF9uZXcoeCkKCiAgZW5kCgogIHJldHVybiBiaW50X25ldyhtYXRoX2NlaWwodG9udW1iZXIoeCkpKQoKZW5kCgoKCi0tLSBXcmFwIGFyb3VuZCBiaXRzIG9mIGFuIGludGVnZXIgKGRpc2NhcmRpbmcgbGVmdCBiaXRzKSBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgTnVtYmVyIG9mIHJpZ2h0IGJpdHMgdG8gcHJlc2VydmUuCgpmdW5jdGlvbiBiaW50LmJ3cmFwKHgsIHkpCgogIHggPSBiaW50X2Fzc2VydF9jb252ZXJ0KHgpCgogIGlmIHkgPD0gMCB0aGVuCgogICAgcmV0dXJuIGJpbnRfemVybygpCgogIGVsc2VpZiB5IDwgQklOVF9CSVRTIHRoZW4KCiAgICByZXR1cm4geCAmIChiaW50X29uZSgpIDw8IHkpOl9kZWMoKQoKICBlbmQKCiAgcmV0dXJuIGJpbnRfbmV3KHgpCgplbmQKCgoKLS0tIFJvdGF0ZSBsZWZ0IGludGVnZXIgeCBieSB5IGJpdHMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgaW50ZWdlci4KCi0tIEBwYXJhbSB5IE51bWJlciBvZiBiaXRzIHRvIHJvdGF0ZS4KCmZ1bmN0aW9uIGJpbnQuYnJvbCh4LCB5KQoKICB4LCB5ID0gYmludF9hc3NlcnRfY29udmVydCh4KSwgYmludF9hc3NlcnRfdG9pbnRlZ2VyKHkpCgogIGlmIHkgPiAwIHRoZW4KCiAgICByZXR1cm4gKHggPDwgeSkgfCAoeCA+PiAoQklOVF9CSVRTIC0geSkpCgogIGVsc2VpZiB5IDwgMCB0aGVuCgogICAgaWYgeSB+PSBtYXRoX21pbmludGVnZXIgdGhlbgoKICAgICAgcmV0dXJuIHg6YnJvcigteSkKCiAgICBlbHNlCgogICAgICB4OmJyb3IoLSh5KzEpKQoKICAgICAgeDpicm9yKDEpCgogICAgZW5kCgogIGVuZAoKICByZXR1cm4geAoKZW5kCgoKCi0tLSBSb3RhdGUgcmlnaHQgaW50ZWdlciB4IGJ5IHkgYml0cyBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgTnVtYmVyIG9mIGJpdHMgdG8gcm90YXRlLgoKZnVuY3Rpb24gYmludC5icm9yKHgsIHkpCgogIHgsIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHgpLCBiaW50X2Fzc2VydF90b2ludGVnZXIoeSkKCiAgaWYgeSA+IDAgdGhlbgoKICAgIHJldHVybiAoeCA+PiB5KSB8ICh4IDw8IChCSU5UX0JJVFMgLSB5KSkKCiAgZWxzZWlmIHkgPCAwIHRoZW4KCiAgICBpZiB5IH49IG1hdGhfbWluaW50ZWdlciB0aGVuCgogICAgICByZXR1cm4geDpicm9sKC15KQoKICAgIGVsc2UKCiAgICAgIHg6YnJvbCgtKHkrMSkpCgogICAgICB4OmJyb2woMSkKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCgoKLS0tIFRydW5jYXRlIGEgbnVtYmVyIHRvIGEgYmludC4KCi0tIEZsb2F0cyBudW1iZXJzIGFyZSB0cnVuY2F0ZWQsIHRoYXQgaXMsIHRoZSBmcmFjdGlvbmFsIHBvcnQgaXMgZGlzY2FyZGVkLgoKLS0gQHBhcmFtIHggQSBudW1iZXIgdG8gdHJ1bmNhdGUuCgotLSBAcmV0dXJuIEEgbmV3IGJpbnQgb3IgbmlsIGluIGNhc2UgdGhlIGlucHV0IGRvZXMgbm90IGZpdCBpbiBhIGJpbnQgb3IgaXMgbm90IGEgbnVtYmVyLgoKZnVuY3Rpb24gYmludC50cnVuYyh4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgfj0gYmludCB0aGVuCgogICAgeCA9IHRvbnVtYmVyKHgpCgogICAgaWYgeCB0aGVuCgogICAgICBsb2NhbCB0eSA9IG1hdGhfdHlwZSh4KQoKICAgICAgaWYgdHkgPT0gJ2Zsb2F0JyB0aGVuCgogICAgICAgIC0tIHRydW5jYXRlIHRvIGludGVnZXIKCiAgICAgICAgeCA9IG1hdGhfbW9kZih4KQoKICAgICAgZW5kCgogICAgICByZXR1cm4gYmludF9mcm9taW50ZWdlcih4KQoKICAgIGVuZAoKICAgIHJldHVybgoKICBlbmQKCiAgcmV0dXJuIGJpbnRfbmV3KHgpCgplbmQKCgoKLS0tIFRha2UgbWF4aW11bSBiZXR3ZWVuIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGx1YSBudW1iZXIgdG8gY29tcGFyZS4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBsdWEgbnVtYmVyIHRvIGNvbXBhcmUuCgotLSBAcmV0dXJuIEEgYmludCBvciBhIGx1YSBudW1iZXIuIEd1YXJhbnRlZXMgdG8gcmV0dXJuIGEgbmV3IGJpbnQgZm9yIGludGVnZXIgdmFsdWVzLgoKZnVuY3Rpb24gYmludC5tYXgoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICByZXR1cm4gYmludF9uZXcoaXggPiBpeSBhbmQgaXggb3IgaXkpCgogIGVuZAoKICByZXR1cm4gYmludF9wYXJzZShtYXRoX21heCh4LCB5KSkKCmVuZAoKCgotLS0gVGFrZSBtaW5pbXVtIGJldHdlZW4gdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgbHVhIG51bWJlciB0byBjb21wYXJlLgoKLS0gQHBhcmFtIHkgQSBiaW50IG9yIGx1YSBudW1iZXIgdG8gY29tcGFyZS4KCi0tIEByZXR1cm4gQSBiaW50IG9yIGEgbHVhIG51bWJlci4gR3VhcmFudGVlcyB0byByZXR1cm4gYSBuZXcgYmludCBmb3IgaW50ZWdlciB2YWx1ZXMuCgpmdW5jdGlvbiBiaW50Lm1pbih4LCB5KQoKICBsb2NhbCBpeCwgaXkgPSB0b2JpbnQoeCksIHRvYmludCh5KQoKICBpZiBpeCBhbmQgaXkgdGhlbgoKICAgIHJldHVybiBiaW50X25ldyhpeCA8IGl5IGFuZCBpeCBvciBpeSkKCiAgZW5kCgogIHJldHVybiBiaW50X3BhcnNlKG1hdGhfbWluKHgsIHkpKQoKZW5kCgoKCi0tLSBBZGQgYW4gaW50ZWdlciB0byBhIGJpbnQgKGluLXBsYWNlKS4KCi0tIEBwYXJhbSB5IEFuIGludGVnZXIgdG8gYmUgYWRkZWQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYWRkKHkpCgogIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHkpCgogIGxvY2FsIGNhcnJ5ID0gMAoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIGxvY2FsIHRtcCA9IHNlbGZbaV0gKyB5W2ldICsgY2FycnkKCiAgICBjYXJyeSA9IHRtcCA+PiBCSU5UX1dPUkRCSVRTCgogICAgc2VsZltpXSA9IHRtcCAmIEJJTlRfV09SRE1BWAoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gQWRkIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byBiZSBhZGRlZC4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBhIGx1YSBudW1iZXIgdG8gYmUgYWRkZWQuCgpmdW5jdGlvbiBiaW50Ll9fYWRkKHgsIHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludCh4KSwgdG9iaW50KHkpCgogIGlmIGl4IGFuZCBpeSB0aGVuCgogICAgbG9jYWwgeiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBsb2NhbCBjYXJyeSA9IDAKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbG9jYWwgdG1wID0gaXhbaV0gKyBpeVtpXSArIGNhcnJ5CgogICAgICBjYXJyeSA9IHRtcCA+PiBCSU5UX1dPUkRCSVRTCgogICAgICB6W2ldID0gdG1wICYgQklOVF9XT1JETUFYCgogICAgZW5kCgogICAgcmV0dXJuIHoKCiAgZW5kCgogIHJldHVybiBiaW50X3RvbnVtYmVyKHgpICsgYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBTdWJ0cmFjdCBhbiBpbnRlZ2VyIGZyb20gYSBiaW50IChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHN1YnRyYWN0LgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQ6X3N1Yih5KQoKICB5ID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICBsb2NhbCBib3Jyb3cgPSAwCgogIGxvY2FsIHdvcmRtYXhwMSA9IEJJTlRfV09SRE1BWCArIDEKCiAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICBsb2NhbCByZXMgPSBzZWxmW2ldICsgd29yZG1heHAxIC0geVtpXSAtIGJvcnJvdwoKICAgIHNlbGZbaV0gPSByZXMgJiBCSU5UX1dPUkRNQVgKCiAgICBib3Jyb3cgPSAocmVzID4+IEJJTlRfV09SREJJVFMpIH4gMQoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gU3VidHJhY3QgdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIGJlIHN1YnRyYWN0ZWQgZnJvbS4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBhIGx1YSBudW1iZXIgdG8gc3VidHJhY3QuCgpmdW5jdGlvbiBiaW50Ll9fc3ViKHgsIHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludCh4KSwgdG9iaW50KHkpCgogIGlmIGl4IGFuZCBpeSB0aGVuCgogICAgbG9jYWwgeiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBsb2NhbCBib3Jyb3cgPSAwCgogICAgbG9jYWwgd29yZG1heHAxID0gQklOVF9XT1JETUFYICsgMQoKICAgIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgICBsb2NhbCByZXMgPSBpeFtpXSArIHdvcmRtYXhwMSAtIGl5W2ldIC0gYm9ycm93CgogICAgICB6W2ldID0gcmVzICYgQklOVF9XT1JETUFYCgogICAgICBib3Jyb3cgPSAocmVzID4+IEJJTlRfV09SREJJVFMpIH4gMQoKICAgIGVuZAoKICAgIHJldHVybiB6CgogIGVuZAoKICByZXR1cm4gYmludF90b251bWJlcih4KSAtIGJpbnRfdG9udW1iZXIoeSkKCmVuZAoKCgotLS0gTXVsdGlwbHkgdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIG11bHRpcGx5LgoKLS0gQHBhcmFtIHkgQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byBtdWx0aXBseS4KCmZ1bmN0aW9uIGJpbnQuX19tdWwoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCB6ID0gYmludF96ZXJvKCkKCiAgICBsb2NhbCBzaXplcDEgPSBCSU5UX1NJWkUrMQoKICAgIGxvY2FsIHMgPSBzaXplcDEKCiAgICBsb2NhbCBlID0gMAoKICAgIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgICBpZiBpeFtpXSB+PSAwIG9yIGl5W2ldIH49IDAgdGhlbgoKICAgICAgICBlID0gbWF0aF9tYXgoZSwgaSkKCiAgICAgICAgcyA9IG1hdGhfbWluKHMsIGkpCgogICAgICBlbmQKCiAgICBlbmQKCiAgICBmb3IgaT1zLGUgZG8KCiAgICAgIGZvciBqPXMsbWF0aF9taW4oc2l6ZXAxLWksZSkgZG8KCiAgICAgICAgbG9jYWwgYSA9IGl4W2ldICogaXlbal0KCiAgICAgICAgaWYgYSB+PSAwIHRoZW4KCiAgICAgICAgICBsb2NhbCBjYXJyeSA9IDAKCiAgICAgICAgICBmb3Igaz1pK2otMSxCSU5UX1NJWkUgZG8KCiAgICAgICAgICAgIGxvY2FsIHRtcCA9IHpba10gKyAoYSAmIEJJTlRfV09SRE1BWCkgKyBjYXJyeQoKICAgICAgICAgICAgY2FycnkgPSB0bXAgPj4gQklOVF9XT1JEQklUUwoKICAgICAgICAgICAgeltrXSA9IHRtcCAmIEJJTlRfV09SRE1BWAoKICAgICAgICAgICAgYSA9IGEgPj4gQklOVF9XT1JEQklUUwoKICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICAgIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiB6CgogIGVuZAoKICByZXR1cm4gYmludF90b251bWJlcih4KSAqIGJpbnRfdG9udW1iZXIoeSkKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYmludHMgYXJlIGVxdWFsLgoKLS0gQHBhcmFtIHggQSBiaW50IHRvIGNvbXBhcmUuCgotLSBAcGFyYW0geSBBIGJpbnQgdG8gY29tcGFyZS4KCmZ1bmN0aW9uIGJpbnQuX19lcSh4LCB5KQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIGlmIHhbaV0gfj0geVtpXSB0aGVuCgogICAgICByZXR1cm4gZmFsc2UKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiB0cnVlCgplbmQKCgoKLS0tIENoZWNrIGlmIG51bWJlcnMgYXJlIGVxdWFsIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGx1YSBudW1iZXIgdG8gY29tcGFyZS4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBsdWEgbnVtYmVyIHRvIGNvbXBhcmUuCgpmdW5jdGlvbiBiaW50LmVxKHgsIHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludCh4KSwgdG9iaW50KHkpCgogIGlmIGl4IGFuZCBpeSB0aGVuCgogICAgcmV0dXJuIGl4ID09IGl5CgogIGVuZAoKICByZXR1cm4geCA9PSB5CgplbmQKCmxvY2FsIGJpbnRfZXEgPSBiaW50LmVxCgoKCmxvY2FsIGZ1bmN0aW9uIGZpbmRsZWZ0Yml0KHgpCgogIGZvciBpPUJJTlRfU0laRSwxLC0xIGRvCgogICAgbG9jYWwgdiA9IHhbaV0KCiAgICBpZiB2IH49IDAgdGhlbgoKICAgICAgbG9jYWwgaiA9IDAKCiAgICAgIHJlcGVhdAoKICAgICAgICB2ID0gdiA+PiAxCgogICAgICAgIGogPSBqICsgMQoKICAgICAgdW50aWwgdiA9PSAwCgogICAgICByZXR1cm4gKGktMSkqQklOVF9XT1JEQklUUyArIGogLSAxLCBpCgogICAgZW5kCgogIGVuZAoKZW5kCgoKCi0tIFNpbmdsZSB3b3JkIGRpdmlzaW9uIG1vZHVsdXMKCmxvY2FsIGZ1bmN0aW9uIHN1ZGl2bW9kKG51bWUsIGRlbm8pCgogIGxvY2FsIHJlbWEKCiAgbG9jYWwgY2FycnkgPSAwCgogIGZvciBpPUJJTlRfU0laRSwxLC0xIGRvCgogICAgY2FycnkgPSBjYXJyeSB8IG51bWVbaV0KCiAgICBudW1lW2ldID0gY2FycnkgLy8gZGVubwoKICAgIHJlbWEgPSBjYXJyeSAlIGRlbm8KCiAgICBjYXJyeSA9IHJlbWEgPDwgQklOVF9XT1JEQklUUwoKICBlbmQKCiAgcmV0dXJuIHJlbWEKCmVuZAoKCgotLS0gUGVyZm9ybSB1bnNpZ25lZCBkaXZpc2lvbiBhbmQgbW9kdWxvIG9wZXJhdGlvbiBiZXR3ZWVuIHR3byBpbnRlZ2VycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoaXMgaXMgZWZmZWN0aXZlbHkgdGhlIHNhbWUgb2YgQHtiaW50LnVkaXZ9IGFuZCBAe2JpbnQudW1vZH0uCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBtdXN0IGJlIGEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgVGhlIGRlbm9taW5hdG9yLCBtdXN0IGJlIGEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHJldHVybiBUaGUgcXVvdGllbnQgZm9sbG93aW5nIHRoZSByZW1haW5kZXIsIGJvdGggYmludHMuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvCgotLSBvciBpZiBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC51ZGl2CgotLSBAc2VlIGJpbnQudW1vZAoKZnVuY3Rpb24gYmludC51ZGl2bW9kKHgsIHkpCgogIGxvY2FsIG51bWUgPSBiaW50X25ldyh4KQoKICBsb2NhbCBkZW5vID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICAtLSBjb21wdXRlIGlmIGhpZ2ggYml0cyBvZiBkZW5vbWluYXRvciBhcmUgYWxsIHplcm9zCgogIGxvY2FsIGlzaGlnaHplcm8gPSB0cnVlCgogIGZvciBpPTIsQklOVF9TSVpFIGRvCgogICAgaWYgZGVub1tpXSB+PSAwIHRoZW4KCiAgICAgIGlzaGlnaHplcm8gPSBmYWxzZQoKICAgICAgYnJlYWsKCiAgICBlbmQKCiAgZW5kCgogIGlmIGlzaGlnaHplcm8gdGhlbgoKICAgIC0tIHRyeSB0byBkaXZpZGUgYnkgYSBzaW5nbGUgd29yZCAob3B0aW1pemF0aW9uKQoKICAgIGxvY2FsIGxvdyA9IGRlbm9bMV0KCiAgICBhc3NlcnQobG93IH49IDAsICdhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvJykKCiAgICBpZiBsb3cgPT0gMSB0aGVuCgogICAgICAtLSBkZW5vbWluYXRvciBpcyBvbmUKCiAgICAgIHJldHVybiBudW1lLCBiaW50X3plcm8oKQoKICAgIGVsc2VpZiBsb3cgPD0gKEJJTlRfV09SRE1TQiAtIDEpIHRoZW4KCiAgICAgIC0tIGNhbiBkbyBzaW5nbGUgd29yZCBkaXZpc2lvbgoKICAgICAgbG9jYWwgcmVtYSA9IHN1ZGl2bW9kKG51bWUsIGxvdykKCiAgICAgIHJldHVybiBudW1lLCBiaW50X2Zyb211aW50ZWdlcihyZW1hKQoKICAgIGVuZAoKICBlbmQKCiAgaWYgbnVtZTp1bHQoZGVubykgdGhlbgoKICAgIC0tIGRlbm9taW5hdG9yIGlzIGdyZWF0ZXIgdGhhbiBudW1lcmF0b3IKCiAgICByZXR1cm4gYmludF96ZXJvKCksIG51bWUKCiAgZW5kCgogIC0tIGFsaWduIGxlZnRtb3N0IGRpZ2l0cyBpbiBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yCgogIGxvY2FsIGRlbm9sYml0ID0gZmluZGxlZnRiaXQoZGVubykKCiAgbG9jYWwgbnVtZWxiaXQsIG51bWVzaXplID0gZmluZGxlZnRiaXQobnVtZSkKCiAgbG9jYWwgYml0ID0gbnVtZWxiaXQgLSBkZW5vbGJpdAoKICBkZW5vID0gZGVubyA8PCBiaXQKCiAgbG9jYWwgd29yZG1heHAxID0gQklOVF9XT1JETUFYICsgMQoKICBsb2NhbCB3b3JkYml0c20xID0gQklOVF9XT1JEQklUUyAtIDEKCiAgbG9jYWwgZGVub3NpemUgPSBudW1lc2l6ZQoKICBsb2NhbCBxdW90ID0gYmludF96ZXJvKCkKCiAgd2hpbGUgYml0ID49IDAgZG8KCiAgICAtLSBjb21wdXRlIGRlbm9taW5hdG9yIDw9IG51bWVyYXRvcgoKICAgIGxvY2FsIGxlID0gdHJ1ZQoKICAgIGxvY2FsIHNpemUgPSBtYXRoX21heChudW1lc2l6ZSwgZGVub3NpemUpCgogICAgZm9yIGk9c2l6ZSwxLC0xIGRvCgogICAgICBsb2NhbCBhLCBiID0gZGVub1tpXSwgbnVtZVtpXQoKICAgICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgICAgbGUgPSBhIDwgYgoKICAgICAgICBicmVhawoKICAgICAgZW5kCgogICAgZW5kCgogICAgLS0gaWYgdGhlIHBvcnRpb24gb2YgdGhlIG51bWVyYXRvciBhYm92ZSB0aGUgZGVub21pbmF0b3IgaXMgZ3JlYXRlciBvciBlcXVhbCB0aGFuIHRvIHRoZSBkZW5vbWluYXRvcgoKICAgIGlmIGxlIHRoZW4KCiAgICAgIC0tIHN1YnRyYWN0IGRlbm9taW5hdG9yIGZyb20gdGhlIHBvcnRpb24gb2YgdGhlIG51bWVyYXRvcgoKICAgICAgbG9jYWwgYm9ycm93ID0gMAoKICAgICAgZm9yIGk9MSxzaXplIGRvCgogICAgICAgIGxvY2FsIHJlcyA9IG51bWVbaV0gKyB3b3JkbWF4cDEgLSBkZW5vW2ldIC0gYm9ycm93CgogICAgICAgIG51bWVbaV0gPSByZXMgJiBCSU5UX1dPUkRNQVgKCiAgICAgICAgYm9ycm93ID0gKHJlcyA+PiBCSU5UX1dPUkRCSVRTKSB+IDEKCiAgICAgIGVuZAoKICAgICAgLS0gY29uY2F0ZW5hdGUgMSB0byB0aGUgcmlnaHQgYml0IG9mIHRoZSBxdW90aWVudAoKICAgICAgbG9jYWwgaSA9IChiaXQgLy8gQklOVF9XT1JEQklUUykgKyAxCgogICAgICBxdW90W2ldID0gcXVvdFtpXSB8ICgxIDw8IChiaXQgJSBCSU5UX1dPUkRCSVRTKSkKCiAgICBlbmQKCiAgICAtLSBzaGlmdCByaWdodCB0aGUgZGVub21pbmF0b3IgaW4gb25lIGJpdAoKICAgIGZvciBpPTEsZGVub3NpemUtMSBkbwoKICAgICAgZGVub1tpXSA9ICgoZGVub1tpXSA+PiAxKSB8IChkZW5vW2krMV0gPDwgd29yZGJpdHNtMSkpICYgQklOVF9XT1JETUFYCgogICAgZW5kCgogICAgbG9jYWwgbGFzdGRlbm93b3JkID0gZGVub1tkZW5vc2l6ZV0gPj4gMQoKICAgIGRlbm9bZGVub3NpemVdID0gbGFzdGRlbm93b3JkCgogICAgLS0gcmVjYWxjdWxhdGUgZGVub21pbmF0b3Igc2l6ZSAob3B0aW1pemF0aW9uKQoKICAgIGlmIGxhc3RkZW5vd29yZCA9PSAwIHRoZW4KCiAgICAgIHdoaWxlIGRlbm9bZGVub3NpemVdID09IDAgZG8KCiAgICAgICAgZGVub3NpemUgPSBkZW5vc2l6ZSAtIDEKCiAgICAgIGVuZAoKICAgICAgaWYgZGVub3NpemUgPT0gMCB0aGVuCgogICAgICAgIGJyZWFrCgogICAgICBlbmQKCiAgICBlbmQKCiAgICAtLSBkZWNyZW1lbnQgY3VycmVudCBzZXQgYml0IGZvciB0aGUgcXVvdGllbnQKCiAgICBiaXQgPSBiaXQgLSAxCgogIGVuZAoKICAtLSB0aGUgcmVtYWluaW5nIG51bWVyYXRvciBpcyB0aGUgcmVtYWluZGVyCgogIHJldHVybiBxdW90LCBudW1lCgplbmQKCmxvY2FsIGJpbnRfdWRpdm1vZCA9IGJpbnQudWRpdm1vZAoKCgotLS0gUGVyZm9ybSB1bnNpZ25lZCBkaXZpc2lvbiBiZXR3ZWVuIHR3byBpbnRlZ2VycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IFRoZSBudW1lcmF0b3IsIG11c3QgYmUgYSBiaW50IG9yIGEgbHVhIGludGVnZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIG11c3QgYmUgYSBiaW50IG9yIGEgbHVhIGludGVnZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgb24gYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwoKLS0gb3IgaWYgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50LnVkaXYoeCwgeSkKCiAgcmV0dXJuIChiaW50X3VkaXZtb2QoeCwgeSkpCgplbmQKCgoKLS0tIFBlcmZvcm0gdW5zaWduZWQgaW50ZWdlciBtb2R1bG8gb3BlcmF0aW9uIGJldHdlZW4gdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgbXVzdCBiZSBhIGJpbnQgb3IgYSBsdWEgaW50ZWdlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgbXVzdCBiZSBhIGJpbnQgb3IgYSBsdWEgaW50ZWdlci4KCi0tIEByZXR1cm4gVGhlIHJlbWFpbmRlciwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgb24gYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwoKLS0gb3IgaWYgdGhlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludC51bW9kKHgsIHkpCgogIGxvY2FsIF8sIHJlbWEgPSBiaW50X3VkaXZtb2QoeCwgeSkKCiAgcmV0dXJuIHJlbWEKCmVuZAoKbG9jYWwgYmludF91bW9kID0gYmludC51bW9kCgoKCi0tLSBQZXJmb3JtIGludGVnZXIgdHJ1bmNhdGUgZGl2aXNpb24gYW5kIG1vZHVsbyBvcGVyYXRpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoaXMgaXMgZWZmZWN0aXZlbHkgdGhlIHNhbWUgb2YgQHtiaW50LnRkaXZ9IGFuZCBAe2JpbnQudG1vZH0uCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCBmb2xsb3dpbmcgdGhlIHJlbWFpbmRlciwgYm90aCBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvIG9yIG9uIGRpdmlzaW9uIG92ZXJmbG93LgoKLS0gQHNlZSBiaW50LnRkaXYKCi0tIEBzZWUgYmludC50bW9kCgpmdW5jdGlvbiBiaW50LnRkaXZtb2QoeCwgeSkKCiAgbG9jYWwgYXgsIGF5ID0gYmludF9hYnMoeCksIGJpbnRfYWJzKHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludChheCksIHRvYmludChheSkKCiAgbG9jYWwgcXVvdCwgcmVtYQoKICBpZiBpeCBhbmQgaXkgdGhlbgoKICAgIGFzc2VydChub3QgKGJpbnRfZXEoeCwgQklOVF9NSU5JTlRFR0VSKSBhbmQgYmludF9pc21pbnVzb25lKHkpKSwgJ2RpdmlzaW9uIG92ZXJmbG93JykKCiAgICBxdW90LCByZW1hID0gYmludF91ZGl2bW9kKGl4LCBpeSkKCiAgZWxzZQoKICAgIHF1b3QsIHJlbWEgPSBheCAvLyBheSwgYXggJSBheQoKICBlbmQKCiAgbG9jYWwgaXN4bmVnLCBpc3luZWcgPSBiaW50X2lzbmVnKHgpLCBiaW50X2lzbmVnKHkpCgogIGlmIGlzeG5lZyB+PSBpc3luZWcgdGhlbgoKICAgIHF1b3QgPSAtcXVvdAoKICBlbmQKCiAgaWYgaXN4bmVnIHRoZW4KCiAgICByZW1hID0gLXJlbWEKCiAgZW5kCgogIHJldHVybiBxdW90LCByZW1hCgplbmQKCmxvY2FsIGJpbnRfdGRpdm1vZCA9IGJpbnQudGRpdm1vZAoKCgotLS0gUGVyZm9ybSB0cnVuY2F0ZSBkaXZpc2lvbiBiZXR3ZWVuIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gVHJ1bmNhdGUgZGl2aXNpb24gaXMgYSBkaXZpc2lvbiB0aGF0IHJvdW5kcyB0aGUgcXVvdGllbnQgdG93YXJkcyB6ZXJvLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcXVvdGllbnQsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJhaXNlIEFzc2VydHMgb24gYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybyBvciBvbiBkaXZpc2lvbiBvdmVyZmxvdy4KCmZ1bmN0aW9uIGJpbnQudGRpdih4LCB5KQoKICByZXR1cm4gKGJpbnRfdGRpdm1vZCh4LCB5KSkKCmVuZAoKCgotLS0gUGVyZm9ybSBpbnRlZ2VyIHRydW5jYXRlIG1vZHVsbyBvcGVyYXRpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoZSBvcGVyYXRpb24gaXMgZGVmaW5lZCBhcyB0aGUgcmVtYWluZGVyIG9mIHRoZSB0cnVuY2F0ZSBkaXZpc2lvbgoKLS0gKGRpdmlzaW9uIHRoYXQgcm91bmRzIHRoZSBxdW90aWVudCB0b3dhcmRzIHplcm8pLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcmVtYWluZGVyLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEByYWlzZSBBc3NlcnRzIG9uIGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8gb3Igb24gZGl2aXNpb24gb3ZlcmZsb3cuCgpmdW5jdGlvbiBiaW50LnRtb2QoeCwgeSkKCiAgbG9jYWwgXywgcmVtYSA9IGJpbnRfdGRpdm1vZCh4LCB5KQoKICByZXR1cm4gcmVtYQoKZW5kCgoKCi0tLSBQZXJmb3JtIGludGVnZXIgZmxvb3IgZGl2aXNpb24gYW5kIG1vZHVsbyBvcGVyYXRpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoaXMgaXMgZWZmZWN0aXZlbHkgdGhlIHNhbWUgb2YgQHtiaW50Ll9faWRpdn0gYW5kIEB7YmludC5fX21vZH0uCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCBmb2xsb3dpbmcgdGhlIHJlbWFpbmRlciwgYm90aCBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvLgoKLS0gQHNlZSBiaW50Ll9faWRpdgoKLS0gQHNlZSBiaW50Ll9fbW9kCgpmdW5jdGlvbiBiaW50LmlkaXZtb2QoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCBpc251bWVuZWcgPSBpeFtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBsb2NhbCBpc2Rlbm9uZWcgPSBpeVtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBpZiBpc251bWVuZWcgdGhlbgoKICAgICAgaXggPSAtaXgKCiAgICBlbmQKCiAgICBpZiBpc2Rlbm9uZWcgdGhlbgoKICAgICAgaXkgPSAtaXkKCiAgICBlbmQKCiAgICBsb2NhbCBxdW90LCByZW1hID0gYmludF91ZGl2bW9kKGl4LCBpeSkKCiAgICBpZiBpc251bWVuZWcgfj0gaXNkZW5vbmVnIHRoZW4KCiAgICAgIHF1b3Q6X3VubSgpCgogICAgICAtLSByb3VuZCBxdW90aWVudCB0b3dhcmRzIG1pbnVzIGluZmluaXR5CgogICAgICBpZiBub3QgcmVtYTppc3plcm8oKSB0aGVuCgogICAgICAgIHF1b3Q6X2RlYygpCgogICAgICAgIC0tIGFkanVzdCB0aGUgcmVtYWluZGVyCgogICAgICAgIGlmIGlzbnVtZW5lZyBhbmQgbm90IGlzZGVub25lZyB0aGVuCgogICAgICAgICAgcmVtYTpfdW5tKCk6X2FkZCh5KQoKICAgICAgICBlbHNlaWYgaXNkZW5vbmVnIGFuZCBub3QgaXNudW1lbmVnIHRoZW4KCiAgICAgICAgICByZW1hOl9hZGQoeSkKCiAgICAgICAgZW5kCgogICAgICBlbmQKCiAgICBlbHNlaWYgaXNudW1lbmVnIHRoZW4KCiAgICAgIC0tIGFkanVzdCB0aGUgcmVtYWluZGVyCgogICAgICByZW1hOl91bm0oKQoKICAgIGVuZAoKICAgIHJldHVybiBxdW90LCByZW1hCgogIGVuZAoKICBsb2NhbCBueCwgbnkgPSBiaW50X3RvbnVtYmVyKHgpLCBiaW50X3RvbnVtYmVyKHkpCgogIHJldHVybiBueCAvLyBueSwgbnggJSBueQoKZW5kCgpsb2NhbCBiaW50X2lkaXZtb2QgPSBiaW50LmlkaXZtb2QKCgoKLS0tIFBlcmZvcm0gZmxvb3IgZGl2aXNpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIEZsb29yIGRpdmlzaW9uIGlzIGEgZGl2aXNpb24gdGhhdCByb3VuZHMgdGhlIHF1b3RpZW50IHRvd2FyZHMgbWludXMgaW5maW5pdHksCgotLSByZXN1bHRpbmcgaW4gdGhlIGZsb29yIG9mIHRoZSBkaXZpc2lvbiBvZiBpdHMgb3BlcmFuZHMuCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvLgoKZnVuY3Rpb24gYmludC5fX2lkaXYoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCBpc251bWVuZWcgPSBpeFtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBsb2NhbCBpc2Rlbm9uZWcgPSBpeVtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBpZiBpc251bWVuZWcgdGhlbgoKICAgICAgaXggPSAtaXgKCiAgICBlbmQKCiAgICBpZiBpc2Rlbm9uZWcgdGhlbgoKICAgICAgaXkgPSAtaXkKCiAgICBlbmQKCiAgICBsb2NhbCBxdW90LCByZW1hID0gYmludF91ZGl2bW9kKGl4LCBpeSkKCiAgICBpZiBpc251bWVuZWcgfj0gaXNkZW5vbmVnIHRoZW4KCiAgICAgIHF1b3Q6X3VubSgpCgogICAgICAtLSByb3VuZCBxdW90aWVudCB0b3dhcmRzIG1pbnVzIGluZmluaXR5CgogICAgICBpZiBub3QgcmVtYTppc3plcm8oKSB0aGVuCgogICAgICAgIHF1b3Q6X2RlYygpCgogICAgICBlbmQKCiAgICBlbmQKCiAgICByZXR1cm4gcXVvdCwgcmVtYQoKICBlbmQKCiAgcmV0dXJuIGJpbnRfdG9udW1iZXIoeCkgLy8gYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBQZXJmb3JtIGRpdmlzaW9uIGJldHdlZW4gdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBUaGlzIGFsd2F5cyBjYXN0cyBpbnB1dHMgdG8gZmxvYXRzLCBmb3IgaW50ZWdlciBkaXZpc2lvbiBvbmx5IHVzZSBAe2JpbnQuX19pZGl2fS4KCi0tIEBwYXJhbSB4IFRoZSBudW1lcmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHBhcmFtIHkgVGhlIGRlbm9taW5hdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEByZXR1cm4gVGhlIHF1b3RpZW50LCBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50Ll9fZGl2KHgsIHkpCgogIHJldHVybiBiaW50X3RvbnVtYmVyKHgpIC8gYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBQZXJmb3JtIGludGVnZXIgZmxvb3IgbW9kdWxvIG9wZXJhdGlvbiBiZXR3ZWVuIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gVGhlIG9wZXJhdGlvbiBpcyBkZWZpbmVkIGFzIHRoZSByZW1haW5kZXIgb2YgdGhlIGZsb29yIGRpdmlzaW9uCgotLSAoZGl2aXNpb24gdGhhdCByb3VuZHMgdGhlIHF1b3RpZW50IHRvd2FyZHMgbWludXMgaW5maW5pdHkpLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcmVtYWluZGVyLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEByYWlzZSBBc3NlcnRzIG9uIGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8uCgpmdW5jdGlvbiBiaW50Ll9fbW9kKHgsIHkpCgogIGxvY2FsIF8sIHJlbWEgPSBiaW50X2lkaXZtb2QoeCwgeSkKCiAgcmV0dXJuIHJlbWEKCmVuZAoKCgotLS0gUGVyZm9ybSBpbnRlZ2VyIHBvd2VyIGJldHdlZW4gdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gSWYgeSBpcyBuZWdhdGl2ZSB0aGVuIHBvdyBpcyBwZXJmb3JtZWQgYXMgYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIEBwYXJhbSB4IFRoZSBiYXNlLCBhbiBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgVGhlIGV4cG9uZW50LCBhbiBpbnRlZ2VyLgoKLS0gQHJldHVybiBUaGUgcmVzdWx0IG9mIHRoZSBwb3cgb3BlcmF0aW9uLCBhIGJpbnQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKLS0gQHNlZSBiaW50Ll9fcG93CgotLSBAc2VlIGJpbnQudXBvd21vZAoKZnVuY3Rpb24gYmludC5pcG93KHgsIHkpCgogIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHkpCgogIGlmIHk6aXN6ZXJvKCkgdGhlbgoKICAgIHJldHVybiBiaW50X29uZSgpCgogIGVsc2VpZiB5Omlzb25lKCkgdGhlbgoKICAgIHJldHVybiBiaW50X25ldyh4KQoKICBlbmQKCiAgLS0gY29tcHV0ZSBleHBvbmVudGlhdGlvbiBieSBzcXVhcmluZwoKICB4LCB5ID0gYmludF9uZXcoeCksICBiaW50X25ldyh5KQoKICBsb2NhbCB6ID0gYmludF9vbmUoKQoKICByZXBlYXQKCiAgICBpZiB5OmlzZXZlbigpIHRoZW4KCiAgICAgIHggPSB4ICogeAoKICAgICAgeTpfc2hyb25lKCkKCiAgICBlbHNlCgogICAgICB6ID0geCAqIHoKCiAgICAgIHggPSB4ICogeAoKICAgICAgeTpfZGVjKCk6X3Nocm9uZSgpCgogICAgZW5kCgogIHVudGlsIHk6aXNvbmUoKQoKICByZXR1cm4geCAqIHoKCmVuZAoKCgotLS0gUGVyZm9ybSBpbnRlZ2VyIHBvd2VyIGJldHdlZW4gdHdvIHVuc2lnbmVkIGludGVnZXJzIG92ZXIgYSBtb2R1bHVzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggVGhlIGJhc2UsIGFuIGludGVnZXIuCgotLSBAcGFyYW0geSBUaGUgZXhwb25lbnQsIGFuIGludGVnZXIuCgotLSBAcGFyYW0gbSBUaGUgbW9kdWx1cywgYW4gaW50ZWdlci4KCi0tIEByZXR1cm4gVGhlIHJlc3VsdCBvZiB0aGUgcG93IG9wZXJhdGlvbiwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC5fX3BvdwoKLS0gQHNlZSBiaW50Lmlwb3cKCmZ1bmN0aW9uIGJpbnQudXBvd21vZCh4LCB5LCBtKQoKICBtID0gYmludF9hc3NlcnRfY29udmVydChtKQoKICBpZiBtOmlzb25lKCkgdGhlbgoKICAgIHJldHVybiBiaW50X3plcm8oKQoKICBlbmQKCiAgeCwgeSA9IGJpbnRfbmV3KHgpLCAgYmludF9uZXcoeSkKCiAgbG9jYWwgeiA9IGJpbnRfb25lKCkKCiAgeCA9IGJpbnRfdW1vZCh4LCBtKQoKICB3aGlsZSBub3QgeTppc3plcm8oKSBkbwoKICAgIGlmIHk6aXNvZGQoKSB0aGVuCgogICAgICB6ID0gYmludF91bW9kKHoqeCwgbSkKCiAgICBlbmQKCiAgICB5Ol9zaHJvbmUoKQoKICAgIHggPSBiaW50X3Vtb2QoeCp4LCBtKQoKICBlbmQKCiAgcmV0dXJuIHoKCmVuZAoKCgotLS0gUGVyZm9ybSBudW1lcmljIHBvd2VyIGJldHdlZW4gdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBUaGlzIGFsd2F5cyBjYXN0cyBpbnB1dHMgdG8gZmxvYXRzLCBmb3IgaW50ZWdlciBwb3dlciBvbmx5IHVzZSBAe2JpbnQuaXBvd30uCgotLSBAcGFyYW0geCBUaGUgYmFzZSwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZXhwb25lbnQsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcmVzdWx0IG9mIHRoZSBwb3cgb3BlcmF0aW9uLCBhIGx1YSBudW1iZXIuCgotLSBAc2VlIGJpbnQuaXBvdwoKZnVuY3Rpb24gYmludC5fX3Bvdyh4LCB5KQoKICByZXR1cm4gYmludF90b251bWJlcih4KSBeIGJpbnRfdG9udW1iZXIoeSkKCmVuZAoKCgotLS0gQml0d2lzZSBsZWZ0IHNoaWZ0IGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIHRoZSBiaXR3aXNlIHNoaWZ0LgoKLS0gQHBhcmFtIHkgQW4gaW50ZWdlciB3aXRoIHRoZSBudW1iZXIgb2YgYml0cyB0byBzaGlmdC4KCi0tIEByZXR1cm4gVGhlIHJlc3VsdCBvZiBzaGlmdCBvcGVyYXRpb24sIGEgYmludC4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50Ll9fc2hsKHgsIHkpCgogIHgsIHkgPSBiaW50X25ldyh4KSwgYmludF9hc3NlcnRfdG9pbnRlZ2VyKHkpCgogIGlmIHkgPT0gbWF0aF9taW5pbnRlZ2VyIG9yIG1hdGhfYWJzKHkpID49IEJJTlRfQklUUyB0aGVuCgogICAgcmV0dXJuIGJpbnRfemVybygpCgogIGVuZAoKICBpZiB5IDwgMCB0aGVuCgogICAgcmV0dXJuIHggPj4gLXkKCiAgZW5kCgogIGxvY2FsIG52YWxzID0geSAvLyBCSU5UX1dPUkRCSVRTCgogIGlmIG52YWxzIH49IDAgdGhlbgoKICAgIHg6X3NobHdvcmRzKG52YWxzKQoKICAgIHkgPSB5IC0gbnZhbHMgKiBCSU5UX1dPUkRCSVRTCgogIGVuZAoKICBpZiB5IH49IDAgdGhlbgoKICAgIGxvY2FsIHdvcmRiaXRzbXkgPSBCSU5UX1dPUkRCSVRTIC0geQoKICAgIGZvciBpPUJJTlRfU0laRSwyLC0xIGRvCgogICAgICB4W2ldID0gKCh4W2ldIDw8IHkpIHwgKHhbaS0xXSA+PiB3b3JkYml0c215KSkgJiBCSU5UX1dPUkRNQVgKCiAgICBlbmQKCiAgICB4WzFdID0gKHhbMV0gPDwgeSkgJiBCSU5UX1dPUkRNQVgKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCgoKLS0tIEJpdHdpc2UgcmlnaHQgc2hpZnQgaW50ZWdlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gdGhlIGJpdHdpc2Ugc2hpZnQuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHdpdGggdGhlIG51bWJlciBvZiBiaXRzIHRvIHNoaWZ0LgoKLS0gQHJldHVybiBUaGUgcmVzdWx0IG9mIHNoaWZ0IG9wZXJhdGlvbiwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQuX19zaHIoeCwgeSkKCiAgeCwgeSA9IGJpbnRfbmV3KHgpLCBiaW50X2Fzc2VydF90b2ludGVnZXIoeSkKCiAgaWYgeSA9PSBtYXRoX21pbmludGVnZXIgb3IgbWF0aF9hYnMoeSkgPj0gQklOVF9CSVRTIHRoZW4KCiAgICByZXR1cm4gYmludF96ZXJvKCkKCiAgZW5kCgogIGlmIHkgPCAwIHRoZW4KCiAgICByZXR1cm4geCA8PCAteQoKICBlbmQKCiAgbG9jYWwgbnZhbHMgPSB5IC8vIEJJTlRfV09SREJJVFMKCiAgaWYgbnZhbHMgfj0gMCB0aGVuCgogICAgeDpfc2hyd29yZHMobnZhbHMpCgogICAgeSA9IHkgLSBudmFscyAqIEJJTlRfV09SREJJVFMKCiAgZW5kCgogIGlmIHkgfj0gMCB0aGVuCgogICAgbG9jYWwgd29yZGJpdHNteSA9IEJJTlRfV09SREJJVFMgLSB5CgogICAgZm9yIGk9MSxCSU5UX1NJWkUtMSBkbwoKICAgICAgeFtpXSA9ICgoeFtpXSA+PiB5KSB8ICh4W2krMV0gPDwgd29yZGJpdHNteSkpICYgQklOVF9XT1JETUFYCgogICAgZW5kCgogICAgeFtCSU5UX1NJWkVdID0geFtCSU5UX1NJWkVdID4+IHkKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCgoKLS0tIEJpdHdpc2UgQU5EIGJpbnRzIChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBBTkQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYmFuZCh5KQoKICB5ID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIHNlbGZbaV0gPSBzZWxmW2ldICYgeVtpXQoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gQml0d2lzZSBBTkQgdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgQU5ELgoKLS0gQHBhcmFtIHkgQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgQU5ELgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQuX19iYW5kKHgsIHkpCgogIHJldHVybiBiaW50X25ldyh4KTpfYmFuZCh5KQoKZW5kCgoKCi0tLSBCaXR3aXNlIE9SIGJpbnRzIChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBPUi4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50Ol9ib3IoeSkKCiAgeSA9IGJpbnRfYXNzZXJ0X2NvbnZlcnQoeSkKCiAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICBzZWxmW2ldID0gc2VsZltpXSB8IHlbaV0KCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0tIEJpdHdpc2UgT1IgdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgT1IuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBPUi4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50Ll9fYm9yKHgsIHkpCgogIHJldHVybiBiaW50X25ldyh4KTpfYm9yKHkpCgplbmQKCgoKLS0tIEJpdHdpc2UgWE9SIGJpbnRzIChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBYT1IuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYnhvcih5KQoKICB5ID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIHNlbGZbaV0gPSBzZWxmW2ldIH4geVtpXQoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gQml0d2lzZSBYT1IgdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgWE9SLgoKLS0gQHBhcmFtIHkgQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgWE9SLgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQuX19ieG9yKHgsIHkpCgogIHJldHVybiBiaW50X25ldyh4KTpfYnhvcih5KQoKZW5kCgoKCi0tLSBCaXR3aXNlIE5PVCBhIGJpbnQgKGluLXBsYWNlKS4KCmZ1bmN0aW9uIGJpbnQ6X2Jub3QoKQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIHNlbGZbaV0gPSAofnNlbGZbaV0pICYgQklOVF9XT1JETUFYCgogIGVuZAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBCaXR3aXNlIE5PVCBhIGJpbnQuCgotLSBAcGFyYW0geCBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBOT1QuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludC5fX2Jub3QoeCkKCiAgbG9jYWwgeSA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICB5W2ldID0gKH54W2ldKSAmIEJJTlRfV09SRE1BWAoKICBlbmQKCiAgcmV0dXJuIHkKCmVuZAoKCgotLS0gTmVnYXRlIGEgYmludCAoaW4tcGxhY2UpLiBUaGlzIGVmZmVjdGl2ZWx5IGFwcGxpZXMgdHdvJ3MgY29tcGxlbWVudHMuCgpmdW5jdGlvbiBiaW50Ol91bm0oKQoKICByZXR1cm4gc2VsZjpfYm5vdCgpOl9pbmMoKQoKZW5kCgoKCi0tLSBOZWdhdGUgYSBiaW50LiBUaGlzIGVmZmVjdGl2ZWx5IGFwcGxpZXMgdHdvJ3MgY29tcGxlbWVudHMuCgotLSBAcGFyYW0geCBBIGJpbnQgdG8gcGVyZm9ybSBuZWdhdGlvbi4KCmZ1bmN0aW9uIGJpbnQuX191bm0oeCkKCiAgcmV0dXJuICh+eCk6X2luYygpCgplbmQKCgoKLS0tIENvbXBhcmUgaWYgaW50ZWdlciB4IGlzIGxlc3MgdGhhbiB5IGNvbnNpZGVyaW5nIGJpbnRzICh1bnNpZ25lZCB2ZXJzaW9uKS4KCi0tIEBwYXJhbSB4IExlZnQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHBhcmFtIHkgUmlnaHQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC5fX2x0CgpmdW5jdGlvbiBiaW50LnVsdCh4LCB5KQoKICB4LCB5ID0gYmludF9hc3NlcnRfY29udmVydCh4KSwgYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT1CSU5UX1NJWkUsMSwtMSBkbwoKICAgIGxvY2FsIGEsIGIgPSB4W2ldLCB5W2ldCgogICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgIHJldHVybiBhIDwgYgoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIGZhbHNlCgplbmQKCgoKLS0tIENvbXBhcmUgaWYgYmludCB4IGlzIGxlc3Mgb3IgZXF1YWwgdGhhbiB5IGNvbnNpZGVyaW5nIGJpbnRzICh1bnNpZ25lZCB2ZXJzaW9uKS4KCi0tIEBwYXJhbSB4IExlZnQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHBhcmFtIHkgUmlnaHQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC5fX2xlCgpmdW5jdGlvbiBiaW50LnVsZSh4LCB5KQoKICB4LCB5ID0gYmludF9hc3NlcnRfY29udmVydCh4KSwgYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT1CSU5UX1NJWkUsMSwtMSBkbwoKICAgIGxvY2FsIGEsIGIgPSB4W2ldLCB5W2ldCgogICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgIHJldHVybiBhIDwgYgoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIHRydWUKCmVuZAoKCgotLS0gQ29tcGFyZSBpZiBudW1iZXIgeCBpcyBsZXNzIHRoYW4geSBjb25zaWRlcmluZyBiaW50cyBhbmQgc2lnbnMuCgotLSBAcGFyYW0geCBMZWZ0IHZhbHVlIHRvIGNvbXBhcmUsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHBhcmFtIHkgUmlnaHQgdmFsdWUgdG8gY29tcGFyZSwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAc2VlIGJpbnQudWx0CgpmdW5jdGlvbiBiaW50Ll9fbHQoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCB4bmVnID0gaXhbQklOVF9TSVpFXSAmIEJJTlRfV09SRE1TQiB+PSAwCgogICAgbG9jYWwgeW5lZyA9IGl5W0JJTlRfU0laRV0gJiBCSU5UX1dPUkRNU0Igfj0gMAoKICAgIGlmIHhuZWcgPT0geW5lZyB0aGVuCgogICAgICBmb3IgaT1CSU5UX1NJWkUsMSwtMSBkbwoKICAgICAgICBsb2NhbCBhLCBiID0gaXhbaV0sIGl5W2ldCgogICAgICAgIGlmIGEgfj0gYiB0aGVuCgogICAgICAgICAgcmV0dXJuIGEgPCBiCgogICAgICAgIGVuZAoKICAgICAgZW5kCgogICAgICByZXR1cm4gZmFsc2UKCiAgICBlbmQKCiAgICByZXR1cm4geG5lZyBhbmQgbm90IHluZWcKCiAgZW5kCgogIHJldHVybiBiaW50X3RvbnVtYmVyKHgpIDwgYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBDb21wYXJlIGlmIG51bWJlciB4IGlzIGxlc3Mgb3IgZXF1YWwgdGhhbiB5IGNvbnNpZGVyaW5nIGJpbnRzIGFuZCBzaWducy4KCi0tIEBwYXJhbSB4IExlZnQgdmFsdWUgdG8gY29tcGFyZSwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBSaWdodCB2YWx1ZSB0byBjb21wYXJlLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBzZWUgYmludC51bGUKCmZ1bmN0aW9uIGJpbnQuX19sZSh4LCB5KQoKICBsb2NhbCBpeCwgaXkgPSB0b2JpbnQoeCksIHRvYmludCh5KQoKICBpZiBpeCBhbmQgaXkgdGhlbgoKICAgIGxvY2FsIHhuZWcgPSBpeFtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBsb2NhbCB5bmVnID0gaXlbQklOVF9TSVpFXSAmIEJJTlRfV09SRE1TQiB+PSAwCgogICAgaWYgeG5lZyA9PSB5bmVnIHRoZW4KCiAgICAgIGZvciBpPUJJTlRfU0laRSwxLC0xIGRvCgogICAgICAgIGxvY2FsIGEsIGIgPSBpeFtpXSwgaXlbaV0KCiAgICAgICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgICAgICByZXR1cm4gYSA8IGIKCiAgICAgICAgZW5kCgogICAgICBlbmQKCiAgICAgIHJldHVybiB0cnVlCgogICAgZW5kCgogICAgcmV0dXJuIHhuZWcgYW5kIG5vdCB5bmVnCgogIGVuZAoKICByZXR1cm4gYmludF90b251bWJlcih4KSA8PSBiaW50X3RvbnVtYmVyKHkpCgplbmQKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGEgc3RyaW5nIG9uIGJhc2UgMTAuCgotLSBAc2VlIGJpbnQudG9iYXNlCgpmdW5jdGlvbiBiaW50Ol9fdG9zdHJpbmcoKQoKICByZXR1cm4gc2VsZjp0b2Jhc2UoMTApCgplbmQKCgoKLS0gQWxsb3cgY3JlYXRpbmcgYmludHMgYnkgY2FsbGluZyBiaW50IGl0c2VsZgoKc2V0bWV0YXRhYmxlKGJpbnQsIHsKCiAgX19jYWxsID0gZnVuY3Rpb24oXywgeCkKCiAgICByZXR1cm4gYmludF9uZXcoeCkKCiAgZW5kCgp9KQoKCgpCSU5UX01BVEhNSU5JTlRFR0VSLCBCSU5UX01BVEhNQVhJTlRFR0VSID0gYmludF9uZXcobWF0aC5taW5pbnRlZ2VyKSwgYmludF9uZXcobWF0aC5tYXhpbnRlZ2VyKQoKQklOVF9NSU5JTlRFR0VSID0gYmludC5taW5pbnRlZ2VyKCkKCm1lbW9bbWVtb2luZGV4XSA9IGJpbnQKCgoKcmV0dXJuIGJpbnQKCgoKZW5kCgoKCnJldHVybiBuZXdtb2R1bGUAQsCMBQv1RS0tLSBUaGUgU3RyaW5naWZ5IG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGZvcm1hdHRpbmcgYW5kIGRpc3BsYXlpbmcgTHVhIHRhYmxlcyBpbiBhIG1vcmUgcmVhZGFibGUgbWFubmVyLiBSZXR1cm5zIHRoZSBzdHJpbmdpZnkgdGFibGUuCgotLSBAbW9kdWxlIHN0cmluZ2lmeQoKCgotLS0gVGhlIHN0cmluZ2lmeSB0YWJsZQoKLS0gQHRhYmxlIHN0cmluZ2lmeQoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgc3RyaW5naWZ5IG1vZHVsZQoKLS0gQGZpZWxkIGlzU2ltcGxlQXJyYXkgVGhlIGlzU2ltcGxlQXJyYXkgZnVuY3Rpb24KCi0tIEBmaWVsZCBmb3JtYXQgVGhlIGZvcm1hdCBmdW5jdGlvbgoKbG9jYWwgc3RyaW5naWZ5ID0geyBfdmVyc2lvbiA9ICIwLjAuMSIgfQoKCgotLSBBTlNJIGNvbG9yIGNvZGVzCgpsb2NhbCBjb2xvcnMgPSB7CgogIHJlZCA9ICJcMjdbMzFtIiwKCiAgZ3JlZW4gPSAiXDI3WzMybSIsCgogIGJsdWUgPSAiXDI3WzM0bSIsCgogIHJlc2V0ID0gIlwyN1swbSIKCn0KCgoKLS0tIENoZWNrcyBpZiBhIHRhYmxlIGlzIGEgc2ltcGxlIGFycmF5IChpLmUuLCBhbiBhcnJheSB3aXRoIGNvbnNlY3V0aXZlIG51bWVyaWMga2V5cyBzdGFydGluZyBmcm9tIDEpLgoKLS0gQGZ1bmN0aW9uIGlzU2ltcGxlQXJyYXkKCi0tIEB0cGFyYW0ge3RhYmxlfSB0YmwgVGhlIHRhYmxlIHRvIGNoZWNrCgotLSBAdHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgdGFibGUgaXMgYSBzaW1wbGUgYXJyYXkKCmZ1bmN0aW9uIHN0cmluZ2lmeS5pc1NpbXBsZUFycmF5KHRibCkKCiAgbG9jYWwgYXJyYXlJbmRleCA9IDEKCiAgZm9yIGssIHYgaW4gcGFpcnModGJsKSBkbwoKICAgIGlmIGsgfj0gYXJyYXlJbmRleCBvciAodHlwZSh2KSB+PSAibnVtYmVyIiBhbmQgdHlwZSh2KSB+PSAic3RyaW5nIikgdGhlbgoKICAgICAgcmV0dXJuIGZhbHNlCgogICAgZW5kCgogICAgYXJyYXlJbmRleCA9IGFycmF5SW5kZXggKyAxCgogIGVuZAoKICByZXR1cm4gdHJ1ZQoKZW5kCgoKCi0tLSBGb3JtYXRzIGEgdGFibGUgZm9yIGRpc3BsYXksIGhhbmRsaW5nIGNpcmN1bGFyIHJlZmVyZW5jZXMgYW5kIGZvcm1hdHRpbmcgc3RyaW5ncyBhbmQgdGFibGVzIHJlY3Vyc2l2ZWx5LgoKLS0gQGZ1bmN0aW9uIGZvcm1hdAoKLS0gQHRwYXJhbSB7dGFibGV9IHRibCBUaGUgdGFibGUgdG8gZm9ybWF0CgotLSBAdHBhcmFtIHtudW1iZXJ9IGluZGVudCBUaGUgaW5kZW50YXRpb24gbGV2ZWwgKGRlZmF1bHQgaXMgMCkKCi0tIEB0cGFyYW0ge3RhYmxlfSB2aXNpdGVkIEEgdGFibGUgdG8gdHJhY2sgdmlzaXRlZCB0YWJsZXMgYW5kIGRldGVjdCBjaXJjdWxhciByZWZlcmVuY2VzIChvcHRpb25hbCkKCi0tIEB0cmV0dXJuIHtzdHJpbmd9IEEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0YWJsZQoKZnVuY3Rpb24gc3RyaW5naWZ5LmZvcm1hdCh0YmwsIGluZGVudCwgdmlzaXRlZCkKCiAgaW5kZW50ID0gaW5kZW50IG9yIDAKCiAgbG9jYWwgdG9JbmRlbnQgPSBzdHJpbmcucmVwKCIgIiwgaW5kZW50KQoKICBsb2NhbCB0b0luZGVudENoaWxkID0gc3RyaW5nLnJlcCgiICIsIGluZGVudCArIDIpCgoKCiAgbG9jYWwgcmVzdWx0ID0ge30KCiAgbG9jYWwgaXNBcnJheSA9IHRydWUKCiAgbG9jYWwgYXJyYXlJbmRleCA9IDEKCgoKICBpZiBzdHJpbmdpZnkuaXNTaW1wbGVBcnJheSh0YmwpIHRoZW4KCiAgICBmb3IgXywgdiBpbiBpcGFpcnModGJsKSBkbwoKICAgICAgaWYgdHlwZSh2KSA9PSAic3RyaW5nIiB0aGVuCgogICAgICAgIHYgPSBjb2xvcnMuZ3JlZW4gLi4gJyInIC4uIHYgLi4gJyInIC4uIGNvbG9ycy5yZXNldAoKICAgICAgZWxzZQoKICAgICAgICB2ID0gY29sb3JzLmJsdWUgLi4gdG9zdHJpbmcodikgLi4gY29sb3JzLnJlc2V0CgogICAgICBlbmQKCiAgICAgIHRhYmxlLmluc2VydChyZXN1bHQsIHYpCgogICAgZW5kCgogICAgcmV0dXJuICJ7ICIgLi4gdGFibGUuY29uY2F0KHJlc3VsdCwgIiwgIikgLi4gIiB9IgoKICBlbmQKCgoKICBmb3IgaywgdiBpbiBwYWlycyh0YmwpIGRvCgogICAgaWYgaXNBcnJheSB0aGVuCgogICAgICBpZiBrID09IGFycmF5SW5kZXggdGhlbgoKICAgICAgICBhcnJheUluZGV4ID0gYXJyYXlJbmRleCArIDEKCiAgICAgICAgaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KCiAgICAgICAgICB2ID0gc3RyaW5naWZ5LmZvcm1hdCh2LCBpbmRlbnQgKyAyKQoKICAgICAgICBlbHNlaWYgdHlwZSh2KSA9PSAic3RyaW5nIiB0aGVuCgogICAgICAgICAgdiA9IGNvbG9ycy5ncmVlbiAuLiAnIicgLi4gdiAuLiAnIicgLi4gY29sb3JzLnJlc2V0CgogICAgICAgIGVsc2UKCiAgICAgICAgICB2ID0gY29sb3JzLmJsdWUgLi4gdG9zdHJpbmcodikgLi4gY29sb3JzLnJlc2V0CgogICAgICAgIGVuZAoKICAgICAgICB0YWJsZS5pbnNlcnQocmVzdWx0LCB0b0luZGVudENoaWxkIC4uIHYpCgogICAgICBlbHNlCgogICAgICAgIGlzQXJyYXkgPSBmYWxzZQoKICAgICAgICByZXN1bHQgPSB7fQoKICAgICAgZW5kCgogICAgZW5kCgogICAgaWYgbm90IGlzQXJyYXkgdGhlbgoKICAgICAgaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KCiAgICAgICAgdmlzaXRlZCA9IHZpc2l0ZWQgb3Ige30KCiAgICAgICAgaWYgdmlzaXRlZFt2XSB0aGVuCgogICAgICAgICAgICByZXR1cm4gIjxjaXJjdWxhciByZWZlcmVuY2U+IgoKICAgICAgICBlbmQKCiAgICAgICAgdmlzaXRlZFt2XSA9IHRydWUKCgoKICAgICAgICB2ID0gc3RyaW5naWZ5LmZvcm1hdCh2LCBpbmRlbnQgKyAyLCB2aXNpdGVkKQoKICAgICAgZWxzZWlmIHR5cGUodikgPT0gInN0cmluZyIgdGhlbgoKICAgICAgICB2ID0gY29sb3JzLmdyZWVuIC4uICciJyAuLiB2IC4uICciJyAuLiBjb2xvcnMucmVzZXQKCiAgICAgIGVsc2UKCiAgICAgICAgdiA9IGNvbG9ycy5ibHVlIC4uIHRvc3RyaW5nKHYpIC4uIGNvbG9ycy5yZXNldAoKICAgICAgZW5kCgogICAgICBrID0gY29sb3JzLnJlZCAuLiBrIC4uIGNvbG9ycy5yZXNldAoKICAgICAgdGFibGUuaW5zZXJ0KHJlc3VsdCwgdG9JbmRlbnRDaGlsZCAuLiBrIC4uICIgPSAiIC4uIHYpCgogICAgZW5kCgogIGVuZAoKCgogIGxvY2FsIHByZWZpeCA9IGlzQXJyYXkgYW5kICJ7XG4iIG9yICJ7XG4gIgoKICBsb2NhbCBzdWZmaXggPSBpc0FycmF5IGFuZCAiXG4iIC4uIHRvSW5kZW50IC4uICIgfSIgb3IgIlxuIiAuLiB0b0luZGVudCAuLiAifSIKCiAgbG9jYWwgc2VwYXJhdG9yID0gaXNBcnJheSBhbmQgIixcbiIgb3IgIixcbiAiCgogIHJldHVybiBwcmVmaXggLi4gdGFibGUuY29uY2F0KHJlc3VsdCwgc2VwYXJhdG9yKSAuLiBzdWZmaXgKCmVuZAoKCgpyZXR1cm4gc3RyaW5naWZ5CgAAAAAAAAAtLS0gVGhlIEJvb3QgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIGJvb3RpbmcgdGhlIHByb2Nlc3MuIFJldHVybnMgdGhlIGJvb3QgZnVuY3Rpb24uCgotLSBAbW9kdWxlIGJvb3QKCgoKLS0gVGhpcyBpcyBmb3IgYW9wNiBCb290IExvYWRlcgoKLS0gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vcGVybWF3ZWIvYW9zL2lzc3Vlcy8zNDIKCi0tIEZvciB0aGUgUHJvY2VzcyBhcyB0aGUgZmlyc3QgTWVzc2FnZSwgaWYgT24tQm9vdAoKLS0gaGFzIHRoZSB2YWx1ZSAnZGF0YScgdGhlbiBldmFsdWF0ZSB0aGUgZGF0YQoKLS0gaWYgaXQgaXMgYSB0eCBpZCwgdGhlbiBkb3dubG9hZCBhbmQgZXZhbHVhdGUgdGhlIHR4CgoKCmxvY2FsIGRyaXZlID0geyBfdmVyc2lvbiA9ICIwLjAuMSIgfQoKCgpmdW5jdGlvbiBkcml2ZS5nZXREYXRhKHR4SWQpCgogIGxvY2FsIGZpbGUgPSBpby5vcGVuKCcvZGF0YS8nIC4uIHR4SWQpCgogIGlmIG5vdCBmaWxlIHRoZW4KCiAgICByZXR1cm4gbmlsLCAiRmlsZSBub3QgZm91bmQhIgoKICBlbmQKCiAgbG9jYWwgY29udGVudHMgPSBmaWxlOnJlYWQoCgogICAgZmlsZTpzZWVrKCdlbmQnKQoKICApCgogIGZpbGU6Y2xvc2UoKQoKICByZXR1cm4gY29udGVudHMKCmVuZAoKCgotLS0gVGhlIGJvb3QgZnVuY3Rpb24uCgotLSBJZiB0aGUgbWVzc2FnZSBoYXMgbm8gT24tQm9vdCB0YWcsIGRvIG5vdGhpbmcuCgotLSBJZiB0aGUgbWVzc2FnZSBoYXMgYW4gT24tQm9vdCB0YWcgd2l0aCB0aGUgdmFsdWUgJ0RhdGEnLCB0aGVuIGV2YWx1YXRlIHRoZSBtZXNzYWdlLgoKLS0gSWYgdGhlIG1lc3NhZ2UgaGFzIGFuIE9uLUJvb3QgdGFnIHdpdGggYSB0eCBpZCwgdGhlbiBkb3dubG9hZCBhbmQgZXZhbHVhdGUgdGhlIHR4IGRhdGEuCgotLSBAZnVuY3Rpb24gYm9vdAoKLS0gQHBhcmFtIGFvIFRoZSBhbyBlbnZpcm9ubWVudCBvYmplY3QKCi0tIEBzZWUgZXZhbAoKcmV0dXJuIGZ1bmN0aW9uIChhbykKCiAgbG9jYWwgZXZhbCA9IHJlcXVpcmUoIi5ldmFsIikoYW8pCgogIHJldHVybiBmdW5jdGlvbiAobXNnKQoKICAgIGlmICNJbmJveCA9PSAwIHRoZW4KCiAgICAgIHRhYmxlLmluc2VydChJbmJveCwgbXNnKQoKICAgIGVuZAoKICAgIGlmIG1zZy5UYWdzWydPbi1Cb290J10gPT0gbmlsIHRoZW4KCiAgICAgIHJldHVybgoKICAgIGVuZAoKICAgIGlmIG1zZy5UYWdzWydPbi1Cb290J10gPT0gJ0RhdGEnIHRoZW4KCiAgICAgIGV2YWwobXNnKQoKICAgIGVsc2UKCiAgICAgIGxvY2FsIGxvYWRlZFZhbCA9IGRyaXZlLmdldERhdGEobXNnLlRhZ3NbJ09uLUJvb3QnXSkKCiAgICAgIGV2YWwoeyBEYXRhID0gbG9hZGVkVmFsIH0pCgogICAgZW5kCgogIGVuZAoKZW5kAAAALS0tIFRoZSBDaGFuY2UgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgZ2VuZXJhdGluZyByYW5kb20gbnVtYmVycyBhbmQgdmFsdWVzLiBSZXR1cm5zIHRoZSBjaGFuY2UgdGFibGUuCgotLSBAbW9kdWxlIGNoYW5jZQoKCgpsb2NhbCBOID0gNjI0Cgpsb2NhbCBNID0gMzk3Cgpsb2NhbCBNQVRSSVhfQSA9IDB4OTkwOGIwZGYKCmxvY2FsIFVQUEVSX01BU0sgPSAweDgwMDAwMDAwCgpsb2NhbCBMT1dFUl9NQVNLID0gMHg3ZmZmZmZmZgoKCgotLS0gSW5pdGlhbGl6ZXMgbXRbTl0gd2l0aCBhIHNlZWQKCi0tIEBsZnVuY3Rpb24gaW5pdF9nZW5yYW5kCgotLSBAdHBhcmFtIHt0YWJsZX0gbyBUaGUgdGFibGUgdG8gaW5pdGlhbGl6ZQoKLS0gQHRwYXJhbSB7bnVtYmVyfSBzIFRoZSBzZWVkCgpsb2NhbCBmdW5jdGlvbiBpbml0X2dlbnJhbmQobywgcykKCiAgICBvLm10WzBdID0gcyAmIDB4ZmZmZmZmZmYKCiAgICBmb3IgaSA9IDEsIE4gLSAxIGRvCgogICAgICAgIG8ubXRbaV0gPSAoMTgxMjQzMzI1MyAqIChvLm10W2kgLSAxXSB+IChvLm10W2kgLSAxXSA+PiAzMCkpKSArIGkKCiAgICAgICAgLS0gU2VlIEtudXRoIFRBT0NQIFZvbDIuIDNyZCBFZC4gUC4xMDYgZm9yIG11bHRpcGxpZXIuCgogICAgICAgIC0tIEluIHRoZSBwcmV2aW91cyB2ZXJzaW9ucywgTVNCcyBvZiB0aGUgc2VlZCBhZmZlY3QKCiAgICAgICAgLS0gb25seSBNU0JzIG9mIHRoZSBhcnJheSBtdFtdLgoKICAgICAgICAtLSAyMDAyLzAxLzA5IG1vZGlmaWVkIGJ5IE1ha290byBNYXRzdW1vdG8KCiAgICAgICAgby5tdFtpXSA9IG8ubXRbaV0gJiAweGZmZmZmZmZmCgogICAgICAgIC0tIGZvciA+MzIgYml0IG1hY2hpbmVzCgogICAgZW5kCgogICAgby5tdGkgPSBOCgplbmQKCgoKLS0tIEdlbmVyYXRlcyBhIHJhbmRvbSBudW1iZXIgb24gWzAsMHhmZmZmZmZmZl0taW50ZXJ2YWwKCi0tIEBsZnVuY3Rpb24gZ2VucmFuZF9pbnQzMgoKLS0gQHRwYXJhbSB7dGFibGV9IG8gVGhlIHRhYmxlIHRvIGdlbmVyYXRlIHRoZSByYW5kb20gbnVtYmVyIGZyb20KCi0tIEB0cmV0dXJuIHtudW1iZXJ9IFRoZSByYW5kb20gbnVtYmVyCgpsb2NhbCBmdW5jdGlvbiBnZW5yYW5kX2ludDMyKG8pCgogICAgbG9jYWwgeQoKICAgIGxvY2FsIG1hZzAxID0ge30gLS0gbWFnMDFbeF0gPSB4ICogTUFUUklYX0EgIGZvciB4PTAsMQoKICAgIG1hZzAxWzBdID0gMHgwCgogICAgbWFnMDFbMV0gPSBNQVRSSVhfQQoKICAgIGlmIG8ubXRpID49IE4gdGhlbiAgLS0gZ2VuZXJhdGUgTiB3b3JkcyBhdCBvbmUgdGltZQoKICAgICAgICBpZiBvLm10aSA9PSBOICsgMSB0aGVuIC0tIGlmIGluaXRfZ2VucmFuZCgpIGhhcyBub3QgYmVlbiBjYWxsZWQsCgogICAgICAgICAgICBpbml0X2dlbnJhbmQobywgNTQ4OSkgICAtLSBhIGRlZmF1bHQgaW5pdGlhbCBzZWVkIGlzIHVzZWQKCiAgICAgICAgZW5kCgogICAgICAgIGZvciBrayA9IDAsIE4gLSBNIC0gMSBkbwoKICAgICAgICAgICAgeSA9IChvLm10W2trXSAmIFVQUEVSX01BU0spIHwgKG8ubXRba2sgKyAxXSAmIExPV0VSX01BU0spCgogICAgICAgICAgICBvLm10W2trXSA9IG8ubXRba2sgKyBNXSB+ICh5ID4+IDEpIH4gbWFnMDFbeSAmIDB4MV0KCiAgICAgICAgZW5kCgogICAgICAgIGZvciBrayA9IE4gLSBNLCBOIC0gMiBkbwoKICAgICAgICAgICAgeSA9IChvLm10W2trXSAmIFVQUEVSX01BU0spIHwgKG8ubXRba2sgKyAxXSAmIExPV0VSX01BU0spCgogICAgICAgICAgICBvLm10W2trXSA9IG8ubXRba2sgKyAoTSAtIE4pXSB+ICh5ID4+IDEpIH4gbWFnMDFbeSAmIDB4MV0KCiAgICAgICAgZW5kCgogICAgICAgIHkgPSAoby5tdFtOIC0gMV0gJiBVUFBFUl9NQVNLKSB8IChvLm10WzBdICYgTE9XRVJfTUFTSykKCiAgICAgICAgby5tdFtOIC0gMV0gPSBvLm10W00gLSAxXSB+ICh5ID4+IDEpIH4gbWFnMDFbeSAmIDB4MV0KCgoKICAgICAgICBvLm10aSA9IDAKCiAgICBlbmQKCgoKICAgIHkgPSBvLm10W28ubXRpXQoKICAgIG8ubXRpID0gby5tdGkgKyAxCgoKCiAgICAtLSBUZW1wZXJpbmcKCiAgICB5ID0geSB+ICh5ID4+IDExKQoKICAgIHkgPSB5IH4gKCh5IDw8IDcpICYgMHg5ZDJjNTY4MCkKCiAgICB5ID0geSB+ICgoeSA8PCAxNSkgJiAweGVmYzYwMDAwKQoKICAgIHkgPSB5IH4gKHkgPj4gMTgpCgoKCiAgICByZXR1cm4geQoKZW5kCgoKCmxvY2FsIE1lcnNlbm5lVHdpc3RlciA9IHt9CgpNZXJzZW5uZVR3aXN0ZXIubXQgPSB7fQoKTWVyc2VubmVUd2lzdGVyLm10aSA9IE4gKyAxCgoKCgoKLS0tIFRoZSBSYW5kb20gdGFibGUKCi0tIEB0YWJsZSBSYW5kb20KCi0tIEBmaWVsZCBzZWVkIFRoZSBzZWVkIGZ1bmN0aW9uCgotLSBAZmllbGQgcmFuZG9tIFRoZSByYW5kb20gZnVuY3Rpb24KCi0tIEBmaWVsZCBpbnRlZ2VyIFRoZSBpbnRlZ2VyIGZ1bmN0aW9uCgpsb2NhbCBSYW5kb20gPSB7fQoKCgotLS0gU2V0cyBhIG5ldyByYW5kb20gdGFibGUgZ2l2ZW4gYSBzZWVkLgoKLS0gQGZ1bmN0aW9uIHNlZWQKCi0tIEB0cGFyYW0ge251bWJlcn0gc2VlZCBUaGUgc2VlZAoKZnVuY3Rpb24gUmFuZG9tLnNlZWQoc2VlZCkKCiAgICBpbml0X2dlbnJhbmQoTWVyc2VubmVUd2lzdGVyLCBzZWVkKQoKZW5kCgoKCi0tLSBHZW5lcmF0ZXMgYSByYW5kb20gbnVtYmVyIG9uIFswLDEpLXJlYWwtaW50ZXJ2YWwuCgotLSBAZnVuY3Rpb24gcmFuZG9tCgotLSBAdHJldHVybiB7bnVtYmVyfSBUaGUgcmFuZG9tIG51bWJlcgoKZnVuY3Rpb24gUmFuZG9tLnJhbmRvbSgpCgogICAgcmV0dXJuIGdlbnJhbmRfaW50MzIoTWVyc2VubmVUd2lzdGVyKSAqICgxLjAgLyA0Mjk0OTY3Mjk2LjApCgplbmQKCgoKLS0tIFJldHVybnMgYSByYW5kb20gaW50ZWdlci4gVGhlIG1pbiBhbmQgbWF4IGFyZSBJTkNMVURFRCBpbiB0aGUgcmFuZ2UuCgotLSBUaGUgbWF4IGludGVnZXIgaW4gbHVhIGlzIG1hdGgubWF4aW50ZWdlcgoKLS0gVGhlIG1pbiBpcyBtYXRoLm1pbmludGVnZXIKCi0tIEBmdW5jdGlvbiBSYW5kb20uaW50ZWdlcgoKLS0gQHRwYXJhbSB7bnVtYmVyfSBtaW4gVGhlIG1pbmltdW0gdmFsdWUKCi0tIEB0cGFyYW0ge251bWJlcn0gbWF4IFRoZSBtYXhpbXVtIHZhbHVlCgotLSBAdHJldHVybiB7bnVtYmVyfSBUaGUgcmFuZG9tIGludGVnZXIKCmZ1bmN0aW9uIFJhbmRvbS5pbnRlZ2VyKG1pbiwgbWF4KQoKICAgIGFzc2VydChtYXggPj0gbWluLCAibWF4IG11c3QgYmlnZ2VyIHRoYW4gbWluIikKCiAgICByZXR1cm4gbWF0aC5mbG9vcihSYW5kb20ucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW4pCgplbmQKCgoKcmV0dXJuIFJhbmRvbQAAAAAAbG9jYWwgd2RiID0gcmVxdWlyZSgid2VhdmVkYiIpCgpsb2NhbCBqc29uID0gcmVxdWlyZSgianNvbiIpCgoKCmxvY2FsIGZ1bmN0aW9uIHBhcnNlKG1zZykKCiAgYXNzZXJ0KHR5cGUobXNnLlRhZ3MuUXVlcnkpID09ICdzdHJpbmcnLCAnUXVlcnkgaXMgcmVxdWlyZWQhJykKCiAgcmV0dXJuIGpzb24uZGVjb2RlKG1zZy5UYWdzLlF1ZXJ5KQoKZW5kCgogIAoKSGFuZGxlcnMuYWRkKCJHZXQiLCAiR2V0IiwgZnVuY3Rpb24obXNnKSBtc2cucmVwbHkoeyBEYXRhID0gd2RiLmdldChwYXJzZShtc2cpKSB9KSBlbmQpCgpIYW5kbGVycy5hZGQoIkNnZXQiLCAiQ2dldCIsIGZ1bmN0aW9uKG1zZykgbXNnLnJlcGx5KHsgRGF0YSA9IHdkYi5jZ2V0KHBhcnNlKG1zZykpIH0pIGVuZCkKCkhhbmRsZXJzLmFkZCgiQWRkIiwgIkFkZCIsIGZ1bmN0aW9uKG1zZykgbXNnLnJlcGx5KHsgRGF0YSA9IHsgaWQgPSB3ZGIuYWRkKHBhcnNlKG1zZykpIH0gfSkgZW5kKQoKSGFuZGxlcnMuYWRkKCJTZXQiLCAiU2V0IiwgZnVuY3Rpb24obXNnKSBtc2cucmVwbHkoeyBEYXRhID0geyBpZCA9IHdkYi5zZXQocGFyc2UobXNnKSkgfSB9KSBlbmQpCgpIYW5kbGVycy5hZGQoIlVwZGF0ZSIsICJVcGRhdGUiLCBmdW5jdGlvbihtc2cpIG1zZy5yZXBseSh7IERhdGEgPSB7IGlkID0gd2RiLnVwZGF0ZShwYXJzZShtc2cpKSB9IH0pIGVuZCkKCkhhbmRsZXJzLmFkZCgiVXBzZXJ0IiwgIlVwc2VydCIsIGZ1bmN0aW9uKG1zZykgbXNnLnJlcGx5KHsgRGF0YSA9IHsgaWQgPSB3ZGIudXBzZXJ0KHBhcnNlKG1zZykpIH0gfSkgZW5kKQoKSGFuZGxlcnMuYWRkKCJEZWxldGUiLCAiRGVsZXRlIiwgZnVuY3Rpb24obXNnKSBtc2cucmVwbHkoeyBEYXRhID0geyBpZCA9IHdkYi5kZWxldGUocGFyc2UobXNnKSkgfSB9KSBlbmQpCgBCwNIFC4FHLS0KCi0tIENvcHlyaWdodCAoQykgMjAxOCBNYXNhdG9zaGkgVGVydXlhCgotLQoKLS0gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQoKLS0gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKCi0tIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKCi0tIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKCi0tIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwoKLS0gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCi0tCgotLSBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgoKLS0gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgotLQoKLS0gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKCi0tIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAoKLS0gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRQoKLS0gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgoKLS0gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKCi0tIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4KCi0tIFRIRSBTT0ZUV0FSRS4KCi0tCgotLSBkdW1wLmx1YQoKLS0gbHVhLWR1bXAKCi0tIENyZWF0ZWQgYnkgTWFzYXRvc2hpIFRlcnV5YSBvbiAxOC8wNC8yMi4KCi0tCgotLS0gZmlsZS1zY29wZSB2YXJpYWJsZXMKCmxvY2FsIHR5cGUgPSB0eXBlCgpsb2NhbCBmbG9vciA9IG1hdGguZmxvb3IKCmxvY2FsIHRvc3RyaW5nID0gdG9zdHJpbmcKCmxvY2FsIHRibHNvcnQgPSB0YWJsZS5zb3J0Cgpsb2NhbCB0Ymxjb25jYXQgPSB0YWJsZS5jb25jYXQKCmxvY2FsIHN0cm1hdGNoID0gc3RyaW5nLm1hdGNoCgpsb2NhbCBzdHJmb3JtYXQgPSBzdHJpbmcuZm9ybWF0CgotLS0gY29uc3RhbnRzCgpsb2NhbCBJTkZJTklURV9QT1MgPSBtYXRoLmh1Z2UKCmxvY2FsIExVQV9GSUVMRE5BTUVfUEFUID0gJ15bYS16QS1aX11bYS16QS1aMC05X10qJCcKCmxvY2FsIEZPUl9LRVkgPSAna2V5JwoKbG9jYWwgRk9SX1ZBTCA9ICd2YWwnCgpsb2NhbCBGT1JfQ0lSQ1VMQVIgPSAnY2lyY3VsYXInCgpsb2NhbCBSRVNFUlZFRF9XT1JEID0gewoKICAgIC0tIHByaW1pdGl2ZSBkYXRhCgogICAgWyduaWwnXSA9IHRydWUsCgogICAgWyd0cnVlJ10gPSB0cnVlLAoKICAgIFsnZmFsc2UnXSA9IHRydWUsCgogICAgLS0gZGVjbGFyYXRvbgoKICAgIFsnbG9jYWwnXSA9IHRydWUsCgogICAgWydmdW5jdGlvbiddID0gdHJ1ZSwKCiAgICAtLSBib29sZWFuIGxvZ2ljCgogICAgWydhbmQnXSA9IHRydWUsCgogICAgWydvciddID0gdHJ1ZSwKCiAgICBbJ25vdCddID0gdHJ1ZSwKCiAgICAtLSBjb25kaXRpb25hbCBzdGF0ZW1lbnQKCiAgICBbJ2lmJ10gPSB0cnVlLAoKICAgIFsnZWxzZWlmJ10gPSB0cnVlLAoKICAgIFsnZWxzZSddID0gdHJ1ZSwKCiAgICAtLSBpdGVyYXRpb24gc3RhdGVtZW50CgogICAgWydmb3InXSA9IHRydWUsCgogICAgWydpbiddID0gdHJ1ZSwKCiAgICBbJ3doaWxlJ10gPSB0cnVlLAoKICAgIFsndW50aWwnXSA9IHRydWUsCgogICAgWydyZXBlYXQnXSA9IHRydWUsCgogICAgLS0ganVtcCBzdGF0ZW1lbnQKCiAgICBbJ2JyZWFrJ10gPSB0cnVlLAoKICAgIFsnZ290byddID0gdHJ1ZSwKCiAgICBbJ3JldHVybiddID0gdHJ1ZSwKCiAgICAtLSBibG9jayBzY29wZSBzdGF0ZW1lbnQKCiAgICBbJ3RoZW4nXSA9IHRydWUsCgogICAgWydkbyddID0gdHJ1ZSwKCiAgICBbJ2VuZCddID0gdHJ1ZSwKCn0KCmxvY2FsIERFRkFVTFRfSU5ERU5UID0gNAoKCgotLS0gZmlsdGVyIGZ1bmN0aW9uIGZvciBkdW1wCgotLS0gQHBhcmFtIHZhbCBhbnkKCi0tLSBAcGFyYW0gZGVwdGggaW50ZWdlcgoKLS0tIEBwYXJhbSB2dHlwZSBzdHJpbmcKCi0tLSBAcGFyYW0gdXNlIHN0cmluZwoKLS0tIEBwYXJhbSBrZXkgYW55CgotLS0gQHBhcmFtIHVkYXRhIGFueQoKLS0tIEByZXR1cm4gYW55IHZhbAoKLS0tIEByZXR1cm4gYm9vbGVhbiBub2R1bXAKCmxvY2FsIGZ1bmN0aW9uIERFRkFVTFRfRklMVEVSKHZhbCkKCiAgICByZXR1cm4gdmFsCgplbmQKCgoKLS0tIHNvcnRfaW5kZXgKCi0tLSBAcGFyYW0gYSB0YWJsZQoKLS0tIEBwYXJhbSBiIHRhYmxlCgpsb2NhbCBmdW5jdGlvbiBzb3J0X2luZGV4KGEsIGIpCgogICAgaWYgYS50eXAgPT0gYi50eXAgdGhlbgoKICAgICAgICBpZiBhLnR5cCA9PSAnYm9vbGVhbicgdGhlbgoKICAgICAgICAgICAgcmV0dXJuIGIua2V5CgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBhLmtleSA8IGIua2V5CgogICAgZW5kCgoKCiAgICByZXR1cm4gYS50eXAgPT0gJ251bWJlcicKCmVuZAoKCgotLS0gZHVtcHRibAoKLS0tIEBwYXJhbSB0YmwgdGFibGUKCi0tLSBAcGFyYW0gZGVwdGggaW50ZWdlcgoKLS0tIEBwYXJhbSBpbmRlbnQgc3RyaW5nCgotLS0gQHBhcmFtIG5lc3RJbmRlbnQgc3RyaW5nCgotLS0gQHBhcmFtIGN0eCB0YWJsZQoKLS0tIEByZXR1cm4gc3RyaW5nCgpsb2NhbCBmdW5jdGlvbiBkdW1wdGJsKHRibCwgZGVwdGgsIGluZGVudCwgbmVzdEluZGVudCwgY3R4KQoKICAgIGxvY2FsIHJlZiA9IHRvc3RyaW5nKHRibCkKCgoKICAgIC0tIGNpcmN1bGFyIHJlZmVyZW5jZQoKICAgIGlmIGN0eC5jaXJjdWxhcltyZWZdIHRoZW4KCiAgICAgICAgbG9jYWwgdmFsLCBub2R1bXAgPSBjdHguZmlsdGVyKHRibCwgZGVwdGgsIHR5cGUodGJsKSwgRk9SX0NJUkNVTEFSLCB0YmwsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgudWRhdGEpCgoKCiAgICAgICAgaWYgdmFsIH49IG5pbCBhbmQgdmFsIH49IHRibCB0aGVuCgogICAgICAgICAgICBsb2NhbCB0ID0gdHlwZSh2YWwpCgoKCiAgICAgICAgICAgIGlmIHQgPT0gJ3RhYmxlJyB0aGVuCgogICAgICAgICAgICAgICAgLS0gZHVtcCB0YWJsZSB2YWx1ZQoKICAgICAgICAgICAgICAgIGlmIG5vdCBub2R1bXAgdGhlbgoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHVtcHRibCh2YWwsIGRlcHRoICsgMSwgaW5kZW50LCBuZXN0SW5kZW50LCBjdHgpCgogICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgICAgcmV0dXJuIHRvc3RyaW5nKHZhbCkKCiAgICAgICAgICAgIGVsc2VpZiB0ID09ICdzdHJpbmcnIHRoZW4KCiAgICAgICAgICAgICAgICByZXR1cm4gc3RyZm9ybWF0KCclcScsIHZhbCkKCiAgICAgICAgICAgIGVsc2VpZiB0ID09ICdudW1iZXInIG9yIHQgPT0gJ2Jvb2xlYW4nIHRoZW4KCiAgICAgICAgICAgICAgICByZXR1cm4gdG9zdHJpbmcodmFsKQoKICAgICAgICAgICAgZW5kCgoKCiAgICAgICAgICAgIHJldHVybiBzdHJmb3JtYXQoJyVxJywgdG9zdHJpbmcodmFsKSkKCiAgICAgICAgZW5kCgoKCiAgICAgICAgcmV0dXJuICciPENpcmN1bGFyICcgLi4gcmVmIC4uICc+IicKCiAgICBlbmQKCgoKICAgIGxvY2FsIHJlcyA9IHt9CgogICAgbG9jYWwgYXJyID0ge30KCiAgICBsb2NhbCBuYXJyID0gMAoKICAgIGxvY2FsIGZpZWxkSW5kZW50ID0gaW5kZW50IC4uIG5lc3RJbmRlbnQKCgoKICAgIC0tIHNhdmUgcmVmZXJlbmNlCgogICAgY3R4LmNpcmN1bGFyW3JlZl0gPSB0cnVlCgoKCiAgICBmb3IgaywgdiBpbiBwYWlycyh0YmwpIGRvCgogICAgICAgIC0tIGNoZWNrIGtleQoKICAgICAgICBsb2NhbCBrZXksIG5va2R1bXAgPSBjdHguZmlsdGVyKGssIGRlcHRoLCB0eXBlKGspLCBGT1JfS0VZLCBuaWwsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LnVkYXRhKQoKCgogICAgICAgIGlmIGtleSB+PSBuaWwgdGhlbgoKICAgICAgICAgICAgLS0gY2hlY2sgdmFsCgogICAgICAgICAgICBsb2NhbCB2YWwsIG5vdmR1bXAgPSBjdHguZmlsdGVyKHYsIGRlcHRoLCB0eXBlKHYpLCBGT1JfVkFMLCBrZXksCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC51ZGF0YSkKCiAgICAgICAgICAgIGxvY2FsIGt2CgoKCiAgICAgICAgICAgIGlmIHZhbCB+PSBuaWwgdGhlbgoKICAgICAgICAgICAgICAgIGxvY2FsIGt0ID0gdHlwZShrZXkpCgogICAgICAgICAgICAgICAgbG9jYWwgdnQgPSB0eXBlKHZhbCkKCgoKICAgICAgICAgICAgICAgIC0tIGNvbnZlcnQga2V5IHRvIHN1aXRhYmxlIHRvIGJlIHNhZmVseSByZWFkIGJhY2sKCiAgICAgICAgICAgICAgICAtLSBieSB0aGUgTHVhIGludGVycHJldGVyCgogICAgICAgICAgICAgICAgaWYga3QgPT0gJ251bWJlcicgb3Iga3QgPT0gJ2Jvb2xlYW4nIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgayA9IGtleQoKICAgICAgICAgICAgICAgICAgICBrZXkgPSAnWycgLi4gdG9zdHJpbmcoa2V5KSAuLiAnXScKCiAgICAgICAgICAgICAgICAgICAgLS0gZHVtcCB0YWJsZSB2YWx1ZQoKICAgICAgICAgICAgICAgIGVsc2VpZiBrdCA9PSAndGFibGUnIGFuZCBub3Qgbm9rZHVtcCB0aGVuCgogICAgICAgICAgICAgICAgICAgIGtleSA9ICdbJyAuLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVtcHRibChrZXksIGRlcHRoICsgMSwgZmllbGRJbmRlbnQsIG5lc3RJbmRlbnQsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eCkgLi4gJ10nCgogICAgICAgICAgICAgICAgICAgIGsgPSBrZXkKCiAgICAgICAgICAgICAgICAgICAga3QgPSAnc3RyaW5nJwoKICAgICAgICAgICAgICAgIGVsc2VpZiBrdCB+PSAnc3RyaW5nJyBvciBSRVNFUlZFRF9XT1JEW2tleV0gb3IKCiAgICAgICAgICAgICAgICAgICAgbm90IHN0cm1hdGNoKGtleSwgTFVBX0ZJRUxETkFNRV9QQVQpIHRoZW4KCiAgICAgICAgICAgICAgICAgICAga2V5ID0gc3RyZm9ybWF0KCJbJXFdIiwgdG9zdHJpbmcoa2V5KSwgdikKCiAgICAgICAgICAgICAgICAgICAgayA9IGtleQoKICAgICAgICAgICAgICAgICAgICBrdCA9ICdzdHJpbmcnCgogICAgICAgICAgICAgICAgZW5kCgoKCiAgICAgICAgICAgICAgICAtLSBjb252ZXJ0IGtleS12YWwgcGFpciB0byBzdWl0YWJsZSB0byBiZSBzYWZlbHkgcmVhZCBiYWNrCgogICAgICAgICAgICAgICAgLS0gYnkgdGhlIEx1YSBpbnRlcnByZXRlcgoKICAgICAgICAgICAgICAgIGlmIHZ0ID09ICdudW1iZXInIG9yIHZ0ID09ICdib29sZWFuJyB0aGVuCgogICAgICAgICAgICAgICAgICAgIGt2ID0gc3RyZm9ybWF0KCclcyVzID0gJXMnLCBmaWVsZEluZGVudCwga2V5LCB0b3N0cmluZyh2YWwpKQoKICAgICAgICAgICAgICAgIGVsc2VpZiB2dCA9PSAnc3RyaW5nJyB0aGVuCgogICAgICAgICAgICAgICAgICAgIC0tIGR1bXAgYSBzdHJpbmctdmFsdWUKCiAgICAgICAgICAgICAgICAgICAgaWYgbm90IG5vdmR1bXAgdGhlbgoKICAgICAgICAgICAgICAgICAgICAgICAga3YgPSBzdHJmb3JtYXQoJyVzJXMgPSAlcScsIGZpZWxkSW5kZW50LCBrZXksIHZhbCkKCiAgICAgICAgICAgICAgICAgICAgZWxzZQoKICAgICAgICAgICAgICAgICAgICAgICAga3YgPSBzdHJmb3JtYXQoJyVzJXMgPSAlcycsIGZpZWxkSW5kZW50LCBrZXksIHZhbCkKCiAgICAgICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgICAgZWxzZWlmIHZ0ID09ICd0YWJsZScgYW5kIG5vdCBub3ZkdW1wIHRoZW4KCiAgICAgICAgICAgICAgICAgICAga3YgPSBzdHJmb3JtYXQoJyVzJXMgPSAlcycsIGZpZWxkSW5kZW50LCBrZXksIGR1bXB0YmwodmFsLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXB0aCArCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEluZGVudCwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVzdEluZGVudCwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4KSkKCiAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgIGt2ID0gc3RyZm9ybWF0KCclcyVzID0gJXEnLCBmaWVsZEluZGVudCwga2V5LCB0b3N0cmluZyh2YWwpKQoKICAgICAgICAgICAgICAgIGVuZAoKCgogICAgICAgICAgICAgICAgLS0gYWRkIHRvIGFycmF5CgogICAgICAgICAgICAgICAgbmFyciA9IG5hcnIgKyAxCgogICAgICAgICAgICAgICAgYXJyW25hcnJdID0gewoKICAgICAgICAgICAgICAgICAgICB0eXAgPSBrdCwKCiAgICAgICAgICAgICAgICAgICAga2V5ID0gaywKCiAgICAgICAgICAgICAgICAgICAgdmFsID0ga3YsCgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgIGVuZAoKCgogICAgLS0gcmVtb3ZlIHJlZmVyZW5jZQoKICAgIGN0eC5jaXJjdWxhcltyZWZdID0gbmlsCgogICAgLS0gY29uY2F0IHJlc3VsdAoKICAgIGlmIG5hcnIgPiAwIHRoZW4KCiAgICAgICAgdGJsc29ydChhcnIsIHNvcnRfaW5kZXgpCgoKCiAgICAgICAgZm9yIGkgPSAxLCBuYXJyIGRvCgogICAgICAgICAgICByZXNbaV0gPSBhcnJbaV0udmFsCgogICAgICAgIGVuZAoKICAgICAgICByZXNbMV0gPSAneycgLi4gY3R4LkxGIC4uIHJlc1sxXQoKICAgICAgICByZXMgPSB0Ymxjb25jYXQocmVzLCAnLCcgLi4gY3R4LkxGKSAuLiBjdHguTEYgLi4gaW5kZW50IC4uICd9JwoKICAgIGVsc2UKCiAgICAgICAgcmVzID0gJ3t9JwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHJlcwoKZW5kCgoKCi0tLSBpc191aW50CgotLS0gQHBhcmFtIHYgYW55CgotLS0gQHJldHVybiBib29sZWFuIG9rCgpsb2NhbCBmdW5jdGlvbiBpc191aW50KHYpCgogICAgcmV0dXJuIHR5cGUodikgPT0gJ251bWJlcicgYW5kIHYgPCBJTkZJTklURV9QT1MgYW5kIHYgPj0gMCBhbmQgZmxvb3IodikgPT0gdgoKZW5kCgoKCi0tLSBkdW1wCgotLS0gQHBhcmFtIHZhbCBhbnkKCi0tLSBAcGFyYW0gaW5kZW50IGludGVnZXIKCi0tLSBAcGFyYW0gcGFkZGluZyBpbnRlZ2VyCgotLS0gQHBhcmFtIGZpbHRlciBmdW5jdGlvbgoKLS0tIEBwYXJhbSB1ZGF0YQoKLS0tIEByZXR1cm4gc3RyaW5nCgpsb2NhbCBmdW5jdGlvbiBkdW1wKHZhbCwgaW5kZW50LCBwYWRkaW5nLCBmaWx0ZXIsIHVkYXRhKQoKICAgIGxvY2FsIHQgPSB0eXBlKHZhbCkKCgoKICAgIC0tIGNoZWNrIGluZGVudAoKICAgIGlmIGluZGVudCA9PSBuaWwgdGhlbgoKICAgICAgICBpbmRlbnQgPSBERUZBVUxUX0lOREVOVAoKICAgIGVsc2VpZiBub3QgaXNfdWludChpbmRlbnQpIHRoZW4KCiAgICAgICAgZXJyb3IoJ2luZGVudCBtdXN0IGJlIHVuc2lnbmVkIGludGVnZXInLCAyKQoKICAgIGVuZAoKCgogICAgLS0gY2hlY2sgcGFkZGluZwoKICAgIGlmIHBhZGRpbmcgPT0gbmlsIHRoZW4KCiAgICAgICAgcGFkZGluZyA9IDAKCiAgICBlbHNlaWYgbm90IGlzX3VpbnQocGFkZGluZykgdGhlbgoKICAgICAgICBlcnJvcigncGFkZGluZyBtdXN0IGJlIHVuc2lnbmVkIGludGVnZXInLCAyKQoKICAgIGVuZAoKCgogICAgLS0gY2hlY2sgZmlsdGVyCgogICAgaWYgZmlsdGVyID09IG5pbCB0aGVuCgogICAgICAgIGZpbHRlciA9IERFRkFVTFRfRklMVEVSCgogICAgZWxzZWlmIHR5cGUoZmlsdGVyKSB+PSAnZnVuY3Rpb24nIHRoZW4KCiAgICAgICAgZXJyb3IoJ2ZpbHRlciBtdXN0IGJlIGZ1bmN0aW9uJywgMikKCiAgICBlbmQKCgoKICAgIC0tIGR1bXAgdGFibGUKCiAgICBpZiB0ID09ICd0YWJsZScgdGhlbgoKICAgICAgICBsb2NhbCBpc3BhY2UgPSAnJwoKICAgICAgICBsb2NhbCBwc3BhY2UgPSAnJwoKCgogICAgICAgIGlmIGluZGVudCA+IDAgdGhlbgoKICAgICAgICAgICAgaXNwYWNlID0gc3RyZm9ybWF0KCclJyAuLiB0b3N0cmluZyhpbmRlbnQpIC4uICdzJywgJycpCgogICAgICAgIGVuZAoKCgogICAgICAgIGlmIHBhZGRpbmcgPiAwIHRoZW4KCiAgICAgICAgICAgIHBzcGFjZSA9IHN0cmZvcm1hdCgnJScgLi4gdG9zdHJpbmcocGFkZGluZykgLi4gJ3MnLCAnJykKCiAgICAgICAgZW5kCgoKCiAgICAgICAgcmV0dXJuIGR1bXB0YmwodmFsLCAxLCBwc3BhY2UsIGlzcGFjZSwgewoKICAgICAgICAgICAgTEYgPSBpc3BhY2UgPT0gJycgYW5kICcgJyBvciAnXG4nLAoKICAgICAgICAgICAgY2lyY3VsYXIgPSB7fSwKCiAgICAgICAgICAgIGZpbHRlciA9IGZpbHRlciwKCiAgICAgICAgICAgIHVkYXRhID0gdWRhdGEsCgogICAgICAgIH0pCgogICAgZW5kCgoKCiAgICAtLSBkdW1wIHZhbHVlCgogICAgbG9jYWwgdiwgbm9kdW1wID0gZmlsdGVyKHZhbCwgMCwgdCwgRk9SX1ZBTCwgbmlsLCB1ZGF0YSkKCiAgICBpZiBub2R1bXAgPT0gdHJ1ZSB0aGVuCgogICAgICAgIHJldHVybiB0b3N0cmluZyh2KQoKICAgIGVuZAoKICAgIHJldHVybiBzdHJmb3JtYXQoJyVxJywgdG9zdHJpbmcodikpCgplbmQKCgoKcmV0dXJuIGR1bXAAQtCZBgvTOS0tW1sKCgoKIGJhc2U2NCAtLSB2MS41LjMgcHVibGljIGRvbWFpbiBMdWEgYmFzZTY0IGVuY29kZXIvZGVjb2RlcgoKIG5vIHdhcnJhbnR5IGltcGxpZWQ7IHVzZSBhdCB5b3VyIG93biByaXNrCgoKCiBOZWVkcyBiaXQzMi5leHRyYWN0IGZ1bmN0aW9uLiBJZiBub3QgcHJlc2VudCBpdCdzIGltcGxlbWVudGVkIHVzaW5nIEJpdE9wCgogb3IgTHVhIDUuMyBuYXRpdmUgYml0IG9wZXJhdG9ycy4gRm9yIEx1YSA1LjEgZmFsbGJhY2tzIHRvIHB1cmUgTHVhCgogaW1wbGVtZW50YXRpb24gaW5zcGlyZWQgYnkgUmljaSBMYWtlJ3MgcG9zdDoKCiAgIGh0dHA6Ly9yaWNpbGFrZS5ibG9nc3BvdC5jby51ay8yMDA3LzEwL2l0ZXJhdGluZy1iaXRzLWluLWx1YS5odG1sCgoKCiBhdXRob3I6IElseWEgS29sYmluIChpc2tvbGJpbkBnbWFpbC5jb20pCgogdXJsOiBnaXRodWIuY29tL2lza29sYmluL2xiYXNlNjQKCgoKIENPTVBBVElCSUxJVFkKCgoKIEx1YSA1LjErLCBMdWFKSVQKCgoKIExJQ0VOU0UKCgoKIFNlZSBlbmQgb2YgZmlsZSBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi4KCgoKLS1dXQoKCgoKCmxvY2FsIGJhc2U2NCA9IHt9CgoKCmxvY2FsIGV4dHJhY3QgPSBfRy5iaXQzMiBhbmQgX0cuYml0MzIuZXh0cmFjdCAtLSBMdWEgNS4yL0x1YSA1LjMgaW4gY29tcGF0aWJpbGl0eSBtb2RlCgppZiBub3QgZXh0cmFjdCB0aGVuCgoJaWYgX0cuYml0IHRoZW4gLS0gTHVhSklUCgoJCWxvY2FsIHNobCwgc2hyLCBiYW5kID0gX0cuYml0LmxzaGlmdCwgX0cuYml0LnJzaGlmdCwgX0cuYml0LmJhbmQKCgkJZXh0cmFjdCA9IGZ1bmN0aW9uKCB2LCBmcm9tLCB3aWR0aCApCgoJCQlyZXR1cm4gYmFuZCggc2hyKCB2LCBmcm9tICksIHNobCggMSwgd2lkdGggKSAtIDEgKQoKCQllbmQKCgllbHNlaWYgX0cuX1ZFUlNJT04gPT0gIkx1YSA1LjEiIHRoZW4KCgkJZXh0cmFjdCA9IGZ1bmN0aW9uKCB2LCBmcm9tLCB3aWR0aCApCgoJCQlsb2NhbCB3ID0gMAoKCQkJbG9jYWwgZmxhZyA9IDJeZnJvbQoKCQkJZm9yIGkgPSAwLCB3aWR0aC0xIGRvCgoJCQkJbG9jYWwgZmxhZzIgPSBmbGFnICsgZmxhZwoKCQkJCWlmIHYgJSBmbGFnMiA+PSBmbGFnIHRoZW4KCgkJCQkJdyA9IHcgKyAyXmkKCgkJCQllbmQKCgkJCQlmbGFnID0gZmxhZzIKCgkJCWVuZAoKCQkJcmV0dXJuIHcKCgkJZW5kCgoJZWxzZSAtLSBMdWEgNS4zKwoKCQlleHRyYWN0ID0gbG9hZFtbcmV0dXJuIGZ1bmN0aW9uKCB2LCBmcm9tLCB3aWR0aCApCgoJCQlyZXR1cm4gKCB2ID4+IGZyb20gKSAmICgoMSA8PCB3aWR0aCkgLSAxKQoKCQllbmRdXSgpCgoJZW5kCgplbmQKCgoKCgpmdW5jdGlvbiBiYXNlNjQubWFrZWVuY29kZXIoIHM2MiwgczYzLCBzcGFkICkKCglsb2NhbCBlbmNvZGVyID0ge30KCglmb3IgYjY0Y29kZSwgY2hhciBpbiBwYWlyc3tbMF09J0EnLCdCJywnQycsJ0QnLCdFJywnRicsJ0cnLCdIJywnSScsJ0onLAoKCQknSycsJ0wnLCdNJywnTicsJ08nLCdQJywnUScsJ1InLCdTJywnVCcsJ1UnLCdWJywnVycsJ1gnLCdZJywKCgkJJ1onLCdhJywnYicsJ2MnLCdkJywnZScsJ2YnLCdnJywnaCcsJ2knLCdqJywnaycsJ2wnLCdtJywnbicsCgoJCSdvJywncCcsJ3EnLCdyJywncycsJ3QnLCd1JywndicsJ3cnLCd4JywneScsJ3onLCcwJywnMScsJzInLAoKCQknMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScsczYyIG9yICcrJyxzNjMgb3InLycsc3BhZCBvcic9J30gZG8KCgkJZW5jb2RlcltiNjRjb2RlXSA9IGNoYXI6Ynl0ZSgpCgoJZW5kCgoJcmV0dXJuIGVuY29kZXIKCmVuZAoKCgpmdW5jdGlvbiBiYXNlNjQubWFrZWRlY29kZXIoIHM2MiwgczYzLCBzcGFkICkKCglsb2NhbCBkZWNvZGVyID0ge30KCglmb3IgYjY0Y29kZSwgY2hhcmNvZGUgaW4gcGFpcnMoIGJhc2U2NC5tYWtlZW5jb2RlciggczYyLCBzNjMsIHNwYWQgKSkgZG8KCgkJZGVjb2RlcltjaGFyY29kZV0gPSBiNjRjb2RlCgoJZW5kCgoJcmV0dXJuIGRlY29kZXIKCmVuZAoKCgpsb2NhbCBERUZBVUxUX0VOQ09ERVIgPSBiYXNlNjQubWFrZWVuY29kZXIoKQoKbG9jYWwgREVGQVVMVF9ERUNPREVSID0gYmFzZTY0Lm1ha2VkZWNvZGVyKCkKCgoKbG9jYWwgY2hhciwgY29uY2F0ID0gc3RyaW5nLmNoYXIsIHRhYmxlLmNvbmNhdAoKCgpmdW5jdGlvbiBiYXNlNjQuZW5jb2RlKCBzdHIsIGVuY29kZXIsIHVzZWNhY2hpbmcgKQoKCWVuY29kZXIgPSBlbmNvZGVyIG9yIERFRkFVTFRfRU5DT0RFUgoKCWxvY2FsIHQsIGssIG4gPSB7fSwgMSwgI3N0cgoKCWxvY2FsIGxhc3RuID0gbiAlIDMKCglsb2NhbCBjYWNoZSA9IHt9CgoJZm9yIGkgPSAxLCBuLWxhc3RuLCAzIGRvCgoJCWxvY2FsIGEsIGIsIGMgPSBzdHI6Ynl0ZSggaSwgaSsyICkKCgkJbG9jYWwgdiA9IGEqMHgxMDAwMCArIGIqMHgxMDAgKyBjCgoJCWxvY2FsIHMKCgkJaWYgdXNlY2FjaGluZyB0aGVuCgoJCQlzID0gY2FjaGVbdl0KCgkJCWlmIG5vdCBzIHRoZW4KCgkJCQlzID0gY2hhcihlbmNvZGVyW2V4dHJhY3QodiwxOCw2KV0sIGVuY29kZXJbZXh0cmFjdCh2LDEyLDYpXSwgZW5jb2RlcltleHRyYWN0KHYsNiw2KV0sIGVuY29kZXJbZXh0cmFjdCh2LDAsNildKQoKCQkJCWNhY2hlW3ZdID0gcwoKCQkJZW5kCgoJCWVsc2UKCgkJCXMgPSBjaGFyKGVuY29kZXJbZXh0cmFjdCh2LDE4LDYpXSwgZW5jb2RlcltleHRyYWN0KHYsMTIsNildLCBlbmNvZGVyW2V4dHJhY3Qodiw2LDYpXSwgZW5jb2RlcltleHRyYWN0KHYsMCw2KV0pCgoJCWVuZAoKCQl0W2tdID0gcwoKCQlrID0gayArIDEKCgllbmQKCglpZiBsYXN0biA9PSAyIHRoZW4KCgkJbG9jYWwgYSwgYiA9IHN0cjpieXRlKCBuLTEsIG4gKQoKCQlsb2NhbCB2ID0gYSoweDEwMDAwICsgYioweDEwMAoKCQl0W2tdID0gY2hhcihlbmNvZGVyW2V4dHJhY3QodiwxOCw2KV0sIGVuY29kZXJbZXh0cmFjdCh2LDEyLDYpXSwgZW5jb2RlcltleHRyYWN0KHYsNiw2KV0sIGVuY29kZXJbNjRdKQoKCWVsc2VpZiBsYXN0biA9PSAxIHRoZW4KCgkJbG9jYWwgdiA9IHN0cjpieXRlKCBuICkqMHgxMDAwMAoKCQl0W2tdID0gY2hhcihlbmNvZGVyW2V4dHJhY3QodiwxOCw2KV0sIGVuY29kZXJbZXh0cmFjdCh2LDEyLDYpXSwgZW5jb2Rlcls2NF0sIGVuY29kZXJbNjRdKQoKCWVuZAoKCXJldHVybiBjb25jYXQoIHQgKQoKZW5kCgoKCmZ1bmN0aW9uIGJhc2U2NC5kZWNvZGUoIGI2NCwgZGVjb2RlciwgdXNlY2FjaGluZyApCgoJZGVjb2RlciA9IGRlY29kZXIgb3IgREVGQVVMVF9ERUNPREVSCgoJbG9jYWwgcGF0dGVybiA9ICdbXiV3JSslLyU9XScKCglpZiBkZWNvZGVyIHRoZW4KCgkJbG9jYWwgczYyLCBzNjMKCgkJZm9yIGNoYXJjb2RlLCBiNjRjb2RlIGluIHBhaXJzKCBkZWNvZGVyICkgZG8KCgkJCWlmIGI2NGNvZGUgPT0gNjIgdGhlbiBzNjIgPSBjaGFyY29kZQoKCQkJZWxzZWlmIGI2NGNvZGUgPT0gNjMgdGhlbiBzNjMgPSBjaGFyY29kZQoKCQkJZW5kCgoJCWVuZAoKCQlwYXR0ZXJuID0gKCdbXiUldyUlJXMlJSVzJSU9XScpOmZvcm1hdCggY2hhcihzNjIpLCBjaGFyKHM2MykgKQoKCWVuZAoKCWI2NCA9IGI2NDpnc3ViKCBwYXR0ZXJuLCAnJyApCgoJbG9jYWwgY2FjaGUgPSB1c2VjYWNoaW5nIGFuZCB7fQoKCWxvY2FsIHQsIGsgPSB7fSwgMQoKCWxvY2FsIG4gPSAjYjY0CgoJbG9jYWwgcGFkZGluZyA9IGI2NDpzdWIoLTIpID09ICc9PScgYW5kIDIgb3IgYjY0OnN1YigtMSkgPT0gJz0nIGFuZCAxIG9yIDAKCglmb3IgaSA9IDEsIHBhZGRpbmcgPiAwIGFuZCBuLTQgb3IgbiwgNCBkbwoKCQlsb2NhbCBhLCBiLCBjLCBkID0gYjY0OmJ5dGUoIGksIGkrMyApCgoJCWxvY2FsIHMKCgkJaWYgdXNlY2FjaGluZyB0aGVuCgoJCQlsb2NhbCB2MCA9IGEqMHgxMDAwMDAwICsgYioweDEwMDAwICsgYyoweDEwMCArIGQKCgkJCXMgPSBjYWNoZVt2MF0KCgkJCWlmIG5vdCBzIHRoZW4KCgkJCQlsb2NhbCB2ID0gZGVjb2RlclthXSoweDQwMDAwICsgZGVjb2RlcltiXSoweDEwMDAgKyBkZWNvZGVyW2NdKjB4NDAgKyBkZWNvZGVyW2RdCgoJCQkJcyA9IGNoYXIoIGV4dHJhY3QodiwxNiw4KSwgZXh0cmFjdCh2LDgsOCksIGV4dHJhY3QodiwwLDgpKQoKCQkJCWNhY2hlW3YwXSA9IHMKCgkJCWVuZAoKCQllbHNlCgoJCQlsb2NhbCB2ID0gZGVjb2RlclthXSoweDQwMDAwICsgZGVjb2RlcltiXSoweDEwMDAgKyBkZWNvZGVyW2NdKjB4NDAgKyBkZWNvZGVyW2RdCgoJCQlzID0gY2hhciggZXh0cmFjdCh2LDE2LDgpLCBleHRyYWN0KHYsOCw4KSwgZXh0cmFjdCh2LDAsOCkpCgoJCWVuZAoKCQl0W2tdID0gcwoKCQlrID0gayArIDEKCgllbmQKCglpZiBwYWRkaW5nID09IDEgdGhlbgoKCQlsb2NhbCBhLCBiLCBjID0gYjY0OmJ5dGUoIG4tMywgbi0xICkKCgkJbG9jYWwgdiA9IGRlY29kZXJbYV0qMHg0MDAwMCArIGRlY29kZXJbYl0qMHgxMDAwICsgZGVjb2RlcltjXSoweDQwCgoJCXRba10gPSBjaGFyKCBleHRyYWN0KHYsMTYsOCksIGV4dHJhY3Qodiw4LDgpKQoKCWVsc2VpZiBwYWRkaW5nID09IDIgdGhlbgoKCQlsb2NhbCBhLCBiID0gYjY0OmJ5dGUoIG4tMywgbi0yICkKCgkJbG9jYWwgdiA9IGRlY29kZXJbYV0qMHg0MDAwMCArIGRlY29kZXJbYl0qMHgxMDAwCgoJCXRba10gPSBjaGFyKCBleHRyYWN0KHYsMTYsOCkpCgoJZW5kCgoJcmV0dXJuIGNvbmNhdCggdCApCgplbmQKCgoKcmV0dXJuIGJhc2U2NAoKCgotLVtbCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHVuZGVyIDIgbGljZW5zZXMgLS0gY2hvb3NlIHdoaWNoZXZlciB5b3UgcHJlZmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBTFRFUk5BVElWRSBBIC0gTUlUIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAxOCBJbHlhIEtvbGJpbgoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgoKdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KCnRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KCnVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzCgpvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8KCnNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAoKY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKCkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQoKQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgoKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKCk9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCgpTT0ZUV0FSRS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQUxURVJOQVRJVkUgQiAtIFB1YmxpYyBEb21haW4gKHd3dy51bmxpY2Vuc2Uub3JnKQoKVGhpcyBpcyBmcmVlIGFuZCB1bmVuY3VtYmVyZWQgc29mdHdhcmUgcmVsZWFzZWQgaW50byB0aGUgcHVibGljIGRvbWFpbi4KCkFueW9uZSBpcyBmcmVlIHRvIGNvcHksIG1vZGlmeSwgcHVibGlzaCwgdXNlLCBjb21waWxlLCBzZWxsLCBvciBkaXN0cmlidXRlIHRoaXMKCnNvZnR3YXJlLCBlaXRoZXIgaW4gc291cmNlIGNvZGUgZm9ybSBvciBhcyBhIGNvbXBpbGVkIGJpbmFyeSwgZm9yIGFueSBwdXJwb3NlLAoKY29tbWVyY2lhbCBvciBub24tY29tbWVyY2lhbCwgYW5kIGJ5IGFueSBtZWFucy4KCkluIGp1cmlzZGljdGlvbnMgdGhhdCByZWNvZ25pemUgY29weXJpZ2h0IGxhd3MsIHRoZSBhdXRob3Igb3IgYXV0aG9ycyBvZiB0aGlzCgpzb2Z0d2FyZSBkZWRpY2F0ZSBhbnkgYW5kIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHNvZnR3YXJlIHRvIHRoZSBwdWJsaWMKCmRvbWFpbi4gV2UgbWFrZSB0aGlzIGRlZGljYXRpb24gZm9yIHRoZSBiZW5lZml0IG9mIHRoZSBwdWJsaWMgYXQgbGFyZ2UgYW5kIHRvCgp0aGUgZGV0cmltZW50IG9mIG91ciBoZWlycyBhbmQgc3VjY2Vzc29ycy4gV2UgaW50ZW5kIHRoaXMgZGVkaWNhdGlvbiB0byBiZSBhbgoKb3ZlcnQgYWN0IG9mIHJlbGlucXVpc2htZW50IGluIHBlcnBldHVpdHkgb2YgYWxsIHByZXNlbnQgYW5kIGZ1dHVyZSByaWdodHMgdG8KCnRoaXMgc29mdHdhcmUgdW5kZXIgY29weXJpZ2h0IGxhdy4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKCkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQoKQVVUSE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KCkFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04KCldJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLV1dAEKw0wYLwQgtLS0gVGhlIFByZXR0eSBtb2R1bGUgcHJvdmlkZXMgYSB1dGlsaXR5IGZvciBwcmludGluZyBMdWEgdGFibGVzIGluIGEgbW9yZSByZWFkYWJsZSBmb3JtYXQuCgotLSBAbW9kdWxlIHByZXR0eQoKCgotLS0gVGhlIHByZXR0eSBtb2R1bGUKCi0tIEB0YWJsZSBwcmV0dHkKCi0tIEBmaWVsZCBfdmVyc2lvbiBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIHByZXR0eSBtb2R1bGUKCi0tIEBmaWVsZCB0cHJpbnQgVGhlIHRwcmludCBmdW5jdGlvbgoKbG9jYWwgcHJldHR5ID0geyBfdmVyc2lvbiA9ICIwLjAuMSIgfQoKCgotLS0gUHJpbnRzIGEgdGFibGUgd2l0aCBpbmRlbnRhdGlvbiBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5LgoKLS0gQGZ1bmN0aW9uIHRwcmludAoKLS0gQHRwYXJhbSB7dGFibGV9IHRibCBUaGUgdGFibGUgdG8gcHJpbnQKCi0tIEB0cGFyYW0ge251bWJlcn0gaW5kZW50IFRoZSBpbmRlbnRhdGlvbiBsZXZlbCAoZGVmYXVsdCBpcyAwKQoKLS0gQHRyZXR1cm4ge3N0cmluZ30gQSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHRhYmxlIHdpdGggaW5kZW50YXRpb24KCnByZXR0eS50cHJpbnQgPSBmdW5jdGlvbiAodGJsLCBpbmRlbnQpCgogIGlmIG5vdCBpbmRlbnQgdGhlbiBpbmRlbnQgPSAwIGVuZAoKICBsb2NhbCBvdXRwdXQgPSAiIgoKICBmb3IgaywgdiBpbiBwYWlycyh0YmwpIGRvCgogICAgbG9jYWwgZm9ybWF0dGluZyA9IHN0cmluZy5yZXAoIiAiLCBpbmRlbnQpIC4uIGsgLi4gIjogIgoKICAgIGlmIHR5cGUodikgPT0gInRhYmxlIiB0aGVuCgogICAgICBvdXRwdXQgPSBvdXRwdXQgLi4gZm9ybWF0dGluZyAuLiAiXG4iCgogICAgICBvdXRwdXQgPSBvdXRwdXQgLi4gcHJldHR5LnRwcmludCh2LCBpbmRlbnQrMSkKCiAgICBlbHNlaWYgdHlwZSh2KSA9PSAnYm9vbGVhbicgdGhlbgoKICAgICAgb3V0cHV0ID0gb3V0cHV0IC4uIGZvcm1hdHRpbmcgLi4gdG9zdHJpbmcodikgLi4gIlxuIgoKICAgIGVsc2UKCiAgICAgIG91dHB1dCA9IG91dHB1dCAuLiBmb3JtYXR0aW5nIC4uIHYgLi4gIlxuIgoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIG91dHB1dAoKZW5kCgoKCnJldHVybiBwcmV0dHkAQoDcBgvEngItLS0gVGhlIEhhbmRsZXIgVXRpbHMgbW9kdWxlIGlzIGEgbGlnaHR3ZWlnaHQgTHVhIHV0aWxpdHkgbGlicmFyeSBkZXNpZ25lZCB0byBwcm92aWRlIGNvbW1vbiBmdW5jdGlvbmFsaXRpZXMgZm9yIGhhbmRsaW5nIGFuZCBwcm9jZXNzaW5nIG1lc3NhZ2VzIHdpdGhpbiB0aGUgQU9TIGNvbXB1dGVyIHN5c3RlbS4gSXQgb2ZmZXJzIGEgc2V0IG9mIGZ1bmN0aW9ucyB0byBjaGVjayBtZXNzYWdlIGF0dHJpYnV0ZXMgYW5kIHNlbmQgcmVwbGllcywgc2ltcGxpZnlpbmcgdGhlIGRldmVsb3BtZW50IG9mIG1vcmUgY29tcGxleCBzY3JpcHRzIGFuZCBtb2R1bGVzLiBUaGlzIGRvY3VtZW50IHdpbGwgZ3VpZGUgeW91IHRocm91Z2ggdGhlIG1vZHVsZSdzIGZ1bmN0aW9uYWxpdGllcywgaW5zdGFsbGF0aW9uLCBhbmQgdXNhZ2UuIFJldHVybnMgdGhlIF91dGlscyB0YWJsZS4KCi0tIEBtb2R1bGUgaGFuZGxlcnMtdXRpbHMKCgoKLS0tIFRoZSBfdXRpbHMgdGFibGUKCi0tIEB0YWJsZSBfdXRpbHMKCi0tIEBmaWVsZCBfdmVyc2lvbiBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIF91dGlscyBtb2R1bGUKCi0tIEBmaWVsZCBoYXNNYXRjaGluZ1RhZyBUaGUgaGFzTWF0Y2hpbmdUYWcgZnVuY3Rpb24KCi0tIEBmaWVsZCBoYXNNYXRjaGluZ1RhZ09mIFRoZSBoYXNNYXRjaGluZ1RhZ09mIGZ1bmN0aW9uCgotLSBAZmllbGQgaGFzTWF0Y2hpbmdEYXRhIFRoZSBoYXNNYXRjaGluZ0RhdGEgZnVuY3Rpb24KCi0tIEBmaWVsZCByZXBseSBUaGUgcmVwbHkgZnVuY3Rpb24KCi0tIEBmaWVsZCBjb250aW51ZSBUaGUgY29udGludWUgZnVuY3Rpb24KCmxvY2FsIF91dGlscyA9IHsgX3ZlcnNpb24gPSAiMC4wLjIiIH0KCgoKbG9jYWwgXyA9IHJlcXVpcmUoJy51dGlscycpCgpsb2NhbCBhbyA9IHJlcXVpcmUoIi5hbyIpCgoKCi0tLSBDaGVja3MgaWYgYSBnaXZlbiBtZXNzYWdlIGhhcyBhIHRhZyB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBuYW1lIGFuZCB2YWx1ZS4KCi0tIEBmdW5jdGlvbiBoYXNNYXRjaGluZ1RhZwoKLS0gQHRwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSB0YWcgbmFtZSB0byBjaGVjawoKLS0gQHRwYXJhbSB7c3RyaW5nfSB2YWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2ggZm9yIGluIHRoZSB0YWcKCi0tIEB0cmV0dXJuIHtmdW5jdGlvbn0gQSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgbWVzc2FnZSBhbmQgcmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGEgdGFnIG1hdGNoICgtMSBpZiBtYXRjaGVzLCAwIG90aGVyd2lzZSkKCmZ1bmN0aW9uIF91dGlscy5oYXNNYXRjaGluZ1RhZyhuYW1lLCB2YWx1ZSkKCiAgYXNzZXJ0KHR5cGUobmFtZSkgPT0gJ3N0cmluZycgYW5kIHR5cGUodmFsdWUpID09ICdzdHJpbmcnLCAnaW52YWxpZCBhcmd1bWVudHM6IChuYW1lIDogc3RyaW5nLCB2YWx1ZSA6IHN0cmluZyknKQoKCgogIHJldHVybiBmdW5jdGlvbiAobXNnKQoKICAgIHJldHVybiBtc2cuVGFnc1tuYW1lXSA9PSB2YWx1ZQoKICBlbmQKCmVuZAoKCgotLS0gQ2hlY2tzIGlmIGEgZ2l2ZW4gbWVzc2FnZSBoYXMgYSB0YWcgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgbmFtZSBhbmQgb25lIG9mIHRoZSBzcGVjaWZpZWQgdmFsdWVzLgoKLS0gQGZ1bmN0aW9uIGhhc01hdGNoaW5nVGFnT2YKCi0tIEB0cGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgdGFnIG5hbWUgdG8gY2hlY2sKCi0tIEB0cGFyYW0ge3N0cmluZ1tdfSB2YWx1ZXMgVGhlIGxpc3Qgb2YgdmFsdWVzIG9mIHdoaWNoIG9uZSBzaG91bGQgbWF0Y2gKCi0tIEB0cmV0dXJuIHtmdW5jdGlvbn0gQSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgbWVzc2FnZSBhbmQgcmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGEgdGFnIG1hdGNoICgtMSBpZiBtYXRjaGVzLCAwIG90aGVyd2lzZSkKCmZ1bmN0aW9uIF91dGlscy5oYXNNYXRjaGluZ1RhZ09mKG5hbWUsIHZhbHVlcykKCiAgYXNzZXJ0KHR5cGUobmFtZSkgPT0gJ3N0cmluZycgYW5kIHR5cGUodmFsdWVzKSA9PSAndGFibGUnLCAnaW52YWxpZCBhcmd1bWVudHM6IChuYW1lIDogc3RyaW5nLCB2YWx1ZXMgOiBzdHJpbmdbXSknKQoKICByZXR1cm4gZnVuY3Rpb24gKG1zZykKCiAgICBmb3IgXywgdmFsdWUgaW4gaXBhaXJzKHZhbHVlcykgZG8KCiAgICAgIGxvY2FsIHBhdHRlcm5SZXN1bHQgPSBIYW5kbGVycy51dGlscy5oYXNNYXRjaGluZ1RhZyhuYW1lLCB2YWx1ZSkobXNnKQoKCgogICAgICBpZiBwYXR0ZXJuUmVzdWx0IH49IDAgYW5kIHBhdHRlcm5SZXN1bHQgfj0gZmFsc2UgYW5kIHBhdHRlcm5SZXN1bHQgfj0gInNraXAiIHRoZW4KCiAgICAgICAgcmV0dXJuIHBhdHRlcm5SZXN1bHQKCiAgICAgIGVuZAoKICAgIGVuZAoKCgogICAgcmV0dXJuIDAKCiAgZW5kCgplbmQKCgoKLS0tIENoZWNrcyBpZiBhIGdpdmVuIG1lc3NhZ2UgaGFzIGRhdGEgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgdmFsdWUuCgotLSBAZnVuY3Rpb24gaGFzTWF0Y2hpbmdEYXRhCgotLSBAdHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaCBhZ2FpbnN0IHRoZSBtZXNzYWdlIGRhdGEKCi0tIEB0cmV0dXJuIHtmdW5jdGlvbn0gQSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgbWVzc2FnZSBhbmQgcmV0dXJucyB3aGV0aGVyIHRoZSBkYXRhIG1hdGNoZXMgdGhlIHZhbHVlICgtMSBpZiBtYXRjaGVzLCAwIG90aGVyd2lzZSkKCmZ1bmN0aW9uIF91dGlscy5oYXNNYXRjaGluZ0RhdGEodmFsdWUpCgogIGFzc2VydCh0eXBlKHZhbHVlKSA9PSAnc3RyaW5nJywgJ2ludmFsaWQgYXJndW1lbnRzOiAodmFsdWUgOiBzdHJpbmcpJykKCiAgcmV0dXJuIGZ1bmN0aW9uIChtc2cpCgogICAgcmV0dXJuIG1zZy5EYXRhID09IHZhbHVlCgogIGVuZAoKZW5kCgoKCi0tLSBHaXZlbiBhbiBpbnB1dCwgcmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBtZXNzYWdlIGFuZCByZXBsaWVzIHRvIGl0LgoKLS0gQGZ1bmN0aW9uIHJlcGx5CgotLSBAdHBhcmFtIHt0YWJsZSB8IHN0cmluZ30gaW5wdXQgVGhlIGNvbnRlbnQgdG8gc2VuZCBiYWNrLiBJZiBhIHN0cmluZywgaXQgc2VuZHMgaXQgYXMgZGF0YS4gSWYgYSB0YWJsZSwgaXQgYXNzdW1lcyBhIHN0cnVjdHVyZSB3aXRoIGBUYWdzYC4KCi0tIEB0cmV0dXJuIHtmdW5jdGlvbn0gQSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgbWVzc2FnZSBhbmQgcmVwbGllcyB0byBpdAoKZnVuY3Rpb24gX3V0aWxzLnJlcGx5KGlucHV0KSAKCiAgYXNzZXJ0KHR5cGUoaW5wdXQpID09ICd0YWJsZScgb3IgdHlwZShpbnB1dCkgPT0gJ3N0cmluZycsICdpbnZhbGlkIGFyZ3VtZW50czogKGlucHV0IDogdGFibGUgb3Igc3RyaW5nKScpCgogIHJldHVybiBmdW5jdGlvbiAobXNnKQoKICAgIGlmIHR5cGUoaW5wdXQpID09ICdzdHJpbmcnIHRoZW4KCiAgICAgIG1zZy5yZXBseSh7IERhdGEgPSBpbnB1dCB9KQoKICAgICAgcmV0dXJuCgogICAgZW5kCgogICAgbXNnLnJlcGx5KGlucHV0KQoKICBlbmQKCmVuZAoKCgotLS0gSW52ZXJ0cyB0aGUgcHJvdmlkZWQgcGF0dGVybidzIHJlc3VsdCBpZiBpdCBtYXRjaGVzLCBzbyB0aGF0IGl0IGNvbnRpbnVlcyBleGVjdXRpb24gd2l0aCB0aGUgbmV4dCBtYXRjaGluZyBoYW5kbGVyLgoKLS0gQGZ1bmN0aW9uIGNvbnRpbnVlCgotLSBAdHBhcmFtIHt0YWJsZSB8IGZ1bmN0aW9ufSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIGNoZWNrIGZvciBpbiB0aGUgbWVzc2FnZQoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBGdW5jdGlvbiB0aGF0IGV4ZWN1dGVzIHRoZSBwYXR0ZXJuIG1hdGNoaW5nIGZ1bmN0aW9uIGFuZCByZXR1cm5zIGAxYCAoY29udGludWUpLCBzbyB0aGF0IHRoZSBleGVjdXRpb24gb2YgaGFuZGxlcnMgY29udGludWVzLgoKZnVuY3Rpb24gX3V0aWxzLmNvbnRpbnVlKHBhdHRlcm4pCgogIHJldHVybiBmdW5jdGlvbiAobXNnKQoKICAgIGxvY2FsIG1hdGNoID0gXy5tYXRjaGVzU3BlYyhtc2csIHBhdHRlcm4pCgoKCiAgICBpZiBub3QgbWF0Y2ggb3IgbWF0Y2ggPT0gMCBvciBtYXRjaCA9PSAic2tpcCIgdGhlbgoKICAgICAgcmV0dXJuIG1hdGNoCgogICAgZW5kCgogICAgcmV0dXJuIDEKCiAgZW5kCgplbmQKCgoKcmV0dXJuIF91dGlscwAAAAAAAABpZiBub3QgX0cucGFja2FnZS5sb2FkZWRbJ3dlYXZlZGInXSB0aGVuIF9HLnBhY2thZ2UubG9hZGVkWyd3ZWF2ZWRiJ10gPSByZXF1aXJlKCcud2VhdmVkYicpIGVuZAoKCgotLS0gVGhlIFByb2Nlc3MgbGlicmFyeSBwcm92aWRlcyBhbiBlbnZpcm9ubWVudCBmb3IgbWFuYWdpbmcgYW5kIGV4ZWN1dGluZyBwcm9jZXNzZXMgb24gdGhlIEFPIG5ldHdvcmsuIEl0IGluY2x1ZGVzIGNhcGFiaWxpdGllcyBmb3IgaGFuZGxpbmcgbWVzc2FnZXMsIHNwYXduaW5nIHByb2Nlc3NlcywgYW5kIGN1c3RvbWl6aW5nIHRoZSBlbnZpcm9ubWVudCB3aXRoIHByb2dyYW1tYWJsZSBsb2dpYyBhbmQgaGFuZGxlcnMuIFJldHVybnMgdGhlIHByb2Nlc3MgdGFibGUuCgotLSBAbW9kdWxlIHByb2Nlc3MKCgoKLS0gQGRlcGVuZGVuY2llcwoKbG9jYWwgcHJldHR5ID0gcmVxdWlyZSgnLnByZXR0eScpCgpsb2NhbCBiYXNlNjQgPSByZXF1aXJlKCcuYmFzZTY0JykKCmxvY2FsIGpzb24gPSByZXF1aXJlKCdqc29uJykKCmxvY2FsIGNoYW5jZSA9IHJlcXVpcmUoJy5jaGFuY2UnKQoKbG9jYWwgY3J5cHRvID0gcmVxdWlyZSgnLmNyeXB0by5pbml0JykKCmxvY2FsIGNvcm91dGluZSA9IHJlcXVpcmUoJ2Nvcm91dGluZScpCgotLSBzZXQgYWxpYXMgYW8gZm9yIC5hbyBsaWJyYXJ5CgppZiBub3QgX0cucGFja2FnZS5sb2FkZWRbJ2FvJ10gdGhlbiBfRy5wYWNrYWdlLmxvYWRlZFsnYW8nXSA9IHJlcXVpcmUoJy5hbycpIGVuZAoKCgpDb2xvcnMgPSB7CgogIHJlZCA9ICJcMjdbMzFtIiwKCiAgZ3JlZW4gPSAiXDI3WzMybSIsCgogIGJsdWUgPSAiXDI3WzM0bSIsCgogIHJlc2V0ID0gIlwyN1swbSIsCgogIGdyYXkgPSAiXDI3WzkwbSIKCn0KCgoKQmVsbCA9ICJceDA3IgoKCgpEdW1wID0gcmVxdWlyZSgnLmR1bXAnKQoKVXRpbHMgPSByZXF1aXJlKCcudXRpbHMnKQoKSGFuZGxlcnMgPSByZXF1aXJlKCcuaGFuZGxlcnMnKQoKbG9jYWwgc3RyaW5naWZ5ID0gcmVxdWlyZSgiLnN0cmluZ2lmeSIpCgpsb2NhbCBhc3NpZ25tZW50ID0gcmVxdWlyZSgnLmFzc2lnbm1lbnQnKQoKYW8gPSBuaWwKCmlmIF9HLnBhY2thZ2UubG9hZGVkWycuYW8nXSB0aGVuCgogIGFvID0gcmVxdWlyZSgnLmFvJykKCmVsc2VpZiBfRy5wYWNrYWdlLmxvYWRlZFsnYW8nXSB0aGVuCgogIGFvID0gcmVxdWlyZSgnYW8nKQoKZW5kCgotLSBJbXBsZW1lbnQgYXNzaWduYWJsZSBwb2x5ZmlsbHMgb24gX2FvCgphc3NpZ25tZW50LmluaXQoYW8pCgoKCi0tLSBUaGUgcHJvY2VzcyB0YWJsZQoKLS0gQHRhYmxlIHByb2Nlc3MKCi0tIEBmaWVsZCBfdmVyc2lvbiBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIHByb2Nlc3MKCgoKbG9jYWwgcHJvY2VzcyA9IHsgX3ZlcnNpb24gPSAiMi4wLjEiIH0KCi0tIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtZXNzYWdlcyB0byBzdG9yZSBpbiB0aGUgaW5ib3gKCmxvY2FsIG1heEluYm94Q291bnQgPSAxMDAwMAoKCgotLSB3cmFwIGFvLnNlbmQgYW5kIGFvLnNwYXduIGZvciBtYWdpYyB0YWJsZQoKbG9jYWwgYW9zZW5kID0gYW8uc2VuZAoKbG9jYWwgYW9zcGF3biA9IGFvLnNwYXduCgoKCmFvLnNlbmQgPSBmdW5jdGlvbiAobXNnKQoKICBpZiBtc2cuRGF0YSBhbmQgdHlwZShtc2cuRGF0YSkgPT0gJ3RhYmxlJyB0aGVuCgogICAgbXNnWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qc29uJwoKICAgIG1zZy5EYXRhID0gcmVxdWlyZSgnanNvbicpLmVuY29kZShtc2cuRGF0YSkKCiAgZW5kCgogIHJldHVybiBhb3NlbmQobXNnKQoKZW5kCgphby5zcGF3biA9IGZ1bmN0aW9uIChtb2R1bGUsIG1zZykgCgogIGlmIG1zZy5EYXRhIGFuZCB0eXBlKG1zZy5EYXRhKSA9PSAndGFibGUnIHRoZW4KCiAgICBtc2dbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzb24nCgogICAgbXNnLkRhdGEgPSByZXF1aXJlKCdqc29uJykuZW5jb2RlKG1zZy5EYXRhKQoKICBlbmQKCiAgcmV0dXJuIGFvc3Bhd24obW9kdWxlLCBtc2cpCgplbmQKCgoKLS0tIFJlbW92ZSB0aGUgbGFzdCB0aHJlZSBsaW5lcyBmcm9tIGEgc3RyaW5nCgotLSBAbGZ1bmN0aW9uIHJlbW92ZUxhc3RUaHJlZUxpbmVzCgotLSBAdHBhcmFtIHtzdHJpbmd9IGlucHV0IFRoZSBzdHJpbmcgdG8gcmVtb3ZlIHRoZSBsYXN0IHRocmVlIGxpbmVzIGZyb20KCi0tIEB0cmV0dXJuIHtzdHJpbmd9IFRoZSBzdHJpbmcgd2l0aCB0aGUgbGFzdCB0aHJlZSBsaW5lcyByZW1vdmVkCgpsb2NhbCBmdW5jdGlvbiByZW1vdmVMYXN0VGhyZWVMaW5lcyhpbnB1dCkKCiAgbG9jYWwgbGluZXMgPSB7fQoKICBmb3IgbGluZSBpbiBpbnB1dDpnbWF0Y2goIihbXlxuXSopXG4/IikgZG8KCiAgICAgIHRhYmxlLmluc2VydChsaW5lcywgbGluZSkKCiAgZW5kCgoKCiAgLS0gUmVtb3ZlIHRoZSBsYXN0IHRocmVlIGxpbmVzCgogIGZvciBpID0gMSwgMyBkbwoKICAgICAgdGFibGUucmVtb3ZlKGxpbmVzKQoKICBlbmQKCgoKICAtLSBDb25jYXRlbmF0ZSB0aGUgcmVtYWluaW5nIGxpbmVzCgogIHJldHVybiB0YWJsZS5jb25jYXQobGluZXMsICJcbiIpCgplbmQKCgoKLS0tIEluc2VydCBhIG1lc3NhZ2UgaW50byB0aGUgaW5ib3ggYW5kIG1hbmFnZSBvdmVyZmxvdwoKLS0gQGxmdW5jdGlvbiBpbnNlcnRJbmJveAoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSB0byBpbnNlcnQgaW50byB0aGUgaW5ib3gKCmxvY2FsIGZ1bmN0aW9uIGluc2VydEluYm94KG1zZykKCiAgdGFibGUuaW5zZXJ0KEluYm94LCBtc2cpCgogIGlmICNJbmJveCA+IG1heEluYm94Q291bnQgdGhlbgoKICAgIGxvY2FsIG92ZXJmbG93ID0gI0luYm94IC0gbWF4SW5ib3hDb3VudAoKICAgIGZvciBpID0gMSxvdmVyZmxvdyBkbwoKICAgICAgdGFibGUucmVtb3ZlKEluYm94LCAxKQoKICAgIGVuZAoKICBlbmQKCmVuZAoKCgotLS0gRmluZCBhbiBvYmplY3QgaW4gYW4gYXJyYXkgYnkgYSBnaXZlbiBrZXkgYW5kIHZhbHVlCgotLSBAbGZ1bmN0aW9uIGZpbmRPYmplY3QKCi0tIEB0cGFyYW0ge3RhYmxlfSBhcnJheSBUaGUgYXJyYXkgdG8gc2VhcmNoIHRocm91Z2gKCi0tIEB0cGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvcgoKLS0gQHRwYXJhbSB7YW55fSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvcgoKbG9jYWwgZnVuY3Rpb24gZmluZE9iamVjdChhcnJheSwga2V5LCB2YWx1ZSkKCiAgZm9yIGksIG9iamVjdCBpbiBpcGFpcnMoYXJyYXkpIGRvCgogICAgaWYgb2JqZWN0W2tleV0gPT0gdmFsdWUgdGhlbgoKICAgICAgcmV0dXJuIG9iamVjdAoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIG5pbAoKZW5kCgoKCi0tLSBDb252ZXJ0IGEgbWVzc2FnZSdzIHRhZ3MgdG8gYSB0YWJsZSBvZiBrZXktdmFsdWUgcGFpcnMKCi0tIEBmdW5jdGlvbiBUYWIKCi0tIEB0cGFyYW0ge3RhYmxlfSBtc2cgVGhlIG1lc3NhZ2UgY29udGFpbmluZyB0YWdzCgotLSBAdHJldHVybiB7dGFibGV9IEEgdGFibGUgd2l0aCB0YWcgbmFtZXMgYXMga2V5cyBhbmQgdGhlaXIgdmFsdWVzCgpmdW5jdGlvbiBUYWIobXNnKQoKICBsb2NhbCBpbnB1dHMgPSB7fQoKICBmb3IgXywgbyBpbiBpcGFpcnMobXNnLlRhZ3MpIGRvCgogICAgaWYgbm90IGlucHV0c1tvLm5hbWVdIHRoZW4KCiAgICAgIGlucHV0c1tvLm5hbWVdID0gby52YWx1ZQoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIGlucHV0cwoKZW5kCgoKCi0tLSBHZW5lcmF0ZSBhIHByb21wdCBzdHJpbmcgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MKCi0tIEBmdW5jdGlvbiBQcm9tcHQKCi0tIEB0cmV0dXJuIHtzdHJpbmd9IFRoZSBjdXN0b20gY29tbWFuZCBwcm9tcHQgc3RyaW5nCgpmdW5jdGlvbiBQcm9tcHQoKQoKICByZXR1cm4gQ29sb3JzLmdyZWVuIC4uIE5hbWUgLi4gQ29sb3JzLmdyYXkKCiAgICAuLiAiQCIgLi4gQ29sb3JzLmJsdWUgLi4gImFvcy0iIC4uIHByb2Nlc3MuX3ZlcnNpb24gLi4gQ29sb3JzLmdyYXkKCiAgICAuLiAiW0luYm94OiIgLi4gQ29sb3JzLnJlZCAuLiB0b3N0cmluZygjSW5ib3gpIC4uIENvbG9ycy5ncmF5CgogICAgLi4gIl0iIC4uIENvbG9ycy5yZXNldCAuLiAiPiAiCgplbmQKCgoKLS0tIFByaW50IGEgdmFsdWUsIGZvcm1hdHRpbmcgdGFibGVzIGFuZCBjb252ZXJ0aW5nIG5vbi1zdHJpbmcgdHlwZXMKCi0tIEBmdW5jdGlvbiBwcmludAoKLS0gQHRwYXJhbSB7YW55fSBhIFRoZSB2YWx1ZSB0byBwcmludAoKZnVuY3Rpb24gcHJpbnQoYSkKCiAgaWYgdHlwZShhKSA9PSAidGFibGUiIHRoZW4KCiAgICBhID0gc3RyaW5naWZ5LmZvcm1hdChhKQoKICBlbmQKCiAgLS1bWwoKSW4gb3JkZXIgdG8gcHJpbnQgbm9uIHN0cmluZyB0eXBlcyB3ZSBuZWVkIHRvIGNvbnZlcnQgdG8gc3RyaW5nCgogIF1dCgogIGlmIHR5cGUoYSkgPT0gImJvb2xlYW4iIHRoZW4KCiAgICBhID0gQ29sb3JzLmJsdWUgLi4gdG9zdHJpbmcoYSkgLi4gQ29sb3JzLnJlc2V0CgogIGVuZAoKICBpZiB0eXBlKGEpID09ICJuaWwiIHRoZW4KCiAgICBhID0gQ29sb3JzLnJlZCAuLiB0b3N0cmluZyhhKSAuLiBDb2xvcnMucmVzZXQKCiAgZW5kCgogIGlmIHR5cGUoYSkgPT0gIm51bWJlciIgdGhlbgoKICAgIGEgPSBDb2xvcnMuZ3JlZW4gLi4gdG9zdHJpbmcoYSkgLi4gQ29sb3JzLnJlc2V0CgogIGVuZAoKICAKCiAgbG9jYWwgZGF0YSA9IGEKCiAgaWYgYW8ub3V0Ym94Lk91dHB1dC5kYXRhIHRoZW4KCiAgICBkYXRhID0gIGFvLm91dGJveC5PdXRwdXQuZGF0YSAuLiAiXG4iIC4uIGEKCiAgZW5kCgogIGFvLm91dGJveC5PdXRwdXQgPSB7IGRhdGEgPSBkYXRhLCBwcm9tcHQgPSBQcm9tcHQoKSwgcHJpbnQgPSB0cnVlIH0KCgoKICAtLSBPbmx5IHN1cHBvcnRlZCBmb3IgbmV3ZXIgdmVyc2lvbiBvZiBBT1MKCiAgaWYgSEFORExFUl9QUklOVF9MT0dTIHRoZW4gCgogICAgdGFibGUuaW5zZXJ0KEhBTkRMRVJfUFJJTlRfTE9HUywgYSkKCiAgICByZXR1cm4gbmlsCgogIGVuZAoKCgogIHJldHVybiB0b3N0cmluZyhhKQoKZW5kCgoKCi0tLSBTZW5kIGEgbWVzc2FnZSB0byBhIHRhcmdldCBwcm9jZXNzCgotLSBAZnVuY3Rpb24gU2VuZAoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSB0byBzZW5kCgpmdW5jdGlvbiBTZW5kKG1zZykKCiAgaWYgbm90IG1zZy5UYXJnZXQgdGhlbgoKICAgIHByaW50KCJXQVJOOiBObyB0YXJnZXQgc3BlY2lmaWVkIGZvciBtZXNzYWdlLiBEYXRhIHdpbGwgYmUgc3RvcmVkLCBidXQgbm8gcHJvY2VzcyB3aWxsIHJlY2VpdmUgaXQuIikKCiAgZW5kCgogIGxvY2FsIHJlc3VsdCA9IGFvLnNlbmQobXNnKQoKICByZXR1cm4gewoKICAgIG91dHB1dCA9ICJNZXNzYWdlIGFkZGVkIHRvIG91dGJveCIsCgogICAgcmVjZWl2ZSA9IHJlc3VsdC5yZWNlaXZlLAoKICAgIG9uUmVwbHkgPSByZXN1bHQub25SZXBseQoKICB9CgplbmQKCgoKLS0tIFNwYXduIGEgbmV3IHByb2Nlc3MKCi0tIEBmdW5jdGlvbiBTcGF3bgoKLS0gQHRwYXJhbSB7Li4uYW55fSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgc3Bhd24gZnVuY3Rpb24KCmZ1bmN0aW9uIFNwYXduKC4uLikKCiAgbG9jYWwgbW9kdWxlLCBzcGF3bk1zZwoKCgogIGlmIHNlbGVjdCgiIyIsIC4uLikgPT0gMSB0aGVuCgogICAgc3Bhd25Nc2cgPSBzZWxlY3QoMSwgLi4uKQoKICAgIG1vZHVsZSA9IGFvLl9tb2R1bGUKCiAgZWxzZQoKICAgIG1vZHVsZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgc3Bhd25Nc2cgPSBzZWxlY3QoMiwgLi4uKQoKICBlbmQKCgoKICBpZiBub3Qgc3Bhd25Nc2cgdGhlbgoKICAgIHNwYXduTXNnID0ge30KCiAgZW5kCgogIGxvY2FsIHJlc3VsdCA9IGFvLnNwYXduKG1vZHVsZSwgc3Bhd25Nc2cpCgogIHJldHVybiB7CgogICAgb3V0cHV0ID0gIlNwYXduIHByb2Nlc3MgcmVxdWVzdCBhZGRlZCB0byBvdXRib3giLAoKICAgIGFmdGVyID0gcmVzdWx0LmFmdGVyLAoKICAgIHJlY2VpdmUgPSByZXN1bHQucmVjZWl2ZQoKICB9CgplbmQKCgoKLS0tIENhbGxzIEhhbmRsZXJzLnJlY2VpdmUgd2l0aCB0aGUgcHJvdmlkZWQgcGF0dGVybiBjcml0ZXJpYSwgYXdhaXRpbmcgYSBtZXNzYWdlIHRoYXQgbWF0Y2hlcyB0aGUgY3JpdGVyaWEuCgotLSBAZnVuY3Rpb24gUmVjZWl2ZQoKLS0gQHRwYXJhbSB7dGFibGV9IG1hdGNoIFRoZSBwYXR0ZXJuIGNyaXRlcmlhIGZvciB0aGUgbWVzc2FnZQoKLS0gQHRyZXR1cm4ge2FueX0gVGhlIHJlc3VsdCBvZiB0aGUgbWVzc2FnZSBoYW5kbGluZwoKZnVuY3Rpb24gUmVjZWl2ZShtYXRjaCkKCiAgcmV0dXJuIEhhbmRsZXJzLnJlY2VpdmUobWF0Y2gpCgplbmQKCgoKLS0tIEFzc2lnbnMgYmFzZWQgb24gdGhlIGFzc2lnbm1lbnQgcGFzc2VkLgoKLS0gQGZ1bmN0aW9uIEFzc2lnbgoKLS0gQHRwYXJhbSB7dGFibGV9IGFzc2lnbm1lbnQgVGhlIGFzc2lnbm1lbnQgdG8gYmUgbWFkZQoKZnVuY3Rpb24gQXNzaWduKGFzc2lnbm1lbnQpCgogIGlmIG5vdCBhby5hc3NpZ24gdGhlbgoKICAgIHByaW50KCJBc3NpZ24gaXMgbm90IGltcGxlbWVudGVkLiIpCgogICAgcmV0dXJuICJBc3NpZ24gaXMgbm90IGltcGxlbWVudGVkLiIKCiAgZW5kCgogIGFvLmFzc2lnbihhc3NpZ25tZW50KQoKICBwcmludCgiQXNzaWdubWVudCBhZGRlZCB0byBvdXRib3guIikKCiAgcmV0dXJuICdBc3NpZ25tZW50IGFkZGVkIHRvIG91dGJveC4nCgplbmQKCgoKU2VlZGVkID0gU2VlZGVkIG9yIGZhbHNlCgoKCi0tLSBDb252ZXJ0cyBhIHN0cmluZyB0byBhIHNlZWQgdmFsdWUKCi0tIEBsZnVuY3Rpb24gc3RyaW5nVG9TZWVkCgotLSBAdHBhcmFtIHtzdHJpbmd9IHMgVGhlIHN0cmluZyB0byBjb252ZXJ0IHRvIGEgc2VlZAoKLS0gQHRyZXR1cm4ge251bWJlcn0gVGhlIHNlZWQgdmFsdWUKCi0tIHRoaXMgaXMgYSB0ZW1wb3JhcnkgYXBwcm9hY2guLi4KCmxvY2FsIGZ1bmN0aW9uIHN0cmluZ1RvU2VlZChzKQoKICBsb2NhbCBzZWVkID0gMAoKICBmb3IgaSA9IDEsICNzIGRvCgogICAgICBsb2NhbCBjaGFyID0gc3RyaW5nLmJ5dGUocywgaSkKCiAgICAgIHNlZWQgPSBzZWVkICsgY2hhcgoKICBlbmQKCiAgcmV0dXJuIHNlZWQKCmVuZAoKCgotLS0gSW5pdGlhbGl6ZXMgb3IgdXBkYXRlcyB0aGUgc3RhdGUgb2YgdGhlIHByb2Nlc3MgYmFzZWQgb24gdGhlIGluY29taW5nIG1lc3NhZ2UgYW5kIGVudmlyb25tZW50LgoKLS0gQGxmdW5jdGlvbiBpbml0aWFsaXplU3RhdGUKCi0tIEB0cGFyYW0ge3RhYmxlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gaW5pdGlhbGl6ZSB0aGUgc3RhdGUgd2l0aAoKLS0gQHRwYXJhbSB7dGFibGV9IGVudiBUaGUgZW52aXJvbm1lbnQgdG8gaW5pdGlhbGl6ZSB0aGUgc3RhdGUgd2l0aAoKbG9jYWwgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXRlKG1zZywgZW52KQoKICBpZiBub3QgU2VlZGVkIHRoZW4KCiAgICBjaGFuY2Uuc2VlZCh0b251bWJlcihtc2dbJ0Jsb2NrLUhlaWdodCddIC4uIHN0cmluZ1RvU2VlZChtc2cuT3duZXIgLi4gbXNnLk1vZHVsZSAuLiBtc2cuSWQpKSkKCiAgICBtYXRoLnJhbmRvbSA9IGZ1bmN0aW9uICguLi4pCgogICAgICBsb2NhbCBhcmdzID0gey4uLn0KCiAgICAgIGxvY2FsIG4gPSAjYXJncwoKICAgICAgaWYgbiA9PSAwIHRoZW4KCiAgICAgICAgcmV0dXJuIGNoYW5jZS5yYW5kb20oKQoKICAgICAgZW5kCgogICAgICBpZiBuID09IDEgdGhlbgoKICAgICAgICByZXR1cm4gY2hhbmNlLmludGVnZXIoMSwgYXJnc1sxXSkKCiAgICAgIGVuZAoKICAgICAgaWYgbiA9PSAyIHRoZW4KCiAgICAgICAgcmV0dXJuIGNoYW5jZS5pbnRlZ2VyKGFyZ3NbMV0sIGFyZ3NbMl0pCgogICAgICBlbmQKCiAgICAgIHJldHVybiBjaGFuY2UucmFuZG9tKCkKCiAgICBlbmQKCiAgICBTZWVkZWQgPSB0cnVlCgogIGVuZAoKICBFcnJvcnMgPSBFcnJvcnMgb3Ige30KCiAgSW5ib3ggPSBJbmJveCBvciB7fQoKCgogIC0tIHRlbXBvcmFyeSBmaXggZm9yIFNwYXduCgogIGlmIG5vdCBPd25lciB0aGVuCgogICAgbG9jYWwgX2Zyb20gPSBmaW5kT2JqZWN0KGVudi5Qcm9jZXNzLlRhZ3MsICJuYW1lIiwgIkZyb20tUHJvY2VzcyIpCgogICAgaWYgX2Zyb20gdGhlbgoKICAgICAgT3duZXIgPSBfZnJvbS52YWx1ZQoKICAgIGVsc2UKCiAgICAgIE93bmVyID0gbXNnLkZyb20KCiAgICBlbmQKCiAgZW5kCgoKCiAgaWYgbm90IE5hbWUgdGhlbgoKICAgIGxvY2FsIGFvc05hbWUgPSBmaW5kT2JqZWN0KGVudi5Qcm9jZXNzLlRhZ3MsICJuYW1lIiwgIk5hbWUiKQoKICAgIGlmIGFvc05hbWUgdGhlbgoKICAgICAgTmFtZSA9IGFvc05hbWUudmFsdWUKCiAgICBlbHNlCgogICAgICBOYW1lID0gJ2FvcycKCiAgICBlbmQKCiAgZW5kCgoKCmVuZAoKCgotLS0gUHJpbnRzIHRoZSB2ZXJzaW9uIG9mIHRoZSBwcm9jZXNzCgotLSBAZnVuY3Rpb24gVmVyc2lvbgoKZnVuY3Rpb24gVmVyc2lvbigpCgogIHByaW50KCJ2ZXJzaW9uOiAiIC4uIHByb2Nlc3MuX3ZlcnNpb24pCgplbmQKCgoKLS0tIE1haW4gaGFuZGxlciBmb3IgcHJvY2Vzc2luZyBpbmNvbWluZyBtZXNzYWdlcy4gSXQgaW5pdGlhbGl6ZXMgdGhlIHN0YXRlLCBwcm9jZXNzZXMgY29tbWFuZHMsIGFuZCBoYW5kbGVzIG1lc3NhZ2UgZXZhbHVhdGlvbiBhbmQgaW5ib3ggbWFuYWdlbWVudC4KCi0tIEBmdW5jdGlvbiBoYW5kbGUKCi0tIEB0cGFyYW0ge3RhYmxlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gaGFuZGxlCgotLSBAdHBhcmFtIHt0YWJsZX0gXyBUaGUgZW52aXJvbm1lbnQgdG8gaGFuZGxlIHRoZSBtZXNzYWdlIGluCgpmdW5jdGlvbiBwcm9jZXNzLmhhbmRsZShtc2csIF8pCgogIGxvY2FsIGVudiA9IG5pbAoKICBpZiBfLlByb2Nlc3MgdGhlbgoKICAgIGVudiA9IF8KCiAgZWxzZQoKICAgIGVudiA9IF8uZW52CgogIGVuZAoKICAKCiAgYW8uaW5pdChlbnYpCgogIC0tIHJlbG9jYXRlIGN1c3RvbSB0YWdzIHRvIHJvb3QgbWVzc2FnZQoKICBtc2cgPSBhby5ub3JtYWxpemUobXNnKQoKICAtLSBzZXQgcHJvY2VzcyBpZAoKICBhby5pZCA9IGFvLmVudi5Qcm9jZXNzLklkCgogIGluaXRpYWxpemVTdGF0ZShtc2csIGFvLmVudikKCiAgSEFORExFUl9QUklOVF9MT0dTID0ge30KCiAgCgogIC0tIHNldCBvcy50aW1lIHRvIHJldHVybiBtc2cuVGltZXN0YW1wCgogIG9zLnRpbWUgPSBmdW5jdGlvbiAoKSByZXR1cm4gbXNnLlRpbWVzdGFtcCBlbmQKCgoKICAtLSB0YWdpZnkgbXNnCgogIG1zZy5UYWdBcnJheSA9IG1zZy5UYWdzCgogIG1zZy5UYWdzID0gVGFiKG1zZykKCiAgLS0gdGFnaWZ5IFByb2Nlc3MKCiAgYW8uZW52LlByb2Nlc3MuVGFnQXJyYXkgPSBhby5lbnYuUHJvY2Vzcy5UYWdzCgogIGFvLmVudi5Qcm9jZXNzLlRhZ3MgPSBUYWIoYW8uZW52LlByb2Nlc3MpCgogIC0tIG1hZ2ljIHRhYmxlIC0gaWYgQ29udGVudC1UeXBlID09IGFwcGxpY2F0aW9uL2pzb24gLSBkZWNvZGUgbXNnLkRhdGEgdG8gYSBUYWJsZQoKICBpZiBtc2cuVGFnc1snQ29udGVudC1UeXBlJ10gYW5kIG1zZy5UYWdzWydDb250ZW50LVR5cGUnXSA9PSAnYXBwbGljYXRpb24vanNvbicgdGhlbgoKICAgIG1zZy5EYXRhID0gcmVxdWlyZSgnanNvbicpLmRlY29kZShtc2cuRGF0YSBvciAie30iKQoKICBlbmQKCiAgLS0gaW5pdCBFcnJvcnMKCiAgRXJyb3JzID0gRXJyb3JzIG9yIHt9CgogIC0tIGNsZWFyIE91dGJveAoKICBhby5jbGVhck91dGJveCgpCgoKCiAgLS0gT25seSB0cnVzdCBtZXNzYWdlcyBmcm9tIGEgc2lnbmVkIG93bmVyIG9yIGFuIEF1dGhvcml0eQoKICBpZiBtc2cuRnJvbSB+PSBtc2cuT3duZXIgYW5kIG5vdCBhby5pc1RydXN0ZWQobXNnKSB0aGVuCgogICAgaWYgbXNnLkZyb20gfj0gYW8uaWQgdGhlbgoKICAgICAgU2VuZCh7VGFyZ2V0ID0gbXNnLkZyb20sIERhdGEgPSAiTWVzc2FnZSBpcyBub3QgdHJ1c3RlZCBieSB0aGlzIHByb2Nlc3MhIn0pCgogICAgZW5kCgogICAgcHJpbnQoJ01lc3NhZ2UgaXMgbm90IHRydXN0ZWQhIEZyb206ICcgLi4gbXNnLkZyb20gLi4gJyAtIE93bmVyOiAnIC4uIG1zZy5Pd25lcikKCiAgICByZXR1cm4gYW8ucmVzdWx0KHsgfSkgCgogIGVuZAoKCgogIGlmIGFvLmlzQXNzaWdubWVudChtc2cpIGFuZCBub3QgYW8uaXNBc3NpZ25hYmxlKG1zZykgdGhlbgoKICAgIGlmIG1zZy5Gcm9tIH49IGFvLmlkIHRoZW4KCiAgICAgIFNlbmQoe1RhcmdldCA9IG1zZy5Gcm9tLCBEYXRhID0gIkFzc2lnbm1lbnQgaXMgbm90IHRydXN0ZWQgYnkgdGhpcyBwcm9jZXNzISJ9KQoKICAgIGVuZAoKICAgIHByaW50KCdBc3NpZ25tZW50IGlzIG5vdCB0cnVzdGVkISBGcm9tOiAnIC4uIG1zZy5Gcm9tIC4uICcgLSBPd25lcjogJyAuLiBtc2cuT3duZXIpCgogICAgcmV0dXJuIGFvLnJlc3VsdCh7IH0pCgogIGVuZAoKCgogIEhhbmRsZXJzLmFkZCgiX2V2YWwiLAoKICAgIGZ1bmN0aW9uIChtc2cpCgogICAgICByZXR1cm4gbXNnLkFjdGlvbiA9PSAiRXZhbCIgYW5kIE93bmVyID09IG1zZy5Gcm9tCgogICAgZW5kLAoKICAgIHJlcXVpcmUoJy5ldmFsJykoYW8pCgogICkKCgoKICAtLSBBZGRlZCBmb3IgYW9wNiBib290IGxvYWRlcgoKICAtLSBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9wZXJtYXdlYi9hb3MvaXNzdWVzLzM0MgoKICBIYW5kbGVycy5vbmNlKCJfYm9vdCIsCgogICAgZnVuY3Rpb24gKG1zZykKCiAgICAgIHJldHVybiBtc2cuVGFncy5UeXBlID09ICJQcm9jZXNzIiBhbmQgT3duZXIgPT0gbXNnLkZyb20gCgogICAgZW5kLAoKICAgIHJlcXVpcmUoJy5ib290JykoYW8pCgogICkKCgoKICBIYW5kbGVycy5hcHBlbmQoIl9kZWZhdWx0IiwgZnVuY3Rpb24gKCkgcmV0dXJuIHRydWUgZW5kLCByZXF1aXJlKCcuZGVmYXVsdCcpKGluc2VydEluYm94KSkKCgoKICAtLSBjYWxsIGV2YWx1YXRlIGZyb20gaGFuZGxlcnMgcGFzc2luZyBlbnYKCiAgbXNnLnJlcGx5ID0KCiAgICBmdW5jdGlvbihyZXBseU1zZykKCiAgICAgIHJlcGx5TXNnLlRhcmdldCA9IG1zZ1siUmVwbHktVG8iXSBvciAocmVwbHlNc2cuVGFyZ2V0IG9yIG1zZy5Gcm9tKQoKICAgICAgcmVwbHlNc2dbIlgtUmVmZXJlbmNlIl0gPSBtc2dbIlgtUmVmZXJlbmNlIl0gb3IgbXNnLlJlZmVyZW5jZQoKICAgICAgcmVwbHlNc2dbIlgtT3JpZ2luIl0gPSBtc2dbIlgtT3JpZ2luIl0gb3IgbmlsCgoKCiAgICAgIHJldHVybiBhby5zZW5kKHJlcGx5TXNnKQoKICAgIGVuZAoKICAKCiAgbXNnLmZvcndhcmQgPQoKICAgIGZ1bmN0aW9uKHRhcmdldCwgZm9yd2FyZE1zZykKCiAgICAgIC0tIENsb25lIHRoZSBtZXNzYWdlIGFuZCBhZGQgZm9yd2FyZE1zZyB0YWdzCgogICAgICBsb2NhbCBuZXdNc2cgPSAgYW8uc2FuaXRpemUobXNnKQoKICAgICAgZm9yd2FyZE1zZyA9IGZvcndhcmRNc2cgb3Ige30KCgoKICAgICAgZm9yIGssdiBpbiBwYWlycyhmb3J3YXJkTXNnKSBkbwoKICAgICAgICBuZXdNc2dba10gPSB2CgogICAgICBlbmQKCgoKICAgICAgLS0gU2V0IGZvcndhcmQtc3BlY2lmaWMgdGFncwoKICAgICAgbmV3TXNnLlRhcmdldCA9IHRhcmdldAoKICAgICAgbmV3TXNnWyJSZXBseS1UbyJdID0gbXNnWyJSZXBseS1UbyJdIG9yIG1zZy5Gcm9tCgogICAgICBuZXdNc2dbIlgtUmVmZXJlbmNlIl0gPSBtc2dbIlgtUmVmZXJlbmNlIl0gb3IgbXNnLlJlZmVyZW5jZQoKICAgICAgbmV3TXNnWyJYLU9yaWdpbiJdID0gbXNnWyJYLU9yaWdpbiJdIG9yIG1zZy5Gcm9tCgogICAgICAtLSBjbGVhciBmdW5jdGlvbnMKCiAgICAgIG5ld01zZy5yZXBseSA9IG5pbAoKICAgICAgbmV3TXNnLmZvcndhcmQgPSBuaWwgCgogICAgICAKCiAgICAgIGFvLnNlbmQobmV3TXNnKQoKICAgIGVuZAoKCgogIGxvY2FsIGNvID0gY29yb3V0aW5lLmNyZWF0ZSgKCiAgICBmdW5jdGlvbigpCgogICAgICByZXR1cm4gcGNhbGwoSGFuZGxlcnMuZXZhbHVhdGUsIG1zZywgZW52KQoKICAgIGVuZAoKICApCgogIGxvY2FsIF8sIHN0YXR1cywgcmVzdWx0ID0gY29yb3V0aW5lLnJlc3VtZShjbykKCgoKICAtLSBNYWtlIHN1cmUgd2UgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgY29yb3V0aW5lIGlmIGl0IHdpbGwgd2FrZSB1cC4KCiAgLS0gU2ltdWx0YW5lb3VzbHksIHBydW5lIGFueSBkZWFkIGNvcm91dGluZXMgc28gdGhhdCB0aGV5IGNhbiBiZQoKICAtLSBmcmVlZCBieSB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IuCgogIHRhYmxlLmluc2VydChIYW5kbGVycy5jb3JvdXRpbmVzLCBjbykKCiAgZm9yIGksIHggaW4gaXBhaXJzKEhhbmRsZXJzLmNvcm91dGluZXMpIGRvCgogICAgaWYgY29yb3V0aW5lLnN0YXR1cyh4KSA9PSAiZGVhZCIgdGhlbgoKICAgICAgdGFibGUucmVtb3ZlKEhhbmRsZXJzLmNvcm91dGluZXMsIGkpCgogICAgZW5kCgogIGVuZAoKCgogIGlmIG5vdCBzdGF0dXMgdGhlbgoKICAgIGlmIChtc2cuQWN0aW9uID09ICJFdmFsIikgdGhlbgoKICAgICAgdGFibGUuaW5zZXJ0KEVycm9ycywgcmVzdWx0KQoKICAgICAgbG9jYWwgcHJpbnREYXRhID0gdGFibGUuY29uY2F0KEhBTkRMRVJfUFJJTlRfTE9HUywgIlxuIikKCiAgICAgIHJldHVybiB7IEVycm9yID0gcHJpbnREYXRhIC4uICdcblxuJyAuLiBDb2xvcnMucmVkIC4uICdlcnJvcjpcbicgLi4gQ29sb3JzLnJlc2V0IC4uIHJlc3VsdCB9CgogICAgZW5kIAoKICAgIC0tdGFibGUuaW5zZXJ0KEVycm9ycywgcmVzdWx0KQoKICAgIC0tYW8ub3V0Ym94Lk91dHB1dC5kYXRhID0gIiIKCiAgICBpZiBtc2cuQWN0aW9uIHRoZW4KCiAgICAgIHByaW50KENvbG9ycy5yZWQgLi4gIkVycm9yIiAuLiBDb2xvcnMuZ3JheSAuLiAiIGhhbmRsaW5nIG1lc3NhZ2Ugd2l0aCBBY3Rpb24gPSAiIC4uIG1zZy5BY3Rpb24gIC4uIENvbG9ycy5yZXNldCkKCiAgICBlbHNlCgogICAgICBwcmludChDb2xvcnMucmVkIC4uICJFcnJvciIgLi4gQ29sb3JzLmdyYXkgLi4gIiBoYW5kbGluZyBtZXNzYWdlICIgLi4gQ29sb3JzLnJlc2V0KQoKICAgIGVuZAoKICAgIHByaW50KENvbG9ycy5ncmVlbiAuLiByZXN1bHQgLi4gQ29sb3JzLnJlc2V0KQoKICAgIHByaW50KCJcbiIgLi4gQ29sb3JzLmdyYXkgLi4gcmVtb3ZlTGFzdFRocmVlTGluZXMoZGVidWcudHJhY2ViYWNrKCkpIC4uIENvbG9ycy5yZXNldCkKCiAgICBsb2NhbCBwcmludERhdGEgPSB0YWJsZS5jb25jYXQoSEFORExFUl9QUklOVF9MT0dTLCAiXG4iKQoKICAgIHJldHVybiBhby5yZXN1bHQoe0Vycm9yID0gcHJpbnREYXRhIC4uICdcblxuJyAuLiBDb2xvcnMucmVkIC4uICdlcnJvcjpcbicgLi4gQ29sb3JzLnJlc2V0IC4uIHJlc3VsdCwgTWVzc2FnZXMgPSB7fSwgU3Bhd25zID0ge30sIEFzc2lnbm1lbnRzID0ge30gfSkKCiAgZW5kCgogIAoKICBpZiBtc2cuQWN0aW9uID09ICJFdmFsIiB0aGVuCgogICAgbG9jYWwgcmVzcG9uc2UgPSBhby5yZXN1bHQoeyAKCiAgICAgIE91dHB1dCA9IHsKCiAgICAgICAgZGF0YSA9IHRhYmxlLmNvbmNhdChIQU5ETEVSX1BSSU5UX0xPR1MsICJcbiIpLAoKICAgICAgICBwcm9tcHQgPSBQcm9tcHQoKSwKCiAgICAgICAgdGVzdCA9IER1bXAoSEFORExFUl9QUklOVF9MT0dTKQoKICAgICAgfQoKICAgIH0pCgogICAgSEFORExFUl9QUklOVF9MT0dTID0ge30gLS0gY2xlYXIgbG9ncwoKICAgIHJldHVybiByZXNwb25zZQoKICBlbHNlaWYgbXNnLlRhZ3MuVHlwZSA9PSAiUHJvY2VzcyIgYW5kIE93bmVyID09IG1zZy5Gcm9tIHRoZW4gCgogICAgbG9jYWwgcmVzcG9uc2UgPSBhby5yZXN1bHQoeyAKCiAgICAgIE91dHB1dCA9IHsKCiAgICAgICAgZGF0YSA9IHRhYmxlLmNvbmNhdChIQU5ETEVSX1BSSU5UX0xPR1MsICJcbiIpLAoKICAgICAgICBwcm9tcHQgPSBQcm9tcHQoKSwKCiAgICAgICAgcHJpbnQgPSB0cnVlCgogICAgICB9CgogICAgfSkKCiAgICBIQU5ETEVSX1BSSU5UX0xPR1MgPSB7fSAtLSBjbGVhciBsb2dzCgogICAgcmV0dXJuIHJlc3BvbnNlCgoKCiAgICAtLSBsb2NhbCByZXNwb25zZSA9IG5pbAoKICAKCiAgICAtLSAtLSBkZXRlY3QgaWYgdGhlcmUgd2FzIGFueSBvdXRwdXQgZnJvbSB0aGUgYm9vdCBsb2FkZXIgY2FsbAoKICAgIC0tIGZvciBfLCB2YWx1ZSBpbiBwYWlycyhIQU5ETEVSX1BSSU5UX0xPR1MpIGRvCgogICAgLS0gICBpZiB2YWx1ZSB+PSAiIiB0aGVuCgogICAgLS0gICAgIC0tIHRoZXJlIHdhcyBvdXRwdXQgZnJvbSB0aGUgQm9vdCBMb2FkZXIgZXZhbCBzbyB3ZSB3YW50IHRvIHByaW50IGl0CgogICAgLS0gICAgIHJlc3BvbnNlID0gYW8ucmVzdWx0KHsgT3V0cHV0ID0geyBkYXRhID0gdGFibGUuY29uY2F0KEhBTkRMRVJfUFJJTlRfTE9HUywgIlxuIiksIHByb21wdCA9IFByb21wdCgpLCBwcmludCA9IHRydWUgfSB9KQoKICAgIC0tICAgICBicmVhawoKICAgIC0tICAgZW5kCgogICAgLS0gZW5kCgogIAoKICAgIC0tIGlmIHJlc3BvbnNlID09IG5pbCB0aGVuIAoKICAgIC0tICAgLS0gdGhlcmUgd2FzIG5vIG91dHB1dCBmcm9tIHRoZSBCb290IExvYWRlciBldmFsLCBzbyB3ZSBzaG91bGRuJ3QgcHJpbnQgaXQKCiAgICAtLSAgIHJlc3BvbnNlID0gYW8ucmVzdWx0KHsgT3V0cHV0ID0geyBkYXRhID0gIiIsIHByb21wdCA9IFByb21wdCgpIH0gfSkKCiAgICAtLSBlbmQKCgoKICAgIC0tIEhBTkRMRVJfUFJJTlRfTE9HUyA9IHt9IC0tIGNsZWFyIGxvZ3MKCiAgICAtLSByZXR1cm4gcmVzcG9uc2UKCiAgZWxzZQoKICAgIGxvY2FsIHJlc3BvbnNlID0gYW8ucmVzdWx0KHsgT3V0cHV0ID0geyBkYXRhID0gdGFibGUuY29uY2F0KEhBTkRMRVJfUFJJTlRfTE9HUywgIlxuIiksIHByb21wdCA9IFByb21wdCgpLCBwcmludCA9IHRydWUgfSB9KQoKICAgIEhBTkRMRVJfUFJJTlRfTE9HUyA9IHt9IC0tIGNsZWFyIGxvZ3MKCiAgICByZXR1cm4gcmVzcG9uc2UKCiAgZW5kCgplbmQKCgoKcmV0dXJuIHByb2Nlc3MKAAAAAAAAbG9jYWwgd2VhdmVkYiA9IHsgX3ZlcnNpb24gPSAiMC4wLjEiIH0KCgoKbG9jYWwgZGF0YSA9IHt9Cgpsb2NhbCBjb3VudCA9IDAKCgoKbG9jYWwgZnVuY3Rpb24gaXNfbmlsKHYpIHJldHVybiB2ID09IG5pbCBlbmQKCmxvY2FsIGZ1bmN0aW9uIGlzX251bWJlcih2KSByZXR1cm4gdHlwZSh2KSA9PSAibnVtYmVyIiBlbmQKCmxvY2FsIGZ1bmN0aW9uIGlzX3N0cmluZyh2KSByZXR1cm4gdHlwZSh2KSA9PSAic3RyaW5nIiBlbmQKCmxvY2FsIGZ1bmN0aW9uIGlzX3RhYmxlKHYpIHJldHVybiB0eXBlKHYpID09ICJ0YWJsZSIgZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGluY2x1ZGVzKGl0ZW0sIGxpc3QpCgogIGlmIHR5cGUobGlzdCkgfj0gInRhYmxlIiB0aGVuIHJldHVybiBmYWxzZSBlbmQKCiAgZm9yIF8sIHYgaW4gaXBhaXJzKGxpc3QpIGRvIGlmIHYgPT0gaXRlbSB0aGVuIHJldHVybiB0cnVlIGVuZCBlbmQKCiAgICByZXR1cm4gZmFsc2UKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBjbG9uZSh0KQoKICBpZiB0eXBlKHQpIH49ICJ0YWJsZSIgdGhlbiByZXR1cm4gdCBlbmQKCiAgbG9jYWwgcmVzdWx0ID0ge30KCiAgZm9yIGssIHYgaW4gcGFpcnModCkgZG8gcmVzdWx0W2tdID0gdHlwZSh2KSA9PSAidGFibGUiIGFuZCBjbG9uZSh2KSBvciB2IGVuZAoKICByZXR1cm4gcmVzdWx0CgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gc3BsaXRfd2hlbihwcmVkLCBxdWVyeSkKCiAgbG9jYWwgcGF0aCA9IHt9CgogIGxvY2FsIG9wdCA9IHt9CgogIGxvY2FsIHNwbGl0X2luZGV4ID0gbmlsCgogIGZvciBpLCB2IGluIGlwYWlycyhxdWVyeSkgZG8KCiAgICBpZiBub3QgaXNfc3RyaW5nKHYpIGFuZCBub3Qgc3BsaXRfaW5kZXggdGhlbiBzcGxpdF9pbmRleCA9IGkgYnJlYWsgZW5kCgogIGVuZAoKICBpZiBzcGxpdF9pbmRleCB0aGVuCgogICAgZm9yIGkgPSAxLCBzcGxpdF9pbmRleCAtIDEgZG8gdGFibGUuaW5zZXJ0KHBhdGgsIHF1ZXJ5W2ldKSBlbmQKCiAgICBmb3IgaSA9IHNwbGl0X2luZGV4LCAjcXVlcnkgZG8gdGFibGUuaW5zZXJ0KG9wdCwgcXVlcnlbaV0pIGVuZAoKICBlbHNlCgogICAgcGF0aCA9IHF1ZXJ5CgogIGVuZAoKICByZXR1cm4gcGF0aCwgb3B0CgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gX3BhcnNlcihxdWVyeSkKCiAgbG9jYWwgcGF0aCwgb3B0ID0gc3BsaXRfd2hlbihmdW5jdGlvbih2KSByZXR1cm4gbm90IGlzX3N0cmluZyh2KSBlbmQsIHF1ZXJ5KQoKICBpZiBpc19uaWwocGF0aCkgb3IgI3BhdGggPT0gMCB0aGVuIHJldHVybiBuaWwgZW5kCgogIGlmIG5vdCBpc190YWJsZShvcHQpIHRoZW4gcmV0dXJuIG5pbCBlbmQKCiAgCgogIGxvY2FsIHEgPSB7IHBhdGggPSBwYXRoIH0KCiAgbG9jYWwgX2ZpbHRlciA9IHsgWyI9PSJdID0ge30gfQoKICBsb2NhbCBfa2V5cyA9IHt9CgogIGxvY2FsIF9yYW5nZXMgPSB7fQoKICBsb2NhbCBfcmFuZ2VfZmllbGQgPSBuaWwKCiAgbG9jYWwgX3NvcnQgPSBuaWwKCiAgbG9jYWwgX3N0YXJ0QXQgPSBuaWwKCiAgbG9jYWwgX3N0YXJ0QWZ0ZXIgPSBuaWwKCiAgbG9jYWwgX2VuZEF0ID0gbmlsCgogIGxvY2FsIF9lbmRCZWZvcmUgPSBuaWwKCiAgbG9jYWwgX3N0YXJ0QXRDdXJzb3IgPSBuaWwKCiAgbG9jYWwgX3N0YXJ0QWZ0ZXJDdXJzb3IgPSBuaWwKCiAgbG9jYWwgX2VuZEF0Q3Vyc29yID0gbmlsCgogIGxvY2FsIF9lbmRCZWZvcmVDdXJzb3IgPSBuaWwKCgoKICBmb3IgXywgdiBpbiBpcGFpcnMoY2xvbmUob3B0KSkgZG8KCiAgICBpZiBpc19udW1iZXIodikgdGhlbgoKICAgICAgaWYgaXNfbmlsKHEubGltaXQpIHRoZW4KCiAgICAgICAgaWYgdiA+IDEwMDAgdGhlbiByZXR1cm4gbmlsIGVuZAoKICAgICAgICBpZiB2IH49IG1hdGguZmxvb3IobWF0aC5hYnModikpIG9yIHYgPCAxIHRoZW4gcmV0dXJuIG5pbCBlbmQKCiAgICAgICAgcS5saW1pdCA9IHYKCiAgICAgIGVsc2UKCiAgICAgICAgcmV0dXJuIG5pbAoKICAgICAgZW5kCgogICAgZWxzZWlmIG5vdCBpc190YWJsZSh2KSB0aGVuCgogICAgICByZXR1cm4gbmlsCgogICAgZWxzZQoKICAgICAgaWYgI3YgPT0gMCB0aGVuCgogICAgICAgIHJldHVybiBuaWwKCiAgICAgIGVsc2VpZiB2WzFdID09ICJzdGFydEF0IiB0aGVuCgogICAgICAgIGlmIG5vdCBpc19uaWwoX3N0YXJ0QXQpIG9yIG5vdCBpc19uaWwoX3N0YXJ0QWZ0ZXIpIG9yCgoJICBub3QgaXNfbmlsKF9zdGFydEF0Q3Vyc29yKSBvciBub3QgaXNfbmlsKF9zdGFydEFmdGVyQ3Vyc29yKSB0aGVuCgogICAgICAgICAgcmV0dXJuIG5pbAoKICAgICAgICBlbHNlaWYgI3YgPD0gMSB0aGVuCgogICAgICAgICAgcmV0dXJuIG5pbAoKICAgICAgICBlbHNlCgogICAgICAgICAgaWYgdHlwZSh2WzJdKSA9PSAidGFibGUiIGFuZCB2WzJdLl9fY3Vyc29yX18gdGhlbgoKICAgICAgICAgICAgX3N0YXJ0QXRDdXJzb3IgPSB2CgogICAgICAgICAgICBfc3RhcnRBdEN1cnNvclsyXS5kYXRhLl9faWRfXyA9IF9zdGFydEF0Q3Vyc29yWzJdLmlkCgogICAgICAgICAgZWxzZQoKICAgICAgICAgICAgX3N0YXJ0QXQgPSB2CgogICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgICAgZWxzZWlmIHZbMV0gPT0gInN0YXJ0QWZ0ZXIiIHRoZW4KCiAgICAgICAgaWYgbm90IGlzX25pbChfc3RhcnRBdCkgb3Igbm90IGlzX25pbChfc3RhcnRBZnRlcikgb3IKCgkgIG5vdCBpc19uaWwoX3N0YXJ0QXRDdXJzb3IpIG9yIG5vdCBpc19uaWwoX3N0YXJ0QWZ0ZXJDdXJzb3IpIHRoZW4KCiAgICAgICAgICByZXR1cm4gbmlsCgogICAgICAgIGVsc2VpZiAjdiA8PSAxIHRoZW4KCiAgICAgICAgICByZXR1cm4gbmlsCgogICAgICAgIGVsc2UKCiAgICAgICAgICBpZiB0eXBlKHZbMl0pID09ICJ0YWJsZSIgYW5kIHZbMl0uX19jdXJzb3JfXyB0aGVuCgogICAgICAgICAgICBfc3RhcnRBZnRlckN1cnNvciA9IHYKCiAgICAgICAgICAgIF9zdGFydEFmdGVyQ3Vyc29yWzJdLmRhdGEuX19pZF9fID0gX3N0YXJ0QWZ0ZXJDdXJzb3JbMl0uaWQKCiAgICAgICAgICBlbHNlCgogICAgICAgICAgICBfc3RhcnRBZnRlciA9IHYKCiAgICAgICAgICBlbmQKCiAgICAgICAgZW5kCgogICAgICBlbHNlaWYgdlsxXSA9PSAiZW5kQXQiIHRoZW4KCiAgICAgICAgaWYgbm90IGlzX25pbChfZW5kQXQpIG9yIG5vdCBpc19uaWwoX2VuZEJlZm9yZSkgb3IKCgkgIG5vdCBpc19uaWwoX2VuZEF0Q3Vyc29yKSBvciBub3QgaXNfbmlsKF9lbmRCZWZvcmVDdXJzb3IpIHRoZW4KCiAgICAgICAgICByZXR1cm4gbmlsCgogICAgICAgIGVsc2VpZiAjdiA8PSAxIHRoZW4KCiAgICAgICAgICByZXR1cm4gbmlsCgogICAgICAgIGVsc2UKCiAgICAgICAgICBpZiB0eXBlKHZbMl0pID09ICJ0YWJsZSIgYW5kIHZbMl0uX19jdXJzb3JfXyB0aGVuCgogICAgICAgICAgICBfZW5kQXRDdXJzb3IgPSB2CgogICAgICAgICAgICBfZW5kQXRDdXJzb3JbMl0uZGF0YS5fX2lkX18gPSBfZW5kQXRDdXJzb3JbMl0uaWQKCiAgICAgICAgICBlbHNlCgogICAgICAgICAgICBfZW5kQXQgPSB2CgogICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgICAgZWxzZWlmIHZbMV0gPT0gImVuZEJlZm9yZSIgdGhlbgoKICAgICAgICBpZiBub3QgaXNfbmlsKF9lbmRBdCkgb3Igbm90IGlzX25pbChfZW5kQmVmb3JlKSBvcgoKCSAgbm90IGlzX25pbChfZW5kQXRDdXJzb3IpIG9yIG5vdCBpc19uaWwoX2VuZEJlZm9yZUN1cnNvcikgdGhlbgoKICAgICAgICAgIHJldHVybiBuaWwKCiAgICAgICAgZWxzZWlmICN2IDw9IDEgdGhlbgoKICAgICAgICAgIHJldHVybiBuaWwKCiAgICAgICAgZWxzZQoKICAgICAgICAgIGlmIHR5cGUodlsyXSkgPT0gInRhYmxlIiBhbmQgdlsyXS5fX2N1cnNvcl9fIHRoZW4KCiAgICAgICAgICAgIF9lbmRCZWZvcmVDdXJzb3IgPSB2CgogICAgICAgICAgICBfZW5kQmVmb3JlQ3Vyc29yWzJdLmRhdGEuX19pZF9fID0gX2VuZEJlZm9yZUN1cnNvclsyXS5pZAoKICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgIF9lbmRCZWZvcmUgPSB2CgogICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgICAgZWxzZWlmICN2ID09IDMgdGhlbgoKICAgICAgICBpZiBpbmNsdWRlcyh2WzJdLCB7CgoJCSAgICAgICI9PSIsICIhPSIsICI+IiwgIjwiLCAiPj0iLCAiPD0iLAoKCQkgICAgICAiaW4iLCAibm90LWluIiwgImFycmF5LWNvbnRhaW5zIiwgImFycmF5LWNvbnRhaW5zLWFueSIKCiAgICAgICAgfSkgdGhlbgoKICAgICAgICAgIGlmIGluY2x1ZGVzKHZbMl0sIHsiYXJyYXktY29udGFpbnMiLCAiYXJyYXktY29udGFpbnMtYW55In0pIHRoZW4KCiAgICAgICAgICAgIGlmIG5vdCBpc19uaWwoX2ZpbHRlclsiYXJyYXktY29udGFpbnMiXSkgb3IKCgkgICAgICBub3QgaXNfbmlsKF9maWx0ZXJbImFycmF5LWNvbnRhaW5zLWFueSJdKSB0aGVuCgogICAgICAgICAgICAgIHJldHVybiBuaWwKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgaWYgdlsyXSA9PSAiYXJyYXktY29udGFpbnMtYW55IiBhbmQgbm90IGlzX3RhYmxlKHZbM10pIHRoZW4KCiAgICAgICAgICAgICAgcmV0dXJuIG5pbAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBfZmlsdGVyW3ZbMl1dID0gdgoKICAgICAgICAgIGVsc2VpZiBpbmNsdWRlcyh2WzJdLCB7IiE9IiwgImluIiwgIm5vdC1pbiIsICI+IiwgIj49IiwgIjwiLCAiPD0ifSkgdGhlbgoKICAgICAgICAgICAgaWYgaW5jbHVkZXModlsyXSwgeyJpbiIsICJub3QtaW4ifSkgYW5kIG5vdCBpc190YWJsZSh2WzNdKSB0aGVuCgogICAgICAgICAgICAgIHJldHVybiBuaWwKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgaWYgaW5jbHVkZXModlsyXSwgeyI+IiwgIj49IiwgIjwiLCAiPD0ifSkgdGhlbgoKICAgICAgICAgICAgICBpZiBub3QgaXNfbmlsKF9maWx0ZXJbIiE9Il0pIG9yIG5vdCBpc19uaWwoX2ZpbHRlclsiaW4iXSkgb3IKCgkJbm90IGlzX25pbChfZmlsdGVyWyJub3QtaW4iXSkgdGhlbgoKICAgICAgICAgICAgICAgIHJldHVybiBuaWwKCiAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgIGlmIG5vdCBpc19uaWwoX3JhbmdlX2ZpZWxkKSBhbmQgX3JhbmdlX2ZpZWxkIH49IHZbMV0gdGhlbgoKICAgICAgICAgICAgICAgIHJldHVybiBuaWwKCiAgICAgICAgICAgICAgZWxzZWlmIF9yYW5nZXNbdlsyXV0gb3IKCgkJKHZbMl0gPT0gIj4iIGFuZCBfcmFuZ2VzWyI+PSJdKSAgb3IKCgkJKHZbMl0gPT0gIj49IiBhbmQgX3Jhbmdlc1siPiJdKSAgb3IKCgkJKHZbMl0gPT0gIjwiIGFuZCBfcmFuZ2VzWyI8PSJdKSBvcgoKCQkodlsyXSA9PSAiPD0iIGFuZCBfcmFuZ2VzWyI8Il0pIHRoZW4KCiAgICAgICAgICAgICAgICByZXR1cm4gbmlsCgogICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICBfZmlsdGVyLnJhbmdlID0gX2ZpbHRlci5yYW5nZSBvciB7fQoKICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChfZmlsdGVyLnJhbmdlLCB2KQoKICAgICAgICAgICAgICAgIF9yYW5nZV9maWVsZCA9IHZbMV0KCiAgICAgICAgICAgICAgICBfcmFuZ2VzW3ZbMl1dID0gdHJ1ZQoKICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgaWYgbm90IGlzX25pbChfZmlsdGVyLnJhbmdlKSBvciBub3QgaXNfbmlsKF9maWx0ZXJbIiE9Il0pIG9yCgoJCW5vdCBpc19uaWwoX2ZpbHRlclsiaW4iXSkgb3Igbm90IGlzX25pbChfZmlsdGVyWyJub3QtaW4iXSkgdGhlbgoKICAgICAgICAgICAgICAgIHJldHVybiBuaWwKCiAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgIF9maWx0ZXJbdlsyXV0gPSB2CgogICAgICAgICAgICBlbmQKCiAgICAgICAgICBlbHNlaWYgdlsyXSA9PSAiPT0iIHRoZW4KCiAgICAgICAgICAgIGlmIG5vdCBpc19uaWwoX2ZpbHRlci5yYW5nZSkgb3Igbm90IGlzX25pbChfZmlsdGVyWyIhPSJdKSBvcgoKCSAgICAgIG5vdCBpc19uaWwoX2ZpbHRlclsiaW4iXSkgb3Igbm90IGlzX25pbChfZmlsdGVyWyJub3QtaW4iXSkgdGhlbgoKICAgICAgICAgICAgICByZXR1cm4gbmlsCgogICAgICAgICAgICBlbHNlaWYgX2tleXNbdlsxXV0gdGhlbiAKCiAgICAgICAgICAgICAgcmV0dXJuIG5pbCAKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgdGFibGUuaW5zZXJ0KF9maWx0ZXJbIj09Il0sIHYpCgogICAgICAgICAgICBfa2V5c1t2WzFdXSA9IHRydWUKCiAgICAgICAgICBlbHNlCgogICAgICAgICAgICBpZiBub3QgaXNfbmlsKF9maWx0ZXJbdlsyXV0pIHRoZW4gcmV0dXJuIG5pbCBlbmQKCiAgICAgICAgICAgIF9maWx0ZXJbdlsyXV0gPSB2CgogICAgICAgICAgZW5kCgogICAgICAgIGVsc2UKCiAgICAgICAgICByZXR1cm4gbmlsCgogICAgICAgIGVuZAoKICAgICAgZWxzZWlmICN2ID09IDIgdGhlbgoKICAgICAgICBpZiBpbmNsdWRlcyh2WzJdLCB7ImFzYyIsICJkZXNjIn0pIHRoZW4KCiAgICAgICAgICBpZiBpc19uaWwoX3NvcnQpIHRoZW4KCiAgICAgICAgICAgIF9zb3J0ID0ge3Z9CgogICAgICAgICAgZWxzZQoKICAgICAgICAgICAgdGFibGUuaW5zZXJ0KF9zb3J0LCB2KQoKICAgICAgICAgIGVuZAoKICAgICAgICBlbHNlCgogICAgICAgICAgcmV0dXJuIG5pbAoKICAgICAgICBlbmQKCiAgICAgIGVsc2VpZiAjdiA9PSAxIHRoZW4KCiAgICAgICAgaWYgaXNfbmlsKF9zb3J0KSB0aGVuCgogICAgICAgICAgX3NvcnQgPSB7e3ZbMV0sICJhc2MifX0KCiAgICAgICAgZWxzZQoKICAgICAgICAgIHRhYmxlLmluc2VydChfc29ydCwge3ZbMV0sICJhc2MifSkKCiAgICAgICAgZW5kCgogICAgICBlbHNlCgogICAgICAgIHJldHVybiBuaWwKCiAgICAgIGVuZAoKICAgIGVuZAoKICBlbmQKCgoKICBxLmxpbWl0ID0gcS5saW1pdCBvciAxMDAwCgogIHEuc3RhcnQgPSBfc3RhcnRBdCBvciBfc3RhcnRBZnRlciBvciBuaWwKCiAgcS5lbmRfID0gX2VuZEF0IG9yIF9lbmRCZWZvcmUgb3IgbmlsCgogIHEuc3RhcnRDdXJzb3IgPSBfc3RhcnRBdEN1cnNvciBvciBfc3RhcnRBZnRlckN1cnNvciBvciBuaWwKCiAgcS5lbmRDdXJzb3IgPSBfZW5kQXRDdXJzb3Igb3IgX2VuZEJlZm9yZUN1cnNvciBvciBuaWwKCiAgcS5zb3J0ID0gX3NvcnQgb3Ige30KCiAgcS5yZXZlcnNlID0geyBzdGFydCA9IGZhbHNlLCBlbmRfID0gZmFsc2UgfQoKICBxLmFycmF5ID0gX2ZpbHRlclsiYXJyYXktY29udGFpbnMiXSBvciBfZmlsdGVyWyJhcnJheS1jb250YWlucy1hbnkiXSBvciBuaWwKCiAgcS5lcXVhbHMgPSBfZmlsdGVyWyI9PSJdCgogIAoKICBpZiBfZmlsdGVyLnJhbmdlIHRoZW4KCiAgICBxLnJhbmdlID0gX2ZpbHRlci5yYW5nZQoKICBlbHNlaWYgbm90IGlzX25pbChfZmlsdGVyWyJpbiJdKSB0aGVuCgogICAgcS5yYW5nZSA9IHtfZmlsdGVyWyJpbiJdfQoKICBlbHNlaWYgbm90IGlzX25pbChfZmlsdGVyWyJub3QtaW4iXSkgdGhlbgoKICAgIHEucmFuZ2UgPSB7X2ZpbHRlclsibm90LWluIl19CgogIGVsc2VpZiBub3QgaXNfbmlsKF9maWx0ZXJbIiE9Il0pIHRoZW4KCiAgICBxLnJhbmdlID0ge19maWx0ZXJbIiE9Il19CgogIGVsc2UKCiAgICBxLnJhbmdlID0gbmlsCgogIGVuZAoKCgogIHEuc29ydEJ5VGFpbCA9IGZhbHNlCgogIHJldHVybiBxCgplbmQKCgoKCgoKCmxvY2FsIGZ1bmN0aW9uIGdldF90YWJsZV9rZXlzKHQpCgogIGxvY2FsIGtleXMgPSB7fQoKICBmb3IgayBpbiBwYWlycyh0KSBkbyB0YWJsZS5pbnNlcnQoa2V5cywgaykgZW5kCgogIHJldHVybiBrZXlzCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gc29ydF9kb2NzKGRvY3MsIHNvcnRfc3BlY3MpCgogIGlmICNzb3J0X3NwZWNzID09IDAgdGhlbgoKICAgIHNvcnRfc3BlY3MgPSB7eyJfX2lkX18iLCAiYXNjIn19CgogIGVuZAoKICB0YWJsZS5zb3J0KAoKICAgIGRvY3MsCgogICAgZnVuY3Rpb24oYSwgYikKCiAgICAgIGZvciBfLCBzcGVjIGluIGlwYWlycyhzb3J0X3NwZWNzKSBkbwoKCWxvY2FsIGZpZWxkLCBkaXJlY3Rpb24gPSBzcGVjWzFdLCBzcGVjWzJdCgoJbG9jYWwgYVZhbCA9IGZpZWxkID09ICJfX2lkX18iIGFuZCBhLl9faWRfXyBvciBhW2ZpZWxkXQoKCWxvY2FsIGJWYWwgPSBmaWVsZCA9PSAiX19pZF9fIiBhbmQgYi5fX2lkX18gb3IgYltmaWVsZF0KCgkKCglpZiBhVmFsIH49IGJWYWwgdGhlbgoKCSAgaWYgZGlyZWN0aW9uID09ICJhc2MiIHRoZW4KCgkgICAgcmV0dXJuIGFWYWwgPCBiVmFsCgoJICBlbHNlCgoJICAgIHJldHVybiBhVmFsID4gYlZhbAoKCSAgZW5kCgoJZW5kCgogICAgICBlbmQKCiAgICAgIHJldHVybiBmYWxzZQoKICAgIGVuZAoKICApCgogIHJldHVybiBkb2NzCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gbWF0Y2hlc19maWx0ZXJzKGRvYywgZmlsdGVycykKCiAgbG9jYWwgaWQgPSBkb2MuX19pZF9fCgoKCiAgLS0gSGFuZGxlIGVxdWFscwoKICBmb3IgXywgZmlsdGVyIGluIGlwYWlycyhmaWx0ZXJzLmVxdWFscyBvciB7fSkgZG8KCiAgICBsb2NhbCBmaWVsZCwgXywgdmFsdWUgPSB0YWJsZS51bnBhY2soZmlsdGVyKQoKICAgIGlmIGRvY1tmaWVsZF0gfj0gdmFsdWUgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogIGVuZAoKICAKCiAgLS0gSGFuZGxlIGFycmF5IG9wZXJhdGlvbnMKCiAgaWYgZmlsdGVycy5hcnJheSB0aGVuCgogICAgbG9jYWwgZmllbGQsIG9wLCB2YWx1ZSA9IHRhYmxlLnVucGFjayhmaWx0ZXJzLmFycmF5KQoKICAgIGlmIG9wID09ICJhcnJheS1jb250YWlucyIgdGhlbgoKICAgICAgaWYgbm90IGRvY1tmaWVsZF0gb3IgdHlwZShkb2NbZmllbGRdKSB+PSAidGFibGUiIHRoZW4gcmV0dXJuIGZhbHNlIGVuZAoKICAgICAgbG9jYWwgZm91bmQgPSBmYWxzZQoKICAgICAgZm9yIF8sIHYgaW4gaXBhaXJzKGRvY1tmaWVsZF0pIGRvCgogICAgICAgIGlmIHYgPT0gdmFsdWUgdGhlbiBmb3VuZCA9IHRydWU7IGJyZWFrIGVuZAoKICAgICAgZW5kCgogICAgICBpZiBub3QgZm91bmQgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogICAgZWxzZWlmIG9wID09ICJhcnJheS1jb250YWlucy1hbnkiIHRoZW4KCiAgICAgIGlmIG5vdCBkb2NbZmllbGRdIG9yIHR5cGUoZG9jW2ZpZWxkXSkgfj0gInRhYmxlIiB0aGVuIHJldHVybiBmYWxzZSBlbmQKCiAgICAgIGxvY2FsIGZvdW5kID0gZmFsc2UKCiAgICAgIGZvciBfLCB0YXJnZXQgaW4gaXBhaXJzKHZhbHVlKSBkbwoKICAgICAgICBmb3IgXywgdiBpbiBpcGFpcnMoZG9jW2ZpZWxkXSkgZG8KCiAgICAgICAgICBpZiB2ID09IHRhcmdldCB0aGVuIGZvdW5kID0gdHJ1ZTsgYnJlYWsgZW5kCgogICAgICAgIGVuZAoKICAgICAgICBpZiBmb3VuZCB0aGVuIGJyZWFrIGVuZAoKICAgICAgZW5kCgogICAgICBpZiBub3QgZm91bmQgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogICAgZW5kCgogIGVuZAoKICAKCiAgLS0gSGFuZGxlIHJhbmdlIG9wZXJhdGlvbnMKCiAgaWYgZmlsdGVycy5yYW5nZSB0aGVuCgogICAgZm9yIF8sIHJhbmdlIGluIGlwYWlycyhmaWx0ZXJzLnJhbmdlKSBkbwoKICAgICAgbG9jYWwgZmllbGQsIG9wLCB2YWx1ZSA9IHRhYmxlLnVucGFjayhyYW5nZSkKCiAgICAgIGxvY2FsIGRvY192YWwgPSBkb2NbZmllbGRdCgogICAgICAKCiAgICAgIGlmIG9wID09ICI+IiBhbmQgbm90IChkb2NfdmFsID4gdmFsdWUpIHRoZW4gcmV0dXJuIGZhbHNlIGVuZAoKICAgICAgaWYgb3AgPT0gIj49IiBhbmQgbm90IChkb2NfdmFsID49IHZhbHVlKSB0aGVuIHJldHVybiBmYWxzZSBlbmQKCiAgICAgIGlmIG9wID09ICI8IiBhbmQgbm90IChkb2NfdmFsIDwgdmFsdWUpIHRoZW4gcmV0dXJuIGZhbHNlIGVuZAoKICAgICAgaWYgb3AgPT0gIjw9IiBhbmQgbm90IChkb2NfdmFsIDw9IHZhbHVlKSB0aGVuIHJldHVybiBmYWxzZSBlbmQKCiAgICAgIGlmIG9wID09ICIhPSIgYW5kIGRvY192YWwgPT0gdmFsdWUgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogICAgICBpZiBvcCA9PSAiaW4iIHRoZW4KCiAgICAgICAgbG9jYWwgZm91bmQgPSBmYWxzZQoKICAgICAgICBmb3IgXywgdiBpbiBpcGFpcnModmFsdWUpIGRvCgogICAgICAgICAgaWYgZG9jX3ZhbCA9PSB2IHRoZW4gZm91bmQgPSB0cnVlOyBicmVhayBlbmQKCiAgICAgICAgZW5kCgogICAgICAgIGlmIG5vdCBmb3VuZCB0aGVuIHJldHVybiBmYWxzZSBlbmQKCiAgICAgIGVuZAoKICAgICAgaWYgb3AgPT0gIm5vdC1pbiIgdGhlbgoKICAgICAgICBmb3IgXywgdiBpbiBpcGFpcnModmFsdWUpIGRvCgogICAgICAgICAgaWYgZG9jX3ZhbCA9PSB2IHRoZW4gcmV0dXJuIGZhbHNlIGVuZAoKICAgICAgICBlbmQKCiAgICAgIGVuZAoKICAgIGVuZAoKICBlbmQKCiAgCgogIHJldHVybiB0cnVlCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gYXBwbHlfY3Vyc29yKGRvY3MsIGN1cnNvciwgc29ydCkKCiAgaWYgbm90IGN1cnNvciBvciBub3Qgc29ydCBvciBub3Qgc29ydFsxXSB0aGVuIHJldHVybiBkb2NzIGVuZAoKICBsb2NhbCBmaWVsZCA9IGN1cnNvclsxXVsxXQoKICBsb2NhbCBkZXNjID0gY3Vyc29yWzFdWzJdID09ICJkZXNjIgoKICBsb2NhbCBvcCwgdmFsdWUgPSBzb3J0WzFdLCBzb3J0WzJdCgogIGxvY2FsIGlzQ3Vyc29yID0gKHR5cGUodmFsdWUpID09ICJ0YWJsZSIgYW5kIHZhbHVlLl9fY3Vyc29yX18pCgogIGxvY2FsIGNtcCA9IG5pbAoKICBsb2NhbCBleCA9IGZhbHNlCgogIGlmIG9wID09ICJzdGFydEF0IiB0aGVuCgogICAgY21wID0gZnVuY3Rpb24oZG9jKQoKICAgICAgaWYgaXNDdXJzb3IgdGhlbgoKCWlmIGRvYy5fX2lkX18gPT0gdmFsdWUuaWQgdGhlbiBleCA9IHRydWUgZW5kCgoJcmV0dXJuIGV4CgogICAgICBlbHNlCgoJaWYgZGVzYyB0aGVuCgoJICByZXR1cm4gZG9jW2ZpZWxkXSA8PSB2YWx1ZQoKCWVsc2UKCgkgIHJldHVybiBkb2NbZmllbGRdID49IHZhbHVlCgoJZW5kCgogICAgICBlbmQKCiAgICBlbmQKCiAgZWxzZWlmIG9wID09ICJzdGFydEFmdGVyIiB0aGVuCgogICAgY21wID0gZnVuY3Rpb24oZG9jKQoKICAgICAgaWYgaXNDdXJzb3IgdGhlbgoKCWlmIGV4ID09IGZhbHNlIHRoZW4KCgkgIGlmIGRvYy5fX2lkX18gPT0gdmFsdWUuaWQgdGhlbiBleCA9IHRydWUgZW5kCgoJICByZXR1cm4gZmFsc2UKCgllbHNlCgoJICByZXR1cm4gdHJ1ZQoKCWVuZAoKICAgICAgZWxzZQoKCWlmIGRlc2MgdGhlbgoKCSAgcmV0dXJuIGRvY1tmaWVsZF0gPCB2YWx1ZQoKCWVsc2UKCgkgIHJldHVybiBkb2NbZmllbGRdID4gdmFsdWUKCgllbmQKCiAgICAgIGVuZAoKICAgIGVuZAoKICBlbHNlaWYgb3AgPT0gImVuZEF0IiB0aGVuCgogICAgY21wID0gZnVuY3Rpb24oZG9jKQoKICAgICAgaWYgaXNDdXJzb3IgdGhlbgoKCWlmIGV4ID09IGZhbHNlIHRoZW4KCgkgIGlmIGRvYy5fX2lkX18gPT0gdmFsdWUuaWQgdGhlbiBleCA9IHRydWUgZW5kCgoJICByZXR1cm4gdHJ1ZQoKCWVsc2UKCgkgIHJldHVybiBleCB+PSB0cnVlCgoJZW5kCgogICAgICBlbHNlCgoJaWYgZGVzYyB0aGVuCgoJICByZXR1cm4gZG9jW2ZpZWxkXSA+PSB2YWx1ZQoKCWVsc2UKCgkgIHJldHVybiBkb2NbZmllbGRdIDw9IHZhbHVlCgoJZW5kCgogICAgICBlbmQKCiAgICBlbmQKCiAgZWxzZWlmIG9wID09ICJlbmRCZWZvcmUiIHRoZW4KCiAgICBjbXAgPSBmdW5jdGlvbihkb2MpCgogICAgICBpZiBpc0N1cnNvciB0aGVuCgoJaWYgZG9jLl9faWRfXyA9PSB2YWx1ZS5pZCB0aGVuIGV4ID0gdHJ1ZSBlbmQKCglyZXR1cm4gZXggfj0gdHJ1ZQoKICAgICAgZWxzZQoKCWlmIGRlc2MgdGhlbgoKCSAgcmV0dXJuIGRvY1tmaWVsZF0gPiB2YWx1ZQoKCWVsc2UKCgkgIHJldHVybiBkb2NbZmllbGRdIDwgdmFsdWUKCgllbmQKCiAgICAgIGVuZAoKICAgIGVuZAoKICBlbmQKCiAgaWYgY21wID09IG5pbCB0aGVuIHJldHVybiB7IG9wIH0gZW5kCgogIGxvY2FsIHJlc3VsdCA9IHt9CgogIGxvY2FsIGluaXQgPSBmYWxzZQoKICBmb3IgaSwgZG9jIGluIGlwYWlycyhkb2NzKSBkbwoKICAgIGxvY2FsIG9rID0gY21wKGRvYykKCiAgICBpZiBvayB0aGVuCgogICAgICB0YWJsZS5pbnNlcnQocmVzdWx0LCBkb2MpCgogICAgICBpbml0ID0gdHJ1ZQoKICAgIGVuZAoKICAgIGlmIG5vdCBvayBhbmQgaW5pdCB0aGVuIGJyZWFrIGVuZAoKICBlbmQKCiAgcmV0dXJuIHJlc3VsdAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIHF1ZXJ5X2RhdGEocXVlcnksIGNnZXQpCgogIGxvY2FsIGRvY3MgPSB7fQoKICBkYXRhW3F1ZXJ5LnBhdGhbMV1dID0gZGF0YVtxdWVyeS5wYXRoWzFdXSBvciB7fQoKICBsb2NhbCBjb2xsZWN0aW9uID0gZGF0YVtxdWVyeS5wYXRoWzFdXQoKICBsb2NhbCBkb2NzID0ge30KCiAgZm9yIGlkLCBkb2MgaW4gcGFpcnMoY29sbGVjdGlvbikgZG8KCiAgICBsb2NhbCBkb2MyID0gZG9jCgogICAgZG9jMi5fX2lkX18gPSBpZCAgICAKCiAgICB0YWJsZS5pbnNlcnQoZG9jcywgZG9jMikKCiAgZW5kCgogIAoKICAtLSBBcHBseSBmaWx0ZXJzCgogIGxvY2FsIGZpbHRlcmVkX2RvY3MgPSB7fQoKICBmb3IgXywgZG9jIGluIGlwYWlycyhkb2NzKSBkbwoKICAgIGlmIG1hdGNoZXNfZmlsdGVycyhkb2MsIHF1ZXJ5KSB0aGVuCgogICAgICB0YWJsZS5pbnNlcnQoZmlsdGVyZWRfZG9jcywgZG9jKQoKICAgIGVuZAoKICBlbmQKCiAgCgogIC0tIFNvcnQKCiAgbG9jYWwgc29ydGVkX2RvY3MgPSBzb3J0X2RvY3MoZmlsdGVyZWRfZG9jcywgcXVlcnkuc29ydCkKCgoKICAtLSBBcHBseSBjdXJzb3JzCgogIGxvY2FsIGN1cnNvcmVkX2RvY3MgPSBhcHBseV9jdXJzb3Ioc29ydGVkX2RvY3MsIHF1ZXJ5LnNvcnQsIHF1ZXJ5LnN0YXJ0IG9yIHF1ZXJ5LnN0YXJ0Q3Vyc29yKQoKICBjdXJzb3JlZF9kb2NzID0gYXBwbHlfY3Vyc29yKGN1cnNvcmVkX2RvY3MsIHF1ZXJ5LnNvcnQsIHF1ZXJ5LmVuZF8gb3IgcXVlcnkuZW5kQ3Vyc29yKQoKCgogIC0tIEFwcGx5IGxpbWl0CgogIGlmIHF1ZXJ5LmxpbWl0IGFuZCAjY3Vyc29yZWRfZG9jcyA+IHF1ZXJ5LmxpbWl0IHRoZW4KCiAgICBsb2NhbCBsaW1pdGVkID0ge30KCiAgICBmb3IgaSA9IDEsIHF1ZXJ5LmxpbWl0IGRvCgogICAgICB0YWJsZS5pbnNlcnQobGltaXRlZCwgY3Vyc29yZWRfZG9jc1tpXSkKCiAgICBlbmQKCiAgICBjdXJzb3JlZF9kb2NzID0gbGltaXRlZAoKICBlbmQKCiAgCgogIC0tIFJlbW92ZSBpbmplY3RlZCBJRHMKCiAgZm9yIGksIGRvYyBpbiBpcGFpcnMoY3Vyc29yZWRfZG9jcykgZG8KCiAgICBsb2NhbCBpZCA9IGRvYy5fX2lkX18KCiAgICBkb2MuX19pZF9fID0gbmlsCgogICAgaWYgY2dldCB0aGVuICBjdXJzb3JlZF9kb2NzW2ldID0geyBpZCA9IGlkLCBkYXRhID0gZG9jLCBfX2N1cnNvcl9fID0gdHJ1ZSB9IGVuZAoKICBlbmQKCiAgCgogIHJldHVybiBjdXJzb3JlZF9kb2NzCgplbmQKCgoKd2VhdmVkYi5nZXQgPSBmdW5jdGlvbiAocXVlcnkpCgogIGxvY2FsIHEgPSBfcGFyc2VyKHF1ZXJ5KQoKICBsb2NhbCByZXN1bHQgPSBuaWwKCiAgaWYgI3EucGF0aCA9PSAxIHRoZW4KCiAgICBsb2NhbCBfX3Jlc3VsdCA9IHF1ZXJ5X2RhdGEocSkKCiAgICByZXN1bHQgPSBfX3Jlc3VsdAoKICBlbHNlCgogICAgcmVzdWx0ID0gZGF0YVtxdWVyeVsxXV1bcXVlcnlbMl1dCgogIGVuZAoKICByZXR1cm4gcmVzdWx0CgplbmQKCgoKd2VhdmVkYi5jZ2V0ID0gZnVuY3Rpb24gKHF1ZXJ5KQoKICBsb2NhbCBxID0gX3BhcnNlcihxdWVyeSkKCiAgbG9jYWwgcmVzdWx0ID0gbmlsCgogIGlmICNxLnBhdGggPT0gMSB0aGVuCgogICAgbG9jYWwgX19yZXN1bHQgPSBxdWVyeV9kYXRhKHEsIHRydWUpCgogICAgcmVzdWx0ID0gX19yZXN1bHQKCiAgZWxzZQoKICAgIHJlc3VsdCA9IHsgaWQgPSBxdWVyeVsyXSwgZGF0YSA9IGRhdGFbcXVlcnlbMV1dW3F1ZXJ5WzJdXSwgX19jdXJzb3JfXyA9IHRydWUgfQoKICBlbmQKCiAgcmV0dXJuIHJlc3VsdAoKZW5kCgoKCndlYXZlZGIuc2V0ID0gZnVuY3Rpb24gKHF1ZXJ5KQoKICBsb2NhbCBfZGF0YSwgY29sLCBkb2MgPSB0YWJsZS51bnBhY2socXVlcnkpCgogIGRhdGFbY29sXSA9IGRhdGFbY29sXSBvciB7fQoKICBkYXRhW2NvbF1bZG9jXSA9IF9kYXRhCgogIHJldHVybiBkb2MKCmVuZAoKCgp3ZWF2ZWRiLmFkZCA9IGZ1bmN0aW9uIChxdWVyeSkKCiAgbG9jYWwgX2RhdGEsIGNvbCA9IHRhYmxlLnVucGFjayhxdWVyeSkKCiAgY291bnQgPSBjb3VudCArIDEKCiAgbG9jYWwgZG9jID0gdG9zdHJpbmcoY291bnQpCgogIGRhdGFbY29sXSA9IGRhdGFbY29sXSBvciB7fQoKICBpZiBkYXRhW2NvbF1bZG9jXSB+PSBuaWwgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogIGRhdGFbY29sXVtkb2NdID0gX2RhdGEKCiAgcmV0dXJuIGRvYwoKZW5kCgoKCndlYXZlZGIudXBkYXRlID0gZnVuY3Rpb24gKHF1ZXJ5KQoKICBsb2NhbCBfZGF0YSwgY29sLCBkb2MgPSB0YWJsZS51bnBhY2socXVlcnkpCgogIGRhdGFbY29sXSA9IGRhdGFbY29sXSBvciB7fQoKICBpZiBkYXRhW2NvbF1bZG9jXSA9PSBuaWwgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogIGZvciBrZXksIHZhbCBpbiBwYWlycyhfZGF0YSkgZG8gZGF0YVtjb2xdW2RvY11ba2V5XSA9IHZhbCBlbmQKCiAgcmV0dXJuIGRvYwoKZW5kCgoKCndlYXZlZGIudXBzZXJ0ID0gZnVuY3Rpb24gKHF1ZXJ5KQoKICBsb2NhbCBfZGF0YSwgY29sLCBkb2MgPSB0YWJsZS51bnBhY2socXVlcnkpCgogIGRhdGFbY29sXSA9IGRhdGFbY29sXSBvciB7fQoKICBkYXRhW2NvbF1bZG9jXSA9IF9kYXRhCgogIHJldHVybiBkb2MKCmVuZAoKCgp3ZWF2ZWRiLmRlbGV0ZSA9IGZ1bmN0aW9uIChxdWVyeSkKCiAgbG9jYWwgY29sLCBkb2MgPSB0YWJsZS51bnBhY2socXVlcnkpCgogIGRhdGFbY29sXSA9IGRhdGFbY29sXSBvciB7fQoKICBpZiBkYXRhW2NvbF1bZG9jXSA9PSBuaWwgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogIGRhdGFbY29sXVtkb2NdID0gbmlsCgogIHJldHVybiBkb2MKCmVuZAoKCgpyZXR1cm4gd2VhdmVkYgoAAAAALS0tIFRoZSBBc3NpZ25tZW50IG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBoYW5kbGluZyBhc3NpZ25tZW50cy4gUmV0dXJucyB0aGUgQXNzaWdubWVudCB0YWJsZS4KCi0tIEBtb2R1bGUgYXNzaWdubWVudAoKCgotLS0gVGhlIEFzc2lnbm1lbnQgbW9kdWxlCgotLSBAdGFibGUgQXNzaWdubWVudAoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgYXNzaWdubWVudCBtb2R1bGUKCi0tIEBmaWVsZCBpbml0IFRoZSBpbml0IGZ1bmN0aW9uCgpsb2NhbCBBc3NpZ25tZW50ID0geyBfdmVyc2lvbiA9ICIwLjEuMCIgfQoKbG9jYWwgdXRpbHMgPSByZXF1aXJlKCcudXRpbHMnKQoKCgotLS0gSW1wbGVtZW50IGFzc2lnbmFibGUgcG9seWZpbGxzIG9uIGFvLgoKLS0gQ3JlYXRlcyBhZGRBc3NpZ25hYmxlLCByZW1vdmVBc3NpZ25hYmxlLCBpc0Fzc2lnbm1lbnQsIGFuZCBpc0Fzc2lnbmFibGUgZmllbGRzIG9uIGFvLgoKLS0gQGZ1bmN0aW9uIGluaXQKCi0tIEB0cGFyYW0ge3RhYmxlfSBhbyBUaGUgYW8gZW52aXJvbm1lbnQgb2JqZWN0CgotLSBAc2VlIGFvLmFkZEFzc2lnbmFibGUKCi0tIEBzZWUgYW8ucmVtb3ZlQXNzaWduYWJsZQoKLS0gQHNlZSBhby5pc0Fzc2lnbm1lbnQKCi0tIEBzZWUgYW8uaXNBc3NpZ25hYmxlCgpmdW5jdGlvbiBBc3NpZ25tZW50LmluaXQgKGFvKQoKICAtLSBGaW5kIHRoZSBpbmRleCBvZiBhbiBvYmplY3QgaW4gYW4gYXJyYXkgYnkgYSBnaXZlbiBwcm9wZXJ0eQoKICAtLSBAbGZ1bmN0aW9uIGZpbmRJbmRleEJ5UHJvcAoKICAtLSBAdHBhcmFtIHt0YWJsZX0gYXJyYXkgVGhlIGFycmF5IHRvIHNlYXJjaAoKICAtLSBAdHBhcmFtIHtzdHJpbmd9IHByb3AgVGhlIHByb3BlcnR5IHRvIHNlYXJjaCBieQoKICAtLSBAdHBhcmFtIHthbnl9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yCgogIC0tIEB0cmV0dXJuIHtudW1iZXJ8bmlsfSBUaGUgaW5kZXggb2YgdGhlIG9iamVjdCwgb3IgbmlsIGlmIG5vdCBmb3VuZAoKICBsb2NhbCBmdW5jdGlvbiBmaW5kSW5kZXhCeVByb3AoYXJyYXksIHByb3AsIHZhbHVlKQoKICAgIGZvciBpbmRleCwgb2JqZWN0IGluIGlwYWlycyhhcnJheSkgZG8KCiAgICAgIGlmIG9iamVjdFtwcm9wXSA9PSB2YWx1ZSB0aGVuIHJldHVybiBpbmRleCBlbmQKCiAgICBlbmQKCgoKICAgIHJldHVybiBuaWwKCiAgZW5kCgoKCiAgYW8uYXNzaWduYWJsZXMgPSBhby5hc3NpZ25hYmxlcyBvciB7fQoKCgogIGFvLmFkZEFzc2lnbmFibGUgPSBhby5hZGRBc3NpZ25hYmxlIG9yIGZ1bmN0aW9uICguLi4pCgogICAgbG9jYWwgbmFtZSA9IG5pbAoKICAgIGxvY2FsIG1hdGNoU3BlYyA9IG5pbAoKCgogICAgbG9jYWwgaWR4ID0gbmlsCgoKCiAgICAtLSBJbml0aWFsaXplIHRoZSBwYXJhbWV0ZXJzIGJhc2VkIG9uIGFyZ3VtZW50cwoKICAgIGlmIHNlbGVjdCgiIyIsIC4uLikgPT0gMSB0aGVuCgogICAgICBtYXRjaFNwZWMgPSBzZWxlY3QoMSwgLi4uKQoKICAgIGVsc2UKCiAgICAgIG5hbWUgPSBzZWxlY3QoMSwgLi4uKQoKICAgICAgbWF0Y2hTcGVjID0gc2VsZWN0KDIsIC4uLikKCiAgICAgIGFzc2VydCh0eXBlKG5hbWUpID09ICdzdHJpbmcnLCAnTWF0Y2hTcGVjIG5hbWUgTVVTVCBiZSBhIHN0cmluZycpCgogICAgZW5kCgoKCiAgICBpZiBuYW1lIHRoZW4gaWR4ID0gZmluZEluZGV4QnlQcm9wKGFvLmFzc2lnbmFibGVzLCAibmFtZSIsIG5hbWUpIGVuZAoKCgogICAgaWYgaWR4IH49IG5pbCBhbmQgaWR4ID4gMCB0aGVuCgogICAgICAtLSBmb3VuZCB1cGRhdGUKCiAgICAgIGFvLmFzc2lnbmFibGVzW2lkeF0ucGF0dGVybiA9IG1hdGNoU3BlYwoKICAgIGVsc2UKCiAgICAgIC0tIGFwcGVuZCB0aGUgbmV3IGFzc2lnbmFibGUsIGluY2x1ZGluZyBwb3RlbnRpYWxseSBuaWwgbmFtZQoKICAgICAgdGFibGUuaW5zZXJ0KGFvLmFzc2lnbmFibGVzLCB7IHBhdHRlcm4gPSBtYXRjaFNwZWMsIG5hbWUgPSBuYW1lIH0pCgogICAgZW5kCgogIGVuZAoKCgogIGFvLnJlbW92ZUFzc2lnbmFibGUgPSBhby5yZW1vdmVBc3NpZ25hYmxlIG9yIGZ1bmN0aW9uIChuYW1lKQoKICAgIGxvY2FsIGlkeCA9IG5pbAoKCgogICAgaWYgdHlwZShuYW1lKSA9PSAnc3RyaW5nJyB0aGVuIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChhby5hc3NpZ25hYmxlcywgIm5hbWUiLCBuYW1lKQoKICAgIGVsc2UKCiAgICAgIGFzc2VydCh0eXBlKG5hbWUpID09ICdudW1iZXInLCAnaW5kZXggTVVTVCBiZSBhIG51bWJlcicpCgogICAgICBpZHggPSBuYW1lCgogICAgZW5kCgoKCiAgICBpZiBpZHggPT0gbmlsIG9yIGlkeCA8PSAwIG9yIGlkeCA+ICNhby5hc3NpZ25hYmxlcyB0aGVuIHJldHVybiBlbmQKCgoKICAgIHRhYmxlLnJlbW92ZShhby5hc3NpZ25hYmxlcywgaWR4KQoKICBlbmQKCgoKICBhby5pc0Fzc2lnbm1lbnQgPSBhby5pc0Fzc2lnbm1lbnQgb3IgZnVuY3Rpb24gKG1zZykgcmV0dXJuIG1zZy5UYXJnZXQgfj0gYW8uaWQgZW5kCgoKCiAgYW8uaXNBc3NpZ25hYmxlID0gYW8uaXNBc3NpZ25hYmxlIG9yIGZ1bmN0aW9uIChtc2cpCgogICAgZm9yIF8sIGFzc2lnbmFibGUgaW4gcGFpcnMoYW8uYXNzaWduYWJsZXMpIGRvCgogICAgICBpZiB1dGlscy5tYXRjaGVzU3BlYyhtc2csIGFzc2lnbmFibGUucGF0dGVybikgdGhlbiByZXR1cm4gdHJ1ZSBlbmQKCiAgICBlbmQKCgoKICAgIC0tIElmIGFzc2lnbmFibGVzIGlzIGVtcHR5LCB0aGUgdGhlIGFib3ZlIGxvb3Agd2lsbCBub29wLAoKICAgIC0tIGFuZCB0aGlzIGV4cHJlc3Npb24gd2lsbCBleGVjdXRlLgoKICAgIC0tCgogICAgLS0gSW4gb3RoZXIgd29yZHMsIGFsbCBtc2dzIGFyZSBub3QgYXNzaWduYWJsZSwgYnkgZGVmYXVsdC4KCiAgICByZXR1cm4gZmFsc2UKCiAgZW5kCgplbmQKCgoKcmV0dXJuIEFzc2lnbm1lbnQKAELQ+ggLgQYtLSBkZWZhdWx0IGhhbmRsZXIgZm9yIGFvcwoKcmV0dXJuIGZ1bmN0aW9uIChpbnNlcnRJbmJveCkKCiAgcmV0dXJuIGZ1bmN0aW9uIChtc2cpCgogICAgLS0gQWRkIE1lc3NhZ2UgdG8gSW5ib3gKCiAgICBpbnNlcnRJbmJveChtc2cpCgoKCiAgICBsb2NhbCB0eHQgPSBDb2xvcnMuZ3JheSAuLiAiTmV3IE1lc3NhZ2UgRnJvbSAiIC4uIENvbG9ycy5ncmVlbiAuLiAKCiAgICAobXNnLkZyb20gYW5kIChtc2cuRnJvbTpzdWIoMSwzKSAuLiAiLi4uIiAuLiBtc2cuRnJvbTpzdWIoLTMpKSBvciAidW5rbm93biIpIC4uIENvbG9ycy5ncmF5IC4uICI6ICIKCiAgICBpZiBtc2cuQWN0aW9uIHRoZW4KCiAgICAgIHR4dCA9IHR4dCAuLiBDb2xvcnMuZ3JheSAuLiAobXNnLkFjdGlvbiBhbmQgKCJBY3Rpb24gPSAiIC4uIENvbG9ycy5ibHVlIC4uIG1zZy5BY3Rpb246c3ViKDEsMjApKSBvciAiIikgLi4gQ29sb3JzLnJlc2V0CgogICAgZWxzZQoKICAgICAgbG9jYWwgZGF0YSA9IG1zZy5EYXRhCgogICAgICBpZiB0eXBlKGRhdGEpID09ICd0YWJsZScgdGhlbgoKICAgICAgICBkYXRhID0gcmVxdWlyZSgnanNvbicpLmVuY29kZShkYXRhKQoKICAgICAgZW5kCgogICAgICB0eHQgPSB0eHQgLi4gQ29sb3JzLmdyYXkgLi4gIkRhdGEgPSAiIC4uIENvbG9ycy5ibHVlIC4uIChkYXRhIGFuZCBkYXRhOnN1YigxLDIwKSBvciAiIikgLi4gQ29sb3JzLnJlc2V0CgogICAgZW5kCgogICAgLS0gUHJpbnQgdG8gT3V0cHV0CgogICAgcHJpbnQodHh0KQoKICBlbmQKCgoKZW5kAELggAkLgdsBLS0tIFRoZSBIYW5kbGVycyBsaWJyYXJ5IHByb3ZpZGVzIGEgZmxleGlibGUgd2F5IHRvIG1hbmFnZSBhbmQgZXhlY3V0ZSBhIHNlcmllcyBvZiBoYW5kbGVycyBiYXNlZCBvbiBwYXR0ZXJucy4gRWFjaCBoYW5kbGVyIGNvbnNpc3RzIG9mIGEgcGF0dGVybiBmdW5jdGlvbiwgYSBoYW5kbGUgZnVuY3Rpb24sIGFuZCBhIG5hbWUuIFRoaXMgbGlicmFyeSBpcyBzdWl0YWJsZSBmb3Igc2NlbmFyaW9zIHdoZXJlIGRpZmZlcmVudCBhY3Rpb25zIG5lZWQgdG8gYmUgdGFrZW4gYmFzZWQgb24gdmFyeWluZyBpbnB1dCBjcml0ZXJpYS4gUmV0dXJucyB0aGUgaGFuZGxlcnMgdGFibGUuCgotLSBAbW9kdWxlIGhhbmRsZXJzCgoKCi0tLSBUaGUgaGFuZGxlcnMgdGFibGUKCi0tIEB0YWJsZSBoYW5kbGVycwoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgaGFuZGxlcnMgbW9kdWxlCgotLSBAZmllbGQgbGlzdCBUaGUgbGlzdCBvZiBoYW5kbGVycwoKLS0gQGZpZWxkIGNvcm91dGluZXMgVGhlIGNvcm91dGluZXMgb2YgdGhlIGhhbmRsZXJzCgotLSBAZmllbGQgb25jZU5vbmNlIFRoZSBub25jZSBmb3IgdGhlIG9uY2UgaGFuZGxlcnMKCi0tIEBmaWVsZCB1dGlscyBUaGUgaGFuZGxlcnMtdXRpbHMgbW9kdWxlCgotLSBAZmllbGQgZ2VuZXJhdGVSZXNvbHZlciBUaGUgZ2VuZXJhdGVSZXNvbHZlciBmdW5jdGlvbgoKLS0gQGZpZWxkIHJlY2VpdmUgVGhlIHJlY2VpdmUgZnVuY3Rpb24KCi0tIEBmaWVsZCBvbmNlIFRoZSBvbmNlIGZ1bmN0aW9uCgotLSBAZmllbGQgYWRkIFRoZSBhZGQgZnVuY3Rpb24KCi0tIEBmaWVsZCBhcHBlbmQgVGhlIGFwcGVuZCBmdW5jdGlvbgoKLS0gQGZpZWxkIHByZXBlbmQgVGhlIHByZXBlbmQgZnVuY3Rpb24KCi0tIEBmaWVsZCByZW1vdmUgVGhlIHJlbW92ZSBmdW5jdGlvbgoKLS0gQGZpZWxkIGV2YWx1YXRlIFRoZSBldmFsdWF0ZSBmdW5jdGlvbgoKbG9jYWwgaGFuZGxlcnMgPSB7IF92ZXJzaW9uID0gIjAuMC41IiB9Cgpsb2NhbCBjb3JvdXRpbmUgPSByZXF1aXJlKCdjb3JvdXRpbmUnKQoKbG9jYWwgdXRpbHMgPSByZXF1aXJlKCcudXRpbHMnKQoKCgpoYW5kbGVycy51dGlscyA9IHJlcXVpcmUoJy5oYW5kbGVycy11dGlscycpCgotLSBpZiB1cGRhdGUgd2UgbmVlZCB0byBrZWVwIGRlZmluZWQgaGFuZGxlcnMKCmlmIEhhbmRsZXJzIHRoZW4KCiAgaGFuZGxlcnMubGlzdCA9IEhhbmRsZXJzLmxpc3Qgb3Ige30KCiAgaGFuZGxlcnMuY29yb3V0aW5lcyA9IEhhbmRsZXJzLmNvcm91dGluZXMgb3Ige30KCmVsc2UKCiAgaGFuZGxlcnMubGlzdCA9IHt9CgogIGhhbmRsZXJzLmNvcm91dGluZXMgPSB7fQoKCgplbmQKCmhhbmRsZXJzLm9uY2VOb25jZSA9IDAKCgoKLS0tIEdpdmVuIGFuIGFycmF5LCBhIHByb3BlcnR5IG5hbWUsIGFuZCBhIHZhbHVlLCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgb2JqZWN0IGluIHRoZSBhcnJheSB0aGF0IGhhcyB0aGUgcHJvcGVydHkgd2l0aCB0aGUgdmFsdWUuCgotLSBAbGZ1bmN0aW9uIGZpbmRJbmRleEJ5UHJvcAoKLS0gQHRwYXJhbSB7dGFibGVbXX0gYXJyYXkgVGhlIGFycmF5IHRvIHNlYXJjaCB0aHJvdWdoCgotLSBAdHBhcmFtIHtzdHJpbmd9IHByb3AgVGhlIHByb3BlcnR5IG5hbWUgdG8gY2hlY2sKCi0tIEB0cGFyYW0ge2FueX0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrIGZvciBpbiB0aGUgcHJvcGVydHkKCi0tIEB0cmV0dXJuIHtudW1iZXIgfCBuaWx9IFRoZSBpbmRleCBvZiB0aGUgb2JqZWN0IGluIHRoZSBhcnJheSB0aGF0IGhhcyB0aGUgcHJvcGVydHkgd2l0aCB0aGUgdmFsdWUsIG9yIG5pbCBpZiBubyBzdWNoIG9iamVjdCBpcyBmb3VuZAoKbG9jYWwgZnVuY3Rpb24gZmluZEluZGV4QnlQcm9wKGFycmF5LCBwcm9wLCB2YWx1ZSkKCiAgZm9yIGluZGV4LCBvYmplY3QgaW4gaXBhaXJzKGFycmF5KSBkbwoKICAgIGlmIG9iamVjdFtwcm9wXSA9PSB2YWx1ZSB0aGVuCgogICAgICByZXR1cm4gaW5kZXgKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiBuaWwKCmVuZAoKCgotLS0gR2l2ZW4gYSBuYW1lLCBhIHBhdHRlcm4sIGFuZCBhIGhhbmRsZSwgYXNzZXJ0cyB0aGF0IHRoZSBhcmd1bWVudHMgYXJlIHZhbGlkLgoKLS0gQGxmdW5jdGlvbiBhc3NlcnRBZGRBcmdzCgotLSBAdHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhhbmRsZXIKCi0tIEB0cGFyYW0ge3RhYmxlIHwgZnVuY3Rpb24gfCBzdHJpbmd9IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gY2hlY2sgZm9yIGluIHRoZSBtZXNzYWdlCgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gaGFuZGxlIFRoZSBmdW5jdGlvbiB0byBjYWxsIGlmIHRoZSBwYXR0ZXJuIG1hdGNoZXMKCi0tIEB0cGFyYW0ge251bWJlciB8IHN0cmluZyB8IG5pbH0gbWF4UnVucyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdGhlIGhhbmRsZXIgc2hvdWxkIHJ1biwgb3IgbmlsIGlmIHRoZXJlIGlzIG5vIGxpbWl0Cgpsb2NhbCBmdW5jdGlvbiBhc3NlcnRBZGRBcmdzKG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgbWF4UnVucykKCiAgYXNzZXJ0KAoKICAgIHR5cGUobmFtZSkgPT0gJ3N0cmluZycgYW5kCgogICAgKHR5cGUocGF0dGVybikgPT0gJ2Z1bmN0aW9uJyBvciB0eXBlKHBhdHRlcm4pID09ICd0YWJsZScgb3IgdHlwZShwYXR0ZXJuKSA9PSAnc3RyaW5nJyksCgogICAgJ0ludmFsaWQgYXJndW1lbnRzIGdpdmVuLiBFeHBlY3RlZDogXG4nIC4uCgogICAgJ1x0bmFtZSA6IHN0cmluZywgJyAuLgoKICAgICdcdHBhdHRlcm4gOiBBY3Rpb24gOiBzdHJpbmcgfCBNc2dNYXRjaCA6IHRhYmxlLFxuJyAuLgoKICAgICdcdFx0ZnVuY3Rpb24obXNnOiBNZXNzYWdlKSA6IHstMSA9IGJyZWFrLCAwID0gc2tpcCwgMSA9IGNvbnRpbnVlfSxcbicgLi4KCiAgICAnXHRoYW5kbGUobXNnIDogTWVzc2FnZSkgOiB2b2lkKSB8IFJlc29sdmVyLFxuJyAuLgoKICAgICdcdE1heFJ1bnM/IDogbnVtYmVyIHwgImluZiIgfCBuaWwnKQoKZW5kCgoKCi0tLSBHaXZlbiBhIHJlc29sdmVyIHNwZWNpZmljYXRpb24sIHJldHVybnMgYSByZXNvbHZlciBmdW5jdGlvbi4KCi0tIEBmdW5jdGlvbiBnZW5lcmF0ZVJlc29sdmVyCgotLSBAdHBhcmFtIHt0YWJsZSB8IGZ1bmN0aW9ufSByZXNvbHZlU3BlYyBUaGUgcmVzb2x2ZXIgc3BlY2lmaWNhdGlvbgoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBBIHJlc29sdmVyIGZ1bmN0aW9uCgpmdW5jdGlvbiBoYW5kbGVycy5nZW5lcmF0ZVJlc29sdmVyKHJlc29sdmVTcGVjKQoKICByZXR1cm4gZnVuY3Rpb24obXNnKQoKICAgIC0tIElmIHRoZSByZXNvbHZlciBpcyBhIHNpbmdsZSBmdW5jdGlvbiwgY2FsbCBpdC4KCiAgICAtLSBFbHNlLCBmaW5kIHRoZSBmaXJzdCBtYXRjaGluZyBwYXR0ZXJuIChieSBpdHMgbWF0Y2hTcGVjKSwgYW5kIGV4ZWMuCgogICAgaWYgdHlwZShyZXNvbHZlU3BlYykgPT0gImZ1bmN0aW9uIiB0aGVuCgogICAgICByZXR1cm4gcmVzb2x2ZVNwZWMobXNnKQoKICAgIGVsc2UKCiAgICAgICAgZm9yIG1hdGNoU3BlYywgZnVuYyBpbiBwYWlycyhyZXNvbHZlU3BlYykgZG8KCiAgICAgICAgICAgIGlmIHV0aWxzLm1hdGNoZXNTcGVjKG1zZywgbWF0Y2hTcGVjKSB0aGVuCgogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmMobXNnKQoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgIGVuZAoKICBlbmQKCmVuZAoKCgotLS0gR2l2ZW4gYSBwYXR0ZXJuLCByZXR1cm5zIHRoZSBuZXh0IG1lc3NhZ2UgdGhhdCBtYXRjaGVzIHRoZSBwYXR0ZXJuLgoKLS0gVGhpcyBmdW5jdGlvbiB1c2VzIEx1YSdzIGNvcm91dGluZXMgdW5kZXItdGhlLWhvb2QgdG8gYWRkIGEgaGFuZGxlciwgcGF1c2UsCgotLSBhbmQgdGhlbiByZXN1bWUgdGhlIGN1cnJlbnQgY29yb3V0aW5lLiBUaGlzIGFsbG93cyB1cyB0byBlZmZlY3RpdmVseSBibG9jawoKLS0gcHJvY2Vzc2luZyBvZiBvbmUgbWVzc2FnZSB1bnRpbCBhbm90aGVyIGlzIHJlY2VpdmVkIHRoYXQgbWF0Y2hlcyB0aGUgcGF0dGVybi4KCi0tIEBmdW5jdGlvbiByZWNlaXZlCgotLSBAdHBhcmFtIHt0YWJsZSB8IGZ1bmN0aW9ufSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIGNoZWNrIGZvciBpbiB0aGUgbWVzc2FnZQoKZnVuY3Rpb24gaGFuZGxlcnMucmVjZWl2ZShwYXR0ZXJuKQoKICBsb2NhbCBzZWxmID0gY29yb3V0aW5lLnJ1bm5pbmcoKQoKICBoYW5kbGVycy5vbmNlKHBhdHRlcm4sIGZ1bmN0aW9uIChtc2cpCgogICAgICAtLSBJZiB0aGUgcmVzdWx0IG9mIHRoZSByZXN1bWVkIGNvcm91dGluZSBpcyBhbiBlcnJvciB0aGVuIHdlIHNob3VsZCBidWJibGUgaXQgdXAgdG8gdGhlIHByb2Nlc3MKCiAgICAgIGxvY2FsIF8sIHN1Y2Nlc3MsIGVycm1zZyA9IGNvcm91dGluZS5yZXN1bWUoc2VsZiwgbXNnKQoKICAgICAgaWYgbm90IHN1Y2Nlc3MgdGhlbgoKICAgICAgICBlcnJvcihlcnJtc2cpCgogICAgICBlbmQKCiAgZW5kKQoKICByZXR1cm4gY29yb3V0aW5lLnlpZWxkKHBhdHRlcm4pCgplbmQKCgoKLS0tIEdpdmVuIGEgbmFtZSwgYSBwYXR0ZXJuLCBhbmQgYSBoYW5kbGUsIGFkZHMgYSBoYW5kbGVyIHRvIHRoZSBsaXN0LgoKLS0gSWYgbmFtZSBpcyBub3QgcHJvdmlkZWQsICJfb25jZV8iIHByZWZpeCBwbHVzIG9uY2VOb25jZSB3aWxsIGJlIHVzZWQgYXMgdGhlIG5hbWUuCgotLSBBZGRzIGhhbmRsZXIgd2l0aCBtYXhSdW5zIG9mIDEgc3VjaCB0aGF0IGl0IHdpbGwgb25seSBiZSBjYWxsZWQgb25jZSB0aGVuIHJlbW92ZWQgZnJvbSB0aGUgbGlzdC4KCi0tIEBmdW5jdGlvbiBvbmNlCgotLSBAdHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhhbmRsZXIKCi0tIEB0cGFyYW0ge3RhYmxlIHwgZnVuY3Rpb24gfCBzdHJpbmd9IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gY2hlY2sgZm9yIGluIHRoZSBtZXNzYWdlCgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gaGFuZGxlIFRoZSBmdW5jdGlvbiB0byBjYWxsIGlmIHRoZSBwYXR0ZXJuIG1hdGNoZXMKCmZ1bmN0aW9uIGhhbmRsZXJzLm9uY2UoLi4uKQoKICBsb2NhbCBuYW1lLCBwYXR0ZXJuLCBoYW5kbGUKCiAgaWYgc2VsZWN0KCIjIiwgLi4uKSA9PSAzIHRoZW4KCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDIsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMywgLi4uKQoKICBlbHNlCgogICAgbmFtZSA9ICJfb25jZV8iIC4uIHRvc3RyaW5nKGhhbmRsZXJzLm9uY2VOb25jZSkKCiAgICBoYW5kbGVycy5vbmNlTm9uY2UgPSBoYW5kbGVycy5vbmNlTm9uY2UgKyAxCgogICAgcGF0dGVybiA9IHNlbGVjdCgxLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDIsIC4uLikKCiAgZW5kCgogIGhhbmRsZXJzLnByZXBlbmQobmFtZSwgcGF0dGVybiwgaGFuZGxlLCAxKQoKZW5kCgoKCi0tLSBHaXZlbiBhIG5hbWUsIGEgcGF0dGVybiwgYW5kIGEgaGFuZGxlLCBhZGRzIGEgaGFuZGxlciB0byB0aGUgbGlzdC4KCi0tIEBmdW5jdGlvbiBhZGQKCi0tIEB0cGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgaGFuZGxlcgoKLS0gQHRwYXJhbSB7dGFibGUgfCBmdW5jdGlvbiB8IHN0cmluZ30gcGF0dGVybiBUaGUgcGF0dGVybiB0byBjaGVjayBmb3IgaW4gdGhlIG1lc3NhZ2UKCi0tIEB0cGFyYW0ge2Z1bmN0aW9ufSBoYW5kbGUgVGhlIGZ1bmN0aW9uIHRvIGNhbGwgaWYgdGhlIHBhdHRlcm4gbWF0Y2hlcwoKLS0gQHRwYXJhbSB7bnVtYmVyIHwgc3RyaW5nIHwgbmlsfSBtYXhSdW5zIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgaGFuZGxlciBzaG91bGQgcnVuLCBvciBuaWwgaWYgdGhlcmUgaXMgbm8gbGltaXQKCmZ1bmN0aW9uIGhhbmRsZXJzLmFkZCguLi4pCgogIGxvY2FsIG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgbWF4UnVucwoKICBsb2NhbCBhcmdzID0gc2VsZWN0KCIjIiwgLi4uKQoKICBpZiBhcmdzID09IDIgdGhlbgoKICAgIG5hbWUgPSBzZWxlY3QoMSwgLi4uKQoKICAgIHBhdHRlcm4gPSBzZWxlY3QoMSwgLi4uKQoKICAgIGhhbmRsZSA9IHNlbGVjdCgyLCAuLi4pCgogICAgbWF4UnVucyA9IG5pbAoKICBlbHNlaWYgYXJncyA9PSAzIHRoZW4KCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDIsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMywgLi4uKQoKICAgIG1heFJ1bnMgPSBuaWwKCiAgZWxzZSAKCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDIsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMywgLi4uKQoKICAgIG1heFJ1bnMgPSBzZWxlY3QoNCwgLi4uKQoKICBlbmQKCiAgYXNzZXJ0QWRkQXJncyhuYW1lLCBwYXR0ZXJuLCBoYW5kbGUsIG1heFJ1bnMpCgogIAoKICBoYW5kbGUgPSBoYW5kbGVycy5nZW5lcmF0ZVJlc29sdmVyKGhhbmRsZSkKCiAgCgogIC0tIHVwZGF0ZSBleGlzdGluZyBoYW5kbGVyIGJ5IG5hbWUKCiAgbG9jYWwgaWR4ID0gZmluZEluZGV4QnlQcm9wKGhhbmRsZXJzLmxpc3QsICJuYW1lIiwgbmFtZSkKCiAgaWYgaWR4IH49IG5pbCBhbmQgaWR4ID4gMCB0aGVuCgogICAgLS0gZm91bmQgdXBkYXRlCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLnBhdHRlcm4gPSBwYXR0ZXJuCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLmhhbmRsZSA9IGhhbmRsZQoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5tYXhSdW5zID0gbWF4UnVucwoKICBlbHNlCgogICAgLS0gbm90IGZvdW5kIHRoZW4gYWRkICAgIAoKICAgIHRhYmxlLmluc2VydChoYW5kbGVycy5saXN0LCB7IHBhdHRlcm4gPSBwYXR0ZXJuLCBoYW5kbGUgPSBoYW5kbGUsIG5hbWUgPSBuYW1lLCBtYXhSdW5zID0gbWF4UnVucyB9KQoKCgogIGVuZAoKICByZXR1cm4gI2hhbmRsZXJzLmxpc3QKCmVuZAoKCgotLS0gQXBwZW5kcyBhIG5ldyBoYW5kbGVyIHRvIHRoZSBlbmQgb2YgdGhlIGhhbmRsZXJzIGxpc3QuCgotLSBAZnVuY3Rpb24gYXBwZW5kCgotLSBAdHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhhbmRsZXIKCi0tIEB0cGFyYW0ge3RhYmxlIHwgZnVuY3Rpb24gfCBzdHJpbmd9IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gY2hlY2sgZm9yIGluIHRoZSBtZXNzYWdlCgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gaGFuZGxlIFRoZSBmdW5jdGlvbiB0byBjYWxsIGlmIHRoZSBwYXR0ZXJuIG1hdGNoZXMKCi0tIEB0cGFyYW0ge251bWJlciB8IHN0cmluZyB8IG5pbH0gbWF4UnVucyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdGhlIGhhbmRsZXIgc2hvdWxkIHJ1biwgb3IgbmlsIGlmIHRoZXJlIGlzIG5vIGxpbWl0CgpmdW5jdGlvbiBoYW5kbGVycy5hcHBlbmQoLi4uKQoKICBsb2NhbCBuYW1lLCBwYXR0ZXJuLCBoYW5kbGUsIG1heFJ1bnMKCiAgbG9jYWwgYXJncyA9IHNlbGVjdCgiIyIsIC4uLikKCiAgaWYgYXJncyA9PSAyIHRoZW4KCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDEsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMiwgLi4uKQoKICAgIG1heFJ1bnMgPSBuaWwKCiAgZWxzZWlmIGFyZ3MgPT0gMyB0aGVuCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgyLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDMsIC4uLikKCiAgICBtYXhSdW5zID0gbmlsCgogIGVsc2UgCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgyLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDMsIC4uLikKCiAgICBtYXhSdW5zID0gc2VsZWN0KDQsIC4uLikKCiAgZW5kCgogIGFzc2VydEFkZEFyZ3MobmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zKQoKICAKCiAgaGFuZGxlID0gaGFuZGxlcnMuZ2VuZXJhdGVSZXNvbHZlcihoYW5kbGUpCgogIC0tIHVwZGF0ZSBleGlzdGluZyBoYW5kbGVyIGJ5IG5hbWUKCiAgbG9jYWwgaWR4ID0gZmluZEluZGV4QnlQcm9wKGhhbmRsZXJzLmxpc3QsICJuYW1lIiwgbmFtZSkKCiAgaWYgaWR4IH49IG5pbCBhbmQgaWR4ID4gMCB0aGVuCgogICAgLS0gZm91bmQgdXBkYXRlCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLnBhdHRlcm4gPSBwYXR0ZXJuCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLmhhbmRsZSA9IGhhbmRsZQoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5tYXhSdW5zID0gbWF4UnVucwoKICBlbHNlCgogICAgCgogICAgdGFibGUuaW5zZXJ0KGhhbmRsZXJzLmxpc3QsIHsgcGF0dGVybiA9IHBhdHRlcm4sIGhhbmRsZSA9IGhhbmRsZSwgbmFtZSA9IG5hbWUsIG1heFJ1bnMgPSBtYXhSdW5zIH0pCgogIGVuZAoKCgogIAoKZW5kCgoKCi0tLSBQcmVwZW5kcyBhIG5ldyBoYW5kbGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGhhbmRsZXJzIGxpc3QuCgotLSBAZnVuY3Rpb24gcHJlcGVuZAoKLS0gQHRwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyCgotLSBAdHBhcmFtIHt0YWJsZSB8IGZ1bmN0aW9uIHwgc3RyaW5nfSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIGNoZWNrIGZvciBpbiB0aGUgbWVzc2FnZQoKLS0gQHRwYXJhbSB7ZnVuY3Rpb259IGhhbmRsZSBUaGUgZnVuY3Rpb24gdG8gY2FsbCBpZiB0aGUgcGF0dGVybiBtYXRjaGVzCgotLSBAdHBhcmFtIHtudW1iZXIgfCBzdHJpbmcgfCBuaWx9IG1heFJ1bnMgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBoYW5kbGVyIHNob3VsZCBydW4sIG9yIG5pbCBpZiB0aGVyZSBpcyBubyBsaW1pdAoKZnVuY3Rpb24gaGFuZGxlcnMucHJlcGVuZCguLi4pCgogIGxvY2FsIG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgbWF4UnVucwoKICBsb2NhbCBhcmdzID0gc2VsZWN0KCIjIiwgLi4uKQoKICBpZiBhcmdzID09IDIgdGhlbgoKICAgIG5hbWUgPSBzZWxlY3QoMSwgLi4uKQoKICAgIHBhdHRlcm4gPSBzZWxlY3QoMSwgLi4uKQoKICAgIGhhbmRsZSA9IHNlbGVjdCgyLCAuLi4pCgogICAgbWF4UnVucyA9IG5pbAoKICBlbHNlaWYgYXJncyA9PSAzIHRoZW4KCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDIsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMywgLi4uKQoKICAgIG1heFJ1bnMgPSBuaWwKCiAgZWxzZSAKCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDIsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMywgLi4uKQoKICAgIG1heFJ1bnMgPSBzZWxlY3QoNCwgLi4uKQoKICBlbmQKCiAgYXNzZXJ0QWRkQXJncyhuYW1lLCBwYXR0ZXJuLCBoYW5kbGUsIG1heFJ1bnMpCgoKCiAgaGFuZGxlID0gaGFuZGxlcnMuZ2VuZXJhdGVSZXNvbHZlcihoYW5kbGUpCgoKCiAgLS0gdXBkYXRlIGV4aXN0aW5nIGhhbmRsZXIgYnkgbmFtZQoKICBsb2NhbCBpZHggPSBmaW5kSW5kZXhCeVByb3AoaGFuZGxlcnMubGlzdCwgIm5hbWUiLCBuYW1lKQoKICBpZiBpZHggfj0gbmlsIGFuZCBpZHggPiAwIHRoZW4KCiAgICAtLSBmb3VuZCB1cGRhdGUKCiAgICBoYW5kbGVycy5saXN0W2lkeF0ucGF0dGVybiA9IHBhdHRlcm4KCiAgICBoYW5kbGVycy5saXN0W2lkeF0uaGFuZGxlID0gaGFuZGxlCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLm1heFJ1bnMgPSBtYXhSdW5zCgogIGVsc2UgIAoKICAgIHRhYmxlLmluc2VydChoYW5kbGVycy5saXN0LCAxLCB7IHBhdHRlcm4gPSBwYXR0ZXJuLCBoYW5kbGUgPSBoYW5kbGUsIG5hbWUgPSBuYW1lLCBtYXhSdW5zID0gbWF4UnVucyB9KQoKICBlbmQKCgoKICAKCmVuZAoKCgotLS0gUmV0dXJucyBhbiBvYmplY3QgdGhhdCBhbGxvd3MgYWRkaW5nIGEgbmV3IGhhbmRsZXIgYmVmb3JlIGEgc3BlY2lmaWVkIGhhbmRsZXIuCgotLSBAZnVuY3Rpb24gYmVmb3JlCgotLSBAdHBhcmFtIHtzdHJpbmd9IGhhbmRsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGhhbmRsZXIgYmVmb3JlIHdoaWNoIHRoZSBuZXcgaGFuZGxlciB3aWxsIGJlIGFkZGVkCgotLSBAdHJldHVybiB7dGFibGV9IEFuIG9iamVjdCB3aXRoIGFuIGBhZGRgIG1ldGhvZCB0byBpbnNlcnQgdGhlIG5ldyBoYW5kbGVyCgpmdW5jdGlvbiBoYW5kbGVycy5iZWZvcmUoaGFuZGxlTmFtZSkKCiAgYXNzZXJ0KHR5cGUoaGFuZGxlTmFtZSkgPT0gJ3N0cmluZycsICdIYW5kbGVyIG5hbWUgTVVTVCBiZSBhIHN0cmluZycpCgoKCiAgbG9jYWwgaWR4ID0gZmluZEluZGV4QnlQcm9wKGhhbmRsZXJzLmxpc3QsICJuYW1lIiwgaGFuZGxlTmFtZSkKCiAgcmV0dXJuIHsKCiAgICBhZGQgPSBmdW5jdGlvbiAobmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zKSAKCiAgICAgIGFzc2VydEFkZEFyZ3MobmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zKQoKICAgICAgCgogICAgICBoYW5kbGUgPSBoYW5kbGVycy5nZW5lcmF0ZVJlc29sdmVyKGhhbmRsZSkKCiAgICAgIAoKICAgICAgaWYgaWR4IHRoZW4KCiAgICAgICAgdGFibGUuaW5zZXJ0KGhhbmRsZXJzLmxpc3QsIGlkeCwgeyBwYXR0ZXJuID0gcGF0dGVybiwgaGFuZGxlID0gaGFuZGxlLCBuYW1lID0gbmFtZSwgbWF4UnVucyA9IG1heFJ1bnMgfSkKCiAgICAgIGVuZAoKICAgICAgCgogICAgZW5kCgogIH0KCmVuZAoKCgotLS0gUmV0dXJucyBhbiBvYmplY3QgdGhhdCBhbGxvd3MgYWRkaW5nIGEgbmV3IGhhbmRsZXIgYWZ0ZXIgYSBzcGVjaWZpZWQgaGFuZGxlci4KCi0tIEBmdW5jdGlvbiBhZnRlcgoKLS0gQHRwYXJhbSB7c3RyaW5nfSBoYW5kbGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyIGFmdGVyIHdoaWNoIHRoZSBuZXcgaGFuZGxlciB3aWxsIGJlIGFkZGVkCgotLSBAdHJldHVybiB7dGFibGV9IEFuIG9iamVjdCB3aXRoIGFuIGBhZGRgIG1ldGhvZCB0byBpbnNlcnQgdGhlIG5ldyBoYW5kbGVyCgpmdW5jdGlvbiBoYW5kbGVycy5hZnRlcihoYW5kbGVOYW1lKQoKICBhc3NlcnQodHlwZShoYW5kbGVOYW1lKSA9PSAnc3RyaW5nJywgJ0hhbmRsZXIgbmFtZSBNVVNUIGJlIGEgc3RyaW5nJykKCiAgbG9jYWwgaWR4ID0gZmluZEluZGV4QnlQcm9wKGhhbmRsZXJzLmxpc3QsICJuYW1lIiwgaGFuZGxlTmFtZSkKCiAgcmV0dXJuIHsKCiAgICBhZGQgPSBmdW5jdGlvbiAobmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zKQoKICAgICAgYXNzZXJ0QWRkQXJncyhuYW1lLCBwYXR0ZXJuLCBoYW5kbGUsIG1heFJ1bnMpCgogICAgICAKCiAgICAgIGhhbmRsZSA9IGhhbmRsZXJzLmdlbmVyYXRlUmVzb2x2ZXIoaGFuZGxlKQoKICAgICAgCgogICAgICBpZiBpZHggdGhlbgoKICAgICAgICB0YWJsZS5pbnNlcnQoaGFuZGxlcnMubGlzdCwgaWR4ICsgMSwgeyBwYXR0ZXJuID0gcGF0dGVybiwgaGFuZGxlID0gaGFuZGxlLCBuYW1lID0gbmFtZSwgbWF4UnVucyA9IG1heFJ1bnMgfSkKCiAgICAgIGVuZAoKICAgICAgCgogICAgZW5kCgogIH0KCgoKZW5kCgoKCi0tLSBSZW1vdmVzIGEgaGFuZGxlciBmcm9tIHRoZSBoYW5kbGVycyBsaXN0IGJ5IG5hbWUuCgotLSBAZnVuY3Rpb24gcmVtb3ZlCgotLSBAdHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhhbmRsZXIgdG8gYmUgcmVtb3ZlZAoKZnVuY3Rpb24gaGFuZGxlcnMucmVtb3ZlKG5hbWUpCgogIGFzc2VydCh0eXBlKG5hbWUpID09ICdzdHJpbmcnLCAnbmFtZSBNVVNUIGJlIHN0cmluZycpCgogIGlmICNoYW5kbGVycy5saXN0ID09IDEgYW5kIGhhbmRsZXJzLmxpc3RbMV0ubmFtZSA9PSBuYW1lIHRoZW4KCiAgICBoYW5kbGVycy5saXN0ID0ge30KCiAgICAKCiAgZW5kCgoKCiAgbG9jYWwgaWR4ID0gZmluZEluZGV4QnlQcm9wKGhhbmRsZXJzLmxpc3QsICJuYW1lIiwgbmFtZSkKCiAgaWYgaWR4IH49IG5pbCBhbmQgaWR4ID4gMCB0aGVuCgogICAgdGFibGUucmVtb3ZlKGhhbmRsZXJzLmxpc3QsIGlkeCkKCiAgZW5kCgogIAoKZW5kCgoKCi0tLSBFdmFsdWF0ZXMgZWFjaCBoYW5kbGVyIGFnYWluc3QgYSBnaXZlbiBtZXNzYWdlIGFuZCBlbnZpcm9ubWVudC4gSGFuZGxlcnMgYXJlIGNhbGxlZCBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIgaW4gdGhlIGhhbmRsZXJzIGxpc3QuCgotLSBSZXR1cm4gMCB0byBub3QgY2FsbCBoYW5kbGVyLCAtMSB0byBicmVhayBhZnRlciBoYW5kbGVyIGlzIGNhbGxlZCwgMSB0byBjb250aW51ZQoKLS0gQGZ1bmN0aW9uIGV2YWx1YXRlCgotLSBAdHBhcmFtIHt0YWJsZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGJlIHByb2Nlc3NlZCBieSB0aGUgaGFuZGxlcnMuCgotLSBAdHBhcmFtIHt0YWJsZX0gZW52IFRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCB0aGUgaGFuZGxlcnMgYXJlIGV4ZWN1dGVkLgoKLS0gQHRyZXR1cm4gVGhlIHJlc3BvbnNlIGZyb20gdGhlIGhhbmRsZXIocykuIFJldHVybnMgYSBkZWZhdWx0IG1lc3NhZ2UgaWYgbm8gaGFuZGxlciBtYXRjaGVzLgoKZnVuY3Rpb24gaGFuZGxlcnMuZXZhbHVhdGUobXNnLCBlbnYpCgogIGxvY2FsIGhhbmRsZWQgPSBmYWxzZQoKICBhc3NlcnQodHlwZShtc2cpID09ICd0YWJsZScsICdtc2cgaXMgbm90IHZhbGlkJykKCiAgYXNzZXJ0KHR5cGUoZW52KSA9PSAndGFibGUnLCAnZW52IGlzIG5vdCB2YWxpZCcpCgogIAoKICBmb3IgXywgbyBpbiBpcGFpcnMoaGFuZGxlcnMubGlzdCkgZG8KCiAgICBpZiBvLm5hbWUgfj0gIl9kZWZhdWx0IiB0aGVuCgogICAgICBsb2NhbCBtYXRjaCA9IHV0aWxzLm1hdGNoZXNTcGVjKG1zZywgby5wYXR0ZXJuKQoKICAgICAgaWYgbm90ICh0eXBlKG1hdGNoKSA9PSAnbnVtYmVyJyBvciB0eXBlKG1hdGNoKSA9PSAnc3RyaW5nJyBvciB0eXBlKG1hdGNoKSA9PSAnYm9vbGVhbicpIHRoZW4KCiAgICAgICAgZXJyb3IoIlBhdHRlcm4gcmVzdWx0IGlzIG5vdCB2YWxpZCwgaXQgTVVTVCBiZSBzdHJpbmcsIG51bWJlciwgb3IgYm9vbGVhbiIpCgogICAgICBlbmQKCiAgICAgIAoKICAgICAgLS0gaGFuZGxlIGJvb2xlYW4gcmV0dXJucwoKICAgICAgaWYgdHlwZShtYXRjaCkgPT0gImJvb2xlYW4iIGFuZCBtYXRjaCA9PSB0cnVlIHRoZW4KCiAgICAgICAgbWF0Y2ggPSAtMQoKICAgICAgZWxzZWlmIHR5cGUobWF0Y2gpID09ICJib29sZWFuIiBhbmQgbWF0Y2ggPT0gZmFsc2UgdGhlbgoKICAgICAgICBtYXRjaCA9IDAKCiAgICAgIGVuZAoKCgogICAgICAtLSBoYW5kbGUgc3RyaW5nIHJldHVybnMKCiAgICAgIGlmIHR5cGUobWF0Y2gpID09ICJzdHJpbmciIHRoZW4KCiAgICAgICAgaWYgbWF0Y2ggPT0gImNvbnRpbnVlIiB0aGVuCgogICAgICAgICAgbWF0Y2ggPSAxCgogICAgICAgIGVsc2VpZiBtYXRjaCA9PSAiYnJlYWsiIHRoZW4KCiAgICAgICAgICBtYXRjaCA9IC0xCgogICAgICAgIGVsc2UKCiAgICAgICAgICBtYXRjaCA9IDAKCiAgICAgICAgZW5kCgogICAgICBlbmQKCgoKICAgICAgaWYgbWF0Y2ggfj0gMCB0aGVuCgogICAgICAgIGlmIG1hdGNoIDwgMCB0aGVuCgogICAgICAgICAgaGFuZGxlZCA9IHRydWUKCiAgICAgICAgZW5kCgogICAgICAgIC0tIGVhY2ggaGFuZGxlIGZ1bmN0aW9uIGNhbiBhY2NlcHQsIHRoZSBtc2csIGVudgoKICAgICAgICBsb2NhbCBzdGF0dXMsIGVyciA9IHBjYWxsKG8uaGFuZGxlLCBtc2csIGVudikKCiAgICAgICAgaWYgbm90IHN0YXR1cyB0aGVuCgogICAgICAgICAgZXJyb3IoZXJyKQoKICAgICAgICBlbmQKCiAgICAgICAgLS0gcmVtb3ZlIGhhbmRsZXIgaWYgbWF4UnVucyBpcyByZWFjaGVkLiBtYXhSdW5zIGNhbiBiZSBlaXRoZXIgYSBudW1iZXIgb3IgImluZiIKCiAgICAgICAgaWYgby5tYXhSdW5zIH49IG5pbCBhbmQgby5tYXhSdW5zIH49ICJpbmYiIHRoZW4KCiAgICAgICAgICBvLm1heFJ1bnMgPSBvLm1heFJ1bnMgLSAxCgogICAgICAgICAgaWYgby5tYXhSdW5zID09IDAgdGhlbgoKICAgICAgICAgICAgaGFuZGxlcnMucmVtb3ZlKG8ubmFtZSkKCiAgICAgICAgICBlbmQKCiAgICAgICAgZW5kCgogICAgICBlbmQKCiAgICAgIGlmIG1hdGNoIDwgMCB0aGVuCgogICAgICAgIHJldHVybiBoYW5kbGVkCgogICAgICBlbmQKCiAgICBlbmQKCiAgZW5kCgogIC0tIGRvIGRlZmF1bHQKCiAgaWYgbm90IGhhbmRsZWQgdGhlbgoKICAgIGxvY2FsIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChoYW5kbGVycy5saXN0LCAibmFtZSIsICJfZGVmYXVsdCIpCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLmhhbmRsZShtc2csZW52KQoKICBlbmQKCmVuZAoKCgpyZXR1cm4gaGFuZGxlcnMKLS0tIFRoZSBBTyBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgbWFuYWdpbmcgdGhlIEFPIGVudmlyb25tZW50IGFuZCBoYW5kbGluZyBtZXNzYWdlcy4gUmV0dXJucyB0aGUgYW8gdGFibGUuCgotLSBAbW9kdWxlIGFvCgoKCmxvY2FsIG9sZGFvID0gYW8gb3Ige30KCgoKLS0tIFRoZSBBTyBtb2R1bGUKCi0tIEB0YWJsZSBhbwoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgYW8gbW9kdWxlCgotLSBAZmllbGQgX21vZHVsZSBUaGUgbW9kdWxlIGlkIG9mIHRoZSBwcm9jZXNzCgotLSBAZmllbGQgaWQgVGhlIGlkIG9mIHRoZSBwcm9jZXNzCgotLSBAZmllbGQgYXV0aG9yaXRpZXMgQSB0YWJsZSBvZiBhdXRob3JpdGllcyBvZiB0aGUgcHJvY2VzcwoKLS0gQGZpZWxkIHJlZmVyZW5jZSBUaGUgcmVmZXJlbmNlIG51bWJlciBvZiB0aGUgcHJvY2VzcwoKLS0gQGZpZWxkIG91dGJveCBUaGUgb3V0Ym94IG9mIHRoZSBwcm9jZXNzCgotLSBAZmllbGQgbm9uRXh0cmFjdGFibGVUYWdzIFRoZSBub24tZXh0cmFjdGFibGUgdGFncwoKLS0gQGZpZWxkIG5vbkZvcndhcmRhYmxlVGFncyBUaGUgbm9uLWZvcndhcmRhYmxlIHRhZ3MKCi0tIEBmaWVsZCBjbG9uZSBUaGUgY2xvbmUgZnVuY3Rpb24KCi0tIEBmaWVsZCBub3JtYWxpemUgVGhlIG5vcm1hbGl6ZSBmdW5jdGlvbgoKLS0gQGZpZWxkIHNhbml0aXplIFRoZSBzYW5pdGl6ZSBmdW5jdGlvbgoKLS0gQGZpZWxkIGluaXQgVGhlIGluaXQgZnVuY3Rpb24KCi0tIEBmaWVsZCBsb2cgVGhlIGxvZyBmdW5jdGlvbgoKLS0gQGZpZWxkIGNsZWFyT3V0Ym94IFRoZSBjbGVhck91dGJveCBmdW5jdGlvbgoKLS0gQGZpZWxkIHNlbmQgVGhlIHNlbmQgZnVuY3Rpb24KCi0tIEBmaWVsZCBzcGF3biBUaGUgc3Bhd24gZnVuY3Rpb24KCi0tIEBmaWVsZCBhc3NpZ24gVGhlIGFzc2lnbiBmdW5jdGlvbgoKLS0gQGZpZWxkIGlzVHJ1c3RlZCBUaGUgaXNUcnVzdGVkIGZ1bmN0aW9uCgotLSBAZmllbGQgcmVzdWx0IFRoZSByZXN1bHQgZnVuY3Rpb24KCmxvY2FsIGFvID0gewoKICAgIF92ZXJzaW9uID0gIjAuMC42IiwKCiAgICBpZCA9IG9sZGFvLmlkIG9yICIiLAoKICAgIF9tb2R1bGUgPSBvbGRhby5fbW9kdWxlIG9yICIiLAoKICAgIGF1dGhvcml0aWVzID0gb2xkYW8uYXV0aG9yaXRpZXMgb3Ige30sCgogICAgcmVmZXJlbmNlID0gb2xkYW8ucmVmZXJlbmNlIG9yIDAsCgogICAgb3V0Ym94ID0gb2xkYW8ub3V0Ym94IG9yCgogICAgICAgIHtPdXRwdXQgPSB7fSwgTWVzc2FnZXMgPSB7fSwgU3Bhd25zID0ge30sIEFzc2lnbm1lbnRzID0ge319LAoKICAgIG5vbkV4dHJhY3RhYmxlVGFncyA9IHsKCiAgICAgICAgJ0RhdGEtUHJvdG9jb2wnLCAnVmFyaWFudCcsICdGcm9tLVByb2Nlc3MnLCAnRnJvbS1Nb2R1bGUnLCAnVHlwZScsCgogICAgICAgICdGcm9tJywgJ093bmVyJywgJ0FuY2hvcicsICdUYXJnZXQnLCAnRGF0YScsICdUYWdzJywgJ1JlYWQtT25seScKCiAgICB9LAoKICAgIG5vbkZvcndhcmRhYmxlVGFncyA9IHsKCiAgICAgICAgJ0RhdGEtUHJvdG9jb2wnLCAnVmFyaWFudCcsICdGcm9tLVByb2Nlc3MnLCAnRnJvbS1Nb2R1bGUnLCAnVHlwZScsCgogICAgICAgICdGcm9tJywgJ093bmVyJywgJ0FuY2hvcicsICdUYXJnZXQnLCAnVGFncycsICdUYWdBcnJheScsICdIYXNoLUNoYWluJywKCiAgICAgICAgJ1RpbWVzdGFtcCcsICdOb25jZScsICdFcG9jaCcsICdTaWduYXR1cmUnLCAnRm9yd2FyZGVkLUJ5JywKCiAgICAgICAgJ1B1c2hlZC1Gb3InLCAnUmVhZC1Pbmx5JywgJ0Nyb24nLCAnQmxvY2stSGVpZ2h0JywgJ1JlZmVyZW5jZScsICdJZCcsCgogICAgICAgICdSZXBseS1UbycKCiAgICB9Cgp9CgoKCi0tLSBDaGVja3MgaWYgYSBrZXkgZXhpc3RzIGluIGEgbGlzdC4KCi0tIEBsZnVuY3Rpb24gX2luY2x1ZGVzCgotLSBAdHBhcmFtIHt0YWJsZX0gbGlzdCBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0CgotLSBAdHJldHVybiB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIGtleSBhbmQgcmV0dXJucyB0cnVlIGlmIHRoZSBrZXkgZXhpc3RzIGluIHRoZSBsaXN0Cgpsb2NhbCBmdW5jdGlvbiBfaW5jbHVkZXMobGlzdCkKCiAgICByZXR1cm4gZnVuY3Rpb24oa2V5KQoKICAgICAgICBsb2NhbCBleGlzdHMgPSBmYWxzZQoKICAgICAgICBmb3IgXywgbGlzdEtleSBpbiBpcGFpcnMobGlzdCkgZG8KCiAgICAgICAgICAgIGlmIGtleSA9PSBsaXN0S2V5IHRoZW4KCiAgICAgICAgICAgICAgICBleGlzdHMgPSB0cnVlCgogICAgICAgICAgICAgICAgYnJlYWsKCiAgICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICAgICAgaWYgbm90IGV4aXN0cyB0aGVuIHJldHVybiBmYWxzZSBlbmQKCiAgICAgICAgcmV0dXJuIHRydWUKCiAgICBlbmQKCmVuZAoKCgotLS0gQ2hlY2tzIGlmIGEgdGFibGUgaXMgYW4gYXJyYXkuCgotLSBAbGZ1bmN0aW9uIGlzQXJyYXkKCi0tIEB0cGFyYW0ge3RhYmxlfSB0YWJsZSBUaGUgdGFibGUgdG8gY2hlY2sKCi0tIEB0cmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSB0YWJsZSBpcyBhbiBhcnJheSwgZmFsc2Ugb3RoZXJ3aXNlCgpsb2NhbCBmdW5jdGlvbiBpc0FycmF5KHRhYmxlKQoKICAgIGlmIHR5cGUodGFibGUpID09ICJ0YWJsZSIgdGhlbgoKICAgICAgICBsb2NhbCBtYXhJbmRleCA9IDAKCiAgICAgICAgZm9yIGssIHYgaW4gcGFpcnModGFibGUpIGRvCgogICAgICAgICAgICBpZiB0eXBlKGspIH49ICJudW1iZXIiIG9yIGsgPCAxIG9yIG1hdGguZmxvb3Ioaykgfj0gayB0aGVuCgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlIC0tIElmIHRoZXJlJ3MgYSBub24taW50ZWdlciBrZXksIGl0J3Mgbm90IGFuIGFycmF5CgogICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIG1heEluZGV4ID0gbWF0aC5tYXgobWF4SW5kZXgsIGspCgogICAgICAgIGVuZAoKICAgICAgICAtLSBJZiB0aGUgaGlnaGVzdCBudW1lcmljIGluZGV4IGlzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudHMsIGl0J3MgYW4gYXJyYXkKCiAgICAgICAgcmV0dXJuIG1heEluZGV4ID09ICN0YWJsZQoKICAgIGVuZAoKICAgIHJldHVybiBmYWxzZQoKZW5kCgoKCi0tLSBQYWRzIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyB0byAzMiBkaWdpdHMuCgotLSBAbGZ1bmN0aW9uIHBhZFplcm8zMgoKLS0gQHRwYXJhbSB7bnVtYmVyfSBudW0gVGhlIG51bWJlciB0byBwYWQKCi0tIEB0cmV0dXJuIHtzdHJpbmd9IFRoZSBwYWRkZWQgbnVtYmVyIGFzIGEgc3RyaW5nCgpsb2NhbCBmdW5jdGlvbiBwYWRaZXJvMzIobnVtKSByZXR1cm4gc3RyaW5nLmZvcm1hdCgiJTAzMmQiLCBudW0pIGVuZAoKCgotLS0gQ2xvbmVzIGEgdGFibGUgcmVjdXJzaXZlbHkuCgotLSBAZnVuY3Rpb24gY2xvbmUKCi0tIEB0cGFyYW0ge2FueX0gb2JqIFRoZSBvYmplY3QgdG8gY2xvbmUKCi0tIEB0cGFyYW0ge3RhYmxlfSBzZWVuIFRoZSB0YWJsZSBvZiBzZWVuIG9iamVjdHMgKGRlZmF1bHQgaXMgbmlsKQoKLS0gQHRyZXR1cm4ge2FueX0gVGhlIGNsb25lZCBvYmplY3QKCmZ1bmN0aW9uIGFvLmNsb25lKG9iaiwgc2VlbikKCiAgICAtLSBIYW5kbGUgbm9uLXRhYmxlcyBhbmQgcHJldmlvdXNseS1zZWVuIHRhYmxlcy4KCiAgICBpZiB0eXBlKG9iaikgfj0gJ3RhYmxlJyB0aGVuIHJldHVybiBvYmogZW5kCgogICAgaWYgc2VlbiBhbmQgc2VlbltvYmpdIHRoZW4gcmV0dXJuIHNlZW5bb2JqXSBlbmQKCgoKICAgIC0tIE5ldyB0YWJsZTsgbWFyayBpdCBhcyBzZWVuIGFuZCBjb3B5IHJlY3Vyc2l2ZWx5LgoKICAgIGxvY2FsIHMgPSBzZWVuIG9yIHt9CgogICAgbG9jYWwgcmVzID0ge30KCiAgICBzW29ial0gPSByZXMKCiAgICBmb3IgaywgdiBpbiBwYWlycyhvYmopIGRvIHJlc1thby5jbG9uZShrLCBzKV0gPSBhby5jbG9uZSh2LCBzKSBlbmQKCiAgICByZXR1cm4gc2V0bWV0YXRhYmxlKHJlcywgZ2V0bWV0YXRhYmxlKG9iaikpCgplbmQKCgoKLS0tIE5vcm1hbGl6ZXMgYSBtZXNzYWdlIGJ5IGV4dHJhY3RpbmcgdGFncy4KCi0tIEBmdW5jdGlvbiBub3JtYWxpemUKCi0tIEB0cGFyYW0ge3RhYmxlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gbm9ybWFsaXplCgotLSBAdHJldHVybiB7dGFibGV9IFRoZSBub3JtYWxpemVkIG1lc3NhZ2UKCmZ1bmN0aW9uIGFvLm5vcm1hbGl6ZShtc2cpCgogICAgZm9yIF8sIG8gaW4gaXBhaXJzKG1zZy5UYWdzKSBkbwoKICAgICAgICBpZiBub3QgX2luY2x1ZGVzKGFvLm5vbkV4dHJhY3RhYmxlVGFncykoby5uYW1lKSB0aGVuCgogICAgICAgICAgICBtc2dbby5uYW1lXSA9IG8udmFsdWUKCiAgICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIG1zZwoKZW5kCgoKCi0tLSBTYW5pdGl6ZXMgYSBtZXNzYWdlIGJ5IHJlbW92aW5nIG5vbi1mb3J3YXJkYWJsZSB0YWdzLgoKLS0gQGZ1bmN0aW9uIHNhbml0aXplCgotLSBAdHBhcmFtIHt0YWJsZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHNhbml0aXplCgotLSBAdHJldHVybiB7dGFibGV9IFRoZSBzYW5pdGl6ZWQgbWVzc2FnZQoKZnVuY3Rpb24gYW8uc2FuaXRpemUobXNnKQoKICAgIGxvY2FsIG5ld01zZyA9IGFvLmNsb25lKG1zZykKCgoKICAgIGZvciBrLCBfIGluIHBhaXJzKG5ld01zZykgZG8KCiAgICAgICAgaWYgX2luY2x1ZGVzKGFvLm5vbkZvcndhcmRhYmxlVGFncykoaykgdGhlbiBuZXdNc2dba10gPSBuaWwgZW5kCgogICAgZW5kCgoKCiAgICByZXR1cm4gbmV3TXNnCgplbmQKCgoKLS0tIEluaXRpYWxpemVzIHRoZSBBTyBlbnZpcm9ubWVudCwgaW5jbHVkaW5nIElELCBtb2R1bGUsIGF1dGhvcml0aWVzLCBvdXRib3gsIGFuZCBlbnZpcm9ubWVudC4KCi0tIEBmdW5jdGlvbiBpbml0CgotLSBAdHBhcmFtIHt0YWJsZX0gZW52IFRoZSBlbnZpcm9ubWVudCBvYmplY3QKCmZ1bmN0aW9uIGFvLmluaXQoZW52KQoKICAgIGlmIGFvLmlkID09ICIiIHRoZW4gYW8uaWQgPSBlbnYuUHJvY2Vzcy5JZCBlbmQKCgoKICAgIGlmIGFvLl9tb2R1bGUgPT0gIiIgdGhlbgoKICAgICAgICBmb3IgXywgbyBpbiBpcGFpcnMoZW52LlByb2Nlc3MuVGFncykgZG8KCiAgICAgICAgICAgIGlmIG8ubmFtZSA9PSAiTW9kdWxlIiB0aGVuIGFvLl9tb2R1bGUgPSBvLnZhbHVlIGVuZAoKICAgICAgICBlbmQKCiAgICBlbmQKCgoKICAgIGlmICNhby5hdXRob3JpdGllcyA8IDEgdGhlbgoKICAgICAgICBmb3IgXywgbyBpbiBpcGFpcnMoZW52LlByb2Nlc3MuVGFncykgZG8KCiAgICAgICAgICAgIGlmIG8ubmFtZSA9PSAiQXV0aG9yaXR5IiB0aGVuCgogICAgICAgICAgICAgICAgdGFibGUuaW5zZXJ0KGFvLmF1dGhvcml0aWVzLCBvLnZhbHVlKQoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgIGVuZAoKCgogICAgYW8ub3V0Ym94ID0ge091dHB1dCA9IHt9LCBNZXNzYWdlcyA9IHt9LCBTcGF3bnMgPSB7fSwgQXNzaWdubWVudHMgPSB7fX0KCiAgICBhby5lbnYgPSBlbnYKCgoKZW5kCgoKCi0tLSBMb2dzIGEgbWVzc2FnZSB0byB0aGUgb3V0cHV0LgoKLS0gQGZ1bmN0aW9uIGxvZwoKLS0gQHRwYXJhbSB7c3RyaW5nfSB0eHQgVGhlIG1lc3NhZ2UgdG8gbG9nCgpmdW5jdGlvbiBhby5sb2codHh0KQoKICAgIGlmIHR5cGUoYW8ub3V0Ym94Lk91dHB1dCkgPT0gJ3N0cmluZycgdGhlbgoKICAgICAgICBhby5vdXRib3guT3V0cHV0ID0ge2FvLm91dGJveC5PdXRwdXR9CgogICAgZW5kCgogICAgdGFibGUuaW5zZXJ0KGFvLm91dGJveC5PdXRwdXQsIHR4dCkKCmVuZAoKCgotLS0gQ2xlYXJzIHRoZSBvdXRib3guCgotLSBAZnVuY3Rpb24gY2xlYXJPdXRib3gKCmZ1bmN0aW9uIGFvLmNsZWFyT3V0Ym94KCkKCiAgICBhby5vdXRib3ggPSB7T3V0cHV0ID0ge30sIE1lc3NhZ2VzID0ge30sIFNwYXducyA9IHt9LCBBc3NpZ25tZW50cyA9IHt9fQoKZW5kCgoKCi0tLSBTZW5kcyBhIG1lc3NhZ2UuCgotLSBAZnVuY3Rpb24gc2VuZAoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSB0byBzZW5kCgpmdW5jdGlvbiBhby5zZW5kKG1zZykKCiAgICBhc3NlcnQodHlwZShtc2cpID09ICd0YWJsZScsICdtc2cgc2hvdWxkIGJlIGEgdGFibGUnKQoKICAgIGFvLnJlZmVyZW5jZSA9IGFvLnJlZmVyZW5jZSArIDEKCiAgICBsb2NhbCByZWZlcmVuY2VTdHJpbmcgPSB0b3N0cmluZyhhby5yZWZlcmVuY2UpCgoKCiAgICBsb2NhbCBtZXNzYWdlID0gewoKICAgICAgICBUYXJnZXQgPSBtc2cuVGFyZ2V0LAoKICAgICAgICBEYXRhID0gbXNnLkRhdGEsCgogICAgICAgIEFuY2hvciA9IHBhZFplcm8zMihhby5yZWZlcmVuY2UpLAoKICAgICAgICBUYWdzID0gewoKICAgICAgICAgICAge25hbWUgPSAiRGF0YS1Qcm90b2NvbCIsIHZhbHVlID0gImFvIn0sCgogICAgICAgICAgICB7bmFtZSA9ICJWYXJpYW50IiwgdmFsdWUgPSAiYW8uVE4uMSJ9LAoKICAgICAgICAgICAge25hbWUgPSAiVHlwZSIsIHZhbHVlID0gIk1lc3NhZ2UifSwKCiAgICAgICAgICAgIHtuYW1lID0gIlJlZmVyZW5jZSIsIHZhbHVlID0gcmVmZXJlbmNlU3RyaW5nfQoKICAgICAgICB9CgogICAgfQoKCgogICAgLS0gaWYgY3VzdG9tIHRhZ3MgaW4gcm9vdCBtb3ZlIHRoZW0gdG8gdGFncwoKICAgIGZvciBrLCB2IGluIHBhaXJzKG1zZykgZG8KCiAgICAgICAgaWYgbm90IF9pbmNsdWRlcyh7IlRhcmdldCIsICJEYXRhIiwgIkFuY2hvciIsICJUYWdzIiwgIkZyb20ifSkoaykgdGhlbgoKICAgICAgICAgICAgdGFibGUuaW5zZXJ0KG1lc3NhZ2UuVGFncywge25hbWUgPSBrLCB2YWx1ZSA9IHZ9KQoKICAgICAgICBlbmQKCiAgICBlbmQKCgoKICAgIGlmIG1zZy5UYWdzIHRoZW4KCiAgICAgICAgaWYgaXNBcnJheShtc2cuVGFncykgdGhlbgoKICAgICAgICAgICAgZm9yIF8sIG8gaW4gaXBhaXJzKG1zZy5UYWdzKSBkbwoKICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChtZXNzYWdlLlRhZ3MsIG8pCgogICAgICAgICAgICBlbmQKCiAgICAgICAgZWxzZQoKICAgICAgICAgICAgZm9yIGssIHYgaW4gcGFpcnMobXNnLlRhZ3MpIGRvCgogICAgICAgICAgICAgICAgdGFibGUuaW5zZXJ0KG1lc3NhZ2UuVGFncywge25hbWUgPSBrLCB2YWx1ZSA9IHZ9KQoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgIGVuZAoKCgogICAgLS0gSWYgcnVubmluZyBpbiBhbiBlbnZpcm9ubWVudCB3aXRob3V0IHRoZSBBT1MgSGFuZGxlcnMgbW9kdWxlLCBkbyBub3QgYWRkCgogICAgLS0gdGhlIG9uUmVwbHkgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIHRvIHRoZSBtZXNzYWdlLgoKICAgIGlmIG5vdCBIYW5kbGVycyB0aGVuIHJldHVybiBtZXNzYWdlIGVuZAoKCgogICAgLS0gY2xvbmUgbWVzc2FnZSBpbmZvIGFuZCBhZGQgdG8gb3V0Ym94CgogICAgbG9jYWwgZXh0TWVzc2FnZSA9IHt9CgogICAgZm9yIGssIHYgaW4gcGFpcnMobWVzc2FnZSkgZG8gZXh0TWVzc2FnZVtrXSA9IHYgZW5kCgoKCiAgICAtLSBhZGQgbWVzc2FnZSB0byBvdXRib3gKCiAgICB0YWJsZS5pbnNlcnQoYW8ub3V0Ym94Lk1lc3NhZ2VzLCBleHRNZXNzYWdlKQoKCgogICAgLS0gYWRkIGNhbGxiYWNrIGZvciBvblJlcGx5IGhhbmRsZXIocykKCiAgICBtZXNzYWdlLm9uUmVwbHkgPQoKICAgICAgICBmdW5jdGlvbiguLi4pIC0tIFRha2VzIGVpdGhlciAoQWRkcmVzc1RoYXRXaWxsUmVwbHksIGhhbmRsZXIocykpIG9yIChoYW5kbGVyKHMpKQoKICAgICAgICAgICAgbG9jYWwgZnJvbSwgcmVzb2x2ZXIKCiAgICAgICAgICAgIGlmIHNlbGVjdCgiIyIsIC4uLikgPT0gMiB0aGVuCgogICAgICAgICAgICAgICAgZnJvbSA9IHNlbGVjdCgxLCAuLi4pCgogICAgICAgICAgICAgICAgcmVzb2x2ZXIgPSBzZWxlY3QoMiwgLi4uKQoKICAgICAgICAgICAgZWxzZQoKICAgICAgICAgICAgICAgIGZyb20gPSBtZXNzYWdlLlRhcmdldAoKICAgICAgICAgICAgICAgIHJlc29sdmVyID0gc2VsZWN0KDEsIC4uLikKCiAgICAgICAgICAgIGVuZAoKCgogICAgICAgICAgICAtLSBBZGQgYSBvbmUtdGltZSBjYWxsYmFjayB0aGF0IHJ1bnMgdGhlIHVzZXIncyAobWF0Y2hpbmcpIHJlc29sdmVyIG9uIHJlcGx5CgogICAgICAgICAgICBIYW5kbGVycy5vbmNlKHtGcm9tID0gZnJvbSwgWyJYLVJlZmVyZW5jZSJdID0gcmVmZXJlbmNlU3RyaW5nfSwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZXIpCgogICAgICAgIGVuZAoKCgogICAgbWVzc2FnZS5yZWNlaXZlID0gZnVuY3Rpb24oLi4uKQoKICAgICAgICBsb2NhbCBmcm9tID0gbWVzc2FnZS5UYXJnZXQKCiAgICAgICAgaWYgc2VsZWN0KCIjIiwgLi4uKSA9PSAxIHRoZW4gZnJvbSA9IHNlbGVjdCgxLCAuLi4pIGVuZAoKICAgICAgICByZXR1cm4KCiAgICAgICAgICAgIEhhbmRsZXJzLnJlY2VpdmUoe0Zyb20gPSBmcm9tLCBbIlgtUmVmZXJlbmNlIl0gPSByZWZlcmVuY2VTdHJpbmd9KQoKICAgIGVuZAoKCgogICAgcmV0dXJuIG1lc3NhZ2UKCmVuZAoKCgotLS0gU3Bhd25zIGEgcHJvY2Vzcy4KCi0tIEBmdW5jdGlvbiBzcGF3bgoKLS0gQHRwYXJhbSB7c3RyaW5nfSBtb2R1bGUgVGhlIG1vZHVsZSBzb3VyY2UgaWQKCi0tIEB0cGFyYW0ge3RhYmxlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gc2VuZAoKZnVuY3Rpb24gYW8uc3Bhd24obW9kdWxlLCBtc2cpCgogICAgYXNzZXJ0KHR5cGUobW9kdWxlKSA9PSAic3RyaW5nIiwgIk1vZHVsZSBzb3VyY2UgaWQgaXMgcmVxdWlyZWQhIikKCiAgICBhc3NlcnQodHlwZShtc2cpID09ICd0YWJsZScsICdNZXNzYWdlIG11c3QgYmUgYSB0YWJsZScpCgogICAgLS0gaW5jIHNwYXduIHJlZmVyZW5jZQoKICAgIGFvLnJlZmVyZW5jZSA9IGFvLnJlZmVyZW5jZSArIDEKCiAgICBsb2NhbCBzcGF3blJlZiA9IHRvc3RyaW5nKGFvLnJlZmVyZW5jZSkKCgoKICAgIGxvY2FsIHNwYXduID0gewoKICAgICAgICBEYXRhID0gbXNnLkRhdGEgb3IgIk5PREFUQSIsCgogICAgICAgIEFuY2hvciA9IHBhZFplcm8zMihhby5yZWZlcmVuY2UpLAoKICAgICAgICBUYWdzID0gewoKICAgICAgICAgICAge25hbWUgPSAiRGF0YS1Qcm90b2NvbCIsIHZhbHVlID0gImFvIn0sCgogICAgICAgICAgICB7bmFtZSA9ICJWYXJpYW50IiwgdmFsdWUgPSAiYW8uVE4uMSJ9LAoKICAgICAgICAgICAge25hbWUgPSAiVHlwZSIsIHZhbHVlID0gIlByb2Nlc3MifSwKCiAgICAgICAgICAgIHtuYW1lID0gIkZyb20tUHJvY2VzcyIsIHZhbHVlID0gYW8uaWR9LAoKICAgICAgICAgICAge25hbWUgPSAiRnJvbS1Nb2R1bGUiLCB2YWx1ZSA9IGFvLl9tb2R1bGV9LAoKICAgICAgICAgICAge25hbWUgPSAiTW9kdWxlIiwgdmFsdWUgPSBtb2R1bGV9LAoKICAgICAgICAgICAge25hbWUgPSAiUmVmZXJlbmNlIiwgdmFsdWUgPSBzcGF3blJlZn0KCiAgICAgICAgfQoKICAgIH0KCgoKICAgIC0tIGlmIGN1c3RvbSB0YWdzIGluIHJvb3QgbW92ZSB0aGVtIHRvIHRhZ3MKCiAgICBmb3IgaywgdiBpbiBwYWlycyhtc2cpIGRvCgogICAgICAgIGlmIG5vdCBfaW5jbHVkZXMoeyJUYXJnZXQiLCAiRGF0YSIsICJBbmNob3IiLCAiVGFncyIsICJGcm9tIn0pKGspIHRoZW4KCiAgICAgICAgICAgIHRhYmxlLmluc2VydChzcGF3bi5UYWdzLCB7bmFtZSA9IGssIHZhbHVlID0gdn0pCgogICAgICAgIGVuZAoKICAgIGVuZAoKCgogICAgaWYgbXNnLlRhZ3MgdGhlbgoKICAgICAgICBpZiBpc0FycmF5KG1zZy5UYWdzKSB0aGVuCgogICAgICAgICAgICBmb3IgXywgbyBpbiBpcGFpcnMobXNnLlRhZ3MpIGRvCgogICAgICAgICAgICAgICAgdGFibGUuaW5zZXJ0KHNwYXduLlRhZ3MsIG8pCgogICAgICAgICAgICBlbmQKCiAgICAgICAgZWxzZQoKICAgICAgICAgICAgZm9yIGssIHYgaW4gcGFpcnMobXNnLlRhZ3MpIGRvCgogICAgICAgICAgICAgICAgdGFibGUuaW5zZXJ0KHNwYXduLlRhZ3MsIHtuYW1lID0gaywgdmFsdWUgPSB2fSkKCiAgICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICBlbmQKCgoKICAgIC0tIElmIHJ1bm5pbmcgaW4gYW4gZW52aXJvbm1lbnQgd2l0aG91dCB0aGUgQU9TIEhhbmRsZXJzIG1vZHVsZSwgZG8gbm90IGFkZAoKICAgIC0tIHRoZSBhZnRlciBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgdG8gdGhlIHNwYXduLgoKICAgIGlmIG5vdCBIYW5kbGVycyB0aGVuIHJldHVybiBzcGF3biBlbmQKCgoKICAgIC0tIGNsb25lIHNwYXduIGluZm8gYW5kIGFkZCB0byBvdXRib3gKCiAgICBsb2NhbCBleHRTcGF3biA9IHt9CgogICAgZm9yIGssIHYgaW4gcGFpcnMoc3Bhd24pIGRvIGV4dFNwYXduW2tdID0gdiBlbmQKCgoKICAgIHRhYmxlLmluc2VydChhby5vdXRib3guU3Bhd25zLCBleHRTcGF3bikKCgoKICAgIC0tIGFkZCAnYWZ0ZXInIGNhbGxiYWNrIHRvIHJldHVybmVkIHRhYmxlCgogICAgLS0gbG9jYWwgcmVzdWx0ID0ge30KCiAgICBzcGF3bi5vblJlcGx5ID0gZnVuY3Rpb24oY2FsbGJhY2spCgogICAgICAgIEhhbmRsZXJzLm9uY2UoewoKICAgICAgICAgICAgQWN0aW9uID0gIlNwYXduZWQiLAoKICAgICAgICAgICAgRnJvbSA9IGFvLmlkLAoKICAgICAgICAgICAgWyJSZWZlcmVuY2UiXSA9IHNwYXduUmVmCgogICAgICAgIH0sIGNhbGxiYWNrKQoKICAgIGVuZAoKCgogICAgc3Bhd24ucmVjZWl2ZSA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIEhhbmRsZXJzLnJlY2VpdmUoewoKICAgICAgICAgICAgQWN0aW9uID0gIlNwYXduZWQiLAoKICAgICAgICAgICAgRnJvbSA9IGFvLmlkLAoKICAgICAgICAgICAgWyJSZWZlcmVuY2UiXSA9IHNwYXduUmVmCgogICAgICAgIH0pCgoKCiAgICBlbmQKCgoKICAgIHJldHVybiBzcGF3bgoKZW5kCgoKCi0tLSBBc3NpZ25zIGEgbWVzc2FnZSB0byBhIHByb2Nlc3MuCgotLSBAZnVuY3Rpb24gYXNzaWduCgotLSBAdHBhcmFtIHt0YWJsZX0gYXNzaWdubWVudCBUaGUgYXNzaWdubWVudCB0byBhc3NpZ24KCmZ1bmN0aW9uIGFvLmFzc2lnbihhc3NpZ25tZW50KQoKICAgIGFzc2VydCh0eXBlKGFzc2lnbm1lbnQpID09ICd0YWJsZScsICdhc3NpZ25tZW50IHNob3VsZCBiZSBhIHRhYmxlJykKCiAgICBhc3NlcnQodHlwZShhc3NpZ25tZW50LlByb2Nlc3NlcykgPT0gJ3RhYmxlJywgJ1Byb2Nlc3NlcyBzaG91bGQgYmUgYSB0YWJsZScpCgogICAgYXNzZXJ0KHR5cGUoYXNzaWdubWVudC5NZXNzYWdlKSA9PSAic3RyaW5nIiwgIk1lc3NhZ2Ugc2hvdWxkIGJlIGEgc3RyaW5nIikKCiAgICB0YWJsZS5pbnNlcnQoYW8ub3V0Ym94LkFzc2lnbm1lbnRzLCBhc3NpZ25tZW50KQoKZW5kCgoKCi0tLSBDaGVja3MgaWYgYSBtZXNzYWdlIGlzIHRydXN0ZWQuCgotLSBUaGUgZGVmYXVsdCBzZWN1cml0eSBtb2RlbCBvZiBBT1MgcHJvY2Vzc2VzOiBUcnVzdCBhbGwgYW5kICpvbmx5KiB0aG9zZSBvbiB0aGUgYW8uYXV0aG9yaXRpZXMgbGlzdC4KCi0tIEBmdW5jdGlvbiBpc1RydXN0ZWQKCi0tIEB0cGFyYW0ge3RhYmxlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gY2hlY2sKCi0tIEB0cmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBtZXNzYWdlIGlzIHRydXN0ZWQsIGZhbHNlIG90aGVyd2lzZQoKZnVuY3Rpb24gYW8uaXNUcnVzdGVkKG1zZykKCiAgICBmb3IgXywgYXV0aG9yaXR5IGluIGlwYWlycyhhby5hdXRob3JpdGllcykgZG8KCiAgICAgICAgaWYgbXNnLkZyb20gPT0gYXV0aG9yaXR5IHRoZW4gcmV0dXJuIHRydWUgZW5kCgogICAgICAgIGlmIG1zZy5Pd25lciA9PSBhdXRob3JpdHkgdGhlbiByZXR1cm4gdHJ1ZSBlbmQKCiAgICBlbmQKCiAgICByZXR1cm4gZmFsc2UKCmVuZAoKCgotLS0gUmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBwcm9jZXNzLgoKLS0gQGZ1bmN0aW9uIHJlc3VsdAoKLS0gQHRwYXJhbSB7dGFibGV9IHJlc3VsdCBUaGUgcmVzdWx0IG9mIHRoZSBwcm9jZXNzCgotLSBAdHJldHVybiB7dGFibGV9IFRoZSByZXN1bHQgb2YgdGhlIHByb2Nlc3MsIGluY2x1ZGluZyBPdXRwdXQsIE1lc3NhZ2VzLCBTcGF3bnMsIGFuZCBBc3NpZ25tZW50cwoKZnVuY3Rpb24gYW8ucmVzdWx0KHJlc3VsdCkKCiAgICAtLSBpZiBlcnJvciB0aGVuIG9ubHkgc2VuZCB0aGUgRXJyb3IgdG8gQ1UKCiAgICBpZiBhby5vdXRib3guRXJyb3Igb3IgcmVzdWx0LkVycm9yIHRoZW4KCiAgICAgICAgcmV0dXJuIHtFcnJvciA9IHJlc3VsdC5FcnJvciBvciBhby5vdXRib3guRXJyb3J9CgogICAgZW5kCgogICAgcmV0dXJuIHsKCiAgICAgICAgT3V0cHV0ID0gcmVzdWx0Lk91dHB1dCBvciBhby5vdXRib3guT3V0cHV0LAoKICAgICAgICBNZXNzYWdlcyA9IGFvLm91dGJveC5NZXNzYWdlcywKCiAgICAgICAgU3Bhd25zID0gYW8ub3V0Ym94LlNwYXducywKCiAgICAgICAgQXNzaWdubWVudHMgPSBhby5vdXRib3guQXNzaWdubWVudHMKCiAgICB9CgplbmQKCgoKCgotLS0gQWRkIHRoZSBNYXRjaFNwZWMgdG8gdGhlIGFvLmFzc2lnbmFibGVzIHRhYmxlLiBBIG9wdGlvbmFsIG5hbWUgbWF5IGJlIHByb3ZpZGVkLgoKLS0gVGhpcyBpbXBsaWVzIHRoYXQgYW8uYXNzaWduYWJsZXMgbWF5IGhhdmUgYm90aCBudW1iZXIgYW5kIHN0cmluZyBpbmRpY2VzLgoKLS0gQWRkZWQgaW4gdGhlIGFzc2lnbm1lbnQgbW9kdWxlLgoKLS0gQGZ1bmN0aW9uIGFkZEFzc2lnbmFibGUKCi0tIEB0cGFyYW0gP3N0cmluZ3xudW1iZXJ8YW55IG5hbWVPck1hdGNoU3BlYyBUaGUgbmFtZSBvZiB0aGUgTWF0Y2hTcGVjCgotLSAgICAgICAgdG8gYmUgYWRkZWQgdG8gYW8uYXNzaWduYWJsZXMuIGlmIGEgTWF0Y2hTcGVjIGlzIHByb3ZpZGVkLCB0aGVuCgotLSAgICAgICAgbm8gbmFtZSBpcyBpbmNsdWRlZAoKLS0gQHRwYXJhbSA/YW55IG1hdGNoU3BlYyBUaGUgTWF0Y2hTcGVjIHRvIGJlIGFkZGVkIHRvIGFvLmFzc2lnbmFibGVzLiBPbmx5IHByb3ZpZGVkCgotLSAgICAgICAgaWYgaXRzIG5hbWUgaXMgcGFzc2VkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIKCi0tIEB0cmV0dXJuID9zdHJpbmd8bnVtYmVyIG5hbWUgVGhlIG5hbWUgb2YgdGhlIE1hdGNoU3BlYywgZWl0aGVyIGFzIHByb3ZpZGVkCgotLSAgICAgICAgICBhcyBhbiBhcmd1bWVudCBvciBhcyBpbmNyZW1lbnRlZAoKLS0gQHNlZSBhc3NpZ25tZW50CgoKCi0tLSBSZW1vdmUgdGhlIE1hdGNoU3BlYywgZWl0aGVyIGJ5IG5hbWUgb3IgYnkgaW5kZXgKCi0tIElmIHRoZSBuYW1lIGlzIG5vdCBmb3VuZCwgb3IgaWYgdGhlIGluZGV4IGRvZXMgbm90IGV4aXN0LCB0aGVuIGRvIG5vdGhpbmcuCgotLSBBZGRlZCBpbiB0aGUgYXNzaWdubWVudCBtb2R1bGUuCgotLSBAZnVuY3Rpb24gcmVtb3ZlQXNzaWduYWJsZQoKLS0gQHRwYXJhbSB7c3RyaW5nfG51bWJlcn0gbmFtZSBUaGUgbmFtZSBvciBpbmRleCBvZiB0aGUgTWF0Y2hTcGVjIHRvIGJlIHJlbW92ZWQKCi0tIEBzZWUgYXNzaWdubWVudAoKCgotLS0gUmV0dXJuIHdoZXRoZXIgdGhlIG1zZyBpcyBhbiBhc3NpZ25tZW50IG9yIG5vdC4gVGhpcyBjYW4gYmUgZGV0ZXJtaW5lZCBieSBzaW1wbHkgY2hlY2sgd2hldGhlciB0aGUgbXNnJ3MgVGFyZ2V0IGlzIHRoaXMgcHJvY2VzcycgaWQKCi0tIEFkZGVkIGluIHRoZSBhc3NpZ25tZW50IG1vZHVsZS4KCi0tIEBmdW5jdGlvbiBpc0Fzc2lnbm1lbnQKCi0tIEBwYXJhbSBtc2cgVGhlIG1zZyB0byBiZSBjaGVja2VkCgotLSBAdHJldHVybiBib29sZWFuIGlzQXNzaWdubWVudAoKLS0gQHNlZSBhc3NpZ25tZW50CgoKCi0tLSBDaGVjayB3aGV0aGVyIHRoZSBtc2cgbWF0Y2hlcyBhbnkgYXNzaWduYWJsZSBNYXRjaFNwZWMuCgotLSBJZiBub3QgYXNzaWduYWJsZXMgYXJlIGNvbmZpZ3VyZWQsIHRoZSBtc2cgaXMgZGVlbWVkIG5vdCBhc3NpZ25hYmxlLCBieSBkZWZhdWx0LgoKLS0gQWRkZWQgaW4gdGhlIGFzc2lnbm1lbnQgbW9kdWxlLgoKLS0gQGZ1bmN0aW9uIGlzQXNzaWduYWJsZQoKLS0gQHBhcmFtIG1zZyBUaGUgbXNnIHRvIGJlIGNoZWNrZWQKCi0tIEB0cmV0dXJuIGJvb2xlYW4gaXNBc3NpZ25hYmxlCgotLSBAc2VlIGFzc2lnbm1lbnQKCgoKcmV0dXJuIGFvCgBC8NsKC5HbAWxvY2FsIHV0aWwgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaW5pdCIpCgpsb2NhbCBkaWdlc3QgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5pbml0IikKCmxvY2FsIGNpcGhlciA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLmluaXQiKQoKbG9jYWwgbWFjID0gcmVxdWlyZSgiLmNyeXB0by5tYWMuaW5pdCIpCgpsb2NhbCBrZGYgPSByZXF1aXJlKCIuY3J5cHRvLmtkZi5pbml0IikKCgoKbG9jYWwgY3J5cHRvID0gewoKICAgIF92ZXJzaW9uID0gIjAuMC4xIiwKCiAgICBkaWdlc3QgPSBkaWdlc3QsCgogICAgdXRpbHMgPSB1dGlsLAoKICAgIGNpcGhlciA9IGNpcGhlciwKCiAgICByYW5kb20gPSBjaXBoZXIuaXNzYWMucmFuZG9tLAoKICAgIG1hYyA9IG1hYywKCiAgICBrZGYgPSBrZGYsCgp9OwoKCgpyZXR1cm4gY3J5cHRvAAAAbG9jYWwgSGV4ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmhleCIpOwoKCgoKCmxvY2FsIGZ1bmN0aW9uIFJPVFI2NCh4LCBuKQoKICAgIHJldHVybiAoeCA+PiBuKSB8ICh4IDw8ICg2NC1uKSkKCmVuZAoKCgotLSBHIE1peGluZyBmdW5jdGlvbi4KCgoKbG9jYWwgZnVuY3Rpb24gRyh2LCBhLCBiLCBjLCBkLCB4LCB5KQoKCXZbYV0gPSB2W2FdICsgdltiXSArIHgKCgl2W2RdID0gUk9UUjY0KHZbZF0gfiB2W2FdLCAzMikKCgl2W2NdID0gdltjXSArIHZbZF0KCgl2W2JdID0gUk9UUjY0KHZbYl0gfiB2W2NdLCAyNCkKCgl2W2FdID0gdlthXSArIHZbYl0gKyB5CgoJdltkXSA9IFJPVFI2NCh2W2RdIH4gdlthXSwgMTYpCgoJdltjXSA9IHZbY10gKyB2W2RdCgoJdltiXSA9IFJPVFI2NCh2W2JdIH4gdltjXSwgNjMpCgplbmQKCgoKLS0gIEluaXRpYWxpemF0aW9uIFZlY3Rvci4KCmxvY2FsIGl2ID0gewoKICAgIDB4NmEwOWU2NjdmM2JjYzkwOCwgMHhiYjY3YWU4NTg0Y2FhNzNiLAoKICAgIDB4M2M2ZWYzNzJmZTk0ZjgyYiwgMHhhNTRmZjUzYTVmMWQzNmYxLAoKICAgIDB4NTEwZTUyN2ZhZGU2ODJkMSwgMHg5YjA1Njg4YzJiM2U2YzFmLAoKICAgIDB4MWY4M2Q5YWJmYjQxYmQ2YiwgMHg1YmUwY2QxOTEzN2UyMTc5Cgp9CgoKCmxvY2FsIHNpZ21hID0gewoKCS0tIGFycmF5IGluZGV4IHN0YXJ0IGF0IDEgaW4gTHVhLAoKCS0tID0+IGFsbCB0aGUgcGVybXV0YXRpb24gdmFsdWVzIGFyZSBpbmNyZW1lbnRlZCBieSBvbmUKCgl7IDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2IH0sCgoJeyAxNSwgMTEsIDUsIDksIDEwLCAxNiwgMTQsIDcsIDIsIDEzLCAxLCAzLCAxMiwgOCwgNiwgNCB9LAoKCXsgMTIsIDksIDEzLCAxLCA2LCAzLCAxNiwgMTQsIDExLCAxNSwgNCwgNywgOCwgMiwgMTAsIDUgfSwKCgl7IDgsIDEwLCA0LCAyLCAxNCwgMTMsIDEyLCAxNSwgMywgNywgNiwgMTEsIDUsIDEsIDE2LCA5IH0sCgoJeyAxMCwgMSwgNiwgOCwgMywgNSwgMTEsIDE2LCAxNSwgMiwgMTIsIDEzLCA3LCA5LCA0LCAxNCB9LAoKCXsgMywgMTMsIDcsIDExLCAxLCAxMiwgOSwgNCwgNSwgMTQsIDgsIDYsIDE2LCAxNSwgMiwgMTAgfSwKCgl7IDEzLCA2LCAyLCAxNiwgMTUsIDE0LCA1LCAxMSwgMSwgOCwgNywgNCwgMTAsIDMsIDksIDEyIH0sCgoJeyAxNCwgMTIsIDgsIDE1LCAxMywgMiwgNCwgMTAsIDYsIDEsIDE2LCA1LCA5LCA3LCAzLCAxMSB9LAoKCXsgNywgMTYsIDE1LCAxMCwgMTIsIDQsIDEsIDksIDEzLCAzLCAxNCwgOCwgMiwgNSwgMTEsIDYgfSwKCgl7IDExLCAzLCA5LCA1LCA4LCA3LCAyLCA2LCAxNiwgMTIsIDEwLCAxNSwgNCwgMTMsIDE0LCAxIH0sCgoJeyAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiB9LAoKCXsgMTUsIDExLCA1LCA5LCAxMCwgMTYsIDE0LCA3LCAyLCAxMywgMSwgMywgMTIsIDgsIDYsIDQgfQoKfQoKCgoKCmxvY2FsIGZ1bmN0aW9uIGNvbXByZXNzKGN0eCwgbGFzdCkKCgktLSBDb21wcmVzc2lvbiBmdW5jdGlvbi4gImxhc3QiIGZsYWcgaW5kaWNhdGVzIGxhc3QgYmxvY2suCgoJbG9jYWwgdiwgbSA9IHt9LCB7fSAtLSBib3RoIHYgYW5kIG0gYXJlIHU2NFsxNl0KCglmb3IgaSA9IDEsIDggZG8KCgkJdltpXSA9IGN0eC5oW2ldCgoJCXZbaSs4XSA9IGl2W2ldCgoJZW5kCgoJdlsxM10gPSB2WzEzXSB+IGN0eC50WzFdICAtLSBsb3cgNjQgYml0cyBvZiBvZmZzZXQKCgl2WzE0XSA9IHZbMTRdIH4gY3R4LnRbMl0gIC0tIGhpZ2ggNjQgYml0cwoKCWlmIGxhc3QgdGhlbiB2WzE1XSA9IH52WzE1XSBlbmQKCglmb3IgaSA9IDAsIDE1IGRvIC0tIGdldCBsaXR0bGUtZW5kaWFuIHdvcmRzCgoJCW1baSsxXSA9IHN0cmluZy51bnBhY2soIjxJOCIsIGN0eC5iLCBpKjgrMSkgLS1jb3B5IGIgYXMgYSBzZXEgb2YgdTY0CgoJZW5kCgoKCglmb3IgaSA9IDEsIDEyIGRvIC0tIHR3ZWx2ZSByb3VuZHMKCgkJRyh2LCAxLCA1LCA5LCAxMywgbVtzaWdtYVtpXVsgMV1dLCBtW3NpZ21hW2ldWyAyXV0pCgoJCUcodiwgMiwgNiwxMCwgMTQsIG1bc2lnbWFbaV1bIDNdXSwgbVtzaWdtYVtpXVsgNF1dKQoKCQlHKHYsIDMsIDcsMTEsIDE1LCBtW3NpZ21hW2ldWyA1XV0sIG1bc2lnbWFbaV1bIDZdXSkKCgkJRyh2LCA0LCA4LDEyLCAxNiwgbVtzaWdtYVtpXVsgN11dLCBtW3NpZ21hW2ldWyA4XV0pCgoJCUcodiwgMSwgNiwxMSwgMTYsIG1bc2lnbWFbaV1bIDldXSwgbVtzaWdtYVtpXVsxMF1dKQoKCQlHKHYsIDIsIDcsMTIsIDEzLCBtW3NpZ21hW2ldWzExXV0sIG1bc2lnbWFbaV1bMTJdXSkKCgkJRyh2LCAzLCA4LCA5LCAxNCwgbVtzaWdtYVtpXVsxM11dLCBtW3NpZ21hW2ldWzE0XV0pCgoJCUcodiwgNCwgNSwxMCwgMTUsIG1bc2lnbWFbaV1bMTVdXSwgbVtzaWdtYVtpXVsxNl1dKQoKCgoJZW5kCgoKCglmb3IgaSA9IDEsIDggZG8KCgkJY3R4LmhbaV0gPSBjdHguaFtpXSB+IHZbaV0gfiB2W2kgKyA4XQoKCWVuZAoKZW5kCgoKCmxvY2FsIHVwZGF0ZSAgLS0gKHVwZGF0ZSBpcyB1c2VkIGluIGluaXQoKSBiZWxvdywgYnV0IGRlZmluZWQgYWZ0ZXIpCgoKCmxvY2FsIGZ1bmN0aW9uIGluaXQob3V0bGVuLCBrZXkpCgoJLS0gaW5pdGlhbGl6ZSB0aGUgYmxha2UgZnVuY3Rpb24KCgktLSAxIDw9IG91dGxlbiA8PSA2NCBnaXZlcyB0aGUgZGlnZXN0IHNpemUgaW4gYnl0ZXMuIGRlZmF1bHRzIHRvIDY0CgoJLS0ga2V5OiBvcHRpb25hbCBzZWNyZXQga2V5IChhbHNvIDw9IDY0IGJ5dGVzKS4gZGVmYXVsdHMgdG8gbm8ga2V5CgoJLS0gcmV0dXJuIHRoZSBpbml0aWFsaXplZCBjb250ZXh0CgoJb3V0bGVuID0gb3V0bGVuIG9yIDY0CgoJa2V5ID0ga2V5IG9yICIiCgoJbG9jYWwga2V5bGVuID0gI2tleQoKCWlmIG91dGxlbiA8IDEgb3Igb3V0bGVuID4gNjQgb3IgKGtleSBhbmQgI2tleSA+IDY0KSB0aGVuCgoJCXJldHVybiBuaWwsICJpbGxlZ2FsIHBhcmFtZXRlcnMiCgoJZW5kCgoJbG9jYWwgY3R4ID0ge2g9e30sIHQ9e30sIGM9MSwgb3V0bGVuPW91dGxlbn0gLS0gdGhlIGJsYWtlMiBjb250ZXh0CgoJLS0gbm90ZTogY3R4LmMgaXMgdGhlIGluZGV4IG9mIDFzdCBieXRlIGZyZWUgaW4gaW5wdXQgYnVmZmVyIChjdHguYikKCgktLSBpdCBpcyBub3QgdXNlZCBpbiB0aGlzIGltcGxlbWVudGF0aW9uCgoJZm9yIGkgPSAxLCA4IGRvIGN0eC5oW2ldID0gaXZbaV0gZW5kICAtLSBzdGF0ZSwgInBhcmFtIGJsb2NrIgoKCWN0eC5oWzFdID0gY3R4LmhbMV0gfiAweDAxMDEwMDAwIH4gKGtleWxlbiA8PCA4KSB+IG91dGxlbgoKCWN0eC50WzFdID0gMCAgIC0taW5wdXQgY291bnQgbG93IHdvcmQKCgljdHgudFsyXSA9IDAgICAtLWlucHV0IGNvdW50IGhpZ2ggd29yZAoKCS0tIHplcm8gaW5wdXQgYmxvY2sKCgljdHguYiA9ICIiCgoJaWYga2V5bGVuID4gMCB0aGVuCgoJCXVwZGF0ZShjdHgsIGtleSkKCgkJLS0gY3R4LmMgPSAxMjggLS0gIHBhZCBiIHdpdGggemVybyBieXRlcwoKCQljdHguYiA9IGN0eC5iIC4uIHN0cmluZy5yZXAoJ1wwJywgMTI4IC0gI2N0eC5iKQoKCQlhc3NlcnQoI2N0eC5iID09IDEyOCkKCgllbmQKCglyZXR1cm4gY3R4CgplbmQKCgoKdXBkYXRlID0gZnVuY3Rpb24oY3R4LCBkYXRhKQoKCS0tIGJ1ZmZlciBtZ3QgY2Fubm90IGJlIGRvbmUgdGhlIEMgd2F5Li4KCglsb2NhbCBibG4sIHJsbiwgaWxuCgoJbG9jYWwgaSA9IDEgLS0gaW5kZXggb2YgMXN0IGJ5dGUgdG8gcHJvY2VzcyBpbiBkYXRhCgoJd2hpbGUgdHJ1ZSBkbwoKCQlibG4gPSAjY3R4LmIgIC0tIGN1cnJlbnQgbnVtYmVyIG9mIGJ5dGVzIGluIHRoZSBpbnB1dCBidWZmZXIKCgkJYXNzZXJ0KGJsbiA8PSAxMjgpCgoJCWlmIGJsbiA9PSAxMjggdGhlbiAtLWN0eC5iIGlzIGZ1bGw7IHByb2Nlc3MgaXQuCgoJCQktLSBhZGQgY291bnRlcnMKCgkJCWN0eC50WzFdID0gY3R4LnRbMV0gKyAxMjgKCgkJCS0tIHdhcm5pbmc6IHRoaXMgaXMgYSBzaWduZWQgNjRiaXQgYWRkaXRpb24KCgkJCS0tIGhlcmUgaXQgaXMgYXNzdW1lZCB0aGF0IHRoZSB0b3RhbCBpbnB1dCBpcyBsZXNzCgoJCQktLSB0aGFuIDJeNjMgYnl0ZXMgKHRoaXMgc2hvdWxkIGJlIGVub3VnaCBmb3IgYQoKCQkJLS0gcHVyZSBMdWEgaW1wbGVtZW50YXRpb24hKSA9PiBjdHgudFsxXSBvdmVyZmxvdyBpcyBpZ25vcmVkLgoKCQkJY29tcHJlc3MoY3R4LCBmYWxzZSkgICAtLSBmYWxzZSBtZWFucyBub3QgbGFzdAoKCQkJY3R4LmIgPSAiIiAtLSBlbXB0eSBidWZmZXIKCgkJZWxzZSAtLSBjdHguYiBpcyBub3QgZnVsbDsgYXBwZW5kIG1vcmUgYnl0ZXMgZnJvbSBkYXRhCgoJCQlybG4gPSAgMTI4IC0gYmxuICAtLSByZW1haW5pbmcgc3BhY2UgKGluIGJ5dGVzKSBpbiBjdHguYgoKCQkJaWxuID0gI2RhdGEgLSBpICsgMSAgLS0gbnVtYmVyIG9mIGJ5dGVzIHlldCB0byBwcm9jZXNzIGluIGRhdGEKCgkJCWlmIGlsbiA8IHJsbiB0aGVuCgoJCQkJY3R4LmIgPSBjdHguYiAuLiBkYXRhOnN1YihpLCBpICsgaWxuIC0xKQoKCQkJCS0tIGhlcmUsIGFsbCBkYXRhIGJ5dGVzIGhhdmUgYmVlbiBwcm9jZXNzZWQgb3IgcHV0IGluCgoJCQkJLS0gYnVmZmVyIGFuZCBidWZmZXIgaXMgbm90IGZ1bGwuIHdlIGFyZSBkb25lLgoKCQkJCWJyZWFrCgoJCQllbHNlCgoJCQkJY3R4LmIgPSBjdHguYiAuLiBkYXRhOnN1YihpLCBpICsgcmxuIC0xKQoKCQkJCWkgPSBpICsgcmxuCgoJCQllbmQKCgkJZW5kCgoJZW5kCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZmluYWwoY3R4KQoKCS0tIGZpbmFsaXplIHRoZSBoYXNoIGFuZCByZXR1cm4gdGhlIGRpZ2VzdCBhcyBhIHN0cmluZwoKCS0tCgoJbG9jYWwgYmxuID0gI2N0eC5iCgoJLS0gYWRkIG51bWJlciBvZiByZW1haW5pbmcgYnl0ZXMgaW4gYnVmZmVyIChpZ25vcmUgY2Fycnkgb3ZlcmZsb3cpCgoJY3R4LnRbMV0gPSBjdHgudFsxXSArIGJsbgoKCS0tIHBhZCB0aGUgYnVmZmVyIHdpdGggemVybyBieXRlcwoKCWxvY2FsIHJsbiA9ICAxMjggLSBibG4gIC0tIHJlbWFpbmluZyBzcGFjZSAoaW4gYnl0ZXMpIGluIGN0eC5iCgoJY3R4LmIgPSBjdHguYiAuLiBzdHJpbmcucmVwKCdcMCcsIHJsbikKCgljb21wcmVzcyhjdHgsIHRydWUpIC0tIHRydWUgbWVhbnMgZmluYWwgYmxvY2sKCgktLSBleHRyYWN0IHRoZSBkaWdlc3QgKG91dGxlbiBieXRlcyBsb25nKQoKCWxvY2FsIG91dHRibCA9IHt9CgoJZm9yIGkgPSAwLCBjdHgub3V0bGVuIC0gMSBkbwoKCQlvdXR0YmxbaSsxXSA9IHN0cmluZy5jaGFyKAoKCQkJKGN0eC5oWyhpID4+IDMpICsgMV0gPj4gKDggKiAoaSAmIDcpKSkgJiAweGZmKQoKCWVuZAoKCWxvY2FsIGRpZyA9IHRhYmxlLmNvbmNhdChvdXR0YmwpCgoJcmV0dXJuIG91dHRibAoKZW5kCgoKCi0tLSBDYWxjdWxhdGVzIHRoZSBCTEFLRTJiIGhhc2ggb2YgdGhlIGdpdmVuIGRhdGEuCgotLS0gQHBhcmFtIGRhdGEgc3RyaW5nIC0gVGhlIGlucHV0IGRhdGEgdG8gYmUgaGFzaGVkLgoKLS0tIEBwYXJhbSBvdXRsZW4/IG51bWJlciAob3B0aW9uYWwpIC0gVGhlIGRlc2lyZWQgbGVuZ3RoIG9mIHRoZSBoYXNoIG91dHB1dC4gRGVmYXVsdHMgdG8gNjQuCgotLS0gQHBhcmFtIGtleT8gc3RyaW5nIChvcHRpb25hbCkgLSBUaGUga2V5IHRvIGJlIHVzZWQgZm9yIHRoZSBoYXNoIGNhbGN1bGF0aW9uLiBEZWZhdWx0cyB0byBhbiBlbXB0eSBzdHJpbmcuCgotLS0gQHJldHVybnMgdGFibGUgLSBBIHRhYmxlIGNvbnRhaW5pbmcgdGhlIGhhc2ggaW4gYnl0ZXMsIHN0cmluZywgYW5kIGhleCBmb3JtYXRzLgoKbG9jYWwgZnVuY3Rpb24gYmxhY2syYihkYXRhLCBvdXRsZW4sIGtleSkKCiAgICBsb2NhbCBjdHgsIG1zZyA9IGluaXQob3V0bGVuLCBrZXkpCgogICAgaWYgbm90IGN0eCB0aGVuIHJldHVybiBjdHgsIG1zZyBlbmQKCiAgICB1cGRhdGUoY3R4LCBkYXRhKQoKICAgIGxvY2FsIGJ5dGVzID0gZmluYWwoY3R4KQoKCWxvY2FsIGhhc2ggPSB0YWJsZS5jb25jYXQoYnl0ZXMpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fQoKCQoKCXB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gYnl0ZXMKCgllbmQKCgoKCXB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCgkJcmV0dXJuIGhhc2gKCgllbmQKCgoKCXB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCgkJcmV0dXJuIEhleC5zdHJpbmdUb0hleChoYXNoKQoKCWVuZAoKCgoJcmV0dXJuIHB1YmxpYwoKZW5kCgoKCnJldHVybiBibGFjazJiCgBsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBBTkQgPSBCaXQuYmFuZDsKCmxvY2FsIE9SICA9IEJpdC5ib3I7Cgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCmxvY2FsIExST1QgPSBCaXQubHJvdGF0ZTsKCmxvY2FsIExTSElGVCA9IEJpdC5sc2hpZnQ7Cgpsb2NhbCBSU0hJRlQgPSBCaXQucnNoaWZ0OwoKCgotLVNIQTEgaXMgYmlnLWVuZGlhbgoKbG9jYWwgYnl0ZXMyd29yZCA9IGZ1bmN0aW9uKGIwLCBiMSwgYjIsIGIzKQoKICAgIGxvY2FsIGkgPSBiMDsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjEpOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMik7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIzKTsKCiAgICByZXR1cm4gaTsKCmVuZAoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgZHdvcmQyYnl0ZXMgPSBmdW5jdGlvbihpKQoKICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhpKTsKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMobWF0aC5mbG9vcihpIC8gMHgxMDAwMDAwMDApKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3OwoKZW5kCgoKCmxvY2FsIEYgPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gWE9SKHosIEFORCh4LCBYT1IoeSwgeikpKTsgZW5kCgpsb2NhbCBHID0gZnVuY3Rpb24oeCwgeSwgeikgcmV0dXJuIFhPUih4LCBYT1IoeSwgeikpOyBlbmQKCmxvY2FsIEggPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gT1IoQU5EKHgsIE9SKHksIHopKSwgQU5EKHksIHopKTsgZW5kCgpsb2NhbCBJID0gZnVuY3Rpb24oeCwgeSwgeikgcmV0dXJuIFhPUih4LCBYT1IoeSwgeikpOyBlbmQKCgoKbG9jYWwgU0hBMSA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHF1ZXVlID0gUXVldWUoKTsKCgoKICAgIGxvY2FsIGgwID0gMHg2NzQ1MjMwMTsKCiAgICBsb2NhbCBoMSA9IDB4RUZDREFCODk7CgogICAgbG9jYWwgaDIgPSAweDk4QkFEQ0ZFOwoKICAgIGxvY2FsIGgzID0gMHgxMDMyNTQ3NjsKCiAgICBsb2NhbCBoNCA9IDB4QzNEMkUxRjA7CgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIHByb2Nlc3NCbG9jayA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgYSA9IGgwOwoKICAgICAgICBsb2NhbCBiID0gaDE7CgogICAgICAgIGxvY2FsIGMgPSBoMjsKCiAgICAgICAgbG9jYWwgZCA9IGgzOwoKICAgICAgICBsb2NhbCBlID0gaDQ7CgogICAgICAgIGxvY2FsIHRlbXA7CgogICAgICAgIGxvY2FsIGs7CgoKCiAgICAgICAgbG9jYWwgdyA9IHt9OwoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICB3W2ldID0gYnl0ZXMyd29yZChxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCksIHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGZvciBpID0gMTYsIDc5IGRvCgogICAgICAgICAgICB3W2ldID0gTFJPVCgoWE9SKFhPUih3W2kgLSAzXSwgd1tpIC0gOF0pLCBYT1Iod1tpIC0gMTRdLCB3W2kgLSAxNl0pKSksIDEpOwoKICAgICAgICBlbmQKCgoKICAgICAgICBmb3IgaSA9IDAsIDc5IGRvCgogICAgICAgICAgICBpZiAoaSA8PSAxOSkgdGhlbgoKICAgICAgICAgICAgICAgIHRlbXAgPSBGKGIsIGMsIGQpOwoKICAgICAgICAgICAgICAgIGsgPSAweDVBODI3OTk5OwoKICAgICAgICAgICAgZWxzZWlmIChpIDw9IDM5KSB0aGVuCgogICAgICAgICAgICAgICAgdGVtcCA9IEcoYiwgYywgZCk7CgogICAgICAgICAgICAgICAgayA9IDB4NkVEOUVCQTE7CgogICAgICAgICAgICBlbHNlaWYgKGkgPD0gNTkpIHRoZW4KCiAgICAgICAgICAgICAgICB0ZW1wID0gSChiLCBjLCBkKTsKCiAgICAgICAgICAgICAgICBrID0gMHg4RjFCQkNEQzsKCiAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICB0ZW1wID0gSShiLCBjLCBkKTsKCiAgICAgICAgICAgICAgICBrID0gMHhDQTYyQzFENjsKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgdGVtcCA9IExST1QoYSwgNSkgKyB0ZW1wICsgZSArIGsgKyB3W2ldOwoKICAgICAgICAgICAgZSA9IGQ7CgogICAgICAgICAgICBkID0gYzsKCiAgICAgICAgICAgIGMgPSBMUk9UKGIsIDMwKTsKCiAgICAgICAgICAgIGIgPSBhOwoKICAgICAgICAgICAgYSA9IHRlbXA7CgogICAgICAgIGVuZAoKCgogICAgICAgIGgwID0gQU5EKGgwICsgYSwgMHhGRkZGRkZGRik7CgogICAgICAgIGgxID0gQU5EKGgxICsgYiwgMHhGRkZGRkZGRik7CgogICAgICAgIGgyID0gQU5EKGgyICsgYywgMHhGRkZGRkZGRik7CgogICAgICAgIGgzID0gQU5EKGgzICsgZCwgMHhGRkZGRkZGRik7CgogICAgICAgIGg0ID0gQU5EKGg0ICsgZSwgMHhGRkZGRkZGRik7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcXVldWUucmVzZXQoKTsKCiAgICAgICAgaDAgPSAweDY3NDUyMzAxOwoKICAgICAgICBoMSA9IDB4RUZDREFCODk7CgogICAgICAgIGgyID0gMHg5OEJBRENGRTsKCiAgICAgICAgaDMgPSAweDEwMzI1NDc2OwoKICAgICAgICBoNCA9IDB4QzNEMkUxRjA7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihieXRlcykKCiAgICAgICAgZm9yIGIgaW4gYnl0ZXMgZG8KCiAgICAgICAgICAgIHF1ZXVlLnB1c2goYik7CgogICAgICAgICAgICBpZiBxdWV1ZS5zaXplKCkgPj0gNjQgdGhlbiBwcm9jZXNzQmxvY2soKTsgZW5kCgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBiaXRzID0gcXVldWUuZ2V0SGVhZCgpICogODsKCgoKICAgICAgICBxdWV1ZS5wdXNoKDB4ODApOwoKICAgICAgICB3aGlsZSAoKHF1ZXVlLnNpemUoKSArIDcpICUgNjQpIDwgNjMgZG8KCiAgICAgICAgICAgIHF1ZXVlLnB1c2goMHgwMCk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNyA9IGR3b3JkMmJ5dGVzKGJpdHMpOwoKCgogICAgICAgIHF1ZXVlLnB1c2goYjApOwoKICAgICAgICBxdWV1ZS5wdXNoKGIxKTsKCiAgICAgICAgcXVldWUucHVzaChiMik7CgogICAgICAgIHF1ZXVlLnB1c2goYjMpOwoKICAgICAgICBxdWV1ZS5wdXNoKGI0KTsKCiAgICAgICAgcXVldWUucHVzaChiNSk7CgogICAgICAgIHF1ZXVlLnB1c2goYjYpOwoKICAgICAgICBxdWV1ZS5wdXNoKGI3KTsKCgoKICAgICAgICB3aGlsZSBxdWV1ZS5zaXplKCkgPiAwIGRvCgogICAgICAgICAgICBwcm9jZXNzQmxvY2soKTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKGgwKTsKCiAgICAgICAgbG9jYWwgIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhoMik7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoaDMpOwoKICAgICAgICBsb2NhbCBiMTYsIGIxNywgYjE4LCBiMTkgPSB3b3JkMmJ5dGVzKGg0KTsKCgoKICAgICAgICByZXR1cm4ge2IwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNywgYjgsIGI5LCBiMTAsIGIxMSwgYjEyLCBiMTMsIGIxNCwgYjE1LCBiMTYsIGIxNywgYjE4LCBiMTl9OwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKGgwKTsKCiAgICAgICAgbG9jYWwgIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhoMik7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoaDMpOwoKICAgICAgICBsb2NhbCBiMTYsIGIxNywgYjE4LCBiMTkgPSB3b3JkMmJ5dGVzKGg0KTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLmZvcm1hdCgiJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMngiLAoKICAgICAgICAgICAgICAgIGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNywgYjgsIGI5LCBiMTAsIGIxMSwgYjEyLCBiMTMsIGIxNCwgYjE1LCBiMTYsIGIxNywgYjE4LCBiMTkpOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKGgwKTsKCiAgICAgICAgbG9jYWwgIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhoMik7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoaDMpOwoKICAgICAgICBsb2NhbCBiMTYsIGIxNywgYjE4LCBiMTkgPSB3b3JkMmJ5dGVzKGg0KTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLnBhY2soc3RyaW5nLnJlcCgnQicsIDIwKSwKCiAgICAgICAgICAgICAgICBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGI4LCBiOSwgYjEwLCBiMTEsIGIxMiwgYjEzLCBiMTQsIGIxNSwgYjE2LCBiMTcsIGIxOCwgYjE5KTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBwdWJsaWM7CgplbmQKCgoKCgpsb2NhbCBzaGExID0gZnVuY3Rpb24oc3RyZWFtKQoKICAgIGxvY2FsIHJlc3VsdCA9IFNIQTEoKQoKICAgICAgICAgICAgLnVwZGF0ZShzdHJlYW0pCgogICAgICAgICAgICAuZmluaXNoKCkKCiAgICByZXR1cm4gcmVzdWx0CgplbmQKCgoKcmV0dXJuIHsKCiAgICBzaGExID0gc2hhMSwKCiAgICBTSEExID0gU0hBMQoKfQAAAAAAAABsb2NhbCBIZXggPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaGV4IikKCgoKbG9jYWwgazUxMiA9IHsKCjB4NDI4YTJmOThkNzI4YWUyMiwweDcxMzc0NDkxMjNlZjY1Y2QsMHhiNWMwZmJjZmVjNGQzYjJmLDB4ZTliNWRiYTU4MTg5ZGJiYywKCjB4Mzk1NmMyNWJmMzQ4YjUzOCwweDU5ZjExMWYxYjYwNWQwMTksMHg5MjNmODJhNGFmMTk0ZjliLDB4YWIxYzVlZDVkYTZkODExOCwKCjB4ZDgwN2FhOThhMzAzMDI0MiwweDEyODM1YjAxNDU3MDZmYmUsMHgyNDMxODViZTRlZTRiMjhjLDB4NTUwYzdkYzNkNWZmYjRlMiwKCjB4NzJiZTVkNzRmMjdiODk2ZiwweDgwZGViMWZlM2IxNjk2YjEsMHg5YmRjMDZhNzI1YzcxMjM1LDB4YzE5YmYxNzRjZjY5MjY5NCwKCjB4ZTQ5YjY5YzE5ZWYxNGFkMiwweGVmYmU0Nzg2Mzg0ZjI1ZTMsMHgwZmMxOWRjNjhiOGNkNWI1LDB4MjQwY2ExY2M3N2FjOWM2NSwKCjB4MmRlOTJjNmY1OTJiMDI3NSwweDRhNzQ4NGFhNmVhNmU0ODMsMHg1Y2IwYTlkY2JkNDFmYmQ0LDB4NzZmOTg4ZGE4MzExNTNiNSwKCjB4OTgzZTUxNTJlZTY2ZGZhYiwweGE4MzFjNjZkMmRiNDMyMTAsMHhiMDAzMjdjODk4ZmIyMTNmLDB4YmY1OTdmYzdiZWVmMGVlNCwKCjB4YzZlMDBiZjMzZGE4OGZjMiwweGQ1YTc5MTQ3OTMwYWE3MjUsMHgwNmNhNjM1MWUwMDM4MjZmLDB4MTQyOTI5NjcwYTBlNmU3MCwKCjB4MjdiNzBhODU0NmQyMmZmYywweDJlMWIyMTM4NWMyNmM5MjYsMHg0ZDJjNmRmYzVhYzQyYWVkLDB4NTMzODBkMTM5ZDk1YjNkZiwKCjB4NjUwYTczNTQ4YmFmNjNkZSwweDc2NmEwYWJiM2M3N2IyYTgsMHg4MWMyYzkyZTQ3ZWRhZWU2LDB4OTI3MjJjODUxNDgyMzUzYiwKCjB4YTJiZmU4YTE0Y2YxMDM2NCwweGE4MWE2NjRiYmM0MjMwMDEsMHhjMjRiOGI3MGQwZjg5NzkxLDB4Yzc2YzUxYTMwNjU0YmUzMCwKCjB4ZDE5MmU4MTlkNmVmNTIxOCwweGQ2OTkwNjI0NTU2NWE5MTAsMHhmNDBlMzU4NTU3NzEyMDJhLDB4MTA2YWEwNzAzMmJiZDFiOCwKCjB4MTlhNGMxMTZiOGQyZDBjOCwweDFlMzc2YzA4NTE0MWFiNTMsMHgyNzQ4Nzc0Y2RmOGVlYjk5LDB4MzRiMGJjYjVlMTliNDhhOCwKCjB4MzkxYzBjYjNjNWM5NWE2MywweDRlZDhhYTRhZTM0MThhY2IsMHg1YjljY2E0Zjc3NjNlMzczLDB4NjgyZTZmZjNkNmIyYjhhMywKCjB4NzQ4ZjgyZWU1ZGVmYjJmYywweDc4YTU2MzZmNDMxNzJmNjAsMHg4NGM4NzgxNGExZjBhYjcyLDB4OGNjNzAyMDgxYTY0MzllYywKCjB4OTBiZWZmZmEyMzYzMWUyOCwweGE0NTA2Y2ViZGU4MmJkZTksMHhiZWY5YTNmN2IyYzY3OTE1LDB4YzY3MTc4ZjJlMzcyNTMyYiwKCjB4Y2EyNzNlY2VlYTI2NjE5YywweGQxODZiOGM3MjFjMGMyMDcsMHhlYWRhN2RkNmNkZTBlYjFlLDB4ZjU3ZDRmN2ZlZTZlZDE3OCwKCjB4MDZmMDY3YWE3MjE3NmZiYSwweDBhNjM3ZGM1YTJjODk4YTYsMHgxMTNmOTgwNGJlZjkwZGFlLDB4MWI3MTBiMzUxMzFjNDcxYiwKCjB4MjhkYjc3ZjUyMzA0N2Q4NCwweDMyY2FhYjdiNDBjNzI0OTMsMHgzYzllYmUwYTE1YzliZWJjLDB4NDMxZDY3YzQ5YzEwMGQ0YywKCjB4NGNjNWQ0YmVjYjNlNDJiNiwweDU5N2YyOTljZmM2NTdlMmEsMHg1ZmNiNmZhYjNhZDZmYWVjLDB4NmM0NDE5OGM0YTQ3NTgxNwoKfQoKCgpsb2NhbCBmdW5jdGlvbiBwYWQxMjgobXNnLCBsZW4pCgoJbG9jYWwgZXh0cmEgPSAxMjggLSAoKGxlbiArIDEgKyA4KSAlIDEyOCkKCglsZW4gPSBzdHJpbmcucGFjaygiPkk4IiwgbGVuICogOCkKCgltc2cgPSBtc2cgLi4gIlwxMjgiIC4uIHN0cmluZy5yZXAoIlwwIiwgZXh0cmEpIC4uIGxlbgoKCWFzc2VydCgjbXNnICUgMTI4ID09IDApCgoJcmV0dXJuIG1zZwoKZW5kCgoKCmxvY2FsIHd3NTEyID0ge30KCgoKLS0tIFNIQS01MTIgaGFzaCBmdW5jdGlvbi4KCi0tLSBAcGFyYW0gbXNnIHN0cmluZyAtIFRoZSBtZXNzYWdlIHRvIGhhc2guCgotLS0gQHJldHVybnMgdGFibGUgLSBBIHRhYmxlIGNvbnRhaW5pbmcgdGhlIGhhc2ggaW4gYnl0ZXMsIHN0cmluZywgYW5kIGhleCBmb3JtYXRzLgoKbG9jYWwgZnVuY3Rpb24gc2hhNTEyIChtc2cpCgoJbXNnID0gcGFkMTI4KG1zZywgI21zZykKCglsb2NhbCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoNywgaDggPSAKCgkJMHg2YTA5ZTY2N2YzYmNjOTA4LCAweGJiNjdhZTg1ODRjYWE3M2IsCgoJCTB4M2M2ZWYzNzJmZTk0ZjgyYiwgMHhhNTRmZjUzYTVmMWQzNmYxLAoKCQkweDUxMGU1MjdmYWRlNjgyZDEsIDB4OWIwNTY4OGMyYjNlNmMxZiwKCgkJMHgxZjgzZDlhYmZiNDFiZDZiLCAweDViZTBjZDE5MTM3ZTIxNzkKCglsb2NhbCBrID0gazUxMgoKCWxvY2FsIHcgPSB3dzUxMgoKCWxvY2FsIG1sZW4gPSAjbXNnCgoKCglmb3IgaSA9IDEsIG1sZW4sIDEyOCBkbwoKCQl3WzFdLCB3WzJdLCB3WzNdLCB3WzRdLCB3WzVdLCB3WzZdLCB3WzddLCB3WzhdLCAKCgkJd1s5XSwgd1sxMF0sIHdbMTFdLCB3WzEyXSwgd1sxM10sIHdbMTRdLCB3WzE1XSwgd1sxNl0KCgkJPSBzdHJpbmcudW5wYWNrKCI+aThpOGk4aThpOGk4aThpOGk4aThpOGk4aThpOGk4aTgiLCBtc2csIGkpCgoJCS0tIG1peCBtc2cgYmxvY2sgaW4gc3RhdGUKCgoKCQlmb3IgaiA9IDE3LCA4MCBkbwoKCQkJbG9jYWwgYSA9IHdbai0xNV0KCgkJCWxvY2FsIGIgPSB3W2otMl0KCgkJCXdbal0gPSAoYSA+PiAxIH4gYSA+PiA3IH4gYSA+PiA4IH4gYSA8PCA1NiB+IGEgPDwgNjMpCgoJCQkgICsgKGIgPj4gNiB+IGIgPj4gMTkgfiBiID4+IDYxIH4gYiA8PCAzIH4gYiA8PCA0NSkgCgoJCQkgICsgd1tqLTddICsgd1tqLTE2XQoKCQllbmQKCgkJbG9jYWwgYSwgYiwgYywgZCwgZSwgZiwgZywgaCA9IGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGg3LCBoOAoKCQktLSBtYWluIHN0YXRlIHBlcm11dGF0aW9uCgoJCWZvciBqID0gMSwgODAgZG8KCgkJCWxvY2FsIHogPSAoZSA+PiAxNCB+IGUgPj4gMTggfiBlID4+IDQxIH4gZSA8PCAyMyAKCgkJCQkgICB+IGUgPDwgNDYgfiBlIDw8IDUwKSAKCgkJCQkrIChnIH4gZSAmIChmIH4gZykpICsgaCArIGtbal0gKyB3W2pdCgoJCQloID0gZwoKCQkJZyA9IGYKCgkJCWYgPSBlCgoJCQllID0geiArIGQKCgkJCWQgPSBjCgoJCQljID0gYgoKCQkJYiA9IGEKCgkJCWEgPSB6ICsgKChhIH4gYykgJiBkIH4gYSAmIGMpIAoKCQkJICAgICAgKyAoYSA+PiAyOCB+IGEgPj4gMzQgfiBhID4+IDM5IH4gYSA8PCAyNSAKCgkJCQl+IGEgPDwgMzAgfiBhIDw8IDM2KQoKCQllbmQKCgkJaDEgPSBoMSArIGEKCgkJaDIgPSBoMiArIGIgCgoJCWgzID0gaDMgKyBjIAoKCQloNCA9IGg0ICsgZCAKCgkJaDUgPSBoNSArIGUgCgoJCWg2ID0gaDYgKyBmIAoKCQloNyA9IGg3ICsgZyAKCgkJaDggPSBoOCArIGggCgoJZW5kCgoKCglsb2NhbCBwdWJsaWMgPSB7fQoKCgoJcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgoJCXJldHVybiB7IGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGg3LCBoOH0KCgllbmQKCgoKCXB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCgkJcmV0dXJuIHN0cmluZy5wYWNrKCI+aThpOGk4aThpOGk4aThpOCIsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGg3LCBoOCkKCgllbmQKCgoKCXB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCgkJcmV0dXJuIEhleC5zdHJpbmdUb0hleChzdHJpbmcucGFjaygiPmk4aThpOGk4aThpOGk4aTgiLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoNywgaDgpKQoKCWVuZAoKCgoJcmV0dXJuIHB1YmxpYwoKZW5kCgoKCnJldHVybiBzaGE1MTIKAAAAAAAAAABsb2NhbCBIZXggPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaGV4Iik7CgoKCmxvY2FsIFJPVU5EUyA9IDI0CgoKCmxvY2FsIHJvdW5kQ29uc3RhbnRzID0gewoKMHgwMDAwMDAwMDAwMDAwMDAxLAoKMHgwMDAwMDAwMDAwMDA4MDgyLAoKMHg4MDAwMDAwMDAwMDA4MDhBLAoKMHg4MDAwMDAwMDgwMDA4MDAwLAoKMHgwMDAwMDAwMDAwMDA4MDhCLAoKMHgwMDAwMDAwMDgwMDAwMDAxLAoKMHg4MDAwMDAwMDgwMDA4MDgxLAoKMHg4MDAwMDAwMDAwMDA4MDA5LAoKMHgwMDAwMDAwMDAwMDAwMDhBLAoKMHgwMDAwMDAwMDAwMDAwMDg4LAoKMHgwMDAwMDAwMDgwMDA4MDA5LAoKMHgwMDAwMDAwMDgwMDAwMDBBLAoKMHgwMDAwMDAwMDgwMDA4MDhCLAoKMHg4MDAwMDAwMDAwMDAwMDhCLAoKMHg4MDAwMDAwMDAwMDA4MDg5LAoKMHg4MDAwMDAwMDAwMDA4MDAzLAoKMHg4MDAwMDAwMDAwMDA4MDAyLAoKMHg4MDAwMDAwMDAwMDAwMDgwLAoKMHgwMDAwMDAwMDAwMDA4MDBBLAoKMHg4MDAwMDAwMDgwMDAwMDBBLAoKMHg4MDAwMDAwMDgwMDA4MDgxLAoKMHg4MDAwMDAwMDAwMDA4MDgwLAoKMHgwMDAwMDAwMDgwMDAwMDAxLAoKMHg4MDAwMDAwMDgwMDA4MDA4Cgp9CgoKCmxvY2FsIHJvdGF0aW9uT2Zmc2V0cyA9IHsKCi0tIG9yZGVyZWQgZm9yIFt4XVt5XSBkZXJlZmVyZW5jaW5nLCBzbyBhcHBlYXIgZmxpcHBlZCBoZXJlOgoKezAsIDM2LCAzLCA0MSwgMTh9LAoKezEsIDQ0LCAxMCwgNDUsIDJ9LAoKezYyLCA2LCA0MywgMTUsIDYxfSwKCnsyOCwgNTUsIDI1LCAyMSwgNTZ9LAoKezI3LCAyMCwgMzksIDgsIDE0fQoKfQoKCgoKCgoKLS0gdGhlIGZ1bGwgcGVybXV0YXRpb24gZnVuY3Rpb24KCmxvY2FsIGZ1bmN0aW9uIGtlY2Nha0Yoc3QpCgoJbG9jYWwgcGVybXV0ZWQgPSBzdC5wZXJtdXRlZAoKCWxvY2FsIHBhcml0aWVzID0gc3QucGFyaXRpZXMKCglmb3Igcm91bmQgPSAxLCBST1VORFMgZG8KCgkJLS0gdGhldGEoKQoKCQlmb3IgeCA9IDEsNSBkbwoKCQkJcGFyaXRpZXNbeF0gPSAwCgoJCQlsb2NhbCBzeCA9IHN0W3hdCgoJCQlmb3IgeSA9IDEsNSBkbyBwYXJpdGllc1t4XSA9IHBhcml0aWVzW3hdIH4gc3hbeV0gZW5kCgoJCWVuZAoKCQktLQoKCQktLSB1bnJvbGwgdGhlIGZvbGxvd2luZyBsb29wCgoJCS0tZm9yIHggPSAxLDUgZG8KCgkJLS0JbG9jYWwgcDUgPSBwYXJpdGllc1soeCklNSArIDFdCgoJCS0tCWxvY2FsIGZsaXAgPSBwYXJpdGllc1soeC0yKSU1ICsgMV0gfiAoIHA1IDw8IDEgfCBwNSA+PiA2MykKCgkJLS0JZm9yIHkgPSAxLDUgZG8gc3RbeF1beV0gPSBzdFt4XVt5XSB+IGZsaXAgZW5kCgoJCS0tZW5kCgoJCWxvY2FsIHA1LCBmbGlwLCBzCgoJCS0teD0xCgoJCXA1ID0gcGFyaXRpZXNbMl0KCgkJZmxpcCA9IHBhcml0aWVzWzVdIH4gKHA1IDw8IDEgfCBwNSA+PiA2MykKCgkJcyA9IHN0WzFdCgoJCWZvciB5ID0gMSw1IGRvIHNbeV0gPSBzW3ldIH4gZmxpcCBlbmQKCgkJLS14PTIKCgkJcDUgPSBwYXJpdGllc1szXQoKCQlmbGlwID0gcGFyaXRpZXNbMV0gfiAocDUgPDwgMSB8IHA1ID4+IDYzKQoKCQlzID0gc3RbMl0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHNbeV0gfiBmbGlwIGVuZAoKCQktLXg9MwoKCQlwNSA9IHBhcml0aWVzWzRdCgoJCWZsaXAgPSBwYXJpdGllc1syXSB+IChwNSA8PCAxIHwgcDUgPj4gNjMpCgoJCXMgPSBzdFszXQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gc1t5XSB+IGZsaXAgZW5kCgoJCS0teD00CgoJCXA1ID0gcGFyaXRpZXNbNV0KCgkJZmxpcCA9IHBhcml0aWVzWzNdIH4gKHA1IDw8IDEgfCBwNSA+PiA2MykKCgkJcyA9IHN0WzRdCgoJCWZvciB5ID0gMSw1IGRvIHNbeV0gPSBzW3ldIH4gZmxpcCBlbmQKCgkJLS14PTUKCgkJcDUgPSBwYXJpdGllc1sxXQoKCQlmbGlwID0gcGFyaXRpZXNbNF0gfiAocDUgPDwgMSB8IHA1ID4+IDYzKQoKCQlzID0gc3RbNV0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHNbeV0gfiBmbGlwIGVuZAoKCgoJCS0tIHJob3BpKCkKCgkJZm9yIHkgPSAxLDUgZG8KCgkJCWxvY2FsIHB5ID0gcGVybXV0ZWRbeV0KCgkJCWxvY2FsIHIKCgkJCWZvciB4ID0gMSw1IGRvCgoJCQkJcywgciA9IHN0W3hdW3ldLCByb3RhdGlvbk9mZnNldHNbeF1beV0KCgkJCQlweVsoMip4ICsgMyp5KSU1ICsgMV0gPSAocyA8PCByIHwgcyA+PiAoNjQtcikpCgoJCQllbmQKCgkJZW5kCgoKCgkJLS0gY2hpKCkgLSB1bnJvbGwgdGhlIGxvb3AKCgkJLS1mb3IgeCA9IDEsNSBkbwoKCQktLQlmb3IgeSA9IDEsNSBkbwoKCQktLQkJbG9jYWwgY29tYmluZWQgPSAofiBwZXJtdXRlZFsoeCklNSArMV1beV0pICYgcGVybXV0ZWRbKHgrMSklNSArMV1beV0KCgkJLS0JCXN0W3hdW3ldID0gcGVybXV0ZWRbeF1beV0gfiBjb21iaW5lZAoKCQktLQllbmQKCgkJLS1lbmQKCgoKCQlsb2NhbCBwLCBwMSwgcDIKCgkJLS14PTEKCgkJcywgcCwgcDEsIHAyID0gc3RbMV0sIHBlcm11dGVkWzFdLCBwZXJtdXRlZFsyXSwgcGVybXV0ZWRbM10KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHBbeV0gfiAofiBwMVt5XSkgJiBwMlt5XSBlbmQKCgkJLS14PTIKCgkJcywgcCwgcDEsIHAyID0gc3RbMl0sIHBlcm11dGVkWzJdLCBwZXJtdXRlZFszXSwgcGVybXV0ZWRbNF0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHBbeV0gfiAofiBwMVt5XSkgJiBwMlt5XSBlbmQKCgkJLS14PTMKCgkJcywgcCwgcDEsIHAyID0gc3RbM10sIHBlcm11dGVkWzNdLCBwZXJtdXRlZFs0XSwgcGVybXV0ZWRbNV0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHBbeV0gfiAofiBwMVt5XSkgJiBwMlt5XSBlbmQKCgkJLS14PTQKCgkJcywgcCwgcDEsIHAyID0gc3RbNF0sIHBlcm11dGVkWzRdLCBwZXJtdXRlZFs1XSwgcGVybXV0ZWRbMV0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHBbeV0gfiAofiBwMVt5XSkgJiBwMlt5XSBlbmQKCgkJLS14PTUKCgkJcywgcCwgcDEsIHAyID0gc3RbNV0sIHBlcm11dGVkWzVdLCBwZXJtdXRlZFsxXSwgcGVybXV0ZWRbMl0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHBbeV0gfiAofiBwMVt5XSkgJiBwMlt5XSBlbmQKCgoKCQktLSBpb3RhKCkKCgkJc3RbMV1bMV0gPSBzdFsxXVsxXSB+IHJvdW5kQ29uc3RhbnRzW3JvdW5kXQoKCWVuZAoKZW5kCgoKCgoKbG9jYWwgZnVuY3Rpb24gYWJzb3JiKHN0LCBidWZmZXIsIGFsZ29yaXRobSkKCgoKCWxvY2FsIGJsb2NrQnl0ZXMgPSBzdC5yYXRlIC8gOAoKCWxvY2FsIGJsb2NrV29yZHMgPSBibG9ja0J5dGVzIC8gOAoKCgoJLS0gYXBwZW5kIDB4MDEgYnl0ZSBhbmQgcGFkIHdpdGggemVyb3MgdG8gYmxvY2sgc2l6ZSAocmF0ZS84IGJ5dGVzKQoKCWxvY2FsIHRvdGFsQnl0ZXMgPSAjYnVmZmVyICsgMQoKCS0tIGZvciBrZWNjYWsgKDIwMTIgc3VibWlzc2lvbiksIHRoZSBwYWRkaW5nIGlzIGJ5dGUgMHgwMSBmb2xsb3dlZCBieSB6ZXJvcwoKCS0tIGZvciBTSEEzIChOSVNULCAyMDE1KSwgdGhlIHBhZGRpbmcgaXMgYnl0ZSAweDA2IGZvbGxvd2VkIGJ5IHplcm9zCgoKCglpZiBhbGdvcml0aG0gPT0gImtlY2NhayIgdGhlbgoKCQlidWZmZXIgPSBidWZmZXIgLi4gKCAnXHgwMScgLi4gc3RyaW5nLmNoYXIoMCk6cmVwKGJsb2NrQnl0ZXMgLSAodG90YWxCeXRlcyAlIGJsb2NrQnl0ZXMpKSkKCgllbmQKCgkKCglpZiBhbGdvcml0aG0gPT0gInNoYTMiIHRoZW4KCgkJYnVmZmVyID0gYnVmZmVyIC4uICggJ1x4MDYnIC4uIHN0cmluZy5jaGFyKDApOnJlcChibG9ja0J5dGVzIC0gKHRvdGFsQnl0ZXMgJSBibG9ja0J5dGVzKSkpCgoJZW5kCgoKCgl0b3RhbEJ5dGVzID0gI2J1ZmZlcgoKCgoJLS1jb252ZXJ0IGRhdGEgdG8gYW4gYXJyYXkgb2YgdTY0CgoJbG9jYWwgd29yZHMgPSB7fQoKCWZvciBpID0gMSwgdG90YWxCeXRlcyAtICh0b3RhbEJ5dGVzICUgOCksIDggZG8KCgkJd29yZHNbI3dvcmRzICsgMV0gPSBzdHJpbmcudW5wYWNrKCc8STgnLCBidWZmZXIsIGkpCgoJZW5kCgoKCglsb2NhbCB0b3RhbFdvcmRzID0gI3dvcmRzCgoJLS0gT1IgZmluYWwgd29yZCB3aXRoIDB4ODAwMDAwMDAgdG8gc2V0IGxhc3QgYml0IG9mIHN0YXRlIHRvIDEKCgl3b3Jkc1t0b3RhbFdvcmRzXSA9IHdvcmRzW3RvdGFsV29yZHNdIHwgMHg4MDAwMDAwMDAwMDAwMDAwCgoKCgktLSBYT1IgYmxvY2tzIGludG8gc3RhdGUKCglmb3Igc3RhcnRCbG9jayA9IDEsIHRvdGFsV29yZHMsIGJsb2NrV29yZHMgZG8KCgkJbG9jYWwgb2Zmc2V0ID0gMAoKCQlmb3IgeSA9IDEsIDUgZG8KCgkJCWZvciB4ID0gMSwgNSBkbwoKCQkJCWlmIG9mZnNldCA8IGJsb2NrV29yZHMgdGhlbgoKCQkJCQlsb2NhbCBpbmRleCA9IHN0YXJ0QmxvY2srb2Zmc2V0CgoJCQkJCXN0W3hdW3ldID0gc3RbeF1beV0gfiB3b3Jkc1tpbmRleF0KCgkJCQkJb2Zmc2V0ID0gb2Zmc2V0ICsgMQoKCQkJCWVuZAoKCQkJZW5kCgoJCWVuZAoKCQlrZWNjYWtGKHN0KQoKCWVuZAoKZW5kCgoKCgoKLS0gcmV0dXJucyBbcmF0ZV0gYml0cyBmcm9tIHRoZSBzdGF0ZSwgd2l0aG91dCBwZXJtdXRpbmcgYWZ0ZXJ3YXJkLgoKLS0gT25seSBmb3IgdXNlIHdoZW4gdGhlIHN0YXRlIHdpbGwgaW1tZWRpYXRlbHkgYmUgdGhyb3duIGF3YXksCgotLSBhbmQgbm90IHVzZWQgZm9yIG1vcmUgb3V0cHV0IGxhdGVyCgpsb2NhbCBmdW5jdGlvbiBzcXVlZXplKHN0KQoKCWxvY2FsIGJsb2NrQnl0ZXMgPSBzdC5yYXRlIC8gOAoKCWxvY2FsIGJsb2NrV29yZHMgPSBibG9ja0J5dGVzIC8gNAoKCS0tIGZldGNoIGJsb2NrcyBvdXQgb2Ygc3RhdGUKCglsb2NhbCBoYXNodCA9IHt9CgoJbG9jYWwgb2Zmc2V0ID0gMQoKCWZvciB5ID0gMSwgNSBkbwoKCQlmb3IgeCA9IDEsIDUgZG8KCgkJCWlmIG9mZnNldCA8IGJsb2NrV29yZHMgdGhlbgoKCQkJCWhhc2h0W29mZnNldF0gPSBzdHJpbmcucGFjaygiPEk4Iiwgc3RbeF1beV0pCgoJCQkJb2Zmc2V0ID0gb2Zmc2V0ICsgMQoKCQkJZW5kCgoJCWVuZAoKCWVuZAoKCXJldHVybiB0YWJsZS5jb25jYXQoaGFzaHQpCgplbmQKCgoKLS0gcHJpbWl0aXZlIGZ1bmN0aW9ucyAoYXNzdW1lIHJhdGUgaXMgYSB3aG9sZSBtdWx0aXBsZSBvZiA2NCBhbmQgbGVuZ3RoIGlzIGEgd2hvbGUgbXVsdGlwbGUgb2YgOCkKCmxvY2FsIGZ1bmN0aW9uIGtlY2Nha0hhc2gocmF0ZSwgbGVuZ3RoLCBkYXRhLCBhbGdvcml0aG0pCgoJbG9jYWwgc3RhdGUgPSB7CXswLDAsMCwwLDB9LAoKCQkJCQl7MCwwLDAsMCwwfSwKCgkJCQkJezAsMCwwLDAsMH0sCgoJCQkJCXswLDAsMCwwLDB9LAoKCQkJCQl7MCwwLDAsMCwwfSwKCgl9CgoJc3RhdGUucmF0ZSA9IHJhdGUKCgktLSB0aGVzZSBhcmUgYWxsb2NhdGVkIG9uY2UsIGFuZCByZXVzZWQKCglzdGF0ZS5wZXJtdXRlZCA9IHsge30sIHt9LCB7fSwge30sIHt9LCB9CgoJc3RhdGUucGFyaXRpZXMgPSB7MCwwLDAsMCwwfQoKCWFic29yYihzdGF0ZSwgZGF0YSwgYWxnb3JpdGhtKQoKCWxvY2FsIGVuY29kZWQgPSBzcXVlZXplKHN0YXRlKTpzdWIoMSxsZW5ndGgvOCk7CgoKCglsb2NhbCBwdWJsaWMgPSB7fQoKCgoJcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gZW5jb2RlZAoKCWVuZAoKCgoJcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gSGV4LnN0cmluZ1RvSGV4KGVuY29kZWQpCgoJZW5kCgoKCglyZXR1cm4gcHVibGljCgplbmQKCgoKLS0gb3V0cHV0IHRhYmxlcyBmb3IgZ2V0dGluZyB0aGUgaGFzaCBhcyBieXRlcywgc3RyaW5nLCBvciBoZXgKCmxvY2FsIGZ1bmN0aW9uIHNoYTNfMjU2KGRhdGEpIHJldHVybiBrZWNjYWtIYXNoKDEwODgsIDI1NiwgZGF0YSwgJ3NoYTMnKSBlbmQKCmxvY2FsIGZ1bmN0aW9uIHNoYTNfNTEyKGRhdGEpIHJldHVybiBrZWNjYWtIYXNoKDU3NiwgNTEyLCBkYXRhLCAnc2hhMycpIGVuZAoKbG9jYWwgZnVuY3Rpb24ga2VjY2FrMjU2KGRhdGEpIHJldHVybiBrZWNjYWtIYXNoKDEwODgsIDI1NiwgZGF0YSwgJ2tlY2NhaycpIGVuZAoKbG9jYWwgZnVuY3Rpb24ga2VjY2FrNTEyKGRhdGEpIHJldHVybiBrZWNjYWtIYXNoKDU3NiwgNTEyLCBkYXRhLCAna2VjY2FrJykgZW5kCgoKCnJldHVybiB7CgoJc2hhM18yNTYgPSBzaGEzXzI1NiwKCglzaGEzXzUxMiA9IHNoYTNfNTEyLAoKCWtlY2NhazI1NiA9IGtlY2NhazI1NiwKCglrZWNjYWs1MTIgPSBrZWNjYWs1MTIKCn0AAAAAAGxvY2FsIEJpdCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5iaXQiKTsKCmxvY2FsIFF1ZXVlID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnF1ZXVlIik7CgoKCmxvY2FsIEFORCA9IEJpdC5iYW5kOwoKbG9jYWwgT1IgID0gQml0LmJvcjsKCmxvY2FsIE5PVCA9IEJpdC5ibm90OwoKbG9jYWwgWE9SID0gQml0LmJ4b3I7Cgpsb2NhbCBMUk9UID0gQml0Lmxyb3RhdGU7Cgpsb2NhbCBMU0hJRlQgPSBCaXQubHNoaWZ0OwoKbG9jYWwgUlNISUZUID0gQml0LnJzaGlmdDsKCgoKLS1NRDQgaXMgbGl0dGxlLWVuZGlhbgoKbG9jYWwgYnl0ZXMyd29yZCA9IGZ1bmN0aW9uKGIwLCBiMSwgYjIsIGIzKQoKICAgIGxvY2FsIGkgPSBiMzsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjIpOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMSk7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIwKTsKCiAgICByZXR1cm4gaTsKCmVuZAoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgZHdvcmQyYnl0ZXMgPSBmdW5jdGlvbihpKQoKICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhtYXRoLmZsb29yKGkgLyAweDEwMDAwMDAwMCkpOwoKICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhpKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3OwoKZW5kCgoKCmxvY2FsIEYgPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gT1IoQU5EKHgsIHkpLCBBTkQoTk9UKHgpLCB6KSk7IGVuZAoKbG9jYWwgRyA9IGZ1bmN0aW9uKHgsIHksIHopIHJldHVybiBPUihBTkQoeCwgeSksIE9SKEFORCh4LCB6KSwgQU5EKHksIHopKSk7IGVuZAoKbG9jYWwgSCA9IGZ1bmN0aW9uKHgsIHksIHopIHJldHVybiBYT1IoeCwgWE9SKHksIHopKTsgZW5kCgoKCgoKbG9jYWwgTUQ0ID0gZnVuY3Rpb24oc3RyZWFtKQoKCgogICAgbG9jYWwgcXVldWUgPSBRdWV1ZSgpOwoKCgogICAgbG9jYWwgQSA9IDB4Njc0NTIzMDE7CgogICAgbG9jYWwgQiA9IDB4ZWZjZGFiODk7CgogICAgbG9jYWwgQyA9IDB4OThiYWRjZmU7CgogICAgbG9jYWwgRCA9IDB4MTAzMjU0NzY7CgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBwcm9jZXNzQmxvY2sgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGEgPSBBOwoKICAgICAgICBsb2NhbCBiID0gQjsKCiAgICAgICAgbG9jYWwgYyA9IEM7CgogICAgICAgIGxvY2FsIGQgPSBEOwoKCgogICAgICAgIGxvY2FsIFggPSB7fTsKCgoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICBYW2ldID0gYnl0ZXMyd29yZChxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCksIHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBGKGIsIGMsIGQpICsgWFswXSwgMyk7CgogICAgICAgIGQgPSBMUk9UKGQgKyBGKGEsIGIsIGMpICsgWFsxXSwgNyk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBGKGQsIGEsIGIpICsgWFsyXSwgMTEpOwoKICAgICAgICBiID0gTFJPVChiICsgRihjLCBkLCBhKSArIFhbM10sIDE5KTsKCgoKICAgICAgICBhID0gTFJPVChhICsgRihiLCBjLCBkKSArIFhbNF0sIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgRihhLCBiLCBjKSArIFhbNV0sIDcpOwoKICAgICAgICBjID0gTFJPVChjICsgRihkLCBhLCBiKSArIFhbNl0sIDExKTsKCiAgICAgICAgYiA9IExST1QoYiArIEYoYywgZCwgYSkgKyBYWzddLCAxOSk7CgoKCiAgICAgICAgYSA9IExST1QoYSArIEYoYiwgYywgZCkgKyBYWzhdLCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEYoYSwgYiwgYykgKyBYWzldLCA3KTsKCiAgICAgICAgYyA9IExST1QoYyArIEYoZCwgYSwgYikgKyBYWzEwXSwgMTEpOwoKICAgICAgICBiID0gTFJPVChiICsgRihjLCBkLCBhKSArIFhbMTFdLCAxOSk7CgoKCiAgICAgICAgYSA9IExST1QoYSArIEYoYiwgYywgZCkgKyBYWzEyXSwgMyk7CgogICAgICAgIGQgPSBMUk9UKGQgKyBGKGEsIGIsIGMpICsgWFsxM10sIDcpOwoKICAgICAgICBjID0gTFJPVChjICsgRihkLCBhLCBiKSArIFhbMTRdLCAxMSk7CgogICAgICAgIGIgPSBMUk9UKGIgKyBGKGMsIGQsIGEpICsgWFsxNV0sIDE5KTsKCgoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBHKGIsIGMsIGQpICsgWFswXSArIDB4NUE4Mjc5OTksIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgRyhhLCBiLCBjKSArIFhbNF0gKyAweDVBODI3OTk5LCA1KTsKCiAgICAgICAgYyA9IExST1QoYyArIEcoZCwgYSwgYikgKyBYWzhdICsgMHg1QTgyNzk5OSwgOSk7CgogICAgICAgIGIgPSBMUk9UKGIgKyBHKGMsIGQsIGEpICsgWFsxMl0gKyAweDVBODI3OTk5LCAxMyk7CgoKCiAgICAgICAgYSA9IExST1QoYSArIEcoYiwgYywgZCkgKyBYWzFdICsgMHg1QTgyNzk5OSwgMyk7CgogICAgICAgIGQgPSBMUk9UKGQgKyBHKGEsIGIsIGMpICsgWFs1XSArIDB4NUE4Mjc5OTksIDUpOwoKICAgICAgICBjID0gTFJPVChjICsgRyhkLCBhLCBiKSArIFhbOV0gKyAweDVBODI3OTk5LCA5KTsKCiAgICAgICAgYiA9IExST1QoYiArIEcoYywgZCwgYSkgKyBYWzEzXSArIDB4NUE4Mjc5OTksIDEzKTsKCgoKICAgICAgICBhID0gTFJPVChhICsgRyhiLCBjLCBkKSArIFhbMl0gKyAweDVBODI3OTk5LCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEcoYSwgYiwgYykgKyBYWzZdICsgMHg1QTgyNzk5OSwgNSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBHKGQsIGEsIGIpICsgWFsxMF0gKyAweDVBODI3OTk5LCA5KTsKCiAgICAgICAgYiA9IExST1QoYiArIEcoYywgZCwgYSkgKyBYWzE0XSArIDB4NUE4Mjc5OTksIDEzKTsKCgoKICAgICAgICBhID0gTFJPVChhICsgRyhiLCBjLCBkKSArIFhbM10gKyAweDVBODI3OTk5LCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEcoYSwgYiwgYykgKyBYWzddICsgMHg1QTgyNzk5OSwgNSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBHKGQsIGEsIGIpICsgWFsxMV0gKyAweDVBODI3OTk5LCA5KTsKCiAgICAgICAgYiA9IExST1QoYiArIEcoYywgZCwgYSkgKyBYWzE1XSArIDB4NUE4Mjc5OTksIDEzKTsKCgoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBIKGIsIGMsIGQpICsgWFswXSArIDB4NkVEOUVCQTEsIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgSChhLCBiLCBjKSArIFhbOF0gKyAweDZFRDlFQkExLCA5KTsKCiAgICAgICAgYyA9IExST1QoYyArIEgoZCwgYSwgYikgKyBYWzRdICsgMHg2RUQ5RUJBMSwgMTEpOwoKICAgICAgICBiID0gTFJPVChiICsgSChjLCBkLCBhKSArIFhbMTJdICsgMHg2RUQ5RUJBMSwgMTUpOwoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBIKGIsIGMsIGQpICsgWFsyXSArIDB4NkVEOUVCQTEsIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgSChhLCBiLCBjKSArIFhbMTBdICsgMHg2RUQ5RUJBMSwgOSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBIKGQsIGEsIGIpICsgWFs2XSArIDB4NkVEOUVCQTEsIDExKTsKCiAgICAgICAgYiA9IExST1QoYiArIEgoYywgZCwgYSkgKyBYWzE0XSArIDB4NkVEOUVCQTEsIDE1KTsKCgoKICAgICAgICBhID0gTFJPVChhICsgSChiLCBjLCBkKSArIFhbMV0gKyAweDZFRDlFQkExLCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEgoYSwgYiwgYykgKyBYWzldICsgMHg2RUQ5RUJBMSwgOSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBIKGQsIGEsIGIpICsgWFs1XSArIDB4NkVEOUVCQTEsIDExKTsKCiAgICAgICAgYiA9IExST1QoYiArIEgoYywgZCwgYSkgKyBYWzEzXSArIDB4NkVEOUVCQTEsIDE1KTsKCgoKICAgICAgICBhID0gTFJPVChhICsgSChiLCBjLCBkKSArIFhbM10gKyAweDZFRDlFQkExLCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEgoYSwgYiwgYykgKyBYWzExXSArIDB4NkVEOUVCQTEsIDkpOwoKICAgICAgICBjID0gTFJPVChjICsgSChkLCBhLCBiKSArIFhbN10gKyAweDZFRDlFQkExLCAxMSk7CgogICAgICAgIGIgPSBMUk9UKGIgKyBIKGMsIGQsIGEpICsgWFsxNV0gKyAweDZFRDlFQkExLCAxNSk7CgoKCgoKICAgICAgICBBID0gQU5EKEEgKyBhLCAweEZGRkZGRkZGKTsKCiAgICAgICAgQiA9IEFORChCICsgYiwgMHhGRkZGRkZGRik7CgogICAgICAgIEMgPSBBTkQoQyArIGMsIDB4RkZGRkZGRkYpOwoKICAgICAgICBEID0gQU5EKEQgKyBkLCAweEZGRkZGRkZGKTsKCiAgICBlbmQKCiAgICAKCgoKICAgIGZvciBzIGluIHN0cmVhbSBkbwoKICAgICAgICBxdWV1ZS5wdXNoKHMpOwoKICAgICAgICBpZiAocXVldWUuc2l6ZSgpID49IDY0KSB0aGVuIHByb2Nlc3NCbG9jaygpOyBlbmQKCiAgICBlbmQKCiAgICAKCiAgICBsb2NhbCBiaXRzID0gcXVldWUuZ2V0SGVhZCgpICogODsKCgoKICAgIHF1ZXVlLnB1c2goMHg4MCk7CgogICAgd2hpbGUgKChxdWV1ZS5zaXplKCkgKyA3KSAlIDY0KSA8IDYzIGRvCgogICAgICAgIHF1ZXVlLnB1c2goMHgwMCk7CgogICAgZW5kCgoKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcgPSBkd29yZDJieXRlcyhiaXRzKTsKCgoKICAgIHF1ZXVlLnB1c2goYjApOwoKICAgIHF1ZXVlLnB1c2goYjEpOwoKICAgIHF1ZXVlLnB1c2goYjIpOwoKICAgIHF1ZXVlLnB1c2goYjMpOwoKICAgIHF1ZXVlLnB1c2goYjQpOwoKICAgIHF1ZXVlLnB1c2goYjUpOwoKICAgIHF1ZXVlLnB1c2goYjYpOwoKICAgIHF1ZXVlLnB1c2goYjcpOwoKCgogICAgd2hpbGUgcXVldWUuc2l6ZSgpID4gMCBkbwoKICAgICAgICBwcm9jZXNzQmxvY2soKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKEEpOwoKICAgICAgICBsb2NhbCAgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKEIpOwoKICAgICAgICBsb2NhbCAgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoQyk7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoRCk7CgoKCiAgICAgICAgcmV0dXJuIHtiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGI4LCBiOSwgYjEwLCBiMTEsIGIxMiwgYjEzLCBiMTQsIGIxNX07CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsICBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoQSk7CgogICAgICAgIGxvY2FsICBiNCwgYjUsIGI2LCBiNyA9IHdvcmQyYnl0ZXMoQik7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhDKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhEKTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLmZvcm1hdCgiJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCgogICAgICAgICAgICAgICAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUpOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKEEpOwoKICAgICAgICBsb2NhbCAgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKEIpOwoKICAgICAgICBsb2NhbCAgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoQyk7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoRCk7CgoKCiAgICAgICAgcmV0dXJuIHN0cmluZy5wYWNrKHN0cmluZy5yZXAoJ0InLCAxNiksCgogICAgICAgICAgICAgICAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCnJldHVybiBNRDQ7AEKQtwwLhtMDbG9jYWwgQml0ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmJpdCIpOwoKbG9jYWwgUXVldWUgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwucXVldWUiKTsKCgoKbG9jYWwgU1VCU1QgPSB7CgogIDB4MjksIDB4MkUsIDB4NDMsIDB4QzksIDB4QTIsIDB4RDgsIDB4N0MsIDB4MDEsIDB4M0QsIDB4MzYsIDB4NTQsIDB4QTEsIDB4RUMsIDB4RjAsIDB4MDYsIDB4MTMsCgogIDB4NjIsIDB4QTcsIDB4MDUsIDB4RjMsIDB4QzAsIDB4QzcsIDB4NzMsIDB4OEMsIDB4OTgsIDB4OTMsIDB4MkIsIDB4RDksIDB4QkMsIDB4NEMsIDB4ODIsIDB4Q0EsCgogIDB4MUUsIDB4OUIsIDB4NTcsIDB4M0MsIDB4RkQsIDB4RDQsIDB4RTAsIDB4MTYsIDB4NjcsIDB4NDIsIDB4NkYsIDB4MTgsIDB4OEEsIDB4MTcsIDB4RTUsIDB4MTIsCgogIDB4QkUsIDB4NEUsIDB4QzQsIDB4RDYsIDB4REEsIDB4OUUsIDB4REUsIDB4NDksIDB4QTAsIDB4RkIsIDB4RjUsIDB4OEUsIDB4QkIsIDB4MkYsIDB4RUUsIDB4N0EsCgogIDB4QTksIDB4NjgsIDB4NzksIDB4OTEsIDB4MTUsIDB4QjIsIDB4MDcsIDB4M0YsIDB4OTQsIDB4QzIsIDB4MTAsIDB4ODksIDB4MEIsIDB4MjIsIDB4NUYsIDB4MjEsCgogIDB4ODAsIDB4N0YsIDB4NUQsIDB4OUEsIDB4NUEsIDB4OTAsIDB4MzIsIDB4MjcsIDB4MzUsIDB4M0UsIDB4Q0MsIDB4RTcsIDB4QkYsIDB4RjcsIDB4OTcsIDB4MDMsCgogIDB4RkYsIDB4MTksIDB4MzAsIDB4QjMsIDB4NDgsIDB4QTUsIDB4QjUsIDB4RDEsIDB4RDcsIDB4NUUsIDB4OTIsIDB4MkEsIDB4QUMsIDB4NTYsIDB4QUEsIDB4QzYsCgogIDB4NEYsIDB4QjgsIDB4MzgsIDB4RDIsIDB4OTYsIDB4QTQsIDB4N0QsIDB4QjYsIDB4NzYsIDB4RkMsIDB4NkIsIDB4RTIsIDB4OUMsIDB4NzQsIDB4MDQsIDB4RjEsCgogIDB4NDUsIDB4OUQsIDB4NzAsIDB4NTksIDB4NjQsIDB4NzEsIDB4ODcsIDB4MjAsIDB4ODYsIDB4NUIsIDB4Q0YsIDB4NjUsIDB4RTYsIDB4MkQsIDB4QTgsIDB4MDIsCgogIDB4MUIsIDB4NjAsIDB4MjUsIDB4QUQsIDB4QUUsIDB4QjAsIDB4QjksIDB4RjYsIDB4MUMsIDB4NDYsIDB4NjEsIDB4NjksIDB4MzQsIDB4NDAsIDB4N0UsIDB4MEYsCgogIDB4NTUsIDB4NDcsIDB4QTMsIDB4MjMsIDB4REQsIDB4NTEsIDB4QUYsIDB4M0EsIDB4QzMsIDB4NUMsIDB4RjksIDB4Q0UsIDB4QkEsIDB4QzUsIDB4RUEsIDB4MjYsCgogIDB4MkMsIDB4NTMsIDB4MEQsIDB4NkUsIDB4ODUsIDB4MjgsIDB4ODQsIDB4MDksIDB4RDMsIDB4REYsIDB4Q0QsIDB4RjQsIDB4NDEsIDB4ODEsIDB4NEQsIDB4NTIsCgogIDB4NkEsIDB4REMsIDB4MzcsIDB4QzgsIDB4NkMsIDB4QzEsIDB4QUIsIDB4RkEsIDB4MjQsIDB4RTEsIDB4N0IsIDB4MDgsIDB4MEMsIDB4QkQsIDB4QjEsIDB4NEEsCgogIDB4NzgsIDB4ODgsIDB4OTUsIDB4OEIsIDB4RTMsIDB4NjMsIDB4RTgsIDB4NkQsIDB4RTksIDB4Q0IsIDB4RDUsIDB4RkUsIDB4M0IsIDB4MDAsIDB4MUQsIDB4MzksCgogIDB4RjIsIDB4RUYsIDB4QjcsIDB4MEUsIDB4NjYsIDB4NTgsIDB4RDAsIDB4RTQsIDB4QTYsIDB4NzcsIDB4NzIsIDB4RjgsIDB4RUIsIDB4NzUsIDB4NEIsIDB4MEEsCgogIDB4MzEsIDB4NDQsIDB4NTAsIDB4QjQsIDB4OEYsIDB4RUQsIDB4MUYsIDB4MUEsIDB4REIsIDB4OTksIDB4OEQsIDB4MzMsIDB4OUYsIDB4MTEsIDB4ODMsIDB4MTQgfTsKCgoKbG9jYWwgWE9SID0gQml0LmJ4b3I7CgoKCmxvY2FsIE1EMiA9IGZ1bmN0aW9uKHN0cmVhbSkKCiAgICBsb2NhbCBxdWV1ZSA9IFF1ZXVlKCk7CgogICAgbG9jYWwgcHVibGljID0ge30KCgoKICAgIGxvY2FsIFggPSB7fTsKCiAgICBmb3IgaSA9IDAsIDQ3IGRvCgogICAgICAgIFhbaV0gPSAweDAwOwoKICAgIGVuZAoKCgogICAgbG9jYWwgQyA9IHt9OwoKICAgIGZvciBpID0gMCwgMTUgZG8KCiAgICAgICAgQ1tpXSA9IDB4MDA7CgogICAgZW5kCgoKCiAgICBsb2NhbCBwcm9jZXNzQmxvY2sgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGJsb2NrID0ge307CgoKCiAgICAgICAgZm9yIGkgPSAwLCAxNSBkbwoKICAgICAgICAgICAgYmxvY2tbaV0gPSBxdWV1ZS5wb3AoKTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgZm9yIGkgPSAwLCAxNSBkbwoKICAgICAgICAgICAgWFtpICsgMTZdID0gYmxvY2tbaV07CgogICAgICAgICAgICBYW2kgKyAzMl0gPSBYT1IoWFtpXSwgYmxvY2tbaV0pOyAtLW1peAoKICAgICAgICBlbmQKCgoKICAgICAgICBsb2NhbCB0OwoKCgogICAgICAgIC0tdXBkYXRlIGJsb2NrCgogICAgICAgIHQgPSAwOwoKICAgICAgICBmb3IgaSA9IDAsIDE3IGRvCgogICAgICAgICAgICBmb3IgaiA9IDAsIDQ3IGRvCgogICAgICAgICAgICAgICAgWFtqXSA9IFhPUihYW2pdLCBTVUJTVFt0ICsgMV0pOwoKICAgICAgICAgICAgICAgIHQgPSBYW2pdOwoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICB0ID0gKHQgKyBpKSAlIDI1NjsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgLS11cGRhdGUgY2hlY2tzdW0KCiAgICAgICAgdCA9IENbMTVdOwoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICBDW2ldID0gWE9SKENbaV0sIFNVQlNUW1hPUihibG9ja1tpXSwgdCkgKyAxXSk7CgogICAgICAgICAgICB0ID0gQ1tpXTsKCiAgICAgICAgZW5kCgoKCiAgICBlbmQKCgoKICAgIGZvciBiIGluIHN0cmVhbSBkbwoKICAgICAgICBxdWV1ZS5wdXNoKGIpOwoKICAgICAgICBpZihxdWV1ZS5zaXplKCkgPj0gMTYpIHRoZW4gcHJvY2Vzc0Jsb2NrKCk7IGVuZAoKICAgIGVuZAoKCgogICAgbG9jYWwgaSA9IDE2IC0gcXVldWUuc2l6ZSgpOwoKCgogICAgd2hpbGUgcXVldWUuc2l6ZSgpIDwgMTYgZG8KCiAgICAgICAgcXVldWUucHVzaChpKTsKCiAgICBlbmQKCgoKICAgIHByb2Nlc3NCbG9jaygpOwoKCgogICAgcXVldWUucHVzaChDWyAwXSk7IHF1ZXVlLnB1c2goQ1sgMV0pOyBxdWV1ZS5wdXNoKENbIDJdKTsgcXVldWUucHVzaChDWyAzXSk7CgogICAgcXVldWUucHVzaChDWyA0XSk7IHF1ZXVlLnB1c2goQ1sgNV0pOyBxdWV1ZS5wdXNoKENbIDZdKTsgcXVldWUucHVzaChDWyA3XSk7CgogICAgcXVldWUucHVzaChDWyA4XSk7IHF1ZXVlLnB1c2goQ1sgOV0pOyBxdWV1ZS5wdXNoKENbMTBdKTsgcXVldWUucHVzaChDWzExXSk7CgogICAgcXVldWUucHVzaChDWzEyXSk7IHF1ZXVlLnB1c2goQ1sxM10pOyBxdWV1ZS5wdXNoKENbMTRdKTsgcXVldWUucHVzaChDWzE1XSk7CgoKCiAgICBwcm9jZXNzQmxvY2soKTsKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4ge1hbIDBdLCBYWyAxXSwgWFsgMl0sIFhbIDNdLCBYWyA0XSwgWFsgNV0sIFhbIDZdLCBYWyA3XSwKCiAgICAgICAgICAgICAgICBYWyA4XSwgWFsgOV0sIFhbMTBdLCBYWzExXSwgWFsxMl0sIFhbMTNdLCBYWzE0XSwgWFsxNV19OwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gc3RyaW5nLmZvcm1hdCgiJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCgogICAgICAgICAgICAgICAgWFsgMF0sIFhbIDFdLCBYWyAyXSwgWFsgM10sIFhbIDRdLCBYWyA1XSwgWFsgNl0sIFhbIDddLAoKICAgICAgICAgICAgICAgIFhbIDhdLCBYWyA5XSwgWFsxMF0sIFhbMTFdLCBYWzEyXSwgWFsxM10sIFhbMTRdLCBYWzE1XSk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBzdHJpbmcucGFjayhzdHJpbmcucmVwKCdCJywgMTYpLAoKICAgICAgICAgICAgICAgIFhbIDBdLCBYWyAxXSwgWFsgMl0sIFhbIDNdLCBYWyA0XSwgWFsgNV0sIFhbIDZdLCBYWyA3XSwKCiAgICAgICAgICAgICAgICBYWyA4XSwgWFsgOV0sIFhbMTBdLCBYWzExXSwgWFsxMl0sIFhbMTNdLCBYWzE0XSwgWFsxNV0pOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCnJldHVybiBNRDI7AAAAAABsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBTSElGVCA9IHsKCiAgICA3LCAxMiwgMTcsIDIyLCAgNywgMTIsIDE3LCAyMiwgIDcsIDEyLCAxNywgMjIsICA3LCAxMiwgMTcsIDIyLAoKICAgIDUsICA5LCAxNCwgMjAsICA1LCAgOSwgMTQsIDIwLCAgNSwgIDksIDE0LCAyMCwgIDUsICA5LCAxNCwgMjAsCgogICAgNCwgMTEsIDE2LCAyMywgIDQsIDExLCAxNiwgMjMsICA0LCAxMSwgMTYsIDIzLCAgNCwgMTEsIDE2LCAyMywKCiAgICA2LCAxMCwgMTUsIDIxLCAgNiwgMTAsIDE1LCAyMSwgIDYsIDEwLCAxNSwgMjEsICA2LCAxMCwgMTUsIDIxfTsKCgoKbG9jYWwgQ09OU1RBTlRTID0gewoKICAgIDB4ZDc2YWE0NzgsIDB4ZThjN2I3NTYsIDB4MjQyMDcwZGIsIDB4YzFiZGNlZWUsCgogICAgMHhmNTdjMGZhZiwgMHg0Nzg3YzYyYSwgMHhhODMwNDYxMywgMHhmZDQ2OTUwMSwKCiAgICAweDY5ODA5OGQ4LCAweDhiNDRmN2FmLCAweGZmZmY1YmIxLCAweDg5NWNkN2JlLAoKICAgIDB4NmI5MDExMjIsIDB4ZmQ5ODcxOTMsIDB4YTY3OTQzOGUsIDB4NDliNDA4MjEsCgogICAgMHhmNjFlMjU2MiwgMHhjMDQwYjM0MCwgMHgyNjVlNWE1MSwgMHhlOWI2YzdhYSwKCiAgICAweGQ2MmYxMDVkLCAweDAyNDQxNDUzLCAweGQ4YTFlNjgxLCAweGU3ZDNmYmM4LAoKICAgIDB4MjFlMWNkZTYsIDB4YzMzNzA3ZDYsIDB4ZjRkNTBkODcsIDB4NDU1YTE0ZWQsCgogICAgMHhhOWUzZTkwNSwgMHhmY2VmYTNmOCwgMHg2NzZmMDJkOSwgMHg4ZDJhNGM4YSwKCiAgICAweGZmZmEzOTQyLCAweDg3NzFmNjgxLCAweDZkOWQ2MTIyLCAweGZkZTUzODBjLAoKICAgIDB4YTRiZWVhNDQsIDB4NGJkZWNmYTksIDB4ZjZiYjRiNjAsIDB4YmViZmJjNzAsCgogICAgMHgyODliN2VjNiwgMHhlYWExMjdmYSwgMHhkNGVmMzA4NSwgMHgwNDg4MWQwNSwKCiAgICAweGQ5ZDRkMDM5LCAweGU2ZGI5OWU1LCAweDFmYTI3Y2Y4LCAweGM0YWM1NjY1LAoKICAgIDB4ZjQyOTIyNDQsIDB4NDMyYWZmOTcsIDB4YWI5NDIzYTcsIDB4ZmM5M2EwMzksCgogICAgMHg2NTViNTljMywgMHg4ZjBjY2M5MiwgMHhmZmVmZjQ3ZCwgMHg4NTg0NWRkMSwKCiAgICAweDZmYTg3ZTRmLCAweGZlMmNlNmUwLCAweGEzMDE0MzE0LCAweDRlMDgxMWExLAoKICAgIDB4Zjc1MzdlODIsIDB4YmQzYWYyMzUsIDB4MmFkN2QyYmIsIDB4ZWI4NmQzOTF9OwoKCgpsb2NhbCBBTkQgPSBCaXQuYmFuZDsKCmxvY2FsIE9SICA9IEJpdC5ib3I7Cgpsb2NhbCBOT1QgPSBCaXQuYm5vdDsKCmxvY2FsIFhPUiA9IEJpdC5ieG9yOwoKbG9jYWwgTFJPVCA9IEJpdC5scm90YXRlOwoKbG9jYWwgTFNISUZUID0gQml0LmxzaGlmdDsKCmxvY2FsIFJTSElGVCA9IEJpdC5yc2hpZnQ7CgoKCi0tTUQ1IGlzIGxpdHRsZS1lbmRpYW4KCmxvY2FsIGJ5dGVzMndvcmQgPSBmdW5jdGlvbihiMCwgYjEsIGIyLCBiMykKCiAgICBsb2NhbCBpID0gYjM7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIyKTsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjEpOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMCk7CgogICAgcmV0dXJuIGk7CgplbmQKCgoKbG9jYWwgd29yZDJieXRlcyA9IGZ1bmN0aW9uKHdvcmQpCgogICAgbG9jYWwgYjAsIGIxLCBiMiwgYjM7CgogICAgYjAgPSBBTkQod29yZCwgMHhGRik7IHdvcmQgPSBSU0hJRlQod29yZCwgOCk7CgogICAgYjEgPSBBTkQod29yZCwgMHhGRik7IHdvcmQgPSBSU0hJRlQod29yZCwgOCk7CgogICAgYjIgPSBBTkQod29yZCwgMHhGRik7IHdvcmQgPSBSU0hJRlQod29yZCwgOCk7CgogICAgYjMgPSBBTkQod29yZCwgMHhGRik7CgogICAgcmV0dXJuIGIwLCBiMSwgYjIsIGIzOwoKZW5kCgoKCmxvY2FsIGR3b3JkMmJ5dGVzID0gZnVuY3Rpb24oaSkKCiAgICBsb2NhbCBiNCwgYjUsIGI2LCBiNyA9IHdvcmQyYnl0ZXMobWF0aC5mbG9vcihpIC8gMHgxMDAwMDAwMDApKTsKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoaSk7CgogICAgcmV0dXJuIGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNzsKCmVuZAoKCgpsb2NhbCBGID0gZnVuY3Rpb24oeCwgeSwgeikgcmV0dXJuIE9SKEFORCh4LCB5KSwgQU5EKE5PVCh4KSwgeikpOyBlbmQKCmxvY2FsIEcgPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gT1IoQU5EKHgsIHopLCBBTkQoeSwgTk9UKHopKSk7IGVuZAoKbG9jYWwgSCA9IGZ1bmN0aW9uKHgsIHksIHopIHJldHVybiBYT1IoeCwgWE9SKHksIHopKTsgZW5kCgpsb2NhbCBJID0gZnVuY3Rpb24oeCwgeSwgeikgcmV0dXJuIFhPUih5LCBPUih4LCBOT1QoeikpKTsgZW5kCgoKCmxvY2FsIE1ENSA9IGZ1bmN0aW9uKHN0cmVhbSkKCgoKICAgIGxvY2FsIHF1ZXVlID0gUXVldWUoKTsKCgoKICAgIGxvY2FsIEEgPSAweDY3NDUyMzAxOwoKICAgIGxvY2FsIEIgPSAweGVmY2RhYjg5OwoKICAgIGxvY2FsIEMgPSAweDk4YmFkY2ZlOwoKICAgIGxvY2FsIEQgPSAweDEwMzI1NDc2OwoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKCgogICAgbG9jYWwgcHJvY2Vzc0Jsb2NrID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBhID0gQTsKCiAgICAgICAgbG9jYWwgYiA9IEI7CgogICAgICAgIGxvY2FsIGMgPSBDOwoKICAgICAgICBsb2NhbCBkID0gRDsKCgoKICAgICAgICBsb2NhbCBYID0ge307CgoKCiAgICAgICAgZm9yIGkgPSAxLCAxNiBkbwoKICAgICAgICAgICAgWFtpXSA9IGJ5dGVzMndvcmQocXVldWUucG9wKCksIHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCkpOwoKICAgICAgICBlbmQKCgoKICAgICAgICBmb3IgaSA9IDAsIDYzIGRvCgogICAgICAgICAgICBsb2NhbCBmLCBnLCB0ZW1wOwoKCgogICAgICAgICAgICBpZiAoMCA8PSBpKSBhbmQgKGkgPD0gMTUpIHRoZW4KCiAgICAgICAgICAgICAgICBmID0gRihiLCBjLCBkKTsKCiAgICAgICAgICAgICAgICBnID0gaTsKCiAgICAgICAgICAgIGVsc2VpZiAoMTYgPD0gaSkgYW5kIChpIDw9IDMxKSB0aGVuCgogICAgICAgICAgICAgICAgZiA9IEcoYiwgYywgZCk7CgogICAgICAgICAgICAgICAgZyA9ICg1ICogaSArIDEpICUgMTY7CgogICAgICAgICAgICBlbHNlaWYgKDMyIDw9IGkpIGFuZCAoaSA8PSA0NykgdGhlbgoKICAgICAgICAgICAgICAgIGYgPSBIKGIsIGMsIGQpOwoKICAgICAgICAgICAgICAgIGcgPSAoMyAqIGkgKyA1KSAlIDE2OwoKICAgICAgICAgICAgZWxzZWlmICg0OCA8PSBpKSBhbmQgKGkgPD0gNjMpIHRoZW4KCiAgICAgICAgICAgICAgICBmID0gSShiLCBjLCBkKTsKCiAgICAgICAgICAgICAgICBnID0gKDcgKiBpKSAlIDE2OwoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICB0ZW1wID0gZDsKCiAgICAgICAgICAgIGQgPSBjOwoKICAgICAgICAgICAgYyA9IGI7CgogICAgICAgICAgICBiID0gYiArIExST1QoKGEgKyBmICsgQ09OU1RBTlRTW2kgKyAxXSArIFhbZyArIDFdKSwgU0hJRlRbaSArIDFdKTsKCiAgICAgICAgICAgIGEgPSB0ZW1wOwoKICAgICAgICBlbmQKCgoKICAgICAgICBBID0gQU5EKEEgKyBhLCAweEZGRkZGRkZGKTsKCiAgICAgICAgQiA9IEFORChCICsgYiwgMHhGRkZGRkZGRik7CgogICAgICAgIEMgPSBBTkQoQyArIGMsIDB4RkZGRkZGRkYpOwoKICAgICAgICBEID0gQU5EKEQgKyBkLCAweEZGRkZGRkZGKTsKCiAgICBlbmQKCgoKICAgIGZvciBzIGluIHN0cmVhbSBkbwoKICAgICAgICBxdWV1ZS5wdXNoKHMpOwoKICAgICAgICBpZiAocXVldWUuc2l6ZSgpID49IDY0KSB0aGVuIHByb2Nlc3NCbG9jaygpOyBlbmQKCiAgICBlbmQKCgoKICAgIGxvY2FsIGJpdHMgPSBxdWV1ZS5nZXRIZWFkKCkgKiA4OwoKCgogICAgcXVldWUucHVzaCgweDgwKTsKCiAgICB3aGlsZSAoKHF1ZXVlLnNpemUoKSArIDcpICUgNjQpIDwgNjMgZG8KCiAgICAgICAgcXVldWUucHVzaCgweDAwKTsKCiAgICBlbmQKCgoKICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNyA9IGR3b3JkMmJ5dGVzKGJpdHMpOwoKCgogICAgcXVldWUucHVzaChiMCk7CgogICAgcXVldWUucHVzaChiMSk7CgogICAgcXVldWUucHVzaChiMik7CgogICAgcXVldWUucHVzaChiMyk7CgogICAgcXVldWUucHVzaChiNCk7CgogICAgcXVldWUucHVzaChiNSk7CgogICAgcXVldWUucHVzaChiNik7CgogICAgcXVldWUucHVzaChiNyk7CgoKCiAgICB3aGlsZSBxdWV1ZS5zaXplKCkgPiAwIGRvCgogICAgICAgIHByb2Nlc3NCbG9jaygpOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsICBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoQSk7CgogICAgICAgIGxvY2FsICBiNCwgYjUsIGI2LCBiNyA9IHdvcmQyYnl0ZXMoQik7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhDKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhEKTsKCgoKICAgICAgICByZXR1cm4ge2IwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNywgYjgsIGI5LCBiMTAsIGIxMSwgYjEyLCBiMTMsIGIxNCwgYjE1fTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhBKTsKCiAgICAgICAgbG9jYWwgIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhCKTsKCiAgICAgICAgbG9jYWwgIGI4LCBiOSwgYjEwLCBiMTEgPSB3b3JkMmJ5dGVzKEMpOwoKICAgICAgICBsb2NhbCBiMTIsIGIxMywgYjE0LCBiMTUgPSB3b3JkMmJ5dGVzKEQpOwoKCgogICAgICAgIHJldHVybiBzdHJpbmcuZm9ybWF0KCIlMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiwKCiAgICAgICAgICAgICAgICBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGI4LCBiOSwgYjEwLCBiMTEsIGIxMiwgYjEzLCBiMTQsIGIxNSk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhBKTsKCiAgICAgICAgbG9jYWwgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKEIpOwoKICAgICAgICBsb2NhbCBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhDKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhEKTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLnBhY2soc3RyaW5nLnJlcCgnQicsIDE2KSwKCiAgICAgICAgICAgIGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNywgYjgsCgogICAgICAgICAgICBiOSwgYjEwLCBiMTEsIGIxMiwgYjEzLCBiMTQsIGIxNQoKICAgICAgICApCgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKcmV0dXJuIE1ENTsAAGxvY2FsIE1EMiA9IHJlcXVpcmUoIi5jcnlwdG8uZGlnZXN0Lm1kMiIpCgpsb2NhbCBNRDQgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5tZDQiKQoKbG9jYWwgTUQ1ID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3QubWQ1IikKCmxvY2FsIFNIQTEgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5zaGExIikKCmxvY2FsIFNIQTJfMjU2ID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3Quc2hhMl8yNTYiKQoKbG9jYWwgU0hBMl81MTIgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5zaGEyXzUxMiIpCgpsb2NhbCBTSEEzID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3Quc2hhMyIpCgpsb2NhbCBCbGFrZTJiID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3QuYmxha2UyYiIpCgoKCgoKbG9jYWwgZGlnZXN0ID0gewoKICAgIF92ZXJzaW9uID0gIjAuMC4xIiwKCiAgICBtZDIgPSBNRDIsCgogICAgbWQ0ID0gTUQ0LAoKICAgIG1kNSA9IE1ENSwKCiAgICBzaGExID0gU0hBMS5zaGExLAoKICAgIHNoYTJfMjU2ID0gU0hBMl8yNTYuc2hhMl8yNTYsCgogICAgc2hhMl81MTIgPSBTSEEyXzUxMiwKCiAgICBzaGEzXzI1NiA9IFNIQTMuc2hhM18yNTYsCgogICAgc2hhM181MTIgPSBTSEEzLnNoYTNfNTEyLAoKICAgIGtlY2NhazI1NiA9IFNIQTMua2VjY2FrMjU2LAoKICAgIGtlY2NhazUxMiA9IFNIQTMua2VjY2FrNTEyLAoKICAgIGJsYWtlMmIgPSBCbGFrZTJiCgp9CgoKCgoKCgoKCnJldHVybiBkaWdlc3QKAAAAAABsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpOwoKCgpsb2NhbCBDT05TVEFOVFMgPSB7CgogICAweDQyOGEyZjk4LCAweDcxMzc0NDkxLCAweGI1YzBmYmNmLCAweGU5YjVkYmE1LCAweDM5NTZjMjViLCAweDU5ZjExMWYxLCAweDkyM2Y4MmE0LCAweGFiMWM1ZWQ1LAoKICAgMHhkODA3YWE5OCwgMHgxMjgzNWIwMSwgMHgyNDMxODViZSwgMHg1NTBjN2RjMywgMHg3MmJlNWQ3NCwgMHg4MGRlYjFmZSwgMHg5YmRjMDZhNywgMHhjMTliZjE3NCwKCiAgIDB4ZTQ5YjY5YzEsIDB4ZWZiZTQ3ODYsIDB4MGZjMTlkYzYsIDB4MjQwY2ExY2MsIDB4MmRlOTJjNmYsIDB4NGE3NDg0YWEsIDB4NWNiMGE5ZGMsIDB4NzZmOTg4ZGEsCgogICAweDk4M2U1MTUyLCAweGE4MzFjNjZkLCAweGIwMDMyN2M4LCAweGJmNTk3ZmM3LCAweGM2ZTAwYmYzLCAweGQ1YTc5MTQ3LCAweDA2Y2E2MzUxLCAweDE0MjkyOTY3LAoKICAgMHgyN2I3MGE4NSwgMHgyZTFiMjEzOCwgMHg0ZDJjNmRmYywgMHg1MzM4MGQxMywgMHg2NTBhNzM1NCwgMHg3NjZhMGFiYiwgMHg4MWMyYzkyZSwgMHg5MjcyMmM4NSwKCiAgIDB4YTJiZmU4YTEsIDB4YTgxYTY2NGIsIDB4YzI0YjhiNzAsIDB4Yzc2YzUxYTMsIDB4ZDE5MmU4MTksIDB4ZDY5OTA2MjQsIDB4ZjQwZTM1ODUsIDB4MTA2YWEwNzAsCgogICAweDE5YTRjMTE2LCAweDFlMzc2YzA4LCAweDI3NDg3NzRjLCAweDM0YjBiY2I1LCAweDM5MWMwY2IzLCAweDRlZDhhYTRhLCAweDViOWNjYTRmLCAweDY4MmU2ZmYzLAoKICAgMHg3NDhmODJlZSwgMHg3OGE1NjM2ZiwgMHg4NGM4NzgxNCwgMHg4Y2M3MDIwOCwgMHg5MGJlZmZmYSwgMHhhNDUwNmNlYiwgMHhiZWY5YTNmNywgMHhjNjcxNzhmMiAgfTsKCgoKbG9jYWwgZm10ID0gIiUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiAuLgoKICAgICAgICAgICAgIiUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIKCgoKbG9jYWwgQU5EID0gQml0LmJhbmQ7Cgpsb2NhbCBPUiAgPSBCaXQuYm9yOwoKbG9jYWwgTk9UID0gQml0LmJub3Q7Cgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCmxvY2FsIFJST1QgPSBCaXQucnJvdGF0ZTsKCmxvY2FsIExTSElGVCA9IEJpdC5sc2hpZnQ7Cgpsb2NhbCBSU0hJRlQgPSBCaXQucnNoaWZ0OwoKCgotLVNIQTIgaXMgYmlnLWVuZGlhbgoKbG9jYWwgYnl0ZXMyd29yZCA9IGZ1bmN0aW9uKGIwLCBiMSwgYjIsIGIzKQoKICAgIGxvY2FsIGkgPSBiMDsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjEpOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMik7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIzKTsKCiAgICByZXR1cm4gaTsKCmVuZAoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgZHdvcmQyYnl0ZXMgPSBmdW5jdGlvbihpKQoKICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhpKTsKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMobWF0aC5mbG9vcihpIC8gMHgxMDAwMDAwMDApKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3OwoKZW5kCgoKCgoKbG9jYWwgU0hBMl8yNTYgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBxdWV1ZSA9IFF1ZXVlKCk7CgoKCiAgICBsb2NhbCBoMCA9IDB4NmEwOWU2Njc7CgogICAgbG9jYWwgaDEgPSAweGJiNjdhZTg1OwoKICAgIGxvY2FsIGgyID0gMHgzYzZlZjM3MjsKCiAgICBsb2NhbCBoMyA9IDB4YTU0ZmY1M2E7CgogICAgbG9jYWwgaDQgPSAweDUxMGU1MjdmOwoKICAgIGxvY2FsIGg1ID0gMHg5YjA1Njg4YzsKCiAgICBsb2NhbCBoNiA9IDB4MWY4M2Q5YWI7CgogICAgbG9jYWwgaDcgPSAweDViZTBjZDE5OwoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBwcm9jZXNzQmxvY2sgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGEgPSBoMDsKCiAgICAgICAgbG9jYWwgYiA9IGgxOwoKICAgICAgICBsb2NhbCBjID0gaDI7CgogICAgICAgIGxvY2FsIGQgPSBoMzsKCiAgICAgICAgbG9jYWwgZSA9IGg0OwoKICAgICAgICBsb2NhbCBmID0gaDU7CgogICAgICAgIGxvY2FsIGcgPSBoNjsKCiAgICAgICAgbG9jYWwgaCA9IGg3OwoKCgogICAgICAgIGxvY2FsIHcgPSB7fTsKCgoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICB3W2ldID0gYnl0ZXMyd29yZChxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCksIHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGZvciBpID0gMTYsIDYzIGRvCgogICAgICAgICAgICBsb2NhbCBzMCA9IFhPUihSUk9UKHdbaSAtIDE1XSwgNyksIFhPUihSUk9UKHdbaSAtIDE1XSwgMTgpLCBSU0hJRlQod1tpIC0gMTVdLCAzKSkpOwoKICAgICAgICAgICAgbG9jYWwgczEgPSBYT1IoUlJPVCh3W2kgLSAyXSwgMTcpLCBYT1IoUlJPVCh3W2kgLSAgMl0sIDE5KSwgUlNISUZUKHdbaSAtIDJdLCAxMCkpKTsKCiAgICAgICAgICAgIHdbaV0gPSBBTkQod1tpIC0gMTZdICsgczAgKyB3W2kgLSA3XSArIHMxLCAweEZGRkZGRkZGKTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgZm9yIGkgPSAwLCA2MyBkbwoKICAgICAgICAgICAgbG9jYWwgczEgPSBYT1IoUlJPVChlLCA2KSwgWE9SKFJST1QoZSwgMTEpLCBSUk9UKGUsIDI1KSkpOwoKICAgICAgICAgICAgbG9jYWwgY2ggPSBYT1IoQU5EKGUsIGYpLCBBTkQoTk9UKGUpLCBnKSk7CgogICAgICAgICAgICBsb2NhbCB0ZW1wMSA9IGggKyBzMSArIGNoICsgQ09OU1RBTlRTW2kgKyAxXSArIHdbaV07CgogICAgICAgICAgICBsb2NhbCBzMCA9IFhPUihSUk9UKGEsIDIpLCBYT1IoUlJPVChhLCAxMyksIFJST1QoYSwgMjIpKSk7CgogICAgICAgICAgICBsb2NhbCBtYWogPSBYT1IoQU5EKGEsIGIpLCBYT1IoQU5EKGEsIGMpLCBBTkQoYiwgYykpKTsKCiAgICAgICAgICAgIGxvY2FsIHRlbXAyID0gczAgKyBtYWo7CgoKCiAgICAgICAgICAgIGggPSBnOwoKICAgICAgICAgICAgZyA9IGY7CgogICAgICAgICAgICBmID0gZTsKCiAgICAgICAgICAgIGUgPSBkICsgdGVtcDE7CgogICAgICAgICAgICBkID0gYzsKCiAgICAgICAgICAgIGMgPSBiOwoKICAgICAgICAgICAgYiA9IGE7CgogICAgICAgICAgICBhID0gdGVtcDEgKyB0ZW1wMjsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgaDAgPSBBTkQoaDAgKyBhLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDEgPSBBTkQoaDEgKyBiLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDIgPSBBTkQoaDIgKyBjLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDMgPSBBTkQoaDMgKyBkLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDQgPSBBTkQoaDQgKyBlLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDUgPSBBTkQoaDUgKyBmLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDYgPSBBTkQoaDYgKyBnLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDcgPSBBTkQoaDcgKyBoLCAweEZGRkZGRkZGKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBxdWV1ZS5yZXNldCgpOwoKCgogICAgICAgIGgwID0gMHg2YTA5ZTY2NzsKCiAgICAgICAgaDEgPSAweGJiNjdhZTg1OwoKICAgICAgICBoMiA9IDB4M2M2ZWYzNzI7CgogICAgICAgIGgzID0gMHhhNTRmZjUzYTsKCiAgICAgICAgaDQgPSAweDUxMGU1MjdmOwoKICAgICAgICBoNSA9IDB4OWIwNTY4OGM7CgogICAgICAgIGg2ID0gMHgxZjgzZDlhYjsKCiAgICAgICAgaDcgPSAweDViZTBjZDE5OwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24oYnl0ZXMpCgogICAgICAgIGZvciBiIGluIGJ5dGVzIGRvCgogICAgICAgICAgICBxdWV1ZS5wdXNoKGIpOwoKICAgICAgICAgICAgaWYgcXVldWUuc2l6ZSgpID49IDY0IHRoZW4gcHJvY2Vzc0Jsb2NrKCk7IGVuZAoKICAgICAgICBlbmQKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmZpbmlzaCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgYml0cyA9IHF1ZXVlLmdldEhlYWQoKSAqIDg7CgoKCiAgICAgICAgcXVldWUucHVzaCgweDgwKTsKCiAgICAgICAgd2hpbGUgKChxdWV1ZS5zaXplKCkgKyA3KSAlIDY0KSA8IDYzIGRvCgogICAgICAgICAgICBxdWV1ZS5wdXNoKDB4MDApOwoKICAgICAgICBlbmQKCgoKICAgICAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcgPSBkd29yZDJieXRlcyhiaXRzKTsKCgoKICAgICAgICBxdWV1ZS5wdXNoKGIwKTsKCiAgICAgICAgcXVldWUucHVzaChiMSk7CgogICAgICAgIHF1ZXVlLnB1c2goYjIpOwoKICAgICAgICBxdWV1ZS5wdXNoKGIzKTsKCiAgICAgICAgcXVldWUucHVzaChiNCk7CgogICAgICAgIHF1ZXVlLnB1c2goYjUpOwoKICAgICAgICBxdWV1ZS5wdXNoKGI2KTsKCiAgICAgICAgcXVldWUucHVzaChiNyk7CgoKCiAgICAgICAgd2hpbGUgcXVldWUuc2l6ZSgpID4gMCBkbwoKICAgICAgICAgICAgcHJvY2Vzc0Jsb2NrKCk7CgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhoMCk7CgogICAgICAgIGxvY2FsICBiNCwgYjUsIGI2LCBiNyA9IHdvcmQyYnl0ZXMoaDEpOwoKICAgICAgICBsb2NhbCAgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoaDIpOwoKICAgICAgICBsb2NhbCBiMTIsIGIxMywgYjE0LCBiMTUgPSB3b3JkMmJ5dGVzKGgzKTsKCiAgICAgICAgbG9jYWwgYjE2LCBiMTcsIGIxOCwgYjE5ID0gd29yZDJieXRlcyhoNCk7CgogICAgICAgIGxvY2FsIGIyMCwgYjIxLCBiMjIsIGIyMyA9IHdvcmQyYnl0ZXMoaDUpOwoKICAgICAgICBsb2NhbCBiMjQsIGIyNSwgYjI2LCBiMjcgPSB3b3JkMmJ5dGVzKGg2KTsKCiAgICAgICAgbG9jYWwgYjI4LCBiMjksIGIzMCwgYjMxID0gd29yZDJieXRlcyhoNyk7CgoKCgoKICAgICAgICByZXR1cm4geyAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUKCiAgICAgICAgICAgICAgICAsIGIxNiwgYjE3LCBiMTgsIGIxOSwgYjIwLCBiMjEsIGIyMiwgYjIzLCBiMjQsIGIyNSwgYjI2LCBiMjcsIGIyOCwgYjI5LCBiMzAsIGIzMX07CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsICBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoaDApOwoKICAgICAgICBsb2NhbCAgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKGgxKTsKCiAgICAgICAgbG9jYWwgIGI4LCBiOSwgYjEwLCBiMTEgPSB3b3JkMmJ5dGVzKGgyKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhoMyk7CgogICAgICAgIGxvY2FsIGIxNiwgYjE3LCBiMTgsIGIxOSA9IHdvcmQyYnl0ZXMoaDQpOwoKICAgICAgICBsb2NhbCBiMjAsIGIyMSwgYjIyLCBiMjMgPSB3b3JkMmJ5dGVzKGg1KTsKCiAgICAgICAgbG9jYWwgYjI0LCBiMjUsIGIyNiwgYjI3ID0gd29yZDJieXRlcyhoNik7CgogICAgICAgIGxvY2FsIGIyOCwgYjI5LCBiMzAsIGIzMSA9IHdvcmQyYnl0ZXMoaDcpOwoKCgogICAgICAgIHJldHVybiBzdHJpbmcuZm9ybWF0KGZtdCwgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUKCiAgICAgICAgICAgICAgICAsIGIxNiwgYjE3LCBiMTgsIGIxOSwgYjIwLCBiMjEsIGIyMiwgYjIzLCBiMjQsIGIyNSwgYjI2LCBiMjcsIGIyOCwgYjI5LCBiMzAsIGIzMSk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhoMCk7CgogICAgICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsIGI4LCBiOSwgYjEwLCBiMTEgPSB3b3JkMmJ5dGVzKGgyKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhoMyk7CgogICAgICAgIGxvY2FsIGIxNiwgYjE3LCBiMTgsIGIxOSA9IHdvcmQyYnl0ZXMoaDQpOwoKICAgICAgICBsb2NhbCBiMjAsIGIyMSwgYjIyLCBiMjMgPSB3b3JkMmJ5dGVzKGg1KTsKCiAgICAgICAgbG9jYWwgYjI0LCBiMjUsIGIyNiwgYjI3ID0gd29yZDJieXRlcyhoNik7CgogICAgICAgIGxvY2FsIGIyOCwgYjI5LCBiMzAsIGIzMSA9IHdvcmQyYnl0ZXMoaDcpOwoKCgogICAgICAgIHJldHVybiBzdHJpbmcucGFjayhzdHJpbmcucmVwKCdCJywgMzIpLAoKICAgICAgICAgICAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwKCiAgICAgICAgICAgIGI5LCBiMTAsIGIxMSwgYjEyLCBiMTMsIGIxNCwgYjE1LAoKICAgICAgICAgICAgYjE2LCBiMTcsIGIxOCwgYjE5LCBiMjAsIGIyMSwgYjIyLCBiMjMsIGIyNCwKCiAgICAgICAgICAgIGIyNSwgYjI2LCBiMjcsIGIyOCwgYjI5LCBiMzAsIGIzMSk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKLS0tIEBjbGFzcyBTdHJlYW0gOiB0YWJsZQoKCgotLS0gQHBhcmFtIHN0cmVhbSAoU3RyZWFtKSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuZXh0IGJ5dGUgb2YgdGhlIHN0cmVhbSwgb3IgbmlsIGlmIHRoZSBzdHJlYW0gaGFzIGVuZGVkLgoKLS0tIEByZXR1cm5zIHRhYmxlIC0gQSB0YWJsZSBjb250YWluaW5nIHRoZSBoYXNoIGluIGJ5dGVzLCBzdHJpbmcsIGFuZCBoZXggZm9ybWF0cy4KCmxvY2FsIHNoYTJfMjU2ID0gZnVuY3Rpb24oc3RyZWFtKQoKICAgIGxvY2FsIHJlc3VsdCA9IFNIQTJfMjU2KCkKCiAgICAgICAgICAgIC51cGRhdGUoc3RyZWFtKQoKICAgICAgICAgICAgLmZpbmlzaCgpCgogICAgcmV0dXJuIHJlc3VsdAoKZW5kCgoKCnJldHVybiB7CgogICAgc2hhMl8yNTYgPSBzaGEyXzI1NiwKCiAgICBTSEEyXzI1NiA9IFNIQTJfMjU2Cgp9OwoAAGxvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5Iik7Cgpsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7CgoKCmxvY2FsIFhPUiA9IEJpdC5ieG9yOwoKCgpsb2NhbCBTQk9YID0gewoKIFswXSA9IDB4NjMsIDB4N0MsIDB4NzcsIDB4N0IsIDB4RjIsIDB4NkIsIDB4NkYsIDB4QzUsIDB4MzAsIDB4MDEsIDB4NjcsIDB4MkIsIDB4RkUsIDB4RDcsIDB4QUIsIDB4NzYsCgogMHhDQSwgMHg4MiwgMHhDOSwgMHg3RCwgMHhGQSwgMHg1OSwgMHg0NywgMHhGMCwgMHhBRCwgMHhENCwgMHhBMiwgMHhBRiwgMHg5QywgMHhBNCwgMHg3MiwgMHhDMCwKCiAweEI3LCAweEZELCAweDkzLCAweDI2LCAweDM2LCAweDNGLCAweEY3LCAweENDLCAweDM0LCAweEE1LCAweEU1LCAweEYxLCAweDcxLCAweEQ4LCAweDMxLCAweDE1LAoKIDB4MDQsIDB4QzcsIDB4MjMsIDB4QzMsIDB4MTgsIDB4OTYsIDB4MDUsIDB4OUEsIDB4MDcsIDB4MTIsIDB4ODAsIDB4RTIsIDB4RUIsIDB4MjcsIDB4QjIsIDB4NzUsCgogMHgwOSwgMHg4MywgMHgyQywgMHgxQSwgMHgxQiwgMHg2RSwgMHg1QSwgMHhBMCwgMHg1MiwgMHgzQiwgMHhENiwgMHhCMywgMHgyOSwgMHhFMywgMHgyRiwgMHg4NCwKCiAweDUzLCAweEQxLCAweDAwLCAweEVELCAweDIwLCAweEZDLCAweEIxLCAweDVCLCAweDZBLCAweENCLCAweEJFLCAweDM5LCAweDRBLCAweDRDLCAweDU4LCAweENGLAoKIDB4RDAsIDB4RUYsIDB4QUEsIDB4RkIsIDB4NDMsIDB4NEQsIDB4MzMsIDB4ODUsIDB4NDUsIDB4RjksIDB4MDIsIDB4N0YsIDB4NTAsIDB4M0MsIDB4OUYsIDB4QTgsCgogMHg1MSwgMHhBMywgMHg0MCwgMHg4RiwgMHg5MiwgMHg5RCwgMHgzOCwgMHhGNSwgMHhCQywgMHhCNiwgMHhEQSwgMHgyMSwgMHgxMCwgMHhGRiwgMHhGMywgMHhEMiwKCiAweENELCAweDBDLCAweDEzLCAweEVDLCAweDVGLCAweDk3LCAweDQ0LCAweDE3LCAweEM0LCAweEE3LCAweDdFLCAweDNELCAweDY0LCAweDVELCAweDE5LCAweDczLAoKIDB4NjAsIDB4ODEsIDB4NEYsIDB4REMsIDB4MjIsIDB4MkEsIDB4OTAsIDB4ODgsIDB4NDYsIDB4RUUsIDB4QjgsIDB4MTQsIDB4REUsIDB4NUUsIDB4MEIsIDB4REIsCgogMHhFMCwgMHgzMiwgMHgzQSwgMHgwQSwgMHg0OSwgMHgwNiwgMHgyNCwgMHg1QywgMHhDMiwgMHhEMywgMHhBQywgMHg2MiwgMHg5MSwgMHg5NSwgMHhFNCwgMHg3OSwKCiAweEU3LCAweEM4LCAweDM3LCAweDZELCAweDhELCAweEQ1LCAweDRFLCAweEE5LCAweDZDLCAweDU2LCAweEY0LCAweEVBLCAweDY1LCAweDdBLCAweEFFLCAweDA4LAoKIDB4QkEsIDB4NzgsIDB4MjUsIDB4MkUsIDB4MUMsIDB4QTYsIDB4QjQsIDB4QzYsIDB4RTgsIDB4REQsIDB4NzQsIDB4MUYsIDB4NEIsIDB4QkQsIDB4OEIsIDB4OEEsCgogMHg3MCwgMHgzRSwgMHhCNSwgMHg2NiwgMHg0OCwgMHgwMywgMHhGNiwgMHgwRSwgMHg2MSwgMHgzNSwgMHg1NywgMHhCOSwgMHg4NiwgMHhDMSwgMHgxRCwgMHg5RSwKCiAweEUxLCAweEY4LCAweDk4LCAweDExLCAweDY5LCAweEQ5LCAweDhFLCAweDk0LCAweDlCLCAweDFFLCAweDg3LCAweEU5LCAweENFLCAweDU1LCAweDI4LCAweERGLAoKIDB4OEMsIDB4QTEsIDB4ODksIDB4MEQsIDB4QkYsIDB4RTYsIDB4NDIsIDB4NjgsIDB4NDEsIDB4OTksIDB4MkQsIDB4MEYsIDB4QjAsIDB4NTQsIDB4QkIsIDB4MTZ9OwoKCgpsb2NhbCBJU0JPWCA9IHsKCiBbMF0gPSAweDUyLCAweDA5LCAweDZBLCAweEQ1LCAweDMwLCAweDM2LCAweEE1LCAweDM4LCAweEJGLCAweDQwLCAweEEzLCAweDlFLCAweDgxLCAweEYzLCAweEQ3LCAweEZCLAoKIDB4N0MsIDB4RTMsIDB4MzksIDB4ODIsIDB4OUIsIDB4MkYsIDB4RkYsIDB4ODcsIDB4MzQsIDB4OEUsIDB4NDMsIDB4NDQsIDB4QzQsIDB4REUsIDB4RTksIDB4Q0IsCgogMHg1NCwgMHg3QiwgMHg5NCwgMHgzMiwgMHhBNiwgMHhDMiwgMHgyMywgMHgzRCwgMHhFRSwgMHg0QywgMHg5NSwgMHgwQiwgMHg0MiwgMHhGQSwgMHhDMywgMHg0RSwKCiAweDA4LCAweDJFLCAweEExLCAweDY2LCAweDI4LCAweEQ5LCAweDI0LCAweEIyLCAweDc2LCAweDVCLCAweEEyLCAweDQ5LCAweDZELCAweDhCLCAweEQxLCAweDI1LAoKIDB4NzIsIDB4RjgsIDB4RjYsIDB4NjQsIDB4ODYsIDB4NjgsIDB4OTgsIDB4MTYsIDB4RDQsIDB4QTQsIDB4NUMsIDB4Q0MsIDB4NUQsIDB4NjUsIDB4QjYsIDB4OTIsCgogMHg2QywgMHg3MCwgMHg0OCwgMHg1MCwgMHhGRCwgMHhFRCwgMHhCOSwgMHhEQSwgMHg1RSwgMHgxNSwgMHg0NiwgMHg1NywgMHhBNywgMHg4RCwgMHg5RCwgMHg4NCwKCiAweDkwLCAweEQ4LCAweEFCLCAweDAwLCAweDhDLCAweEJDLCAweEQzLCAweDBBLCAweEY3LCAweEU0LCAweDU4LCAweDA1LCAweEI4LCAweEIzLCAweDQ1LCAweDA2LAoKIDB4RDAsIDB4MkMsIDB4MUUsIDB4OEYsIDB4Q0EsIDB4M0YsIDB4MEYsIDB4MDIsIDB4QzEsIDB4QUYsIDB4QkQsIDB4MDMsIDB4MDEsIDB4MTMsIDB4OEEsIDB4NkIsCgogMHgzQSwgMHg5MSwgMHgxMSwgMHg0MSwgMHg0RiwgMHg2NywgMHhEQywgMHhFQSwgMHg5NywgMHhGMiwgMHhDRiwgMHhDRSwgMHhGMCwgMHhCNCwgMHhFNiwgMHg3MywKCiAweDk2LCAweEFDLCAweDc0LCAweDIyLCAweEU3LCAweEFELCAweDM1LCAweDg1LCAweEUyLCAweEY5LCAweDM3LCAweEU4LCAweDFDLCAweDc1LCAweERGLCAweDZFLAoKIDB4NDcsIDB4RjEsIDB4MUEsIDB4NzEsIDB4MUQsIDB4MjksIDB4QzUsIDB4ODksIDB4NkYsIDB4QjcsIDB4NjIsIDB4MEUsIDB4QUEsIDB4MTgsIDB4QkUsIDB4MUIsCgogMHhGQywgMHg1NiwgMHgzRSwgMHg0QiwgMHhDNiwgMHhEMiwgMHg3OSwgMHgyMCwgMHg5QSwgMHhEQiwgMHhDMCwgMHhGRSwgMHg3OCwgMHhDRCwgMHg1QSwgMHhGNCwKCiAweDFGLCAweERELCAweEE4LCAweDMzLCAweDg4LCAweDA3LCAweEM3LCAweDMxLCAweEIxLCAweDEyLCAweDEwLCAweDU5LCAweDI3LCAweDgwLCAweEVDLCAweDVGLAoKIDB4NjAsIDB4NTEsIDB4N0YsIDB4QTksIDB4MTksIDB4QjUsIDB4NEEsIDB4MEQsIDB4MkQsIDB4RTUsIDB4N0EsIDB4OUYsIDB4OTMsIDB4QzksIDB4OUMsIDB4RUYsCgogMHhBMCwgMHhFMCwgMHgzQiwgMHg0RCwgMHhBRSwgMHgyQSwgMHhGNSwgMHhCMCwgMHhDOCwgMHhFQiwgMHhCQiwgMHgzQywgMHg4MywgMHg1MywgMHg5OSwgMHg2MSwKCiAweDE3LCAweDJCLCAweDA0LCAweDdFLCAweEJBLCAweDc3LCAweEQ2LCAweDI2LCAweEUxLCAweDY5LCAweDE0LCAweDYzLCAweDU1LCAweDIxLCAweDBDLCAweDdEfTsKCgoKbG9jYWwgUk9XX1NISUZUID0gIHsgIDEsICA2LCAxMSwgMTYsICA1LCAxMCwgMTUsICA0LCAgOSwgMTQsICAzLCAgOCwgMTMsICAyLCAgNywgMTIsIH07Cgpsb2NhbCBJUk9XX1NISUZUID0geyAgMSwgMTQsIDExLCAgOCwgIDUsICAyLCAxNSwgMTIsICA5LCAgNiwgIDMsIDE2LCAxMywgMTAsICA3LCAgNCwgfTsKCgoKbG9jYWwgRVRBQkxFID0gewoKIFswXSA9IDB4MDEsIDB4MDMsIDB4MDUsIDB4MEYsIDB4MTEsIDB4MzMsIDB4NTUsIDB4RkYsIDB4MUEsIDB4MkUsIDB4NzIsIDB4OTYsIDB4QTEsIDB4RjgsIDB4MTMsIDB4MzUsCgogMHg1RiwgMHhFMSwgMHgzOCwgMHg0OCwgMHhEOCwgMHg3MywgMHg5NSwgMHhBNCwgMHhGNywgMHgwMiwgMHgwNiwgMHgwQSwgMHgxRSwgMHgyMiwgMHg2NiwgMHhBQSwKCiAweEU1LCAweDM0LCAweDVDLCAweEU0LCAweDM3LCAweDU5LCAweEVCLCAweDI2LCAweDZBLCAweEJFLCAweEQ5LCAweDcwLCAweDkwLCAweEFCLCAweEU2LCAweDMxLAoKIDB4NTMsIDB4RjUsIDB4MDQsIDB4MEMsIDB4MTQsIDB4M0MsIDB4NDQsIDB4Q0MsIDB4NEYsIDB4RDEsIDB4NjgsIDB4QjgsIDB4RDMsIDB4NkUsIDB4QjIsIDB4Q0QsCgogMHg0QywgMHhENCwgMHg2NywgMHhBOSwgMHhFMCwgMHgzQiwgMHg0RCwgMHhENywgMHg2MiwgMHhBNiwgMHhGMSwgMHgwOCwgMHgxOCwgMHgyOCwgMHg3OCwgMHg4OCwKCiAweDgzLCAweDlFLCAweEI5LCAweEQwLCAweDZCLCAweEJELCAweERDLCAweDdGLCAweDgxLCAweDk4LCAweEIzLCAweENFLCAweDQ5LCAweERCLCAweDc2LCAweDlBLAoKIDB4QjUsIDB4QzQsIDB4NTcsIDB4RjksIDB4MTAsIDB4MzAsIDB4NTAsIDB4RjAsIDB4MEIsIDB4MUQsIDB4MjcsIDB4NjksIDB4QkIsIDB4RDYsIDB4NjEsIDB4QTMsCgogMHhGRSwgMHgxOSwgMHgyQiwgMHg3RCwgMHg4NywgMHg5MiwgMHhBRCwgMHhFQywgMHgyRiwgMHg3MSwgMHg5MywgMHhBRSwgMHhFOSwgMHgyMCwgMHg2MCwgMHhBMCwKCiAweEZCLCAweDE2LCAweDNBLCAweDRFLCAweEQyLCAweDZELCAweEI3LCAweEMyLCAweDVELCAweEU3LCAweDMyLCAweDU2LCAweEZBLCAweDE1LCAweDNGLCAweDQxLAoKIDB4QzMsIDB4NUUsIDB4RTIsIDB4M0QsIDB4NDcsIDB4QzksIDB4NDAsIDB4QzAsIDB4NUIsIDB4RUQsIDB4MkMsIDB4NzQsIDB4OUMsIDB4QkYsIDB4REEsIDB4NzUsCgogMHg5RiwgMHhCQSwgMHhENSwgMHg2NCwgMHhBQywgMHhFRiwgMHgyQSwgMHg3RSwgMHg4MiwgMHg5RCwgMHhCQywgMHhERiwgMHg3QSwgMHg4RSwgMHg4OSwgMHg4MCwKCiAweDlCLCAweEI2LCAweEMxLCAweDU4LCAweEU4LCAweDIzLCAweDY1LCAweEFGLCAweEVBLCAweDI1LCAweDZGLCAweEIxLCAweEM4LCAweDQzLCAweEM1LCAweDU0LAoKIDB4RkMsIDB4MUYsIDB4MjEsIDB4NjMsIDB4QTUsIDB4RjQsIDB4MDcsIDB4MDksIDB4MUIsIDB4MkQsIDB4NzcsIDB4OTksIDB4QjAsIDB4Q0IsIDB4NDYsIDB4Q0EsCgogMHg0NSwgMHhDRiwgMHg0QSwgMHhERSwgMHg3OSwgMHg4QiwgMHg4NiwgMHg5MSwgMHhBOCwgMHhFMywgMHgzRSwgMHg0MiwgMHhDNiwgMHg1MSwgMHhGMywgMHgwRSwKCiAweDEyLCAweDM2LCAweDVBLCAweEVFLCAweDI5LCAweDdCLCAweDhELCAweDhDLCAweDhGLCAweDhBLCAweDg1LCAweDk0LCAweEE3LCAweEYyLCAweDBELCAweDE3LAoKIDB4MzksIDB4NEIsIDB4REQsIDB4N0MsIDB4ODQsIDB4OTcsIDB4QTIsIDB4RkQsIDB4MUMsIDB4MjQsIDB4NkMsIDB4QjQsIDB4QzcsIDB4NTIsIDB4RjYsIDB4MDF9OwoKCgpsb2NhbCBMVEFCTEUgPSB7CgogWzBdID0gMHgwMCwgMHgwMCwgMHgxOSwgMHgwMSwgMHgzMiwgMHgwMiwgMHgxQSwgMHhDNiwgMHg0QiwgMHhDNywgMHgxQiwgMHg2OCwgMHgzMywgMHhFRSwgMHhERiwgMHgwMywKCiAweDY0LCAweDA0LCAweEUwLCAweDBFLCAweDM0LCAweDhELCAweDgxLCAweEVGLCAweDRDLCAweDcxLCAweDA4LCAweEM4LCAweEY4LCAweDY5LCAweDFDLCAweEMxLAoKIDB4N0QsIDB4QzIsIDB4MUQsIDB4QjUsIDB4RjksIDB4QjksIDB4MjcsIDB4NkEsIDB4NEQsIDB4RTQsIDB4QTYsIDB4NzIsIDB4OUEsIDB4QzksIDB4MDksIDB4NzgsCgogMHg2NSwgMHgyRiwgMHg4QSwgMHgwNSwgMHgyMSwgMHgwRiwgMHhFMSwgMHgyNCwgMHgxMiwgMHhGMCwgMHg4MiwgMHg0NSwgMHgzNSwgMHg5MywgMHhEQSwgMHg4RSwKCiAweDk2LCAweDhGLCAweERCLCAweEJELCAweDM2LCAweEQwLCAweENFLCAweDk0LCAweDEzLCAweDVDLCAweEQyLCAweEYxLCAweDQwLCAweDQ2LCAweDgzLCAweDM4LAoKIDB4NjYsIDB4REQsIDB4RkQsIDB4MzAsIDB4QkYsIDB4MDYsIDB4OEIsIDB4NjIsIDB4QjMsIDB4MjUsIDB4RTIsIDB4OTgsIDB4MjIsIDB4ODgsIDB4OTEsIDB4MTAsCgogMHg3RSwgMHg2RSwgMHg0OCwgMHhDMywgMHhBMywgMHhCNiwgMHgxRSwgMHg0MiwgMHgzQSwgMHg2QiwgMHgyOCwgMHg1NCwgMHhGQSwgMHg4NSwgMHgzRCwgMHhCQSwKCiAweDJCLCAweDc5LCAweDBBLCAweDE1LCAweDlCLCAweDlGLCAweDVFLCAweENBLCAweDRFLCAweEQ0LCAweEFDLCAweEU1LCAweEYzLCAweDczLCAweEE3LCAweDU3LAoKIDB4QUYsIDB4NTgsIDB4QTgsIDB4NTAsIDB4RjQsIDB4RUEsIDB4RDYsIDB4NzQsIDB4NEYsIDB4QUUsIDB4RTksIDB4RDUsIDB4RTcsIDB4RTYsIDB4QUQsIDB4RTgsCgogMHgyQywgMHhENywgMHg3NSwgMHg3QSwgMHhFQiwgMHgxNiwgMHgwQiwgMHhGNSwgMHg1OSwgMHhDQiwgMHg1RiwgMHhCMCwgMHg5QywgMHhBOSwgMHg1MSwgMHhBMCwKCiAweDdGLCAweDBDLCAweEY2LCAweDZGLCAweDE3LCAweEM0LCAweDQ5LCAweEVDLCAweEQ4LCAweDQzLCAweDFGLCAweDJELCAweEE0LCAweDc2LCAweDdCLCAweEI3LAoKIDB4Q0MsIDB4QkIsIDB4M0UsIDB4NUEsIDB4RkIsIDB4NjAsIDB4QjEsIDB4ODYsIDB4M0IsIDB4NTIsIDB4QTEsIDB4NkMsIDB4QUEsIDB4NTUsIDB4MjksIDB4OUQsCgogMHg5NywgMHhCMiwgMHg4NywgMHg5MCwgMHg2MSwgMHhCRSwgMHhEQywgMHhGQywgMHhCQywgMHg5NSwgMHhDRiwgMHhDRCwgMHgzNywgMHgzRiwgMHg1QiwgMHhEMSwKCiAweDUzLCAweDM5LCAweDg0LCAweDNDLCAweDQxLCAweEEyLCAweDZELCAweDQ3LCAweDE0LCAweDJBLCAweDlFLCAweDVELCAweDU2LCAweEYyLCAweEQzLCAweEFCLAoKIDB4NDQsIDB4MTEsIDB4OTIsIDB4RDksIDB4MjMsIDB4MjAsIDB4MkUsIDB4ODksIDB4QjQsIDB4N0MsIDB4QjgsIDB4MjYsIDB4NzcsIDB4OTksIDB4RTMsIDB4QTUsCgogMHg2NywgMHg0QSwgMHhFRCwgMHhERSwgMHhDNSwgMHgzMSwgMHhGRSwgMHgxOCwgMHgwRCwgMHg2MywgMHg4QywgMHg4MCwgMHhDMCwgMHhGNywgMHg3MCwgMHgwN307CgoKCmxvY2FsIE1JWFRBQkxFID0gewoKIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDEsCgogMHgwMSwgMHgwMiwgMHgwMywgMHgwMSwKCiAweDAxLCAweDAxLCAweDAyLCAweDAzLAoKIDB4MDMsIDB4MDEsIDB4MDEsIDB4MDJ9OwoKCgpsb2NhbCBJTUlYVEFCTEUgPSB7CgogMHgwRSwgMHgwQiwgMHgwRCwgMHgwOSwKCiAweDA5LCAweDBFLCAweDBCLCAweDBELAoKIDB4MEQsIDB4MDksIDB4MEUsIDB4MEIsCgogMHgwQiwgMHgwRCwgMHgwOSwgMHgwRX07CgoKCmxvY2FsIFJDT04gPSB7CgpbMF0gPSAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLAoKMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwKCjB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsCgoweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LAoKMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwKCjB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsCgoweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLAoKMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywKCjB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsCgoweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLAoKMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwKCjB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsCgoweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LAoKMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywKCjB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsCgoweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkfTsKCgoKCgpsb2NhbCBHTVVMID0gZnVuY3Rpb24oQSwgQikKCiAgICBpZihBID09IDB4MDEpIHRoZW4gcmV0dXJuIEI7IGVuZAoKICAgIGlmKEIgPT0gMHgwMSkgdGhlbiByZXR1cm4gQTsgZW5kCgogICAgaWYoQSA9PSAweDAwKSB0aGVuIHJldHVybiAwOyBlbmQKCiAgICBpZihCID09IDB4MDApIHRoZW4gcmV0dXJuIDA7IGVuZAoKCgogICAgbG9jYWwgTEEgPSBMVEFCTEVbQV07CgogICAgbG9jYWwgTEIgPSBMVEFCTEVbQl07CgoKCiAgICBsb2NhbCBzdW0gPSBMQSArIExCOwoKICAgIGlmIChzdW0gPiAweEZGKSB0aGVuIHN1bSA9IHN1bSAtIDB4RkY7IGVuZAoKCgogICAgcmV0dXJuIEVUQUJMRVtzdW1dOwoKZW5kCgoKCmxvY2FsIGJ5dGVTdWIgPSBBcnJheS5zdWJzdGl0dXRlOwoKCgpsb2NhbCBzaGlmdFJvdyA9IEFycmF5LnBlcm11dGU7CgoKCmxvY2FsIG1peENvbCA9IGZ1bmN0aW9uKGksIG1peCkKCiAgICBsb2NhbCBvdXQgPSB7fTsKCgoKICAgIGxvY2FsIGEsIGIsIGMsIGQ7CgoKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WyA0XSk7CgogICAgb3V0WyAxXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsgOF0pOwoKICAgIG91dFsgMl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbMTJdKTsKCiAgICBvdXRbIDNdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WzE2XSk7CgogICAgb3V0WyA0XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCgoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbIDRdKTsKCiAgICBvdXRbIDVdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WyA4XSk7CgogICAgb3V0WyA2XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsxMl0pOwoKICAgIG91dFsgN10gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbMTZdKTsKCiAgICBvdXRbIDhdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKCgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsgNF0pOwoKICAgIG91dFsgOV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbIDhdKTsKCiAgICBvdXRbMTBdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WzEyXSk7CgogICAgb3V0WzExXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsxNl0pOwoKICAgIG91dFsxMl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgoKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WyA0XSk7CgogICAgb3V0WzEzXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsgOF0pOwoKICAgIG91dFsxNF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbMTJdKTsKCiAgICBvdXRbMTVdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WzE2XSk7CgogICAgb3V0WzE2XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCmxvY2FsIGtleVJvdW5kID0gZnVuY3Rpb24oa2V5LCByb3VuZCkKCiAgICBsb2NhbCBvdXQgPSB7fTsKCgoKICAgIG91dFsgMV0gPSBYT1Ioa2V5WyAxXSwgWE9SKFNCT1hba2V5WzE0XV0sIFJDT05bcm91bmRdKSk7CgogICAgb3V0WyAyXSA9IFhPUihrZXlbIDJdLCBTQk9YW2tleVsxNV1dKTsKCiAgICBvdXRbIDNdID0gWE9SKGtleVsgM10sIFNCT1hba2V5WzE2XV0pOwoKICAgIG91dFsgNF0gPSBYT1Ioa2V5WyA0XSwgU0JPWFtrZXlbMTNdXSk7CgoKCiAgICBvdXRbIDVdID0gWE9SKG91dFsgMV0sIGtleVsgNV0pOwoKICAgIG91dFsgNl0gPSBYT1Iob3V0WyAyXSwga2V5WyA2XSk7CgogICAgb3V0WyA3XSA9IFhPUihvdXRbIDNdLCBrZXlbIDddKTsKCiAgICBvdXRbIDhdID0gWE9SKG91dFsgNF0sIGtleVsgOF0pOwoKCgogICAgb3V0WyA5XSA9IFhPUihvdXRbIDVdLCBrZXlbIDldKTsKCiAgICBvdXRbMTBdID0gWE9SKG91dFsgNl0sIGtleVsxMF0pOwoKICAgIG91dFsxMV0gPSBYT1Iob3V0WyA3XSwga2V5WzExXSk7CgogICAgb3V0WzEyXSA9IFhPUihvdXRbIDhdLCBrZXlbMTJdKTsKCgoKICAgIG91dFsxM10gPSBYT1Iob3V0WyA5XSwga2V5WzEzXSk7CgogICAgb3V0WzE0XSA9IFhPUihvdXRbMTBdLCBrZXlbMTRdKTsKCiAgICBvdXRbMTVdID0gWE9SKG91dFsxMV0sIGtleVsxNV0pOwoKICAgIG91dFsxNl0gPSBYT1Iob3V0WzEyXSwga2V5WzE2XSk7CgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCmxvY2FsIGtleUV4cGFuZCA9IGZ1bmN0aW9uKGtleSkKCiAgICBsb2NhbCBrZXlzID0ge307CgoKCiAgICBsb2NhbCB0ZW1wID0ga2V5OwoKCgogICAga2V5c1sxXSA9IHRlbXA7CgoKCiAgICBmb3IgaSA9IDEsIDEwIGRvCgogICAgICAgIHRlbXAgPSBrZXlSb3VuZCh0ZW1wLCBpKTsKCiAgICAgICAga2V5c1tpICsgMV0gPSB0ZW1wOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIGtleXM7CgoKCmVuZAoKCgpsb2NhbCBhZGRLZXkgPSBBcnJheS5YT1I7CgoKCgoKCgpsb2NhbCBBRVMgPSB7fTsKCgoKQUVTLmJsb2NrU2l6ZSA9IDE2OwoKCgpBRVMuZW5jcnlwdCA9IGZ1bmN0aW9uKGtleSwgYmxvY2spCgoKCiAgICBsb2NhbCBrZXlTY2hlZHVsZSA9IGtleUV4cGFuZChrZXkpOwoKCgogICAgLS1yb3VuZCAwCgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzFdKTsKCgoKICAgIC0tcm91bmQgMQoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsyXSk7CgoKCiAgICAtLXJvdW5kIDIKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbM10pOwoKCgogICAgLS1yb3VuZCAzCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzRdKTsKCgoKICAgIC0tcm91bmQgNAoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs1XSk7CgoKCiAgICAtLXJvdW5kIDUKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNl0pOwoKCgogICAgLS1yb3VuZCA2CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzddKTsKCgoKICAgIC0tcm91bmQgNwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs4XSk7CgoKCiAgICAtLXJvdW5kIDgKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbOV0pOwoKCgogICAgLS1yb3VuZCA5CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzEwXSk7CgoKCiAgICAtLXJvdW5kIDEwCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMV0pOwoKCgogICAgcmV0dXJuIGJsb2NrOwoKCgplbmQKCgoKQUVTLmRlY3J5cHQgPSBmdW5jdGlvbihrZXksIGJsb2NrKQoKCgogICAgbG9jYWwga2V5U2NoZWR1bGUgPSBrZXlFeHBhbmQoa2V5KTsKCgoKICAgIC0tcm91bmQgMAoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMV0pOwoKCgogICAgLS1yb3VuZCAxCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzEwXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDIKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbOV0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAzCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzhdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNAoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs3XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDUKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNl0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA2CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzVdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs0XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDgKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbM10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA5CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzJdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMTAKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMV0pOwoKCgogICAgcmV0dXJuIGJsb2NrOwoKZW5kCgoKCnJldHVybiBBRVM7AAAAAGxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKQoKbG9jYWwgSGV4ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmhleCIpCgpsb2NhbCBBcnJheSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5hcnJheSIpCgoKCi0tIENpcGhlcnMKCmxvY2FsIEFFUzEyOENpcGhlciA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLmFlczEyOCIpCgpsb2NhbCBBRVMxOTJDaXBoZXIgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5hZXMxOTIiKQoKbG9jYWwgQUVTMjU2Q2lwaGVyID0gcmVxdWlyZSgiLmNyeXB0by5jaXBoZXIuYWVzMjU2IikKCgoKLS0gTW9kZXMKCmxvY2FsIENCQ01vZGUgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5tb2RlLmNiYyIpCgpsb2NhbCBFQ0JNb2RlID0gcmVxdWlyZSgiLmNyeXB0by5jaXBoZXIubW9kZS5lY2IiKQoKbG9jYWwgQ0ZCTW9kZSA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLm1vZGUuY2ZiIikKCmxvY2FsIE9GQk1vZGUgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5tb2RlLm9mYiIpCgpsb2NhbCBDVFJNb2RlID0gcmVxdWlyZSgiLmNyeXB0by5jaXBoZXIubW9kZS5jdHIiKQoKCgotLSBQYWRkaW5nCgpsb2NhbCBaZXJvUGFkZGluZyA9IHJlcXVpcmUoIi5jcnlwdG8ucGFkZGluZy56ZXJvIikKCgoKbG9jYWwgcHVibGljID0ge30KCgoKbG9jYWwgZ2V0QmxvY2tDaXBoZXIgPSBmdW5jdGlvbihrZXlMZW5ndGgpCgogICAgaWYga2V5TGVuZ3RoID09IDEyOCB0aGVuCgogICAgICAgIHJldHVybiBBRVMxMjhDaXBoZXIKCiAgICBlbHNlaWYga2V5TGVuZ3RoID09IDE5MiB0aGVuCgogICAgICAgIHJldHVybiBBRVMxOTJDaXBoZXIKCiAgICBlbHNlaWYga2V5TGVuZ3RoID09IDI1NiB0aGVuCgogICAgICAgIHJldHVybiBBRVMyNTZDaXBoZXIKCiAgICBlbHNlaWYga2V5TGVuZ3RoID09IG5pbCB0aGVuCgogICAgICAgIHJldHVybiBBRVMxMjhDaXBoZXIKCiAgICBlbHNlCgogICAgICAgIHJldHVybiBuaWwKCiAgICBlbmQKCmVuZAoKCgpsb2NhbCBnZXRNb2RlID0gZnVuY3Rpb24obW9kZSkKCiAgICBpZiBtb2RlID09ICJDQkMiIHRoZW4KCiAgICAgICAgcmV0dXJuIENCQ01vZGUKCiAgICBlbHNlaWYgbW9kZSA9PSAiRUNCIiB0aGVuCgogICAgICAgIHJldHVybiBFQ0JNb2RlCgogICAgZWxzZWlmIG1vZGUgPT0gIkNGQiIgdGhlbgoKICAgICAgICByZXR1cm4gQ0ZCTW9kZQoKICAgIGVsc2VpZiBtb2RlID09ICJPRkIiIHRoZW4KCiAgICAgICAgcmV0dXJuIE9GQk1vZGUKCiAgICBlbHNlaWYgbW9kZSA9PSAiQ1RSIiB0aGVuCgogICAgICAgIHJldHVybiBDVFJNb2RlCgogICAgZWxzZQoKICAgICAgICByZXR1cm4gbmlsCgogICAgZW5kCgplbmQKCgoKCgotLS0gRW5jcnlwdHMgdGhlIGdpdmVuIGRhdGEgdXNpbmcgQUVTIGVuY3J5cHRpb24uCgotLS0gQHBhcmFtIGRhdGEgc3RyaW5nIC0gVGhlIGRhdGEgdG8gYmUgZW5jcnlwdGVkLgoKLS0tIEBwYXJhbSBrZXkgc3RyaW5nIC0gVGhlIGtleSB0byB1c2UgZm9yIGVuY3J5cHRpb24uCgotLS0gQHBhcmFtIGl2PyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSBpbml0aWFsaXphdGlvbiB2ZWN0b3IgdG8gdXNlIGZvciBlbmNyeXB0aW9uLiBEZWZhdWx0cyB0byAxNiBudWxsIGJ5dGVzLgoKLS0tIEBwYXJhbSBtb2RlPyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSBtb2RlIHRvIHVzZSBmb3IgZW5jcnlwdGlvbi4gRGVmYXVsdHMgdG8gIkNCQyIuCgotLS0gQHBhcmFtIGtleUxlbmd0aD8gbnVtYmVyIChvcHRpb25hbCkgLSBUaGUgbGVuZ3RoIG9mIHRoZSBrZXkgdG8gdXNlIGZvciBlbmNyeXB0aW9uLiBEZWZhdWx0cyB0byAxMjguCgotLS0gQHJldHVybnMgdGFibGUgLSBBIHRhYmxlIGNvbnRhaW5pbmcgdGhlIGVuY3J5cHRlZCBkYXRhIGluIGJ5dGVzLCBoZXgsIGFuZCBzdHJpbmcgZm9ybWF0cy4KCnB1YmxpYy5lbmNyeXB0ID0gZnVuY3Rpb24oZGF0YSwga2V5LCBpdiwgbW9kZSwga2V5TGVuZ3RoKQoKICAgIGxvY2FsIGQgPSBBcnJheS5mcm9tU3RyaW5nKGRhdGEpCgogICAgbG9jYWwgayA9IEFycmF5LmZyb21TdHJpbmcoa2V5KQoKICAgIGxvY2FsIF9pdiA9IGl2IH49IG5pbCBhbmQgQXJyYXkuZnJvbVN0cmluZyhpdikgb3IgQXJyYXkuZnJvbUhleCgiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiKQoKCgogICAgbG9jYWwgY2lwaGVyTW9kZSA9IGdldE1vZGUobW9kZSkgb3IgQ0JDTW9kZQoKICAgIGxvY2FsIGJsb2NrQ2lwaGVyID0gZ2V0QmxvY2tDaXBoZXIoa2V5TGVuZ3RoKSBvciBBRVMxMjhDaXBoZXIKCgoKICAgIGxvY2FsIGNpcGhlciA9IGNpcGhlck1vZGUuQ2lwaGVyKCkKCiAgICAgICAgLnNldEtleShrKQoKICAgICAgICAuc2V0QmxvY2tDaXBoZXIoYmxvY2tDaXBoZXIpCgogICAgICAgIC5zZXRQYWRkaW5nKFplcm9QYWRkaW5nKTsKCgoKCgogICAgbG9jYWwgY2lwaGVyT3V0cHV0ID0gY2lwaGVyCgogICAgICAgIC5pbml0KCkKCiAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KF9pdikpCgogICAgICAgIC51cGRhdGUoU3RyZWFtLmZyb21BcnJheShkKSkKCiAgICAgICAgLmZpbmlzaCgpCgoKCiAgICBsb2NhbCByZXN1bHRzID0ge30KCgoKICAgIHJlc3VsdHMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGNpcGhlck91dHB1dC5hc0J5dGVzKCkKCiAgICBlbmQKCgoKICAgIHJlc3VsdHMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBjaXBoZXJPdXRwdXQuYXNIZXgoKQoKICAgIGVuZAoKCgogICAgcmVzdWx0cy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGNpcGhlck91dHB1dC5hc1N0cmluZygpCgogICAgZW5kCgoKCiAgICByZXR1cm4gcmVzdWx0cwoKZW5kCgoKCi0tLSBEZWNyeXB0cyB0aGUgZ2l2ZW4gZGF0YSB1c2luZyBBRVMgZGVjcnlwdGlvbi4KCi0tLSBAcGFyYW0gY2lwaGVyIHN0cmluZyAtIFRoZSBoZXggZW5jb2RlZCBjaXBoZXIgdG8gYmUgZGVjcnlwdGVkLgoKLS0tIEBwYXJhbSBrZXkgc3RyaW5nIC0gVGhlIGtleSB0byB1c2UgZm9yIGRlY3J5cHRpb24uCgotLS0gQHBhcmFtIGl2PyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSBpbml0aWFsaXphdGlvbiB2ZWN0b3IgdG8gdXNlIGZvciBkZWNyeXB0aW9uLiBEZWZhdWx0cyB0byAxNiBudWxsIGJ5dGVzLgoKLS0tIEBwYXJhbSBtb2RlPyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSBtb2RlIHRvIHVzZSBmb3IgZGVjcnlwdGlvbi4gRGVmYXVsdHMgdG8gIkNCQyIuCgotLS0gQHBhcmFtIGtleUxlbmd0aD8gbnVtYmVyIChvcHRpb25hbCkgLSBUaGUgbGVuZ3RoIG9mIHRoZSBrZXkgdG8gdXNlIGZvciBkZWNyeXB0aW9uLiBEZWZhdWx0cyB0byAxMjguCgpwdWJsaWMuZGVjcnlwdCA9IGZ1bmN0aW9uKGNpcGhlciwga2V5LCBpdiwgbW9kZSwga2V5TGVuZ3RoKQoKICAgIGxvY2FsIGNpcGhlclRleHQgPSBBcnJheS5mcm9tSGV4KGNpcGhlcikKCiAgICBsb2NhbCBrID0gQXJyYXkuZnJvbVN0cmluZyhrZXkpCgogICAgbG9jYWwgX2l2ID0gaXYgfj0gbmlsIGFuZCBBcnJheS5mcm9tU3RyaW5nKGl2KSBvciBBcnJheS5mcm9tSGV4KCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIpCgoKCiAgICBsb2NhbCBjaXBoZXJNb2RlID0gZ2V0TW9kZShtb2RlKSBvciBDQkNNb2RlCgogICAgbG9jYWwgYmxvY2tDaXBoZXIgPSBnZXRCbG9ja0NpcGhlcihrZXlMZW5ndGgpIG9yIEFFUzEyOENpcGhlcgoKCgoKCiAgICBsb2NhbCBkZWNpcGhlciA9IGNpcGhlck1vZGUuRGVjaXBoZXIoKQoKICAgICAgICAgICAgLnNldEtleShrKQoKICAgICAgICAgICAgLnNldEJsb2NrQ2lwaGVyKGJsb2NrQ2lwaGVyKQoKICAgICAgICAgICAgLnNldFBhZGRpbmcoWmVyb1BhZGRpbmcpOwoKCgoKCiAgICBsb2NhbCBwbGFpbk91dHB1dCA9IGRlY2lwaGVyCgogICAgICAgIC5pbml0KCkKCiAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KF9pdikpCgogICAgICAgIC51cGRhdGUoU3RyZWFtLmZyb21BcnJheShjaXBoZXJUZXh0KSkKCiAgICAgICAgLmZpbmlzaCgpCgoKCiAgICBsb2NhbCByZXN1bHRzID0ge30KCgoKICAgIHJlc3VsdHMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIHBsYWluT3V0cHV0LmFzQnl0ZXMoKQoKICAgIGVuZAoKCgogICAgcmVzdWx0cy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIHBsYWluT3V0cHV0LmFzSGV4KCkKCiAgICBlbmQKCgoKICAgIHJlc3VsdHMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBwbGFpbk91dHB1dC5hc1N0cmluZygpCgogICAgZW5kCgoKCiAgICByZXR1cm4gcmVzdWx0cwoKZW5kCgoKCgoKcmV0dXJuIHB1YmxpYwoAbG9jYWwgSGV4ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmhleCIpOwoKCgpsb2NhbCBmdW5jdGlvbiBzdGF0ZV91cGRhdGUocywgbTAsIG0xLCBtMiwgbTMpCgoJbG9jYWwgczAwLCBzMDEsIHMwMiwgczAzID0gc1sxXSwgIHNbMl0sICBzWzNdLCAgc1s0XQoKCWxvY2FsIHMxMCwgczExLCBzMTIsIHMxMyA9IHNbNV0sICBzWzZdLCAgc1s3XSwgIHNbOF0KCglsb2NhbCBzMjAsIHMyMSwgczIyLCBzMjMgPSBzWzldLCAgc1sxMF0sIHNbMTFdLCBzWzEyXQoKCWxvY2FsIHMzMCwgczMxLCBzMzIsIHMzMyA9IHNbMTNdLCBzWzE0XSwgc1sxNV0sIHNbMTZdCgoJbG9jYWwgczQwLCBzNDEsIHM0MiwgczQzID0gc1sxN10sIHNbMThdLCBzWzE5XSwgc1syMF0KCglsb2NhbCB0ZW1wCgoKCglzMDAgPSBzMDAgfiBzMzAKCglzMDEgPSBzMDEgfiBzMzEKCglzMDIgPSBzMDIgfiBzMzIKCglzMDMgPSBzMDMgfiBzMzMKCgoKCXRlbXAgPSBzMzMKCglzMzMgPSBzMzIKCglzMzIgPSBzMzEKCglzMzEgPSBzMzAKCglzMzAgPSB0ZW1wCgoKCglzMDAgPSBzMDAgfiBzMTAgJiBzMjAKCglzMDEgPSBzMDEgfiBzMTEgJiBzMjEKCglzMDIgPSBzMDIgfiBzMTIgJiBzMjIKCglzMDMgPSBzMDMgfiBzMTMgJiBzMjMKCgoKCXMwMCA9IChzMDAgPDwgMTMpIHwgKHMwMCA+PiAoNjQtMTMpKSAtLW4xCgoJczAxID0gKHMwMSA8PCAxMykgfCAoczAxID4+ICg2NC0xMykpIC0tbjEKCglzMDIgPSAoczAyIDw8IDEzKSB8IChzMDIgPj4gKDY0LTEzKSkgLS1uMQoKCXMwMyA9IChzMDMgPDwgMTMpIHwgKHMwMyA+PiAoNjQtMTMpKSAtLW4xCgoKCgoKCXMxMCA9IHMxMCB+IG0wCgoJczExID0gczExIH4gbTEKCglzMTIgPSBzMTIgfiBtMgoKCXMxMyA9IHMxMyB+IG0zCgoKCglzMTAgPSBzMTAgfiBzNDAKCglzMTEgPSBzMTEgfiBzNDEKCglzMTIgPSBzMTIgfiBzNDIKCglzMTMgPSBzMTMgfiBzNDMKCgoKCXRlbXAgPSBzNDMKCglzNDMgPSBzNDEKCglzNDEgPSB0ZW1wCgoKCgl0ZW1wID0gczQyCgoJczQyID0gczQwCgoJczQwID0gdGVtcAoKCgoJczEwID0gczEwIH4gKHMyMCAmIHMzMCkKCglzMTEgPSBzMTEgfiAoczIxICYgczMxKQoKCXMxMiA9IHMxMiB+IChzMjIgJiBzMzIpCgoJczEzID0gczEzIH4gKHMyMyAmIHMzMykKCgoKCXMxMCA9IChzMTAgPDwgNDYpIHwgKHMxMCA+PiAoNjQtNDYpKSAtLW4yCgoJczExID0gKHMxMSA8PCA0NikgfCAoczExID4+ICg2NC00NikpIC0tbjIKCglzMTIgPSAoczEyIDw8IDQ2KSB8IChzMTIgPj4gKDY0LTQ2KSkgLS1uMgoKCXMxMyA9IChzMTMgPDwgNDYpIHwgKHMxMyA+PiAoNjQtNDYpKSAtLW4yCgoKCgoKCXMyMCA9IHMyMCB+IG0wCgoJczIxID0gczIxIH4gbTEKCglzMjIgPSBzMjIgfiBtMgoKCXMyMyA9IHMyMyB+IG0zCgoKCglzMjAgPSBzMjAgfiBzMDAKCglzMjEgPSBzMjEgfiBzMDEKCglzMjIgPSBzMjIgfiBzMDIKCglzMjMgPSBzMjMgfiBzMDMKCgoKCXRlbXAgPSBzMDAKCglzMDAgPSBzMDEKCglzMDEgPSBzMDIKCglzMDIgPSBzMDMKCglzMDMgPSB0ZW1wCgoKCglzMjAgPSBzMjAgfiBzMzAgJiBzNDAKCglzMjEgPSBzMjEgfiBzMzEgJiBzNDEKCglzMjIgPSBzMjIgfiBzMzIgJiBzNDIKCglzMjMgPSBzMjMgfiBzMzMgJiBzNDMKCgoKCXMyMCA9IChzMjAgPDwgMzgpIHwgKHMyMCA+PiAoNjQtMzgpKSAtLW4zCgoJczIxID0gKHMyMSA8PCAzOCkgfCAoczIxID4+ICg2NC0zOCkpIC0tbjMKCglzMjIgPSAoczIyIDw8IDM4KSB8IChzMjIgPj4gKDY0LTM4KSkgLS1uMwoKCXMyMyA9IChzMjMgPDwgMzgpIHwgKHMyMyA+PiAoNjQtMzgpKSAtLW4zCgoKCgoKCXMzMCA9IHMzMCB+IG0wCgoJczMxID0gczMxIH4gbTEKCglzMzIgPSBzMzIgfiBtMgoKCXMzMyA9IHMzMyB+IG0zCgoKCglzMzAgPSBzMzAgfiBzMTAKCglzMzEgPSBzMzEgfiBzMTEKCglzMzIgPSBzMzIgfiBzMTIKCglzMzMgPSBzMzMgfiBzMTMKCgoKCXRlbXAgPSBzMTMKCglzMTMgPSBzMTEKCglzMTEgPSB0ZW1wCgoKCgl0ZW1wID0gczEyCgoJczEyID0gczEwCgoJczEwID0gdGVtcAoKCgoJczMwID0gczMwIH4gczQwICYgczAwCgoJczMxID0gczMxIH4gczQxICYgczAxCgoJczMyID0gczMyIH4gczQyICYgczAyCgoJczMzID0gczMzIH4gczQzICYgczAzCgoKCglzMzAgPSAoczMwIDw8IDcpIHwgKHMzMCA+PiAoNjQtNykpIC0tbjQKCglzMzEgPSAoczMxIDw8IDcpIHwgKHMzMSA+PiAoNjQtNykpIC0tbjQKCglzMzIgPSAoczMyIDw8IDcpIHwgKHMzMiA+PiAoNjQtNykpIC0tbjQKCglzMzMgPSAoczMzIDw8IDcpIHwgKHMzMyA+PiAoNjQtNykpIC0tbjQKCgoKCgoJczQwID0gczQwIH4gbTAKCglzNDEgPSBzNDEgfiBtMQoKCXM0MiA9IHM0MiB+IG0yCgoJczQzID0gczQzIH4gbTMKCgoKCXM0MCA9IHM0MCB+IHMyMAoKCXM0MSA9IHM0MSB+IHMyMQoKCXM0MiA9IHM0MiB+IHMyMgoKCXM0MyA9IHM0MyB+IHMyMwoKCgoJdGVtcCA9IHMyMwoKCXMyMyA9IHMyMgoKCXMyMiA9IHMyMQoKCXMyMSA9IHMyMAoKCXMyMCA9IHRlbXAKCgoKCXM0MCA9IHM0MCB+IHMwMCAmIHMxMAoKCXM0MSA9IHM0MSB+IHMwMSAmIHMxMQoKCXM0MiA9IHM0MiB+IHMwMiAmIHMxMgoKCXM0MyA9IHM0MyB+IHMwMyAmIHMxMwoKCgoJczQwID0gKHM0MCA8PCA0KSB8IChzNDAgPj4gKDY0LTQpKSAtLW41CgoJczQxID0gKHM0MSA8PCA0KSB8IChzNDEgPj4gKDY0LTQpKSAtLW41CgoJczQyID0gKHM0MiA8PCA0KSB8IChzNDIgPj4gKDY0LTQpKSAtLW41CgoJczQzID0gKHM0MyA8PCA0KSB8IChzNDMgPj4gKDY0LTQpKSAtLW41CgoKCgktLSB1cGRhdGUgdGhlIHN0YXRlIGFycmF5CgoJc1sxXSwgIHNbMl0sICBzWzNdLCAgc1s0XSAgPSBzMDAsIHMwMSwgczAyLCBzMDMKCglzWzVdLCAgc1s2XSwgIHNbN10sICBzWzhdICA9IHMxMCwgczExLCBzMTIsIHMxMwoKCXNbOV0sICBzWzEwXSwgc1sxMV0sIHNbMTJdID0gczIwLCBzMjEsIHMyMiwgczIzCgoJc1sxM10sIHNbMTRdLCBzWzE1XSwgc1sxNl0gPSBzMzAsIHMzMSwgczMyLCBzMzMKCglzWzE3XSwgc1sxOF0sIHNbMTldLCBzWzIwXSA9IHM0MCwgczQxLCBzNDIsIHM0MwoKCgplbmQtLXN0YXRlX3VwZGF0ZSgpCgoKCmxvY2FsIGZ1bmN0aW9uIGVuY19hdXRfc3RlcChzLCBtMCwgbTEsIG0yLCBtMykKCgktLSAgICAgICAgIG0wICAgczAwICAgIHMxMSAgICBzMjAgICAgIHMzMAoKCWxvY2FsIGMwID0gbTAgfiBzWzFdIH4gc1s2XSB+IChzWzldICAmIHNbMTNdKQoKCS0tICAgICAgICAgbTEgICBzMDEgICAgczEyICAgIHMyMSAgICAgczMxCgoJbG9jYWwgYzEgPSBtMSB+IHNbMl0gfiBzWzddIH4gKHNbMTBdICYgc1sxNF0pCgoJLS0gICAgICAgICBtMiAgIHMwMiAgICBzMTMgICAgczIyICAgICBzMzIKCglsb2NhbCBjMiA9IG0yIH4gc1szXSB+IHNbOF0gfiAoc1sxMV0gJiBzWzE1XSkKCgktLSAgICAgICAgIG0zICAgczAzICAgIHMxMCAgICBzMjMgICAgIHMzMwoKCWxvY2FsIGMzID0gbTMgfiBzWzRdIH4gc1s1XSB+IChzWzEyXSAmIHNbMTZdKQoKCXN0YXRlX3VwZGF0ZShzLCBtMCwgbTEsIG0yLCBtMykKCglyZXR1cm4gYzAsIGMxLCBjMiwgYzMKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBkZWNfYXV0X3N0ZXAocywgYzAsIGMxLCBjMiwgYzMsIGJsZW4pCgoJLS0gbWxlbiBpcyB0aGUgbGVuZ3RoIG9mIGEgbGFzdCBwYXJ0aWFsIGJsb2NrCgoJLS0gbWxlbiBpcyBhYnNlbnQvbmlsIGZvciBmdWxsIGJsb2NrcwoKCS0tIHJldHVybiB0aGUgZGVjcnlwdGVkIGJsb2NrCgoJLS0KCgktLSAgICAgICAgIG0wICAgczAwICAgIHMxMSAgICBzMjAgICAgczMwCgoJbG9jYWwgbTAgPSBjMCB+IHNbMV0gfiBzWzZdIH4gKHNbOV0gICYgc1sxM10pCgoJLS0gICAgICAgICBtMSAgIHMwMSAgICBzMTIgICAgczIxICAgICBzMzEKCglsb2NhbCBtMSA9IGMxIH4gc1syXSB+IHNbN10gfiAoc1sxMF0gJiBzWzE0XSkgCgoJLS0gICAgICAgICBtMiAgIHMwMiAgICBzMTMgICAgczIyICAgICBzMzIKCglsb2NhbCBtMiA9IGMyIH4gc1szXSB+IHNbOF0gfiAoc1sxMV0gJiBzWzE1XSkKCgktLSAgICAgICAgIG0zICAgczAzICAgIHMxMCAgICBzMjMgICAgIHMzMwoKCWxvY2FsIG0zID0gYzMgfiBzWzRdIH4gc1s1XSB+IChzWzEyXSAmIHNbMTZdKQoKCWlmIGJsZW4gdGhlbiAKCgkJLS0gcGFydGlhbCBibG9jayA9PiBtdXN0IGFkanVzdCAobTAsIC4uLikgYmVmb3JlCgoJCS0tIHVwZGF0aW5nIHRoZSBzdGF0ZQoKCQlsb2NhbCBtYmxrID0gc3RyaW5nLnBhY2soIjxJOEk4SThJOCIsIG0wLCBtMSwgbTIsIG0zKTpzdWIoMSwgYmxlbikgCgoJCWxvY2FsIGJsayA9IG1ibGsgLi4gc3RyaW5nLnJlcCgnXDAnLCAzMiAtIGJsZW4pCgoJCWFzc2VydCgjYmxrID09IDMyLCAjYmxrKQoKCQltMCwgbTEsIG0yLCBtMyA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGJsaykKCgkJc3RhdGVfdXBkYXRlKHMsIG0wLCBtMSwgbTIsIG0zKQoKCQlyZXR1cm4gbWJsawoKCWVuZAoKCS0tIGZ1bGwgYmxvY2sKCglzdGF0ZV91cGRhdGUocywgbTAsIG0xLCBtMiwgbTMpCgoJcmV0dXJuIHN0cmluZy5wYWNrKCI8SThJOEk4STgiLCBtMCwgbTEsIG0yLCBtMykKCmVuZAoKCgotLSBzdGF0ZSBpbml0IGNvbnN0YW50cyAoZmlib25hY2NpKQoKLS0gdTggY29uWzMyXSA9IHsKCi0tCTB4MDAsMHgwMSwweDAxLDB4MDIsMHgwMywweDA1LDB4MDgsMHgwZAoKLS0JLDB4MTUsMHgyMiwweDM3LDB4NTksMHg5MCwweGU5LDB4NzksMHg2MgoKLS0JLDB4ZGIsMHgzZCwweDE4LDB4NTUsMHg2ZCwweGMyLDB4MmYsMHhmMQoKLS0JLDB4MjAsMHgxMSwweDMxLDB4NDIsMHg3MywweGI1LDB4MjgsMHhkZAoKbG9jYWwgY29uID0geyAtLSBjb24gYXMgNCB1aW50NjQgLSAgISEgYXNzdW1lIGxpdHRsZSBlbmRpYW4gISEKCgkJMHhkMDgwNTAzMDIwMTAxMDAsIDB4NjI3OWU5OTA1OTM3MjIxNSwgCgoJICAgIDB4ZjEyZmMyNmQ1NTE4M2RkYiwgMHhkZDI4YjU3MzQyMzExMTIwIH0KCgkKCmxvY2FsIGZ1bmN0aW9uIHN0YXRlX2luaXQoa2V5LCBpdikKCgktLSByZXR1cm4gYW4gaW5pdGlhbGl6ZWQgc3RhdGUgYXJyYXkKCglhc3NlcnQoKCNrZXkgPT0gMTYpIG9yICgja2V5ID09IDMyKSwgImtleSBtdXN0IGJlIDE2IG9yIDMyIGJ5dGVzIikKCglhc3NlcnQoI2l2ID09IDE2LCAiaXYgbXVzdCBiZSAxNiBieXRlcyIpCgoJbG9jYWwgZWswLCBlazEsIGVrMiwgZWszIAoKCWlmICNrZXkgPT0gMTYgdGhlbiAKCgkJZWswLCBlazEgPSBzdHJpbmcudW5wYWNrKCI8SThJOCIsIGtleSkKCgkJZWszLCBlazIgPSBlazEsIGVrMAoKCWVsc2UKCgkJZWswLCBlazEsIGVrMiwgZWszID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4Iiwga2V5KQoKCWVuZAoKCWxvY2FsIGl2MCwgaXYxID0gc3RyaW5nLnVucGFjaygiPEk4STgiLCBpdikKCgktLWluaXRhaWFsaXplIHN0YXRlIHM6CgoJbG9jYWwgcyA9IHsKCgkJaXYwLCBpdjEsIDAsIDAsICAgICAgICAgICAgICAgICAtLSBzdGF0ZVswXVtdCgoJCWVrMCwgZWsxLCBlazIsIGVrMywgICAgICAgICAgICAgLS0gc3RhdGVbMV1bXQoKCQktMSwgLTEsIC0xLCAtMSwgICAgICAgICAgICAgICAgIC0tIHN0YXRlWzJdW10gICgweGZmICogMzIpCgoJCTAsIDAsIDAsIDAsICAgICAgICAgICAgICAgICAgICAgLS0gc3RhdGVbM11bXQoKCQljb25bMV0sIGNvblsyXSwgY29uWzNdLCBjb25bNF0sIC0tIHN0YXRlWzRdW10KCgl9CgoJZm9yIGkgPSAxLCAxNiBkbyBzdGF0ZV91cGRhdGUocywgMCwgMCwgMCwgMCkgZW5kCgoJc1s1XSA9IHNbNV0gfiBlazAgIC0tIHN0YXRlWzFdW2ldIF49ICgodWludDY0X3QqKWVrZXkpW2ldOwoKCXNbNl0gPSBzWzZdIH4gZWsxCgoJc1s3XSA9IHNbN10gfiBlazIKCglzWzhdID0gc1s4XSB+IGVrMwoKCXJldHVybiBzCgplbmQtLXN0YXRlX2luaXQoKQoKCgotLWZpbmFsaXphdGlvbgoKCgpsb2NhbCBmdW5jdGlvbiB0YWdfY29tcHV0ZShzLCBtbGVuLCBhZGxlbikKCgktLSByZXR1cm4gdGFnMCwgdGFnMSAodGhlIHRhZyBhcyB0d28gdWludDY0KQoKCWxvY2FsIG0wLCBtMSwgbTIsIG0zID0gKGFkbGVuIDw8IDMpLCAobWxlbiA8PCAzKSwgMCwgMAoKCgoJLS0gc1sxXSwgIHNbMl0sICBzWzNdLCAgc1s0XSAgPSBzMDAsIHMwMSwgczAyLCBzMDMKCgktLSBzWzVdLCAgc1s2XSwgIHNbN10sICBzWzhdICA9IHMxMCwgczExLCBzMTIsIHMxMwoKCS0tIHNbOV0sICBzWzEwXSwgc1sxMV0sIHNbMTJdID0gczIwLCBzMjEsIHMyMiwgczIzCgoJLS0gc1sxM10sIHNbMTRdLCBzWzE1XSwgc1sxNl0gPSBzMzAsIHMzMSwgczMyLCBzMzMKCgktLSBzWzE3XSwgc1sxOF0sIHNbMTldLCBzWzIwXSA9IHM0MCwgczQxLCBzNDIsIHM0MwoKCgoJLS0gc3RhdGVbNF1bMF0gXj0gc3RhdGVbMF1bMF07IHN0YXRlWzRdWzFdIF49IHN0YXRlWzBdWzFdOyAKCgktLSBzdGF0ZVs0XVsyXSBePSBzdGF0ZVswXVsyXTsgc3RhdGVbNF1bM10gXj0gc3RhdGVbMF1bM107CgoJc1sxN10gPSBzWzE3XSB+IHNbMV07ICBzWzE4XSA9IHNbMThdIH4gc1syXQoKCXNbMTldID0gc1sxOV0gfiBzWzNdOyAgc1syMF0gPSBzWzIwXSB+IHNbNF0KCglmb3IgaSA9IDEsIDEwIGRvIHN0YXRlX3VwZGF0ZShzLCBtMCwgbTEsIG0yLCBtMykgZW5kCgoJLS0gZm9yIChqID0gMDsgaiA8IDQ7IGorKykgewoKCS0tCXN0YXRlWzBdW2pdIF49IHN0YXRlWzFdWyhqICsgMSkgJiAzXSBeIChzdGF0ZVsyXVtqXSAmIHN0YXRlWzNdW2pdKTt9CgoJc1sxXSA9IHNbMV0gfiBzWzZdIH4gKHNbOV0gJiBzWzEzXSkgLS0gaj0wCgoJc1syXSA9IHNbMl0gfiBzWzddIH4gKHNbMTBdICYgc1sxNF0pIC0tIGo9MQoKCXNbM10gPSBzWzNdIH4gc1s4XSB+IChzWzExXSAmIHNbMTVdKSAtLSBqPTIKCglzWzRdID0gc1s0XSB+IHNbNV0gfiAoc1sxMl0gJiBzWzE2XSkgLS0gaj0zCgoJCgoJcmV0dXJuIHNbMV0sIHNbMl0KCmVuZAoKCgotLS0gRW5jcnlwdHMgYSBtZXNzYWdlIHVzaW5nIHRoZSBNb3J1cyBlbmNyeXB0aW9uIGFsZ29yaXRobS4KCi0tLSBAcGFyYW0gayBzdHJpbmcgLSBUaGUgZW5jcnlwdGlvbiBrZXkgKDE2IG9yIDMyLWJ5dGUgc3RyaW5nKS4KCi0tLSBAcGFyYW0gaXYgc3RyaW5nIC0gVGhlIG5vbmNlIG9yIGluaXRpYWwgdmFsdWUgKDE2LWJ5dGUgc3RyaW5nKS4KCi0tLSBAcGFyYW0gbSBzdHJpbmcgLSBUaGUgbWVzc2FnZSB0byBlbmNyeXB0ICh2YXJpYWJsZSBsZW5ndGggc3RyaW5nKS4KCi0tLSBAcGFyYW0gYWQ/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIGFkZGl0aW9uYWwgZGF0YSAodmFyaWFibGUgbGVuZ3RoIHN0cmluZykuIE9wdGlvbmFsLCBkZWZhdWx0cyB0byAiIi4KCi0tLSBAcmV0dXJucyB0YWJsZSAtIEEgdGFibGUgY29udGFpbmluZyB0aGUgZW5jcnlwdGVkIG1lc3NhZ2UgaW4gYnl0ZXMsIGhleCwgYW5kIHN0cmluZyBmb3JtYXRzLgoKLS0tIEB1c2FnZSBsb2NhbCBlbmNyeXB0ZWRNZXNzYWdlID0gZW5jcnlwdChrZXksIG5vbmNlLCBtZXNzYWdlLCBhZGRpdGlvbmFsRGF0YSkKCmxvY2FsIGZ1bmN0aW9uIGVuY3J5cHQoaywgaXYsIG0sIGFkKQoKCWFkID0gYWQgb3IgIiIKCglsb2NhbCBtbGVuLCBhZGxlbiA9ICNtLCAjYWQKCglsb2NhbCBtMCwgbTEsIG0yLCBtMywgYzAsIGMxLCBjMiwgYzMKCglsb2NhbCBibGssIGJsZW4KCglsb2NhbCBjdCA9IHt9CgoJLS0gaW5pdAoKCWxvY2FsIHMgPSBzdGF0ZV9pbml0KGssIGl2KQoKCS0tIGFic29yYiBhZAoKCWxvY2FsIGkgPSAxCgoJd2hpbGUgaSA8PSBhZGxlbiAtIDMxIGRvIC0tcHJvY2VzcyBmdWxsIGJsb2NrcwoKCQltMCwgbTEsIG0yLCBtMyA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGFkLCBpKQoKCQlpID0gaSArIDMyCgoJCWVuY19hdXRfc3RlcChzLCBtMCwgbTEsIG0yLCBtMykKCgllbmQKCglpZiBpIDw9IGFkbGVuIHRoZW4gLS0gcHJvY2VzcyBsYXN0LCBwYXJ0aWFsIGJsb2NrIG9mIGFkCgoJCWJsayA9IGFkOnN1YihpKSAuLiBzdHJpbmcucmVwKCdcMCcsIDMxICsgaSAtIGFkbGVuKQoKCQlhc3NlcnQoI2JsayA9PSAzMiwgI2JsaykKCgkJbTAsIG0xLCBtMiwgbTMgPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBibGspCgoJCWVuY19hdXRfc3RlcChzLCBtMCwgbTEsIG0yLCBtMykKCgllbmQKCgl0YWJsZS5pbnNlcnQoY3QsIGFkKSAtLSBjb2xsZWN0IHRoZSBhZCBpbiBjdAoKCS0tIGVuY3J5cHQgbQoKCWkgPSAxCgoJd2hpbGUgaSA8PSBtbGVuIC0gMzEgZG8gLS1wcm9jZXNzIGZ1bGwgYmxvY2tzCgoJCW0wLCBtMSwgbTIsIG0zID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgbSwgaSkKCgkJaSA9IGkgKyAzMgoKCQktLWMwLCBjMSwgYzIsIGMzID0gbTAsIG0xLCBtMiwgbTMgLS11c2UgdGhpcyB0byB0ZXN0IG92ZXJoZWFkIHBlcmYKCgkJYzAsIGMxLCBjMiwgYzMgPSBlbmNfYXV0X3N0ZXAocywgbTAsIG0xLCBtMiwgbTMpCgoJCS0tIGNvbGxlY3QgdGhlIDMyIGVuY3J5cHRlZCBieXRlcyBpbiBjdAoKCQl0YWJsZS5pbnNlcnQoY3QsIHN0cmluZy5wYWNrKCI8SThJOEk4STgiLCBjMCwgYzEsIGMyLCBjMykpCgoJZW5kCgoJaWYgaSA8PSBtbGVuIHRoZW4gLS0gcHJvY2VzcyBsYXN0LCBwYXJ0aWFsIGJsb2NrIG9mIG0KCgkJYmxrID0gbTpzdWIoaSkgLS0gbGFzdCBwYXJ0aWFsIGJsb2NrCgoJCWJsZW4gPSAjYmxrCgoJCWJsayA9IGJsayAuLiBzdHJpbmcucmVwKCdcMCcsIDMxICsgaSAtIG1sZW4pCgoJCWFzc2VydCgjYmxrID09IDMyLCAjYmxrKQoKCQltMCwgbTEsIG0yLCBtMyA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGJsaykKCgkJYzAsIGMxLCBjMiwgYzMgPSBlbmNfYXV0X3N0ZXAocywgbTAsIG0xLCBtMiwgbTMpCgoJCS0tIGNvbGxlY3QgdGhlIGxhc3QgYmxlbiBlbmNyeXB0ZWQgYnl0ZXMgaW4gY3QKCgkJdGFibGUuaW5zZXJ0KGN0LCBzdHJpbmcucGFjaygiPEk4SThJOEk4IiwgYzAsIGMxLCBjMiwgYzMpOnN1YigxLCBibGVuKSkKCgllbmQKCgktLSBjb21wdXRlIHRoZSBtYWMKCglsb2NhbCB0YWcwLCB0YWcxID0gdGFnX2NvbXB1dGUocywgbWxlbiwgYWRsZW4pCgoJdGFibGUuaW5zZXJ0KGN0LCBzdHJpbmcucGFjaygiPEk4STgiLCB0YWcwLCB0YWcxKSkKCgktLSByZXR1cm4gdGhlIGNvbXBsZXRlIGVuY3J5cHRlZCBtZXNzYWdlICh3aXRoIGFkIHByZWZpeCBhbmQgdGFnIHN1ZmZpeCkKCgoKCWxvY2FsIHB1YmxpYyA9IHt9OwoKCgoJcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgoJCXJldHVybiBjdAoKCWVuZAoKCgoJcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gSGV4LnN0cmluZ1RvSGV4KHRhYmxlLmNvbmNhdChjdCkpCgoJZW5kCgoKCglwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgoJCXJldHVybiB0YWJsZS5jb25jYXQoY3QpCgoJZW5kCgoKCglyZXR1cm4gcHVibGljCgplbmQKCgoKLS0tIERlY3J5cHRzIGFuIGVuY3J5cHRlZCBtZXNzYWdlIHVzaW5nIHRoZSBNb3J1cyBlbmNyeXB0aW9uIGFsZ29yaXRobS4KCi0tLSBAcGFyYW0gayBzdHJpbmcgLSBUaGUgZW5jcnlwdGlvbiBrZXkgKDE2IG9yIDMyLWJ5dGUgc3RyaW5nKS4KCi0tLSBAcGFyYW0gaXYgc3RyaW5nIC0gVGhlIG5vbmNlIG9yIGluaXRpYWwgdmFsdWUgKDE2LWJ5dGUgc3RyaW5nKS4KCi0tLSBAcGFyYW0gZSBzdHJpbmcgLSBUaGUgZW5jcnlwdGVkIG1lc3NhZ2UgKHZhcmlhYmxlIGxlbmd0aCBzdHJpbmcpLgoKLS0tIEBwYXJhbSBhZGxlbj8gbnVtYmVyIChvcHRpb25hbCkgLSBUaGUgbGVuZ3RoIG9mIHRoZSBhZGRpdGlvbmFsIGRhdGEgYXQgdGhlIHN0YXJ0IG9mIGUuIE9wdGlvbmFsLCBkZWZhdWx0cyB0byAwLgoKLS0tIEByZXR1cm5zIHRhYmxlIC0gQSB0YWJsZSBjb250YWluaW5nIHRoZSBkZWNyeXB0ZWQgbWVzc2FnZSBpbiBieXRlcywgaGV4LCBhbmQgc3RyaW5nIGZvcm1hdHMuCgpsb2NhbCBmdW5jdGlvbiBkZWNyeXB0KGssIGl2LCBlLCBhZGxlbikKCglhZGxlbiA9IGFkbGVuIG9yIDAKCiAgICBsb2NhbCBhZCA9ICAiIgoKCWxvY2FsIGVsZW4gPSAjZSAtIDE2ICAtLSBsZW5ndGggb2YgbXNnIGJlZm9yZSB0YWcKCglsb2NhbCBtbGVuID0gZWxlbiAtIGFkbGVuCgoJbG9jYWwgbTAsIG0xLCBtMiwgbTMsIGMwLCBjMSwgYzIsIGMzCgoJbG9jYWwgYmxrLCBibGVuCgoJbG9jYWwgY3QgPSB7fSAgLS0gdXNlZCB0byBjb2xsZWN0IGRlY3J5cHRlZCBibG9ja3MKCgktLSBpbml0CgoJbG9jYWwgcyA9IHN0YXRlX2luaXQoaywgaXYpCgoJLS0gYWJzb3JiIGFkCgoJaWYgYWRsZW4gPiAwIHRoZW4gYWQgPSBlOnN1YigxLCBhZGxlbikgZW5kCgoJbG9jYWwgaSA9IDEKCgl3aGlsZSBpIDw9IGFkbGVuIC0gMzEgZG8gLS1wcm9jZXNzIGZ1bGwgYmxvY2tzCgoJCW0wLCBtMSwgbTIsIG0zID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgYWQsIGkpCgoJCWkgPSBpICsgMzIKCgkJZW5jX2F1dF9zdGVwKHMsIG0wLCBtMSwgbTIsIG0zKQoKCWVuZAoKCWlmIGkgPD0gYWRsZW4gdGhlbiAtLSBwcm9jZXNzIGxhc3QsIHBhcnRpYWwgYmxvY2sgb2YgYWQKCgkJYmxrID0gYWQ6c3ViKGkpIC4uIHN0cmluZy5yZXAoJ1wwJywgMzEgKyBpIC0gYWRsZW4pCgoJCWFzc2VydCgjYmxrID09IDMyLCAjYmxrKQoKCQltMCwgbTEsIG0yLCBtMyA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGJsaykKCgkJZW5jX2F1dF9zdGVwKHMsIG0wLCBtMSwgbTIsIG0zKQoKCWVuZAoKCS0tIGRlY3J5cHQgbWVzc2FnZQoKCWkgPSBhZGxlbiArIDEKCgl3aGlsZSBpIDw9IGVsZW4gLSAzMSBkbyAtLXByb2Nlc3MgZnVsbCBibG9ja3MKCgkJYzAsIGMxLCBjMiwgYzMgPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBlLCBpKQoKCQlpID0gaSArIDMyCgoJCWJsayA9IGRlY19hdXRfc3RlcChzLCBjMCwgYzEsIGMyLCBjMykKCgkJLS0gY29sbGVjdCB0aGUgMzIgZGVjcnlwdGVkIGJ5dGVzIGluIGN0CgoJCXRhYmxlLmluc2VydChjdCwgYmxrKQoKCWVuZAoKCWlmIGkgPD0gZWxlbiB0aGVuIC0tIHByb2Nlc3MgbGFzdCwgcGFydGlhbCBibG9jayBvZiBtCgoJCWJsayA9IGU6c3ViKGksIGVsZW4pIC0tIGxhc3QgcGFydGlhbCBibG9jawoKCQlibGVuID0gI2JsawoKCQlibGsgPSBibGsgLi4gc3RyaW5nLnJlcCgnXDAnLCAzMSArIGkgLSBlbGVuKQoKCQlhc3NlcnQoI2JsayA9PSAzMiwgI2JsaykKCgkJYzAsIGMxLCBjMiwgYzMgPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBibGspCgoJCWJsayA9IGRlY19hdXRfc3RlcChzLCBjMCwgYzEsIGMyLCBjMywgYmxlbikKCgkJdGFibGUuaW5zZXJ0KGN0LCBibGspCgoJZW5kCgoJLS0gY2hlY2sgdGhlIG1hYwoKCWxvY2FsIGN0YWcwLCBjdGFnMSA9IHRhZ19jb21wdXRlKHMsIG1sZW4sIGFkbGVuKQoKCWxvY2FsIHRhZzAsIHRhZzEgPSBzdHJpbmcudW5wYWNrKCI8SThJOCIsIGUsIGVsZW4gKyAxKQoKCWlmICgoY3RhZzAgfiB0YWcwKSB8IChjdGFnMSB+IHRhZzEpKSB+PSAwIHRoZW4KCgkJcmV0dXJuIG5pbCwgImRlY3J5cHQgZXJyb3IiCgoJZW5kCgoJcmV0dXJuIHRhYmxlLmNvbmNhdChjdCkKCmVuZAoKCgoKCnJldHVybiB7CgoJLS0gdGhlIGNvcmUgcGVybXV0YXRpb24gaXMgZXhwb3NlZCB0byBmYWNpbGl0YXRlIHRlc3RzIAoKCXN0YXRlX3VwZGF0ZSA9IHN0YXRlX3VwZGF0ZSwKCgktLQoKCWVuY3J5cHQgPSBlbmNyeXB0LAoKCWRlY3J5cHQgPSBkZWNyeXB0LAoKCS0tCgoJa2V5X3NpemUgPSAzMiwKCglub25jZV9zaXplID0gMTYsCgoJdmFyaWFudCA9ICJNb3J1cy0xMjgwIiwKCn0KAAAAAGxvY2FsIEhleCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5oZXgiKQoKCgotLSB0YWdzCgpsb2NhbCBIRUFERVJfVEFHICA9IDB4MDEKCmxvY2FsIFBBWUxPQURfVEFHID0gMHgwMgoKbG9jYWwgVFJBSUxFUl9UQUcgPSAweDA0Cgpsb2NhbCBGSU5BTF9UQUcgICA9IDB4MDgKCgoKbG9jYWwgZnVuY3Rpb24gRyhzLCBhLCBiLCBjLCBkKQoKCS0tIFRoZSBxdWFydGVyLXJvdW5kLgoKCS0tIHMgaXMgdGhlIHN0YXRlOiB1NjRbMTZdLgoKCWxvY2FsIEEsIEIsIEMsIEQgPSBzW2FdLCBzW2JdLCBzW2NdLCBzW2RdCgoJLS0KCgktLSBIKCk6IHJldHVybiAoYSB+IGIpIH4gKChhICYgYikgPDwgMSkgLS0gSU5MSU5FRAoKCS0tIFJPVFI2NCgpOiByZXR1cm4gKHggPj4gbikgfCAoeCA8PCAoNjQtbikpIC0tSU5MSU5FRAoKCS0tCgoJQSA9IChBIH4gQikgfiAoKEEgJiBCKSA8PCAxKSAgLS0gSChBLCBCKTsKCglEID0gRCB+IEE7IEQgPSAoRCA+PiA4KSB8IChEIDw8ICg1NikpIC0tUk9UUjY0KEQsIDgpIC0tUjAKCglDID0gKEMgfiBEKSB+ICgoQyAmIEQpIDw8IDEpICAtLSBIKEMsIEQpOwoKCUIgPSBCIH4gQzsgQiA9IChCID4+IDE5KSB8IChCIDw8ICg0NSkpIC0tUk9UUjY0KEIsIDE5KSAtLVIxCgoJQSA9IChBIH4gQikgfiAoKEEgJiBCKSA8PCAxKSAgLS0gSChBLCBCKTsKCglEID0gRCB+IEE7IEQgPSAoRCA+PiA0MCkgfCAoRCA8PCAoMjQpKSAtLVJPVFI2NChELCA0MCkgLS1SMgoKCUMgPSAoQyB+IEQpIH4gKChDICYgRCkgPDwgMSkgIC0tIEgoQywgRCk7CgoJQiA9IEIgfiBDOyBCID0gKEIgPj4gNjMpIHwgKEIgPDwgKDEpKSAtLVJPVFI2NChCLCA2MykgLS1SMwoKCXNbYV0sIHNbYl0sIHNbY10sIHNbZF0gPSBBLCBCLCBDLCBECgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gRihzKQoKCS0tIFRoZSBmdWxsIHJvdW5kLiAgcyBpcyB0aGUgc3RhdGU6IHU2NFsxNl0KCgktLQoKCS0tIGJld2FyZSEgaW4gTHVhLCBhcnJheXMgYXJlIDEtYmFzZWQgaW5kZXhlZCwgbm90IDAtaW5kZXhlZCBhcyBpbiBDCgogICAgLS0gQ29sdW1uIHN0ZXAKCglHKHMsICAxLCAgNSwgIDksIDEzKTsKCiAgICBHKHMsICAyLCAgNiwgMTAsIDE0KTsKCiAgICBHKHMsICAzLCAgNywgMTEsIDE1KTsKCiAgICBHKHMsICA0LCAgOCwgMTIsIDE2KTsKCiAgICAtLSBEaWFnb25hbCBzdGVwCgogICAgRyhzLCAgMSwgIDYsIDExLCAxNik7CgogICAgRyhzLCAgMiwgIDcsIDEyLCAxMyk7CgogICAgRyhzLCAgMywgIDgsICA5LCAxNCk7CgogICAgRyhzLCAgNCwgIDUsIDEwLCAxNSk7CgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gcGVybXV0ZShzKQoKCS0tIHRoZSBjb3JlIHBlcm11dGF0aW9uICAoZm91ciByb3VuZHMpCgoJZm9yIF8gPSAxLCA0IGRvIEYocykgZW5kCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gcGFkKGlucykKCgktLSBwYWQgc3RyaW5nIGlucyB0byBsZW5ndGggOTYgKCJCWVRFUyhOT1JYX1IpIikKCglsb2NhbCBvdXQKCglsb2NhbCBpbnNsZW4gPSAjaW5zCgoJaWYgaW5zbGVuID09IDk1IHRoZW4gcmV0dXJuIGlucyAuLiAnXHg4MScgZW5kIC0tIGxhc3QgYnl0ZSBpcyAweDAxIHwgMHg4MAoKCS0tIGhlcmUgaW5zbGVuIGlzIDwgOTUsIHNvIG11c3QgcGFkIHdpdGggOTYtKGluc2xlbisyKSB6ZXJvcwoKCW91dCA9IGlucyAuLiAnXHgwMScgLi4gc3RyaW5nLnJlcCgnXDAnLCA5NC1pbnNsZW4pIC4uICdceDgwJwoKCWFzc2VydCgjb3V0ID09IDk2KQoKCXJldHVybiBvdXQKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBhYnNvcmJfYmxvY2socywgaW5zLCBpbmksIHRhZykKCgktLSB0aGUgaW5wdXQgc3RyaW5nIGlzIHRoZSBzdWJzdHJpbmcgb2YgJ2lucycgc3RhcnRpbmcgYXQgcG9zaXRpb24gJ2luaScKCgktLSAod2UgY2Fubm90IHVzZSBhIGNoYXIqIGFzIGluIEMhKQoKCXNbMTZdID0gc1sxNl0gfiB0YWcKCglwZXJtdXRlKHMpCgoJZm9yIGkgPSAxLCAxMiBkbwoKCQlzW2ldID0gc1tpXSB+IHN0cmluZy51bnBhY2soIjxJOCIsIGlucywgaW5pICsgKGktMSkqOCkKCgllbmQKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBhYnNvcmJfbGFzdGJsb2NrKHMsIGxhc3QsIHRhZykKCglhYnNvcmJfYmxvY2socywgcGFkKGxhc3QpLCAxLCB0YWcpCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZW5jcnlwdF9ibG9jayhzLCBvdXRfdGFibGUsIGlucywgaW5pKQoKCS0tIGVuY3J5cHQgYmxvY2sgaW4gJ2lucycgYXQgb2Zmc2V0ICdpbmknCgoJLS0gYXBwZW5kIGVuY3J5cHRlZCBjaHVua3MgYXQgdGhlIGVuZCBvZiBvdXRfdGFibGUKCglzWzE2XSA9IHNbMTZdIH4gUEFZTE9BRF9UQUcKCglwZXJtdXRlKHMpCgoJZm9yIGkgPSAxLCAxMiBkbwoKCQlzW2ldID0gc1tpXSB+IHN0cmluZy51bnBhY2soIjxJOCIsIGlucywgaW5pICsgKGktMSkqOCkKCgkJdGFibGUuaW5zZXJ0KG91dF90YWJsZSwgc3RyaW5nLnBhY2soIjxJOCIsIHNbaV0pKQoKCWVuZAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGVuY3J5cHRfbGFzdGJsb2NrKHMsIG91dF90YWJsZSwgbGFzdCkKCgktLSBlbmNyeXB0IGxhc3QgYmxvY2sKCgktLSBhcHBlbmQgZW5jcnlwdGVkIGxhc3QgYmxvY2sgYXQgdGhlIGVuZCBvZiBvdXRfdGFibGUKCglsb2NhbCB0ID0ge30gLS0gZW5jcnlwdGVkIGNodW5rcyBvZiAnbGFzdCcgd2lsbCBiZSBhcHBlbmRlZCB0byB0CgoJbG9jYWwgbGFzdGxlbiA9ICNsYXN0CgoJbGFzdCA9IHBhZChsYXN0KQoKCWVuY3J5cHRfYmxvY2socywgdCwgbGFzdCwgMSkKCglsYXN0ID0gdGFibGUuY29uY2F0KHQpCgoJbGFzdCA9IGxhc3Q6c3ViKDEsIGxhc3RsZW4pICAtLSBrZWVwIG9ubHkgdGhlIGZpcnN0IGxhc3RsZW4gYnl0ZXMKCgl0YWJsZS5pbnNlcnQob3V0X3RhYmxlLCBsYXN0KQoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGRlY3J5cHRfYmxvY2socywgb3V0X3RhYmxlLCBpbnMsIGluaSkKCgktLSBkZWNyeXB0IGJsb2NrIGluICdpbnMnIGF0IG9mZnNldCAnaW5pJwoKCS0tIGFwcGVuZCBkZWNyeXB0ZWQgY2h1bmtzIGF0IHRoZSBlbmQgb2Ygb3V0X3RhYmxlCgoJc1sxNl0gPSBzWzE2XSB+IFBBWUxPQURfVEFHCgoJcGVybXV0ZShzKQoKCWZvciBpID0gMSwgMTIgZG8KCgkJbG9jYWwgYyA9IHN0cmluZy51bnBhY2soIjxJOCIsIGlucywgaW5pICsgKGktMSkqOCkKCgkJdGFibGUuaW5zZXJ0KG91dF90YWJsZSwgc3RyaW5nLnBhY2soIjxJOCIsIHNbaV0gfiBjKSkKCgkJc1tpXSA9IGMKCgllbmQKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBkZWNyeXB0X2xhc3RibG9jayhzLCBvdXRfdGFibGUsIGxhc3QpCgoJLS0gZGVjcnlwdCBsYXN0IGJsb2NrCgoJLS0gYXBwZW5kIGRlY3J5cHRlZCBibG9jayBhdCB0aGUgZW5kIG9mIG91dF90YWJsZQoKCS0tCgoJbG9jYWwgbGFzdGxlbiA9ICNsYXN0CgoJc1sxNl0gPSBzWzE2XSB+IFBBWUxPQURfVEFHCgoJcGVybXV0ZShzKQoKCWxvY2FsIGJ5dGUsIGNoYXIgPSBzdHJpbmcuYnl0ZSwgc3RyaW5nLmNoYXIKCglsb2NhbCBsYXN0YmxvY2tfczhfdGFibGUgPSB7fSAtLSBsYXN0IGJsb2NrIGFzIGFuIGFycmF5IG9mIDgtYnl0ZSBzdHJpbmdzCgoJZm9yIGkgPSAxLCAxMiBkbwoKCQlsb2NhbCBzOCA9IHN0cmluZy5wYWNrKCI8STgiLCBzW2ldKQoKCQl0YWJsZS5pbnNlcnQobGFzdGJsb2NrX3M4X3RhYmxlLCBzOCkKCgllbmQKCglsb2NhbCBsYXN0YmxvY2sgPSB0YWJsZS5jb25jYXQobGFzdGJsb2NrX3M4X3RhYmxlKSAtLSBsYXN0YmxvY2sgYXMgYSA5Ni1ieXRlIHN0cmluZwoKCS0tIGV4cGxvZGUgbGFzdGJsb2NrIGFzIGFuIGFycmF5IG9mIGJ5dGVzCgoJbG9jYWwgbGFzdGJsb2NrX2J5dGVfdGFibGUgPSB7fQoKCWZvciBpID0gMSwgOTYgZG8KCgkJbGFzdGJsb2NrX2J5dGVfdGFibGVbaV0gPSBieXRlKGxhc3RibG9jaywgaSkKCgllbmQKCgktLSBjb3B5IGxhc3QKCglmb3IgaSA9IDEsIGxhc3RsZW4gZG8KCgkJbGFzdGJsb2NrX2J5dGVfdGFibGVbaV0gPSBieXRlKGxhc3QsIGkpCgoJZW5kCgoJLS0gcGVyZm9ybSB0aGUgJ3hvcidzCgoJbGFzdGJsb2NrX2J5dGVfdGFibGVbbGFzdGxlbisxXSA9IGxhc3RibG9ja19ieXRlX3RhYmxlW2xhc3RsZW4rMV0gfiAweDAxCgoJbGFzdGJsb2NrX2J5dGVfdGFibGVbOTZdID0gbGFzdGJsb2NrX2J5dGVfdGFibGVbOTZdIH4gMHg4MAoKCS0tIGJ1aWxkIGJhY2sgbGFzdGJsb2NrIGFzIGEgc3RyaW5nCgoJbG9jYWwgbGFzdGJsb2NrX2NoYXJfdGFibGUgPSB7fQoKCWZvciBpID0gMSwgOTYgZG8KCgkJbGFzdGJsb2NrX2NoYXJfdGFibGVbaV0gPSBjaGFyKGxhc3RibG9ja19ieXRlX3RhYmxlW2ldKQoKCWVuZAoKCWxhc3RibG9jayA9IHRhYmxlLmNvbmNhdChsYXN0YmxvY2tfY2hhcl90YWJsZSkgLS0gbGFzdGJsb2NrIGFzIGEgOTYtYnl0ZSBzdHJpbmcKCgktLQoKCWxvY2FsIHQgPSB7fQoKCWZvciBpID0gMSwgMTIgZG8KCgkJbG9jYWwgYyA9IHN0cmluZy51bnBhY2soIjxJOCIsIGxhc3RibG9jaywgMSArIChpLTEpKjgpCgoJCWxvY2FsIHggPSBzdHJpbmcucGFjaygiPEk4Iiwgc1tpXSB+IGMpCgoJCXRhYmxlLmluc2VydCh0LCB4KQoKCQlzW2ldID0gYwoKCWVuZAoKCWxhc3QgPSB0YWJsZS5jb25jYXQodCkKCglsYXN0ID0gbGFzdDpzdWIoMSwgbGFzdGxlbikgIC0tIGtlZXAgb25seSB0aGUgZmlyc3QgbGFzdGxlbiBieXRlcwoKCXRhYmxlLmluc2VydChvdXRfdGFibGUsIGxhc3QpCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gaW5pdChrLCBuKQoKCS0tIGluaXRpYWxpemUgYW5kIHJldHVybiB0aGUgbm9yeCBzdGF0ZQoKCS0tIGs6IHRoZSBrZXkgYXMgYSAzMi1ieXRlIHN0cmluZwoKCS0tIG46IHRoZSBub25jZSBhcyBhIDMyLWJ5dGUgc3RyaW5nCgoJbG9jYWwgcyA9IHt9IC0tIHRoZSBub3J4IHN0YXRlOiB1NjRbMTZdCgoJLS0gKHRoZSB0d28gZm9sbG93aW5nIEYocykgY291bGQgYmUgcmVwbGFjZWQgd2l0aCBhIGNvbnN0YW50IHRhYmxlKQoKCS0tIChvbmx5IHNbOV0uLnNbMTZdIGFyZSBuZWVkZWQpCgoJZm9yIGkgPSAxLCAxNiBkbyBzW2ldID0gaS0xIGVuZAoKCUYocykKCglGKHMpCgoJLS0gbG9hZCB0aGUgbm9uY2UKCglzWzFdLCBzWzJdLCBzWzNdLCBzWzRdID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgbikKCgktLSBsb2FkIHRoZSBrZXkKCglsb2NhbCBrMSwgazIsIGszLCBrNCA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGspCgoJc1s1XSwgc1s2XSwgc1s3XSwgc1s4XSA9ICBrMSwgazIsIGszLCBrNAoKCS0tCgoJc1sxM10gPSBzWzEzXSB+IDY0ICAtLVcKCglzWzE0XSA9IHNbMTRdIH4gNCAgIC0tTAoKCXNbMTVdID0gc1sxNV0gfiAxICAgLS1QCgoJc1sxNl0gPSBzWzE2XSB+IDI1NiAtLVQKCgktLQoKCXBlcm11dGUocykKCgktLQoKCXNbMTNdID0gc1sxM10gfiBrMQoKCXNbMTRdID0gc1sxNF0gfiBrMgoKCXNbMTVdID0gc1sxNV0gfiBrMwoKCXNbMTZdID0gc1sxNl0gfiBrNAoKCS0tCgoJcmV0dXJuIHMKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBhYnNvcmJfZGF0YShzLCBpbnMsIHRhZykKCglsb2NhbCBpbmxlbiA9ICNpbnMKCglsb2NhbCBpID0gMQoKCWlmIGlubGVuID4gMCB0aGVuCgoJCXdoaWxlIGlubGVuID49IDk2IGRvCgoJCQlhYnNvcmJfYmxvY2socywgaW5zLCBpLCB0YWcpCgoJCQlpbmxlbiA9IGlubGVuIC0gOTYKCgkJCWkgPSBpICsgOTYKCgkJZW5kCgoJCWFic29yYl9sYXN0YmxvY2socywgaW5zOnN1YihpKSwgdGFnKQoKCWVuZC0taWYKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBlbmNyeXB0X2RhdGEocywgb3V0X3RhYmxlLCBpbnMpCgoJbG9jYWwgaW5sZW4gPSAjaW5zCgoJbG9jYWwgaSA9IDEKCglpZiBpbmxlbiA+IDAgdGhlbgoKCQl3aGlsZSBpbmxlbiA+PSA5NiBkbwoKCQkJZW5jcnlwdF9ibG9jayhzLCBvdXRfdGFibGUsIGlucywgaSkKCgkJCWlubGVuID0gaW5sZW4gLSA5NgoKCQkJaSA9IGkgKyA5NgoKCQllbmQKCgkJZW5jcnlwdF9sYXN0YmxvY2socywgb3V0X3RhYmxlLCBpbnM6c3ViKGkpKQoKCWVuZAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGRlY3J5cHRfZGF0YShzLCBvdXRfdGFibGUsIGlucykKCglsb2NhbCBpbmxlbiA9ICNpbnMKCglsb2NhbCBpID0gMQoKCWlmIGlubGVuID4gMCB0aGVuCgoJCXdoaWxlIGlubGVuID49IDk2IGRvCgoJCQlkZWNyeXB0X2Jsb2NrKHMsIG91dF90YWJsZSwgaW5zLCBpKQoKCQkJaW5sZW4gPSBpbmxlbiAtIDk2CgoJCQlpID0gaSArIDk2CgoJCWVuZAoKCQlkZWNyeXB0X2xhc3RibG9jayhzLCBvdXRfdGFibGUsIGluczpzdWIoaSkpCgoJZW5kCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZmluYWxpemUocywgaykKCgktLSByZXR1cm4gdGhlIGF1dGhlbnRpY2F0aW9uIHRhZyAoMzItYnl0ZSBzdHJpbmcpCgoJLS0KCglzWzE2XSA9IHNbMTZdIH4gRklOQUxfVEFHCgoJcGVybXV0ZShzKQoKCS0tCgoJbG9jYWwgazEsIGsyLCBrMywgazQgPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBrKQoKCS0tCgoJc1sxM10gPSBzWzEzXSB+IGsxCgoJc1sxNF0gPSBzWzE0XSB+IGsyCgoJc1sxNV0gPSBzWzE1XSB+IGszCgoJc1sxNl0gPSBzWzE2XSB+IGs0CgoJLS0KCglwZXJtdXRlKHMpCgoJLS0KCglzWzEzXSA9IHNbMTNdIH4gazEKCglzWzE0XSA9IHNbMTRdIH4gazIKCglzWzE1XSA9IHNbMTVdIH4gazMKCglzWzE2XSA9IHNbMTZdIH4gazQKCgktLQoKCWxvY2FsIGF1dGh0YWcgPSBzdHJpbmcucGFjaygiPEk4SThJOEk4Iiwgc1sxM10sIHNbMTRdLCBzWzE1XSwgc1sxNl0pCgoJcmV0dXJuIGF1dGh0YWcKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiB2ZXJpZnlfdGFnKHRhZzEsIHRhZzIpCgoJcmV0dXJuIHRhZzEgPT0gdGFnMgoKZW5kCgoKCgoKLS0tIEVuY3J5cHRzIHRoZSBnaXZlbiBwbGFpbiB0ZXh0IHVzaW5nIHRoZSBOT1JYIGNpcGhlciB3aXRoIGFuIEFFQUQgY29uc3RydWN0aW9uLgoKLS0tIEBwYXJhbSBrZXkgc3RyaW5nIC0gVGhlIGtleSB1c2VkIGZvciBlbmNyeXB0aW9uLgoKLS0tIEBwYXJhbSBub25jZSBzdHJpbmcgLSBUaGUgbm9uY2UgdXNlZCBmb3IgZW5jcnlwdGlvbiAzMi1ieXRlIHN0cmluZy4KCi0tLSBAcGFyYW0gcGxhaW4gc3RyaW5nIC0gVGhlIHBsYWluIHRleHQgdG8gYmUgZW5jcnlwdGVkIDMyLWJ5dGUgc3RyaW5nLgoKLS0tIEBwYXJhbSBoZWFkZXI/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIGhlYWRlciB0byBiZSBlbmNyeXB0ZWQgMzItYnl0ZSBzdHJpbmcuIERlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZy4KCi0tLSBAcGFyYW0gdHJhaWxlcj8gc3RyaW5nIChvcHRpb25hbCkgLSBUaGUgdHJhaWxlciB0byBiZSBlbmNyeXB0ZWQgMzItYnl0ZSBzdHJpbmcuIERlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZy4KCi0tLSBAcmV0dXJucyB0YWJsZSAtIEEgdGFibGUgY29udGFpbmluZyB0aGUgZW5jcnlwdGVkIG1lc3NhZ2UgaW4gYnl0ZXMsIHN0cmluZywgYW5kIGhleCBmb3JtYXRzLgoKbG9jYWwgZnVuY3Rpb24gYWVhZF9lbmNyeXB0KGtleSwgbm9uY2UsIHBsYWluLCBoZWFkZXIsIHRyYWlsZXIpCgoJaGVhZGVyID0gaGVhZGVyIG9yICIiCgoJdHJhaWxlciA9IHRyYWlsZXIgb3IgIiIKCglsb2NhbCBvdXRfdGFibGUgPSB7fQoKCWxvY2FsIHN0YXRlID0gaW5pdChrZXksIG5vbmNlKQoKCWFic29yYl9kYXRhKHN0YXRlLCBoZWFkZXIsIEhFQURFUl9UQUcpCgoJZW5jcnlwdF9kYXRhKHN0YXRlLCBvdXRfdGFibGUsIHBsYWluKQoKCWFic29yYl9kYXRhKHN0YXRlLCB0cmFpbGVyLCBUUkFJTEVSX1RBRykKCglsb2NhbCB0YWcgPSBmaW5hbGl6ZShzdGF0ZSwga2V5KQoKCXRhYmxlLmluc2VydChvdXRfdGFibGUsIHRhZykKCglsb2NhbCBjcnlwdGVkID0gdGFibGUuY29uY2F0KG91dF90YWJsZSkKCglhc3NlcnQoI2NyeXB0ZWQgPT0gI3BsYWluICsgMzIpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fQoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRfdGFibGUKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGNyeXB0ZWQKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIEhleC5zdHJpbmdUb0hleChjcnlwdGVkKQoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYwoKZW5kCgoKCi0tLSBEZWNyeXB0cyB0aGUgZ2l2ZW4gY3J5cHRlZCB0ZXh0IHVzaW5nIHRoZSBOT1JYIGNpcGhlciB3aXRoIGFuIEFFQUQgY29uc3RydWN0aW9uLgoKLS0tIEBwYXJhbSBrZXkgc3RyaW5nIC0gVGhlIGtleSB1c2VkIGZvciBkZWNyeXB0aW9uIDMyLWJ5dGUgc3RyaW5nLgoKLS0tIEBwYXJhbSBub25jZSBzdHJpbmcgLSBUaGUgbm9uY2UgdXNlZCBmb3IgZGVjcnlwdGlvbiAzMi1ieXRlIHN0cmluZy4KCi0tLSBAcGFyYW0gY3J5cHRlZCBzdHJpbmcgLSBUaGUgY3J5cHRlZCB0ZXh0IHRvIGJlIGRlY3J5cHRlZCAzMi1ieXRlIHN0cmluZy4KCi0tLSBAcGFyYW0gaGVhZGVyPyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSBoZWFkZXIgdG8gYmUgZGVjcnlwdGVkIDMyLWJ5dGUgc3RyaW5nLiBEZWZhdWx0cyB0byBhbiBlbXB0eSBzdHJpbmcuCgotLS0gQHBhcmFtIHRyYWlsZXI/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIHRyYWlsZXIgdG8gYmUgZGVjcnlwdGVkIDMyLWJ5dGUgc3RyaW5nLiBEZWZhdWx0cyB0byBhbiBlbXB0eSBzdHJpbmcuCgotLS0gQHJldHVybnMgc3RyaW5nfG5pbCAtIFRoZSBkZWNyeXB0ZWQgcGxhaW4gdGV4dCwgb3IgKG5pbCwgZXJyb3IgbWVzc2FnZSkgaWYgdGhlIGF1dGhlbnRpY2F0ZWQgZGVjcnlwdGlvbiBmYWlscy4KCmxvY2FsIGZ1bmN0aW9uIGFlYWRfZGVjcnlwdChrZXksIG5vbmNlLCBjcnlwdGVkLCBoZWFkZXIsIHRyYWlsZXIpCgoJaGVhZGVyID0gaGVhZGVyIG9yICIiCgoJdHJhaWxlciA9IHRyYWlsZXIgb3IgIiIKCglhc3NlcnQoI2NyeXB0ZWQgPj0gMzIpCgoJbG9jYWwgb3V0X3RhYmxlID0ge30KCglsb2NhbCBzdGF0ZSA9IGluaXQoa2V5LCBub25jZSkKCglhYnNvcmJfZGF0YShzdGF0ZSwgaGVhZGVyLCBIRUFERVJfVEFHKQoKCWxvY2FsIGN0YWcgPSBjcnlwdGVkOnN1YigjY3J5cHRlZCAtIDMyICsgMSkKCglsb2NhbCBjID0gY3J5cHRlZDpzdWIoMSwgI2NyeXB0ZWQgLSAzMikKCglkZWNyeXB0X2RhdGEoc3RhdGUsIG91dF90YWJsZSwgYykKCglhYnNvcmJfZGF0YShzdGF0ZSwgdHJhaWxlciwgVFJBSUxFUl9UQUcpCgoJbG9jYWwgdGFnID0gZmluYWxpemUoc3RhdGUsIGtleSkKCglpZiBub3QgdmVyaWZ5X3RhZyh0YWcsIGN0YWcpIHRoZW4gcmV0dXJuIG5pbCwgImF1dGggZmFpbHVyZSIgZW5kCgoJbG9jYWwgcGxhaW4gPSB0YWJsZS5jb25jYXQob3V0X3RhYmxlKQoKCXJldHVybiBwbGFpbgoKZW5kCgoKCnJldHVybiB7CgoJZW5jcnlwdCA9IGFlYWRfZW5jcnlwdCwKCglkZWNyeXB0ID0gYWVhZF9kZWNyeXB0LAoKCS0tCgoJa2V5X3NpemUgPSAzMiwKCglub25jZV9zaXplID0gMzIsCgoJdmFyaWFudCA9ICJOT1JYIDY0LTQtMSIsCgp9CgBCoIoQC4ObA2xvY2FsIGlzc2FjID0gcmVxdWlyZSgiLmNyeXB0by5jaXBoZXIuaXNzYWMiKQoKbG9jYWwgbW9ydXMgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5tb3J1cyIpCgpsb2NhbCBhZXMgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5hZXMiKQoKbG9jYWwgbm9yeCA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLm5vcngiKQoKCgpsb2NhbCBjaXBoZXIgPSB7CgogICAgX3ZlcnNpb24gPSAiMC4wLjEiLAoKICAgIGlzc2FjID0gaXNzYWMsCgogICAgbW9ydXMgPSBtb3J1cywKCiAgICBhZXMgPSBhZXMsCgogICAgbm9yeCA9IG5vcngKCn07CgoKCnJldHVybiBjaXBoZXIAbG9jYWwgSGV4ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmhleCIpOwoKCgotLSBFeHRlcm5hbCBSZXN1bHRzCgpsb2NhbCByYW5kUnNsID0ge307Cgpsb2NhbCByYW5kQ250ID0gMDsKCgoKLS0gSW50ZXJuYWwgU3RhdGUKCmxvY2FsIG1tID0ge307Cgpsb2NhbCBhYSxiYixjYyA9IDAsMCwwOwoKCgotLSBDYXAgdG8gbWFpbnRhaW4gMzIgYml0IG1hdGhzCgpsb2NhbCBjYXAgPSAweDEwMDAwMDAwMDsKCgoKLS0gQ2lwaGVyTW9kZQoKbG9jYWwgRU5DUllQVCA9IDE7Cgpsb2NhbCBERUNSWVBUID0gMjsKCgoKbG9jYWwgZnVuY3Rpb24gaXNhYWMoKQoKICBjYyA9ICggY2MgKyAxICApICUgY2FwOyAtLSBjYyBqdXN0IGdldHMgaW5jcmVtZW50ZWQgb25jZSBwZXIgMjU2IHJlc3VsdHMKCiAgYmIgPSAoIGJiICsgY2MgKSAlIGNhcDsgLS0gdGhlbiBjb21iaW5lZCB3aXRoIGJiCgoKCiAgZm9yIGkgPSAwLDI1NSBkbwoKICAgIGxvY2FsICAgeCAgICA9IG1tW2ldOwoKICAgIGxvY2FsICAgeTsKCiAgICBsb2NhbCAgIGltb2QgPSBpICUgNDsKCiAgICBpZiAgICAgIGltb2QgPT0gMCB0aGVuIGFhID0gYWEgfiAoYWEgPDwgMTMpOwoKICAgIGVsc2VpZiAgaW1vZCA9PSAxIHRoZW4gYWEgPSBhYSB+IChhYSA+PiA2KTsKCiAgICBlbHNlaWYgIGltb2QgPT0gMiB0aGVuIGFhID0gYWEgfiAoYWEgPDwgMik7CgogICAgZWxzZWlmICBpbW9kID09IDMgdGhlbiBhYSA9IGFhIH4gKGFhID4+IDE2KTsKCiAgICBlbmQKCiAgICBhYSAgICAgICAgID0gKCBtbVsoaSsxMjgpJTI1Nl0gKyBhYSApICUgY2FwOwoKICAgIHkgICAgICAgICAgPSAoIG1tWyh4Pj4yKSAlIDI1Nl0gKyBhYSArIGJiICkgJSBjYXA7CgogICAgbW1baV0gICAgICA9IHk7CgogICAgYmIgICAgICAgICA9ICggbW1bKHk+PjEwKSUyNTZdICsgeCApICUgY2FwOwoKICAgIHJhbmRSc2xbaV0gPSBiYjsKCiAgZW5kCgoKCiAgcmFuZENudCA9IDA7IC0tIFByZXBhcmUgdG8gdXNlIHRoZSBmaXJzdCBzZXQgb2YgcmVzdWx0cy4KCgoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIG1peChhKQoKICBhWzBdID0gKCBhWzBdIH4gKCBhWzFdIDw8IDExICkgKSAlIGNhcDsgIGFbM10gPSAoIGFbM10gKyBhWzBdICkgJSBjYXA7ICBhWzFdID0gKCBhWzFdICsgYVsyXSApICUgY2FwOwoKICBhWzFdID0gKCBhWzFdIH4gKCBhWzJdID4+ICAyICkgKSAlIGNhcDsgIGFbNF0gPSAoIGFbNF0gKyBhWzFdICkgJSBjYXA7ICBhWzJdID0gKCBhWzJdICsgYVszXSApICUgY2FwOwoKICBhWzJdID0gKCBhWzJdIH4gKCBhWzNdIDw8ICA4ICkgKSAlIGNhcDsgIGFbNV0gPSAoIGFbNV0gKyBhWzJdICkgJSBjYXA7ICBhWzNdID0gKCBhWzNdICsgYVs0XSApICUgY2FwOwoKICBhWzNdID0gKCBhWzNdIH4gKCBhWzRdID4+IDE2ICkgKSAlIGNhcDsgIGFbNl0gPSAoIGFbNl0gKyBhWzNdICkgJSBjYXA7ICBhWzRdID0gKCBhWzRdICsgYVs1XSApICUgY2FwOwoKICBhWzRdID0gKCBhWzRdIH4gKCBhWzVdIDw8IDEwICkgKSAlIGNhcDsgIGFbN10gPSAoIGFbN10gKyBhWzRdICkgJSBjYXA7ICBhWzVdID0gKCBhWzVdICsgYVs2XSApICUgY2FwOwoKICBhWzVdID0gKCBhWzVdIH4gKCBhWzZdID4+ICA0ICkgKSAlIGNhcDsgIGFbMF0gPSAoIGFbMF0gKyBhWzVdICkgJSBjYXA7ICBhWzZdID0gKCBhWzZdICsgYVs3XSApICUgY2FwOwoKICBhWzZdID0gKCBhWzZdIH4gKCBhWzddIDw8ICA4ICkgKSAlIGNhcDsgIGFbMV0gPSAoIGFbMV0gKyBhWzZdICkgJSBjYXA7ICBhWzddID0gKCBhWzddICsgYVswXSApICUgY2FwOwoKICBhWzddID0gKCBhWzddIH4gKCBhWzBdID4+ICA5ICkgKSAlIGNhcDsgIGFbMl0gPSAoIGFbMl0gKyBhWzddICkgJSBjYXA7ICBhWzBdID0gKCBhWzBdICsgYVsxXSApICUgY2FwOwoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIHJhbmRJbml0KGZsYWcpCgoKCiAgLS0gVGhlIGdvbGRlbiByYXRpbyBpbiAzMiBiaXQKCiAgLS0gbWF0aC5mbG9vcigoKChtYXRoLnNxcnQoNSkrMSkvMiklMSkqMl4zMikgPT0gMjY1NDQzNTc2OSA9PSAweDllMzc3OWI5CgogIGxvY2FsIGEgPSB7IFswXSA9IDB4OWUzNzc5YjksIDB4OWUzNzc5YjksIDB4OWUzNzc5YjksIDB4OWUzNzc5YjksIDB4OWUzNzc5YjksIDB4OWUzNzc5YjksIDB4OWUzNzc5YjksIDB4OWUzNzc5YjksIH07CgoKCiAgYWEsYmIsY2MgPSAwLDAsMDsKCgoKICBmb3IgaSA9IDEsNCBkbyAgbWl4KGEpICBlbmQgLS0gU2NyYW1ibGUgaXQuCgoKCiAgZm9yIGkgPSAwLDI1NSw4IGRvIC0tIEZpbGwgaW4gbW1bXSB3aXRoIG1lc3N5IHN0dWZmLgoKICAgIGlmIGZsYWcgdGhlbiAtLSBVc2UgYWxsIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc2VlZC4KCiAgICAgIGZvciBqID0gMCw3IGRvCgogICAgICAgIGFbal0gPSAoIGFbal0gKyByYW5kUnNsW2kral0gKSAlIGNhcDsKCiAgICAgIGVuZAoKICAgIGVuZAoKICAgIG1peChhKTsKCiAgICBmb3IgaiA9IDAsNyBkbwoKICAgICAgbW1baStqXSA9IGFbal07CgogICAgZW5kCgogIGVuZAoKCgogIGlmIGZsYWcgdGhlbgoKICAgIC0tIERvIGEgc2Vjb25kIHBhc3MgdG8gbWFrZSBhbGwgb2YgdGhlIHNlZWQgYWZmZWN0IGFsbCBvZiBtbS4KCiAgICBmb3IgaSA9IDAsMjU1LDggZG8KCiAgICAgIGZvciBqID0gMCw3IGRvCgogICAgICAgIGFbal0gPSAoIGFbal0gKyBtbVtpK2pdICkgJSBjYXA7CgogICAgICBlbmQKCiAgICAgIG1peChhKTsKCiAgICAgIGZvciBqID0gMCw3IGRvCgogICAgICAgIG1tW2kral0gPSBhW2pdOwoKICAgICAgZW5kCgogICAgZW5kCgogIGVuZAoKCgogIGlzYWFjKCk7IC0tIEZpbGwgaW4gdGhlIGZpcnN0IHNldCBvZiByZXN1bHRzLgoKICByYW5kQ250ID0gMDsgLS0gUHJlcGFyZSB0byB1c2UgdGhlIGZpcnN0IHNldCBvZiByZXN1bHRzLgoKCgplbmQKCgoKLS0tIFNlZWRzIHRoZSBJU0FBQyByYW5kb20gbnVtYmVyIGdlbmVyYXRvciB3aXRoIHRoZSBnaXZlbiBzZWVkLgoKLS0tIEBwYXJhbSBzZWVkIHN0cmluZyAtIFRoZSBzZWVkIHRvIHVzZSBmb3IgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLgoKLS0tIEBwYXJhbSBmbGFnPyBib29sZWFuIC0gV2hldGhlciB0byB1c2UgYWxsIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc2VlZC4gRGVmYXVsdHMgdG8gdHJ1ZS4KCmxvY2FsIGZ1bmN0aW9uIHNlZWRJc2FhYyhzZWVkLCBmbGFnKQoKICBsb2NhbCBzZWVkTGVuZ3RoID0gI3NlZWQ7CgogIGZvciBpID0gMCwyNTUgZG8gbW1baV0gPSAwOyBlbmQKCiAgZm9yIGkgPSAwLDI1NSBkbyByYW5kUnNsW2ldID0gc2VlZDpieXRlKGkrMSxpKzEpIG9yIDA7IGVuZAoKICByYW5kSW5pdChmbGFnKTsKCmVuZAoKCgotLS0gUmV0cmlldmVzIGEgcmFuZG9tIG51bWJlciBmcm9tIHRoZSBJU0FBQyByYW5kb20gbnVtYmVyIGdlbmVyYXRvcgoKLS0tIEByZXR1cm4gbnVtYmVyOiBUaGUgcmFuZG9tIG51bWJlcgoKbG9jYWwgZnVuY3Rpb24gZ2V0UmFuZG9tKCkKCiAgICBsb2NhbCByZXN1bHQgPSByYW5kUnNsW3JhbmRDbnRdOwoKICAgIHJhbmRDbnQgPSByYW5kQ250ICsgMTsKCiAgICBpZiByYW5kQ250ID4gMjU1IHRoZW4KCiAgICAgICAgaXNhYWMoKTsKCiAgICAgICAgcmFuZENudCA9IDA7CgogICAgZW5kCgogICAgcmV0dXJuIHJlc3VsdDsKCmVuZAoKCgotLS0gR2V0IGEgcmFuZG9tIDMyLWJpdCB2YWx1ZSB3aXRoaW4gdGhlIHNwZWNpZmllZCByYW5nZS4KCi0tLSBAcGFyYW0gbWluPyBudW1iZXIgKG9wdGlvbmFsKSAtIFRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSByYW5nZS4gRGVmYXVsdHMgdG8gMC4KCi0tLSBAcGFyYW0gbWF4PyBudW1iZXIgKG9wdGlvbmFsKSAtIFRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSByYW5nZS4gRGVmYXVsdHMgdG8gMl4zMS0xLgoKLS0tIEBwYXJhbSBzZWVkPyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSBzZWVkIHRvIHVzZSBmb3IgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLgoKLS0tIEByZXR1cm4gbnVtYmVyOiBUaGUgcmFuZG9tIDMyLWJpdCB2YWx1ZSB3aXRoaW4gdGhlIHNwZWNpZmllZCByYW5nZS4KCmxvY2FsIGZ1bmN0aW9uIHJhbmRvbShtaW4sIG1heCwgc2VlZCkKCiAgICBsb2NhbCBtaW4gPSBtaW4gb3IgMDsKCiAgICBsb2NhbCBtYXggPSBtYXggb3IgMl4zMS0xOwoKICAgIGlmIHNlZWQgdGhlbgoKICAgICAgc2VlZElzYWFjKHNlZWQsIHRydWUpOwoKICAgIGVsc2UKCiAgICAgIHNlZWRJc2FhYyh0b3N0cmluZyhtYXRoLnJhbmRvbSgyXjMxLTEpKSwgZmFsc2UpOwoKICAgIGVuZAoKICAgIHJldHVybiAoZ2V0UmFuZG9tKCkgJSAobWF4IC0gbWluICsgMSkpICsgbWluOwoKZW5kCgoKCgoKLS0tIEdldCBhIHJhbmRvbSBjaGFyYWN0ZXIgaW4gcHJpbnRhYmxlIEFTQ0lJIHJhbmdlLgoKLS0tIEByZXR1cm4gbnVtYmVyOiBUaGUgcmFuZG9tIGNoYXJhY3RlciBbMzIsIDEyNl0uCgpsb2NhbCBmdW5jdGlvbiBnZXRSYW5kb21DaGFyKCkKCiAgICByZXR1cm4gZ2V0UmFuZG9tKCkgJSA5NSArIDMyOwoKZW5kCgoKCi0tIENhZXNhci1zaGlmdCBhIGNoYXJhY3RlciA8c2hpZnQ+IHBsYWNlczogR2VuZXJhbGl6ZWQgVmlnZW5lcmUKCmxvY2FsIGZ1bmN0aW9uIGNhZXNhcihtLCBjaCwgc2hpZnQsIG1vZHVsbywgc3RhcnQpCgogIGxvY2FsIG4KCiAgbG9jYWwgc2kgPSAxCgogIGlmIG0gPT0gREVDUllQVCB0aGVuIHNoaWZ0ID0gc2hpZnQqLTEgOyBlbmQKCiAgbiA9IChjaCAtIHN0YXJ0KSArIHNoaWZ0OwoKICBpZiBuIDwgMCB0aGVuIHNpLG4gPSAtMSxuKi0xIDsgZW5kCgogIG4gPSAoIG4gJSBtb2R1bG8gKSAqIHNpOwoKICBpZiBuIDwgMCB0aGVuIG4gPSBuICsgbW9kdWxvIDsgZW5kCgogIHJldHVybiBzdGFydCArIG47CgplbmQKCgoKLS0tIEVuY3J5cHRzIGEgbWVzc2FnZSB1c2luZyB0aGUgSVNTQUMgY2lwaGVyIGFsZ29yaXRobS4KCi0tLSBAcGFyYW0gbXNnIHN0cmluZyAtIFRoZSBtZXNzYWdlIHRvIGJlIGVuY3J5cHRlZC4KCi0tLSBAcGFyYW0ga2V5IHN0cmluZyAtIFRoZSBrZXkgdXNlZCBmb3IgZW5jcnlwdGlvbi4KCi0tLSBAcmV0dXJucyB0YWJsZSAtIEEgdGFibGUgY29udGFpbmluZyB0aGUgZW5jcnlwdGVkIG1lc3NhZ2UgaW4gYnl0ZXMsIHN0cmluZywgYW5kIGhleCBmb3JtYXRzLgoKbG9jYWwgZnVuY3Rpb24gZW5jcnlwdChtc2csIGtleSkKCiAgICBzZWVkSXNhYWMoa2V5LCB0cnVlKTsKCiAgICBsb2NhbCBtc2dMZW5ndGggPSAjbXNnOwoKICAgIGxvY2FsIGRlc3RpbmF0aW9uID0ge307CgogICAgCgogICAgZm9yIGkgPSAxLCBtc2dMZW5ndGggZG8gCgogICAgICAgIGRlc3RpbmF0aW9uW2ldID0gc3RyaW5nLmNoYXIoY2Flc2FyKDEsIG1zZzpieXRlKGksIGkpLCBnZXRSYW5kb21DaGFyKCksIDk1LCAzMikpOwoKICAgIGVuZAoKICAgIAoKICAgIGxvY2FsIGVuY3J5cHRlZCA9IGRlc3RpbmF0aW9uCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fQoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gZW5jcnlwdGVkCgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiB0YWJsZS5jb25jYXQoZW5jcnlwdGVkKQoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gSGV4LnN0cmluZ1RvSGV4KHRhYmxlLmNvbmNhdChlbmNyeXB0ZWQpKQoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYwoKZW5kCgoKCi0tLSBEZWNyeXB0cyBhbiBlbmNyeXB0ZWQgbWVzc2FnZSB1c2luZyB0aGUgSVNTQUMgY2lwaGVyIGFsZ29yaXRobS4KCi0tLSBAcGFyYW0gZW5jcnlwdGVkIHN0cmluZyAtIFRoZSBlbmNyeXB0ZWQgbWVzc2FnZSB0byBiZSBkZWNyeXB0ZWQuCgotLS0gQHBhcmFtIGtleSBzdHJpbmcgLSBUaGUga2V5IHVzZWQgZm9yIGVuY3J5cHRpb24uCgotLS0gQHJldHVybnMgc3RyaW5nIC0gVGhlIGRlY3J5cHRlZCBtZXNzYWdlLgoKbG9jYWwgZnVuY3Rpb24gZGVjcnlwdChlbmNyeXB0ZWQsIGtleSkKCiAgICBzZWVkSXNhYWMoa2V5LCB0cnVlKTsKCiAgICBsb2NhbCBtc2dMZW5ndGggPSAjZW5jcnlwdGVkOwoKICAgIGxvY2FsIGRlc3RpbmF0aW9uID0ge307CgogICAgCgogICAgZm9yIGkgPSAxLCBtc2dMZW5ndGggZG8gCgogICAgICAgIGRlc3RpbmF0aW9uW2ldID0gc3RyaW5nLmNoYXIoY2Flc2FyKDIsIGVuY3J5cHRlZDpieXRlKGksIGkpLCBnZXRSYW5kb21DaGFyKCksIDk1LCAzMikpOwoKICAgIGVuZAoKICAgIAoKICAgIHJldHVybiB0YWJsZS5jb25jYXQoZGVzdGluYXRpb24pOwoKZW5kCgoKCnJldHVybiB7CgogICAgc2VlZElzYWFjID0gc2VlZElzYWFjLAoKICAgIGdldFJhbmRvbUNoYXIgPSBnZXRSYW5kb21DaGFyLAoKICAgIHJhbmRvbSA9IHJhbmRvbSwKCiAgICBnZXRSYW5kb20gPSBnZXRSYW5kb20sCgogICAgZW5jcnlwdCA9IGVuY3J5cHQsCgogICAgZGVjcnlwdCA9IGRlY3J5cHQKCn0AAAAAbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCmxvY2FsIEJpdCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5iaXQiKTsKCgoKbG9jYWwgWE9SID0gQml0LmJ4b3I7CgoKCmxvY2FsIFNCT1ggPSB7CgogWzBdID0gMHg2MywgMHg3QywgMHg3NywgMHg3QiwgMHhGMiwgMHg2QiwgMHg2RiwgMHhDNSwgMHgzMCwgMHgwMSwgMHg2NywgMHgyQiwgMHhGRSwgMHhENywgMHhBQiwgMHg3NiwKCiAweENBLCAweDgyLCAweEM5LCAweDdELCAweEZBLCAweDU5LCAweDQ3LCAweEYwLCAweEFELCAweEQ0LCAweEEyLCAweEFGLCAweDlDLCAweEE0LCAweDcyLCAweEMwLAoKIDB4QjcsIDB4RkQsIDB4OTMsIDB4MjYsIDB4MzYsIDB4M0YsIDB4RjcsIDB4Q0MsIDB4MzQsIDB4QTUsIDB4RTUsIDB4RjEsIDB4NzEsIDB4RDgsIDB4MzEsIDB4MTUsCgogMHgwNCwgMHhDNywgMHgyMywgMHhDMywgMHgxOCwgMHg5NiwgMHgwNSwgMHg5QSwgMHgwNywgMHgxMiwgMHg4MCwgMHhFMiwgMHhFQiwgMHgyNywgMHhCMiwgMHg3NSwKCiAweDA5LCAweDgzLCAweDJDLCAweDFBLCAweDFCLCAweDZFLCAweDVBLCAweEEwLCAweDUyLCAweDNCLCAweEQ2LCAweEIzLCAweDI5LCAweEUzLCAweDJGLCAweDg0LAoKIDB4NTMsIDB4RDEsIDB4MDAsIDB4RUQsIDB4MjAsIDB4RkMsIDB4QjEsIDB4NUIsIDB4NkEsIDB4Q0IsIDB4QkUsIDB4MzksIDB4NEEsIDB4NEMsIDB4NTgsIDB4Q0YsCgogMHhEMCwgMHhFRiwgMHhBQSwgMHhGQiwgMHg0MywgMHg0RCwgMHgzMywgMHg4NSwgMHg0NSwgMHhGOSwgMHgwMiwgMHg3RiwgMHg1MCwgMHgzQywgMHg5RiwgMHhBOCwKCiAweDUxLCAweEEzLCAweDQwLCAweDhGLCAweDkyLCAweDlELCAweDM4LCAweEY1LCAweEJDLCAweEI2LCAweERBLCAweDIxLCAweDEwLCAweEZGLCAweEYzLCAweEQyLAoKIDB4Q0QsIDB4MEMsIDB4MTMsIDB4RUMsIDB4NUYsIDB4OTcsIDB4NDQsIDB4MTcsIDB4QzQsIDB4QTcsIDB4N0UsIDB4M0QsIDB4NjQsIDB4NUQsIDB4MTksIDB4NzMsCgogMHg2MCwgMHg4MSwgMHg0RiwgMHhEQywgMHgyMiwgMHgyQSwgMHg5MCwgMHg4OCwgMHg0NiwgMHhFRSwgMHhCOCwgMHgxNCwgMHhERSwgMHg1RSwgMHgwQiwgMHhEQiwKCiAweEUwLCAweDMyLCAweDNBLCAweDBBLCAweDQ5LCAweDA2LCAweDI0LCAweDVDLCAweEMyLCAweEQzLCAweEFDLCAweDYyLCAweDkxLCAweDk1LCAweEU0LCAweDc5LAoKIDB4RTcsIDB4QzgsIDB4MzcsIDB4NkQsIDB4OEQsIDB4RDUsIDB4NEUsIDB4QTksIDB4NkMsIDB4NTYsIDB4RjQsIDB4RUEsIDB4NjUsIDB4N0EsIDB4QUUsIDB4MDgsCgogMHhCQSwgMHg3OCwgMHgyNSwgMHgyRSwgMHgxQywgMHhBNiwgMHhCNCwgMHhDNiwgMHhFOCwgMHhERCwgMHg3NCwgMHgxRiwgMHg0QiwgMHhCRCwgMHg4QiwgMHg4QSwKCiAweDcwLCAweDNFLCAweEI1LCAweDY2LCAweDQ4LCAweDAzLCAweEY2LCAweDBFLCAweDYxLCAweDM1LCAweDU3LCAweEI5LCAweDg2LCAweEMxLCAweDFELCAweDlFLAoKIDB4RTEsIDB4RjgsIDB4OTgsIDB4MTEsIDB4NjksIDB4RDksIDB4OEUsIDB4OTQsIDB4OUIsIDB4MUUsIDB4ODcsIDB4RTksIDB4Q0UsIDB4NTUsIDB4MjgsIDB4REYsCgogMHg4QywgMHhBMSwgMHg4OSwgMHgwRCwgMHhCRiwgMHhFNiwgMHg0MiwgMHg2OCwgMHg0MSwgMHg5OSwgMHgyRCwgMHgwRiwgMHhCMCwgMHg1NCwgMHhCQiwgMHgxNn07CgoKCmxvY2FsIElTQk9YID0gewoKIFswXSA9IDB4NTIsIDB4MDksIDB4NkEsIDB4RDUsIDB4MzAsIDB4MzYsIDB4QTUsIDB4MzgsIDB4QkYsIDB4NDAsIDB4QTMsIDB4OUUsIDB4ODEsIDB4RjMsIDB4RDcsIDB4RkIsCgogMHg3QywgMHhFMywgMHgzOSwgMHg4MiwgMHg5QiwgMHgyRiwgMHhGRiwgMHg4NywgMHgzNCwgMHg4RSwgMHg0MywgMHg0NCwgMHhDNCwgMHhERSwgMHhFOSwgMHhDQiwKCiAweDU0LCAweDdCLCAweDk0LCAweDMyLCAweEE2LCAweEMyLCAweDIzLCAweDNELCAweEVFLCAweDRDLCAweDk1LCAweDBCLCAweDQyLCAweEZBLCAweEMzLCAweDRFLAoKIDB4MDgsIDB4MkUsIDB4QTEsIDB4NjYsIDB4MjgsIDB4RDksIDB4MjQsIDB4QjIsIDB4NzYsIDB4NUIsIDB4QTIsIDB4NDksIDB4NkQsIDB4OEIsIDB4RDEsIDB4MjUsCgogMHg3MiwgMHhGOCwgMHhGNiwgMHg2NCwgMHg4NiwgMHg2OCwgMHg5OCwgMHgxNiwgMHhENCwgMHhBNCwgMHg1QywgMHhDQywgMHg1RCwgMHg2NSwgMHhCNiwgMHg5MiwKCiAweDZDLCAweDcwLCAweDQ4LCAweDUwLCAweEZELCAweEVELCAweEI5LCAweERBLCAweDVFLCAweDE1LCAweDQ2LCAweDU3LCAweEE3LCAweDhELCAweDlELCAweDg0LAoKIDB4OTAsIDB4RDgsIDB4QUIsIDB4MDAsIDB4OEMsIDB4QkMsIDB4RDMsIDB4MEEsIDB4RjcsIDB4RTQsIDB4NTgsIDB4MDUsIDB4QjgsIDB4QjMsIDB4NDUsIDB4MDYsCgogMHhEMCwgMHgyQywgMHgxRSwgMHg4RiwgMHhDQSwgMHgzRiwgMHgwRiwgMHgwMiwgMHhDMSwgMHhBRiwgMHhCRCwgMHgwMywgMHgwMSwgMHgxMywgMHg4QSwgMHg2QiwKCiAweDNBLCAweDkxLCAweDExLCAweDQxLCAweDRGLCAweDY3LCAweERDLCAweEVBLCAweDk3LCAweEYyLCAweENGLCAweENFLCAweEYwLCAweEI0LCAweEU2LCAweDczLAoKIDB4OTYsIDB4QUMsIDB4NzQsIDB4MjIsIDB4RTcsIDB4QUQsIDB4MzUsIDB4ODUsIDB4RTIsIDB4RjksIDB4MzcsIDB4RTgsIDB4MUMsIDB4NzUsIDB4REYsIDB4NkUsCgogMHg0NywgMHhGMSwgMHgxQSwgMHg3MSwgMHgxRCwgMHgyOSwgMHhDNSwgMHg4OSwgMHg2RiwgMHhCNywgMHg2MiwgMHgwRSwgMHhBQSwgMHgxOCwgMHhCRSwgMHgxQiwKCiAweEZDLCAweDU2LCAweDNFLCAweDRCLCAweEM2LCAweEQyLCAweDc5LCAweDIwLCAweDlBLCAweERCLCAweEMwLCAweEZFLCAweDc4LCAweENELCAweDVBLCAweEY0LAoKIDB4MUYsIDB4REQsIDB4QTgsIDB4MzMsIDB4ODgsIDB4MDcsIDB4QzcsIDB4MzEsIDB4QjEsIDB4MTIsIDB4MTAsIDB4NTksIDB4MjcsIDB4ODAsIDB4RUMsIDB4NUYsCgogMHg2MCwgMHg1MSwgMHg3RiwgMHhBOSwgMHgxOSwgMHhCNSwgMHg0QSwgMHgwRCwgMHgyRCwgMHhFNSwgMHg3QSwgMHg5RiwgMHg5MywgMHhDOSwgMHg5QywgMHhFRiwKCiAweEEwLCAweEUwLCAweDNCLCAweDRELCAweEFFLCAweDJBLCAweEY1LCAweEIwLCAweEM4LCAweEVCLCAweEJCLCAweDNDLCAweDgzLCAweDUzLCAweDk5LCAweDYxLAoKIDB4MTcsIDB4MkIsIDB4MDQsIDB4N0UsIDB4QkEsIDB4NzcsIDB4RDYsIDB4MjYsIDB4RTEsIDB4NjksIDB4MTQsIDB4NjMsIDB4NTUsIDB4MjEsIDB4MEMsIDB4N0R9OwoKCgpsb2NhbCBST1dfU0hJRlQgPSAgeyAgMSwgIDYsIDExLCAxNiwgIDUsIDEwLCAxNSwgIDQsICA5LCAxNCwgIDMsICA4LCAxMywgIDIsICA3LCAxMiwgfTsKCmxvY2FsIElST1dfU0hJRlQgPSB7ICAxLCAxNCwgMTEsICA4LCAgNSwgIDIsIDE1LCAxMiwgIDksICA2LCAgMywgMTYsIDEzLCAxMCwgIDcsICA0LCB9OwoKCgpsb2NhbCBFVEFCTEUgPSB7CgogWzBdID0gMHgwMSwgMHgwMywgMHgwNSwgMHgwRiwgMHgxMSwgMHgzMywgMHg1NSwgMHhGRiwgMHgxQSwgMHgyRSwgMHg3MiwgMHg5NiwgMHhBMSwgMHhGOCwgMHgxMywgMHgzNSwKCiAweDVGLCAweEUxLCAweDM4LCAweDQ4LCAweEQ4LCAweDczLCAweDk1LCAweEE0LCAweEY3LCAweDAyLCAweDA2LCAweDBBLCAweDFFLCAweDIyLCAweDY2LCAweEFBLAoKIDB4RTUsIDB4MzQsIDB4NUMsIDB4RTQsIDB4MzcsIDB4NTksIDB4RUIsIDB4MjYsIDB4NkEsIDB4QkUsIDB4RDksIDB4NzAsIDB4OTAsIDB4QUIsIDB4RTYsIDB4MzEsCgogMHg1MywgMHhGNSwgMHgwNCwgMHgwQywgMHgxNCwgMHgzQywgMHg0NCwgMHhDQywgMHg0RiwgMHhEMSwgMHg2OCwgMHhCOCwgMHhEMywgMHg2RSwgMHhCMiwgMHhDRCwKCiAweDRDLCAweEQ0LCAweDY3LCAweEE5LCAweEUwLCAweDNCLCAweDRELCAweEQ3LCAweDYyLCAweEE2LCAweEYxLCAweDA4LCAweDE4LCAweDI4LCAweDc4LCAweDg4LAoKIDB4ODMsIDB4OUUsIDB4QjksIDB4RDAsIDB4NkIsIDB4QkQsIDB4REMsIDB4N0YsIDB4ODEsIDB4OTgsIDB4QjMsIDB4Q0UsIDB4NDksIDB4REIsIDB4NzYsIDB4OUEsCgogMHhCNSwgMHhDNCwgMHg1NywgMHhGOSwgMHgxMCwgMHgzMCwgMHg1MCwgMHhGMCwgMHgwQiwgMHgxRCwgMHgyNywgMHg2OSwgMHhCQiwgMHhENiwgMHg2MSwgMHhBMywKCiAweEZFLCAweDE5LCAweDJCLCAweDdELCAweDg3LCAweDkyLCAweEFELCAweEVDLCAweDJGLCAweDcxLCAweDkzLCAweEFFLCAweEU5LCAweDIwLCAweDYwLCAweEEwLAoKIDB4RkIsIDB4MTYsIDB4M0EsIDB4NEUsIDB4RDIsIDB4NkQsIDB4QjcsIDB4QzIsIDB4NUQsIDB4RTcsIDB4MzIsIDB4NTYsIDB4RkEsIDB4MTUsIDB4M0YsIDB4NDEsCgogMHhDMywgMHg1RSwgMHhFMiwgMHgzRCwgMHg0NywgMHhDOSwgMHg0MCwgMHhDMCwgMHg1QiwgMHhFRCwgMHgyQywgMHg3NCwgMHg5QywgMHhCRiwgMHhEQSwgMHg3NSwKCiAweDlGLCAweEJBLCAweEQ1LCAweDY0LCAweEFDLCAweEVGLCAweDJBLCAweDdFLCAweDgyLCAweDlELCAweEJDLCAweERGLCAweDdBLCAweDhFLCAweDg5LCAweDgwLAoKIDB4OUIsIDB4QjYsIDB4QzEsIDB4NTgsIDB4RTgsIDB4MjMsIDB4NjUsIDB4QUYsIDB4RUEsIDB4MjUsIDB4NkYsIDB4QjEsIDB4QzgsIDB4NDMsIDB4QzUsIDB4NTQsCgogMHhGQywgMHgxRiwgMHgyMSwgMHg2MywgMHhBNSwgMHhGNCwgMHgwNywgMHgwOSwgMHgxQiwgMHgyRCwgMHg3NywgMHg5OSwgMHhCMCwgMHhDQiwgMHg0NiwgMHhDQSwKCiAweDQ1LCAweENGLCAweDRBLCAweERFLCAweDc5LCAweDhCLCAweDg2LCAweDkxLCAweEE4LCAweEUzLCAweDNFLCAweDQyLCAweEM2LCAweDUxLCAweEYzLCAweDBFLAoKIDB4MTIsIDB4MzYsIDB4NUEsIDB4RUUsIDB4MjksIDB4N0IsIDB4OEQsIDB4OEMsIDB4OEYsIDB4OEEsIDB4ODUsIDB4OTQsIDB4QTcsIDB4RjIsIDB4MEQsIDB4MTcsCgogMHgzOSwgMHg0QiwgMHhERCwgMHg3QywgMHg4NCwgMHg5NywgMHhBMiwgMHhGRCwgMHgxQywgMHgyNCwgMHg2QywgMHhCNCwgMHhDNywgMHg1MiwgMHhGNiwgMHgwMX07CgoKCmxvY2FsIExUQUJMRSA9IHsKCiBbMF0gPSAweDAwLCAweDAwLCAweDE5LCAweDAxLCAweDMyLCAweDAyLCAweDFBLCAweEM2LCAweDRCLCAweEM3LCAweDFCLCAweDY4LCAweDMzLCAweEVFLCAweERGLCAweDAzLAoKIDB4NjQsIDB4MDQsIDB4RTAsIDB4MEUsIDB4MzQsIDB4OEQsIDB4ODEsIDB4RUYsIDB4NEMsIDB4NzEsIDB4MDgsIDB4QzgsIDB4RjgsIDB4NjksIDB4MUMsIDB4QzEsCgogMHg3RCwgMHhDMiwgMHgxRCwgMHhCNSwgMHhGOSwgMHhCOSwgMHgyNywgMHg2QSwgMHg0RCwgMHhFNCwgMHhBNiwgMHg3MiwgMHg5QSwgMHhDOSwgMHgwOSwgMHg3OCwKCiAweDY1LCAweDJGLCAweDhBLCAweDA1LCAweDIxLCAweDBGLCAweEUxLCAweDI0LCAweDEyLCAweEYwLCAweDgyLCAweDQ1LCAweDM1LCAweDkzLCAweERBLCAweDhFLAoKIDB4OTYsIDB4OEYsIDB4REIsIDB4QkQsIDB4MzYsIDB4RDAsIDB4Q0UsIDB4OTQsIDB4MTMsIDB4NUMsIDB4RDIsIDB4RjEsIDB4NDAsIDB4NDYsIDB4ODMsIDB4MzgsCgogMHg2NiwgMHhERCwgMHhGRCwgMHgzMCwgMHhCRiwgMHgwNiwgMHg4QiwgMHg2MiwgMHhCMywgMHgyNSwgMHhFMiwgMHg5OCwgMHgyMiwgMHg4OCwgMHg5MSwgMHgxMCwKCiAweDdFLCAweDZFLCAweDQ4LCAweEMzLCAweEEzLCAweEI2LCAweDFFLCAweDQyLCAweDNBLCAweDZCLCAweDI4LCAweDU0LCAweEZBLCAweDg1LCAweDNELCAweEJBLAoKIDB4MkIsIDB4NzksIDB4MEEsIDB4MTUsIDB4OUIsIDB4OUYsIDB4NUUsIDB4Q0EsIDB4NEUsIDB4RDQsIDB4QUMsIDB4RTUsIDB4RjMsIDB4NzMsIDB4QTcsIDB4NTcsCgogMHhBRiwgMHg1OCwgMHhBOCwgMHg1MCwgMHhGNCwgMHhFQSwgMHhENiwgMHg3NCwgMHg0RiwgMHhBRSwgMHhFOSwgMHhENSwgMHhFNywgMHhFNiwgMHhBRCwgMHhFOCwKCiAweDJDLCAweEQ3LCAweDc1LCAweDdBLCAweEVCLCAweDE2LCAweDBCLCAweEY1LCAweDU5LCAweENCLCAweDVGLCAweEIwLCAweDlDLCAweEE5LCAweDUxLCAweEEwLAoKIDB4N0YsIDB4MEMsIDB4RjYsIDB4NkYsIDB4MTcsIDB4QzQsIDB4NDksIDB4RUMsIDB4RDgsIDB4NDMsIDB4MUYsIDB4MkQsIDB4QTQsIDB4NzYsIDB4N0IsIDB4QjcsCgogMHhDQywgMHhCQiwgMHgzRSwgMHg1QSwgMHhGQiwgMHg2MCwgMHhCMSwgMHg4NiwgMHgzQiwgMHg1MiwgMHhBMSwgMHg2QywgMHhBQSwgMHg1NSwgMHgyOSwgMHg5RCwKCiAweDk3LCAweEIyLCAweDg3LCAweDkwLCAweDYxLCAweEJFLCAweERDLCAweEZDLCAweEJDLCAweDk1LCAweENGLCAweENELCAweDM3LCAweDNGLCAweDVCLCAweEQxLAoKIDB4NTMsIDB4MzksIDB4ODQsIDB4M0MsIDB4NDEsIDB4QTIsIDB4NkQsIDB4NDcsIDB4MTQsIDB4MkEsIDB4OUUsIDB4NUQsIDB4NTYsIDB4RjIsIDB4RDMsIDB4QUIsCgogMHg0NCwgMHgxMSwgMHg5MiwgMHhEOSwgMHgyMywgMHgyMCwgMHgyRSwgMHg4OSwgMHhCNCwgMHg3QywgMHhCOCwgMHgyNiwgMHg3NywgMHg5OSwgMHhFMywgMHhBNSwKCiAweDY3LCAweDRBLCAweEVELCAweERFLCAweEM1LCAweDMxLCAweEZFLCAweDE4LCAweDBELCAweDYzLCAweDhDLCAweDgwLCAweEMwLCAweEY3LCAweDcwLCAweDA3fTsKCgoKbG9jYWwgTUlYVEFCTEUgPSB7CgogMHgwMiwgMHgwMywgMHgwMSwgMHgwMSwKCiAweDAxLCAweDAyLCAweDAzLCAweDAxLAoKIDB4MDEsIDB4MDEsIDB4MDIsIDB4MDMsCgogMHgwMywgMHgwMSwgMHgwMSwgMHgwMn07CgoKCmxvY2FsIElNSVhUQUJMRSA9IHsKCiAweDBFLCAweDBCLCAweDBELCAweDA5LAoKIDB4MDksIDB4MEUsIDB4MEIsIDB4MEQsCgogMHgwRCwgMHgwOSwgMHgwRSwgMHgwQiwKCiAweDBCLCAweDBELCAweDA5LCAweDBFfTsKCgoKbG9jYWwgUkNPTiA9IHsKClswXSA9IDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsCgoweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LAoKMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwKCjB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsCgoweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLAoKMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywKCjB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsCgoweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLAoKMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwKCjB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsCgoweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LAoKMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwKCjB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsCgoweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLAoKMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwKCjB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGR9OwoKCgoKCmxvY2FsIEdNVUwgPSBmdW5jdGlvbihBLCBCKQoKICAgIGlmKEEgPT0gMHgwMSkgdGhlbiByZXR1cm4gQjsgZW5kCgogICAgaWYoQiA9PSAweDAxKSB0aGVuIHJldHVybiBBOyBlbmQKCiAgICBpZihBID09IDB4MDApIHRoZW4gcmV0dXJuIDA7IGVuZAoKICAgIGlmKEIgPT0gMHgwMCkgdGhlbiByZXR1cm4gMDsgZW5kCgoKCiAgICBsb2NhbCBMQSA9IExUQUJMRVtBXTsKCiAgICBsb2NhbCBMQiA9IExUQUJMRVtCXTsKCgoKICAgIGxvY2FsIHN1bSA9IExBICsgTEI7CgogICAgaWYgKHN1bSA+IDB4RkYpIHRoZW4gc3VtID0gc3VtIC0gMHhGRjsgZW5kCgoKCiAgICByZXR1cm4gRVRBQkxFW3N1bV07CgplbmQKCgoKbG9jYWwgYnl0ZVN1YiA9IEFycmF5LnN1YnN0aXR1dGU7CgoKCmxvY2FsIHNoaWZ0Um93ID0gQXJyYXkucGVybXV0ZTsKCgoKbG9jYWwgbWl4Q29sID0gZnVuY3Rpb24oaSwgbWl4KQoKICAgIGxvY2FsIG91dCA9IHt9OwoKCgogICAgbG9jYWwgYSwgYiwgYywgZDsKCgoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbIDRdKTsKCiAgICBvdXRbIDFdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WyA4XSk7CgogICAgb3V0WyAyXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsxMl0pOwoKICAgIG91dFsgM10gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbMTZdKTsKCiAgICBvdXRbIDRdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKCgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsgNF0pOwoKICAgIG91dFsgNV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbIDhdKTsKCiAgICBvdXRbIDZdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WzEyXSk7CgogICAgb3V0WyA3XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsxNl0pOwoKICAgIG91dFsgOF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgoKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WyA0XSk7CgogICAgb3V0WyA5XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsgOF0pOwoKICAgIG91dFsxMF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbMTJdKTsKCiAgICBvdXRbMTFdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WzE2XSk7CgogICAgb3V0WzEyXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCgoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbIDRdKTsKCiAgICBvdXRbMTNdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WyA4XSk7CgogICAgb3V0WzE0XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsxMl0pOwoKICAgIG91dFsxNV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbMTZdKTsKCiAgICBvdXRbMTZdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKICAgIHJldHVybiBvdXQ7CgplbmQKCgoKbG9jYWwga2V5Um91bmQgPSBmdW5jdGlvbihrZXksIHJvdW5kKQoKICAgIGxvY2FsIGkgPSAocm91bmQgLSAxKSAqIDMyOwoKICAgIGxvY2FsIG91dCA9IGtleTsKCgoKICAgIG91dFszMyArIGldID0gWE9SKGtleVsgMSArIGldLCBYT1IoU0JPWFtrZXlbMzAgKyBpXV0sIFJDT05bcm91bmRdKSk7CgogICAgb3V0WzM0ICsgaV0gPSBYT1Ioa2V5WyAyICsgaV0sIFNCT1hba2V5WzMxICsgaV1dKTsKCiAgICBvdXRbMzUgKyBpXSA9IFhPUihrZXlbIDMgKyBpXSwgU0JPWFtrZXlbMzIgKyBpXV0pOwoKICAgIG91dFszNiArIGldID0gWE9SKGtleVsgNCArIGldLCBTQk9YW2tleVsyOSArIGldXSk7CgoKCiAgICBvdXRbMzcgKyBpXSA9IFhPUihvdXRbMzMgKyBpXSwga2V5WyA1ICsgaV0pOwoKICAgIG91dFszOCArIGldID0gWE9SKG91dFszNCArIGldLCBrZXlbIDYgKyBpXSk7CgogICAgb3V0WzM5ICsgaV0gPSBYT1Iob3V0WzM1ICsgaV0sIGtleVsgNyArIGldKTsKCiAgICBvdXRbNDAgKyBpXSA9IFhPUihvdXRbMzYgKyBpXSwga2V5WyA4ICsgaV0pOwoKCgogICAgb3V0WzQxICsgaV0gPSBYT1Iob3V0WzM3ICsgaV0sIGtleVsgOSArIGldKTsKCiAgICBvdXRbNDIgKyBpXSA9IFhPUihvdXRbMzggKyBpXSwga2V5WzEwICsgaV0pOwoKICAgIG91dFs0MyArIGldID0gWE9SKG91dFszOSArIGldLCBrZXlbMTEgKyBpXSk7CgogICAgb3V0WzQ0ICsgaV0gPSBYT1Iob3V0WzQwICsgaV0sIGtleVsxMiArIGldKTsKCgoKICAgIG91dFs0NSArIGldID0gWE9SKG91dFs0MSArIGldLCBrZXlbMTMgKyBpXSk7CgogICAgb3V0WzQ2ICsgaV0gPSBYT1Iob3V0WzQyICsgaV0sIGtleVsxNCArIGldKTsKCiAgICBvdXRbNDcgKyBpXSA9IFhPUihvdXRbNDMgKyBpXSwga2V5WzE1ICsgaV0pOwoKICAgIG91dFs0OCArIGldID0gWE9SKG91dFs0NCArIGldLCBrZXlbMTYgKyBpXSk7CgoKCgoKICAgIG91dFs0OSArIGldID0gWE9SKFNCT1hbb3V0WzQ1ICsgaV1dLCBrZXlbMTcgKyBpXSk7CgogICAgb3V0WzUwICsgaV0gPSBYT1IoU0JPWFtvdXRbNDYgKyBpXV0sIGtleVsxOCArIGldKTsKCiAgICBvdXRbNTEgKyBpXSA9IFhPUihTQk9YW291dFs0NyArIGldXSwga2V5WzE5ICsgaV0pOwoKICAgIG91dFs1MiArIGldID0gWE9SKFNCT1hbb3V0WzQ4ICsgaV1dLCBrZXlbMjAgKyBpXSk7CgoKCiAgICBvdXRbNTMgKyBpXSA9IFhPUihvdXRbNDkgKyBpXSwga2V5WzIxICsgaV0pOwoKICAgIG91dFs1NCArIGldID0gWE9SKG91dFs1MCArIGldLCBrZXlbMjIgKyBpXSk7CgogICAgb3V0WzU1ICsgaV0gPSBYT1Iob3V0WzUxICsgaV0sIGtleVsyMyArIGldKTsKCiAgICBvdXRbNTYgKyBpXSA9IFhPUihvdXRbNTIgKyBpXSwga2V5WzI0ICsgaV0pOwoKCgogICAgb3V0WzU3ICsgaV0gPSBYT1Iob3V0WzUzICsgaV0sIGtleVsyNSArIGldKTsKCiAgICBvdXRbNTggKyBpXSA9IFhPUihvdXRbNTQgKyBpXSwga2V5WzI2ICsgaV0pOwoKICAgIG91dFs1OSArIGldID0gWE9SKG91dFs1NSArIGldLCBrZXlbMjcgKyBpXSk7CgogICAgb3V0WzYwICsgaV0gPSBYT1Iob3V0WzU2ICsgaV0sIGtleVsyOCArIGldKTsKCgoKICAgIG91dFs2MSArIGldID0gWE9SKG91dFs1NyArIGldLCBrZXlbMjkgKyBpXSk7CgogICAgb3V0WzYyICsgaV0gPSBYT1Iob3V0WzU4ICsgaV0sIGtleVszMCArIGldKTsKCiAgICBvdXRbNjMgKyBpXSA9IFhPUihvdXRbNTkgKyBpXSwga2V5WzMxICsgaV0pOwoKICAgIG91dFs2NCArIGldID0gWE9SKG91dFs2MCArIGldLCBrZXlbMzIgKyBpXSk7CgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCmxvY2FsIGtleUV4cGFuZCA9IGZ1bmN0aW9uKGtleSkKCiAgICBsb2NhbCBieXRlcyA9IEFycmF5LmNvcHkoa2V5KTsKCgoKICAgIGZvciBpID0gMSwgNyBkbwoKICAgICAgICBrZXlSb3VuZChieXRlcywgaSk7CgogICAgZW5kCgoKCiAgICBsb2NhbCBrZXlzID0ge307CgoKCiAgICBrZXlzWyAxXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxLCAxNik7CgogICAga2V5c1sgMl0gPSBBcnJheS5zbGljZShieXRlcywgMTcsIDMyKTsKCiAgICBrZXlzWyAzXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAzMywgNDgpOwoKICAgIGtleXNbIDRdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDQ5LCA2NCk7CgogICAga2V5c1sgNV0gPSBBcnJheS5zbGljZShieXRlcywgNjUsIDgwKTsKCiAgICBrZXlzWyA2XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCA4MSwgOTYpOwoKICAgIGtleXNbIDddID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDk3LCAxMTIpOwoKICAgIGtleXNbIDhdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDExMywgMTI4KTsKCiAgICBrZXlzWyA5XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxMjksIDE0NCk7CgogICAga2V5c1sxMF0gPSBBcnJheS5zbGljZShieXRlcywgMTQ1LCAxNjApOwoKICAgIGtleXNbMTFdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDE2MSwgMTc2KTsKCiAgICBrZXlzWzEyXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxNzcsIDE5Mik7CgogICAga2V5c1sxM10gPSBBcnJheS5zbGljZShieXRlcywgMTkzLCAyMDgpOwoKICAgIGtleXNbMTRdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDIwOSwgMjI0KTsKCiAgICBrZXlzWzE1XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAyMjUsIDI0MCk7CgoKCiAgICByZXR1cm4ga2V5czsKCgoKZW5kCgoKCmxvY2FsIGFkZEtleSA9IEFycmF5LlhPUjsKCgoKCgoKCmxvY2FsIEFFUyA9IHt9OwoKCgpBRVMuYmxvY2tTaXplID0gMTY7CgoKCkFFUy5lbmNyeXB0ID0gZnVuY3Rpb24oa2V5LCBibG9jaykKCgoKICAgIGxvY2FsIGtleVNjaGVkdWxlID0ga2V5RXhwYW5kKGtleSk7CgoKCiAgICAtLXJvdW5kIDAKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMV0pOwoKCgogICAgLS1yb3VuZCAxCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzJdKTsKCgoKICAgIC0tcm91bmQgMgoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVszXSk7CgoKCiAgICAtLXJvdW5kIDMKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNF0pOwoKCgogICAgLS1yb3VuZCA0CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzVdKTsKCgoKICAgIC0tcm91bmQgNQoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs2XSk7CgoKCiAgICAtLXJvdW5kIDYKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbN10pOwoKCgogICAgLS1yb3VuZCA3CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzhdKTsKCgoKICAgIC0tcm91bmQgOAoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs5XSk7CgoKCiAgICAtLXJvdW5kIDkKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTBdKTsKCgoKICAgIC0tcm91bmQgMTAKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTFdKTsKCgoKICAgIC0tcm91bmQgMTEKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTJdKTsKCgoKICAgIC0tcm91bmQgMTIKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTNdKTsKCgoKICAgIC0tcm91bmQgMTMKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTRdKTsKCgoKICAgIC0tcm91bmQgMTQKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzE1XSk7CgoKCiAgICByZXR1cm4gYmxvY2s7CgoKCmVuZAoKCgpBRVMuZGVjcnlwdCA9IGZ1bmN0aW9uKGtleSwgYmxvY2spCgoKCiAgICBsb2NhbCBrZXlTY2hlZHVsZSA9IGtleUV4cGFuZChrZXkpOwoKCgogICAgLS1yb3VuZCAwCgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzE1XSk7CgoKCiAgICAtLXJvdW5kIDEKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTRdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMgoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxM10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAzCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzEyXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDQKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTFdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMF0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA2CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzldKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs4XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDgKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbN10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA5CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzZdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMTAKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNV0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAxMQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs0XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDEyCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzNdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMTMKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMl0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAxNAoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxXSk7CgoKCiAgICByZXR1cm4gYmxvY2s7CgplbmQKCgoKcmV0dXJuIEFFUzsAAAAACgpsb2NhbCBBcnJheSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5hcnJheSIpOwoKbG9jYWwgQml0ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmJpdCIpOwoKCgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCgoKbG9jYWwgU0JPWCA9IHsKCiBbMF0gPSAweDYzLCAweDdDLCAweDc3LCAweDdCLCAweEYyLCAweDZCLCAweDZGLCAweEM1LCAweDMwLCAweDAxLCAweDY3LCAweDJCLCAweEZFLCAweEQ3LCAweEFCLCAweDc2LAoKIDB4Q0EsIDB4ODIsIDB4QzksIDB4N0QsIDB4RkEsIDB4NTksIDB4NDcsIDB4RjAsIDB4QUQsIDB4RDQsIDB4QTIsIDB4QUYsIDB4OUMsIDB4QTQsIDB4NzIsIDB4QzAsCgogMHhCNywgMHhGRCwgMHg5MywgMHgyNiwgMHgzNiwgMHgzRiwgMHhGNywgMHhDQywgMHgzNCwgMHhBNSwgMHhFNSwgMHhGMSwgMHg3MSwgMHhEOCwgMHgzMSwgMHgxNSwKCiAweDA0LCAweEM3LCAweDIzLCAweEMzLCAweDE4LCAweDk2LCAweDA1LCAweDlBLCAweDA3LCAweDEyLCAweDgwLCAweEUyLCAweEVCLCAweDI3LCAweEIyLCAweDc1LAoKIDB4MDksIDB4ODMsIDB4MkMsIDB4MUEsIDB4MUIsIDB4NkUsIDB4NUEsIDB4QTAsIDB4NTIsIDB4M0IsIDB4RDYsIDB4QjMsIDB4MjksIDB4RTMsIDB4MkYsIDB4ODQsCgogMHg1MywgMHhEMSwgMHgwMCwgMHhFRCwgMHgyMCwgMHhGQywgMHhCMSwgMHg1QiwgMHg2QSwgMHhDQiwgMHhCRSwgMHgzOSwgMHg0QSwgMHg0QywgMHg1OCwgMHhDRiwKCiAweEQwLCAweEVGLCAweEFBLCAweEZCLCAweDQzLCAweDRELCAweDMzLCAweDg1LCAweDQ1LCAweEY5LCAweDAyLCAweDdGLCAweDUwLCAweDNDLCAweDlGLCAweEE4LAoKIDB4NTEsIDB4QTMsIDB4NDAsIDB4OEYsIDB4OTIsIDB4OUQsIDB4MzgsIDB4RjUsIDB4QkMsIDB4QjYsIDB4REEsIDB4MjEsIDB4MTAsIDB4RkYsIDB4RjMsIDB4RDIsCgogMHhDRCwgMHgwQywgMHgxMywgMHhFQywgMHg1RiwgMHg5NywgMHg0NCwgMHgxNywgMHhDNCwgMHhBNywgMHg3RSwgMHgzRCwgMHg2NCwgMHg1RCwgMHgxOSwgMHg3MywKCiAweDYwLCAweDgxLCAweDRGLCAweERDLCAweDIyLCAweDJBLCAweDkwLCAweDg4LCAweDQ2LCAweEVFLCAweEI4LCAweDE0LCAweERFLCAweDVFLCAweDBCLCAweERCLAoKIDB4RTAsIDB4MzIsIDB4M0EsIDB4MEEsIDB4NDksIDB4MDYsIDB4MjQsIDB4NUMsIDB4QzIsIDB4RDMsIDB4QUMsIDB4NjIsIDB4OTEsIDB4OTUsIDB4RTQsIDB4NzksCgogMHhFNywgMHhDOCwgMHgzNywgMHg2RCwgMHg4RCwgMHhENSwgMHg0RSwgMHhBOSwgMHg2QywgMHg1NiwgMHhGNCwgMHhFQSwgMHg2NSwgMHg3QSwgMHhBRSwgMHgwOCwKCiAweEJBLCAweDc4LCAweDI1LCAweDJFLCAweDFDLCAweEE2LCAweEI0LCAweEM2LCAweEU4LCAweERELCAweDc0LCAweDFGLCAweDRCLCAweEJELCAweDhCLCAweDhBLAoKIDB4NzAsIDB4M0UsIDB4QjUsIDB4NjYsIDB4NDgsIDB4MDMsIDB4RjYsIDB4MEUsIDB4NjEsIDB4MzUsIDB4NTcsIDB4QjksIDB4ODYsIDB4QzEsIDB4MUQsIDB4OUUsCgogMHhFMSwgMHhGOCwgMHg5OCwgMHgxMSwgMHg2OSwgMHhEOSwgMHg4RSwgMHg5NCwgMHg5QiwgMHgxRSwgMHg4NywgMHhFOSwgMHhDRSwgMHg1NSwgMHgyOCwgMHhERiwKCiAweDhDLCAweEExLCAweDg5LCAweDBELCAweEJGLCAweEU2LCAweDQyLCAweDY4LCAweDQxLCAweDk5LCAweDJELCAweDBGLCAweEIwLCAweDU0LCAweEJCLCAweDE2fTsKCgoKbG9jYWwgSVNCT1ggPSB7CgogWzBdID0gMHg1MiwgMHgwOSwgMHg2QSwgMHhENSwgMHgzMCwgMHgzNiwgMHhBNSwgMHgzOCwgMHhCRiwgMHg0MCwgMHhBMywgMHg5RSwgMHg4MSwgMHhGMywgMHhENywgMHhGQiwKCiAweDdDLCAweEUzLCAweDM5LCAweDgyLCAweDlCLCAweDJGLCAweEZGLCAweDg3LCAweDM0LCAweDhFLCAweDQzLCAweDQ0LCAweEM0LCAweERFLCAweEU5LCAweENCLAoKIDB4NTQsIDB4N0IsIDB4OTQsIDB4MzIsIDB4QTYsIDB4QzIsIDB4MjMsIDB4M0QsIDB4RUUsIDB4NEMsIDB4OTUsIDB4MEIsIDB4NDIsIDB4RkEsIDB4QzMsIDB4NEUsCgogMHgwOCwgMHgyRSwgMHhBMSwgMHg2NiwgMHgyOCwgMHhEOSwgMHgyNCwgMHhCMiwgMHg3NiwgMHg1QiwgMHhBMiwgMHg0OSwgMHg2RCwgMHg4QiwgMHhEMSwgMHgyNSwKCiAweDcyLCAweEY4LCAweEY2LCAweDY0LCAweDg2LCAweDY4LCAweDk4LCAweDE2LCAweEQ0LCAweEE0LCAweDVDLCAweENDLCAweDVELCAweDY1LCAweEI2LCAweDkyLAoKIDB4NkMsIDB4NzAsIDB4NDgsIDB4NTAsIDB4RkQsIDB4RUQsIDB4QjksIDB4REEsIDB4NUUsIDB4MTUsIDB4NDYsIDB4NTcsIDB4QTcsIDB4OEQsIDB4OUQsIDB4ODQsCgogMHg5MCwgMHhEOCwgMHhBQiwgMHgwMCwgMHg4QywgMHhCQywgMHhEMywgMHgwQSwgMHhGNywgMHhFNCwgMHg1OCwgMHgwNSwgMHhCOCwgMHhCMywgMHg0NSwgMHgwNiwKCiAweEQwLCAweDJDLCAweDFFLCAweDhGLCAweENBLCAweDNGLCAweDBGLCAweDAyLCAweEMxLCAweEFGLCAweEJELCAweDAzLCAweDAxLCAweDEzLCAweDhBLCAweDZCLAoKIDB4M0EsIDB4OTEsIDB4MTEsIDB4NDEsIDB4NEYsIDB4NjcsIDB4REMsIDB4RUEsIDB4OTcsIDB4RjIsIDB4Q0YsIDB4Q0UsIDB4RjAsIDB4QjQsIDB4RTYsIDB4NzMsCgogMHg5NiwgMHhBQywgMHg3NCwgMHgyMiwgMHhFNywgMHhBRCwgMHgzNSwgMHg4NSwgMHhFMiwgMHhGOSwgMHgzNywgMHhFOCwgMHgxQywgMHg3NSwgMHhERiwgMHg2RSwKCiAweDQ3LCAweEYxLCAweDFBLCAweDcxLCAweDFELCAweDI5LCAweEM1LCAweDg5LCAweDZGLCAweEI3LCAweDYyLCAweDBFLCAweEFBLCAweDE4LCAweEJFLCAweDFCLAoKIDB4RkMsIDB4NTYsIDB4M0UsIDB4NEIsIDB4QzYsIDB4RDIsIDB4NzksIDB4MjAsIDB4OUEsIDB4REIsIDB4QzAsIDB4RkUsIDB4NzgsIDB4Q0QsIDB4NUEsIDB4RjQsCgogMHgxRiwgMHhERCwgMHhBOCwgMHgzMywgMHg4OCwgMHgwNywgMHhDNywgMHgzMSwgMHhCMSwgMHgxMiwgMHgxMCwgMHg1OSwgMHgyNywgMHg4MCwgMHhFQywgMHg1RiwKCiAweDYwLCAweDUxLCAweDdGLCAweEE5LCAweDE5LCAweEI1LCAweDRBLCAweDBELCAweDJELCAweEU1LCAweDdBLCAweDlGLCAweDkzLCAweEM5LCAweDlDLCAweEVGLAoKIDB4QTAsIDB4RTAsIDB4M0IsIDB4NEQsIDB4QUUsIDB4MkEsIDB4RjUsIDB4QjAsIDB4QzgsIDB4RUIsIDB4QkIsIDB4M0MsIDB4ODMsIDB4NTMsIDB4OTksIDB4NjEsCgogMHgxNywgMHgyQiwgMHgwNCwgMHg3RSwgMHhCQSwgMHg3NywgMHhENiwgMHgyNiwgMHhFMSwgMHg2OSwgMHgxNCwgMHg2MywgMHg1NSwgMHgyMSwgMHgwQywgMHg3RH07CgoKCmxvY2FsIFJPV19TSElGVCA9ICB7ICAxLCAgNiwgMTEsIDE2LCAgNSwgMTAsIDE1LCAgNCwgIDksIDE0LCAgMywgIDgsIDEzLCAgMiwgIDcsIDEyLCB9OwoKbG9jYWwgSVJPV19TSElGVCA9IHsgIDEsIDE0LCAxMSwgIDgsICA1LCAgMiwgMTUsIDEyLCAgOSwgIDYsICAzLCAxNiwgMTMsIDEwLCAgNywgIDQsIH07CgoKCmxvY2FsIEVUQUJMRSA9IHsKCiBbMF0gPSAweDAxLCAweDAzLCAweDA1LCAweDBGLCAweDExLCAweDMzLCAweDU1LCAweEZGLCAweDFBLCAweDJFLCAweDcyLCAweDk2LCAweEExLCAweEY4LCAweDEzLCAweDM1LAoKIDB4NUYsIDB4RTEsIDB4MzgsIDB4NDgsIDB4RDgsIDB4NzMsIDB4OTUsIDB4QTQsIDB4RjcsIDB4MDIsIDB4MDYsIDB4MEEsIDB4MUUsIDB4MjIsIDB4NjYsIDB4QUEsCgogMHhFNSwgMHgzNCwgMHg1QywgMHhFNCwgMHgzNywgMHg1OSwgMHhFQiwgMHgyNiwgMHg2QSwgMHhCRSwgMHhEOSwgMHg3MCwgMHg5MCwgMHhBQiwgMHhFNiwgMHgzMSwKCiAweDUzLCAweEY1LCAweDA0LCAweDBDLCAweDE0LCAweDNDLCAweDQ0LCAweENDLCAweDRGLCAweEQxLCAweDY4LCAweEI4LCAweEQzLCAweDZFLCAweEIyLCAweENELAoKIDB4NEMsIDB4RDQsIDB4NjcsIDB4QTksIDB4RTAsIDB4M0IsIDB4NEQsIDB4RDcsIDB4NjIsIDB4QTYsIDB4RjEsIDB4MDgsIDB4MTgsIDB4MjgsIDB4NzgsIDB4ODgsCgogMHg4MywgMHg5RSwgMHhCOSwgMHhEMCwgMHg2QiwgMHhCRCwgMHhEQywgMHg3RiwgMHg4MSwgMHg5OCwgMHhCMywgMHhDRSwgMHg0OSwgMHhEQiwgMHg3NiwgMHg5QSwKCiAweEI1LCAweEM0LCAweDU3LCAweEY5LCAweDEwLCAweDMwLCAweDUwLCAweEYwLCAweDBCLCAweDFELCAweDI3LCAweDY5LCAweEJCLCAweEQ2LCAweDYxLCAweEEzLAoKIDB4RkUsIDB4MTksIDB4MkIsIDB4N0QsIDB4ODcsIDB4OTIsIDB4QUQsIDB4RUMsIDB4MkYsIDB4NzEsIDB4OTMsIDB4QUUsIDB4RTksIDB4MjAsIDB4NjAsIDB4QTAsCgogMHhGQiwgMHgxNiwgMHgzQSwgMHg0RSwgMHhEMiwgMHg2RCwgMHhCNywgMHhDMiwgMHg1RCwgMHhFNywgMHgzMiwgMHg1NiwgMHhGQSwgMHgxNSwgMHgzRiwgMHg0MSwKCiAweEMzLCAweDVFLCAweEUyLCAweDNELCAweDQ3LCAweEM5LCAweDQwLCAweEMwLCAweDVCLCAweEVELCAweDJDLCAweDc0LCAweDlDLCAweEJGLCAweERBLCAweDc1LAoKIDB4OUYsIDB4QkEsIDB4RDUsIDB4NjQsIDB4QUMsIDB4RUYsIDB4MkEsIDB4N0UsIDB4ODIsIDB4OUQsIDB4QkMsIDB4REYsIDB4N0EsIDB4OEUsIDB4ODksIDB4ODAsCgogMHg5QiwgMHhCNiwgMHhDMSwgMHg1OCwgMHhFOCwgMHgyMywgMHg2NSwgMHhBRiwgMHhFQSwgMHgyNSwgMHg2RiwgMHhCMSwgMHhDOCwgMHg0MywgMHhDNSwgMHg1NCwKCiAweEZDLCAweDFGLCAweDIxLCAweDYzLCAweEE1LCAweEY0LCAweDA3LCAweDA5LCAweDFCLCAweDJELCAweDc3LCAweDk5LCAweEIwLCAweENCLCAweDQ2LCAweENBLAoKIDB4NDUsIDB4Q0YsIDB4NEEsIDB4REUsIDB4NzksIDB4OEIsIDB4ODYsIDB4OTEsIDB4QTgsIDB4RTMsIDB4M0UsIDB4NDIsIDB4QzYsIDB4NTEsIDB4RjMsIDB4MEUsCgogMHgxMiwgMHgzNiwgMHg1QSwgMHhFRSwgMHgyOSwgMHg3QiwgMHg4RCwgMHg4QywgMHg4RiwgMHg4QSwgMHg4NSwgMHg5NCwgMHhBNywgMHhGMiwgMHgwRCwgMHgxNywKCiAweDM5LCAweDRCLCAweERELCAweDdDLCAweDg0LCAweDk3LCAweEEyLCAweEZELCAweDFDLCAweDI0LCAweDZDLCAweEI0LCAweEM3LCAweDUyLCAweEY2LCAweDAxfTsKCgoKbG9jYWwgTFRBQkxFID0gewoKIFswXSA9IDB4MDAsIDB4MDAsIDB4MTksIDB4MDEsIDB4MzIsIDB4MDIsIDB4MUEsIDB4QzYsIDB4NEIsIDB4QzcsIDB4MUIsIDB4NjgsIDB4MzMsIDB4RUUsIDB4REYsIDB4MDMsCgogMHg2NCwgMHgwNCwgMHhFMCwgMHgwRSwgMHgzNCwgMHg4RCwgMHg4MSwgMHhFRiwgMHg0QywgMHg3MSwgMHgwOCwgMHhDOCwgMHhGOCwgMHg2OSwgMHgxQywgMHhDMSwKCiAweDdELCAweEMyLCAweDFELCAweEI1LCAweEY5LCAweEI5LCAweDI3LCAweDZBLCAweDRELCAweEU0LCAweEE2LCAweDcyLCAweDlBLCAweEM5LCAweDA5LCAweDc4LAoKIDB4NjUsIDB4MkYsIDB4OEEsIDB4MDUsIDB4MjEsIDB4MEYsIDB4RTEsIDB4MjQsIDB4MTIsIDB4RjAsIDB4ODIsIDB4NDUsIDB4MzUsIDB4OTMsIDB4REEsIDB4OEUsCgogMHg5NiwgMHg4RiwgMHhEQiwgMHhCRCwgMHgzNiwgMHhEMCwgMHhDRSwgMHg5NCwgMHgxMywgMHg1QywgMHhEMiwgMHhGMSwgMHg0MCwgMHg0NiwgMHg4MywgMHgzOCwKCiAweDY2LCAweERELCAweEZELCAweDMwLCAweEJGLCAweDA2LCAweDhCLCAweDYyLCAweEIzLCAweDI1LCAweEUyLCAweDk4LCAweDIyLCAweDg4LCAweDkxLCAweDEwLAoKIDB4N0UsIDB4NkUsIDB4NDgsIDB4QzMsIDB4QTMsIDB4QjYsIDB4MUUsIDB4NDIsIDB4M0EsIDB4NkIsIDB4MjgsIDB4NTQsIDB4RkEsIDB4ODUsIDB4M0QsIDB4QkEsCgogMHgyQiwgMHg3OSwgMHgwQSwgMHgxNSwgMHg5QiwgMHg5RiwgMHg1RSwgMHhDQSwgMHg0RSwgMHhENCwgMHhBQywgMHhFNSwgMHhGMywgMHg3MywgMHhBNywgMHg1NywKCiAweEFGLCAweDU4LCAweEE4LCAweDUwLCAweEY0LCAweEVBLCAweEQ2LCAweDc0LCAweDRGLCAweEFFLCAweEU5LCAweEQ1LCAweEU3LCAweEU2LCAweEFELCAweEU4LAoKIDB4MkMsIDB4RDcsIDB4NzUsIDB4N0EsIDB4RUIsIDB4MTYsIDB4MEIsIDB4RjUsIDB4NTksIDB4Q0IsIDB4NUYsIDB4QjAsIDB4OUMsIDB4QTksIDB4NTEsIDB4QTAsCgogMHg3RiwgMHgwQywgMHhGNiwgMHg2RiwgMHgxNywgMHhDNCwgMHg0OSwgMHhFQywgMHhEOCwgMHg0MywgMHgxRiwgMHgyRCwgMHhBNCwgMHg3NiwgMHg3QiwgMHhCNywKCiAweENDLCAweEJCLCAweDNFLCAweDVBLCAweEZCLCAweDYwLCAweEIxLCAweDg2LCAweDNCLCAweDUyLCAweEExLCAweDZDLCAweEFBLCAweDU1LCAweDI5LCAweDlELAoKIDB4OTcsIDB4QjIsIDB4ODcsIDB4OTAsIDB4NjEsIDB4QkUsIDB4REMsIDB4RkMsIDB4QkMsIDB4OTUsIDB4Q0YsIDB4Q0QsIDB4MzcsIDB4M0YsIDB4NUIsIDB4RDEsCgogMHg1MywgMHgzOSwgMHg4NCwgMHgzQywgMHg0MSwgMHhBMiwgMHg2RCwgMHg0NywgMHgxNCwgMHgyQSwgMHg5RSwgMHg1RCwgMHg1NiwgMHhGMiwgMHhEMywgMHhBQiwKCiAweDQ0LCAweDExLCAweDkyLCAweEQ5LCAweDIzLCAweDIwLCAweDJFLCAweDg5LCAweEI0LCAweDdDLCAweEI4LCAweDI2LCAweDc3LCAweDk5LCAweEUzLCAweEE1LAoKIDB4NjcsIDB4NEEsIDB4RUQsIDB4REUsIDB4QzUsIDB4MzEsIDB4RkUsIDB4MTgsIDB4MEQsIDB4NjMsIDB4OEMsIDB4ODAsIDB4QzAsIDB4RjcsIDB4NzAsIDB4MDd9OwoKCgpsb2NhbCBNSVhUQUJMRSA9IHsKCiAweDAyLCAweDAzLCAweDAxLCAweDAxLAoKIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDEsCgogMHgwMSwgMHgwMSwgMHgwMiwgMHgwMywKCiAweDAzLCAweDAxLCAweDAxLCAweDAyfTsKCgoKbG9jYWwgSU1JWFRBQkxFID0gewoKIDB4MEUsIDB4MEIsIDB4MEQsIDB4MDksCgogMHgwOSwgMHgwRSwgMHgwQiwgMHgwRCwKCiAweDBELCAweDA5LCAweDBFLCAweDBCLAoKIDB4MEIsIDB4MEQsIDB4MDksIDB4MEV9OwoKCgpsb2NhbCBSQ09OID0gewoKWzBdID0gMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwKCjB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksCgoweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLAoKMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwKCjB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsCgoweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLAoKMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwKCjB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsCgoweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LAoKMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwKCjB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsCgoweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLAoKMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwKCjB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsCgoweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLAoKMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZH07CgoKCgoKbG9jYWwgR01VTCA9IGZ1bmN0aW9uKEEsIEIpCgogICAgaWYoQSA9PSAweDAxKSB0aGVuIHJldHVybiBCOyBlbmQKCiAgICBpZihCID09IDB4MDEpIHRoZW4gcmV0dXJuIEE7IGVuZAoKICAgIGlmKEEgPT0gMHgwMCkgdGhlbiByZXR1cm4gMDsgZW5kCgogICAgaWYoQiA9PSAweDAwKSB0aGVuIHJldHVybiAwOyBlbmQKCgoKICAgIGxvY2FsIExBID0gTFRBQkxFW0FdOwoKICAgIGxvY2FsIExCID0gTFRBQkxFW0JdOwoKCgogICAgbG9jYWwgc3VtID0gTEEgKyBMQjsKCiAgICBpZiAoc3VtID4gMHhGRikgdGhlbiBzdW0gPSBzdW0gLSAweEZGOyBlbmQKCgoKICAgIHJldHVybiBFVEFCTEVbc3VtXTsKCmVuZAoKCgpsb2NhbCBieXRlU3ViID0gQXJyYXkuc3Vic3RpdHV0ZTsKCgoKbG9jYWwgc2hpZnRSb3cgPSBBcnJheS5wZXJtdXRlOwoKCgpsb2NhbCBtaXhDb2wgPSBmdW5jdGlvbihpLCBtaXgpCgogICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICBsb2NhbCBhLCBiLCBjLCBkOwoKCgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsgNF0pOwoKICAgIG91dFsgMV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbIDhdKTsKCiAgICBvdXRbIDJdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WzEyXSk7CgogICAgb3V0WyAzXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsxNl0pOwoKICAgIG91dFsgNF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgoKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WyA0XSk7CgogICAgb3V0WyA1XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsgOF0pOwoKICAgIG91dFsgNl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbMTJdKTsKCiAgICBvdXRbIDddID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WzE2XSk7CgogICAgb3V0WyA4XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCgoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbIDRdKTsKCiAgICBvdXRbIDldID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WyA4XSk7CgogICAgb3V0WzEwXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsxMl0pOwoKICAgIG91dFsxMV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbMTZdKTsKCiAgICBvdXRbMTJdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKCgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsgNF0pOwoKICAgIG91dFsxM10gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbIDhdKTsKCiAgICBvdXRbMTRdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WzEyXSk7CgogICAgb3V0WzE1XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsxNl0pOwoKICAgIG91dFsxNl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgogICAgcmV0dXJuIG91dDsKCmVuZAoKCgpsb2NhbCBrZXlSb3VuZCA9IGZ1bmN0aW9uKGtleSwgcm91bmQpCgogICAgbG9jYWwgaSA9IChyb3VuZCAtIDEpICogMjQ7CgogICAgbG9jYWwgb3V0ID0ga2V5OwoKCgogICAgb3V0WzI1ICsgaV0gPSBYT1Ioa2V5WyAxICsgaV0sIFhPUihTQk9YW2tleVsyMiArIGldXSwgUkNPTltyb3VuZF0pKTsKCiAgICBvdXRbMjYgKyBpXSA9IFhPUihrZXlbIDIgKyBpXSwgU0JPWFtrZXlbMjMgKyBpXV0pOwoKICAgIG91dFsyNyArIGldID0gWE9SKGtleVsgMyArIGldLCBTQk9YW2tleVsyNCArIGldXSk7CgogICAgb3V0WzI4ICsgaV0gPSBYT1Ioa2V5WyA0ICsgaV0sIFNCT1hba2V5WzIxICsgaV1dKTsKCgoKICAgIG91dFsyOSArIGldID0gWE9SKG91dFsyNSArIGldLCBrZXlbIDUgKyBpXSk7CgogICAgb3V0WzMwICsgaV0gPSBYT1Iob3V0WzI2ICsgaV0sIGtleVsgNiArIGldKTsKCiAgICBvdXRbMzEgKyBpXSA9IFhPUihvdXRbMjcgKyBpXSwga2V5WyA3ICsgaV0pOwoKICAgIG91dFszMiArIGldID0gWE9SKG91dFsyOCArIGldLCBrZXlbIDggKyBpXSk7CgoKCiAgICBvdXRbMzMgKyBpXSA9IFhPUihvdXRbMjkgKyBpXSwga2V5WyA5ICsgaV0pOwoKICAgIG91dFszNCArIGldID0gWE9SKG91dFszMCArIGldLCBrZXlbMTAgKyBpXSk7CgogICAgb3V0WzM1ICsgaV0gPSBYT1Iob3V0WzMxICsgaV0sIGtleVsxMSArIGldKTsKCiAgICBvdXRbMzYgKyBpXSA9IFhPUihvdXRbMzIgKyBpXSwga2V5WzEyICsgaV0pOwoKCgogICAgb3V0WzM3ICsgaV0gPSBYT1Iob3V0WzMzICsgaV0sIGtleVsxMyArIGldKTsKCiAgICBvdXRbMzggKyBpXSA9IFhPUihvdXRbMzQgKyBpXSwga2V5WzE0ICsgaV0pOwoKICAgIG91dFszOSArIGldID0gWE9SKG91dFszNSArIGldLCBrZXlbMTUgKyBpXSk7CgogICAgb3V0WzQwICsgaV0gPSBYT1Iob3V0WzM2ICsgaV0sIGtleVsxNiArIGldKTsKCgoKICAgIG91dFs0MSArIGldID0gWE9SKG91dFszNyArIGldLCBrZXlbMTcgKyBpXSk7CgogICAgb3V0WzQyICsgaV0gPSBYT1Iob3V0WzM4ICsgaV0sIGtleVsxOCArIGldKTsKCiAgICBvdXRbNDMgKyBpXSA9IFhPUihvdXRbMzkgKyBpXSwga2V5WzE5ICsgaV0pOwoKICAgIG91dFs0NCArIGldID0gWE9SKG91dFs0MCArIGldLCBrZXlbMjAgKyBpXSk7CgoKCiAgICBvdXRbNDUgKyBpXSA9IFhPUihvdXRbNDEgKyBpXSwga2V5WzIxICsgaV0pOwoKICAgIG91dFs0NiArIGldID0gWE9SKG91dFs0MiArIGldLCBrZXlbMjIgKyBpXSk7CgogICAgb3V0WzQ3ICsgaV0gPSBYT1Iob3V0WzQzICsgaV0sIGtleVsyMyArIGldKTsKCiAgICBvdXRbNDggKyBpXSA9IFhPUihvdXRbNDQgKyBpXSwga2V5WzI0ICsgaV0pOwoKCgogICAgcmV0dXJuIG91dDsKCmVuZAoKCgpsb2NhbCBrZXlFeHBhbmQgPSBmdW5jdGlvbihrZXkpCgogICAgbG9jYWwgYnl0ZXMgPSBBcnJheS5jb3B5KGtleSk7CgoKCiAgICBmb3IgaSA9IDEsIDggZG8KCiAgICAgICAga2V5Um91bmQoYnl0ZXMsIGkpOwoKICAgIGVuZAoKCgogICAgbG9jYWwga2V5cyA9IHt9OwoKCgogICAga2V5c1sgMV0gPSBBcnJheS5zbGljZShieXRlcywgMSwgMTYpOwoKICAgIGtleXNbIDJdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDE3LCAzMik7CgogICAga2V5c1sgM10gPSBBcnJheS5zbGljZShieXRlcywgMzMsIDQ4KTsKCiAgICBrZXlzWyA0XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCA0OSwgNjQpOwoKICAgIGtleXNbIDVdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDY1LCA4MCk7CgogICAga2V5c1sgNl0gPSBBcnJheS5zbGljZShieXRlcywgODEsIDk2KTsKCiAgICBrZXlzWyA3XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCA5NywgMTEyKTsKCiAgICBrZXlzWyA4XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxMTMsIDEyOCk7CgogICAga2V5c1sgOV0gPSBBcnJheS5zbGljZShieXRlcywgMTI5LCAxNDQpOwoKICAgIGtleXNbMTBdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDE0NSwgMTYwKTsKCiAgICBrZXlzWzExXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxNjEsIDE3Nik7CgogICAga2V5c1sxMl0gPSBBcnJheS5zbGljZShieXRlcywgMTc3LCAxOTIpOwoKICAgIGtleXNbMTNdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDE5MywgMjA4KTsKCgoKICAgIHJldHVybiBrZXlzOwoKCgplbmQKCgoKbG9jYWwgYWRkS2V5ID0gQXJyYXkuWE9SOwoKCgoKCgoKbG9jYWwgQUVTID0ge307CgoKCkFFUy5ibG9ja1NpemUgPSAxNjsKCgoKQUVTLmVuY3J5cHQgPSBmdW5jdGlvbihrZXksIGJsb2NrKQoKCgogICAgbG9jYWwga2V5U2NoZWR1bGUgPSBrZXlFeHBhbmQoa2V5KTsKCgoKICAgIC0tcm91bmQgMAoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxXSk7CgoKCiAgICAtLXJvdW5kIDEKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMl0pOwoKCgogICAgLS1yb3VuZCAyCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzNdKTsKCgoKICAgIC0tcm91bmQgMwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs0XSk7CgoKCiAgICAtLXJvdW5kIDQKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNV0pOwoKCgogICAgLS1yb3VuZCA1CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzZdKTsKCgoKICAgIC0tcm91bmQgNgoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs3XSk7CgoKCiAgICAtLXJvdW5kIDcKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbOF0pOwoKCgogICAgLS1yb3VuZCA4CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzldKTsKCgoKICAgIC0tcm91bmQgOQoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMF0pOwoKCgogICAgLS1yb3VuZCAxMAoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMV0pOwoKCgogICAgLS1yb3VuZCAxMQoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMl0pOwoKCgogICAgLS1yb3VuZCAxMgoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTNdKTsKCgoKICAgIHJldHVybiBibG9jazsKCgoKZW5kCgoKCkFFUy5kZWNyeXB0ID0gZnVuY3Rpb24oa2V5LCBibG9jaykKCgoKICAgIGxvY2FsIGtleVNjaGVkdWxlID0ga2V5RXhwYW5kKGtleSk7CgoKCiAgICAtLXJvdW5kIDAKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTNdKTsKCgoKICAgIC0tcm91bmQgMQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMl0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAyCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzExXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDMKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTBdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNAoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs5XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDUKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbOF0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA2CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzddKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs2XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDgKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNV0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA5CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzRdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMTAKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbM10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAxMQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsyXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDEyCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzFdKTsKCgoKICAgIHJldHVybiBibG9jazsKCmVuZAoKCgpyZXR1cm4gQUVTOwAAAAAAAGxvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5Iik7Cgpsb2NhbCBTdHJlYW0gPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuc3RyZWFtIik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBFQ0IgPSB7fTsKCgoKRUNCLkNpcGhlciA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKCgogICAgbG9jYWwga2V5OwoKICAgIGxvY2FsIGJsb2NrQ2lwaGVyOwoKICAgIGxvY2FsIHBhZGRpbmc7CgogICAgbG9jYWwgaW5wdXRRdWV1ZTsKCiAgICBsb2NhbCBvdXRwdXRRdWV1ZTsKCgoKICAgIHB1YmxpYy5zZXRLZXkgPSBmdW5jdGlvbihrZXlCeXRlcykKCiAgICAgICAga2V5ID0ga2V5Qnl0ZXM7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tDaXBoZXIgPSBmdW5jdGlvbihjaXBoZXIpCgogICAgICAgIGJsb2NrQ2lwaGVyID0gY2lwaGVyOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldFBhZGRpbmcgPSBmdW5jdGlvbihwYWRkaW5nTW9kZSkKCiAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdNb2RlOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmluaXQgPSBmdW5jdGlvbigpCgogICAgICAgIGlucHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBvdXRwdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBibG9jayA9IGJsb2NrQ2lwaGVyLmVuY3J5cHQoa2V5LCBibG9jayk7CgoKCiAgICAgICAgICAgICAgICBBcnJheS53cml0ZVRvUXVldWUob3V0cHV0UXVldWUsIGJsb2NrKTsKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCkVDQi5EZWNpcGhlciA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKCgogICAgbG9jYWwga2V5OwoKICAgIGxvY2FsIGJsb2NrQ2lwaGVyOwoKICAgIGxvY2FsIHBhZGRpbmc7CgogICAgbG9jYWwgaW5wdXRRdWV1ZTsKCiAgICBsb2NhbCBvdXRwdXRRdWV1ZTsKCgoKICAgIHB1YmxpYy5zZXRLZXkgPSBmdW5jdGlvbihrZXlCeXRlcykKCiAgICAgICAga2V5ID0ga2V5Qnl0ZXM7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tDaXBoZXIgPSBmdW5jdGlvbihjaXBoZXIpCgogICAgICAgIGJsb2NrQ2lwaGVyID0gY2lwaGVyOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldFBhZGRpbmcgPSBmdW5jdGlvbihwYWRkaW5nTW9kZSkKCiAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdNb2RlOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmluaXQgPSBmdW5jdGlvbigpCgogICAgICAgIGlucHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBvdXRwdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBibG9jayA9IGJsb2NrQ2lwaGVyLmRlY3J5cHQoa2V5LCBibG9jayk7CgoKCiAgICAgICAgICAgICAgICBBcnJheS53cml0ZVRvUXVldWUob3V0cHV0UXVldWUsIGJsb2NrKTsKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCgoKcmV0dXJuIEVDQjtsb2NhbCBBcnJheSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5hcnJheSIpOwoKbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpOwoKbG9jYWwgUXVldWUgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwucXVldWUiKTsKCgoKbG9jYWwgQ0JDID0ge307CgoKCkNCQy5DaXBoZXIgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIGtleTsKCiAgICBsb2NhbCBibG9ja0NpcGhlcjsKCiAgICBsb2NhbCBwYWRkaW5nOwoKICAgIGxvY2FsIGlucHV0UXVldWU7CgogICAgbG9jYWwgb3V0cHV0UXVldWU7CgogICAgbG9jYWwgaXY7CgoKCiAgICBwdWJsaWMuc2V0S2V5ID0gZnVuY3Rpb24oa2V5Qnl0ZXMpCgogICAgICAgIGtleSA9IGtleUJ5dGVzOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldEJsb2NrQ2lwaGVyID0gZnVuY3Rpb24oY2lwaGVyKQoKICAgICAgICBibG9ja0NpcGhlciA9IGNpcGhlcjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYWRkaW5nID0gZnVuY3Rpb24ocGFkZGluZ01vZGUpCgogICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nTW9kZTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBpbnB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgb3V0cHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBpdiA9IG5pbDsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gQXJyYXkuWE9SKGl2LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmVuY3J5cHQoa2V5LCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICBBcnJheS53cml0ZVRvUXVldWUob3V0cHV0UXVldWUsIG91dCk7CgogICAgICAgICAgICAgICAgICAgIGl2ID0gb3V0OwoKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKCgpDQkMuRGVjaXBoZXIgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIGtleTsKCiAgICBsb2NhbCBibG9ja0NpcGhlcjsKCiAgICBsb2NhbCBwYWRkaW5nOwoKICAgIGxvY2FsIGlucHV0UXVldWU7CgogICAgbG9jYWwgb3V0cHV0UXVldWU7CgogICAgbG9jYWwgaXY7CgoKCiAgICBwdWJsaWMuc2V0S2V5ID0gZnVuY3Rpb24oa2V5Qnl0ZXMpCgogICAgICAgIGtleSA9IGtleUJ5dGVzOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldEJsb2NrQ2lwaGVyID0gZnVuY3Rpb24oY2lwaGVyKQoKICAgICAgICBibG9ja0NpcGhlciA9IGNpcGhlcjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYWRkaW5nID0gZnVuY3Rpb24ocGFkZGluZ01vZGUpCgogICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nTW9kZTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBpbnB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgb3V0cHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBpdiA9IG5pbDsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gYmxvY2s7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmRlY3J5cHQoa2V5LCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1IoaXYsIG91dCk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCnJldHVybiBDQkM7CgBCsKUTC7JQbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCmxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKTsKCmxvY2FsIFF1ZXVlID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnF1ZXVlIik7CgoKCmxvY2FsIE9GQiA9IHt9OwoKCgpPRkIuQ2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKICAgIGxvY2FsIGl2OwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgaXYgPSBuaWw7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBpZihpdiA9PSBuaWwpIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgIGxvY2FsIG91dCA9IGl2OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBibG9ja0NpcGhlci5lbmNyeXB0KGtleSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgaXYgPSBvdXQ7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IEFycmF5LlhPUihvdXQsIGJsb2NrKTsKCiAgICAgICAgICAgICAgICAgICAgQXJyYXkud3JpdGVUb1F1ZXVlKG91dHB1dFF1ZXVlLCBvdXQpOwoKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKT0ZCLkRlY2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKICAgIGxvY2FsIGl2OwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgaXYgPSBuaWw7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBpZihpdiA9PSBuaWwpIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgIGxvY2FsIG91dCA9IGl2OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBibG9ja0NpcGhlci5lbmNyeXB0KGtleSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgaXYgPSBvdXQ7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IEFycmF5LlhPUihvdXQsIGJsb2NrKTsKCiAgICAgICAgICAgICAgICAgICAgQXJyYXkud3JpdGVUb1F1ZXVlKG91dHB1dFF1ZXVlLCBvdXQpOwoKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKCgpyZXR1cm4gT0ZCO2xvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5Iik7Cgpsb2NhbCBTdHJlYW0gPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuc3RyZWFtIik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7CgoKCmxvY2FsIEFORCA9IEJpdC5iYW5kOwoKCgpsb2NhbCBDVFIgPSB7fTsKCgoKQ1RSLkNpcGhlciA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKCgogICAgbG9jYWwga2V5OwoKICAgIGxvY2FsIGJsb2NrQ2lwaGVyOwoKICAgIGxvY2FsIHBhZGRpbmc7CgogICAgbG9jYWwgaW5wdXRRdWV1ZTsKCiAgICBsb2NhbCBvdXRwdXRRdWV1ZTsKCiAgICBsb2NhbCBpdjsKCgoKICAgIHB1YmxpYy5zZXRLZXkgPSBmdW5jdGlvbihrZXlCeXRlcykKCiAgICAgICAga2V5ID0ga2V5Qnl0ZXM7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tDaXBoZXIgPSBmdW5jdGlvbihjaXBoZXIpCgogICAgICAgIGJsb2NrQ2lwaGVyID0gY2lwaGVyOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldFBhZGRpbmcgPSBmdW5jdGlvbihwYWRkaW5nTW9kZSkKCiAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdNb2RlOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmluaXQgPSBmdW5jdGlvbigpCgogICAgICAgIGlucHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBvdXRwdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIGl2ID0gbmlsOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgbG9jYWwgdXBkYXRlSVYgPSBmdW5jdGlvbigpCgogICAgICAgIGl2WzE2XSA9IGl2WzE2XSArIDE7CgogICAgICAgIGlmIGl2WzE2XSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTZdID0gQU5EKGl2WzE2XSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTVdID0gaXZbMTVdICsgMTsKCiAgICAgICAgaWYgaXZbMTVdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxNV0gPSBBTkQoaXZbMTVdLCAweEZGKTsKCgoKICAgICAgICBpdlsxNF0gPSBpdlsxNF0gKyAxOwoKICAgICAgICBpZiBpdlsxNF0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzE0XSA9IEFORChpdlsxNF0sIDB4RkYpOwoKCgogICAgICAgIGl2WzEzXSA9IGl2WzEzXSArIDE7CgogICAgICAgIGlmIGl2WzEzXSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTNdID0gQU5EKGl2WzEzXSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTJdID0gaXZbMTJdICsgMTsKCiAgICAgICAgaWYgaXZbMTJdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxMl0gPSBBTkQoaXZbMTJdLCAweEZGKTsKCgoKICAgICAgICBpdlsxMV0gPSBpdlsxMV0gKyAxOwoKICAgICAgICBpZiBpdlsxMV0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzExXSA9IEFORChpdlsxMV0sIDB4RkYpOwoKCgogICAgICAgIGl2WzEwXSA9IGl2WzEwXSArIDE7CgogICAgICAgIGlmIGl2WzEwXSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTBdID0gQU5EKGl2WzEwXSwgMHhGRik7CgoKCiAgICAgICAgaXZbOV0gPSBpdls5XSArIDE7CgogICAgICAgIGlmIGl2WzldIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdls5XSA9IEFORChpdls5XSwgMHhGRik7CgoKCiAgICAgICAgcmV0dXJuOwoKICAgIGVuZAoKCgogICAgcHVibGljLnVwZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VTdHJlYW0pCgogICAgICAgIGxvY2FsIGJ5dGUgPSBtZXNzYWdlU3RyZWFtKCk7CgogICAgICAgIHdoaWxlIChieXRlIH49IG5pbCkgZG8KCiAgICAgICAgICAgIGlucHV0UXVldWUucHVzaChieXRlKTsKCgoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBpZihpdiA9PSBuaWwpIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgIGxvY2FsIG91dCA9IGl2OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBibG9ja0NpcGhlci5lbmNyeXB0KGtleSwgb3V0KTsKCgoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSVYoKTsKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCgoKQ1RSLkRlY2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKICAgIGxvY2FsIGl2OwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgaXYgPSBuaWw7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBsb2NhbCB1cGRhdGVJViA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaXZbMTZdID0gaXZbMTZdICsgMTsKCiAgICAgICAgaWYgaXZbMTZdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxNl0gPSBBTkQoaXZbMTZdLCAweEZGKTsKCgoKICAgICAgICBpdlsxNV0gPSBpdlsxNV0gKyAxOwoKICAgICAgICBpZiBpdlsxNV0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzE1XSA9IEFORChpdlsxNV0sIDB4RkYpOwoKCgogICAgICAgIGl2WzE0XSA9IGl2WzE0XSArIDE7CgogICAgICAgIGlmIGl2WzE0XSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTRdID0gQU5EKGl2WzE0XSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTNdID0gaXZbMTNdICsgMTsKCiAgICAgICAgaWYgaXZbMTNdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxM10gPSBBTkQoaXZbMTNdLCAweEZGKTsKCgoKICAgICAgICBpdlsxMl0gPSBpdlsxMl0gKyAxOwoKICAgICAgICBpZiBpdlsxMl0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzEyXSA9IEFORChpdlsxMl0sIDB4RkYpOwoKCgogICAgICAgIGl2WzExXSA9IGl2WzExXSArIDE7CgogICAgICAgIGlmIGl2WzExXSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTFdID0gQU5EKGl2WzExXSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTBdID0gaXZbMTBdICsgMTsKCiAgICAgICAgaWYgaXZbMTBdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxMF0gPSBBTkQoaXZbMTBdLCAweEZGKTsKCgoKICAgICAgICBpdls5XSA9IGl2WzldICsgMTsKCiAgICAgICAgaWYgaXZbOV0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzldID0gQU5EKGl2WzldLCAweEZGKTsKCgoKICAgICAgICByZXR1cm47CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKCgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gaXY7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmVuY3J5cHQoa2V5LCBvdXQpOwoKCgogICAgICAgICAgICAgICAgICAgIG91dCA9IEFycmF5LlhPUihvdXQsIGJsb2NrKTsKCiAgICAgICAgICAgICAgICAgICAgQXJyYXkud3JpdGVUb1F1ZXVlKG91dHB1dFF1ZXVlLCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICB1cGRhdGVJVigpOwoKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKcmV0dXJuIENUUjsKAELw9RMLgjpsb2NhbCBBcnJheSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5hcnJheSIpOwoKbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpOwoKbG9jYWwgUXVldWUgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwucXVldWUiKTsKCgoKbG9jYWwgQ0ZCID0ge307CgoKCkNGQi5DaXBoZXIgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIGtleTsKCiAgICBsb2NhbCBibG9ja0NpcGhlcjsKCiAgICBsb2NhbCBwYWRkaW5nOwoKICAgIGxvY2FsIGlucHV0UXVldWU7CgogICAgbG9jYWwgb3V0cHV0UXVldWU7CgogICAgbG9jYWwgaXY7CgoKCiAgICBwdWJsaWMuc2V0S2V5ID0gZnVuY3Rpb24oa2V5Qnl0ZXMpCgogICAgICAgIGtleSA9IGtleUJ5dGVzOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldEJsb2NrQ2lwaGVyID0gZnVuY3Rpb24oY2lwaGVyKQoKICAgICAgICBibG9ja0NpcGhlciA9IGNpcGhlcjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYWRkaW5nID0gZnVuY3Rpb24ocGFkZGluZ01vZGUpCgogICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nTW9kZTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBpbnB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgb3V0cHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBpdiA9IG5pbDsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gaXY7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmVuY3J5cHQoa2V5LCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgaXYgPSBvdXQ7CgogICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGJ5dGUgPSBtZXNzYWdlU3RyZWFtKCk7CgogICAgICAgIGVuZAoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmZpbmlzaCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgcGFkZGluZ1N0cmVhbSA9IHBhZGRpbmcoYmxvY2tDaXBoZXIuYmxvY2tTaXplLCBpbnB1dFF1ZXVlLmdldEhlYWQoKSk7CgogICAgICAgIHB1YmxpYy51cGRhdGUocGFkZGluZ1N0cmVhbSk7CgoKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5nZXRPdXRwdXRRdWV1ZSA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIG91dHB1dFF1ZXVlOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvSGV4KG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0FycmF5KG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9TdHJpbmcob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBwdWJsaWM7CgoKCmVuZAoKCgpDRkIuRGVjaXBoZXIgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIGtleTsKCiAgICBsb2NhbCBibG9ja0NpcGhlcjsKCiAgICBsb2NhbCBwYWRkaW5nOwoKICAgIGxvY2FsIGlucHV0UXVldWU7CgogICAgbG9jYWwgb3V0cHV0UXVldWU7CgogICAgbG9jYWwgaXY7CgoKCiAgICBwdWJsaWMuc2V0S2V5ID0gZnVuY3Rpb24oa2V5Qnl0ZXMpCgogICAgICAgIGtleSA9IGtleUJ5dGVzOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldEJsb2NrQ2lwaGVyID0gZnVuY3Rpb24oY2lwaGVyKQoKICAgICAgICBibG9ja0NpcGhlciA9IGNpcGhlcjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYWRkaW5nID0gZnVuY3Rpb24ocGFkZGluZ01vZGUpCgogICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nTW9kZTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBpbnB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgb3V0cHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBpdiA9IG5pbDsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gaXY7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmVuY3J5cHQoa2V5LCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCnJldHVybiBDRkI7bG9jYWwgQml0ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmJpdCIpOwoKbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpOwoKbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCgoKbG9jYWwgU0hBMSA9IHJlcXVpcmUoIi5jcnlwdG8uZGlnZXN0LnNoYTEiKTsKCmxvY2FsIFNIQTJfMjU2ID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3Quc2hhMl8yNTYiKTsKCgoKbG9jYWwgWE9SID0gQml0LmJ4b3I7CgoKCmxvY2FsIEhNQUMgPSBmdW5jdGlvbigpCgogICAgbG9jYWwgcHVibGljID0ge307CgogICAgbG9jYWwgYmxvY2tTaXplID0gNjQ7CgogICAgbG9jYWwgRGlnZXN0ID0gbmlsOwoKICAgIGxvY2FsIG91dGVyUGFkZGluZyA9IHt9OwoKICAgIGxvY2FsIGlubmVyUGFkZGluZyA9IHt9CgogICAgbG9jYWwgZGlnZXN0OwoKCgogICAgcHVibGljLnNldEJsb2NrU2l6ZSA9IGZ1bmN0aW9uKGJ5dGVzKQoKICAgICAgICBibG9ja1NpemUgPSBieXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXREaWdlc3QgPSBmdW5jdGlvbihkaWdlc3RNb2R1bGUpCgogICAgICAgIERpZ2VzdCA9IGRpZ2VzdE1vZHVsZTsKCiAgICAgICAgZGlnZXN0ID0gRGlnZXN0KCk7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0S2V5ID0gZnVuY3Rpb24oa2V5KQoKICAgICAgICBsb2NhbCBrZXlTdHJlYW07CgogICAgICAgIGlmIERpZ2VzdCA9PSBuaWwgdGhlbgoKICAgICAgICAgICAgZXJyb3IoIkRpZ2VzdCBub3Qgc2V0Iik7CgogICAgICAgIGVuZAoKICAgICAgICBpZiAoQXJyYXkuc2l6ZShrZXkpID4gYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICBrZXlTdHJlYW0gPSBTdHJlYW0uZnJvbUFycmF5KERpZ2VzdCgpCgogICAgICAgICAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KGtleSkpCgogICAgICAgICAgICAgICAgLmZpbmlzaCgpCgogICAgICAgICAgICAgICAgLmFzQnl0ZXMoKSk7CgogICAgICAgIGVsc2UKCiAgICAgICAgICAgIGtleVN0cmVhbSA9IFN0cmVhbS5mcm9tQXJyYXkoa2V5KTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgb3V0ZXJQYWRkaW5nID0ge307CgogICAgICAgIGlubmVyUGFkZGluZyA9IHt9OwoKCgogICAgICAgIGZvciBpID0gMSwgYmxvY2tTaXplIGRvCgogICAgICAgICAgICBsb2NhbCBieXRlID0ga2V5U3RyZWFtKCk7CgogICAgICAgICAgICBpZiBieXRlID09IG5pbCB0aGVuIGJ5dGUgPSAweDAwOyBlbmQKCiAgICAgICAgICAgIG91dGVyUGFkZGluZ1tpXSA9IFhPUigweDVDLCBieXRlKTsKCiAgICAgICAgICAgIGlubmVyUGFkZGluZ1tpXSA9IFhPUigweDM2LCBieXRlKTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBkaWdlc3QuaW5pdCgpCgogICAgICAgICAgICAudXBkYXRlKFN0cmVhbS5mcm9tQXJyYXkoaW5uZXJQYWRkaW5nKSk7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgZGlnZXN0LnVwZGF0ZShtZXNzYWdlU3RyZWFtKTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGlubmVyID0gZGlnZXN0LmZpbmlzaCgpLmFzQnl0ZXMoKTsKCiAgICAgICAgZGlnZXN0LmluaXQoKQoKICAgICAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KG91dGVyUGFkZGluZykpCgogICAgICAgICAgICAudXBkYXRlKFN0cmVhbS5mcm9tQXJyYXkoaW5uZXIpKQoKICAgICAgICAgICAgLmZpbmlzaCgpOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGRpZ2VzdC5hc0J5dGVzKCk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBkaWdlc3QuYXNIZXgoKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGRpZ2VzdC5hc1N0cmluZygpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCmVuZAoKCgotLS0gQGNsYXNzIEFycmF5IDogdGFibGUKCi0tLSBAY2xhc3MgU3RyZWFtIDogdGFibGUKCgoKLS0tIEhNQUMgZnVuY3Rpb24gZm9yIGdlbmVyYXRpbmcgYSBoYXNoLWJhc2VkIG1lc3NhZ2UgYXV0aGVudGljYXRpb24gY29kZQoKLS0tIEBwYXJhbSBkYXRhIChTdHJlYW0pIC0gVGhlIGRhdGEgdG8gaGFzaCBhbmQgYXV0aGVudGljYXRlCgotLS0gQHBhcmFtIGtleSAoQXJyYXkpIC0gVGhlIGtleSB0byB1c2UgZm9yIHRoZSBITUFDCgotLS0gQHBhcmFtIGFsZ29yaXRobT8gKHN0cmluZykgLSBUaGUgYWxnb3JpdGhtIHRvIHVzZSBmb3IgdGhlIEhNQUMgKHNoYTEsIHNoYTI1NikuIERlZmF1bHRzIHRvICJzaGExIgoKLS0tIEByZXR1cm5zIHRhYmxlIC0gQSB0YWJsZSBjb250YWluaW5nIHRoZSBITUFDIGluIGJ5dGVzLCBzdHJpbmcsIGFuZCBoZXggZm9ybWF0cy4KCmxvY2FsIGhtYWMgPSBmdW5jdGlvbihkYXRhLCBrZXksIGFsZ29yaXRobSkKCiAgICBsb2NhbCBkaWdlc3QgPSBuaWwKCiAgICBpZiBhbGdvcml0aG0gPT0gInNoYTEiIHRoZW4KCiAgICAgICAgZGlnZXN0ID0gU0hBMS5TSEExCgogICAgZWxzZWlmIGFsZ29yaXRobSA9PSAic2hhMjU2IiB0aGVuCgogICAgICAgIGRpZ2VzdCA9IFNIQTJfMjU2LlNIQTJfMjU2CgogICAgZWxzZWlmIGFsZ29yaXRobSA9PSBuaWwgdGhlbgoKICAgICAgICBkaWdlc3QgPSBTSEExLlNIQTEKCiAgICBlbHNlCgogICAgICAgIGVycm9yKCJVbnN1cHBvcnRlZCBhbGdvcml0aG06ICIgLi4gYWxnb3JpdGhtKQoKICAgIGVuZAoKCgogICAgbG9jYWwgcmVzID0gSE1BQygpCgogICAgICAgICAgICAgICAgLnNldEJsb2NrU2l6ZSgzMikKCiAgICAgICAgICAgICAgICAuc2V0RGlnZXN0KGRpZ2VzdCkKCiAgICAgICAgICAgICAgICAuc2V0S2V5KGtleSkKCiAgICAgICAgICAgICAgICAuaW5pdCgpCgogICAgICAgICAgICAgICAgLnVwZGF0ZShkYXRhKQoKICAgICAgICAgICAgICAgIC5maW5pc2goKQoKCgoJcmV0dXJuIHJlcwoKZW5kCgoKCnJldHVybiB7CgogICAgaG1hYyA9IGhtYWMsCgogICAgSE1BQyA9IEhNQUMKCn07AEKAsBQLgQFsb2NhbCBIbWFjID0gcmVxdWlyZSgiLmNyeXB0by5tYWMuaG1hYyIpCgoKCmxvY2FsIG1hYyA9IHsKCiAgICBfdmVyc2lvbiA9ICIwLjAuMSIsCgogICAgY3JlYXRlSG1hYyA9IEhtYWMuaG1hYywKCn07CgoKCnJldHVybiBtYWMAQpCxFAu1S2xvY2FsIFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgIGxvY2FsIHF1ZXVlID0ge307CgogICAgbG9jYWwgdGFpbCA9IDA7CgogICAgbG9jYWwgaGVhZCA9IDA7CgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIHB1YmxpYy5wdXNoID0gZnVuY3Rpb24ob2JqKQoKICAgICAgICBxdWV1ZVtoZWFkXSA9IG9iajsKCiAgICAgICAgaGVhZCA9IGhlYWQgKyAxOwoKICAgICAgICByZXR1cm47CgogICAgZW5kCgoKCiAgICBwdWJsaWMucG9wID0gZnVuY3Rpb24oKQoKICAgICAgICBpZiB0YWlsIDwgaGVhZAoKICAgICAgICB0aGVuCgogICAgICAgICAgICBsb2NhbCBvYmogPSBxdWV1ZVt0YWlsXTsKCiAgICAgICAgICAgIHF1ZXVlW3RhaWxdID0gbmlsOwoKICAgICAgICAgICAgdGFpbCA9IHRhaWwgKyAxOwoKICAgICAgICAgICAgcmV0dXJuIG9iajsKCiAgICAgICAgZWxzZQoKICAgICAgICAgICAgcmV0dXJuIG5pbDsKCiAgICAgICAgZW5kCgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2l6ZSA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGhlYWQgLSB0YWlsOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldEhlYWQgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBoZWFkOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldFRhaWwgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiB0YWlsOwoKICAgIGVuZAoKCgogICAgcHVibGljLnJlc2V0ID0gZnVuY3Rpb24oKQoKICAgICAgICBxdWV1ZSA9IHt9OwoKICAgICAgICBoZWFkID0gMDsKCiAgICAgICAgdGFpbCA9IDA7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKZW5kCgoKCnJldHVybiBRdWV1ZTtsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBTdHJlYW0gPSB7fTsKCgoKCgpTdHJlYW0uZnJvbVN0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykKCiAgICBsb2NhbCBpID0gMDsKCiAgICByZXR1cm4gZnVuY3Rpb24oKQoKICAgICAgICBpID0gaSArIDE7CgogICAgICAgIHJldHVybiBzdHJpbmcuYnl0ZShzdHJpbmcsIGkpOwoKICAgIGVuZAoKZW5kCgoKCgoKU3RyZWFtLnRvU3RyaW5nID0gZnVuY3Rpb24oc3RyZWFtKQoKICAgIGxvY2FsIGFycmF5ID0ge307CgogICAgbG9jYWwgaSA9IDE7CgoKCiAgICBsb2NhbCBieXRlID0gc3RyZWFtKCk7CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgYXJyYXlbaV0gPSBzdHJpbmcuY2hhcihieXRlKTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gc3RyZWFtKCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gdGFibGUuY29uY2F0KGFycmF5KTsKCmVuZAoKCgoKClN0cmVhbS5mcm9tQXJyYXkgPSBmdW5jdGlvbihhcnJheSkKCiAgICBsb2NhbCBxdWV1ZSA9IFF1ZXVlKCk7CgogICAgbG9jYWwgaSA9IDE7CgoKCiAgICBsb2NhbCBieXRlID0gYXJyYXlbaV07CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgcXVldWUucHVzaChieXRlKTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gYXJyYXlbaV07CgogICAgZW5kCgoKCiAgICByZXR1cm4gcXVldWUucG9wOwoKZW5kCgoKCgoKU3RyZWFtLnRvQXJyYXkgPSBmdW5jdGlvbihzdHJlYW0pCgogICAgbG9jYWwgYXJyYXkgPSB7fTsKCiAgICBsb2NhbCBpID0gMTsKCgoKICAgIGxvY2FsIGJ5dGUgPSBzdHJlYW0oKTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBhcnJheVtpXSA9IGJ5dGU7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgYnl0ZSA9IHN0cmVhbSgpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIGFycmF5OwoKZW5kCgoKCgoKbG9jYWwgZnJvbUhleFRhYmxlID0ge307Cgpmb3IgaSA9IDAsIDI1NSBkbwoKICAgIGZyb21IZXhUYWJsZVtzdHJpbmcuZm9ybWF0KCIlMDJYIiwgaSldID0gaTsKCiAgICBmcm9tSGV4VGFibGVbc3RyaW5nLmZvcm1hdCgiJTAyeCIsIGkpXSA9IGk7CgplbmQKCgoKU3RyZWFtLmZyb21IZXggPSBmdW5jdGlvbihoZXgpCgogICAgbG9jYWwgcXVldWUgPSBRdWV1ZSgpOwoKCgogICAgZm9yIGkgPSAxLCBzdHJpbmcubGVuKGhleCkgLyAyIGRvCgogICAgICAgIGxvY2FsIGggPSBzdHJpbmcuc3ViKGhleCwgaSAqIDIgLSAxLCBpICogMik7CgogICAgICAgIHF1ZXVlLnB1c2goZnJvbUhleFRhYmxlW2hdKTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBxdWV1ZS5wb3A7CgplbmQKCgoKCgoKCmxvY2FsIHRvSGV4VGFibGUgPSB7fTsKCmZvciBpID0gMCwgMjU1IGRvCgogICAgdG9IZXhUYWJsZVtpXSA9IHN0cmluZy5mb3JtYXQoIiUwMlgiLCBpKTsKCmVuZAoKCgpTdHJlYW0udG9IZXggPSBmdW5jdGlvbihzdHJlYW0pCgogICAgbG9jYWwgaGV4ID0ge307CgogICAgbG9jYWwgaSA9IDE7CgoKCiAgICBsb2NhbCBieXRlID0gc3RyZWFtKCk7CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgaGV4W2ldID0gdG9IZXhUYWJsZVtieXRlXTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gc3RyZWFtKCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gdGFibGUuY29uY2F0KGhleCk7CgplbmQKCgoKcmV0dXJuIFN0cmVhbTsAAAAAAAoKLS0tIENvbnZlcnRzIGEgc3RyaW5nIHRvIGl0cyBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbi4KCi0tLSBAcGFyYW0gcyBzdHJpbmcgVGhlIGlucHV0IHN0cmluZy4KCi0tLSBAcGFyYW0gbG4/IG51bWJlciAtIFRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBwZXIgbGluZS4gSWYgbm90IHByb3ZpZGVkLCB0aGUgb3V0cHV0IHdpbGwgYmUgYSBzaW5nbGUgbGluZS4KCi0tLSBAcGFyYW0gc2VwPyBzdHJpbmcgLSBUaGUgc2VwYXJhdG9yIGJldHdlZW4gZWFjaCBwYWlyIG9mIGhleGFkZWNpbWFsIGNoYXJhY3RlcnMuIERlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZy4KCi0tLSBAcmV0dXJuIHN0cmluZyBUaGUgLSBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgaW5wdXQgc3RyaW5nLgoKbG9jYWwgZnVuY3Rpb24gc3RyaW5nVG9IZXgocywgbG4sIHNlcCkKCglpZiAjcyA9PSAwIHRoZW4gcmV0dXJuICIiIGVuZAoKCWlmIG5vdCBsbiB0aGVuCgoJCXJldHVybiAoczpnc3ViKCcuJywKCgkJCWZ1bmN0aW9uKGMpIHJldHVybiBzdHJpbmcuZm9ybWF0KCclMDJ4Jywgc3RyaW5nLmJ5dGUoYykpIGVuZAoKCQkpKQoKCWVuZAoKCXNlcCA9IHNlcCBvciAiIgoKCWxvY2FsIHQgPSB7fQoKCWZvciBpID0gMSwgI3MgLSAxIGRvCgoJCXRbI3QgKyAxXSA9IHN0cmluZy5mb3JtYXQoIiUwMnglcyIsIHM6Ynl0ZShpKSwKCgkJCShpICUgbG4gPT0gMCkgYW5kICdcbicgb3Igc2VwKQoKCWVuZAoKCXRbI3QgKyAxXSA9IHN0cmluZy5mb3JtYXQoIiUwMngiLCBzOmJ5dGUoI3MpKQoKCXJldHVybiB0YWJsZS5jb25jYXQodCkKCmVuZAoKCgotLS0gQ29udmVydHMgYSBoZXggZW5jb2RlZCBzdHJpbmcgdG8gaXRzIGNvcnJlc3BvbmRpbmcgZGVjb2RlZCBzdHJpbmcuCgotLS0gSWYgdGhlIG9wdGlvbmFsIHBhcmFtZXRlciBgdW5zYWZlYCBpcyBkZWZpbmVkLCBpdCBhc3N1bWVzIHRoYXQgdGhlIGhleCBzdHJpbmcgaXMgd2VsbC1mb3JtZWQKCi0tLSAobm8gY2hlY2tzLCBubyB3aGl0ZXNwYWNlIHJlbW92YWwpLiBCeSBkZWZhdWx0LCBpdCByZW1vdmVzIHdoaXRlc3BhY2UgKGluY2x1ZGluZyBuZXdsaW5lcykKCi0tLSBhbmQgY2hlY2tzIHRoYXQgdGhlIGhleCBzdHJpbmcgaXMgd2VsbC1mb3JtZWQuCgotLS0gQHBhcmFtIGhzIChzdHJpbmcpIFRoZSBoZXggZW5jb2RlZCBzdHJpbmcgdG8gYmUgZGVjb2RlZC4KCi0tLSBAcGFyYW0gdW5zYWZlIChib29sZWFuKSBbb3B0aW9uYWxdIElmIHRydWUsIGFzc3VtZXMgdGhlIGhleCBzdHJpbmcgaXMgd2VsbC1mb3JtZWQuCgotLS0gQHJldHVybiAoc3RyaW5nKSBUaGUgZGVjb2RlZCBzdHJpbmcuCgpsb2NhbCBmdW5jdGlvbiBoZXhUb1N0cmluZyhocywgdW5zYWZlKQoKCWxvY2FsIHRvbnVtYmVyID0gdG9udW1iZXIKCglpZiBub3QgdW5zYWZlIHRoZW4KCgkJaHMgPSBzdHJpbmcuZ3N1YihocywgIiVzKyIsICIiKSAtLSByZW1vdmUgd2hpdGVzcGFjZXMKCgkJaWYgc3RyaW5nLmZpbmQoaHMsICdbXjAtOUEtWmEtel0nKSBvciAjaHMgJSAyIH49IDAgdGhlbgoKCQkJZXJyb3IoImludmFsaWQgaGV4IHN0cmluZyIpCgoJCWVuZAoKCWVuZAoKCWxvY2FsIGNvdW50ID0gIHN0cmluZy5nc3ViKGhzLCAnKCV4JXgpJyxmdW5jdGlvbihjKSByZXR1cm4gc3RyaW5nLmNoYXIodG9udW1iZXIoYywgMTYpKSBlbmQpCgoJcmV0dXJuIGNvdW50CgplbmQKCgoKcmV0dXJuIHsKCglzdHJpbmdUb0hleCA9IHN0cmluZ1RvSGV4LAoKCWhleFRvU3RyaW5nID0gaGV4VG9TdHJpbmcsCgp9bG9jYWwgb2ssIGUKCm9rID0gbmlsCgppZiBub3Qgb2sgdGhlbgoKICAgIG9rLCBlID0gcGNhbGwocmVxdWlyZSwgImJpdCIpIC0tIHRoZSBMdWFKSVQgb25lID8KCmVuZAoKaWYgbm90IG9rIHRoZW4KCiAgICBvaywgZSA9IHBjYWxsKHJlcXVpcmUsICJiaXQzMiIpIC0tIEx1YSA1LjIKCmVuZAoKaWYgbm90IG9rIHRoZW4KCiAgICBvaywgZSA9IHBjYWxsKHJlcXVpcmUsICJiaXQubnVtYmVybHVhIikgLS0gZm9yIEx1YSA1LjEsIGh0dHBzOi8vZ2l0aHViLmNvbS90c3QyMDA1L2x1YS1iaXQtbnVtYmVybHVhLwoKZW5kCgppZiBub3Qgb2sgdGhlbgoKICAgIGVycm9yKCJubyBiaXR3aXNlIHN1cHBvcnQgZm91bmQiLCAyKQoKZW5kCgphc3NlcnQodHlwZShlKSA9PSAidGFibGUiLCAiaW52YWxpZCBiaXQgbW9kdWxlIikKCgoKLS0gV29ya2Fyb3VuZCB0byBzdXBwb3J0IEx1YSA1LjIgYml0MzIgQVBJIHdpdGggdGhlIEx1YUpJVCBiaXQgb25lCgppZiBlLnJvbCBhbmQgbm90IGUubHJvdGF0ZSB0aGVuCgogICAgZS5scm90YXRlID0gZS5yb2wKCmVuZAoKaWYgZS5yb3IgYW5kIG5vdCBlLnJyb3RhdGUgdGhlbgoKICAgIGUucnJvdGF0ZSA9IGUucm9yCgplbmQKCgoKLS0gV29ya2Fyb3VuZCB0byBzdXBwb3J0IGluY29tcGxldGUgYml0IG9wZXJhdGlvbnMgc2V0CgppZiBub3QgZS5yb3IgYW5kIG5vdCBlLnJyb3RhdGUgdGhlbgoKICAgIGxvY2FsIHJvciA9IGZ1bmN0aW9uKGIsIG4pCgogICAgICAgIHJldHVybiBlLmJvcihlLnJzaGlmdChiLCBuKSwgZS5sc2hpZnQoYiwgMzIgLSBuKSkKCiAgICBlbmQKCgoKICAgIGUucm9yID0gcm9yCgogICAgZS5ycm90YXRlID0gcm9yCgplbmQKCgoKaWYgbm90IGUucm9sIGFuZCBub3QgZS5scm90YXRlIHRoZW4KCiAgICBsb2NhbCByb2wgPSBmdW5jdGlvbihiLCBuKQoKICAgICAgICByZXR1cm4gZS5ib3IoZS5sc2hpZnQoYiwgbiksIGUucnNoaWZ0KGIsIDMyIC0gbikpCgogICAgZW5kCgoKCiAgICBlLnJvbCA9IHJvbAoKICAgIGUubHJvdGF0ZSA9IHJvbAoKZW5kCgoKCnJldHVybiBlAAAAAAAKCmxvY2FsIEJpdCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5iaXQiKTsKCmxvY2FsIFF1ZXVlID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnF1ZXVlIik7CgoKCmxvY2FsIFhPUiA9IEJpdC5ieG9yOwoKCgpsb2NhbCBBcnJheSA9IHt9OwoKCgpBcnJheS5zaXplID0gZnVuY3Rpb24oYXJyYXkpCgogICAgcmV0dXJuICNhcnJheTsKCmVuZAoKCgpBcnJheS5mcm9tU3RyaW5nID0gZnVuY3Rpb24oc3RyaW5nKQoKICAgIGxvY2FsIGJ5dGVzID0ge307CgoKCiAgICBsb2NhbCBpID0gMTsKCiAgICBsb2NhbCBieXRlID0gc3RyaW5nLmJ5dGUoc3RyaW5nLCBpKTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBieXRlc1tpXSA9IGJ5dGU7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgYnl0ZSA9IHN0cmluZy5ieXRlKHN0cmluZywgaSk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gYnl0ZXM7CgoKCmVuZAoKCgpBcnJheS50b1N0cmluZyA9IGZ1bmN0aW9uKGJ5dGVzKQoKICAgIGxvY2FsIGNoYXJzID0ge307CgogICAgbG9jYWwgaSA9IDE7CgoKCiAgICBsb2NhbCBieXRlID0gYnl0ZXNbaV07CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgY2hhcnNbaV0gPSBzdHJpbmcuY2hhcihieXRlKTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gYnl0ZXNbaV07CgogICAgZW5kCgoKCiAgICByZXR1cm4gdGFibGUuY29uY2F0KGNoYXJzLCAiIik7CgplbmQKCgoKQXJyYXkuZnJvbVN0cmVhbSA9IGZ1bmN0aW9uKHN0cmVhbSkKCiAgICBsb2NhbCBhcnJheSA9IHt9OwoKICAgIGxvY2FsIGkgPSAxOwoKCgogICAgbG9jYWwgYnl0ZSA9IHN0cmVhbSgpOwoKICAgIHdoaWxlIGJ5dGUgfj0gbmlsIGRvCgogICAgICAgIGFycmF5W2ldID0gYnl0ZTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gc3RyZWFtKCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gYXJyYXk7CgplbmQKCgoKQXJyYXkucmVhZEZyb21RdWV1ZSA9IGZ1bmN0aW9uKHF1ZXVlLCBzaXplKQoKICAgIGxvY2FsIGFycmF5ID0ge307CgoKCiAgICBmb3IgaSA9IDEsIHNpemUgZG8KCiAgICAgICAgYXJyYXlbaV0gPSBxdWV1ZS5wb3AoKTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBhcnJheTsKCmVuZAoKCgpBcnJheS53cml0ZVRvUXVldWUgPSBmdW5jdGlvbihxdWV1ZSwgYXJyYXkpCgogICAgbG9jYWwgc2l6ZSA9IEFycmF5LnNpemUoYXJyYXkpOwoKCgogICAgZm9yIGkgPSAxLCBzaXplIGRvCgogICAgICAgIHF1ZXVlLnB1c2goYXJyYXlbaV0pOwoKICAgIGVuZAoKZW5kCgoKCkFycmF5LnRvU3RyZWFtID0gZnVuY3Rpb24oYXJyYXkpCgogICAgbG9jYWwgcXVldWUgPSBRdWV1ZSgpOwoKICAgIGxvY2FsIGkgPSAxOwoKCgogICAgbG9jYWwgYnl0ZSA9IGFycmF5W2ldOwoKICAgIHdoaWxlIGJ5dGUgfj0gbmlsIGRvCgogICAgICAgIHF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgYnl0ZSA9IGFycmF5W2ldOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHF1ZXVlLnBvcDsKCmVuZAoKCgoKCmxvY2FsIGZyb21IZXhUYWJsZSA9IHt9OwoKZm9yIGkgPSAwLCAyNTUgZG8KCiAgICBmcm9tSGV4VGFibGVbc3RyaW5nLmZvcm1hdCgiJTAyWCIsIGkpXSA9IGk7CgogICAgZnJvbUhleFRhYmxlW3N0cmluZy5mb3JtYXQoIiUwMngiLCBpKV0gPSBpOwoKZW5kCgoKCkFycmF5LmZyb21IZXggPSBmdW5jdGlvbihoZXgpCgogICAgbG9jYWwgYXJyYXkgPSB7fTsKCgoKICAgIGZvciBpID0gMSwgc3RyaW5nLmxlbihoZXgpIC8gMiBkbwoKICAgICAgICBsb2NhbCBoID0gc3RyaW5nLnN1YihoZXgsIGkgKiAyIC0gMSwgaSAqIDIpOwoKICAgICAgICBhcnJheVtpXSA9IGZyb21IZXhUYWJsZVtoXTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBhcnJheTsKCmVuZAoKCgoKCmxvY2FsIHRvSGV4VGFibGUgPSB7fTsKCmZvciBpID0gMCwgMjU1IGRvCgogICAgdG9IZXhUYWJsZVtpXSA9IHN0cmluZy5mb3JtYXQoIiUwMlgiLCBpKTsKCmVuZAoKCgpBcnJheS50b0hleCA9IGZ1bmN0aW9uKGFycmF5KQoKICAgIGxvY2FsIGhleCA9IHt9OwoKICAgIGxvY2FsIGkgPSAxOwoKCgogICAgbG9jYWwgYnl0ZSA9IGFycmF5W2ldOwoKICAgIHdoaWxlIGJ5dGUgfj0gbmlsIGRvCgogICAgICAgIGhleFtpXSA9IHRvSGV4VGFibGVbYnl0ZV07CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgYnl0ZSA9IGFycmF5W2ldOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHRhYmxlLmNvbmNhdChoZXgsICIiKTsKCgoKZW5kCgoKCkFycmF5LmNvbmNhdCA9IGZ1bmN0aW9uKGEsIGIpCgogICAgbG9jYWwgY29uY2F0ID0ge307CgogICAgbG9jYWwgb3V0ID0gMTsKCgoKICAgIGxvY2FsIGkgPSAxOwoKICAgIGxvY2FsIGJ5dGUgPSBhW2ldOwoKICAgIHdoaWxlIGJ5dGUgfj0gbmlsIGRvCgogICAgICAgIGNvbmNhdFtvdXRdID0gYnl0ZTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBvdXQgPSBvdXQgKyAxOwoKICAgICAgICBieXRlID0gYVtpXTsKCiAgICBlbmQKCgoKICAgIGkgPSAxOwoKICAgIGJ5dGUgPSBiW2ldOwoKICAgIHdoaWxlIGJ5dGUgfj0gbmlsIGRvCgogICAgICAgIGNvbmNhdFtvdXRdID0gYnl0ZTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBvdXQgPSBvdXQgKyAxOwoKICAgICAgICBieXRlID0gYltpXTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBjb25jYXQ7CgplbmQKCgoKQXJyYXkudHJ1bmNhdGUgPSBmdW5jdGlvbihhLCBuZXdTaXplKQoKICAgIGxvY2FsIHggPSB7fTsKCgoKICAgIGZvciBpID0gMSwgbmV3U2l6ZSBkbwoKICAgICAgICB4W2ldID0gYVtpXTsKCiAgICBlbmQKCgoKICAgIHJldHVybiB4OwoKZW5kCgoKCkFycmF5LlhPUiA9IGZ1bmN0aW9uKGEsIGIpCgogICAgbG9jYWwgeCA9IHt9OwoKCgogICAgZm9yIGssIHYgaW4gcGFpcnMoYSkgZG8KCiAgICAgICAgeFtrXSA9IFhPUih2LCBiW2tdKTsKCiAgICBlbmQKCgoKICAgIHJldHVybiB4OwoKZW5kCgoKCkFycmF5LnN1YnN0aXR1dGUgPSBmdW5jdGlvbihpbnB1dCwgc2JveCkKCiAgICBsb2NhbCBvdXQgPSB7fTsKCgoKICAgIGZvciBrLCB2IGluIHBhaXJzKGlucHV0KSBkbwoKICAgICAgICBvdXRba10gPSBzYm94W3ZdOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIG91dDsKCmVuZAoKCgpBcnJheS5wZXJtdXRlID0gZnVuY3Rpb24oaW5wdXQsIHBib3gpCgogICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICBmb3IgaywgdiBpbiBwYWlycyhwYm94KSBkbwoKICAgICAgICBvdXRba10gPSBpbnB1dFt2XTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBvdXQ7CgplbmQKCgoKQXJyYXkuY29weSA9IGZ1bmN0aW9uKGlucHV0KQoKICAgIGxvY2FsIG91dCA9IHt9OwoKCgogICAgZm9yIGssIHYgaW4gcGFpcnMoaW5wdXQpIGRvCgogICAgICAgIG91dFtrXSA9IHY7CgogICAgZW5kCgogICAgcmV0dXJuIG91dDsKCmVuZAoKCgpBcnJheS5zbGljZSA9IGZ1bmN0aW9uKGlucHV0LCBzdGFydCwgc3RvcCkKCiAgICBsb2NhbCBvdXQgPSB7fTsKCgoKICAgIGlmIHN0YXJ0ID09IG5pbCB0aGVuCgogICAgICAgIHN0YXJ0ID0gMQoKICAgIGVsc2VpZiBzdGFydCA8IDAgdGhlbgoKICAgICAgICBzdGFydCA9ICNpbnB1dCArIHN0YXJ0ICsgMQoKICAgIGVuZAoKICAgIGlmIHN0b3AgPT0gbmlsIHRoZW4KCiAgICAgICAgc3RvcCA9ICNpbnB1dAoKICAgIGVsc2VpZiBzdG9wIDwgMCB0aGVuCgogICAgICAgIHN0b3AgPSAjaW5wdXQgKyBzdG9wICsgMQoKICAgIGVuZAoKCgogICAgZm9yIGkgPSBzdGFydCwgc3RvcCBkbwoKICAgICAgICB0YWJsZS5pbnNlcnQob3V0LCBpbnB1dFtpXSkKCiAgICBlbmQKCgoKICAgIHJldHVybiBvdXQ7CgplbmQKCgoKcmV0dXJuIEFycmF5OwAAAABsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0IikKCmxvY2FsIFF1ZXVlID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnF1ZXVlIikKCmxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKQoKbG9jYWwgSGV4ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmhleCIpCgpsb2NhbCBBcnJheSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5hcnJheSIpCgoKCmxvY2FsIHV0aWwgPSB7CgogICAgX3ZlcnNpb24gPSAiMC4wLjEiLAoKICAgIGJpdCA9IEJpdCwKCiAgICBxdWV1ZSA9IFF1ZXVlLAoKICAgIHN0cmVhbSA9IFN0cmVhbSwKCiAgICBoZXggPSBIZXgsCgogICAgYXJyYXkgPSBBcnJheSwKCn0KCgoKcmV0dXJuIHV0aWwKAELQ/BQLlQRsb2NhbCBaZXJvUGFkZGluZyA9IGZ1bmN0aW9uKGJsb2NrU2l6ZSwgYnl0ZUNvdW50KQoKCgogICAgbG9jYWwgcGFkZGluZ0NvdW50ID0gYmxvY2tTaXplIC0gKChieXRlQ291bnQgLTEpICUgYmxvY2tTaXplKSArIDE7CgogICAgbG9jYWwgYnl0ZXNMZWZ0ID0gcGFkZGluZ0NvdW50OwoKCgogICAgbG9jYWwgc3RyZWFtID0gZnVuY3Rpb24oKQoKICAgICAgICBpZiBieXRlc0xlZnQgPiAwIHRoZW4KCiAgICAgICAgICAgIGJ5dGVzTGVmdCA9IGJ5dGVzTGVmdCAtIDE7CgogICAgICAgICAgICByZXR1cm4gMHgwMDsKCiAgICAgICAgZWxzZQoKICAgICAgICAgICAgcmV0dXJuIG5pbDsKCiAgICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIHN0cmVhbTsKCmVuZAoKCgpyZXR1cm4gWmVyb1BhZGRpbmc7bG9jYWwgUEJLREYyID0gcmVxdWlyZSgiLmNyeXB0by5rZGYucGJrZGYyIikKCgoKbG9jYWwga2RmID0gewoKICAgIF92ZXJzaW9uID0gIjAuMC4xIiwKCiAgICBwYmtkZjIgPSBQQktERjIucGJrZGYyLAoKfTsKCgoKcmV0dXJuIGtkZgBC8IAVC9UdbG9jYWwgQml0ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmJpdCIpOwoKbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCmxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKTsKCmxvY2FsIEhNQUMgPSByZXF1aXJlKCIuY3J5cHRvLm1hYy5obWFjIikKCgoKbG9jYWwgU0hBMSA9IHJlcXVpcmUoIi5jcnlwdG8uZGlnZXN0LnNoYTEiKTsKCmxvY2FsIFNIQTJfMjU2ID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3Quc2hhMl8yNTYiKTsKCgoKbG9jYWwgQU5EID0gQml0LmJhbmQ7Cgpsb2NhbCBSU0hJRlQgPSBCaXQucnNoaWZ0OwoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgUEJLREYyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBibG9ja0xlbiA9IDE2OwoKICAgIGxvY2FsIGRLZXlMZW4gPSAyNTY7CgogICAgbG9jYWwgaXRlcmF0aW9ucyA9IDQwOTY7CgoKCiAgICBsb2NhbCBzYWx0OwoKICAgIGxvY2FsIHBhc3N3b3JkOwoKCgoKCiAgICBsb2NhbCBQUkY7CgoKCiAgICBsb2NhbCBkS2V5OwoKCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tMZW4gPSBmdW5jdGlvbihsZW4pCgogICAgICAgIGJsb2NrTGVuID0gbGVuOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldERLZXlMZW4gPSBmdW5jdGlvbihsZW4pCgogICAgICAgIGRLZXlMZW4gPSBsZW4KCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRJdGVyYXRpb25zID0gZnVuY3Rpb24oaXRlcikKCiAgICAgICAgaXRlcmF0aW9ucyA9IGl0ZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0U2FsdCA9IGZ1bmN0aW9uKHNhbHRCeXRlcykKCiAgICAgICAgc2FsdCA9IHNhbHRCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYXNzd29yZCA9IGZ1bmN0aW9uKHBhc3N3b3JkQnl0ZXMpCgogICAgICAgIHBhc3N3b3JkID0gcGFzc3dvcmRCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQUkYgPSBmdW5jdGlvbihwcmYpCgogICAgICAgIFBSRiA9IHByZjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIGxvY2FsIGJ1aWxkQmxvY2sgPSBmdW5jdGlvbihpKQoKICAgICAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoaSk7CgogICAgICAgIGxvY2FsIGlpID0ge2IwLCBiMSwgYjIsIGIzfTsKCiAgICAgICAgbG9jYWwgcyA9IEFycmF5LmNvbmNhdChzYWx0LCBpaSk7CgoKCiAgICAgICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICAgICAgUFJGLnNldEtleShwYXNzd29yZCk7CgogICAgICAgIGZvciBjID0gMSwgaXRlcmF0aW9ucyBkbwoKICAgICAgICAgICAgUFJGLmluaXQoKQoKICAgICAgICAgICAgICAgIC51cGRhdGUoU3RyZWFtLmZyb21BcnJheShzKSk7CgoKCiAgICAgICAgICAgIHMgPSBQUkYuZmluaXNoKCkuYXNCeXRlcygpOwoKICAgICAgICAgICAgaWYoYyA+IDEpIHRoZW4KCiAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBzKTsKCiAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICBvdXQgPSBzOwoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBvdXQ7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBibG9ja3MgPSBtYXRoLmNlaWwoZEtleUxlbiAvIGJsb2NrTGVuKTsKCgoKICAgICAgICBkS2V5ID0ge307CgoKCiAgICAgICAgZm9yIGIgPSAxLCBibG9ja3MgZG8KCiAgICAgICAgICAgIGxvY2FsIGJsb2NrID0gYnVpbGRCbG9jayhiKTsKCiAgICAgICAgICAgIGRLZXkgPSBBcnJheS5jb25jYXQoZEtleSwgYmxvY2spOwoKICAgICAgICBlbmQKCgoKICAgICAgICBpZihBcnJheS5zaXplKGRLZXkpID4gZEtleUxlbikgdGhlbiBkS2V5ID0gQXJyYXkudHJ1bmNhdGUoZEtleSwgZEtleUxlbik7IGVuZAoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGRLZXk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBBcnJheS50b0hleChkS2V5KTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIEFycmF5LnRvU3RyaW5nKGRLZXkpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCmVuZAoKCgotLS0gQGNsYXNzIEFycmF5IDogdGFibGUKCgoKLS0tIFBCS0RGMiBrZXkgZGVyaXZhdGlvbiBmdW5jdGlvbgoKLS0tIEBwYXJhbSBwYXNzd29yZCAoQXJyYXkpIC0gVGhlIHBhc3N3b3JkIHRvIGRlcml2ZSB0aGUga2V5IGZyb20KCi0tLSBAcGFyYW0gc2FsdCAoQXJyYXkpIC0gVGhlIHNhbHQgdG8gdXNlCgotLS0gQHBhcmFtIGl0ZXJhdGlvbnMgbnVtYmVyIC0gVGhlIG51bWJlciBvZiBpdGVyYXRpb25zIHRvIHBlcmZvcm0KCi0tLSBAcGFyYW0ga2V5TGVuIG51bWJlciAtIFRoZSBsZW5ndGggb2YgdGhlIGtleSB0byBkZXJpdmUKCi0tLSBAcGFyYW0gZGlnZXN0PyBzdHJpbmcgLSBUaGUgZGlnZXN0IGFsZ29yaXRobSB0byB1c2UgKHNoYTEsIHNoYTI1NikuIERlZmF1bHRzIHRvIHNoYTEuCgotLS0gQHJldHVybnMgc3RyaW5nIC0gVGhlIGRlcml2ZWQga2V5Cgpsb2NhbCBwYmtkZjIgPSBmdW5jdGlvbihwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5TGVuLCBkaWdlc3QpCgogICAgbG9jYWwgRGlnZXN0ID0gbmlsCgogICAgaWYgZGlnZXN0ID09ICJzaGExIiB0aGVuCgogICAgICAgIERpZ2VzdCA9IFNIQTEuU0hBMQoKICAgIGVsc2VpZiBkaWdlc3QgPT0gInNoYTI1NiIgdGhlbgoKICAgICAgICBEaWdlc3QgPSBTSEEyXzI1Ni5TSEEyXzI1NgoKICAgIGVsc2VpZiBkaWdlc3QgPT0gbmlsIHRoZW4KCiAgICAgICAgRGlnZXN0ID0gU0hBMS5TSEExCgogICAgZWxzZQoKICAgICAgICBlcnJvcigiVW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAiIC4uIGRpZ2VzdCkKCiAgICBlbmQKCgoKICAgIGxvY2FsIHByZiA9IEhNQUMuSE1BQygpLnNldEJsb2NrU2l6ZSg2NCkuc2V0RGlnZXN0KERpZ2VzdCk7CgoKCiAgICBsb2NhbCByZXMgPSBQQktERjIoKQoKICAgICAgICAgICAgLnNldFBSRihwcmYpCgogICAgICAgICAgICAuc2V0QmxvY2tMZW4oMTYpCgogICAgICAgICAgICAuc2V0REtleUxlbihrZXlMZW4pCgogICAgICAgICAgICAuc2V0SXRlcmF0aW9ucyhpdGVyYXRpb25zKQoKICAgICAgICAgICAgLnNldFNhbHQoc2FsdCkKCiAgICAgICAgICAgIC5zZXRQYXNzd29yZChwYXNzd29yZCkKCiAgICAgICAgICAgIC5maW5pc2goKQoKCgogICAgcmV0dXJuIHJlcwoKZW5kCgoKCnJldHVybiB7CgogICAgUEJLREYyID0gUEJLREYyLAoKICAgIHBia2RmMiA9IHBia2RmMgoKfTsAQtCeFQu1SGxvY2FsIGpzb24gPSB7X3ZlcnNpb24gPSAiMC4yLjAifQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSBFbmNvZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbG9jYWwgZW5jb2RlCgoKCmxvY2FsIGVzY2FwZV9jaGFyX21hcCA9IHsKCiAgICBbIlxcIl0gPSAiXFwiLAoKICAgIFsiXCIiXSA9ICJcIiIsCgogICAgWyJcYiJdID0gImIiLAoKICAgIFsiXGYiXSA9ICJmIiwKCiAgICBbIlxuIl0gPSAibiIsCgogICAgWyJcciJdID0gInIiLAoKICAgIFsiXHQiXSA9ICJ0IgoKfQoKCgpsb2NhbCBlc2NhcGVfY2hhcl9tYXBfaW52ID0ge1siLyJdID0gIi8ifQoKZm9yIGssIHYgaW4gcGFpcnMoZXNjYXBlX2NoYXJfbWFwKSBkbyBlc2NhcGVfY2hhcl9tYXBfaW52W3ZdID0gayBlbmQKCgoKbG9jYWwgZnVuY3Rpb24gZXNjYXBlX2NoYXIoYykKCiAgICByZXR1cm4gIlxcIiAuLiAoZXNjYXBlX2NoYXJfbWFwW2NdIG9yIHN0cmluZy5mb3JtYXQoInUlMDR4IiwgYzpieXRlKCkpKQoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGVuY29kZV9uaWwodmFsKSByZXR1cm4gIm51bGwiIGVuZAoKCgpsb2NhbCBmdW5jdGlvbiBlbmNvZGVfdGFibGUodmFsLCBzdGFjaykKCiAgICBsb2NhbCByZXMgPSB7fQoKICAgIHN0YWNrID0gc3RhY2sgb3Ige30KCgoKICAgIC0tIENpcmN1bGFyIHJlZmVyZW5jZT8KCiAgICBpZiBzdGFja1t2YWxdIHRoZW4gZXJyb3IoImNpcmN1bGFyIHJlZmVyZW5jZSIpIGVuZAoKCgogICAgc3RhY2tbdmFsXSA9IHRydWUKCgoKICAgIGlmIHJhd2dldCh2YWwsIDEpIH49IG5pbCBvciBuZXh0KHZhbCkgPT0gbmlsIHRoZW4KCiAgICAgICAgLS0gVHJlYXQgYXMgYXJyYXkgLS0gY2hlY2sga2V5cyBhcmUgdmFsaWQgYW5kIGl0IGlzIG5vdCBzcGFyc2UKCiAgICAgICAgbG9jYWwgbiA9IDAKCiAgICAgICAgZm9yIGsgaW4gcGFpcnModmFsKSBkbwoKICAgICAgICAgICAgaWYgdHlwZShrKSB+PSAibnVtYmVyIiB0aGVuCgogICAgICAgICAgICAgICAgZXJyb3IoImludmFsaWQgdGFibGU6IG1peGVkIG9yIGludmFsaWQga2V5IHR5cGVzIikKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgbiA9IG4gKyAxCgogICAgICAgIGVuZAoKICAgICAgICBpZiBuIH49ICN2YWwgdGhlbiBlcnJvcigiaW52YWxpZCB0YWJsZTogc3BhcnNlIGFycmF5IikgZW5kCgogICAgICAgIC0tIEVuY29kZQoKICAgICAgICBmb3IgaSA9IDEsICN2YWwgZG8gcmVzW2ldID0gZW5jb2RlKHZhbFtpXSwgc3RhY2spIGVuZAoKICAgICAgICBzdGFja1t2YWxdID0gbmlsCgogICAgICAgIHJldHVybiAiWyIgLi4gdGFibGUuY29uY2F0KHJlcywgIiwiKSAuLiAiXSIKCiAgICBlbHNlCgogICAgICAgIC0tIFRyZWF0IGFzIGFuIG9iamVjdAoKICAgICAgICBsb2NhbCBpID0gMQoKICAgICAgICBmb3IgaywgdiBpbiBwYWlycyh2YWwpIGRvCgogICAgICAgICAgICBpZiB0eXBlKGspIH49ICJzdHJpbmciIHRoZW4KCiAgICAgICAgICAgICAgICBlcnJvcigiaW52YWxpZCB0YWJsZTogbWl4ZWQgb3IgaW52YWxpZCBrZXkgdHlwZXMiKQoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBpZiB0eXBlKHYpIH49ICJmdW5jdGlvbiIgdGhlbgoKICAgICAgICAgICAgICAgIHJlc1tpXSA9IGVuY29kZShrLCBzdGFjaykgLi4gIjoiIC4uIGVuY29kZSh2LCBzdGFjaykKCiAgICAgICAgICAgICAgICBpID0gaSArIDEKCiAgICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICAgICAgc3RhY2tbdmFsXSA9IG5pbAoKICAgICAgICByZXR1cm4gInsiIC4uIHRhYmxlLmNvbmNhdChyZXMsICIsIikgLi4gIn0iCgogICAgZW5kCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZW5jb2RlX3N0cmluZyh2YWwpCgogICAgcmV0dXJuICciJyAuLiB2YWw6Z3N1YignWyV6XDEtXDMxXFwiXScsIGVzY2FwZV9jaGFyKSAuLiAnIicKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBlbmNvZGVfbnVtYmVyKHZhbCkKCiAgICAtLSBDaGVjayBmb3IgTmFOLCAtaW5mIGFuZCBpbmYKCiAgICBpZiB2YWwgfj0gdmFsIG9yIHZhbCA8PSAtbWF0aC5odWdlIG9yIHZhbCA+PSBtYXRoLmh1Z2UgdGhlbgoKICAgICAgICBlcnJvcigidW5leHBlY3RlZCBudW1iZXIgdmFsdWUgJyIgLi4gdG9zdHJpbmcodmFsKSAuLiAiJyIpCgogICAgZW5kCgogICAgcmV0dXJuIHN0cmluZy5mb3JtYXQoIiUuMTRnIiwgdmFsKQoKZW5kCgoKCmxvY2FsIHR5cGVfZnVuY19tYXAgPSB7CgogICAgWyJuaWwiXSA9IGVuY29kZV9uaWwsCgogICAgWyJ0YWJsZSJdID0gZW5jb2RlX3RhYmxlLAoKICAgIFsic3RyaW5nIl0gPSBlbmNvZGVfc3RyaW5nLAoKICAgIFsibnVtYmVyIl0gPSBlbmNvZGVfbnVtYmVyLAoKICAgIFsiYm9vbGVhbiJdID0gdG9zdHJpbmcKCn0KCgoKZW5jb2RlID0gZnVuY3Rpb24odmFsLCBzdGFjaykKCiAgICBsb2NhbCB0ID0gdHlwZSh2YWwpCgogICAgbG9jYWwgZiA9IHR5cGVfZnVuY19tYXBbdF0KCiAgICBpZiBmIHRoZW4gcmV0dXJuIGYodmFsLCBzdGFjaykgZW5kCgogICAgZXJyb3IoInVuZXhwZWN0ZWQgdHlwZSAnIiAuLiB0IC4uICInIikKCmVuZAoKCgpmdW5jdGlvbiBqc29uLmVuY29kZSh2YWwpIHJldHVybiAoZW5jb2RlKHZhbCkpIGVuZAoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSBEZWNvZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbG9jYWwgcGFyc2UKCgoKbG9jYWwgZnVuY3Rpb24gY3JlYXRlX3NldCguLi4pCgogICAgbG9jYWwgcmVzID0ge30KCiAgICBmb3IgaSA9IDEsIHNlbGVjdCgiIyIsIC4uLikgZG8gcmVzW3NlbGVjdChpLCAuLi4pXSA9IHRydWUgZW5kCgogICAgcmV0dXJuIHJlcwoKZW5kCgoKCmxvY2FsIHNwYWNlX2NoYXJzID0gY3JlYXRlX3NldCgiICIsICJcdCIsICJcciIsICJcbiIpCgpsb2NhbCBkZWxpbV9jaGFycyA9IGNyZWF0ZV9zZXQoIiAiLCAiXHQiLCAiXHIiLCAiXG4iLCAiXSIsICJ9IiwgIiwiKQoKbG9jYWwgZXNjYXBlX2NoYXJzID0gY3JlYXRlX3NldCgiXFwiLCAiLyIsICciJywgImIiLCAiZiIsICJuIiwgInIiLCAidCIsICJ1IikKCmxvY2FsIGxpdGVyYWxzID0gY3JlYXRlX3NldCgidHJ1ZSIsICJmYWxzZSIsICJudWxsIikKCgoKbG9jYWwgbGl0ZXJhbF9tYXAgPSB7WyJ0cnVlIl0gPSB0cnVlLCBbImZhbHNlIl0gPSBmYWxzZSwgWyJudWxsIl0gPSBuaWx9CgoKCmxvY2FsIGZ1bmN0aW9uIG5leHRfY2hhcihzdHIsIGlkeCwgc2V0LCBuZWdhdGUpCgogICAgZm9yIGkgPSBpZHgsICNzdHIgZG8gaWYgc2V0W3N0cjpzdWIoaSwgaSldIH49IG5lZ2F0ZSB0aGVuIHJldHVybiBpIGVuZCBlbmQKCiAgICByZXR1cm4gI3N0ciArIDEKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBkZWNvZGVfZXJyb3Ioc3RyLCBpZHgsIG1zZykKCiAgICBsb2NhbCBsaW5lX2NvdW50ID0gMQoKICAgIGxvY2FsIGNvbF9jb3VudCA9IDEKCiAgICBmb3IgaSA9IDEsIGlkeCAtIDEgZG8KCiAgICAgICAgY29sX2NvdW50ID0gY29sX2NvdW50ICsgMQoKICAgICAgICBpZiBzdHI6c3ViKGksIGkpID09ICJcbiIgdGhlbgoKICAgICAgICAgICAgbGluZV9jb3VudCA9IGxpbmVfY291bnQgKyAxCgogICAgICAgICAgICBjb2xfY291bnQgPSAxCgogICAgICAgIGVuZAoKICAgIGVuZAoKICAgIGVycm9yKHN0cmluZy5mb3JtYXQoIiVzIGF0IGxpbmUgJWQgY29sICVkIiwgbXNnLCBsaW5lX2NvdW50LCBjb2xfY291bnQpKQoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGNvZGVwb2ludF90b191dGY4KG4pCgogICAgbG9jYWwgZiA9IG1hdGguZmxvb3IKCiAgICBpZiBuIDw9IDB4N2YgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nLmNoYXIobikKCiAgICBlbHNlaWYgbiA8PSAweDdmZiB0aGVuCgogICAgICAgIHJldHVybiBzdHJpbmcuY2hhcihmKG4gLyA2NCkgKyAxOTIsIG4gJSA2NCArIDEyOCkKCiAgICBlbHNlaWYgbiA8PSAweGZmZmYgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nLmNoYXIoZihuIC8gNDA5NikgKyAyMjQsIGYobiAlIDQwOTYgLyA2NCkgKyAxMjgsCgogICAgICAgICAgICAgICAgICAgICAgICAgICBuICUgNjQgKyAxMjgpCgogICAgZWxzZWlmIG4gPD0gMHgxMGZmZmYgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nLmNoYXIoZihuIC8gMjYyMTQ0KSArIDI0MCwgZihuICUgMjYyMTQ0IC8gNDA5NikgKyAxMjgsCgogICAgICAgICAgICAgICAgICAgICAgICAgICBmKG4gJSA0MDk2IC8gNjQpICsgMTI4LCBuICUgNjQgKyAxMjgpCgogICAgZW5kCgogICAgZXJyb3Ioc3RyaW5nLmZvcm1hdCgiaW52YWxpZCB1bmljb2RlIGNvZGVwb2ludCAnJXgnIiwgbikpCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gcGFyc2VfdW5pY29kZV9lc2NhcGUocykKCiAgICBsb2NhbCBuMSA9IHRvbnVtYmVyKHM6c3ViKDEsIDQpLCAxNikKCiAgICBsb2NhbCBuMiA9IHRvbnVtYmVyKHM6c3ViKDcsIDEwKSwgMTYpCgogICAgaWYgbjIgdGhlbgoKICAgICAgICByZXR1cm4KCiAgICAgICAgICAgIGNvZGVwb2ludF90b191dGY4KChuMSAtIDB4ZDgwMCkgKiAweDQwMCArIChuMiAtIDB4ZGMwMCkgKyAweDEwMDAwKQoKICAgIGVsc2UKCiAgICAgICAgcmV0dXJuIGNvZGVwb2ludF90b191dGY4KG4xKQoKICAgIGVuZAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIHBhcnNlX3N0cmluZyhzdHIsIGkpCgogICAgbG9jYWwgcmVzID0ge30KCiAgICBsb2NhbCBqID0gaSArIDEKCiAgICBsb2NhbCBrID0gagoKCgogICAgd2hpbGUgaiA8PSAjc3RyIGRvCgogICAgICAgIGxvY2FsIHggPSBzdHI6Ynl0ZShqKQoKCgogICAgICAgIGlmIHggPCAzMiB0aGVuCgogICAgICAgICAgICBkZWNvZGVfZXJyb3Ioc3RyLCBqLCAiY29udHJvbCBjaGFyYWN0ZXIgaW4gc3RyaW5nIikKCiAgICAgICAgZWxzZWlmIHggPT0gOTIgdGhlbiAtLSBgXGA6IEVzY2FwZQoKICAgICAgICAgICAgcmVzWyNyZXMgKyAxXSA9IHN0cjpzdWIoaywgaiAtIDEpCgogICAgICAgICAgICBqID0gaiArIDEKCiAgICAgICAgICAgIGxvY2FsIGMgPSBzdHI6c3ViKGosIGopCgogICAgICAgICAgICBpZiBjID09ICJ1IiB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgaGV4ID0gc3RyOm1hdGNoKCJeW2REXVs4OWFBYkJdJXgleFxcdSV4JXgleCV4IiwgaiArIDEpIG9yCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cjptYXRjaCgiXiV4JXgleCV4IiwgaiArIDEpIG9yCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9lcnJvcihzdHIsIGogLSAxLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgdW5pY29kZSBlc2NhcGUgaW4gc3RyaW5nIikKCiAgICAgICAgICAgICAgICByZXNbI3JlcyArIDFdID0gcGFyc2VfdW5pY29kZV9lc2NhcGUoaGV4KQoKICAgICAgICAgICAgICAgIGogPSBqICsgI2hleAoKICAgICAgICAgICAgZWxzZQoKICAgICAgICAgICAgICAgIGlmIG5vdCBlc2NhcGVfY2hhcnNbY10gdGhlbgoKICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZXJyb3Ioc3RyLCBqIC0gMSwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGVzY2FwZSBjaGFyICciIC4uIGMgLi4gIicgaW4gc3RyaW5nIikKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgICAgICByZXNbI3JlcyArIDFdID0gZXNjYXBlX2NoYXJfbWFwX2ludltjXQoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBrID0gaiArIDEKCiAgICAgICAgZWxzZWlmIHggPT0gMzQgdGhlbiAtLSBgImA6IEVuZCBvZiBzdHJpbmcKCiAgICAgICAgICAgIHJlc1sjcmVzICsgMV0gPSBzdHI6c3ViKGssIGogLSAxKQoKICAgICAgICAgICAgcmV0dXJuIHRhYmxlLmNvbmNhdChyZXMpLCBqICsgMQoKICAgICAgICBlbmQKCiAgICAgICAgaiA9IGogKyAxCgogICAgZW5kCgoKCiAgICBkZWNvZGVfZXJyb3Ioc3RyLCBpLCAiZXhwZWN0ZWQgY2xvc2luZyBxdW90ZSBmb3Igc3RyaW5nIikKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwYXJzZV9udW1iZXIoc3RyLCBpKQoKICAgIGxvY2FsIHggPSBuZXh0X2NoYXIoc3RyLCBpLCBkZWxpbV9jaGFycykKCiAgICBsb2NhbCBzID0gc3RyOnN1YihpLCB4IC0gMSkKCiAgICBsb2NhbCBuID0gdG9udW1iZXIocykKCiAgICBpZiBub3QgbiB0aGVuIGRlY29kZV9lcnJvcihzdHIsIGksICJpbnZhbGlkIG51bWJlciAnIiAuLiBzIC4uICInIikgZW5kCgogICAgcmV0dXJuIG4sIHgKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwYXJzZV9saXRlcmFsKHN0ciwgaSkKCiAgICBsb2NhbCB4ID0gbmV4dF9jaGFyKHN0ciwgaSwgZGVsaW1fY2hhcnMpCgogICAgbG9jYWwgd29yZCA9IHN0cjpzdWIoaSwgeCAtIDEpCgogICAgaWYgbm90IGxpdGVyYWxzW3dvcmRdIHRoZW4KCiAgICAgICAgZGVjb2RlX2Vycm9yKHN0ciwgaSwgImludmFsaWQgbGl0ZXJhbCAnIiAuLiB3b3JkIC4uICInIikKCiAgICBlbmQKCiAgICByZXR1cm4gbGl0ZXJhbF9tYXBbd29yZF0sIHgKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwYXJzZV9hcnJheShzdHIsIGkpCgogICAgbG9jYWwgcmVzID0ge30KCiAgICBsb2NhbCBuID0gMQoKICAgIGkgPSBpICsgMQoKICAgIHdoaWxlIHRydWUgZG8KCiAgICAgICAgbG9jYWwgeAoKICAgICAgICBpID0gbmV4dF9jaGFyKHN0ciwgaSwgc3BhY2VfY2hhcnMsIHRydWUpCgogICAgICAgIGlmIHN0cjpzdWIoaSwgaSkgPT0gIl0iIHRoZW4KCiAgICAgICAgICAgIGkgPSBpICsgMQoKICAgICAgICAgICAgYnJlYWsKCiAgICAgICAgZW5kCgogICAgICAgIHgsIGkgPSBwYXJzZShzdHIsIGkpCgogICAgICAgIHJlc1tuXSA9IHgKCiAgICAgICAgbiA9IG4gKyAxCgogICAgICAgIGkgPSBuZXh0X2NoYXIoc3RyLCBpLCBzcGFjZV9jaGFycywgdHJ1ZSkKCiAgICAgICAgbG9jYWwgY2hyID0gc3RyOnN1YihpLCBpKQoKICAgICAgICBpID0gaSArIDEKCiAgICAgICAgaWYgY2hyID09ICJdIiB0aGVuIGJyZWFrIGVuZAoKICAgICAgICBpZiBjaHIgfj0gIiwiIHRoZW4gZGVjb2RlX2Vycm9yKHN0ciwgaSwgImV4cGVjdGVkICddJyBvciAnLCciKSBlbmQKCiAgICBlbmQKCiAgICByZXR1cm4gcmVzLCBpCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gcGFyc2Vfb2JqZWN0KHN0ciwgaSkKCiAgICBsb2NhbCByZXMgPSB7fQoKICAgIGkgPSBpICsgMQoKICAgIHdoaWxlIHRydWUgZG8KCiAgICAgICAgbG9jYWwga2V5LCB2YWwKCiAgICAgICAgaSA9IG5leHRfY2hhcihzdHIsIGksIHNwYWNlX2NoYXJzLCB0cnVlKQoKICAgICAgICBpZiBzdHI6c3ViKGksIGkpID09ICJ9IiB0aGVuCgogICAgICAgICAgICBpID0gaSArIDEKCiAgICAgICAgICAgIGJyZWFrCgogICAgICAgIGVuZAoKICAgICAgICBpZiBzdHI6c3ViKGksIGkpIH49ICciJyB0aGVuCgogICAgICAgICAgICBkZWNvZGVfZXJyb3Ioc3RyLCBpLCAiZXhwZWN0ZWQgc3RyaW5nIGZvciBrZXkiKQoKICAgICAgICBlbmQKCiAgICAgICAga2V5LCBpID0gcGFyc2Uoc3RyLCBpKQoKICAgICAgICBpID0gbmV4dF9jaGFyKHN0ciwgaSwgc3BhY2VfY2hhcnMsIHRydWUpCgogICAgICAgIGlmIHN0cjpzdWIoaSwgaSkgfj0gIjoiIHRoZW4KCiAgICAgICAgICAgIGRlY29kZV9lcnJvcihzdHIsIGksICJleHBlY3RlZCAnOicgYWZ0ZXIga2V5IikKCiAgICAgICAgZW5kCgogICAgICAgIGkgPSBuZXh0X2NoYXIoc3RyLCBpICsgMSwgc3BhY2VfY2hhcnMsIHRydWUpCgogICAgICAgIHZhbCwgaSA9IHBhcnNlKHN0ciwgaSkKCiAgICAgICAgcmVzW2tleV0gPSB2YWwKCiAgICAgICAgaSA9IG5leHRfY2hhcihzdHIsIGksIHNwYWNlX2NoYXJzLCB0cnVlKQoKICAgICAgICBsb2NhbCBjaHIgPSBzdHI6c3ViKGksIGkpCgogICAgICAgIGkgPSBpICsgMQoKICAgICAgICBpZiBjaHIgPT0gIn0iIHRoZW4gYnJlYWsgZW5kCgogICAgICAgIGlmIGNociB+PSAiLCIgdGhlbiBkZWNvZGVfZXJyb3Ioc3RyLCBpLCAiZXhwZWN0ZWQgJ30nIG9yICcsJyIpIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiByZXMsIGkKCmVuZAoKCgpsb2NhbCBjaGFyX2Z1bmNfbWFwID0gewoKICAgIFsnIiddID0gcGFyc2Vfc3RyaW5nLAoKICAgIFsiMCJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiMSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiMiJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiMyJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNCJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNiJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNyJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiOCJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiOSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiLSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsidCJdID0gcGFyc2VfbGl0ZXJhbCwKCiAgICBbImYiXSA9IHBhcnNlX2xpdGVyYWwsCgogICAgWyJuIl0gPSBwYXJzZV9saXRlcmFsLAoKICAgIFsiWyJdID0gcGFyc2VfYXJyYXksCgogICAgWyJ7Il0gPSBwYXJzZV9vYmplY3QKCn0KCgoKcGFyc2UgPSBmdW5jdGlvbihzdHIsIGlkeCkKCiAgICBsb2NhbCBjaHIgPSBzdHI6c3ViKGlkeCwgaWR4KQoKICAgIGxvY2FsIGYgPSBjaGFyX2Z1bmNfbWFwW2Nocl0KCiAgICBpZiBmIHRoZW4gcmV0dXJuIGYoc3RyLCBpZHgpIGVuZAoKICAgIGRlY29kZV9lcnJvcihzdHIsIGlkeCwgInVuZXhwZWN0ZWQgY2hhcmFjdGVyICciIC4uIGNociAuLiAiJyIpCgplbmQKCgoKZnVuY3Rpb24ganNvbi5kZWNvZGUoc3RyKQoKICAgIGlmIHR5cGUoc3RyKSB+PSAic3RyaW5nIiB0aGVuCgogICAgICAgIGVycm9yKCJleHBlY3RlZCBhcmd1bWVudCBvZiB0eXBlIHN0cmluZywgZ290ICIgLi4gdHlwZShzdHIpKQoKICAgIGVuZAoKICAgIGxvY2FsIHJlcywg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dXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATXVsdGlob3AgYXR0ZW1wdGVkAFJlcXVpcmVkIGtleSBub3QgYXZhaWxhYmxlAEtleSBoYXMgZXhwaXJlZABLZXkgaGFzIGJlZW4gcmV2b2tlZABLZXkgd2FzIHJlamVjdGVkIGJ5IHNlcnZpY2UAQsLzFguWAaUCWwDwAbUFjAUlAYMGHQOUBP8AxwMxAwsGvAGPAX8DygQrANoGrwBCA04D3AEOBBUAoQYNAZQCCwI4BmQCvAL/Al0D5wQLB88CywXvBdsF4QIeBkUChQCCAmwDbwTxAPMDGAXZANoDTAZUAnsBnQO9BAAAUQAVArsAswNtAP8BhQQvBfkEOABlAUYBnwC3BqgBcwJTAQBCiPUWCwwhBAAAAAAAAAAALwIAQqj1FgsGNQRHBFYEAEK+9RYLAqAEAELS9RYLIkYFYAVuBWEGAADPAQAAAAAAAAAAyQbpBvkGHgc5B0kHXgcAQoD2Fgtj0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAAvdG1wL3RtcGZpbGVfWFhYWFhYAELw9hYLEi90bXAvdG1wbmFtX1hYWFhYWABCkPcWC0EZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBC4fcWCyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQpv4FgsBDABCp/gWCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQtX4FgsBEABC4fgWCxUPAAAABA8AAAAACRAAAAAAABAAABAAQo/5FgsBEgBCm/kWCx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQtL5FgsOGgAAABoaGgAAAAAAAAkAQoP6FgsBFABCj/oWCxUXAAAAABcAAAAACRQAAAAAABQAABQAQr36FgsBFgBCyfoWCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQvD6FgsBBQBCiPsWCwHGAEK4+xYLE8QAAAAAAAAAwwAAAAAAAAAg7AUAQuj7FgsBAgBC/PsWCwj//////////wBC2PwWCwlwvQUAAAAAAAkAQvj8FgsBxgBCoP0WCwHFAEKw/RYLEsMAAAAAAAAAKOwFAAAAAAAABABC7P0WCwT/////AELI/hYLAQUAQuD+FgsBxwBCkP8WCxrEAAAAAAAAAMgAAAAAAAAAOPAFAAAAAAAABABCwP8WCwEBAELU/xYLBf////8KAEKwgBcLDEi/BQAAAAAAsPgFBACaWgRuYW1lAA0McHJvY2Vzcy53YXNtAZVD9wQACmludm9rZV92amoBCHN0cmZ0aW1lAgRleGl0Aw93ZWF2ZWRyaXZlX29wZW4ED3dlYXZlZHJpdmVfcmVhZAUQd2VhdmVkcml2ZV9jbG9zZQYRX19zeXNjYWxsX2ZjbnRsNjQHD19fc3lzY2FsbF9pb2N0bAgPX193YXNpX2ZkX2Nsb3NlCQ5fX3dhc2lfZmRfcmVhZAoPX193YXNpX2ZkX3dyaXRlCwlfYWJvcnRfanMMFV9lbXNjcmlwdGVuX21lbWNweV9qcw0TZW1zY3JpcHRlbl9kYXRlX25vdw4gX2Vtc2NyaXB0ZW5fZ2V0X25vd19pc19tb25vdG9uaWMPDl9fc3lzY2FsbF9kdXAzEBhfX3dhc2lfZW52aXJvbl9zaXplc19nZXQREl9fd2FzaV9lbnZpcm9uX2dldBIOX193YXNpX2ZkX3NlZWsTCl9ta3RpbWVfanMUDV9sb2NhbHRpbWVfanMVCl9nbXRpbWVfanMWEl9fc3lzY2FsbF91bmxpbmthdBcPX19zeXNjYWxsX3JtZGlyGBJfX3N5c2NhbGxfcmVuYW1lYXQZEl9lbXNjcmlwdGVuX3N5c3RlbRoQX19zeXNjYWxsX29wZW5hdBsUX19zeXNjYWxsX3JlYWRsaW5rYXQcCV90enNldF9qcx0WZW1zY3JpcHRlbl9yZXNpemVfaGVhcB4ZX2Vtc2NyaXB0ZW5fdGhyb3dfbG9uZ2ptcB8RX193YXNtX2NhbGxfY3RvcnMgC2x1YU9faW50MmZiIQ1sdWFPX2NlaWxsb2cyIghpbnRhcml0aCMMbHVhT19zdHIybnVtJA1sdWFPX3Rvc3RyaW5nJRFsdWFPX3B1c2h2ZnN0cmluZyYQbHVhT19wdXNoZnN0cmluZycMbHVhT19jaHVua2lkKA5sdWFWX3RvbnVtYmVyXykObHVhVl90b2ludGVnZXIqDmx1YVZfZmluaXNoZ2V0Kw5sdWFWX2ZpbmlzaHNldCwNbHVhVl9sZXNzdGhhbi0ObHVhVl9sZXNzZXF1YWwuDWx1YVZfZXF1YWxvYmovC2x1YVZfY29uY2F0MAtsdWFWX29iamxlbjELbHVhVl9zaGlmdGwyDGx1YVZfZXhlY3V0ZTMMbWFpbnBvc2l0aW9uNAtsdWFIX3Jlc2l6ZTULbHVhSF9uZXdrZXk2CGx1YUhfZ2V0NwtsdWFIX3NldGludDgIbHVhSF9zZXQ5CGx1YUhfbmV3OgtsdWFIX2dldGludDsQbHVhSF9nZXRzaG9ydHN0cjwLbHVhSF9nZXRzdHI9CWx1YUhfZ2V0bj4KbHVhVF9nZXR0bT8PbHVhVF9nZXR0bWJ5b2JqQBBsdWFUX29ianR5cGVuYW1lQQtsdWFUX2NhbGxUTUIObHVhVF9jYWxsYmluVE1DDWx1YVRfdHJ5YmluVE1EEGx1YVRfY2FsbG9yZGVyVE1FCWx1YVpfZmlsbEYJbHVhWl9yZWFkRw5sdWFYX3Rva2VuMnN0ckgQbHVhWF9zeW50YXhlcnJvckkIbGV4ZXJyb3JKDmx1YVhfbmV3c3RyaW5nSwlsdWFYX25leHRMBGxsZXhNDWluY2xpbmVudW1iZXJOCHNraXBfc2VwTxByZWFkX2xvbmdfc3RyaW5nUAtjaGVja19uZXh0MVEHZ2V0aGV4YVIEc2F2ZVMLY2hlY2tfbmV4dDJUDGx1YUVfc2V0ZGVidFUNbHVhRV9leHRlbmRDSVYLbHVhRV9mcmVlQ0lXDWx1YUVfc2hyaW5rQ0lYDWx1YV9uZXd0aHJlYWRZDGx1YV9uZXdzdGF0ZVoJZl9sdWFvcGVuWwtjbG9zZV9zdGF0ZVwJbHVhX2Nsb3NlXQ1sdWFDX2JhcnJpZXJfXhByZWFsbHltYXJrb2JqZWN0XxJsdWFDX3VwdmFsYmFycmllcl9gCGx1YUNfZml4YQtsdWFDX25ld29iamITbHVhQ19jaGVja2ZpbmFsaXplcmMJc3dlZXBsaXN0ZARHQ1RNZQpzaW5nbGVzdGVwZgZtYXJrbXRnDXByb3BhZ2F0ZW1hcmtoEXRyYXZlcnNlZXBoZW1lcm9uaQtjbGVhcnZhbHVlc2oJbHVhQ19zdGVwawtsdWFDX2Z1bGxnY2wJZG90aGVjYWxsbRBsdWFGX25ld0xjbG9zdXJlbgpsdWFGX2Nsb3Nlbw1sdWFGX25ld3Byb3RvcBFsdWFGX2dldGxvY2FsbmFtZXELbHVhX3NldGhvb2tyDGx1YV9nZXRzdGFja3MMbHVhX2dldGxvY2FsdAlmaW5kbG9jYWx1C2x1YV9nZXRpbmZvdgpnZXRvYmpuYW1ldw5sdWFHX3R5cGVlcnJvcngHdmFyaW5mb3kNbHVhR19ydW5lcnJvcnoNbHVhR19lcnJvcm1zZ3sPbHVhR19vcGludGVycm9yfA9sdWFHX29yZGVyZXJyb3J9DWx1YU1fZ3Jvd2F1eF9+DWx1YU1fcmVhbGxvY19/C2x1YU1fdG9vYmlngAELbHVhU19yZXNpemWBAQxsdWFTX25ld2xzdHKCARRsdWFTX2NyZWF0ZWxuZ3N0cm9iaoMBCGx1YVNfbmV3hAEMTG9hZEZ1bmN0aW9uhQEFZXJyb3KGAQpMb2FkU3RyaW5nhwEJbHVhS19jb2RliAEMbHVhS19jb2RlQUJDiQEJbHVhS19qdW1wigEMbHVhS19jb2RlQUJ4iwEIbHVhS19yZXSMARBsdWFLX3BhdGNodG9oZXJljQEObHVhS19wYXRjaGxpc3SOAQxwYXRjaGxpc3RhdXiPAQ9sdWFLX3BhdGNoY2xvc2WQARBsdWFLX3Jlc2VydmVyZWdzkQEMbHVhS19zdHJpbmdLkgEEYWRka5MBD2x1YUtfc2V0cmV0dXJuc5QBEmx1YUtfZGlzY2hhcmdldmFyc5UBEGx1YUtfZXhwMm5leHRyZWeWAQdleHAycmVnlwENZGlzY2hhcmdlMnJlZ5gBD2x1YUtfZXhwMmFueXJlZ5kBEWx1YUtfZXhwMmFueXJlZ3VwmgEMbHVhS19leHAydmFsmwELbHVhS19leHAyUkucAQ1sdWFLX3N0b3JldmFynQENbHVhS19nb2lmdHJ1ZZ4BCmp1bXBvbmNvbmSfAQhjb25kanVtcKABDmx1YUtfZ29pZmZhbHNloQEMbHVhS19pbmRleGVkogEMY29uc3Rmb2xkaW5nowENY29kZWJpbmV4cHZhbKQBDGx1YUtfc2V0bGlzdKUBCm5ld3VwdmFsdWWmAQlzdGF0ZW1lbnSnAQpjbG9zZV9mdW5jqAEOZXJyb3JfZXhwZWN0ZWSpAQplcnJvcmxpbWl0qgEKbGVhdmVibG9ja6sBB3N1YmV4cHKsAQhnb3Rvc3RhdK0BC3N1ZmZpeGVkZXhwrgEKYXNzaWdubWVudK8BB2V4cGxpc3SwAQhzZW1lcnJvcrEBCWNsb3NlZ290b7IBDG5ld19sb2NhbHZhcrMBBGJvZHm0AQ1hZGp1c3RfYXNzaWdutQEJc2luZ2xldmFytgEIZmllbGRzZWy3AQtjaGVja19tYXRjaLgBB2ZvcmJvZHm5AQtjb25zdHJ1Y3RvcroBCGZ1bmNhcmdzuwEMc2luZ2xldmFyYXV4vAEKbHVhRF90aHJvd70BFGx1YURfcmF3cnVucHJvdGVjdGVkvgERbHVhRF9yZWFsbG9jc3RhY2u/AQ5sdWFEX2dyb3dzdGFja8ABC2x1YURfaW5jdG9wwQEJbHVhRF9ob29rwgEMbHVhRF9wb3NjYWxswwEMbHVhRF9wcmVjYWxsxAEJbHVhRF9jYWxsxQEQbHVhRF9jYWxsbm95aWVsZMYBBnJlc3VtZccBBnVucm9sbMgBCmx1YURfcGNhbGzJAQhmX3BhcnNlcsoBDER1bXBGdW5jdGlvbssBCkR1bXBTdHJpbmfMAQ5sdWFfY2hlY2tzdGFja80BCWdyb3dzdGFja84BCWx1YV94bW92Zc8BCmx1YV9zZXR0b3DQAQpsdWFfcm90YXRl0QEIbHVhX2NvcHnSAQ1sdWFfcHVzaHZhbHVl0wEIbHVhX3R5cGXUAQ9sdWFfaXNjZnVuY3Rpb27VAQ1sdWFfaXNpbnRlZ2Vy1gEMbHVhX2lzbnVtYmVy1wEMbHVhX2lzc3RyaW5n2AEMbHVhX3Jhd2VxdWFs2QELbHVhX2NvbXBhcmXaARJsdWFfc3RyaW5ndG9udW1iZXLbAQ1sdWFfdG9udW1iZXJ43AEObHVhX3RvaW50ZWdlcnjdAQ1sdWFfdG9ib29sZWFu3gENbHVhX3RvbHN0cmluZ98BCmx1YV9yYXdsZW7gAQ5sdWFfdG91c2VyZGF0YeEBDGx1YV90b3RocmVhZOIBDWx1YV90b3BvaW50ZXLjAQ9sdWFfcHVzaGxzdHJpbmfkAQ5sdWFfcHVzaHN0cmluZ+UBD2x1YV9wdXNoZnN0cmluZ+YBEGx1YV9wdXNoY2Nsb3N1cmXnAQ1sdWFfZ2V0Z2xvYmFs6AEMbHVhX2dldGZpZWxk6QEIbHVhX2dldGnqAQpsdWFfcmF3Z2V06wELbHVhX3Jhd2dldGnsAQtsdWFfcmF3Z2V0cO0BD2x1YV9jcmVhdGV0YWJsZe4BEGx1YV9nZXRtZXRhdGFibGXvAQlhdXhzZXRzdHLwAQxsdWFfc2V0ZmllbGTxAQhsdWFfc2V0afIBCmx1YV9yYXdzZXTzAQtsdWFfcmF3c2V0afQBC2x1YV9yYXdzZXRw9QEQbHVhX3NldG1ldGF0YWJsZfYBCWx1YV9jYWxsa/cBCmx1YV9wY2FsbGv4AQZmX2NhbGz5AQhsdWFfbG9hZPoBBmx1YV9nY/sBCWx1YV9lcnJvcvwBCGx1YV9uZXh0/QEKbHVhX2NvbmNhdP4BD2x1YV9uZXd1c2VyZGF0Yf8BDmx1YV9nZXR1cHZhbHVlgAIObHVhX3NldHVwdmFsdWWBAgpsdWFMX2Vycm9yggIScHVzaGdsb2JhbGZ1bmNuYW1lgwIPbHVhTF9jaGVja3N0YWNrhAINbHVhTF9hcmdlcnJvcoUCCWZpbmRmaWVsZIYCCmx1YUxfd2hlcmWHAg9sdWFMX2ZpbGVyZXN1bHSIAg9sdWFMX2V4ZWNyZXN1bHSJAhFsdWFMX25ld21ldGF0YWJsZYoCEWx1YUxfc2V0bWV0YXRhYmxliwIPbHVhTF9jaGVja3VkYXRhjAIJdHlwZWVycm9yjQIQbHVhTF9jaGVja29wdGlvbo4CD2x1YUxfb3B0bHN0cmluZ48CEWx1YUxfY2hlY2tsc3RyaW5nkAIObHVhTF9jaGVja3R5cGWRAg1sdWFMX2NoZWNrYW55kgIQbHVhTF9jaGVja251bWJlcpMCEWx1YUxfY2hlY2tpbnRlZ2VylAIPbHVhTF9vcHRpbnRlZ2VylQIRbHVhTF9wcmVwYnVmZnNpemWWAglyZXNpemVib3iXAgVib3hnY5gCD2x1YUxfYWRkbHN0cmluZ5kCD2x1YUxfcHVzaHJlc3VsdJoCE2x1YUxfcHVzaHJlc3VsdHNpemWbAg1sdWFMX2FkZHZhbHVlnAIRbHVhTF9idWZmaW5pdHNpemWdAg5sdWFMX2xvYWRmaWxleJ4CC3NraXBjb21tZW50nwIEZ2V0RqACEGx1YUxfbG9hZGJ1ZmZlcnihAgRnZXRTogIRbHVhTF9nZXRtZXRhZmllbGSjAg1sdWFMX2NhbGxtZXRhpAIIbHVhTF9sZW6lAg5sdWFMX3RvbHN0cmluZ6YCDWx1YUxfc2V0ZnVuY3OnAhBsdWFMX2dldHN1YnRhYmxlqAINbHVhTF9yZXF1aXJlZqkCCWx1YUxfZ3N1YqoCDWx1YUxfbmV3c3RhdGWrAgdsX2FsbG9jrAIFcGFuaWOtAhJsdWFMX2NoZWNrdmVyc2lvbl+uAgxsdWFvcGVuX2Jhc2WvAgtsdWFCX2Fzc2VydLACCmx1YUJfZXJyb3KxAhNsdWFCX2NvbGxlY3RnYXJiYWdlsgILbHVhQl9kb2ZpbGWzAgpkb2ZpbGVjb250tAIRbHVhQl9nZXRtZXRhdGFibGW1AgtsdWFCX2lwYWlyc7YCCWlwYWlyc2F1eLcCCXBhaXJzbWV0YbgCDWx1YUJfbG9hZGZpbGW5AglsdWFCX2xvYWS6Ag5nZW5lcmljX3JlYWRlcrsCCWx1YUJfbmV4dLwCCmx1YUJfcGFpcnO9AgpsdWFCX3BjYWxsvgILZmluaXNocGNhbGy/AgpsdWFCX3ByaW50wAINbHVhQl9yYXdlcXVhbMECC2x1YUJfcmF3bGVuwgILbHVhQl9yYXdnZXTDAgtsdWFCX3Jhd3NldMQCC2x1YUJfc2VsZWN0xQIRbHVhQl9zZXRtZXRhdGFibGXGAg1sdWFCX3RvbnVtYmVyxwINbHVhQl90b3N0cmluZ8gCCWx1YUJfdHlwZckCC2x1YUJfeHBjYWxsygIPbHVhb3Blbl9wYWNrYWdlywIEZ2N0bcwCEHNlYXJjaGVyX3ByZWxvYWTNAgxzZWFyY2hlcl9MdWHOAgpzZWFyY2hlcl9DzwIOc2VhcmNoZXJfQ3Jvb3TQAgdzZXRwYXRo0QIKbGxfbG9hZGxpYtICC2xvb2tmb3JmdW5j0wINbGxfc2VhcmNocGF0aNQCCnNlYXJjaHBhdGjVAghsb2FkZnVuY9YCCmxsX3JlcXVpcmXXAhFsdWFvcGVuX2Nvcm91dGluZdgCDWx1YUJfY29jcmVhdGXZAg1sdWFCX2NvcmVzdW1l2gIJYXV4cmVzdW1l2wIObHVhQl9jb3J1bm5pbmfcAg1sdWFCX2Nvc3RhdHVz3QILbHVhQl9jb3dyYXDeAgxsdWFCX2F1eHdyYXDfAgpsdWFCX3lpZWxk4AIObHVhQl95aWVsZGFibGXhAg1sdWFvcGVuX3RhYmxl4gIHdGNvbmNhdOMCCGNoZWNrdGFi5AIHdGluc2VydOUCBHBhY2vmAgZ1bnBhY2vnAgd0cmVtb3Zl6AIFdG1vdmXpAgRzb3J06gIHYXV4c29ydOsCCXNvcnRfY29tcOwCCmx1YW9wZW5faW/tAgppb19ub2Nsb3Nl7gIIaW9fY2xvc2XvAghpb19mbHVzaPACCGlvX2lucHV08QIIZ19pb2ZpbGXyAghpb19saW5lc/MCCW9wZW5jaGVja/QCCWF1eF9saW5lc/UCB2lvX29wZW72Aglpb19mY2xvc2X3Aglpb19vdXRwdXT4Aghpb19wb3BlbvkCCWlvX3BjbG9zZfoCB2lvX3JlYWT7AgZnX3JlYWT8Agppb190bXBmaWxl/QIHaW9fdHlwZf4CCGlvX3dyaXRl/wIHZ193cml0ZYADC2lvX3JlYWRsaW5lgQMJcmVhZF9saW5lggMHZl9mbHVzaIMDB2ZfbGluZXOEAwZmX3JlYWSFAwZmX3NlZWuGAwlmX3NldHZidWaHAwdmX3dyaXRliAMEZl9nY4kDCmZfdG9zdHJpbmeKAwpsdWFvcGVuX29ziwMIb3NfY2xvY2uMAwdvc19kYXRljQMMc2V0YWxsZmllbGRzjgMLb3NfZGlmZnRpbWWPAwpvc19leGVjdXRlkAMHb3NfZXhpdJEDCW9zX2dldGVudpIDCW9zX3JlbW92ZZMDCW9zX3JlbmFtZZQDDG9zX3NldGxvY2FsZZUDB29zX3RpbWWWAwhnZXRmaWVsZJcDCm9zX3RtcG5hbWWYAw5sdWFvcGVuX3N0cmluZ5kDCHN0cl9ieXRlmgMIc3RyX2NoYXKbAwhzdHJfZHVtcJwDBndyaXRlcp0DCHN0cl9maW5kngMMc3RyX2ZpbmRfYXV4nwMKc3RyX2Zvcm1hdKADBmdtYXRjaKEDCmdtYXRjaF9hdXiiAwhzdHJfZ3N1YqMDBW1hdGNopAMPcHVzaF9vbmVjYXB0dXJlpQMHc3RyX2xlbqYDCXN0cl9sb3dlcqcDCXN0cl9tYXRjaKgDB3N0cl9yZXCpAwtzdHJfcmV2ZXJzZaoDB3N0cl9zdWKrAwlzdHJfdXBwZXKsAwhzdHJfcGFja60DCmdldGRldGFpbHOuAwxzdHJfcGFja3NpemWvAwpzdHJfdW5wYWNrsAMLbWF0Y2hfY2xhc3OxAwtzaW5nbGVtYXRjaLIDCWdldG9wdGlvbrMDDGx1YW9wZW5fbWF0aLQDCG1hdGhfYWJztQMJbWF0aF9hY29ztgMJbWF0aF9hc2lutwMJbWF0aF9hdGFuuAMJbWF0aF9jZWlsuQMIbWF0aF9jb3O6AwhtYXRoX2RlZ7sDCG1hdGhfZXhwvAMKbWF0aF90b2ludL0DCm1hdGhfZmxvb3K+AwltYXRoX2Ztb2S/AwhtYXRoX3VsdMADCG1hdGhfbG9nwQMIbWF0aF9tYXjCAwhtYXRoX21pbsMDCW1hdGhfbW9kZsQDCG1hdGhfcmFkxQMLbWF0aF9yYW5kb23GAw9tYXRoX3JhbmRvbXNlZWTHAwhtYXRoX3NpbsgDCW1hdGhfc3FydMkDCG1hdGhfdGFuygMJbWF0aF90eXBlywMJbWF0aF9jb3NozAMJbWF0aF9zaW5ozQMJbWF0aF90YW5ozgMIbWF0aF9wb3fPAwptYXRoX2ZyZXhw0AMKbWF0aF9sZGV4cNEDCm1hdGhfbG9nMTDSAwxsdWFvcGVuX3V0ZjjTAwpieXRlb2Zmc2V01AMJY29kZXBvaW501QMHdXRmY2hhctYDBnV0ZmxlbtcDCml0ZXJfY29kZXPYAwhpdGVyX2F1eNkDDWx1YW9wZW5fZGVidWfaAwhkYl9kZWJ1Z9sDD2RiX2dldHVzZXJ2YWx1ZdwDCmRiX2dldGhvb2vdAwVob29rZt4DCmRiX2dldGluZm/fAwtkYl9nZXRsb2NhbOADDmRiX2dldHJlZ2lzdHJ54QMPZGJfZ2V0bWV0YXRhYmxl4gMNZGJfZ2V0dXB2YWx1ZeMDDmRiX3VwdmFsdWVqb2lu5AMMZGJfdXB2YWx1ZWlk5QMPZGJfc2V0dXNlcnZhbHVl5gMKZGJfc2V0aG9va+cDC2RiX3NldGxvY2Fs6AMPZGJfc2V0bWV0YXRhYmxl6QMNZGJfc2V0dXB2YWx1ZeoDDGRiX3RyYWNlYmFja+sDDWx1YW9wZW5fYml0MzLsAwliX2Fyc2hpZnTtAwViX2FuZO4DBWJfbm907wMEYl9vcvADBWJfeG9y8QMGYl90ZXN08gMJYl9leHRyYWN08wMGYl9scm909AMIYl9sc2hpZnT1AwliX3JlcGxhY2X2AwZiX3Jyb3T3AwhiX3JzaGlmdPgDBmhhbmRsZfkDCGJvb3RfbHVh+gMKbXNnaGFuZGxlcvsDB2xhY3Rpb278AwVsc3RvcP0DBG1haW7+AwVmb3Blbv8DBWZyZWFkgAQGZmNsb3NlgQQGbWFsbG9jggQIX19mZG9wZW6DBA1fX3N0ZGlvX2Nsb3NlhAQMX19zdGRpb19yZWFkhQQMX19zdGRpb19zZWVrhgQNX19zdGRpb193cml0ZYcEAVKIBARhdGFuiQQFX19jb3OKBApfX3JlbV9waW8yiwQFX19zaW6MBAdfX2V4cG8yjQQIX19tZW1jcHmOBAhfX21lbXNldI8EB19fY2xvY2uQBAZfX3RpbWWRBANleHCSBAVleHBtMZMEBmZmbHVzaJQECF9fdG9yZWFklQQHX191Zmxvd5YEBWZnZXRzlwQGZmlsZW5vmAQEZm1vZJkECGZpcHJpbnRmmgQJX190b3dyaXRlmwQKX19vdmVyZmxvd5wEB2RvX3B1dGOdBAVmcmV4cJ4EEV9fZnNlZWtvX3VubG9ja2VknwQRX19mdGVsbG9fdW5sb2NrZWSgBAlfX2Z3cml0ZXihBAZmd3JpdGWiBAdkb19nZXRjowQGZ2V0ZW52pAQUX19wdGhyZWFkX211dGV4X2xvY2ulBANsb2emBAVsb2cxMKcEBm1lbWNocqgEBm1lbWNtcKkEA3Bvd6oECGNoZWNraW50qwQHaXByaW50ZqwEBHB1dHOtBAZzY2FsYm6uBAVzd2FwY68EDF9fZ2V0X2xvY2FsZbAEBnNpZ25hbLEECHNucHJpbnRmsgQYX19lbXNjcmlwdGVuX3N0ZG91dF9zZWVrswQGc3RyY2hytAQLX19zdHJjaHJudWy1BAZzdHJjbXC2BAZzdHJjcHm3BAhzdHJlcnJvcrgEBnN0cmxlbrkEB3N0cm5jbXC6BAdzdHJwYnJruwQGc3Ryc3BuvAQGc3Ryc3RyvQQIX19zaGdldGO+BAljb3B5c2lnbmy/BAdzY2FsYm5swAQFZm1vZGzBBAdzY2FuZXhwwgQGc3RydG9kwwQFX190YW7EBApfX3JhbmRuYW1lxQQFdHpzZXTGBAZ1bmdldGPHBBNfX3ZmcHJpbnRmX2ludGVybmFsyAQLcHJpbnRmX2NvcmXJBANvdXTKBAZnZXRpbnTLBAdwb3BfYXJnzAQFZm10X3XNBANwYWTOBAZmbXRfZnDPBBNwb3BfYXJnX2xvbmdfZG91Ymxl0AQIc25fd3JpdGXRBAZ3Y3RvbWLSBARzYnJr0wQZZW1zY3JpcHRlbl9idWlsdGluX21hbGxvY9QEF2Vtc2NyaXB0ZW5fYnVpbHRpbl9mcmVl1QQRaW50ZXJuYWxfbWVtYWxpZ27WBA1kaXNwb3NlX2NodW5r1wQIX19hZGR0ZjPYBAlfX2FzaGx0aTPZBAdfX2xldGYy2gQHX19nZXRmMtsECF9fZGl2dGYz3AQIc2V0VGhyZXfdBBJlbXNjcmlwdGVuX2xvbmdqbXDeBA1fX2V4dGVuZGRmdGYy3wQLX19mbG9hdHNpdGbgBA1fX2Zsb2F0dW5zaXRm4QQJX19sc2hydGkz4gQIX19tdWx0ZjPjBAhfX211bHRpM+QECF9fc3VidGYz5QQMX190cnVuY3RmZGYy5gQZX2Vtc2NyaXB0ZW5fc3RhY2tfcmVzdG9yZecEF19lbXNjcmlwdGVuX3N0YWNrX2FsbG9j6AQcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudOkEFWVtc2NyaXB0ZW5fc3RhY2tfaW5pdOoEGWVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2ZyZWXrBBllbXNjcmlwdGVuX3N0YWNrX2dldF9iYXNl7AQYZW1zY3JpcHRlbl9zdGFja19nZXRfZW5k7QQLZHluQ2FsbF9qamruBAtkeW5DYWxsX3Zqau8ECmR5bkNhbGxfaWrwBAxkeW5DYWxsX2pqamrxBA1keW5DYWxsX2pqampq8gQMZHluQ2FsbF9pamlq8wQNZHluQ2FsbF9pampqavQECmR5bkNhbGxfdmn1BAxkeW5DYWxsX2pqamn2BA9keW5DYWxsX2lqZGlpaWkHNwQAD19fc3RhY2tfcG9pbnRlcgEIdGVtcFJldDACC19fc3RhY2tfZW5kAwxfX3N0YWNrX2Jhc2UJshbiAQAHLnJvZGF0YQEJLnJvZGF0YS4xAgkucm9kYXRhLjIDCS5yb2RhdGEuMwQJLnJvZGF0YS40BQkucm9kYXRhLjUGCS5yb2RhdGEuNgcJLnJvZGF0YS43CAkucm9kYXRhLjgJCS5yb2RhdGEuOQoKLnJvZGF0YS4xMAsKLnJvZGF0YS4xMQwKLnJvZGF0YS4xMg0KLnJvZGF0YS4xMw4KLnJvZGF0YS4xNA8KLnJvZGF0YS4xNRAKLnJvZGF0YS4xNhEKLnJvZGF0YS4xNxIKLnJvZGF0YS4xOBMKLnJvZGF0YS4xORQKLnJvZGF0YS4yMBUKLnJvZGF0YS4yMRYKLnJvZGF0YS4yMhcKLnJvZGF0YS4yMxgKLnJvZGF0YS4yNBkKLnJvZGF0YS4yNRoKLnJvZGF0YS4yNhsKLnJvZGF0YS4yNxwKLnJvZGF0YS4yOB0KLnJvZGF0YS4yOR4KLnJvZGF0YS4zMB8KLnJvZGF0YS4zMSAKLnJvZGF0YS4zMiEKLnJvZGF0YS4zMyIKLnJvZGF0YS4zNCMKLnJvZGF0YS4zNSQKLnJvZGF0YS4zNiUKLnJvZGF0YS4zNyYKLnJvZGF0YS4zOCcKLnJvZGF0YS4zOSgKLnJvZGF0YS40MCkKLnJvZGF0YS40MSoKLnJvZGF0YS40MisKLnJvZGF0YS40MywKLnJvZGF0YS40NC0KLnJvZGF0YS40NS4KLnJvZGF0YS40Ni8KLnJvZGF0YS40NzAKLnJvZGF0YS40ODEKLnJvZGF0YS40OTIKLnJvZGF0YS41MDMKLnJvZGF0YS41MTQKLnJvZGF0YS41MjUKLnJvZGF0YS41MzYKLnJvZGF0YS41NDcKLnJvZGF0YS41NTgKLnJvZGF0YS41NjkKLnJvZGF0YS41NzoKLnJvZGF0YS41ODsKLnJvZGF0YS41OTwKLnJvZGF0YS42MD0KLnJvZGF0YS42MT4KLnJvZGF0YS42Mj8KLnJvZGF0YS42M0AKLnJvZGF0YS42NEEKLnJvZGF0YS42NUIKLnJvZGF0YS42NkMKLnJvZGF0YS42N0QKLnJvZGF0YS42OEUKLnJvZGF0YS42OUYKLnJvZGF0YS43MEcKLnJvZGF0YS43MUgKLnJvZGF0YS43MkkKLnJvZGF0YS43M0oKLnJvZGF0YS43NEsKLnJvZGF0YS43NUwKLnJvZGF0YS43Nk0KLnJvZGF0YS43N04KLnJvZGF0YS43OE8KLnJvZGF0YS43OVAKLnJvZGF0YS44MFEKLnJvZGF0YS44MVIKLnJvZGF0YS44MlMKLnJvZGF0YS44M1QKLnJvZGF0YS44NFUKLnJvZGF0YS44NVYKLnJvZGF0YS44NlcKLnJvZGF0YS44N1gKLnJvZGF0YS44OFkKLnJvZGF0YS44OVoKLnJvZGF0YS45MFsKLnJvZGF0YS45MVwKLnJvZGF0YS45Ml0KLnJvZGF0YS45M14KLnJvZGF0YS45NF8KLnJvZGF0YS45NWAKLnJvZGF0YS45NmEKLnJvZGF0YS45N2IKLnJvZGF0YS45OGMKLnJvZGF0YS45OWQLLnJvZGF0YS4xMDBlCy5yb2RhdGEuMTAxZgsucm9kYXRhLjEwMmcLLnJvZGF0YS4xMDNoCy5yb2RhdGEuMTA0aQsucm9kYXRhLjEwNWoLLnJvZGF0YS4xMDZrCy5yb2RhdGEuMTA3bAsucm9kYXRhLjEwOG0LLnJvZGF0YS4xMDluCy5yb2RhdGEuMTEwbwsucm9kYXRhLjExMXALLnJvZGF0YS4xMTJxCy5yb2RhdGEuMTEzcgsucm9kYXRhLjExNHMLLnJvZGF0YS4xMTV0Cy5yb2RhdGEuMTE2dQsucm9kYXRhLjExN3YLLnJvZGF0YS4xMTh3Cy5yb2RhdGEuMTE5eAsucm9kYXRhLjEyMHkLLnJvZGF0YS4xMjF6Cy5yb2RhdGEuMTIyewsucm9kYXRhLjEyM3wLLnJvZGF0YS4xMjR9Cy5yb2RhdGEuMTI1fgsucm9kYXRhLjEyNn8LLnJvZGF0YS4xMjeAAQsucm9kYXRhLjEyOIEBCy5yb2RhdGEuMTI5ggELLnJvZGF0YS4xMzCDAQsucm9kYXRhLjEzMYQBCy5yb2RhdGEuMTMyhQELLnJvZGF0YS4xMzOGAQsucm9kYXRhLjEzNIcBCy5yb2RhdGEuMTM1iAELLnJvZGF0YS4xMzaJAQsucm9kYXRhLjEzN4oBCy5yb2RhdGEuMTM4iwELLnJvZGF0YS4xMzmMAQsucm9kYXRhLjE0MI0BCy5yb2RhdGEuMTQxjgELLnJvZGF0YS4xNDKPAQsucm9kYXRhLjE0M5ABCy5yb2RhdGEuMTQ0kQELLnJvZGF0YS4xNDWSAQsucm9kYXRhLjE0NpMBCy5yb2RhdGEuMTQ3lAELLnJvZGF0YS4xNDiVAQsucm9kYXRhLjE0OZYBCy5yb2RhdGEuMTUwlwELLnJvZGF0YS4xNTGYAQsucm9kYXRhLjE1MpkBCy5yb2RhdGEuMTUzmgELLnJvZGF0YS4xNTSbAQsucm9kYXRhLjE1NZwBCy5yb2RhdGEuMTU2nQELLnJvZGF0YS4xNTeeAQsucm9kYXRhLjE1OJ8BCy5yb2RhdGEuMTU5oAELLnJvZGF0YS4xNjChAQsucm9kYXRhLjE2MaIBCy5yb2RhdGEuMTYyowELLnJvZGF0YS4xNjOkAQsucm9kYXRhLjE2NKUBCy5yb2RhdGEuMTY1pgELLnJvZGF0YS4xNjanAQsucm9kYXRhLjE2N6gBCy5yb2RhdGEuMTY4qQELLnJvZGF0YS4xNjmqAQsucm9kYXRhLjE3MKsBCy5yb2RhdGEuMTcxrAELLnJvZGF0YS4xNzKtAQsucm9kYXRhLjE3M64BCy5yb2RhdGEuMTc0rwELLnJvZGF0YS4xNzWwAQsucm9kYXRhLjE3NrEBCy5yb2RhdGEuMTc3sgELLnJvZGF0YS4xNzizAQsucm9kYXRhLjE3ObQBCy5yb2RhdGEuMTgwtQELLnJvZGF0YS4xODG2AQsucm9kYXRhLjE4MrcBCy5yb2RhdGEuMTgzuAELLnJvZGF0YS4xODS5AQsucm9kYXRhLjE4NboBCy5yb2RhdGEuMTg2uwELLnJvZGF0YS4xODe8AQsucm9kYXRhLjE4OL0BCy5yb2RhdGEuMTg5vgELLnJvZGF0YS4xOTC/AQsucm9kYXRhLjE5McABCy5yb2RhdGEuMTkywQELLnJvZGF0YS4xOTPCAQsucm9kYXRhLjE5NMMBCy5yb2RhdGEuMTk1xAELLnJvZGF0YS4xOTbFAQsucm9kYXRhLjE5N8YBCy5yb2RhdGEuMTk4xwELLnJvZGF0YS4xOTnIAQsucm9kYXRhLjIwMMkBCy5yb2RhdGEuMjAxygELLnJvZGF0YS4yMDLLAQsucm9kYXRhLjIwM8wBCy5yb2RhdGEuMjA0zQELLnJvZGF0YS4yMDXOAQsucm9kYXRhLjIwNs8BCy5yb2RhdGEuMjA30AELLnJvZGF0YS4yMDjRAQsucm9kYXRhLjIwOdIBBS5kYXRh0wEHLmRhdGEuMdQBBy5kYXRhLjLVAQcuZGF0YS4z1gEHLmRhdGEuNNcBBy5kYXRhLjXYAQcuZGF0YS422QEHLmRhdGEuN9oBBy5kYXRhLjjbAQcuZGF0YS453AEILmRhdGEuMTDdAQguZGF0YS4xMd4BCC5kYXRhLjEy3wEILmRhdGEuMTPgAQguZGF0YS4xNOEBCC5kYXRhLjE1"