IyAkSWQkCiMKIyBEZWZhdWx0IGxvY2FsaXplZCBzdHJpbmcgaW5mb3JtYXRpb24KIyBMb2NhbGl6ZWQgdGhpcyB0aGUgRGVmYXVsdCBMb2NhbGUgYXMgaXMgZnJfRlIKCmpzcC5lcnJvci5iYWQuc2VydmxldC5lbmdpbmU9VmVyc2lvbiBkZSBtb3RldXIgZGUgc2VydmxldCBpbmNvcnJlY3RlIQpqc3AuZXJyb3Iubm8uc2NyYXRjaC5kaXI9TGUgbW90ZXVyIGRlIEpTUCBlbmdpbmUgbicnZXN0IHBhcyBjb25maWd1cukgYXZlYyB1biBy6XBlcnRvaXJlIGRlIHRyYXZhaWwuXApcbiBNZXJjaSBkJydham91dGVyIFwianNwLmluaXRwYXJhbXM9c2NyYXRjaGRpcj08ZGlyLW5hbWU+XCIgXApcbiBkYW5zIGxlIGZpY2hpZXIgInNlcnZsZXRzLnByb3BlcnRpZXMiIGRlIGNlIGNvbnRleHRlLgpqc3AuZXJyb3IuYmFkLnNjcmF0Y2guZGlyPUxlIHBhcmFt6nRyZSAic2NyYXRjaERpciIgcXVlIHZvdXMgYXZleiBzcOljaWZp6TogezB9IGVzdCBpbnV0aWxpc2FibGUuCmpzcC5tZXNzYWdlLnNjcmF0Y2guZGlyLmlzPUxlIHLpcGVydG9pcmUgZGUgdHJhdmFpbCAoc2NyYXRjaCBkaXIpIHBvdXIgbGUgbW90ZXVyIGRlIEpTUCBlc3Q6IHswfQpqc3AubWVzc2FnZS5wYXJlbnRfY2xhc3NfbG9hZGVyX2lzPUxlIGNoYXJnZXVyIGRlIGNsYXNzZSBwYXJlbnQgKGNsYXNzIGxvYWRlcikgZXN0OiB7MH0KanNwLm1lc3NhZ2UuZG9udC5tb2RpZnkuc2VydmxldHM9SU1QT1JUQU5UOiBOZSBwYXMgbW9kaWZpZXIgbGVzIHNlcnZsZXRzIGfpbuly6WVzCmpzcC5lcnJvci5ub3QuaW1wbC5jb21tZW50cz1FcnJldXIgaW50ZXJuZTogQ29tbWVudGFpcmVzIG5vbiBpbXBs6W1lbnTpcwpqc3AuZXJyb3Iubm90LmltcGwuZGlyZWN0aXZlcz1FcnJldXIgaW50ZXJuZTogRGlyZWN0aXZlcyBub24gaW1wbOltZW506WVzCmpzcC5lcnJvci5ub3QuaW1wbC5kZWNsYXJhdGlvbnM9RXJyZXVyIGludGVybmU6IERlY2xhcmF0aW9ucyBub24gaW1wbOltZW506WVzCmpzcC5lcnJvci5ub3QuaW1wbC5leHByZXNzaW9ucz1FcnJldXIgaW50ZXJuZTogRXhwcmVzc2lvbnMgbm9uIGltcGzpbWVudOllcwpqc3AuZXJyb3Iubm90LmltcGwuc2NyaXB0bGV0cz1FcnJldXIgaW50ZXJuZTogU2NyaXB0bGV0cyBub24gaW1wbOltZW506XMKanNwLmVycm9yLm5vdC5pbXBsLnVzZWJlYW49RXJyZXVyIGludGVybmU6IHVzZUJlYW4gbm9uIGltcGzpbWVudOkKanNwLmVycm9yLm5vdC5pbXBsLmdldHA9RXJyZXVyIGludGVybmU6IGdldFByb3BlcnR5IG5vbiBpbXBs6W1lbnTpCmpzcC5lcnJvci5ub3QuaW1wbC5zZXRwPUVycmV1ciBpbnRlcm5lOiBzZXRQcm9wZXJ0eSBub24gaW1wbOltZW506Qpqc3AuZXJyb3Iubm90LmltcGwucGx1Z2luPUVycmV1ciBpbnRlcm5lOiBwbHVnaW4gbm9uIGltcGzpbWVudOkKanNwLmVycm9yLm5vdC5pbXBsLmZvcndhcmQ9RXJyZXVyIGludGVybmU6IGZvcndhcmQgbm9uIGltcGzpbWVudOkKanNwLmVycm9yLm5vdC5pbXBsLmluY2x1ZGU9RXJyZXVyIGludGVybmU6IGluY2x1ZGUgbm9uIGltcGzpbWVudOkKanNwLmVycm9yLnVuYXZhaWxhYmxlPUxhIEpTUCBhIOl06SBtYXJxdellIGNvbW1lIG5vbiBkaXNwb25pYmxlCmpzcC5lcnJvci51c2ViZWFuLm1pc3NpbmcuYXR0cmlidXRlPXVzZUJlYW46IGwnJ2lkZW50aWZpY2F0ZXVyIGQnJ2F0dHJpYnV0IChpZCBhdHRyaWJ1dGUpIGVzdCBtYW5xdWFudCBvdSBtYWwgb3J0aG9ncmFwaGnpCmpzcC5lcnJvci51c2ViZWFuLm1pc3NpbmcudHlwZT11c2VCZWFuICh7MH0pOiBMYSBjbGFzc2Ugb3UgbGUgdHlwZSBkJydhdHRyaWJ1dCBkb2l0IOp0cmVcCnNw6WNpZmnpOiAKanNwLmVycm9yLnVzZWJlYW4uZHVwbGljYXRlPXVzZUJlYW46IE5vbSBkZSBiZWFuIGR1cGxpcXXpOiB7MH0KanNwLmVycm9yLnVzZWJlYW4ucHJvaGliaXRlZC5hcy5zZXNzaW9uPUltcG9zc2libGUgZCcndXRpbGlzZXIgY29tbWUgYmVhbiBkZSBzZXNzaW9uIHswfSBjYXIgYycnZXN0IGludGVyZGl0XApwYXIgbGEgZGlyZWN0aXZlIGpzcCBk6WZpbmllIHBy6WPpZGVtbWVudDogCmpzcC5lcnJvci51c2ViZWFuLm5vdC5ib3RoPXVzZUJlYW46IEltcG9zc2libGUgZGUgc3DpY2lmaWVyIOAgbGEgZm9pcyBsYSBjbGFzc2UgZXQgbCcnYXR0cmlidXQgYmVhbk5hbWU6IApqc3AuZXJyb3IudXNlYmVhbi5iYWQudHlwZS5jYXN0PXVzZUJlYW4gKHswfSk6IExlIHR5cGUgKHsxfSkgbicnZXN0IHBhcyBhc3NpZ25hYmxlIGRlcHVpcyBsYSBjbGFzc2UgKHsyfSkgCmpzcC5lcnJvci5jbGFzc25hbWU9SW1wb3NzaWJsZSBkZSBk6XRlcm1pbmVyIGxlIG5vbSBkZSBjbGFzc2UgZCcnYXBy6HMgbGUgZmljaGllciAuY2xhc3MKanNwLndhcm5pbmcuYmFkLnR5cGU9QXR0ZW50aW9uOiBtYXV2YWlzIHR5cGUgZGFucyBsZSBmaWNoaWVyIC5jbGFzcwpqc3AuZXJyb3IuZGF0YS5maWxlLndyaXRlPUVycmV1ciBsb3JzIGRlIGwnJ+ljcml0dXJlIGR1IGZpY2hpZXIgZGUgZG9ubullcwojRGlyZWN0aXZlIGRlIFBhZ2U6IHZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgcGFnZUVuY29kaW5nCmpzcC5lcnJvci5wYWdlLmludmFsaWQuY29udGVudHR5cGU9RGlyZWN0aXZlIGRlIFBhZ2U6IHZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgY29udGVudFR5cGUKanNwLmVycm9yLnBhZ2UuaW52YWxpZC5zZXNzaW9uPURpcmVjdGl2ZSBkZSBQYWdlOiB2YWxldXIgaW5jb3JyZWN0ZSBwb3VyIHNlc3Npb24KanNwLmVycm9yLnBhZ2UuaW52YWxpZC5idWZmZXI9RGlyZWN0aXZlIGRlIFBhZ2U6IHZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgImJ1ZmZlciIKanNwLmVycm9yLnBhZ2UuaW52YWxpZC5hdXRvZmx1c2g9RGlyZWN0aXZlIGRlIFBhZ2U6IHZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgYXV0b0ZsdXNoCmpzcC5lcnJvci5wYWdlLmludmFsaWQuaXN0aHJlYWRzYWZlPURpcmVjdGl2ZSBkZSBQYWdlOiB2YWxldXIgaW5jb3JyZWN0ZSBwb3VyIGlzVGhyZWFkU2FmZQpqc3AuZXJyb3IucGFnZS5pbnZhbGlkLmluZm89RGlyZWN0aXZlIGRlIFBhZ2U6IHZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgaW5mbwpqc3AuZXJyb3IucGFnZS5pbnZhbGlkLmlzZXJyb3JwYWdlPURpcmVjdGl2ZSBkZSBQYWdlOiB2YWxldXIgaW5jb3JyZWN0ZSBwb3VyIGlzRXJyb3JQYWdlCmpzcC5lcnJvci5wYWdlLmRlZmFmdGVydXNlLmxhbmd1YWdlPURpcmVjdGl2ZSBkZSBQYWdlOiBvbiBuZSBwZXV0IGTpZmluaXIgbGFuZ3VhZ2UgYXBy6HMgdW4gc2NyaXB0bGV0IApqc3AuZXJyb3IucGFnZS5ub21hcHBpbmcubGFuZ3VhZ2U9RGlyZWN0aXZlIGRlIFBhZ2U6IFBhcyBkZSBjb3JyZXNwb25kYW5jZSBwb3VyIGxhbmd1YWdlOiAKanNwLmVycm9yLnBhZ2UuYmFkX2JfYW5kX2FfY29tYm89RGlyZWN0aXZlIGRlIFBhZ2U6IGNvbWJpbmFpc29uIGlsbOlnYWxlIGRlIGJ1ZmZlcj1cIm5vbmVcIiAmJiBhdXRvRmx1c2g9XCJmYWxzZVwiCmpzcC5lcnJvci5ub3QuaW1wbC50YWdsaWI9SW50ZXJuYWwgZXJyb3I6IFRhZyBleHRlbnNpb25zIG5vbiBpbXBs6W1lbnTpcwpqc3AuZXJyb3IuaW5jbHVkZS5taXNzaW5nLmZpbGU9bCcnYXJndW1lbnQgZmljaGllciAoZmlsZSkgcG91ciBsJydpbmNsdXNpb24gKGluY2x1ZGUpIGVzdCBhYnNlbnQKanNwLmVycm9yLmluY2x1ZGUuYmFkLmZpbGU9TWF1dmFpcyBhcmd1bWVudCBmaWNoaWVyIChmaWxlKSBwb3VyIGwnJ2luY2x1c2lvbiAoaW5jbHVkZSkKanNwLmVycm9yLmluY2x1ZGUuZXhjZXB0aW9uPUltcG9zc2libGUgZCcnaW5jbHVyZSAoaW5jbHVkZSkgezB9CmpzcC5lcnJvci5zdHJlYW0uY2xvc2VkPUZsdXggZmVybekKanNwLmVycm9yLmludmFsaWQuZm9yd2FyZD1UYWcgZm9yd2FyZCBpbmNvcnJlY3QKanNwLmVycm9yLnVua25vd25FeGNlcHRpb249RXJyZXVyIG5vbiB0cmFpdOllISBWb3VzIGRldnJpZXogcGVuc2VyIOAgdXRpbGlzZXIgdW5lIHBhZ2UgZCcnZXJyZXVyIFwKcG91ciByYXBwb3J0ZXIgY2UgdHlwZSBkJydlcnJldXIgcGx1cyDpbOlnYW1tZW50CmpzcC5lcnJvci5pbnZhbGlkLmRpcmVjdGl2ZT1EaXJlY3RpdmUgaW5jb3JyZWN0ZQpqc3AuZXJyb3IuZGlyZWN0aXZlLmlzdGFnZmlsZT1MYSBkaXJlY3RpdmUgezB9IG5lIHBldXQg6nRyZSB1dGlsaXPpZSBkYW5zIHVuIGZpY2hpZXIgdGFnCmpzcC5lcnJvci5kaXJlY3RpdmUuaXNub3R0YWdmaWxlPUxhIGRpcmVjdGl2ZSB7MH0gbmUgcGV1dCDqdHJlIHV0aWxpc+llIHF1ZSBkYW5zIHVuIGZpY2hpZXIgdGFnCmpzcC5lcnJvci50YWdmaWxlLnRsZC5uYW1lPUwnJ2F0dHJpYnV0IFwibmFtZVwiIGRlIGxhIGRpcmVjdGl2ZSB0YWcgY29udGllbnQgbGEgdmFsZXVyIHswfSBhbG9ycyBxdWUgbGUgdGFnIFwibmFtZVwiIGRlIGwnJ+ls6W1lbnQgXCJ0YWctZmlsZVwiIGRhbnMgbGUgVExEIGVzdCB7MX0KanNwLmVycm9yLmFjdGlvbi5pc3RhZ2ZpbGU9TCcnYWN0aW9uIHswfSBuZSBwZXV0IOp0cmUgdXRpbGlz6WUgZGFucyB1biBmaWNoaWVyIHRhZwpqc3AuZXJyb3IuYWN0aW9uLmlzbm90dGFnZmlsZT1MJydhY3Rpb24gezB9IG5lIHBldXQg6nRyZSB1dGlsaXPpZSBxdWUgZGFucyB1biBmaWNoaWVyIHRhZwpqc3AuZXJyb3IudW50ZXJtaW5hdGVkPVRhZyB7MH0gbm9uIHRlcm1pbukKanNwLmVycm9yLnVzZWJlYW4ubm90aW5zYW1lZmlsZT1sZSB0YWcgdXNlQmVhbiBkb2l0IGNvbW1lbmPpIGV0IGZpbmlyIGRhbnMgbGUgbeptZSBmaWNoaWVyIHBoeXNpcXVlCmpzcC5lcnJvci5sb2FkY2xhc3MudGFnaGFuZGxlcj1JbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgY2xhc3NlIHswfQpqc3AuZXJyb3IudW5hYmxlLmNvbXBpbGU9SW1wb3NzaWJsZSBkZSBjb21waWxlciBsYSBjbGFzc2UgcG91ciBsYSBKU1AKanNwLmVycm9yLnVuYWJsZS5sb2FkPUltcG9zc2libGUgZGUgY2hhcmdlciBsYSBjbGFzc2UgcG91ciBsYSBKU1AKanNwLmVycm9yLnVuYWJsZS5yZW5hbWU9SW1wb3NzaWJsZSBkZSByZW5vbW1lciBsZSBmaWNoaWVyIGNsYXNzZSBkZSB7MH0gdmVycyB7MX0KanNwLmVycm9yLm1hbmRhdG9yeS5hdHRyaWJ1dGU9ezB9OiBMJydhdHRyaWJ1dCBvYmxpZ2F0b2lyZSB7MX0gZXN0IG1hbnF1YW50CmpzcC5lbmdpbmUuaW5mbz1Nb3RldXIgSmFzcGVyIEpTUCAyLjAKanNwLmVycm9yLmludmFsaWQuZXhwcmVzc2lvbj0iezB9IiBjb250aWVudCBkJydpbmNvcnJlY3RlKHMpIGV4cHJlc3Npb24ocyk6IHsxfQpqc3AuZXJyb3IuaW52YWxpZC5hdHRyaWJ1dGU9ezB9OiBBdHRyaWJ1dCBpbmNvcnJlY3Q6IHsxfQpqc3AuZXJyb3IudXNlYmVhbi5jbGFzcy5ub3Rmb3VuZD1DbGFzc2U6IHswfSBub24gdHJvdXbpZQpqc3AuZXJyb3IuZmlsZS5jYW5ub3QucmVhZD1JbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllcjogezB9CmpzcC5lcnJvci5maWxlLmFscmVhZHkucmVnaXN0ZXJlZD1JbmNsdXNpb24gculjdXJzaXZlIGR1IGZpY2hpZXIgezB9CmpzcC5lcnJvci5maWxlLm5vdC5yZWdpc3RlcmVkPUxlIGZpY2hpZXIgezB9IG4nJ2FwcGFyYe50IHBhcyBkYW5zIGwnJ2luY2x1c2lvbiAoaW5jbHVkZSkKanNwLmVycm9yLnF1b3Rlcy51bnRlcm1pbmF0ZWQ9Z3VpbGxlbWV0cyBub24gdGVybWlu6XMKanNwLmVycm9yLmF0dHIucXVvdGVkPUxhIHZhbGV1ciBkZSBsJydhdHRyaWJ1dGUgZG9pdCDqdHJlIGVudHJlIGd1aWxsZW1ldHMgCmpzcC5lcnJvci5hdHRyLm5vdmFsdWU9TCcnYXR0cmlidXRlIHswfSBuJydhIHBhcyBkZSB2YWxldXIKanNwLmVycm9yLnRhZy5hdHRyLnVudGVybWluYXRlZD1MaXN0ZSBkZSB0YWcgZCcnYXR0cmlidXQgbm9uIHRlcm1pbullCmpzcC5lcnJvci5wYXJhbS5ub25hbWU9UGFzIGRlIG5vbSBkYW5zIGxlIHRhZyBQQVJBTQpqc3AuZXJyb3IucGFyYW0ubm92YWx1ZT1QYXMgZGUgdmFsZXVyIGRhbnMgbGUgdGFnIFBBUkFNCmpzcC5lcnJvci5iZWFucy5udWxsYmVhbj1UZW50YXRpdmUgZCcnb3DpcmF0aW9uIGJlYW4gc3VyIHVuIG9iamV0IG51bC4KanNwLmVycm9yLmJlYW5zLm5vYmVhbmluZm89UGFzIGQnJ2luZm9ybWF0aW9uIGJlYW4gKEJlYW5JbmZvKSBwb3VyIGxlIGJlYW4gZGUgdHlwZSAnJ3swfScnIG4nJ2EgcHUg6nRyZSB0cm91dullLCBsYSBjbGFzc2UgbicnZXhpc3RlIHByb2JhYmxlbWVudCBwYXMuCmpzcC5lcnJvci5iZWFucy5pbnRyb3NwZWN0aW9uPVVuZSBleGNlcHRpb24gcycnZXN0IHByb2R1aXRlIGxvcnMgZGUgbCcnaW50cm9zcGVjdGlvbiBkZSBsYSBt6XRob2RlIHJlYWQgZGUgbGEgcHJvcHJp6XTpICcnezB9JycgZGFucyBsZSBiZWFuIGRlIHR5cGUgJyd7MX0nJzpcbnsyfQpqc3AuZXJyb3IuYmVhbnMubm9tZXRob2Q9SW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuZSBt6XRob2RlIHBvdXIgbGlyZSBsYSBwcm9wcmnpdOkgJyd7MH0nJyBkYW5zIGxlIGJlYW4gZGUgdHlwZSAnJ3sxfScnCmpzcC5lcnJvci5iZWFucy5ub21ldGhvZC5zZXRwcm9wZXJ0eT1JbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIG3pdGhvZGUgcG91ciBtZXR0cmUg4CBqb3VyIGxhIHByb3Byael06SAnJ3swfScnIGRlIHR5cGUgJyd7MX0nJ2RhbnMgbGUgYmVhbiBkZSB0eXBlICcnezJ9JycKanNwLmVycm9yLmJlYW5zLm5vcHJvcGVydHk9PUltcG9zc2libGUgZGUgdHJvdXZlciBkZSBsJydpbmZvcm1hdGlvbiBzdXIgbGEgcHJvcHJp6XTpICcnezB9JycgZGFucyBsZSBiZWFuIGRlIHR5cGUgJyd7MX0nJwpqc3AuZXJyb3IuYmVhbnMuc2V0cHJvcGVydHkubm9pbmRleHNldD1JbXBvc3NpYmxlIGRlIHJlbnNlaWduZXIgbGEgcHJvcHJp6XTpIGluZOl46WUKanNwLmVycm9yLmluY2x1ZGUudGFnPVRhZyBqc3A6aW5jbHVkZSBpbmNvcnJlY3QKanNwLmVycm9yLmluY2x1ZGUubm9mbHVzaD1qc3A6aW5jbHVkZSBkb2l0IGF2b2lyIFwiZmx1c2g9dHJ1ZVwiCmpzcC5lcnJvci5pbmNsdWRlLmJhZGZsdXNoPWpzcDppbmNsdWRlIHBhZ2U9XCIuLi5cIiBmbHVzaD1cInRydWVcIiBlc3QgbGEgc2V1bGUgY29tYmluYWlzb24gdmFsaWRlIGRhbnMgSlNQIDEuMApqc3AuZXJyb3IuYXR0ZW1wdF90b19jbGVhcl9mbHVzaGVkX2J1ZmZlcj1FcnJldXI6IFRlbnRhdGl2ZSBkJydlZmZhY2VtZW50IGQnJ3VuIHRhbXBvbiBxdWkgYSBk6WrgIOl06SB2aWRhbmfpIChmbHVzaCkKanNwLmVycm9yLm92ZXJmbG93PUVycmV1cjogROlwYXNzZW1lbnQgZGUgY2FwYWNpdOkgZHUgdGFtcG9uIEpTUApqc3AuZXJyb3IucGFyYW1leHBlY3RlZD1MZSB0YWcgXCJwYXJhbVwiIGVzdCBhdHRlbmR1IGF2ZWMgbGVzIGF0dHJpYnV0cyBcIm5hbWVcIiBldCBcInZhbHVlXCIgYXBy6HMgbGUgdGFnIFwicGFyYW1zXCIuCmpzcC5lcnJvci5jbG9zZWluZGl2aWR1YWxwYXJhbT1MZSB0YWcgcGFyYW0gZG9pdCDqdHJlIGZlcm3pIGF2ZWMgXCIvPlwiCmpzcC5lcnJvci5jbG9zZXBhcmFtcz1MZSB0YWcgcGFyYW0gdGFnIGRvaXQg6nRyZSBmZXJt6SBhdmVjICAvcGFyYW1zCmpzcC5lcnJvci5wbHVnaW4ubm90eXBlPXR5cGUgbm9uIGTpY2xhcukgZGFucyBqc3A6cGx1Z2luCmpzcC5lcnJvci5wbHVnaW4ubm9jb2RlPWNvZGUgbm9uIGTpY2xhcukgZGFucyBqc3A6cGx1Z2luCmpzcC5lcnJvci5pc2Vfb25fY2xlYXI9SWwgZXN0IGludGVyZGl0IGQnJ3V0aWxpc2VyIGNsZWFyKCkgcXVhbmQgbGEgdGFpbGxlIGRlIHRhbXBvbj09IDAKanNwLmVycm9yLnNldHByb3BlcnR5LmJlYW5Ob3RGb3VuZD1zZXRQcm9wZXJ0eTogbGUgQmVhbiB7MH0gZXN0IGludHJvdXZhYmxlCmpzcC5lcnJvci5nZXRwcm9wZXJ0eS5iZWFuTm90Rm91bmQ9Z2V0UHJvcGVydHk6IGxlIEJlYW4gezB9IGVzdCBpbnRyb3V2YWJsZQpqc3AuZXJyb3Iuc2V0cHJvcGVydHkuQ2xhc3NOb3RGb3VuZD1zZXRQcm9wZXJ0eTogbGEgQ2xhc3NlIHswfSBlc3QgaW50cm91dmFibGUKanNwLmVycm9yLnNldHByb3BlcnR5LmludmFsaWRTeW50YXg9c2V0UHJvcGVydHk6IE9uIG5lIHBldXQgYXZvaXIgZGUgdmFsZXVyIG5vbiBudWxsZSBxdWFuZCBwcm9wZXJ0eT0qCmpzcC5lcnJvci5zZXRwcm9wZXJ0eS5iZWFuSW5mb05vdEZvdW5kPXNldHByb3BlcnR5OiBiZWFuSW5mbyBwb3VyIGxlIGJlYW4gezB9IGVzdCBpbnRyb3V2YWJsZQpqc3AuZXJyb3Iuc2V0cHJvcGVydHkucGFyYW1PclZhbHVlPXNldFByb3BlcnR5OiBwYXJhbSBvdSB2YWx1ZSBkb2l0IOp0cmUgcHLpc2VudApqc3AuZXJyb3Iuc2V0cHJvcGVydHkuYXJyYXlWYWw9c2V0UHJvcGVydHk6IG9uIG5lIHBldXQgcmVuc2VpZ25lciBsZXMgYXJyYXkgcHJvcGVydHkgezB9IGF1IHRyYXZlcnMgZCcndW5lIHZhbGV1ciBjaGHubmUgY29uc3RhbnRlIChzdHJpbmcgY29uc3RhbnQgdmFsdWUpCmpzcC53YXJuaW5nLmtlZXBnZW49QXR0ZW50aW9uOiBWYWxldXIgaW5jb3JyZWN0ZSBwb3VyIGxlIGluaXRQYXJhbSBrZWVwZ2VuZXJhdGVkLiBVdGlsaXNhdGlvbiBkZSBsYSB2YWxldXIgcGFyIGTpZmF1dCBcImZhbHNlXCIKanNwLndhcm5pbmcuZW5hYmxlUG9vbGluZz1BdHRlbnRpb246IFZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgbGUgaW5pdFBhcmFtIGVuYWJsZVBvb2xpbmcuIFV0aWxpc2F0aW9uIGRlIGxhIHZhbGV1ciBwYXIgZOlmYXV0IFwidHJ1ZVwiCmpzcC53YXJuaW5nLm1hcHBlZEZpbGU9QXR0ZW50aW9uOiBWYWxldXIgaW5jb3JyZWN0ZSBwb3VyIGxlIGluaXRQYXJhbSBtYXBwZWRGaWxlLiBVdGlsaXNhdGlvbiBkZSBsYSB2YWxldXIgcGFyIGTpZmF1dCBcImZhbHNlXCIKanNwLndhcm5pbmcuc2VuZEVyclRvQ2xpZW50PUF0dGVudGlvbjogVmFsZXVyIGluY29ycmVjdGUgcG91ciBsZSAgaW5pdFBhcmFtIHNlbmRFcnJUb0NsaWVudC4gVXRpbGlzYXRpb24gZGUgbGEgdmFsZXVyIHBhciBk6WZhdXQgXCJmYWxzZVwiCmpzcC53YXJuaW5nLmNsYXNzRGVidWdJbmZvPUF0dGVudGlvbjogVmFsZXVyIGluY29ycmVjdGUgcG91ciBsZSBpbml0UGFyYW0gY2xhc3NkZWJ1Z2luZm8uIFV0aWxpc2F0aW9uIGRlIGxhIHZhbGV1ciBwYXIgZOlmYXV0IFwiZmFsc2VcIgpqc3Aud2FybmluZy5jaGVja0ludGVydmFsPUF0dGVudGlvbjogVmFsZXVyIGluY29ycmVjdGUgcG91ciBsZSBpbml0UGFyYW0gY2hlY2tJbnRlcnZhbC4gVXRpbGlzYXRpb24gZGUgbGEgdmFsZXVyIHBhciBk6WZhdXQgXCIzMDBcIiBzZWNvbmRlcwpqc3Aud2FybmluZy5kZXZlbG9wbWVudD1BdHRlbnRpb246IFZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgbGUgaW5pdFBhcmFtIGRldmVsb3BtZW50LiBVdGlsaXNhdGlvbiBkZSBsYSB2YWxldXIgcGFyIGTpZmF1dCBcInRydWVcIgpqc3Aud2FybmluZy5yZWxvYWRpbmc9QXR0ZW50aW9uOiBWYWxldXIgaW5jb3JyZWN0ZSBwb3VyIGxlIGluaXRQYXJhbSByZWxvYWRpbmcuIFV0aWxpc2F0aW9uIGRlIGxhIHZhbGV1ciBwYXIgZOlmYXV0IFwidHJ1ZVwiCmpzcC53YXJuaW5nLnJlbG9hZGluZz0KanNwLmVycm9yLmJhZHRhZ2xpYj1JbXBvc3NpYmxlIGQnJ291dnJpciBsZSB0YWdsaWJyYXJ5IHswfSA6IHsxfQpqc3AuZXJyb3IuYmFkR2V0UmVhZGVyPUltcG9zc2libGUgZGUgY3LpZXIgdW4gbGVjdGV1ciAocmVhZGVyKSBxdWFuZCBsZSBmbHV4IG4nJ3V0aWxzZSBwYXMgZGVzIHRhbXBvbnMgKG5vdCBidWZmZXJlZCkKanNwLndhcm5pbmcudW5rbm93bi5lbGVtZW50LmluLlRMRD1BdHRlbnRpb246IEVs6W1lbnQgaW5jb25udSB7MH0gZGFucyBsZSBUTEQKanNwLndhcm5pbmcudW5rbm93bi5lbGVtZW50LmluLnRhZz1BdHRlbnRpb246IEVs6W1lbnQgaW5jb25udSB7MH0gZGFucyBsZSB0YWcKanNwLndhcm5pbmcudW5rbm93bi5lbGVtZW50LmluLmF0dHJpYnV0ZT1BdHRlbnRpb246IEVs6W1lbnQgaW5jb25udSB7MH0gZGFucyBsJydhdHRyaWJ1dGUKanNwLmVycm9yLm1vcmUudGhhbi5vbmUudGFnbGliPXBsdXMgZCcndW4gdGFnbGliIGRhbnMgbGUgVExEOiB7MH0KanNwLmVycm9yLnRlaWNsYXNzLmluc3RhbnRpYXRpb249SW1wb3NzaWJsZSBkZSBjaGFyZ2VyIG91IGQnJ2luc3RhbmNpZXIgbGEgY2xhc3NlIFRhZ0V4dHJhSW5mbzogezB9CmpzcC5lcnJvci5ub25fbnVsbF90ZWlfYW5kX3Zhcl9zdWJlbGVtcz1MZSB0YWcgezB9IHBvc3PoZGUgdW5lIG91IHBsdXNpZXVycyB2YXJpYWJsZXMgc3ViZWxlbWVudHMgZXQgdW5lIGNsYXNzZSBUYWdFeHRyYUluZm8gcXVpIHJldG91cm5lIHVuZSBvdSBwbHVzaWV1cnMgVmFyaWFibGVJbmZvCmpzcC5lcnJvci5wYXJzZS5lcnJvci5pbi5UTEQ9RXJyZXVyIGQnJ+l2YWx1YXRpb24gKHBhcnNlKSBkYW5zIGxlIGRlc2NyaXB0ZXVyIGRlIGxpYnJhaXJpZSBkZSB0YWcgKFRMRCk6IHswfQpqc3AuZXJyb3IudW5hYmxlLnRvLm9wZW4uVExEPUltcG9zc2libGUgZCcnb3V2cmlyIGxlIGRlc2NyaXB0ZXVyIGRlIGxpYnJhaXJpZSBkZSB0YWcgKFRMRCk6IHswfQpqc3AuYnVmZmVyLnNpemUuemVybz1UYWlsbGUgZHUgdGFtcG9uIDw9IDAKanNwLmVycm9yLmZpbGUubm90LmZvdW5kPUxlIGZpY2hpZXIgXCJ7MH1cIiBuJydhIHBhcyDpdOkgdHJvdXbpCmpzcC5tZXNzYWdlLmNvcHlpbmd1cmk9Q29waWUgZGUgezB9IGRhbnMgezF9CmpzcC5tZXNzYWdlLmh0bWxjb21tZW50PVxuRWZmYWNlbWVudCBkZXMgY29tbWVudGFpcmVzOiBcdHswfQpqc3AubWVzc2FnZS5oYW5kbGluZ19kaXJlY3RpdmU9XG5EaXJlY3RpdmUgZGUgZ2VzdGlvbiAoaGFuZGxpbmcpOiB7MH1cdHsxfQpqc3AubWVzc2FnZS5oYW5kbGluZ19wbHVnaW49XG5QbHVnaW46IHswfQpqc3AubWVzc2FnZS5wYWNrYWdlX25hbWVfaXM9TGUgbm9tIGRlIHBhY2thZ2UgZXN0OiB7MH0KanNwLm1lc3NhZ2UuY2xhc3NfbmFtZV9pcz1MZSBub20gZGUgY2xhc3NlIGVzdDogezB9CmpzcC5tZXNzYWdlLmphdmFfZmlsZV9uYW1lX2lzPUxlIG5vbSBkZSBmaWNoaWVyIEphdmEgZXN0OiB7MH0KanNwLm1lc3NhZ2UuY2xhc3NfZmlsZV9uYW1lX2lzPUxlIG5vbSBkZSBmaWNoaWVyIENsYXNzIGVzdDogezB9CmpzcC5tZXNzYWdlLmFjY2VwdGVkPUFjY2VwdOkgezB9IOAgezF9CmpzcC5tZXNzYWdlLmFkZGluZ19qYXI9QWpvdXQgZHUgamFyIHswfSDgIG1vbiBjbGFzc3BhdGgKanNwLm1lc3NhZ2UuY29tcGlsaW5nX3dpdGg9Q29tcGlsYXRpb24gYXZlYzogezB9CmpzcC5tZXNzYWdlLnRlbXBsYXRlX3RleHQ9dGV4dGUgdGVtcGxhdGUKanNwLmVycm9yLm1pc3NpbmdfYXR0cmlidXRlPUQnJ2FwcuhzIGxlIFRMRCBsJydhdHRyaWJ1dCB7MH0gZXN0IG9ibGlnYXRvaXJlIHBvdXIgbGUgdGFnIHsxfQpqc3AuZXJyb3IuYmFkX2F0dHJpYnV0ZT1MJydhdHRyaWJ1dCB7MH0gZXN0IGluY29ycmVjdCBwb3VyIGxlIHRhZyB7MX0gZCcnYXBy6HMgbGEgVExEIGluZGlxdellCmpzcC5lcnJvci53ZWJ4bWxfbm90X2ZvdW5kPUltcG9zc2libGUgZGUgbG9jYWxpc2VyIGxlIGZpY2hpZXIgd2ViLnhtbApqc3AuY21kX2xpbmUudXNhZ2U9VXNhZ2U6IGpzcHRvc2VydmxldCBbLWRkIDxwYXRoL3RvL291dHB1dERpcmVjdG9yeT5dIFsta2VlcGdlbmVyYXRlZF0gXAo8LmpzcCBmaWxlcz4KanNwLm1lc3NhZ2UuY3BfaXM9TGUgQ2xhc3NwYXRoIHswfSBlc3Q6IHsxfQpqc3AuZXJyb3IudW5hYmxlLnRvX2xvYWRfdGFnaGFuZGxlcl9jbGFzcz1JbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgY2xhc3NlIGdlc3Rpb25uYWlyZSBkZSB0YWcgezB9IGNhciB7MX0KanNwLmVycm9yLnVuYWJsZS50b19maW5kX21ldGhvZD1JbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIG3pdGhvZGUgZGUgbWlzZSDgIGpvdXIgcG91ciBsJydhdHRyaWJ1dDogezB9CmpzcC5lcnJvci51bmFibGUudG9fY29udmVydF9zdHJpbmc9SW1wb3NzaWJsZSBkZSBjb252ZXJ0aXIgdW5lIGNoYe5uZSB2ZXJzIHswfSBwb3VyIGwnJ2F0dHJpYnV0IHsxfQpqc3AuZXJyb3IudW5hYmxlLnRvX2ludHJvc3BlY3Q9SW1wb3NzaWJsZSBkJydpbnRyb3NwZWN0ZXIgbGEgY2xhc3NlIGdlc3Rpb25uYWlyZSBkZSB0YWcgOiB7MH0gY2FyIHsxfQpqc3AuZXJyb3IuYmFkX3RhZz1BdWN1biB0YWcgezB9IGRhbnMgbGEgbGlicmFpcmllIGRlIHRhZyBpbXBvcnTpZSBhdmVjIGxlIHBy6WZpeGUgezF9CmpzcC5lcnJvci5iYWRfc3RyaW5nX0NoYXJhY3Rlcj1JbXBvc3NpYmxlIGQnJ2V4dHJhaXJlIHVuIGNhcmFjdOhyZSBkZXB1aXMgdW4gdGFibGVhdSB2aWRlCmpzcC5lcnJvci5iYWRfc3RyaW5nX2NoYXI9SW1wb3NzaWJsZSBkJydleHRyYWlyZSB1biBjYXJhY3TocmUgZGVwdWlzIHVuIHRhYmxlYXUgdmlkZQpqc3Aud2FybmluZy5jb21waWxlci5jbGFzcy5jYW50Y3JlYXRlPUltcG9zc2libGUgZGUgY3LpZXIgdW5lIGluc3RhbmNlIGRlIGNsYXNzZSBwbHVnaW4gcG91ciBsZSBjb21waWxhdGV1ciBpbmRpcXXpIHswfSBkdWUgdG8gezF9LiBVdGlsaXNhdGlvbiBwYXIgZOlmYXV0IGR1IENvbXBpbGF0ZXVyIEphdmEgU3VuLgpqc3Aud2FybmluZy5jb21waWxlci5jbGFzcy5ub3Rmb3VuZD1MYSBjbGFzc2UgcGx1Z2luIGRlIGNvbXBpbGF0ZXVyIHswfSBlc3QgaW50cm91dmFibGUuIFV0aWxpc2F0aW9uIHBhciBk6WZhdXQgZHUgQ29tcGlsYXRldXIgSmF2YSBTdW4uCmpzcC53YXJuaW5nLmNvbXBpbGVyLnBhdGgubm90Zm91bmQ9bGUgY2hlbWluIGRlIGNvbXBpbGF0ZXVyIGluZGlxdekgezB9IGVzdCBpbnRyb3V2YWJsZS4gVXRpbGlzYXRpb24gcGFyIGTpZmF1dCBkdSBjaGVtaW4gc3lzdOhtZSAoc3lzdGVtIFBBVEgpLgpqc3AuZXJyb3IuanNwYy51cmlyb290X25vdF9kaXI9TCcnb3B0aW9uIC11cmlyb290IGRvaXQgaW5kaXF16SB1biBy6XBlcnRvaXJlIGTpauAgZXhpc3RhbnQKanNwYy5pbXBsaWNpdC51cmlSb290PXVyaVJvb3QgculnbOkgaW1wbGljaXRlbWVudCDgICJ7MH0iCmpzcGMudXNhZ2U9VXNhZ2U6IGpzcGMgPG9wdGlvbnM+IFstLV0gPGZpY2hpZXJzIGpzcD5cblwKb/kgbGVzIGZpY2hpZXJzIGpzcCBzb250IG4nJ2ltcG9ydGUgcXVlbCBub21icmUgZGU6XG5cClwgICAgPGZpbGU+ICAgICAgICAgVW4gZmljaGllciDgIOl2YWx1ZXIgKHBhcnNlcikgY29tbWUgcGFnZSBqc3BcblwKXCAgICAtd2ViYXBwIDxkaXI+ICBVbiBy6XBlcnRvaXJlIGNvbnRlbmFudCB1bmUgYXBwbGljYXRpb24gd2ViLCB0b3V0ZXMgbGVzIHBhZ2VzIGpzcFxuXApcICAgICAgICAgICAgICAgICAgIHNlcm9udCBy6WN1cnNpdmVtZW50IOl2YWx16WVzXG5cCm/5IGxlcyBvcHRpb25zIGNvbXByZW5uZXQ6XG5cClwgICAgLXEgICAgICAgICAgTW9kZSBzaWxlbmNpZXV4IChpZGVudGlxdWUg4CAtdjApXG5cClwgICAgLXZbI10gICAgICAgTW9kZSBiYXZhcmQgKExlIG5vbWJyZSBvcHRpb25uZWwgaW5kaXF1ZSBsZSBuaXZlYXUsIDIgcGFyIGTpZmF1dClcblwKXCAgICAtZCA8ZGlyPiAgICBEb3NzaWVyIGRlIHNvcnRpZVxuXApcICAgIC1kZCA8ZGlyPiAgIERvc3NpZXIgZGUgc29ydGllIGxpdGVyYWwuICAoTGVzIGRvc3NpZXJzIGRlIHBhcXVldHMgbmUgc2Vyb250IHBhcyBjb25zdHJ1aXRzKVxuXApcICAgIC1sICAgICAgICAgIFNvcnRpZSBkdSBub20gbGEgcGFnZSBKU1AgZW4gY2FzIGQnJ+ljaGVjXG5cClwgICAgLXMgICAgICAgICAgU29ydGllIGR1IG5vbSBsYSBwYWdlIEpTUCBlbiBjYXMgZGUgc3VjY+hzXG5cClwgICAgLXAgPG5hbWU+ICAgTm9tIGR1IHBhcXVldCBjaWJsZVxuXApcICAgIC1jIDxuYW1lPiAgIE5vbSBkJ3VuIG5vbSBkZSBjbGFzc2UgY2libGVcblwKXCAgICAgICAgICAgICAgICAocycnYXBwbGlxdWUgc2V1bGVtZW50IOAgbGEgcHJlbWnocmUgcGFnZSBKU1ApXG5cClwgICAgLW1hcHBlZCAgICAgR+lu6HJlIGRlcyBhcHBlbHMg4CB3cml0ZSgpIHPpcGFy6XMgcG91ciBjaGFxdWUgbGlnbmUgSFRNTCBkYW5zIGxhIEpTUFxuXApcICAgIC1kaWVbI10gICAgIEfpbuhyZSB1biBjb2RlIGQnJ2VycmV1ciBkZSByZXRvdXIgKCMpIGVuIGNhcyBkJydlcnJldXJzIGZhdGFsZXMuXG5cClwgICAgICAgICAgICAgICAgU2kgbGUgbm9tYnJlIGVzdCBhYnNlbnQgb3Ugbm9uIG51belyaXF1ZSwgbGUgZOlmYXV0IGVzdCAxLlxuXApcICAgIC11cmliYXNlIDxkaXI+ICBMZSBy6XBlcnRvaXJlIHVyaSBkZSBjb21waWxhdGlvbnMgcmVsYXRpZlxuXApcICAgICAgICAgICAgICAgICAgICAoUGFyIGTpZmF1dCAiLyIpXG5cClwgICAgLXVyaXJvb3QgPGRpcj4gIFRoZSBy6XBlcnRvaXJlIHJhY2luZSBjb250cmUgbGVxdWVsIGxlcyBmaWNoaWVycyBzZXJvbnQgculzb2x1c1xuXApcICAgICAgICAgICAgICAgICAgICAsIChQYXIgZOlmYXV0IGxlIHLpcGVydG9pcmUgZGVwdWlzIGxlcXVlbCBqc3BjIGVzdCBhcHBlbOkpXG5cClwgICAgLXdlYmluYyA8ZmlsZT4gIENy6WF0aW9uIGQnJ2Fzc29jaWF0aW9uIHBhcnRpZWxsZSBkZSBzZXJ2bGV0IHBvdXIgbCcnb3B0aW9uIC13ZWJhcHAuXG5cClwgICAgLXdlYnhtbCA8ZmlsZT4gIENy6WF0aW9uIGQnJ3VuIGZpY2hpZXIgd2ViLnhtbCBjb21wbGV0IHBvdXIgbCcnb3B0aW9uIC13ZWJhcHAuXG5cClwgICAgLWllcGx1Z2luIDxjbHNpZD4gIExlIGNsYXNzaWQgZHUgUGx1Z2luIEphdmEgUGx1Z2luIHBvdXIgSW50ZXJuZXQgRXhwbG9yZXJcblwKXCAgICAtc2F4MiA8ZHJpdmVyY2xhc3NuYW1lPiAgTGUgbm9tIGRlIGNsYXNzZSBkdSBEcml2ZXIgU0FYIDIuMCDgIHV0aWxpc2VyXG5cCgpqc3BjLndlYnhtbC5oZWFkZXI9PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PlxuXApcblwKPCFET0NUWVBFIHdlYi1hcHBcblwKXCAgICBQVUJMSUMgIi0vL1N1biBNaWNyb3N5c3RlbXMsIEluYy4vL0RURCBXZWIgQXBwbGljYXRpb24gMi4zLy9FTiJcblwKXCAgICAiaHR0cDovL2phdmEuc3VuLmNvbS9kdGQvd2ViLWFwcF8yXzMuZHRkIj5cblwKPCEtLVxuXApDcullciBhdXRvbWF0aXF1ZW1lbnQgcGFyIGxlIEpzcEMgVG9tY2F0LlxuXAotLT5cblwKPHdlYi1hcHA+XG5cClxuCmpzcGMud2VieG1sLmZvb3Rlcj1cblwKPC93ZWItYXBwPlxuXApcbgpqc3BjLndlYmluYy5oZWFkZXI9XG5cCjwhLS1cblwKQ3LpZXIgYXV0b21hdGlxdWVtZW50IHBhciBsZSBKc3BDIFRvbWNhdC5cblwKUGxhY2V6IGNlIGZyYWdtZW50IGRhbnMgbGUgZmljaGllciB3ZWIueG1sIGF2YW50IGFsbCBpY29uLCBkaXNwbGF5LW5hbWUsXG5cCmRlc2NyaXB0aW9uLCBkaXN0cmlidXRhYmxlLCBhbmQgY29udGV4dC1wYXJhbSBlbGVtZW50cy5cblwKLS0+XG4KanNwYy53ZWJpbmMuZm9vdGVyPVxuXAo8IS0tXG5cCkFsbCBzZXNzaW9uLWNvbmZpZywgbWltZS1tYXBwaW5nLCB3ZWxjb21lLWZpbGUtbGlzdCwgZXJyb3ItcGFnZSwgdGFnbGliLFxuXApyZXNvdXJjZS1yZWYsIHNlY3VyaXR5LWNvbnN0cmFpbnQsIGxvZ2luLWNvbmZpZywgc2VjdXJpdHktcm9sZSxcblwKZW52LWVudHJ5LCBhbmQgZWpiLXJlZiBlbGVtZW50cyBzaG91bGQgZm9sbG93IHRoaXMgZnJhZ21lbnQuXG5cCi0tPlxuCmpzcGMuZXJyb3IuamFzcGVyRXhjZXB0aW9uPWVycmV1ci1sZSBmaWNoaWVyICcnezB9JycgYSBn6W7pcukgbCcnZXhjZXB0aW9uIGQnJ+l2YWx1YXRpb24gc3VpdmFudGU6IHsxfQpqc3BjLmVycm9yLmdlbmVyYWxFeGNlcHRpb249RVJSRVVSLWxlIGZpY2hpZXIgJyd7MH0nJyBhIGfpbuly6SBsJydleGNlcHRpb24gZ+lu6XJhbGUgc3VpdmFudGU6CmpzcGMuZXJyb3IuZmlsZURvZXNOb3RFeGlzdD1MJydhcmd1bWVudCBmaWNoaWVyICcnezB9JycgbicnZXhpc3RlIHBhcwpqc3BjLmVycm9yLmVtcHR5V2ViQXBwPS13ZWJhcHAgbuljZXNzaXRlIOAgc2Egc3VpdGUgdW4gYXJndW1lbnQgZmljaGllcgpqc3AuZXJyb3IubGlicmFyeS5pbnZhbGlkPUxhIHBhZ2UgSlNQIHBhZ2UgZXN0IGluY29ycmVjdGUgZCcnYXBy6HMgbGEgbGlicmFpcmllIHswfTogezF9CmpzcC5lcnJvci50bHZjbGFzcy5pbnN0YW50aWF0aW9uPUltcG9zc2libGUgZGUgY2hhcmdlciBvdSBkJydpbnN0YW5jaWVyIGxhIGNsYXNzZSBUYWdMaWJyYXJ5VmFsaWRhdG9yOiB7MH0KanNwLmVycm9yLnRsdi5pbnZhbGlkLnBhZ2U9TWVzc2FnZSBkJydlcnJldXJzIGRlIHZhbGlkYXRpb24gcHJvdmVuYW50IGR1IFRhZ0xpYnJhcnlWYWxpZGF0b3IgcG91ciB7MH0KanNwLmVycm9yLnRlaS5pbnZhbGlkLmF0dHJpYnV0ZXM9TWVzc2FnZSBkJydlcnJldXJzIGRlIHZhbGlkYXRpb24gcHJvdmVuYW50IGR1IFRhZ0V4dHJhSW5mbyBwb3VyIHswfQpqc3AucGFyc2VyLnNheC5wcm9wZXJ0eW5vdHN1cHBvcnRlZD1Qcm9wcmnpdOkgU0FYIG5vbiBzdXBwb3J06WU6IHswfQpqc3AucGFyc2VyLnNheC5wcm9wZXJ0eW5vdHJlY29nbml6ZWQ9UHJvcHJp6XTpIFNBWCBub24gcmVjb25udWU6IHswfQpqc3AucGFyc2VyLnNheC5mZWF0dXJlbm90c3VwcG9ydGVkPUZvbmN0aW9ubmFsaXTpIFNBWCBub24gc3VwcG9ydOllOiB7MH0KanNwLnBhcnNlci5zYXguZmVhdHVyZW5vdHJlY29nbml6ZWQ9Rm9uY3Rpb25uYWxpdOkgU0FYIG5vbiByZWNvbm51ZTogezB9CmpzcC5lcnJvci5uby5tb3JlLmNvbnRlbnQ9RmluIGRlIGNvbnRlbnUgYWxvcnMgcXVlIGwnJ+l2YWx1dGlvbiBuJyfpdGFpdCBwYXMgdGVybWlu6WU6IGVycmV1ciBkZSB0YWdzIGltYnJpcXXpcz8KanNwLmVycm9yLnBhcnNlLnhtbD1FcnJldXIgZCcn6XZhbHVhdGlvbiBYTUwgc3VyIGxlIGZpY2hpZXIgezB9CmpzcC5lcnJvci5wYXJzZS54bWwubGluZT1FcnJldXIgZCcn6XZhbHVhdGlvbiBYTUwgc3VyIGxlIGZpY2hpZXIgIHswfTogKGxpZ25lIHsxfSwgY29sIHsyfSkKanNwLmVycm9yLnBhcnNlLnhtbC5zY3JpcHRpbmcuaW52YWxpZC5ib2R5PUxlIGNvcnBzIGRlIGwnJ+ls6W1lbnQgezB9IG5lIGRvaXQgY29udGVuaXIgYXVjdW4g6WzpbWVudHMgWE1MCmpzcC5lcnJvci5pbnRlcm5hbC50bGRpbml0PUV4Y2VwdGlvbiBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gZGUgVGxkTG9jYXRpb25zQ2FjaGU6IHswfQpqc3AuZXJyb3IuaW50ZXJuYWwuZmlsZW5vdGZvdW5kPUVycmV1ciBpbnRlcm5lOiBGaWNoaWVyIHswfSBpbnRyb3V2YWJsZQpqc3AuZXJyb3IuaW50ZXJuYWwuZXZhbHVhdG9yX25vdF9mb3VuZD1FcnJldXIgaW50ZXJuZTogSW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGwnJ+l2YWx1YXRldXIgZCcnZXhwcmVzc2lvbgpqc3AuZXJyb3IucGFyc2UueG1sLmludmFsaWRQdWJsaWNJZD1QVUJMSUMgSUQgaW52YWxpZGU6IHswfQpqc3AuZXJyb3IuaW5jbHVkZS5mbHVzaC5pbnZhbGlkLnZhbHVlPVZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgbCcnYXR0cmlidXQgZmx1c2g6IHswfQpqc3AuZXJyb3IudW5zdXBwb3J0ZWQuZW5jb2Rpbmc9RW5jb2RhZ2Ugbm9uIHN1cHBvcnTpOiB7MH0KanNwLndhcm5pbmcudW5rbm93bi5lbGVtZW50LmluLnZhcmlhYmxlPUF0dGVudGlvbjogRWxlbWVudCBpbmNvbm51IHswfSBkYW5zIGxhIHZhcmlhYmxlCnRsZC5lcnJvci52YXJpYWJsZU5vdEFsbG93ZWQ9Q2VjaSBlc3QgdW5lIGVycmV1ciBwb3VyIGxlIHRhZyBxdWkgcG9zc+hkZSB1bmUgb3UgcGx1c2lldXJzIHZhcmlhYmxlcyBzdWJlbGVtZW50cyBwb3VyIGF2b2lyIHVuZSBjbGFzc2UgVGFnRXh0cmFJbmZvIHF1aSByZXRvdXJuZSB1biBvYmpldCBub24tbnVsLgpqc3AuZXJyb3IudGxkSW5XZWJEb3RYbWxOb3RGb3VuZD1OZSBwZXV0IHRyb3V2ZXIgbGUgVExEIHsxfSBwb3VyIGwnJ1VSSSB7MH0gaW5kaXF16WUgZGFucyBsZSBmaWNoaWVyIHdlYi54bWwKanNwLmVycm9yLnRhZ2xpYkRpcmVjdGl2ZS5hYnNVcmlDYW5ub3RCZVJlc29sdmVkPUwnJ3VyaSBhYnNvbHVlOiB7MH0gbmUgcGV1dCDqdHJlIHLpc29sdSBkYW5zIGxlIGZpY2hpZXIgd2ViLnhtbCBvdSBkYW5zIGxlcyBmaWNoaWVycyBqYXIgZOlwbG956XMgYXZlYyBjZXR0ZSBhcHBsaWNhdGlvbgpqc3AuZXJyb3IudGFnbGliRGlyZWN0aXZlLm1pc3NpbmcubG9jYXRpb249TmkgbCcndXJpJyBuaSBsJydhdHRyaWJ1dCAndGFnZGlyJyBuJydvbnQg6XTpIGluZGlxdelzIGRhbnMgbGEgZGlyZWN0aXZlIHRhZ2xpYgpqc3AuZXJyb3IuaW52YWxpZC50YWdkaXI9TGUgculwZXJ0b2lyZSBkdSBmaWNoaWVyIFRhZyB7MH0gbmUgY29tbWVuY2UgcGFzIHBhciBcIi9XRUItSU5GL3RhZ3NcIgpqc3AuZXJyb3IudW50ZXJtaW5hdGVkLnVzZXIudGFnPVRhZyB1c2VyLWRlZmluZWQgbm9uIHRlcm1pbuk6IExlIHRhZyBkZSBmZXJtZXR1cmUgezB9IGVzdCBpbnRyb3V2YWJsZSBmb3VuZCBvdSBpbmNvcnJlY3RlbWVudCBpbWJyaXF16QojanNweC5lcnJvci50ZW1wbGF0ZURhdGFOb3RJbkpzcENkYXRhPUVycmV1ciBkZSB2YWxpZGF0aW9uOiBsJyfpbOltZW50ICZsdDt7MH0mZ3Q7IG5lIHBldXQgYXZvaXIgZGUgZG9ubullcyB0ZW1wbGF0ZS4gTGVzIGRvbm7pZXMgVGVtcGxhdGUgZG9pdmVudCDqdHJlIGVuY2Fwc3Vs6WVzIOAgbCcnaW506XJpZXVyIGQnJ3VuIOls6W1lbnQgJmx0O2pzcDpjZGF0YSZndDsuIFtKU1AxLjIgUEZEIHNlY3Rpb24gNS4xLjldXG5Eb25u6WUgVGVtcGxhdGUgZW4gZXJyZXVyOiB7MX0KanNweC5lcnJvci50ZW1wbGF0ZURhdGFOb3RJbkpzcENkYXRhPUVycmV1ciBkZSB2YWxpZGF0aW9uOiBsJyfpbOltZW50ICZsdDt7MH0mZ3Q7IG5lIHBldXQgYXZvaXIgZGUgZG9ubullcyB0ZW1wbGF0ZS4gTGVzIGRvbm7pZXMgVGVtcGxhdGUgZG9pdmVudCDqdHJlIGVuY2Fwc3Vs6WVzIOAgbCcnaW506XJpZXVyIGQnJ3VuIOls6W1lbnQgJmx0O2pzcDp0ZXh0Jmd0Oy4gW0pTUDEuMiBQRkQgc2VjdGlvbiA1LjEuOV1cbkRvbm7pZSBUZW1wbGF0ZSBlbiBlcnJldXI6IHsxfQojRXJyZXVyIGxvcnMgZHUgdHJhaXRlbWVudCBkdSBmaWNoaWVyIGphciBkZSBsYSB0YWdsaWIgezB9OiB7MX0KanNwLmVycm9yLnRhZ2xpYi5yZXNlcnZlZC5wcmVmaXg9TGUgcHLpZml4ZSB0YWdsaWIgezB9IGVzdCBy6XNlcnbpCmpzcC5lcnJvci5pbnZhbGlkLmphdmFFbmNvZGluZz1FbmNvZGFnZSBqYXZhIGluY29ycmVjdC4gRXNzYWkgZGUgezB9IHB1aXMgZGUgezF9LiBMZXMgZGV1eCBvbnQg6WNob3XpLgpqc3AuZXJyb3IubmVlZEFsdGVybmF0ZUphdmFFbmNvZGluZz1MJydlbmNvZGFnZSBqYXZhIHBhciBk6WZhdXQgezB9IGVzdCBpbmNvcnJlY3Qgc3VyIHZvdHJlIGVudmlyb25uZW1lbnQgamF2YS4gVW5lIGFsdGVybmF0aXZlIHBldXQg6nRyZSBpbmRpcXXpZSB2aWEgbGUgcGFyYW3qdHJlICdqYXZhRW5jb2RpbmcnIGRlIGxhIEpzcFNlcnZsZXQuCiNFcnJldXIgbG9ycyBkZSBsYSBjb21waWxhdGlvbiwgdXRpbGlz6SBwb3VyIGxhIGxpZ25lIGpzcCBkZXMgbWVzc2FnZXMgZCcnZXJyZXVyCmpzcC5lcnJvci5zaW5nbGUubGluZS5udW1iZXI9VW5lIGVycmV1ciBzJydlc3QgcHJvZHVpdGUg4CBsYSBsaWduZTogezB9IGRhbnMgbGUgZmljaGllciBqc3A6IHsxfQpqc3AuZXJyb3IubXVsdGlwbGUubGluZS5udW1iZXI9XG5cblVuZSBlcnJldXIgcycnZXN0IHByb2R1aXRlIGVudHJlIGxlcyBsaWduZXM6IHswfSBldCB7MX0gZGFucyBsZSBmaWNoaWVyIGpzcDogezJ9XG5cbgpqc3AuZXJyb3IuY29ycmVzcG9uZGluZy5zZXJ2bGV0PUVycmV1ciBkZSBzZXJ2bGV0IGfpbuly6WU6XG4KanNwLmVycm9yLmVtcHR5LmJvZHkubm90LmFsbG93ZWQ9VW4gY29ycHMgdmlkZSBuJ2VzdCBwYXMgYXV0b3Jpc+kgcG91ciB7MH0KanNwLmVycm9yLmpzcGJvZHkucmVxdWlyZWQ9RG9pdCB1dGlsaXNlciBqc3A6Ym9keSBwb3VyIGluZGlxdekgbGUgY29ycHMgZGUgdGFnIGJvZHkgZGUgezB9IHNpIGpzcDphdHRyaWJ1dGUgZXN0IHV0aWxpc+kuCmpzcC5lcnJvci5qc3Bib2R5LmVtcHR5Ym9keS5vbmx5PUxlIHRhZyB7MH0gbmUgcGV1dCBhdm9pciBxdWUganNwOmF0dHJpYnV0ZSBkYW5zIHNvbiBjb3Jwcy4KanNwLmVycm9yLm5vLnNjcmlwdGxldHM9TGVzIOls6W1lbnRzIGRlIFNjcmlwdGluZyAoIDwlISwgPGpzcDpkZWNsYXJhdGlvbiwgPCU9LCA8anNwOmV4cHJlc3Npb24sIDwlLCA8anNwOnNjcmlwdGxldCApIG5lIHNvbnQgcGFzIGF1dG9yaXPpcyBpY2kuCmpzcC5lcnJvci5pbnRlcm5hbC51bmV4cGVjdGVkX25vZGVfdHlwZT1FcnJldXIgSW50ZXJuZTogVHlwZSBkZSBub2RlIGluYXR0ZW5kdSByZW5jb250cukKanNwLmVycm9yLnRsZC5mbi5pbnZhbGlkLnNpZ25hdHVyZT1TeW50aGF4ZSBpbnZhbGlkZSBwb3VyIGxhIHNpZ25hdHVyZSBkZSBmb25jdGlvbiBkYW5zIGxhIFRMRC4gIExpYnJhaXJpZSBkZSBUYWcgOiB7MH0sIEZvbmN0aW9uOiB7MX0KanNwLmVycm9yLnRsZC5mbi5pbnZhbGlkLnNpZ25hdHVyZS5jbGFzc25vdGZvdW5kPVN5bnRoYXhlIGludmFsaWRlIHBvdXIgbGEgc2lnbmF0dXJlIGRlIGZvbmN0aW9uIGRhbnMgbGEgVExELiAgQ2xhc3NlIGludHJvdXZhYmxlOiAkezB9LiAgTGlicmFpcmllIGRlIFRhZzogezF9LCBGb25jdGlvbjogezJ9Lgpqc3AuZXJyb3IudGxkLmZuLmludmFsaWQuc2lnbmF0dXJlLmNvbW1hZXhwZWN0ZWQ9U3ludGhheGUgaW52YWxpZGUgcG91ciBsYSBzaWduYXR1cmUgZGUgZm9uY3Rpb24gZGFucyBsYSBUTEQuICBWaXJndWxlICcsJyBhdHRlbmR1ZS4gIExpYnJhaXJpZSBkZSBUYWc6IHswfSwgRm9uY3Rpb246IHsxfS4KanNwLmVycm9yLnRsZC5mbi5pbnZhbGlkLnNpZ25hdHVyZS5wYXJlbmV4cGVjdGVkPVN5bnRoYXhlIGludmFsaWRlIHBvdXIgbGEgc2lnbmF0dXJlIGRlIGZvbmN0aW9uIGRhbnMgbGEgVExELiAgUGFyZW50aOhzZSAnKCcgYXR0ZW5kdWUuICBMaWJyYWlyaWUgZGUgVGFnOiB7MH0sIEZvbmN0aW9uOiB7MX0uCmpzcC5lcnJvci5keW5hbWljLmF0dHJpYnV0ZXMubm90LmltcGxlbWVudGVkPUxlIHRhZyB7MH0gaW5kaXF1ZSBxdScnaWwgYWNjZXB0ZSBkZXMgYXR0cmlidXRzIGR5bmFtaWNzIG1haXMgbicnaW1wbOltZW50ZSBwYXMgbCcnaW50ZXJmYWNlIHJlcXVpc2UKanNwLmVycm9yLm5vbWF0Y2hpbmcuZnJhZ21lbnQ9TmUgcGV1dCB0cm91dmVyIHVuZSBkaXJlY3RpdmUgYXR0cmlidXQgKGF2ZWMgcG91ciBub209ezB9IGV0IGZyYWdtZW50PXRydWUpIGF2YW50IGxhIGRpcmVjdGl2ZSBmcmFnbWVudC4KanNwLmVycm9yLmF0dHJpYnV0ZS5ub2VxdWFsPVN5bWJvbGUg6WdhbCAoZXF1YWwpIGF0dGVuZHUKanNwLmVycm9yLmF0dHJpYnV0ZS5ub3F1b3RlPVN5bWJvbGUgZ3VpbGxlbWV0IChxdW90ZSkgYXR0ZW5kdQpqc3AuZXJyb3IuYXR0cmlidXRlLnVudGVybWluYXRlZD1MJydhdHRyaWJ1dCBwb3VyIHswfSBuJydlc3QgcGFzIGNvcnJlY3RlbWVudCB0ZXJtaW7pCmpzcC5lcnJvci5taXNzaW5nLnRhZ0luZm89TCcnb2JqZXQgVGFnSW5mbyBkZSB7MH0gZXN0IGFic2VudCBkZSBsYSBUTEQKanNwLmVycm9yLmZyYWdtZW50d2l0aHR5cGU9T24gbmUgcGV1dCBpbmRpcXVlciDgIGxhIGZvaXMgbGVzIGF0dHJpYnV0cyAnZnJhZ21lbnQnIGV0ICd0eXBlJy4gIFNpICdmcmFnbWVudCcgZXN0IHBy6XNlbnQsICd0eXBlJyBlc3QgZml46SBjb21tZSAnamF2YXguc2VydmxldC5qc3AudGFnZXh0LkpzcEZyYWdtZW50Jwpqc3AuZXJyb3IuZnJhZ21lbnR3aXRocnRleHBydmFsdWU9T24gbmUgcGV1dCBpbmRpcXVlciDgIGxhIGZvaXMgbGVzIGF0dHJpYnV0cyAnZnJhZ21lbnQnIGV0ICdydGV4cHJ2YWx1ZScuICBTaSAnZnJhZ21lbnQnIGVzdCBwculzZW50LCAncnRleHBydmFsdWUnIGVzdCBmaXjpIOAgJ3RydWUnCmpzcC5lcnJvci5mcmFnbWVudFdpdGhEZWNsYXJlT3JTY29wZT1MZXMgYXR0cmlidXRzICdmcmFnbWVudCcgZXQgJ2RlY2xhcmUnIG91ICdzY29wZScgc29udCBpbmRpcXXpcyBkYW5zIGxhIGRpcmVjdGl2ZSB2YXJpYWJsZQpqc3AuZXJyb3IudmFyX2FuZF92YXJSZWFkZXI9QSBsYSBmb2lzICd2YXInIGV0ICd2YXJSZWFkZXInIHNvbnQgaW5kaXF16XMKanNwLndhcm5pbmcuYmFkLnVybHBhdHRlcm4ucHJvcGVydHlncm91cD1NYXV2YWlzZSB2YWxldXIgezB9IGRhbnMgbGUgc291cy3pbOltZW50IChzdWJlbGVtZW50KSB1cmwtcGF0dGVybiBkdSBmaWNoaWVyIHdlYi54bWwKanNwLmVycm9yLnVua25vd25fYXR0cmlidXRlX3R5cGU9VHlwZSBkJydhdHRyaWJ1dCBpbmNvbm51ICh7MX0pIHBvdXIgbCcnYXR0cmlidXQgezB9Lgpqc3AuZXJyb3IuanNwZWxlbWVudC5taXNzaW5nLm5hbWU9TCcnYXR0cmlidXQgb2JsaWdhdG9pcmUgJ25hbWUnIGVzdCBhYnNlbnQgZGUganNwOmVsZW1lbnQKanNwLmVycm9yLnhtbG5zLnJlZGVmaW5pdGlvbi5ub3RpbXBsZW1lbnRlZD1FcnJldXIgSW50ZXJuZTogVGVudGF0aXZlIGRlIHJlZOlmaW5pdGlvbiBkZSB4bWxuczp7MH0uICBMYSByZWTpZmluaXRpb24gZGVzIGRvbWFpbmVzIGRlIG5vbXMgKG5hbWVzcGFjZXMpIG4nJ2VzdCBwYXMgaW1wbOltZW506WUuCmpzcC5lcnJvci5jb3VsZC5ub3QuYWRkLnRhZ2xpYnJhcmllcz1JbXBvc3NpYmxlIGQnJ2Fqb3V0ZXIgdW5lIG91IHBsdXNpZXVycyBsaWJyYWlyaWVzIGRlIHRhZy4KanNwLmVycm9yLmR1cGxpY2F0ZS5uYW1lLmpzcGF0dHJpYnV0ZT1MJydhdHRyaWJ1dCB7MH0gaW5kaXF16SBkYW5zIGwnJ2FjdGlvbiBzdGFuZGFyZCBvdSBzcOljaWZpcXVlIChjdXN0b20pIGFwcGFyYWl0IGF1c3NpIGNvbW1lIHZhbGV1ciBkZSBsJydhdHRyaWJ1dCBkZSBub20gZGFucyBsZSBqc3A6YXR0cmlidXRlIGluY2x1cwpqc3AuZXJyb3Iubm90LmluLnRlbXBsYXRlPXswfSBuJydlc3QgcGFzIGF1dG9yaXPpIGRhbnMgbGUgY29ycHMgZGUgdGV4dGUgZGUgdGVtcGxhdGUuCmpzcC5lcnJvci5iYWRTdGFuZGFyZEFjdGlvbj1MJydhY3Rpb24gbicnZXN0IHBhcyByZWNvbm51ZSBjb21tZSB1bmUgYWN0aW9uIHN0YW5kYXJkLgpqc3AuZXJyb3IudGFnZGlyZWN0aXZlLmJhZGJvZHljb250ZW50PUNvbnRlbnUgZGUgY29ycHMgKGJvZHktY29udGVudCkgKHswfSkgaW52YWxpZGUgZGFucyBsYSBkaXJlY3RpdmUgdGFnCmpzcC5lcnJvci5jb25maWdfcGFnZWRpcl9lbmNvZGluZ19taXNtYXRjaD1MJydlbmNvZGUgZGUgcGFnZSAoUGFnZS1lbmNvZGluZykgaW5kaXF16SBkYW5zIGxlIGpzcC1wcm9wZXJ0eS1ncm91cCAoezB9KSBlc3QgZGlmZulyZW50IGRlIGNlbHVpIGluZGlxdekgZGFucyBsYSBkaXJlY3RpdmUgZGUgcGFnZSAoezF9KQpqc3AuZXJyb3IucHJvbG9nX3BhZ2VkaXJfZW5jb2RpbmdfbWlzbWF0Y2g9CmpzcC5lcnJvci5wcm9sb2dfY29uZmlnX2VuY29kaW5nX21pc21hdGNoPQpqc3AuZXJyb3IuYXR0cmlidXRlLmN1c3RvbS5ub25fcnRfd2l0aF9leHByPUQnJ2FwcuhzIGxhIFRMRCwgbCcnYXR0cmlidXQgezB9IG4nJ2FjY2VwdGUgYXVjdW5lIGV4cHJlc3Npb24KanNwLmVycm9yLnNjcmlwdGluZy52YXJpYWJsZS5taXNzaW5nX25hbWU9SW5jYXBhYmxlIGRlIGTpdGVybWluZXIgbGUgbm9tIGRlIHZhcmlhYmxlIHNjcmlwdGluZyBkJydhcHLocyBsJydhdHRyaWJ1dCB7MH0KamFzcGVyLmVycm9yLmVtcHR5Ym9keWNvbnRlbnQubm9uZW1wdHk9RCcnYXBy6HMgbGEgVExELCBsZSB0YWcgezB9IGRvaXQg6nRyZSB2aWRlLCBtYWlzIG5lIGwnJ2VzdCBwYXMKanNwLmVycm9yLnRhZ2ZpbGUubmFtZU5vdFVuaXF1ZT0KanNwLmVycm9yLnRhZ2ZpbGUubmFtZUZyb20ubm9BdHRyaWJ1dGU9CmpzcC5lcnJvci50YWdmaWxlLm5hbWVGcm9tLmJhZEF0dHJpYnV0ZT0KanNwLmVycm9yLnVzZUJlYW4ubm9TZXNzaW9uPUlsIGVzdCBpbGzpZ2FsIHBvdXIgdXNlQmVhbiBkJyd1dGlsaXNlciB1bmUgcG9ydOllIGRlIHNlc3Npb24gKHNlc3Npb24gc2NvcGUpIHF1YW5kIGxhIHBhZ2UgSlNQIGluZGlxdWUgKHZpYSBsYSBkaXJlY3RpdmUgZGUgcGFnZSkgcXUnJ2VsbGUgbmUgcGFydGljaXBlIHBhcyBhdXggc2Vzc2lvbnMKanNwLmVycm9yLmF0dHJpYnV0ZXMubm90LmFsbG93ZWQgPSB7MH0gbmUgZG9pdCBhdm9pciBhdWN1biBhdHRyaWJ1dApqc3AuZXJyb3IubmVzdGVkLmpzcGF0dHJpYnV0ZT0KanNwLmVycm9yLm5lc3RlZC5qc3Bib2R5PQpqc3AuZXJyb3IudmFyaWFibGUuZWl0aGVyLm5hbWU9CmpzcC5lcnJvci52YXJpYWJsZS5ib3RoLm5hbWU9CmpzcC5lcnJvci52YXJpYWJsZS5hbGlhcz0KanNwLmVycm9yLmpzcHRleHQuYmFkY29udGVudD0KanNwLmVycm9yLnByZWZpeC5yZWZpbmVkPQpqc3AuZXJyb3IuanNwb3V0cHV0LmNvbmZsaWN0PQpqc3AuZXJyb3IuanNwb3V0cHV0LmRvY3R5cGVuYW1lc3lzdGVtPQpqc3AuZXJyb3IuanNwb3V0cHV0LmRvY3R5cGVwdWxpY3N5c3RlbT0KanNwLmVycm9yLmpzcG91dHB1dC5ub25lbXB0eWJvZHk9CmpzcC5lcnJvci5qc3BvdXRwdXQuaW52YWxpZFVzZT0KanNwLmVycm9yLmludmFsaWQuYmVhbj0K