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hABaCGQQZAtkDIQBWglkDWQOhABaCmQPUwApEXIKAAAAYYANAAAKICAgIEZvcm1hdCB0b2tlbnMgYXMgTGFUZVggY29kZS4gVGhpcyBuZWVkcyB0aGUgYGZhbmN5dnJiYCBhbmQgYGNvbG9yYAogICAgc3RhbmRhcmQgcGFja2FnZXMuCgogICAgV2l0aG91dCB0aGUgYGZ1bGxgIG9wdGlvbiwgY29kZSBpcyBmb3JtYXR0ZWQgYXMgb25lIGBgVmVyYmF0aW1gYAogICAgZW52aXJvbm1lbnQsIGxpa2UgdGhpczoKCiAgICAuLiBzb3VyY2Vjb2RlOjogbGF0ZXgKCiAgICAgICAgXGJlZ2lue1ZlcmJhdGltfVtjb21tYW5kY2hhcnM9XFxce1x9XQogICAgICAgIFxQWXtrfXtkZWYgfVxQWXtuK25mfXtmb299KFxQWXtufXtiYXJ9KToKICAgICAgICAgICAgXFBZe2t9e3Bhc3N9CiAgICAgICAgXGVuZHtWZXJiYXRpbX0KCiAgICBXcmFwcGluZyBjYW4gYmUgZGlzYWJsZWQgdXNpbmcgdGhlIGBub3dyYXBgIG9wdGlvbi4KCiAgICBUaGUgc3BlY2lhbCBjb21tYW5kIHVzZWQgaGVyZSAoYGBcUFlgYCkgYW5kIGFsbCB0aGUgb3RoZXIgbWFjcm9zIGl0IG5lZWRzCiAgICBhcmUgb3V0cHV0IGJ5IHRoZSBgZ2V0X3N0eWxlX2RlZnNgIG1ldGhvZC4KCiAgICBXaXRoIHRoZSBgZnVsbGAgb3B0aW9uLCBhIGNvbXBsZXRlIExhVGVYIGRvY3VtZW50IGlzIG91dHB1dCwgaW5jbHVkaW5nCiAgICB0aGUgY29tbWFuZCBkZWZpbml0aW9ucyBpbiB0aGUgcHJlYW1ibGUuCgogICAgVGhlIGBnZXRfc3R5bGVfZGVmcygpYCBtZXRob2Qgb2YgYSBgTGF0ZXhGb3JtYXR0ZXJgIHJldHVybnMgYSBzdHJpbmcKICAgIGNvbnRhaW5pbmcgYGBcZGVmYGAgY29tbWFuZHMgZGVmaW5pbmcgdGhlIG1hY3JvcyBuZWVkZWQgaW5zaWRlIHRoZQogICAgYGBWZXJiYXRpbWBgIGVudmlyb25tZW50cy4KCiAgICBBZGRpdGlvbmFsIG9wdGlvbnMgYWNjZXB0ZWQ6CgogICAgYG5vd3JhcGAKICAgICAgICBJZiBzZXQgdG8gYGBUcnVlYGAsIGRvbid0IHdyYXAgdGhlIHRva2VucyBhdCBhbGwsIG5vdCBldmVuIGluc2lkZSBhCiAgICAgICAgYGBcYmVnaW57VmVyYmF0aW19YGAgZW52aXJvbm1lbnQuIFRoaXMgZGlzYWJsZXMgbW9zdCBvdGhlciBvcHRpb25zCiAgICAgICAgKGRlZmF1bHQ6IGBgRmFsc2VgYCkuCgogICAgYHN0eWxlYAogICAgICAgIFRoZSBzdHlsZSB0byB1c2UsIGNhbiBiZSBhIHN0cmluZyBvciBhIFN0eWxlIHN1YmNsYXNzIChkZWZhdWx0OgogICAgICAgIGBgJ2RlZmF1bHQnYGApLgoKICAgIGBmdWxsYAogICAgICAgIFRlbGxzIHRoZSBmb3JtYXR0ZXIgdG8gb3V0cHV0IGEgImZ1bGwiIGRvY3VtZW50LCBpLmUuIGEgY29tcGxldGUKICAgICAgICBzZWxmLWNvbnRhaW5lZCBkb2N1bWVudCAoZGVmYXVsdDogYGBGYWxzZWBgKS4KCiAgICBgdGl0bGVgCiAgICAgICAgSWYgYGZ1bGxgIGlzIHRydWUsIHRoZSB0aXRsZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGNhcHRpb24gdGhlCiAgICAgICAgZG9jdW1lbnQgKGRlZmF1bHQ6IGBgJydgYCkuCgogICAgYGRvY2NsYXNzYAogICAgICAgIElmIHRoZSBgZnVsbGAgb3B0aW9uIGlzIGVuYWJsZWQsIHRoaXMgaXMgdGhlIGRvY3VtZW50IGNsYXNzIHRvIHVzZQogICAgICAgIChkZWZhdWx0OiBgYCdhcnRpY2xlJ2BgKS4KCiAgICBgcHJlYW1ibGVgCiAgICAgICAgSWYgdGhlIGBmdWxsYCBvcHRpb24gaXMgZW5hYmxlZCwgdGhpcyBjYW4gYmUgZnVydGhlciBwcmVhbWJsZSBjb21tYW5kcywKICAgICAgICBlLmcuIGBgXHVzZXBhY2thZ2VgYCAoZGVmYXVsdDogYGAnJ2BgKS4KCiAgICBgbGluZW5vc2AKICAgICAgICBJZiBzZXQgdG8gYGBUcnVlYGAsIG91dHB1dCBsaW5lIG51bWJlcnMgKGRlZmF1bHQ6IGBgRmFsc2VgYCkuCgogICAgYGxpbmVub3N0YXJ0YAogICAgICAgIFRoZSBsaW5lIG51bWJlciBmb3IgdGhlIGZpcnN0IGxpbmUgKGRlZmF1bHQ6IGBgMWBgKS4KCiAgICBgbGluZW5vc3RlcGAKICAgICAgICBJZiBzZXQgdG8gYSBudW1iZXIgbiA+IDEsIG9ubHkgZXZlcnkgbnRoIGxpbmUgbnVtYmVyIGlzIHByaW50ZWQuCgogICAgYHZlcmJvcHRpb25zYAogICAgICAgIEFkZGl0aW9uYWwgb3B0aW9ucyBnaXZlbiB0byB0aGUgVmVyYmF0aW0gZW52aXJvbm1lbnQgKHNlZSB0aGUgKmZhbmN5dnJiKgogICAgICAgIGRvY3MgZm9yIHBvc3NpYmxlIHZhbHVlcykgKGRlZmF1bHQ6IGBgJydgYCkuCgogICAgYGNvbW1hbmRwcmVmaXhgCiAgICAgICAgVGhlIExhVGVYIGNvbW1hbmRzIHVzZWQgdG8gcHJvZHVjZSBjb2xvcmVkIG91dHB1dCBhcmUgY29uc3RydWN0ZWQKICAgICAgICB1c2luZyB0aGlzIHByZWZpeCBhbmQgc29tZSBsZXR0ZXJzIChkZWZhdWx0OiBgYCdQWSdgYCkuCgogICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDAuNwogICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMC4xMAogICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIG5vdyBgYCdQWSdgYCBpbnN0ZWFkIG9mIGBgJ0MnYGAuCgogICAgYHRleGNvbW1lbnRzYAogICAgICAgIElmIHNldCB0byBgYFRydWVgYCwgZW5hYmxlcyBMYVRlWCBjb21tZW50IGxpbmVzLiAgVGhhdCBpcywgTGFUZXggbWFya3VwCiAgICAgICAgaW4gY29tbWVudCB0b2tlbnMgaXMgbm90IGVzY2FwZWQgc28gdGhhdCBMYVRlWCBjYW4gcmVuZGVyIGl0IChkZWZhdWx0OgogICAgICAgIGBgRmFsc2VgYCkuCgogICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMgoKICAgIGBtYXRoZXNjYXBlYAogICAgICAgIElmIHNl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