bw0NCgAAAAClNI1jSk0AAOMAAAAAAAAAAAAAAAAAAAAABQAAAEAAAABzNgEAAGQAZAFsAG0BWgEBAGQAZAJsAloCZABkAmwDWgNkAGQCbARaBGQDZARsBW0GWgYBAGQDZAVsB20IWghtCVoJbQpaCgEAZANkBmwLbQxaDG0NWg1tDloObQ9aD20QWhABAGQDZAdsEW0SWhIBAGQDZAhsE20UWhQBAGQDZAlsFW0WWhYBAGQDZApsF20YWhgBAGQDZAtsGW0aWhoBAGQDZAxsG20cWhwBAGcAZA2iAVodZQSgHmUfoQFaIGQOWiFkD1oiZQKgI2QQZSKhAlokZBFaJWUCoCNkEmUloQJaJmQTZBSEAFonZQOgKGUnZSShAmUDoChlJ2UkoQJkFZwCWillCGUJZBWcAloqRwBkFmQXhABkF2UWgwNaK0cAZBhkGYQAZBllK4MDWixkGmQbhABaLWQCUwApHOkAAAAAKQHaD2Fic29sdXRlX2ltcG9ydE7pAQAAACkB2hVSZWNlbnRseVVzZWRDb250YWluZXIpA9oSSFRUUENvbm5lY3Rpb25Qb29s2hNIVFRQU0Nvbm5lY3Rpb25Qb29s2g5wb3J0X2J5X3NjaGVtZSkF2hJMb2NhdGlvblZhbHVlRXJyb3LaDU1heFJldHJ5RXJyb3LaElByb3h5U2NoZW1lVW5rbm93btoWUHJveHlTY2hlbWVVbnN1cHBvcnRlZNoQVVJMU2NoZW1lVW5rbm93bikB2gNzaXgpAdoHdXJsam9pbikB2g5SZXF1ZXN0TWV0aG9kcykB2h9jb25uZWN0aW9uX3JlcXVpcmVzX2h0dHBfdHVubmVsKQHaBVJldHJ5KQHaCXBhcnNlX3VybCkD2gtQb29sTWFuYWdlctoMUHJveHlNYW5hZ2Vy2g5wcm94eV9mcm9tX3VybCkJ2ghrZXlfZmlsZdoJY2VydF9maWxl2gljZXJ0X3JlcXPaCGNhX2NlcnRz2gtzc2xfdmVyc2lvbtoLY2FfY2VydF9kaXLaC3NzbF9jb250ZXh02gxrZXlfcGFzc3dvcmTaD3NlcnZlcl9ob3N0bmFtZSka2gprZXlfc2NoZW1l2ghrZXlfaG9zdNoIa2V5X3BvcnTaC2tleV90aW1lb3V02gtrZXlfcmV0cmllc9oKa2V5X3N0cmljdNoJa2V5X2Jsb2Nr2hJrZXlfc291cmNlX2FkZHJlc3PaDGtleV9rZXlfZmlsZdoQa2V5X2tleV9wYXNzd29yZNoNa2V5X2NlcnRfZmlsZdoNa2V5X2NlcnRfcmVxc9oMa2V5X2NhX2NlcnRz2g9rZXlfc3NsX3ZlcnNpb27aD2tleV9jYV9jZXJ0X2RpctoPa2V5X3NzbF9jb250ZXh02gtrZXlfbWF4c2l6ZdoLa2V5X2hlYWRlcnPaCmtleV9fcHJveHnaEmtleV9fcHJveHlfaGVhZGVyc9oRa2V5X19wcm94eV9jb25maWfaEmtleV9zb2NrZXRfb3B0aW9uc9oSa2V5X19zb2Nrc19vcHRpb25z2hNrZXlfYXNzZXJ0X2hvc3RuYW1l2hZrZXlfYXNzZXJ0X2ZpbmdlcnByaW502hNrZXlfc2VydmVyX2hvc3RuYW1l2gdQb29sS2V5KQJyHAAAANoYdXNlX2ZvcndhcmRpbmdfZm9yX2h0dHBz2gtQcm94eUNvbmZpZ2MCAAAAAAAAAAAAAAAGAAAABQAAAEMAAABzxgAAAHwBoAChAH0CfAJkARkAoAGhAHwCZAE8AHwCZAIZAKABoQB8AmQCPABkA0QAXRZ9A3wDfAJ2AHIsfAJ8AxkAZAR1AXIsdAJ8AnwDGQCgA6EAgwF8AnwDPABxFnwCoARkBaEBfQR8BGQEdQFyPHQFfASDAXwCZAU8AHQGfAKgB6EAgwFEAF0LfQN8AqAIfAOhAXwCZAZ8AxcAPABxQnwAaglEAF0KfQV8BXwCdgFyW2QEfAJ8BTwAcVF8AGQHaQB8AqQBjgFTACkIYfcCAAAKICAgIENyZWF0ZSBhIHBvb2wga2V5IG91dCBvZiBhIHJlcXVlc3QgY29udGV4dCBkaWN0aW9uYXJ5LgoKICAgIEFjY29yZGluZyB0byBSRkMgMzk4NiwgYm90aCB0aGUgc2NoZW1lIGFuZCBob3N0IGFyZSBjYXNlLWluc2Vuc2l0aXZlLgogICAgVGhlcmVmb3JlLCB0aGlzIGZ1bmN0aW9uIG5vcm1hbGl6ZXMgYm90aCBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBwb29sCiAgICBrZXkgZm9yIGFuIEhUVFBTIHJlcXVlc3QuIElmIHlvdSB3aXNoIHRvIGNoYW5nZSB0aGlzIGJlaGF2aW91ciwgcHJvdmlkZQogICAgYWx0ZXJuYXRlIGNhbGxhYmxlcyB0byBgYGtleV9mbl9ieV9zY2hlbWVgYC4KCiAgICA6cGFyYW0ga2V5X2NsYXNzOgogICAgICAgIFRoZSBjbGFzcyB0byB1c2Ugd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIGtleS4gVGhpcyBzaG91bGQgYmUgYSBuYW1lZHR1cGxlCiAgICAgICAgd2l0aCB0aGUgYGBzY2hlbWVgYCBhbmQgYGBob3N0YGAga2V5cyBhdCBhIG1pbmltdW0uCiAgICA6dHlwZSAga2V5X2NsYXNzOiBuYW1lZHR1cGxlCiAgICA6cGFyYW0gcmVxdWVzdF9jb250ZXh0OgogICAgICAgIEEgZGljdGlvbmFyeS1saWtlIG9iamVjdCB0aGF0IGNvbnRhaW4gdGhlIGNvbnRleHQgZm9yIGEgcmVxdWVzdC4KICAgIDp0eXBlICByZXF1ZXN0X2NvbnRleHQ6IGRpY3QKCiAgICA6cmV0dXJuOiBBIG5hbWVkdHVwbGUgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIGNvbm5lY3Rpb24gcG9vbCBrZXkuCiAgICA6cnR5cGU6ICBQb29sS2V5CiAgICDaBnNjaGVtZdoEaG9zdCkD2gdoZWFkZXJz2g5fcHJveHlfaGVhZGVyc9oOX3NvY2tzX29wdGlvbnNO2g5zb2NrZXRfb3B0aW9uc9oEa2V5X6kAKQraBGNvcHnaBWxvd2Vy2glmcm96ZW5zZXTaBWl0ZW1z2gNnZXTaBXR1cGxl2gRsaXN02gRrZXlz2gNwb3DaB19maWVsZHMpBtoJa2V5X2NsYXNz2g9yZXF1ZXN0X2NvbnRleHTaB2NvbnRleHTaA2tledoLc29ja2V0X29wdHPaBWZpZWxkckMAAAByQwAAAPpqL3Jvb3QvZ2YxODAtZGVtby9jYXJhdmVsX3VzZXJfcHJvamVjdC92ZW52L2xpYi9weXRob24zLjEwL3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvdXJsbGliMy9wb29sbWFuYWdlci5wedoXX2RlZmF1bHRfa2V5X25vcm1hbGl6ZXJPAAAAcyIAAAAIFRABEAEIAxQBFAECgAoECAEMARAEFAEKAwgBCAECgA4CclUAAACpAtoEaHR0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ICAgICBIVFRQUy9DT05ORUNUIGNhc2UgdGhleSBhcmUgc2VudCBvbmx5IG9uY2UuIENvdWxkIGJlIHVzZWQgZm9yIHByb3h5CiAgICAgICAgYXV0aGVudGljYXRpb24uCgogICAgOnBhcmFtIHByb3h5X3NzbF9jb250ZXh0OgogICAgICAgIFRoZSBwcm94eSBTU0wgY29udGV4dCBpcyB1c2VkIHRvIGVzdGFibGlzaCB0aGUgVExTIGNvbm5lY3Rpb24gdG8gdGhlCiAgICAgICAgcHJveHkgd2hlbiB1c2luZyBIVFRQUyBwcm94aWVzLgoKICAgIDpwYXJhbSB1c2VfZm9yd2FyZGluZ19mb3JfaHR0cHM6CiAgICAgICAgKERlZmF1bHRzIHRvIEZhbHNlKSBJZiBzZXQgdG8gVHJ1ZSB3aWxsIGZvcndhcmQgcmVxdWVzdHMgdG8gdGhlIEhUVFBTCiAgICAgICAgcHJveHkgdG8gYmUgbWFkZSBvbiBiZWhhbGYgb2YgdGhlIGNsaWVudCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgVExTCiAgICAgICAgdHVubmVsIHZpYSB0aGUgQ09OTkVDVCBtZXRob2QuICoqRW5hYmxpbmcgdGhpcyBmbGFnIG1lYW5zIHRoYXQgcmVxdWVzdAogICAgICAgIGFuZCByZXNwb25zZSBoZWFkZXJzIGFuZCBjb250ZW50IHdpbGwgYmUgdmlzaWJsZSBmcm9tIHRoZSBIVFRQUyBwcm94eSoqCiAgICAgICAgd2hlcmVhcyB0dW5uZWxpbmcga2VlcHMgcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycyBhbmQgY29udGVudAogICAgICAgIHByaXZhdGUuICBJUCBhZGRyZXNzLCB0YXJnZXQgaG9zdG5hbWUsIFNOSSwgYW5kIHBvcnQgYXJlIGFsd2F5cyB2aXNpYmxlCiAgICAgICAgdG8gYW4gSFRUUFMgcHJveHkgZXZlbiB3aGVuIHRoaXMgZmxhZyBpcyBkaXNhYmxlZC4KCiAgICBFeGFtcGxlOgogICAgICAgID4+PiBwcm94eSA9IHVybGxpYjMuUHJveHlNYW5hZ2VyKCdodHRwOi8vbG9jYWxob3N0OjMxMjgvJykKICAgICAgICA+Pj4g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