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AAAA2hJzcGxpdF9lbnZ2YXJfdmFsdWV2AAAAcwIAAAAQCHocUGFyYW1UeXBlLnNwbGl0X2VudnZhcl92YWx1ZdoHbWVzc2FnZXoKdC5Ob1JldHVybmMEAAAAAAAAAAAAAAAEAAAABQAAAEMAAABzDgAAAHQAfAF8A3wCZAGNA4IBKQJ6NEhlbHBlciBtZXRob2QgdG8gZmFpbCB3aXRoIGFuIGludmFsaWQgdmFsdWUgbWVzc2FnZS6pAnIjAAAAciIAAAByCQAAACkEch0AAAByMwAAAHIiAAAAciMAAAByHgAAAHIeAAAAch8AAADaBGZhaWyAAAAAcwIAAAAOB3oOUGFyYW1UeXBlLmZhaWzaCmluY29tcGxldGVyEAAAAGMEAAAAAAAAAAAAAAAEAAAAAQAAAEMAAABzBAAAAGcAUwApAWHfAQAAUmV0dXJuIGEgbGlzdCBvZgogICAgICAgIDpjbGFzczpgfmNsaWNrLnNoZWxsX2NvbXBsZXRpb24uQ29tcGxldGlvbkl0ZW1gIG9iamVjdHMgZm9yIHRoZQogICAgICAgIGluY29tcGxldGUgdmFsdWUuIE1vc3QgdHlwZXMgZG8gbm90IHByb3ZpZGUgY29tcGxldGlvbnMsIGJ1dAogICAgICAgIHNvbWUgZG8sIGFuZCB0aGlzIGFsbG93cyBjdXN0b20gdHlwZXMgdG8gcHJvdmlkZSBjdXN0b20KICAgICAgICBjb21wbGV0aW9ucyBhcyB3ZWxsLgoKICAgICAgICA6cGFyYW0gY3R4OiBJbnZvY2F0aW9uIGNvbnRleHQgZm9yIHRoaXMgY29tbWFuZC4KICAgICAgICA6cGFyYW0gcGFyYW06IFRoZSBwYXJhbWV0ZXIgdGhhdCBpcyByZXF1ZXN0aW5nIGNvbXBsZXRpb24uCiAgICAgICAgOnBhcmFtIGluY29tcGxldGU6IFZhbHVlIGJlaW5nIGNvbXBsZXRlZC4gTWF5IGJlIGVtcHR5LgoKICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiA4LjAKICAgICAgICByHgAAACkEch0AAAByIwAAAHIiAAAAcjYAAAByHgAAAHIeAAAAch8AAADaDnNoZWxsX2NvbXBsZXRliQAAAHMCAAAABA96GFBhcmFtVHlwZS5zaGVsbF9jb21w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AAAAAAkAAAAAAAAAc9AAAABlAFoBZABaAmQBWgNkAloEZB1kBGUFagZlBxkAZAVlCGQGZAdmBmQIZAmEBVoJZAZlBWoKZQdlBWoLZgIZAGYChwBmAWQKZAuEDFoMZAxkDWQGZQdmBGQOZA+EBFoNZAxkDWQGZQdmBGQQZBGEBFoOZBJlBWoLZAxlBWoPZA0ZAGQTZQVqD2QUGQBkBmUFagtmCGQVZBaEBFoQZAZlB2YCZBdkGIQEWhFkE2QUZAxkDWQZZQdkBmUFahJkGhkAZghkG2QchARaE4cABABaFFMAKR7aBkNob2ljZWE+AgAAVGhlIGNob2ljZSB0eXBlIGFsbG93cyBhIHZhbHVlIHRvIGJlIGNoZWNrZWQgYWdhaW5zdCBhIGZpeGVkIHNldAogICAgb2Ygc3VwcG9ydGVkIHZhbHVlcy4gQWxsIG9mIHRoZXNlIHZhbHVlcyBoYXZlIHRvIGJlIHN0cmluZ3MuCgogICAgWW91IHNob3VsZCBvbmx5IHBhc3MgYSBsaXN0IG9yIHR1cGxlIG9mIGNob2ljZXMuIE90aGVyIGl0ZXJhYmxlcwogICAgKGxpa2UgZ2VuZXJhdG9ycykgbWF5IGxlYWQgdG8gc3VycHJpc2luZyByZXN1bHRzLgoKICAgIFRoZSByZXN1bHRpbmcgdmFsdWUgd2lsbCBhbHdheXMgYmUgb25lIG9mIHRoZSBvcmlnaW5hbGx5IHBhc3NlZCBjaG9pY2VzCiAgICByZWdhcmRsZXNzIG9mIGBgY2FzZV9zZW5zaXRpdmVgYCBvciBhbnkgYGBjdHgudG9rZW5fbm9ybWFsaXplX2Z1bmNgYAogICAgYmVpbmcgc3BlY2lmaWVkLgoKICAgIFNlZSA6cmVmOmBjaG9pY2Utb3B0c2AgZm9yIGFuIGV4YW1wbGUuCgogICAgOnBhcmFtIGNhc2Vfc2Vuc2l0aXZlOiBTZXQgdG8gZmFsc2UgdG8gbWFrZSBjaG9pY2VzIGNhc2UKICAgICAgICBpbnNlbnNpdGl2ZS4gRGVmYXVsdHMgdG8gdHJ1ZS4KICAgINoGY2hvaWNlVNoHY2hvaWNlc9oOY2FzZV9zZW5zaXRpdmVyFgAAAE5jAwAAAAAAAAAAAAAAAwAAAAIAAABDAAAAcxAAAAB8AXwAXwB8AnwAXwFkAFMA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ZyBvciB3cml0aW5nLiAgVGhlIGZpbGUKICAgIGlzIGF1dG9tYXRpY2FsbHkgY2xvc2VkIG9uY2UgdGhlIGNvbnRleHQgdGVhcnMgZG93biAoYWZ0ZXIgdGhlIGNvbW1hbmQKICAgIGZpbmlzaGVkIHdvcmtpbmcpLgoKICAgIEZpbGVzIGNhbiBiZSBvcGVuZWQgZm9yIHJlYWRpbmcgb3Igd3JpdGluZy4gIFRoZSBzcGVjaWFsIHZhbHVlIGBgLWBgCiAgICBpbmRpY2F0ZXMgc3RkaW4gb3Igc3Rkb3V0IGRlcGVuZGluZyBvbiB0aGUgbW9kZS4KCiAgICBCeSBkZWZhdWx0LCB0aGUgZmlsZSBpcyBvcGVuZWQgZm9yIHJlYWRpbmcgdGV4dCBkYXRhLCBidXQgaXQgY2FuIGFsc28gYmUKICAgIG9wZW5lZCBpbiBiaW5hcnkgbW9kZSBvciBmb3Igd3JpdGluZy4gIFRoZSBlbmNvZGluZyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQKICAgIHRvIGZvcmNlIGEgc3BlY2lmaWMgZW5jb2RpbmcuCgogICAgVGhlIGBsYXp5YCBmbGFnIGNvbnRyb2xzIGlmIHRoZSBmaWxlIHNob3VsZCBiZSBvcGVuZWQgaW1tZWRpYXRlbHkgb3IgdXBvbgogICAgZmlyc3QgSU8uIFRoZSBkZWZhdWx0IGlzIHRvIGJlIG5vbi1sYXp5IGZvciBzdGFuZGFyZCBpbnB1dCBhbmQgb3V0cHV0CiAgICBzdHJlYW1zIGFzIHdlbGwgYXMgZmlsZXMgb3BlbmVkIGZvciByZWFkaW5nLCBgbGF6eWAgb3RoZXJ3aXNlLiBXaGVuIG9wZW5pbmcgYQogICAgZmlsZSBsYXppbHkgZm9yIHJlYWRpbmcsIGl0IGlzIHN0aWxsIG9wZW5lZCB0ZW1wb3JhcmlseSBmb3IgdmFsaWRhdGlvbiwgYnV0CiAgICB3aWxsIG5vdCBiZSBoZWxkIG9wZW4gdW50aWwgZmlyc3QgSU8uIGxhenkgaXMgbWFpbmx5IHVzZWZ1bCB3aGVuIG9wZW5pbmcKICAgIGZvciB3cml0aW5nIHRvIGF2b2lkIGNyZWF0aW5nIHRoZSBmaWxlIHVudGlsIGl0IGlzIG5lZWRlZC4KCiAgICBT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IG9mIGFuIG9wZW4gZmlsZS4gVmFyaW91cyBjaGVja3MgY2FuIGJlCiAgICBlbmFibGVkIHRvIHZhbGlkYXRlIHRoZSB0eXBlIG9mIGZpbGUgYW5kIHBlcm1pc3Npb25zLgoKICAgIDpwYXJhbSBleGlzdHM6IFRoZSBmaWxlIG9yIGRpcmVjdG9yeSBuZWVkcyB0byBleGlzdCBmb3IgdGhlIHZhbHVlIHRvCiAgICAgICAgYmUgdmFsaWQuIElmIHRoaXMgaXMgbm90IHNldCB0byBgYFRydWVgYCwgYW5kIHRoZSBmaWxlIGRvZXMgbm90CiAgICAgICAgZXhpc3QsIHRoZW4gYWxsIGZ1cnRoZXIgY2hlY2tzIGFyZSBzaWxlbnRseSBza2lwcGVkLgogICAgOnBhcmFtIGZpbGVfb2theTogQWxsb3cgYSBmaWxlIGFzIGEgdmFsdWUuCiAgICA6cGFyYW0gZGlyX29rYXk6IEFsbG93IGEgZGlyZWN0b3J5IGFzIGEgdmFsdWUuCiAgICA6cGFyYW0gcmVhZGFibGU6IGlmIHRydWUsIGEgcmVhZGFibGUgY2hlY2sgaXMgcGVyZm9ybWVkLgogICAgOnBhcmFtIHdyaXRhYmxlOiBpZiB0cnVlLCBhIHdyaXRhYmxlIGNoZWNrIGlzIHBlcmZvcm1lZC4KICAgIDpwYXJhbSBleGVjdXRhYmxlOiBpZiB0cnVlLCBhbiBleGVjdXRhYmxlIGNoZWNrIGlzIHBlcmZvcm1lZC4KICAgIDpwYXJhbSByZXNvbHZlX3BhdGg6IE1ha2UgdGhlIHZhbHVlIGFic29sdXRlIGFuZCByZXNvbHZlIGFueQogICAgICAgIHN5bWxpbmtzLiBBIGBgfmBgIGlzIG5vdCBleHBhbmRlZCwgYXMgdGhpcyBpcyBzdXBwb3NlZCB0byBiZQogICAgICAgIGRvbmUgYnkgdGhlIHNoZWxsIG9ubHkuCiAgICA6cGFyYW0gYWxsb3dfZGFzaDogQWxsb3cgYSBzaW5nbGUgZGFzaCBhcyBhIHZhbHVlLCB3aGljaCBpbmRpY2F0ZXMKICAgICAgICBhIHN0YW5kYXJkIHN0cmVhbSAoYnV0IGRvZXMgbm90IG9wZW4gaXQpLiBVc2UKICAgICAgICA6ZnVuYzpgfmNs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