A/MNCkxcrFFjAAAAAAAAAAAEAAAAQCAAAHOqAAAAZAAAWgAAZAEAZAIAbAEAbQIAWgIAAWQBAGQDAGwDAG0EAFoEAAFkAQBkBABsBQBaBQBkAQBkBABsBgBaBgBkAQBkBABsBwBaBwBkAQBkBABsCABaCABkBQBkBgBnAgBaCQBlBgBqCgBaCgBkBwCEAABaCwBlCABqDABkCABlCABqDQBlCABqDgBCgwIAWg8AZAUAZQoAZgEAZAkAhAAAgwAAWVoQAGQEAFMoCgAAAHMrAAAAUmF0aW9uYWwsIGluZmluaXRlLXByZWNpc2lvbiwgcmVhbCBudW1iZXJzLmn/////KAEAAAB0CAAAAGRpdmlzaW9uKAEAAAB0BwAAAERlY2ltYWxOdAgAAABGcmFjdGlvbnQDAAAAZ2NkYwIAAAACAAAAAwAAAEMgAABzIgAAAHgbAHwBAHIdAHwBAHwAAHwBABYCfQAAfQEAcQMAV3wAAFMoAQAAAHO2AAAAQ2FsY3VsYXRlIHRoZSBHcmVhdGVzdCBDb21tb24gRGl2aXNvciBvZiBhIGFuZCBiLgoKICAgIFVubGVzcyBiPT0wLCB0aGUgcmVzdWx0IHdpbGwgaGF2ZSB0aGUgc2FtZSBzaWduIGFzIGIgKHNvIHRoYXQgd2hlbgogICAgYiBpcyBkaXZpZGVkIGJ5IGl0LCB0aGUgcmVzdWx0IGNvbWVzIG91dCBwb3NpdGl2ZSkuCiAgICAoAAAAACgCAAAAdAEAAABhdAEAAABiKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvZnJhY3Rpb25zLnB5UgMAAAASAAAAcwYAAAAABgkBFQFzQwIAAAogICAgXEFccyogICAgICAgICAgICAgICAgICAgICAgIyBvcHRpb25hbCB3aGl0ZXNwYWNlIGF0IHRoZSBzdGFydCwgdGhlbgogICAgKD9QPHNpZ24+Wy0rXT8pICAgICAgICAgICAgIyBhbiBvcHRpb25hbCBzaWduLCB0aGVuCiAgICAoPz1cZHxcLlxkKSAgICAgICAgICAgICAgICAjIGxvb2thaGVhZCBmb3IgZGlnaXQgb3IgLmRpZ2l0CiAgICAoP1A8bnVtPlxkKikgICAgICAgICAgICAgICAjIG51bWVyYXRvciAocG9zc2libHkgZW1wdHkpCiAgICAoPzogICAgICAgICAgICAgICAgICAgICAgICAjIGZvbGxvd2VkIGJ5CiAgICAgICAoPzovKD9QPGRlbm9tPlxkKykpPyAgICAjIGFuIG9wdGlvbmFsIGRlbm9taW5hdG9yCiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9yCiAgICAgICAoPzpcLig/UDxkZWNpbWFsPlxkKikpPyAjIGFuIG9wdGlvbmFsIGZyYWN0aW9uYWwgcGFydAogICAgICAgKD86RSg/UDxleHA+Wy0rXT9cZCspKT8gIyBhbmQgb3B0aW9uYWwgZXhwb25lbnQKICAgICkKICAgIFxzKlxaICAgICAgICAgICAgICAgICAgICAgICMgYW5kIG9wdGlvbmFsIHdoaXRlc3BhY2UgdG8gZmluaXNoCmMAAAAAAAAAAAMAAABCIAAAc98BAABlAABaAQBkAABaAgBkJwBaAwBkAwBkKABkBACEAgBaBQBlBgBkBQCEAACDAQBaBwBlBgBkBgCEAACDAQBaCABkBwBkCACEAQBaCQBlCgBkCQCEAACDAQBaCwBlCgBkCgCEAACDAQBaDABkCwCEAABaDQBkDACEAABaDgBkDQCEAABaDwBkDgCEAABaEABlDwBlEABlEQBqEgCDAgBcAgBaEwBaFABkDwCEAABaFQBlDwBlFQBlEQBqFgCDAgBcAgBaFwBaGABkEACEAABaGQBlDwBlGQBlEQBqGgCDAgBcAgBaGwBaHABkEQCEAABaHQBlDwBlHQBlEQBqHgCDAgBcAgBaHwBaIABlDwBlHQBlEQBqIQCDAgBcAgBaIgBaIwBkEgCEAABaJABkEwCEAABaJQBkFACEAABaJgBkFQCEAABaJwBkFgCEAABaKABkFwCEAABaKQBkGACEAABaKgBkGQCEAABaKwBkGgCEAABaLABkGwCEAABaLQBkHACEAABaLgBkHQCEAABaLwBkHgCEAABaMABkHwCEAABaMQBkIACEAABaMgBkIQCEAABaMwBkIgCEAABaNABkIwCEAABaNQBkJACEAABaNgBkJQCEAABaNwBkJgCEAABaOABSUygpAAAAc10CAABUaGlz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ACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9mcmFjdGlvbnMucHl0BwAAAF9fc3RyX18RAQAAcwYAAAAAAg8BDQJjAgAAAAQAAAACAAAAAyAAAHNuAAAAhwAAhwEAZgIAZAEAhgAAfQIAZAIAiAAAagAAF2QCABd8AgBfAACIAQBqAQB8AgBfAQCHAACHAQBmAgBkAwCGAAB9AwBkBACIAABqAAAXZAIAF3wDAF8AAIgBAGoBAHwDAF8BAHwCAHwDAGYCAFMoBQAAAHPTDwAAR2VuZXJhdGVzIGZvcndhcmQgYW5kIHJldmVyc2Ugb3BlcmF0b3JzIGdpdmVuIGEgcHVyZWx5LXJhdGlvbmFsCiAgICAgICAgb3BlcmF0b3IgYW5kIGEgZnVuY3Rpb24gZnJvbSB0aGUgb3BlcmF0b3IgbW9kdWxlLgoKICAgICAgICBVc2UgdGhpcyBsaWtlOgogICAgICAgIF9fb3BfXywgX19yb3BfXyA9IF9vcGVyYXRvcl9mYWxsYmFja3MoanVzdF9yYXRpb25hbF9vcCwgb3BlcmF0b3Iub3ApCgogICAgICAgIEluIGdlbmVyYWwsIHdlIHdhbnQgdG8gaW1wbGVtZW50IHRoZSBhcml0aG1ldGljIG9wZXJhdGlvbnMgc28KICAgICAgICB0aGF0IG1peGVkLW1vZGUgb3BlcmF0aW9ucyBlaXRoZXIgY2FsbCBhbiBpbXBsZW1lbnRhdGlvbiB3aG9zZQogICAgICAgIGF1dGhvciBrbmV3IGFib3V0IHRoZSB0eXBlcyBvZiBib3RoIGFyZ3VtZW50cywgb3IgY29udmVydCBib3RoCiAgICAgICAgdG8gdGhlIG5lYXJlc3QgYnVpbHQgaW4gdHlwZSBhbmQgZG8gdGhlIG9wZXJhdGlvbiB0aGVyZS4gSW4KICAgICAgICBGcmFjdGlvbiwgdGhhdCBtZWFucyB0aGF0IHdlIGRlZmluZSBfX2FkZF9fIGFuZCBfX3JhZGRfXyBhczoKCiAgICAgICAgICAgIGRlZiBfX2FkZF9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICMgQm90aCB0eXBlcyBoYXZlIG51bWVyYXRvcnMvZGVub21pbmF0b3IgYXR0cmlidXRlcywKICAgICAgICAgICAgICAgICMgc28gZG8gdGhlIG9wZXJhdGlvbiBkaXJlY3RseQogICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgKGludCwgbG9uZywgRnJhY3Rpb24pKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gRnJhY3Rpb24oc2VsZi5udW1lcmF0b3IgKiBvdGhlci5kZW5vbWluYXRvciArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyLm51bWVyYXRvciAqIHNlbGYuZGVub21pbmF0b3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGVub21pbmF0b3IgKiBvdGhlci5kZW5vbWluYXRvcikKICAgICAgICAgICAgICAgICMgZmxvYXQgYW5kIGNvbXBsZXggZG9uJ3QgaGF2ZSB0aG9zZSBvcGVyYXRpb25zLCBidXQgd2UKICAgICAgICAgICAgICAgICMga25vdyBhYm91dCB0aG9zZSB0eXBlcywgc28gc3BlY2lhbCBjYXNlIHRoZW0uCiAgICAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uob3RoZXIsIGZsb2F0KToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmxvYXQoc2VsZikgKyBvdGhlcgogICAgICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKG90aGVyLCBjb21wbGV4KToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcGxleChzZWxmKSArIG90aGVyCiAgICAgICAgICAgICAgICAjIExldCB0aGUgb3RoZXIgdHlwZSB0YWtlIG92ZXIuCiAgICAgICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKCiAgICAgICAgICAgIGRlZiBfX3JhZGRfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgICAgICAgICAjIHJhZGQgaGFuZGxlcyBtb3JlIHR5cGVzIHRoYW4gYWRkIGJlY2F1c2UgdGhlcmUncwogICAgICAgICAgICAgICAgIyBub3RoaW5nIGxlZnQgdG8gZmFsbCBiYWNrIHRvLgogICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgUmF0aW9uYWwpOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBGcmFjdGlvbihzZWxmLm51bWVyYXRvciAqIG90aGVyLmRlbm9taW5hdG9yICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIubnVtZXJhdG9yICogc2VsZi5kZW5vbWluYXRvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kZW5vbWluYXRvciAqIG90aGVyLmRlbm9taW5hdG9yKQogICAgICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKG90aGVyLCBSZWFsKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmxvYXQob3RoZXIpICsgZmxvYXQoc2VsZikKICAgICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShvdGhlciwgQ29tcGxleCk6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXgob3RoZXIpICsgY29tcGxleChzZWxmKQogICAgICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCgoKICAgICAgICBUaGVyZSBhcmUgNSBkaWZmZXJlbnQgY2FzZXMgZm9yIGEgbWl4ZWQtdHlwZSBhZGRpdGlvbiBvbgogICAgICAgIEZyYWN0aW9uLiBJJ2xsIHJlZmVyIHRvIGFsbCBvZiB0aGUgYWJvdmUgY29kZSB0aGF0IGRvZXNuJ3QKICAgICAgICByZWZlciB0byBGcmFjdGlvbiwgZmxvYXQsIG9yIGNvbXBsZXggYXMgImJvaWxlcnBsYXRlIi4gJ3InCiAgICAgICAgd2lsbCBiZSBhbiBpbnN0YW5jZSBvZiBGcmFjdGlvbiwgd2hpY2ggaXMgYSBzdWJ0eXBlIG9mCiAgICAgICAgUmF0aW9uYWwgKHIgOiBGcmFjdGlvbiA8OiBSYXRpb25hbCksIGFuZCBiIDogQiA8OgogICAgICAgIENvbXBsZXguIFRoZSBmaXJzdCB0aHJlZSBpbnZvbHZlICdyICsgYic6CgogICAgICAgICAgICAxLiBJZiBCIDw6IEZyYWN0aW9uLCBpbnQsIGZsb2F0LCBvciBjb21wbGV4LCB3ZSBoYW5kbGUKICAgICAgICAgICAgICAgdGhhdCBzcGVjaWFsbHksIGFuZCBhbGwgaXMgd2VsbC4KICAgICAgICAgICAgMi4gSWYgRnJhY3Rpb24gZmFsbHMgYmFjayB0byB0aGUgYm9pbGVycGxhdGUgY29kZSwgYW5kIGl0CiAgICAgICAgICAgICAgIHdlcmUgdG8gcmV0dXJuIGEgdmFsdWUgZnJvbSBfX2FkZF9fLCB3ZSdkIG1pc3MgdGhlCiAgICAgICAgICAgICAgIHBvc3NpYmlsaXR5IHRoYXQgQiBkZWZpbmVzIGEgbW9yZSBpbnRlbGxpZ2VudCBfX3JhZGRfXywKICAgICAgICAgICAgICAgc28gdGhlIGJvaWxlcnBsYXRlIHNob3VsZCByZXR1cm4gTm90SW1wbGVtZW50ZWQgZnJvbQogICAgICAgICAgICAgICBfX2FkZF9fLiBJbiBwYXJ0aWN1bGFyLCB3ZSBkb24ndCBoYW5kbGUgUmF0aW9uYWwKICAgICAgICAgICAgICAgaGVyZSwgZXZlbiB0aG91Z2ggd2UgY291bGQgZ2V0IGFuIGV4YWN0IGFuc3dlciwgaW4gY2FzZQogICAgICAgICAgICAgICB0aGUgb3RoZXIgdHlwZSB3YW50cyB0byBkbyBzb21ldGhpbmcgc3BlY2lhbC4KICAgICAgICAgICAgMy4gSWYgQiA8OiBGcmFjdGlvbiwgUHl0aG9uIHRyaWVzIEIuX19yYWRkX18gYmVmb3JlCiAgICAgICAgICAgICAgIEZyYWN0aW9uLl9fYWRkX18uIFRoaXMgaXMgb2ssIGJlY2F1c2UgaXQgd2FzCiAgICAgICAgICAgICAgIGltcGxlbWVudGVkIHdpdGgga25vd2xlZGdlIG9mIEZyYWN0aW9uLCBzbyBpdCBjYW4KICAgICAgICAgICAgICAgaGFuZGxlIHRob3NlIGluc3RhbmNlcyBiZWZvcmUgZGVsZWdhdGluZyB0byBSZWFsIG9yCiAgICAgICAgICAgICAgIENvbXBsZXguCgogICAgICAgIFRo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