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AAByLAAAANoHX3JlYWRlcn8AAABzEAAAAAAJAgEIAQQBAgEOAQoBFgF6FFBhY2thZ2VJbmRleC5fcmVhZGVyYwUAAAAAAAAACAAAAAgAAABDAAAAc5oAAAB8AGoAZAFkAmQDZwR9BXwEZARrCHIcfABqAX0EfARyLnwFagJkBXwEZwKDAQEAfANkBGsJckZ8BWoCZAZkB2QIZwODAQEAdANqBIMAfQZ0BWoGagd8BnQFagZqCHwBgwFkCRcAgwJ9B3wFagJkCmQLZAx8AmQNfAd8AWcHgwEBAHQJagpkDmQPagd8BYMBgwIBAHwFfAdmAlMAKRBhiQIAAAogICAgICAgIFJldHVybiBhIHN1aXRhYmxlIGNvbW1hbmQgZm9yIHNpZ25pbmcgYSBmaWxlLgoKICAgICAgICA6cGFyYW0gZmlsZW5hbWU6IFRoZSBwYXRobmFtZSB0byB0aGUgZmlsZSB0byBiZSBzaWduZWQuCiAgICAgICAgOnBhcmFtIHNpZ25lcjogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHNpZ25lciBvZiB0aGUgZmlsZS4KICAgICAgICA6cGFyYW0gc2lnbl9wYXNzd29yZDogVGhlIHBhc3NwaHJhc2UgZm9yIHRoZSBzaWduZXIncwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIGtleSB1c2VkIGZvciBzaWduaW5nLgogICAgICAgIDpwYXJhbSBrZXlzdG9yZTogVGhlIHBhdGggdG8gYSBkaXJlY3Rvcnkgd2hpY2ggY29udGFpbnMgdGhlIGtleXMKICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWQgaW4gdmVyaWZpY2F0aW9uLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlJ3MgYGBncGdfaG9tZWBgIGF0dHJpYnV0ZSBpcyB1c2VkIGluc3RlYWQuCiAgICAgICAgOnJldHVybjogVGhlIHNpZ25pbmcgY29tbWFuZCBhcyBhIGxpc3Qgc3VpdGFibGUgdG8gYmUKICAgICAgICAgICAgICAgICBwYXNzZWQgdG8gOmNsYXNzOmBzdWJwcm9jZXNzLlBvcGVuYC4KICAgICAgICB6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dGFuY2UgZGVmaW5pbmcgYXQgbGVhc3QgYSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdmVyc2lvbiBudW1iZXIgZm9yIHRoZSBmaWxlIHRvIGJlIHVwbG9hZGVkLgogICAgICAgIDpwYXJhbSBmaWxlbmFtZTogVGhlIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHVwbG9hZGVkLgogICAgICAgIDpwYXJhbSBzaWduZXI6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBzaWduZXIgb2YgdGhlIGZpbGUuCiAgICAgICAgOnBhcmFtIHNpZ25fcGFzc3dvcmQ6IFRoZSBwYXNzcGhyYXNlIGZvciB0aGUgc2lnbmVyJ3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSBrZXkgdXNlZCBmb3Igc2lnbmluZy4KICAgICAgICA6cGFyYW0gZmlsZXR5cGU6IFRoZSB0eXBlIG9mIHRoZSBmaWxlIGJlaW5nIHVwbG9hZGVkLiBUaGlzIGlzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICBkaXN0dXRpbHMgY29tbWFuZCB3aGljaCBwcm9kdWNlZCB0aGF0IGZpbGUsIGUuZy4KICAgICAgICAgICAgICAgICAgICAgICAgYGBzZGlzdGBgIG9yIGBgYmRpc3Rfd2hlZWxgYC4KICAgICAgICA6cGFyYW0gcHl2ZXJzaW9uOiBUaGUgdmVyc2lvbiBvZiBQeXRob24gd2hpY2ggdGhlIHJlbGVhc2UgcmVsYXRlcwogICAgICAgICAgICAgICAgICAgICAgICAgIHRvLiBGb3IgY29kZSBjb21wYXRpYmxlIHdpdGggYW55IFB5dGhvbiwgdGhpcyB3b3VsZAogICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGBgc291cmNlYGAsIG90aGVyd2lzZSBpdCB3b3VsZCBiZSBlLmcuIGBgMy4yYGAuCiAgICAgICAgOnBhcmFtIGtleXN0b3JlOiBUaGUgcGF0aCB0byBhIGRpcmVjdG9yeSB3aGljaCBjb250YWlucyB0aGUga2V5cwogICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBpbiBzaWduaW5n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bWVudGF0aW9uIQEAAHMcAAAAAA0IAQwBDAEOAQwBDAEIAQ4BDAECARABDAEMAXohUGFja2FnZUluZGV4LnVwbG9hZF9kb2N1bWVudGF0aW9uYwQAAAAAAAAABQAAAAQAAABDAAAAc1QAAAB8AGoAZAFkAmQDZwR9BHwDZARrCHIcfABqAX0DfANyLnwEagJkBXwDZwKDAQEAfARqAmQGfAF8AmcDgwEBAHQDagRkB2QIagV8BIMBgwIBAHwEUwApCWF8AgAACiAgICAgICAgUmV0dXJuIGEgc3VpdGFibGUgY29tbWFuZCBmb3IgdmVyaWZ5aW5nIGEgZmlsZS4KCiAgICAgICAgOnBhcmFtIHNpZ25hdHVyZV9maWxlbmFtZTogVGhlIHBhdGhuYW1lIHRvIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmF0dXJlLgogICAgICAgIDpwYXJhbSBkYXRhX2ZpbGVuYW1lOiBUaGUgcGF0aG5hbWUgdG8gdGhlIGZpbGUgY29udGFpbmluZyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmVkIGRhdGEuCiAgICAgICAgOnBhcmFtIGtleXN0b3JlOiBUaGUgcGF0aCB0byBhIGRpcmVjdG9yeSB3aGljaCBjb250YWlucyB0aGUga2V5cwogICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBpbiB2ZXJpZmljYXRpb24uIElmIG5vdCBzcGVjaWZpZWQsIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UncyBgYGdwZ19ob21lYGAgYXR0cmlidXRlIGlzIHVzZWQgaW5zdGVhZC4KICAgICAgICA6cmV0dXJuOiBUaGUgdmVyaWZ5aW5nIGNvbW1hbmQgYXMgYSBsaXN0IHN1aXRhYmxlIHRvIGJlCiAgICAgICAgICAgICAgICAgcGFzc2VkIHRvIDpjbGFzczpgc3VicHJvY2Vzcy5Qb3BlbmAuCiAgICAgICAgegstLXN0YXR1cy1mZHJSAAAAeggtLW5vLXR0eU56CS0taG9tZWRpcnoILS12ZXJpZnl6DGludm9raW5nOiAlc3JUAAAAKQZyEgAAAHIbAAAAclUAAAByTAAAAHJNAAAAclgAAAApBXIiAAAA2hJzaWduYXR1cmVfZmlsZW5hbWXaDWRhdGFfZmlsZW5hbWVyXQAAAHIwAAAAcisAAAByKwAAAHIsAAAA2hJnZXRfdmVyaWZ5X2NvbW1hbmQ9AQAAcxAAAAAADw4BCAEGAQQBDgEQARIBeh9QYWNrYWdlSW5kZXguZ2V0X3ZlcmlmeV9jb21tYW5kYwQAAAAAAAAACAAAAAQAAABDAAAAc0gAAAB8AGoAcw50AWQBgwGCAXwAagJ8AXwCfAODA30EfABqA3wEgwFcA30FfQZ9B3wFZAVrB3JAdAFkBHwFFgCDAYIBfAVkAmsCUwApBmE2AgAACiAgICAgICAgVmVyaWZ5IGEgc2lnbmF0dXJlIGZvciBhIGZpbGUuCgogICAgICAgIDpwYXJhbSBzaWduYXR1cmVfZmlsZW5hbWU6IFRoZSBwYXRobmFtZSB0byB0aGUgZmlsZSBjb250YWluaW5nIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZS4KICAgICAgICA6cGFyYW0gZGF0YV9maWxlbmFtZTogVGhlIHBhdGhuYW1lIHRvIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25lZCBkYXRhLgogICAgICAgIDpwYXJhbSBrZXlzdG9yZTogVGhlIHBhdGggdG8gYSBkaXJlY3Rvcnkgd2hpY2ggY29udGFpbnMgdGhlIGtleXMKICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWQgaW4gdmVyaWZpY2F0aW9uLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlJ3MgYGBncGdfaG9tZWBgIGF0dHJpYnV0ZSBpcyB1c2VkIGluc3RlYWQuCiAgICAgICAgOnJldHVybjogVHJ1ZSBpZiB0aGUgc2lnbmF0dXJlIHdhcyB2ZXJpZmllZCwgZWxzZSBGYWxzZS4KICAgICAgICB6MHZlcmlmaWNhdGlvbiB1bmF2YWlsYWJsZSBiZWNhdXNlIGdwZyB1bmF2YWlsYWJsZXIBAAAAcgMAAAB6KHZlcmlmeSBjb21tYW5kIGZhaWxlZCB3aXRoIGVycm9yIGNvZGUgJXMpAnIBAAAAcgMAAAApBHISAAAAcgQAAABykwAAAHJtAAAAKQhyIgAAAHKRAAAAcpIAAAByXQAAAHIwAAAAcioAAAByFAAAAHIVAAAAcisAAAByKwAAAHIsAAAA2hB2ZXJpZnlfc2lnbmF0dXJlVQEAAHMSAAAAAA4GAQgCCAEGARABCAEEAQgBeh1QYWNrYWdlSW5kZXgudmVyaWZ5X3NpZ25hdHVyZWMFAAAAAAAAABAAAAAVAAAAQwAAAHNwAQAAfANkAWsIchhkAX0FdABqAWQCgwEBAG42dAJ8A3QDdARmAoMCcjB8A1wCfQZ9A24EZAN9BnQFdAZ8BoMCgwB9BXQAagFkBHwDFgCDAQEAdAd8AmQFgwKPsn0HfABqCHQJfAGDAYMBfQh6knwIagqDAH0JZAZ9CmQOfQtkCH0MZAh9DWQJfAlrBnKWdAt8CWQKGQCDAX0LfARypnwEfA18CnwLgwMBAHhQfAhqDHwKgwF9DnwOc7hQAHwMdA18DoMBNwB9DHwHag58DoMBAQB8BXLcfAVqD3wOgwEBAHwNZAc3AH0NfARyqHwEfA18CnwLgwMBAHGoVwBXAGQBfAhqEIMAAQBYAFcAZAFRAFIAWAB8C2QIawWQAXI0fAx8C2sAkAFyNHQRZAt8DHwLZgIWAIMBggF8BZABcmx8BWoSgwB9D3wDfA9rA5ABcmB0EWQMfAZ8AnwDfA9mBBYAgwGCAXQAagFkDXwDgwIBAGQBUwApD2EaBAAACiAgICAgICAgVGhpcyBpcyBhIGNvbnZlbmllbmNlIG1ldGhvZCBmb3IgZG93bmxvYWRpbmcgYSBmaWxlIGZyb20gYW4gVVJMLgogICAgICAgIE5vcm1hbGx5LCB0aGlzIHdpbGwgYmUgYSBmaWxlIGZyb20gdGhlIGluZGV4LCB0aG91Z2ggY3VycmVudGx5CiAgICAgICAgbm8gY2hlY2sgaXMgbWFkZSBmb3IgdGhpcyAoaS5lLiBhIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQgZnJvbQogICAgICAgIGFueXdoZXJlKS4KCiAgICAgICAgVGhlIG1ldGhvZCBpcyBqdXN0IGxpa2UgdGhlIDpmdW5jOmB1cmxyZXRyaWV2ZWAgZnVuY3Rpb24gaW4gdGhlCiAgICAgICAgc3RhbmRhcmQgbGlicmFyeSwgZXhjZXB0IHRoYXQgaXQgYWxsb3dzIGRpZ2VzdCBjb21wdXRhdGlvbiB0byBiZQogICAgICAgIGRvbmUgZHVyaW5nIGRvd25sb2FkIGFuZCBjaGVja2luZyB0aGF0IHRoZSBkb3dubG9hZGVkIGRhdGEKICAgICAgICBtYXRjaGVkIGFueSBleHBlY3RlZCB2YWx1ZS4KCiAgICAgICAgOnBhcmFtIHVybDogVGhlIFVSTCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkIChhc3N1bWVkIHRvIGJlCiAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIHZpYSBhbiBIVFRQIEdFVCByZXF1ZXN0KS4KICAgICAgICA6cGFyYW0gZGVzdGZpbGU6IFRoZSBwYXRobmFtZSB3aGVyZSB0aGUgZG93bmxvYWRlZCBmaWxlIGlzIHRvIGJlCiAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlZC4KICAgICAgICA6cGFyYW0gZGlnZXN0OiBJZiBzcGVjaWZpZWQsIHRoaXMgbXVzdCBiZSBhIChoYXNoZXIsIHZhbHVlKQogICAgICAgICAgICAgICAgICAgICAgIHR1cGxlLCB3aGVyZSBoYXNoZXIgaXMgdGhlIGFsZ29yaXRobSB1c2VkIChlLmcuCiAgICAgICAgICAgICAgICAgICAgICAgYGAnbWQ1J2BgKSBhbmQgYGB2YWx1ZWBgIGlzIHRoZSBleHBlY3RlZCB2YWx1ZS4KICAgICAgICA6cGFyYW0gcmVwb3J0aG9vazogVGhlIHNhbWUgYXMgZm9yIDpmdW5jOmB1cmxyZXRyaWV2ZWAgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYXJkIGxpYnJhcnkuCiAgICAgICAgTnoTTm8gZGlnZXN0IHNwZWNpZmllZHJ+AAAAehREaWdlc3Qgc3BlY2lmaWVkOiAlc9oCd2JpACAAAHIDAAAAcgEAAAB6DmNvbnRlbnQtbGVuZ3Roeg5Db250ZW50LUxlbmd0aHoxcmV0cmlldmFsIGluY29tcGxldGU6IGdvdCBvbmx5ICVkIG91dCBvZiAlZCBieXRlc3ouJXMgZGlnZXN0IG1pc21hdGNoIGZvciAlczogZXhwZWN0ZWQgJXMsIGdvdCAlc3oTRGlnZXN0IHZlcmlmaWVkOiAlc+n/////KRNyTAAAAHJNAAAA2gppc2luc3RhbmNl2gRsaXN02gV0dXBsZdoHZ2V0YXR0cnJ9AAAAchwAAAByQgAAAHIGAAAA2gRpbmZv2gNpbnRyfAAAANoDbGVucmYAAABygQAAAHJOAAAAcgQAAAByfwAAACkQciIAAAByFwAAANoIZGVzdGZpbGXaBmRpZ2VzdNoKcmVwb3J0aG9va1oIZGlnZXN0ZXJaBmhhc2hlcloDZGZwWgNzZnDaB2hlYWRlcnPaCWJsb2Nrc2l6ZdoEc2l6ZXJ8AAAA2ghibG9ja251bdoFYmxvY2vaBmFjdHVhbHIrAAAAcisAAAByLAAAANoNZG93bmxvYWRfZmlsZW4BAABzVgAAAAAWCAEEAQwCDgEKAgQBDAEOBAwDDgECAQgBBAEEAQQBBAEIAQwBBAEMAQIBCgEEAQIBDAEKAQQBCgEIAQQBFAIUAxQBAgECAQwCBgEIAQoBBAEEAQwBehpQYWNrYWdlSW5kZXguZG93bmxvYWRfZmlsZWMCAAAAAAAAAAQAAAACAAAAQwAAAHM6AAAAZwB9AnwAagByFnwCagF8AGoAgwEBAHwAagJyKHwCagF8AGoCgwEBAHQDfAKOAH0DfANqBHwBgwFTACkBet0KICAgICAgICBTZW5kIGEgc3RhbmRhcmQgbGlicmFyeSA6Y2xhc3M6YFJlcXVlc3RgIHRvIFB5UEkgYW5kIHJldHVybiBpdHMKICAgICAgICByZXNwb25zZS4KCiAgICAgICAgOnBhcmFtIHJlcTogVGhlIHJlcXVlc3QgdG8gc2VuZC4KICAgICAgICA6cmV0dXJuOiBUaGUgSFRUUCByZXNwb25zZSBmcm9tIFB5UEkgKGEgc3RhbmRhcmQgbGlicmFyeSBIVFRQUmVzcG9uc2UpLgogICAgICAgICkFchkAAABySwAAAHIaAAAAcgkAAAByHAAAACkEciIAAADaA3JlcdoIaGFuZGxlcnPaBm9wZW5lcnIrAAAAcisAAAByLAAAAHJCAAAAuwEAAHMOAAAAAAgEAQYBDAEGAQwBCAF6GVBhY2thZ2VJbmRleC5zZW5kX3JlcXVlc3RjAwAAAAAAAAAOAAAACAAAAEMAAABz5AAAAGcAfQN8AGoAfQR4WHwBRABdUFwCfQV9BnQBfAZ0AnQDZgKDAnMsfAZnAX0GeDJ8BkQAXSp9B3wDagRkAXwEFwBkAnwFFgBqBWQDgwFkBHwHagVkA4MBZgSDAQEAcTJXAHEQVwB4NnwCRABdLlwDfQh9CX0KfANqBGQBfAQXAGQFfAh8CWYCFgBqBWQDgwFkBHwKZgSDAQEAcWpXAHwDagRkAXwEFwBkARcAZARmAoMBAQBkBmoGfAODAX0LZAd8BBcAfQx8DHQHdAh8C4MBgwFkCJwCfQ10CXwAagp8C3wNgwNTACkJYSYBAAAKICAgICAgICBFbmNvZGUgZmllbGRzIGFuZCBmaWxlcyBmb3IgcG9zdGluZyB0byBhbiBIVFRQIHNlcnZlci4KCiAgICAgICAgOnBhcmFtIGZpZWxkczogVGhlIGZpZWxkcyB0byBzZW5kIGFzIGEgbGlzdCBvZiAoZmllbGRuYW1lLCB2YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICB0dXBsZXMuCiAgICAgICAgOnBhcmFtIGZpbGVzOiBUaGUgZmlsZXMgdG8gc2VuZCBhcyBhIGxpc3Qgb2YgKGZpZWxkbmFtZSwgZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICBmaWxlX2J5dGVzKSB0dXBsZS4KICAgICAgICBzAgAAAC0teilDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IiVzInoFdXRmLTjzAAAAAHo4Q29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSIlcyI7IGZpbGVuYW1lPSIlcyJzAgAAAA0Kcx4AAABtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0pAnoMQ29udGVudC10eXBleg5Db250ZW50LWxlbmd0aCkL2ghib3VuZGFyeXKXAAAAcpgAAABymQAAAHJVAAAAcm4AAAByWAAAANoDc3Rycp0AAAByBgAAAHIXAAAAKQ5yIgAAAHKPAAAAcoYAAADaBXBhcnRzcqwAAADaAWvaBnZhbHVlc9oBdtoDa2V5cloAAADaBXZhbHVl2gRib2R52gJjdHKhAAAAcisAAAByKwAAAHIsAAAAckAAAADLAQAAczIAAAAADAQBBgEOAQ4BBgIKAQQBBgECAQoBAgEWARABBAEGAQIBDgECAQwCFgIKAQgCAgEQAnobUGFja2FnZUluZGV4LmVuY29kZV9yZXF1ZXN0YwMAAAAAAAAABAAAAAsAAABDAAAAc0IAAAB0AHwBdAGDAnISZAF8AWkBfQF0AnwAagNkAmQDjQJ9A3oQfANqBHwBfAJwLmQEgwJTAHwDZAWDAYMAAQBYAGQAUwApBk5yTwAAAGcAAAAAAAAIQCkB2gd0aW1lb3V02gNhbmRyTgAAACkFcpcAAAByCgAAAHIMAAAAchcAAADaBnNlYXJjaCkEciIAAABaBXRlcm1z2ghvcGVyYXRvcloJcnBjX3Byb3h5cisAAAByKwAAAHIsAAAAcrgAAAD2AQAAcwwAAAAAAQoBCAEOAQIBEAJ6E1BhY2thZ2VJbmRleC5zZWFyY2gpAU4pAU4pAU4pAU4pBU5OcnEAAABycgAAAE4pAU4pAU4pAk5OKQFOKRfaCF9fbmFtZV9f2gpfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB19fZG9jX19yrAAAAHItAAAAci4AAAByGAAAAHI6AAAAcjkAAAByRwAAAHJRAAAAcl8AAABybQAAAHJwAAAAcocAAABykAAAAHKTAAAAcpQAAABypwAAAHJCAAAAckAAAAByuAAAAHIrAAAAcisAAAByKwAAAHIsAAAAcg4AAAAcAAAAcyoAAAAIBAQCBAIKHQgICA0ICQgMCBQIEwocCiMKFwABCjgIHQoYChgKTQgQCCtyDgAAACkdcn0AAADaB2xvZ2dpbmdyHQAAAHKCAAAAch8AAAByVgAAANoJdGhyZWFkaW5ncgIAAADaC0ltcG9ydEVycm9y2g9kdW1teV90aHJlYWRpbmfaAHIEAAAA2gZjb21wYXRyBQAAAHIGAAAAcgcAAAByCAAAAHIJAAAAcgoAAAByLwAAAHILAAAAcgwAAADaCWdldExvZ2dlcnK6AAAAckwAAAByFgAAANoNREVGQVVMVF9SRUFMTdoGb2JqZWN0cg4AAAByKwAAAHIrAAAAcisAAAByLAAAANoIPG1vZHVsZT4HAAAAcyAAAAAIAQgBCAEIAQgBCAECARABDgESAgwBIAIQAgoCBAEEAg==