ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Nhcy52aW0gYi9ydW50aW1lL3N5bnRheC9zYXMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZTg3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zYXMudmltCkBAIC0wLDAgKzEsMjM2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU0FTCisiIE1haW50YWluZXI6CUphbWVzIEtpZGQgPGphbWVzLmtpZGRAY292YW5jZS5jb20+CisiIExhc3QgQ2hhbmdlOgkwMiBKdW4gMjAwMworIgkJQWRkZWQgaGlnaGxpZ2h0aW5nIGZvciBhZGRpdGlvbmFsIGtleXdvcmRzIGFuZCBzdWNoOworIgkJQXR0ZW1wdGVkIHRvIG1hdGNoIFNBUyBkZWZhdWx0IHN5bnRheCBjb2xvcnM7CisiCQlDaGFuZ2VkIHN5bmNpbmcgc28gaXQgZG9lc24ndCBsb3NlIGNvbG9ycyBvbiBsYXJnZSBibG9ja3M7CisiCQlNdWNoIHRoYW5rcyB0byBCb2IgSGVja2VsIGZvciBrbm93bGVkZ2VhYmxlIHR3ZWFraW5nLgorIiAgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiICBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biByZWdpb24gc2FzU3RyaW5nCXN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKworc3luIHJlZ2lvbiBzYXNTdHJpbmcJc3RhcnQ9KycrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KycrCisKKyIgV2FudCByZWdpb24gZnJvbSAnY2FyZHM7JyB0byAnOycgdG8gYmUgY2FwdHVyZWQgKEJvYiBIZWNrZWwpCitzeW4gcmVnaW9uIHNhc0NhcmRzCXN0YXJ0PSJeXHMqQ0FSRFMuKiIgZW5kPSJeXHMqO1xzKiQiCitzeW4gcmVnaW9uIHNhc0NhcmRzCXN0YXJ0PSJeXHMqREFUQUxJTkVTLioiIGVuZD0iXlxzKjtccyokIgorCitzeW4gbWF0Y2ggc2FzTnVtYmVyCSItXD1cPFxkKlwuXD1bMC05X11cPiIKKworc3luIHJlZ2lvbiBzYXNDb21tZW50CXN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIgY29udGFpbnM9c2FzVG9kbworIiBJZ25vcmUgbWlzbGVhZGluZyAvL0pDTCBTWU5UQVguLi4gKEJvYiBIZWNrZWwpCitzeW4gcmVnaW9uIHNhc0NvbW1lbnQJc3RhcnQ9IlteL11bXi9dL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPXNhc1RvZG8KKworIiBBbGxvdyBoaWdobGlnaHRpbmcgb2YgZW1iZWRkZWQgVE9ET3MgKEJvYiBIZWNrZWwpCitzeW4gbWF0Y2ggc2FzQ29tbWVudAkiXlxzKlwqLio7IiBjb250YWlucz1zYXNUb2RvCisKKyIgQWxsb3cgaGlnaGxpZ2h0aW5nIG9mIGVtYmVkZGVkIFRPRE9zIChCb2IgSGVja2VsKQorc3luIG1hdGNoIHNhc0NvbW1lbnQJIjtccypcKi4qOyJocz1zKzEgY29udGFpbnM9c2FzVG9kbworCisiIEhhbmRsZSBtYWNybyBjb21tZW50cyB0b28gKEJvYiBIZWNrZWwpLgorc3luIG1hdGNoIHNhc0NvbW1lbnQJIl5ccyolKlwqLio7IiBjb250YWlucz1zYXNUb2RvCisKKyIgVGhpcyBsaW5lIGRlZmluZXMgbWFjcm8gdmFyaWFibGVzIGluIGNvZGUuICBIaUxpbmsgYXQgZW5kIG9mIGZpbGUKKyIgZGVmaW5lcyB0aGUgY29sb3Igc2NoZW1lLiBCZWdpbiByZWdpb24gd2l0aCBhbXBlcnNhbmQgYW5kIGVuZCB3aXRoCisiIGFueSBub24td29yZCBjaGFyYWN0ZXIgb2Zmc2V0IGJ5IC0xOyBwdXQgYW1wZXJzYW5kIGluIHRoZSBza2lwIGxpc3QKKyIganVzdCBpbiBjYXNlIGl0IGlzIHVzZWQgdG8gY29uY2F0ZW5hdGUgbWFjcm8gdmFyaWFibGUgdmFsdWVzLgorCisiIFRoYW5rcyB0byByb25hbGQgaPZsbHdhcnRoIGZvciB0aGlzIGZpeCB0byBhbiBpbnRyYS12ZXJzaW9uaW5nCisiIHByb2JsZW0gd2l0aCB0aGlzIGxpdHRsZSBmZWF0dXJlCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgIHN5biByZWdpb24gc2FzTWFjcm9WYXIJc3RhcnQ9IlwmIiBza2lwPSJbXyZdIiBlbmQ9IlxXImhlPWUtMQorZWxzZQkJICIgZm9yIHRoZSBvbGRlciBWaW0ncyBqdXN0IGRvIGl0IHRoZWlyIHdheSAuLi4KKyAgIHN5biByZWdpb24gc2FzTWFjcm9WYXIJc3RhcnQ9IiYiIHNraXA9IltfJl0iIGVuZD0iXFciaGU9ZS0xCitlbmRpZgorCisKKyIgSSBkb250IHRoaW5rIHNwZWNpZmljIFBST0NzIG5lZWQgdG8gYmUgbGlzdGVkIGlmIHVzZSB0aGlzIGxpbmUgKEJvYiBIZWNrZWwpLgorc3luIG1hdGNoIHNhc1Byb2MJCSJeXHMqUFJPQyBcd1wrIgorc3luIGtleXdvcmQgc2FzU3RlcAkJUlVOIFFVSVQgREFUQQorCisKKyIgQmFzZSBTQVMgUHJvY3MgLSB2ZXJzaW9uIDguMQorCitzeW4ga2V5d29yZCBzYXNDb25kaXRpb25hbAlETyBFTFNFIEVORCBJRiBUSEVOIFVOVElMIFdISUxFCisKK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlBQk9SVCBBUlJBWSBBVFRSSUIgQlkgQ0FMTCBDQVJEUyBDQVJEUzQgQ0FUTkFNRQorc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUNPTlRJTlVFIERBVEFMSU5FUyBEQVRBTElORVM0IERFTEVURSBESVNQTEFZCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJRE0gRFJPUCBFTkRTQVMgRVJST1IgRklMRSBGSUxFTkFNRSBGT09UTk9URQorc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUZPUk1BVCBHT1RPIElORklMRSBJTkZPUk1BVCBJTlBVVCBLRUVQCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJTEFCRUwgTEVBVkUgTEVOR1RIIExJQk5BTUUgTElOSyBMSVNUIExPU1RDQVJECitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJTUVSR0UgTUlTU0lORyBNT0RJRlkgT1BUSU9OUyBPVVRQVVQgUEFHRQorc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CVBVVCBSRURJUkVDVCBSRU1PVkUgUkVOQU1FIFJFUExBQ0UgUkVUQUlOCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJUkVUVVJOIFNFTEVDVCBTRVQgU0tJUCBTVEFSVFNBUyBTVE9QIFRJVExFCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJVVBEQVRFIFdBSVRTQVMgV0hFUkUgV0lORE9XIFggU1lTVEFTSworCisiIEtleXdvcmRzIHRoYXQgYXJlIHVzZWQgaW4gUHJvYyBTUUwKKyIgSSBsZWZ0IHRoZW0gYXMgc3RhdGVtZW50cyBiZWNhdXNlIFNBUydzIGVuaGFuY2VkIGVkaXRvciBoaWdobGlnaHRzCisiIHRoZW0gdGhlIHNhbWUgYXMgbm9ybWFsIHN0YXRlbWVudHMgdXNlZCBpbiBkYXRhIHN0ZXBzIChKaW0gS2lkZCkKKworc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUFERCBBTkQgQUxURVIgQVMgQ0FTQ0FERSBDSEVDSyBDUkVBVEUKK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlERUxFVEUgREVTQ1JJQkUgRElTVElOQ1QgRFJPUCBGT1JFSUdOCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJRlJPTSBHUk9VUCBIQVZJTkcgSU5ERVggSU5TRVJUIElOVE8gSU4KK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlLRVkgTElLRSBNRVNTQUdFIE1PRElGWSBNU0dUWVBFIE5PVAorc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CU5VTEwgT04gT1IgT1JERVIgUFJJTUFSWSBSRUZFUkVOQ0VTCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJUkVTRVQgUkVTVFJJQ1QgU0VMRUNUIFNFVCBUQUJMRQorc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CVVOSVFVRSBVUERBVEUgVkFMSURBVEUgVklFVyBXSEVSRQorCisKK3N5biBtYXRjaCBzYXNTdGF0ZW1lbnQJIkZPT1ROT1RFXGQiICJUSVRMRVxkIgorCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVCUVVPVEUiICIlTlJCUVVPVEUiICIlQ01QUkVTIiAiJVFDTVBSRVMiCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVDT01QU1RPUiIgIiVEQVRBVFlQIiAiJURJU1BMQVkiICIlRE8iCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVFTFNFIiAiJUVORCIgIiVFVkFMIiAiJUdMT0JBTCIKK3N5biBtYXRjaCBzYXNNYWNybwkiJUdPVE8iICIlSUYiICIlSU5ERVgiICIlSU5QVVQiCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVLRVlERUYiICIlTEFCRUwiICIlTEVGVCIgIiVMRU5HVEgiCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVMRVQiICIlTE9DQUwiICIlTE9XQ0FTRSIgIiVNQUNSTyIKK3N5biBtYXRjaCBzYXNNYWNybwkiJU1FTkQiICIlTlJCUVVPVEUiICIlTlJRVU9URSIgIiVOUlNUUiIKK3N5biBtYXRjaCBzYXNNYWNybwkiJVBVVCIgIiVRQ01QUkVTIiAiJVFMRUZUIiAiJVFMT1dDQVNFIgorc3luIG1hdGNoIHNhc01hY3JvCSIlUVNDQU4iICIlUVNVQlNUUiIgIiVRU1lTRlVOQyIgIiVRVFJJTSIKK3N5biBtYXRjaCBzYXNNYWNybwkiJVFVT1RFIiAiJVFVUENBU0UiICIlU0NBTiIgIiVTVFIiCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVTVUJTVFIiICIlU1VQRVJRIiAiJVNZU0NBTEwiICIlU1lTRVZBTEYiCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVTWVNFWEVDIiAiJVNZU0ZVTkMiICIlU1lTR0VUIiAiJVNZU0xQVVQiCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVTWVNQUk9EIiAiJVNZU1JDIiAiJVNZU1JQVVQiICIlVEhFTiIKK3N5biBtYXRjaCBzYXNNYWNybwkiJVRPIiAiJVRSSU0iICIlVU5RVU9URSIgIiVVTlRJTCIKK3N5biBtYXRjaCBzYXNNYWNybwkiJVVQQ0FTRSIgIiVWRVJJRlkiICIlV0hJTEUiICIlV0lORE9XIgorCisiIFNBUyBGdW5jdGlvbnMKKworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JQUJTIEFERFIgQUlSWSBBUkNPUyBBUlNJTiBBVEFOIEFUVFJDIEFUVFJOCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglCQU5EIEJFVEFJTlYgQkxTSElGVCBCTk9UIEJPUiBCUlNISUZUIEJYT1IKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUJZVEUgQ0RGIENFSUwgQ0VYSVNUIENJTlYgQ0xPU0UgQ05PTkNUIENPTExBVEUKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUNPTVBCTCBDT01QT1VORCBDT01QUkVTUyBDT1MgQ09TSCBDU1MgQ1VST0JTCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglDViBEQUNDREIgREFDQ0RCU0wgREFDQ1NMIERBQ0NTWUQgREFDQ1RBQgorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JREFJUlkgREFURSBEQVRFSlVMIERBVEVQQVJUIERBVEVUSU1FIERBWQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRENMT1NFIERFUERCIERFUERCU0wgREVQREJTTCBERVBTTCBERVBTTAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JREVQU1lEIERFUFNZRCBERVBUQUIgREVQVEFCIERFUVVPVEUgREhNUworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRElGIERJR0FNTUEgRElNIERJTkZPIEROVU0gRE9QRU4gRE9QVE5BTUUKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCURPUFROVU0gRFJFQUQgRFJPUE5PVEUgRFNOQU1FIEVSRiBFUkZDIEVYSVNUCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglFWFAgRkFQUEVORCBGQ0xPU0UgRkNPTCBGREVMRVRFIEZFVENIIEZFVENIT0JTCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGRVhJU1QgRkdFVCBGSUxFRVhJU1QgRklMRU5BTUUgRklMRVJFRiBGSU5GTworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRklOViBGSVBOQU1FIEZJUE5BTUVMIEZJUFNUQVRFIEZMT09SIEZOT05DVAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRk5PVEUgRk9QRU4gRk9QVE5BTUUgRk9QVE5VTSBGUE9JTlQgRlBPUworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRlBVVCBGUkVBRCBGUkVXSU5EIEZSTEVOIEZTRVAgRlVaWiBGV1JJVEUKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUdBTUlOViBHQU1NQSBHRVRPUFRJT04gR0VUVkFSQyBHRVRWQVJOIEhCT1VORAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JSE1TIEhPU1RIRUxQIEhPVVIgSUJFU1NFTCBJTkRFWCBJTkRFWEMKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUlOREVYVyBJTlBVVCBJTlBVVEMgSU5QVVROIElOVCBJTlRDSyBJTlROWAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JSU5UUlIgSVJSIEpCRVNTRUwgSlVMREFURSBLVVJUT1NJUyBMQUcgTEJPVU5ECitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglMRUZUIExFTkdUSCBMR0FNTUEgTElCTkFNRSBMSUJSRUYgTE9HIExPRzEwCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglMT0cyIExPR1BERiBMT0dQTUYgTE9HU0RGIExPV0NBU0UgTUFYIE1EWQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JTUVBTiBNSU4gTUlOVVRFIE1PRCBNT05USCBNT1BFTiBNT1JUIE4KK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCU5FVFBWIE5NSVNTIE5PUk1BTCBOT1RFIE5QViBPUEVOIE9SRElOQUwKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVBBVEhOQU1FIFBERiBQRUVLIFBFRUtDIFBNRiBQT0lOVCBQT0lTU09OIFBPS0UKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVBST0JCRVRBIFBST0JCTk1MIFBST0JDSEkgUFJPQkYgUFJPQkdBTQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUFJPQkhZUFIgUFJPQklUIFBST0JORUdCIFBST0JOT1JNIFBST0JUIFBVVAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUFVUQyBQVVROIFFUUiBRVU9URSBSQU5CSU4gUkFOQ0FVIFJBTkVYUAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUkFOR0FNIFJBTkdFIFJBTksgUkFOTk9SIFJBTlBPSSBSQU5UQkwgUkFOVFJJCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglSQU5VTkkgUkVQRUFUIFJFU09MVkUgUkVWRVJTRSBSRVdJTkQgUklHSFQKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVJPVU5EIFNBVklORyBTQ0FOIFNERiBTRUNPTkQgU0lHTiBTSU4gU0lOSAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JU0tFV05FU1MgU09VTkRFWCBTUEVESVMgU1FSVCBTVEQgU1RERVJSIFNURklQUworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JU1ROQU1FIFNUTkFNRUwgU1VCU1RSIFNVTSBTWU1HRVQgU1lTR0VUIFNZU01TRworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JU1lTUFJPRCBTWVNSQyBTWVNURU0gVEFOIFRBTkggVElNRSBUSU1FUEFSVAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVElOViBUTk9OQ1QgVE9EQVkgVFJBTlNMQVRFIFRSQU5XUkQgVFJJR0FNTUEKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVRSSU0gVFJJTU4gVFJVTkMgVU5JRk9STSBVUENBU0UgVVNTIFZBUgorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVkFSRk1UIFZBUklORk1UIFZBUkxBQkVMIFZBUkxFTiBWQVJOQU1FCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWQVJOVU0gVkFSUkFZIFZBUlJBWVggVkFSVFlQRSBWRVJJRlkgVkZPUk1BVAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVkZPUk1BVEQgVkZPUk1BVERYIFZGT1JNQVROIFZGT1JNQVROWCBWRk9STUFUVworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVkZPUk1BVFdYIFZGT1JNQVRYIFZJTkFSUkFZIFZJTkFSUkFZWCBWSU5GT1JNQVQKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVZJTkZPUk1BVEQgVklORk9STUFURFggVklORk9STUFUTiBWSU5GT1JNQVROWAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVklORk9STUFUVyBWSU5GT1JNQVRXWCBWSU5GT1JNQVRYIFZMQUJFTAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVkxBQkVMWCBWTEVOR1RIIFZMRU5HVEhYIFZOQU1FIFZOQU1FWCBWVFlQRQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVlRZUEVYIFdFRUtEQVkgWUVBUiBZWVEgWklQRklQUyBaSVBOQU1FIFpJUE5BTUVMCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglaSVBTVEFURQorCisiIEhhbmR5IHNldHRpbmdzIGZvciB1c2luZyB2aW0gd2l0aCBsb2cgZmlsZXMKK3N5biBrZXl3b3JkIHNhc0xvZ01zZwlOT1RFCitzeW4ga2V5d29yZCBzYXNXYXJuTXNnCVdBUk5JTkcKK3N5biBrZXl3b3JkIHNhc0Vyck1zZwlFUlJPUgorCisiIEFsd2F5cyBjb250YWluZWQgaW4gYSBjb21tZW50IChCb2IgSGVja2VsKQorc3luIGtleXdvcmQgc2FzVG9kbwlUT0RPIFRCRCBGSVhNRSBjb250YWluZWQKKworIiBUaGVzZSBkb24ndCBmaXQgYW55d2hlcmUgZWxzZSAoQm9iIEhlY2tlbCkuCitzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX05VTExfIgorc3luIG1hdGNoIHNhc1VuZGVyc2NvcmUJIl9JTkZJTEVfIgorc3luIG1hdGNoIHNhc1VuZGVyc2NvcmUJIl9OXyIKK3N5biBtYXRjaCBzYXNVbmRlcnNjb3JlCSJfV0VCT1VUXyIKK3N5biBtYXRjaCBzYXNVbmRlcnNjb3JlCSJfTlVNRVJJQ18iCitzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX0NIQVJBQ1RFUl8iCitzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX0FMTF8iCisKKyIgRW5kIG9mIFNBUyBGdW5jdGlvbnMKKworIiAgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zYXNfc3ludGF4X2luaXRzIikKKyAgIGlmIHZlcnNpb24gPCA1MDgKKyAgICAgIGxldCBkaWRfc2FzX3N5bnRheF9pbml0cyA9IDEKKyAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICBlbHNlCisgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgIGVuZGlmCisKKyAgICIgRGVmYXVsdCBzYXMgZW5oYW5jZWQgZWRpdG9yIGNvbG9yIHN5bnRheAorCWhpIHNDb21tZW50CXRlcm09Ym9sZCBjdGVybT1OT05FIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1EYXJrR3JlZW4gZ3VpYmc9V2hpdGUKKwloaSBzQ2FyZAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPUJsYWNrIGN0ZXJtYmc9WWVsbG93IGd1aT1OT05FIGd1aWZnPUJsYWNrIGd1aWJnPUxpZ2h0WWVsbG93CisJaGkgc0RhdGVfVGltZQl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9U2VhR3JlZW4gZ3VpYmc9V2hpdGUKKwloaSBzS2V5d29yZAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9Qmx1ZSBndWliZz1XaGl0ZQorCWhpIHNGbXRJbmZtdAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUxpZ2h0R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQorCWhpIHNTdHJpbmcJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1NYWdlbnRhIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9UHVycGxlIGd1aWJnPVdoaXRlCisJaGkgc1RleHQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPUJsYWNrIGd1aWJnPVdoaXRlCisJaGkgc051bWJlcgl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9U2VhR3JlZW4gZ3VpYmc9V2hpdGUKKwloaSBzUHJvYwl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCisJaGkgc1NlY3Rpb24JdGVybT1OT05FIGN0ZXJtPWJvbGQgY3Rlcm1mZz1CbHVlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9TmF2eSBndWliZz1XaGl0ZQorCWhpIG1EZWZpbmUJdGVybT1OT05FIGN0ZXJtPWJvbGQgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPUJsYWNrIGd1aWJnPVdoaXRlCisJaGkgbUtleXdvcmQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1CbHVlIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9Qmx1ZSBndWliZz1XaGl0ZQorCWhpIG1SZWZlcmVuY2UJdGVybT1OT05FIGN0ZXJtPWJvbGQgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPUJsdWUgZ3VpYmc9V2hpdGUKKwloaSBtU2VjdGlvbgl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCisJaGkgbVRleHQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPUJsYWNrIGd1aWJnPVdoaXRlCisKKyIgQ29sb3JzIHRoYXQgY2xvc2VseSBtYXRjaCBTQVMgbG9nIGNvbG9ycyBmb3IgZGVmYXVsdCBjb2xvciBzY2hlbWUKKwloaSBsRXJyb3IJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1SZWQgY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1SZWQgZ3VpYmc9V2hpdGUKKwloaSBsV2FybmluZwl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPW5vbmUgZ3VpZmc9R3JlZW4gZ3VpYmc9V2hpdGUKKwloaSBsTm90ZQl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUN5YW4gY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCisKKworICAgIiBTcGVjaWFsIGhpbGlnaHRpbmcgZm9yIHRoZSBTQVMgcHJvYyBzZWN0aW9uCisKKwlIaUxpbmsJc2FzQ29tbWVudAlzQ29tbWVudAorCUhpTGluawlzYXNDb25kaXRpb25hbAlzS2V5d29yZAorCUhpTGluawlzYXNTdGVwCQlzU2VjdGlvbgorCUhpTGluawlzYXNGdW5jdGlvbglzS2V5d29yZAorCUhpTGluawlzYXNNYWNybwltS2V5d29yZAorCUhpTGluawlzYXNNYWNyb1ZhcglOb25UZXh0CisJSGlMaW5rCXNhc051bWJlcglzTnVtYmVyCisJSGlMaW5rCXNhc1N0YXRlbWVudAlzS2V5d29yZAorCUhpTGluawlzYXNTdHJpbmcJc1N0cmluZworCUhpTGluawlzYXNQcm9jCQlzUHJvYworICAgIiAoQm9iIEhlY2tlbCkKKwlIaUxpbmsJc2FzVG9kbwkJVG9kbworCUhpTGluawlzYXNFcnJNc2cJbEVycm9yCisJSGlMaW5rCXNhc1dhcm5Nc2cJbFdhcm5pbmcKKwlIaUxpbmsJc2FzTG9nTXNnCWxOb3RlCisJSGlMaW5rCXNhc0NhcmRzCXNDYXJkCisgICIgKEJvYiBIZWNrZWwpCisJSGlMaW5rCXNhc1VuZGVyc2NvcmUJUHJlUHJvYworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisiIFN5bmNyb25pemUgZnJvbSBiZWdpbm5pbmcgdG8ga2VlcCBsYXJnZSBibG9ja3MgZnJvbSBsb3NpbmcKKyIgc3ludGF4IGNvbG9yaW5nIHdoaWxlIG1vdmluZyB0aHJvdWdoIGNvZGUuCitzeW4gc3luYyBmcm9tc3RhcnQKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2FzIgorCisiIHZpbTogdHM9OAo=