# HG changeset patch # User tduigou # Date 1747663788 0 # Node ID 254d284a5be9e2809e275e8c2d94e66dad44cf3f # Parent 044d36066cb32779bcde16d82a5468b990b49ab2 planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae diff -r 044d36066cb3 -r 254d284a5be9 cloning_similation.xml --- a/cloning_similation.xml Fri May 16 12:40:59 2025 +0000 +++ b/cloning_similation.xml Mon May 19 14:09:48 2025 +0000 @@ -25,10 +25,11 @@ #set file_name_mapping_dom = "" #end if mkdir 'outdir_zip' && mkdir 'outdir_gb' && + cp '$assembly_csv' 'assembly_csv.csv' python '$__tool_directory__/cloning_simulation.py' --parts_files '$genbank_file_paths' --domesticated_seq '$domesticated_input_paths' - --assembly_csv '$assembly_csv' + --assembly_csv 'assembly_csv.csv' --assembly_plan_name '$assembly_plan_name' --file_name_mapping '$file_name_mapping' --file_name_mapping_dom '$file_name_mapping_dom' diff -r 044d36066cb3 -r 254d284a5be9 output.html --- a/output.html Fri May 16 12:40:59 2025 +0000 +++ b/output.html Mon May 19 14:09:48 2025 +0000 @@ -285,7 +285,7 @@ var md = window.markdownit({ html: true, }); - target.innerHTML = md.render(atob('IyMgVGVzdCBTdW1tYXJ5Cgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyI+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1zdWNjZXNzIiBzdHlsZT0id2lkdGg6IDEwMC4wJSIgYXJpYS12YWx1ZW5vdz0iNiIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iNiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIHRpdGxlPSI2IFBhc3NlZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci13YXJuaW5nIiBzdHlsZT0id2lkdGg6IDAuMCUiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjYiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiB0aXRsZT0iMCBTa2lwcGVkIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgcHJvZ3Jlc3MtYmFyLWRhbmdlciIgc3R5bGU9IndpZHRoOiAwLjAlIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSI2IiB0aXRsZT0iMCBGYWlsZWQgb3IgRXJyb3JlZCI+CiAgPC9kaXY+CjwvZGl2PgoKfCBUZXN0IFN0YXRlIHwgQ291bnQgfAp8IC0tLS0tLS0tLS0gfCAtLS0tLSB8CnwgVG90YWwgICAgICB8IDYgfAp8IFBhc3NlZCAgICAgfCA2IHwKfCBFcnJvciAgICAgIHwgMCB8CnwgRmFpbHVyZSAgICB8IDAgfAp8IFNraXBwZWQgICAgfCAwIHwKCgo8ZGV0YWlscyA+PHN1bW1hcnk+UGFzc2VkIFRlc3RzPC9zdW1tYXJ5PgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAxKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9lL2IvNC9kYXRhc2V0X2ViNDBlZTVlLTUxNTUtNDMwMy05MjMwLTk0OTI2YzYzZGFhZi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvOS9kYXRhc2V0XzRhOWExMzM1LWM1MjgtNDM4ZC1iODBhLTYyYjk2MDhkYmFkZS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy83L2MvYS9kYXRhc2V0XzdjYWE0ZjZhLWE3MzQtNDYxZi1hYzM4LWM5NTQ0MjYzMmM1YS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy85LzMvMS9kYXRhc2V0XzkzMTI3ZGI4LTI0MDktNDU0NC05M2U1LTYyNDNhNmQyNTNlZi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9lLzIvOS9kYXRhc2V0X2UyOTI5MTllLTBhOWEtNDAzYS1hYTZiLTMwYWE1NTI4ODFiZC5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvNy9kYXRhc2V0XzRhN2MxZTZiLWY0NzAtNDE0ZS1iNTMzLTczOTBmNzRhNjRmYy5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy83L2YvMy9kYXRhc2V0XzdmM2RmOTA0LTBiYzUtNDU2YS04Njc5LWNjNThkMDZlMjE0ZS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hLzYvMC9kYXRhc2V0X2E2MDU3MzhjLTliNmQtNDRjNi04OTFlLTAxY2I3MjllYTRkYy5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzAvYy9kYXRhc2V0XzEwYzM1NDA1LWFmMjUtNDFkMy05ZGJkLWE0MTFiNGI2NWI5OC5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzgvNC9kYXRhc2V0XzE4NGQ5OTA0LTM3MDUtNDI0ZS1iM2Y3LWU1YjdiNzczODgwZi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvMS9kYXRhc2V0XzRhMTBkMzkyLTZlYmMtNDEzYy1iZDcxLWRiNDI1YWExYWEwYS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy84LzMvNS9kYXRhc2V0XzgzNTg3OGM2LTg0ZjEtNDY1Yy1iMzRlLWQxNzc4ODVlNTY3ZC5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hLzUvMi9kYXRhc2V0X2E1MjI5NzJhLWM5OTQtNGVjMC1hMTMwLWUzZTFlMTAxZDEyNi5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2UvYi80L2RhdGFzZXRfZWI0MGVlNWUtNTE1NS00MzAzLTkyMzAtOTQ5MjZjNjNkYWFmLmRhdDpwYXJ0X0EuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvOS9kYXRhc2V0XzRhOWExMzM1LWM1MjgtNDM4ZC1iODBhLTYyYjk2MDhkYmFkZS5kYXQ6cGFydF9CLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvNy9jL2EvZGF0YXNldF83Y2FhNGY2YS1hNzM0LTQ2MWYtYWMzOC1jOTU0NDI2MzJjNWEuZGF0OnBhcnRfQy5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzkvMy8xL2RhdGFzZXRfOTMxMjdkYjgtMjQwOS00NTQ0LTkzZTUtNjI0M2E2ZDI1M2VmLmRhdDpwYXJ0X0QuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9lLzIvOS9kYXRhc2V0X2UyOTI5MTllLTBhOWEtNDAzYS1hYTZiLTMwYWE1NTI4ODFiZC5kYXQ6cGFydF9FLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvNC9hLzcvZGF0YXNldF80YTdjMWU2Yi1mNDcwLTQxNGUtYjUzMy03MzkwZjc0YTY0ZmMuZGF0OnBhcnRfRi5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvZi8zL2RhdGFzZXRfN2YzZGY5MDQtMGJjNS00NTZhLTg2NzktY2M1OGQwNmUyMTRlLmRhdDpwYXJ0X0cuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hLzYvMC9kYXRhc2V0X2E2MDU3MzhjLTliNmQtNDRjNi04OTFlLTAxY2I3MjllYTRkYy5kYXQ6cGFydF9ILmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMS8wL2MvZGF0YXNldF8xMGMzNTQwNS1hZjI1LTQxZDMtOWRiZC1hNDExYjRiNjViOTguZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzEvOC80L2RhdGFzZXRfMTg0ZDk5MDQtMzcwNS00MjRlLWIzZjctZTViN2I3NzM4ODBmLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvMS9kYXRhc2V0XzRhMTBkMzkyLTZlYmMtNDEzYy1iZDcxLWRiNDI1YWExYWEwYS5kYXQ6cGFydF9LLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvOC8zLzUvZGF0YXNldF84MzU4NzhjNi04NGYxLTQ2NWMtYjM0ZS1kMTc3ODg1ZTU2N2QuZGF0OnBhcnRfTC5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGgwcjg3c2txL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMTQvb3V0cHV0cy9kYXRhc2V0XzEwOWQyYWMxLTcxNmUtNGM0Ny1hMmI5LTI1ZTlkNjhjZDliNy5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuNDFpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjI1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuODJpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDIpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2YvMi9lL2RhdGFzZXRfZjJlODQwNmMtZmRiNy00YjMwLWFhNzQtMjAyYjkzMjkyYTI2LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzUvNy85L2RhdGFzZXRfNTc5YjEzZTYtZjE0ZC00MDFjLTg4ZWUtYjI1ZWQzYmY0MmRjLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0dpYnNvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2YvMi9lL2RhdGFzZXRfZjJlODQwNmMtZmRiNy00YjMwLWFhNzQtMjAyYjkzMjkyYTI2LmRhdDpnaWJzb25fc2VxdWVuY2VzLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1waDByODdza3Evam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8xNy9vdXRwdXRzL2RhdGFzZXRfMzZlMDQ1N2YtMWRhOC00NTZhLTg2YzktMjBlYTI0MjY4OGJjLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNDAlfOKWiOKWiOKWiOKWiCAgICAgIHwgMi81IFswMDowMDwwMDowMCwgIDQuNzFpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MCV84paI4paI4paI4paI4paI4paIICAgIHwgMy81IFswMDowMDwwMDowMCwgIDQuNzlpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA4MCV84paI4paI4paI4paI4paI4paI4paI4paIICB8IDQvNSBbMDA6MDA8MDA6MDAsICA0LjYwaXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNS81IFswMDowMTwwMDowMCwgIDMuNzBpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAyLCAndmFsaWRfYXNzZW1ibGllcyc6IDN9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDMsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiR2lic29uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcGgwcjg3c2txL2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAzKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzUvNy9kYXRhc2V0XzE1NzQxNjgwLTk5NjMtNGIzZC05NzllLTc5MmJlMzcyNTZmMi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9kLzMvZC9kYXRhc2V0X2QzZGU3NmIzLTM3OTMtNDZmYS05OTBlLTk3MGUxYmNiMmE3Mi5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy8yLzAvZS9kYXRhc2V0XzIwZWI4OGIxLTBmYzUtNDc2Yi1hNDA5LWRhN2Y1OTg3ODBiNi5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzUvNy9kYXRhc2V0XzE1NzQxNjgwLTk5NjMtNGIzZC05NzllLTc5MmJlMzcyNTZmMi5kYXQ6UkZQX0dGUF9wbGFzbWlkX0JPcy5mYSwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2QvMy9kL2RhdGFzZXRfZDNkZTc2YjMtMzc5My00NmZhLTk5MGUtOTcwZTFiY2IyYTcyLmRhdDpSRlBfR0ZQX3BsYXNtaWRfcGFydHMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBoMHI4N3NrcS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzIxL291dHB1dHMvZGF0YXNldF8wZmZkZGEyNC1iODBmLTRkYjUtOGMxMC0xNDY3ZDM0ZWIzYTguZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAyLzIgWzAwOjAwPDAwOjAwLCAgMi40Mml0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDQpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzQvZi8wL2RhdGFzZXRfNGYwZDQyNTgtMmY1MC00YTRlLTkyNzEtNThlOGMyNzI4NTZlLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzIvNy9mL2RhdGFzZXRfMjdmNjdjN2EtNWUzOC00MTAzLWEwMGItYTlkODIzNGI2Njg2LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzQvZS84L2RhdGFzZXRfNGU4ODBhZmEtM2YzNy00M2E0LTk4MmUtMzZkNzUwYWFiM2QzLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzMvNy80L2RhdGFzZXRfMzc0NmJjYzYtZWUwYy00OTM2LTgzMmYtY2UyOWY4MDg0MzBkLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvOC84L2RhdGFzZXRfNzg4ZWJkN2ItNjI0Ny00Zjk2LWEzZDMtM2MzMzA2YzIxMGEwLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2UvOS83L2RhdGFzZXRfZTk3MWE2Y2YtYjEzZS00YTY1LWE3OGQtYWEyMmEwZWExZmZmLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0JBU0lDQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1waDByODdza3EvZmlsZXMvNC9mLzAvZGF0YXNldF80ZjBkNDI1OC0yZjUwLTRhNGUtOTI3MS01OGU4YzI3Mjg1NmUuZGF0OkdGUC5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzIvNy9mL2RhdGFzZXRfMjdmNjdjN2EtNWUzOC00MTAzLWEwMGItYTlkODIzNGI2Njg2LmRhdDpwMTVBX2thbi5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzQvZS84L2RhdGFzZXRfNGU4ODBhZmEtM2YzNy00M2E0LTk4MmUtMzZkNzUwYWFiM2QzLmRhdDpwcm9tb3Rlci5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzMvNy80L2RhdGFzZXRfMzc0NmJjYzYtZWUwYy00OTM2LTgzMmYtY2UyOWY4MDg0MzBkLmRhdDpSRlAuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy83LzgvOC9kYXRhc2V0Xzc4OGViZDdiLTYyNDctNGY5Ni1hM2QzLTNjMzMwNmMyMTBhMC5kYXQ6b2xpZ29zLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1waDByODdza3Evam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8yOC9vdXRwdXRzL2RhdGFzZXRfNWUwZmFhNTEtMTQxYy00OWQxLWJhODQtY2E4YWJhMjc1MDhjLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8xMCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzggWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MiV84paI4paI4paI4paI4paI4paI4paOICAgfCA1LzggWzAwOjAwPDAwOjAwLCA0OS43MGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMiwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDgsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNywgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJCQVNJQ0Fzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBoMHI4N3NrcS9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LWdyZWVuIj48c3VtbWFyeSBjbGFzcz0ibGlnaHQtZ3JlZW4iPiYjOTk4OTsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgNSk8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBta2RpciAnb3V0ZGlyX3ppcCcgJiYgbWtkaXIgJ291dGRpcl9nYicgJiYgcHl0aG9uICcvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHknIC0tcGFydHNfZmlsZXMgJy90bXAvdG1waDByODdza3EvZmlsZXMvNy83LzMvZGF0YXNldF83NzNiZTQyOC0yZDMwLTRiOTUtOTg5NC1kMzc1ODYzNGEzZDAuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvYi9hL2MvZGF0YXNldF9iYWM2NzNmNS0wNzRjLTQ4MTAtOTk0OS01OWQzYjIyOGQ4M2MuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvZS81L2IvZGF0YXNldF9lNWI4ZGZkMC02ZTgxLTQ3ZTQtYjg5OS0wODk3NmQwYTE3MjQuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvMS81LzgvZGF0YXNldF8xNThjYmViYi02OWZjLTQzMzMtYjc4My1lOTE3MWI1MzI0ZDYuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvYS81L2IvZGF0YXNldF9hNWI2YWU4Yi0xMDY4LTQxNmYtYjBhYy0xYzQ0ZTI5OWNiODcuZGF0JyAtLWRvbWVzdGljYXRlZF9zZXEgJycgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1waDByODdza3EvZmlsZXMvNC9lL2QvZGF0YXNldF80ZWQ2MDUwMy0zYjlmLTQyMDQtYThlOS0wYjk2Zjc2YjFlNDkuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnQmlvQnJpY2tTdGFuZGFyZEFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvNy8zL2RhdGFzZXRfNzczYmU0MjgtMmQzMC00Yjk1LTk4OTQtZDM3NTg2MzRhM2QwLmRhdDpCQmFfRTAwNDBfR0ZQLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvYi9hL2MvZGF0YXNldF9iYWM2NzNmNS0wNzRjLTQ4MTAtOTk0OS01OWQzYjIyOGQ4M2MuZGF0OkJCYV9KMjMxMTlfcHJvbS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2UvNS9iL2RhdGFzZXRfZTViOGRmZDAtNmU4MS00N2U0LWI4OTktMDg5NzZkMGExNzI0LmRhdDpCQmFfSjIzMTE5X3Byb21fZmxhd2VkLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMS81LzgvZGF0YXNldF8xNThjYmViYi02OWZjLTQzMzMtYjc4My1lOTE3MWI1MzI0ZDYuZGF0OkJCYV9KNjEwNDhfdGVybS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvNS9iL2RhdGFzZXRfYTViNmFlOGItMTA2OC00MTZmLWIwYWMtMWM0NGUyOTljYjg3LmRhdDpCQmFfSzYxMTA5NF9iYXIuZ2InIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBoMHI4N3NrcS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzM1L291dHB1dHMvZGF0YXNldF81Nzc2Y2NkNy01ZGNhLTRmMjEtYjI4OC05YzE1YTBiOWNkY2EuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2NyV84paI4paI4paI4paI4paI4paI4paLICAgfCAyLzMgWzAwOjAxPDAwOjAwLCAgMS45NGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogMTAwJXzilojilojilojilojilojilojilojilojilojiloh8IDMvMyBbMDA6MDE8MDA6MDAsICAxLjU4aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBPdXRwdXQ6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgU2ltdWxhdGluZyBhc3NlbWJseSBwbGFuIGFzc2FtYmx5Li4uCiAgICAgIHsnY2FuY2VsbGVkX2Fzc2VtYmxpZXMnOiAwLCAnZXJyb3JlZF9hc3NlbWJsaWVzJzogMCwgJ3ZhbGlkX2Fzc2VtYmxpZXMnOiAzfQogICAgICBHZW5lcmF0aW5nIGFzc2VtYmxpZXMgcmVwb3J0cy4uLgoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiA5LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCBOb25lIGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIkJpb0JyaWNrU3RhbmRhcmRBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDYpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvYy9kL2RhdGFzZXRfYmNkMzExYWEtNjlkYi00ZjJhLTlkMDQtOTBmMzRjZDc4YTZmLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzAvNC85L2RhdGFzZXRfMDQ5OTMxYmEtNjAwYS00NmQ2LWE3M2UtYWY2YmQzZjU0NWUzLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzgvNi8wL2RhdGFzZXRfODYwZTkzNGYtMzFmNi00YWM2LTllYWMtZmQzYWJmMDMxYjA4LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvYS82L2RhdGFzZXRfYWE2ZWNkOGEtMTBiOC00MTZhLTk1ZWMtYmZiZTFmYTgxZDIxLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzMvZC85L2RhdGFzZXRfM2Q5N2UzMzctNzM4OC00ZmFiLWE2YzMtN2NiOTlmMzcxZjg0LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvNC81L2RhdGFzZXRfYjQ1MDMxZjgtNzFkYS00MzY1LTk1NjAtYjgyN2FhMWQ2Nzk0LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzkvZS8yL2RhdGFzZXRfOWUyMTQ1NWMtYjEyNC00YzAxLTg1MjQtOTQ5ZmYxNmI1NzBlLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvZi9lL2RhdGFzZXRfYWZlNDEyNmMtOWNjMC00NWVjLWE3ZDQtMzc4MTZjYjIxMzJkLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2YvYS84L2RhdGFzZXRfZmE4YTdlOWEtZmE0MC00ZTlmLWE1MDgtMjYxZmQ4NDQxMjkyLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvZC9kL2RhdGFzZXRfN2RkYjQ0YTctZGE2ZC00MjE1LThkMTEtMWJhMDFjNGY2NTE2LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvZi9mL2RhdGFzZXRfYmZmNThhMWItZTY5ZS00Y2I0LWIzNDQtNzliYTg4MDBhYzAzLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvZi84L2RhdGFzZXRfYWY4MDY2OTEtNzAyMi00YmYyLWE0MmItNzQzNzA0MmNlZTM3LmRhdCcgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1waDByODdza3EvZmlsZXMvYy82LzUvZGF0YXNldF9jNjUyYmVmMS1mMDczLTQzMWMtOWU1Yi05NTZhNThlODVkMjIuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9iL2MvZC9kYXRhc2V0X2JjZDMxMWFhLTY5ZGItNGYyYS05ZDA0LTkwZjM0Y2Q3OGE2Zi5kYXQ6cGFydF9BLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMC80LzkvZGF0YXNldF8wNDk5MzFiYS02MDBhLTQ2ZDYtYTczZS1hZjZiZDNmNTQ1ZTMuZGF0OnBhcnRfQi5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzgvNi8wL2RhdGFzZXRfODYwZTkzNGYtMzFmNi00YWM2LTllYWMtZmQzYWJmMDMxYjA4LmRhdDpwYXJ0X0MuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hL2EvNi9kYXRhc2V0X2FhNmVjZDhhLTEwYjgtNDE2YS05NWVjLWJmYmUxZmE4MWQyMS5kYXQ6cGFydF9ELmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMy9kLzkvZGF0YXNldF8zZDk3ZTMzNy03Mzg4LTRmYWItYTZjMy03Y2I5OWYzNzFmODQuZGF0OnBhcnRfRS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvNC81L2RhdGFzZXRfYjQ1MDMxZjgtNzFkYS00MzY1LTk1NjAtYjgyN2FhMWQ2Nzk0LmRhdDpwYXJ0X0YuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy85L2UvMi9kYXRhc2V0XzllMjE0NTVjLWIxMjQtNGMwMS04NTI0LTk0OWZmMTZiNTcwZS5kYXQ6cGFydF9HLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hL2YvZS9kYXRhc2V0X2FmZTQxMjZjLTljYzAtNDVlYy1hN2Q0LTM3ODE2Y2IyMTMyZC5kYXQ6cGFydF9ILmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvZi9hLzgvZGF0YXNldF9mYThhN2U5YS1mYTQwLTRlOWYtYTUwOC0yNjFmZDg0NDEyOTIuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvZC9kL2RhdGFzZXRfN2RkYjQ0YTctZGE2ZC00MjE1LThkMTEtMWJhMDFjNGY2NTE2LmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9iL2YvZi9kYXRhc2V0X2JmZjU4YTFiLWU2OWUtNGNiNC1iMzQ0LTc5YmE4ODAwYWMwMy5kYXQ6cGFydF9LLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvYS9mLzgvZGF0YXNldF9hZjgwNjY5MS03MDIyLTRiZjItYTQyYi03NDM3MDQyY2VlMzcuZGF0OnBhcnRfTC5nYicgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGgwcjg3c2txL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvNDkvb3V0cHV0cy9kYXRhc2V0X2E4ODM3MGFhLTRkMzYtNDg2Ny1iMGQ2LTYxM2NjNTllZDAxYS5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuNDZpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjI1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuODRpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEyLCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCB7InZhbHVlcyI6IFt7ImlkIjogMTEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgo8L2RldGFpbHM+Cg==')); + target.innerHTML = md.render(atob('IyMgVGVzdCBTdW1tYXJ5Cgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyI+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1zdWNjZXNzIiBzdHlsZT0id2lkdGg6IDEwMC4wJSIgYXJpYS12YWx1ZW5vdz0iNiIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iNiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIHRpdGxlPSI2IFBhc3NlZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci13YXJuaW5nIiBzdHlsZT0id2lkdGg6IDAuMCUiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjYiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiB0aXRsZT0iMCBTa2lwcGVkIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgcHJvZ3Jlc3MtYmFyLWRhbmdlciIgc3R5bGU9IndpZHRoOiAwLjAlIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSI2IiB0aXRsZT0iMCBGYWlsZWQgb3IgRXJyb3JlZCI+CiAgPC9kaXY+CjwvZGl2PgoKfCBUZXN0IFN0YXRlIHwgQ291bnQgfAp8IC0tLS0tLS0tLS0gfCAtLS0tLSB8CnwgVG90YWwgICAgICB8IDYgfAp8IFBhc3NlZCAgICAgfCA2IHwKfCBFcnJvciAgICAgIHwgMCB8CnwgRmFpbHVyZSAgICB8IDAgfAp8IFNraXBwZWQgICAgfCAwIHwKCgo8ZGV0YWlscyA+PHN1bW1hcnk+UGFzc2VkIFRlc3RzPC9zdW1tYXJ5PgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAxKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBheTB0bWU0di9maWxlcy80L2IvMy9kYXRhc2V0XzRiMzJjNmE4LWIzOWQtNGY1Zi05MTU1LTMwN2UxNDJkOTE5My5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy84L2UvZi9kYXRhc2V0XzhlZjE4MWRkLTVjM2EtNDBlYi05OTI2LTM3MzhlMWFlNGJlMS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9iL2EvYi9kYXRhc2V0X2JhYmJhMjAwLTJhZmQtNDM0Zi04Nzk3LTliMTBjYzczNmJhNy5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9iLzcvYy9kYXRhc2V0X2I3YzVhODhjLTA1YWUtNGVmZC05ODg3LTQ3YTg5OTc0OTE3OC5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy83L2YvZS9kYXRhc2V0XzdmZWE0ZWNmLWJlNTYtNDIzZC04YTExLWQ2NDkxMDc3ZTIzMy5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzEvZi9kYXRhc2V0X2UxZjlhYjllLWM5ZTAtNGFjZC1hYzYzLWU0Mjk5YzM3OTJmZS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9mLzAvZi9kYXRhc2V0X2YwZmUwNDZjLTYxMzItNGJiOS1iNWRjLTUyMWVkZWFkMzJmMi5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9lL2UvYy9kYXRhc2V0X2VlYzE5N2U3LWQ4ZmEtNGM0NS1iNWNiLTg5ZTUxZWUxZGIwZS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy8zLzIvMS9kYXRhc2V0XzMyMTI0ZjQwLWVkOWItNGQyNS1iNzRmLWE0ZmY0NDU4MTk2Mi5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzEvMi9kYXRhc2V0X2UxMjZmZTA1LWQ3N2MtNGIzMy05NzgyLWU1YjFlN2U2YzdhZC5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy8yLzMvNC9kYXRhc2V0XzIzNGY5ODU1LTgxM2UtNDI5Ny1iYmQ0LWQxMzI3ZmIwY2JhZC5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy82L2IvMi9kYXRhc2V0XzZiMjNlMTI3LWU0YTItNDFiNi05OGYzLTRmOGY3MjE0YjIwOS5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBheTB0bWU0di9maWxlcy8xLzQvNi9kYXRhc2V0XzE0NjQ1ZTkwLTkxMDUtNDhhZi1hMDcxLTZlYTA1MmZkNGFhZC5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzQvYi8zL2RhdGFzZXRfNGIzMmM2YTgtYjM5ZC00ZjVmLTkxNTUtMzA3ZTE0MmQ5MTkzLmRhdDpwYXJ0X0EuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy84L2UvZi9kYXRhc2V0XzhlZjE4MWRkLTVjM2EtNDBlYi05OTI2LTM3MzhlMWFlNGJlMS5kYXQ6cGFydF9CLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvYi9hL2IvZGF0YXNldF9iYWJiYTIwMC0yYWZkLTQzNGYtODc5Ny05YjEwY2M3MzZiYTcuZGF0OnBhcnRfQy5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2IvNy9jL2RhdGFzZXRfYjdjNWE4OGMtMDVhZS00ZWZkLTk4ODctNDdhODk5NzQ5MTc4LmRhdDpwYXJ0X0QuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy83L2YvZS9kYXRhc2V0XzdmZWE0ZWNmLWJlNTYtNDIzZC04YTExLWQ2NDkxMDc3ZTIzMy5kYXQ6cGFydF9FLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvZS8xL2YvZGF0YXNldF9lMWY5YWI5ZS1jOWUwLTRhY2QtYWM2My1lNDI5OWMzNzkyZmUuZGF0OnBhcnRfRi5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2YvMC9mL2RhdGFzZXRfZjBmZTA0NmMtNjEzMi00YmI5LWI1ZGMtNTIxZWRlYWQzMmYyLmRhdDpwYXJ0X0cuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy9lL2UvYy9kYXRhc2V0X2VlYzE5N2U3LWQ4ZmEtNGM0NS1iNWNiLTg5ZTUxZWUxZGIwZS5kYXQ6cGFydF9ILmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvMy8yLzEvZGF0YXNldF8zMjEyNGY0MC1lZDliLTRkMjUtYjc0Zi1hNGZmNDQ1ODE5NjIuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2UvMS8yL2RhdGFzZXRfZTEyNmZlMDUtZDc3Yy00YjMzLTk3ODItZTViMWU3ZTZjN2FkLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy8yLzMvNC9kYXRhc2V0XzIzNGY5ODU1LTgxM2UtNDI5Ny1iYmQ0LWQxMzI3ZmIwY2JhZC5kYXQ6cGFydF9LLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9iLzIvZGF0YXNldF82YjIzZTEyNy1lNGEyLTQxYjYtOThmMy00ZjhmNzIxNGIyMDkuZGF0OnBhcnRfTC5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGF5MHRtZTR2L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMTQvb3V0cHV0cy9kYXRhc2V0X2YzMGQ5MDZkLTJlYTQtNGNkZS1iNDUxLWI3YzZkYWYyNWEyOS5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuMTRpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjE1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuNzdpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDIpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvNi85L2RhdGFzZXRfMDY5ZjkxMzctNzA1Yi00ZTE3LWI5MzEtMWViZDU0N2E3ZmU0LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzMvZC8xL2RhdGFzZXRfM2QxYTkxZWUtZDliYS00MWZjLWJkNzktZjAxMmFlNjU0MjUwLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0dpYnNvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvNi85L2RhdGFzZXRfMDY5ZjkxMzctNzA1Yi00ZTE3LWI5MzEtMWViZDU0N2E3ZmU0LmRhdDpnaWJzb25fc2VxdWVuY2VzLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wYXkwdG1lNHYvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8xNy9vdXRwdXRzL2RhdGFzZXRfMzMyN2UyODItZDIxOS00M2UzLTk0ZDctODhmZDA4YWE2ODY3LmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNDAlfOKWiOKWiOKWiOKWiCAgICAgIHwgMi81IFswMDowMDwwMDowMCwgIDQuMjBpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MCV84paI4paI4paI4paI4paI4paIICAgIHwgMy81IFswMDowMDwwMDowMCwgIDQuMTJpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA4MCV84paI4paI4paI4paI4paI4paI4paI4paIICB8IDQvNSBbMDA6MDA8MDA6MDAsICA0LjM0aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNS81IFswMDowMTwwMDowMCwgIDMuNjJpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAyLCAndmFsaWRfYXNzZW1ibGllcyc6IDN9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDMsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiR2lic29uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcGF5MHRtZTR2L2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAzKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzAvZi9kYXRhc2V0X2UwZjgyOTZlLTA5NGQtNDk3MS05NzZiLTZlNTM0MTQ4ZDFkNS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy82LzAvOC9kYXRhc2V0XzYwODcyMmQ1LWVhZDUtNDlmYi04NzM2LTA0ZmE3YWIwMjdmMy5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBheTB0bWU0di9maWxlcy8xL2QvOS9kYXRhc2V0XzFkOWVkMjY4LWJjMjUtNDBjMC1hNjdmLTQzOWFjY2FlN2U0MC5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzAvZi9kYXRhc2V0X2UwZjgyOTZlLTA5NGQtNDk3MS05NzZiLTZlNTM0MTQ4ZDFkNS5kYXQ6UkZQX0dGUF9wbGFzbWlkX0JPcy5mYSwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvMC84L2RhdGFzZXRfNjA4NzIyZDUtZWFkNS00OWZiLTg3MzYtMDRmYTdhYjAyN2YzLmRhdDpSRlBfR0ZQX3BsYXNtaWRfcGFydHMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBheTB0bWU0di9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzIxL291dHB1dHMvZGF0YXNldF9iMWFmNzE5Mi1hMjZmLTRlNmEtYmEyMi05YWVmZmFjMmVhNDYuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAyLzIgWzAwOjAwPDAwOjAwLCAgMi4wNWl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDQpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzUvMC85L2RhdGFzZXRfNTA5ZmE4N2QtNGFmOS00NmY3LWIzMjMtNDhmODEyODY3NWM4LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvMi9iL2RhdGFzZXRfMDJiOGI2ZjItNDNhYi00ODg1LWE5ZGUtMzM2ZDkwM2VkYzU1LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvNS9hL2RhdGFzZXRfOTVhYTVhMTYtOWI2MS00NWJlLTk0ZTYtMzUyODQ1MzFmY2Q3LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzEvNy9jL2RhdGFzZXRfMTdjOTRmZTYtZTBjZS00YzcyLTlhZGMtNWY4MTMyYTZkZjgxLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2QvYi82L2RhdGFzZXRfZGI2YmI4YmEtNDY4Mi00NzZlLWE2ODgtYmU5ZTVjZmIwYWZkLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzMvNC80L2RhdGFzZXRfMzQ0ZWYzODAtZTlkMy00NzI5LWJjNmUtNDVhMDAzMDAwNjEzLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0JBU0lDQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNS8wLzkvZGF0YXNldF81MDlmYTg3ZC00YWY5LTQ2ZjctYjMyMy00OGY4MTI4Njc1YzguZGF0OkdGUC5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvMi9iL2RhdGFzZXRfMDJiOGI2ZjItNDNhYi00ODg1LWE5ZGUtMzM2ZDkwM2VkYzU1LmRhdDpwMTVBX2thbi5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvNS9hL2RhdGFzZXRfOTVhYTVhMTYtOWI2MS00NWJlLTk0ZTYtMzUyODQ1MzFmY2Q3LmRhdDpwcm9tb3Rlci5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzEvNy9jL2RhdGFzZXRfMTdjOTRmZTYtZTBjZS00YzcyLTlhZGMtNWY4MTMyYTZkZjgxLmRhdDpSRlAuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy9kL2IvNi9kYXRhc2V0X2RiNmJiOGJhLTQ2ODItNDc2ZS1hNjg4LWJlOWU1Y2ZiMGFmZC5kYXQ6b2xpZ29zLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wYXkwdG1lNHYvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8yOC9vdXRwdXRzL2RhdGFzZXRfY2RiNjFjYmMtYzljNS00NWZjLTlmYzgtZTAwYzFmM2Q0ZjBmLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8xMCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzggWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MiV84paI4paI4paI4paI4paI4paI4paOICAgfCA1LzggWzAwOjAwPDAwOjAwLCA0NC45MGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMiwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDgsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNywgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJCQVNJQ0Fzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBheTB0bWU0di9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LWdyZWVuIj48c3VtbWFyeSBjbGFzcz0ibGlnaHQtZ3JlZW4iPiYjOTk4OTsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgNSk8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBta2RpciAnb3V0ZGlyX3ppcCcgJiYgbWtkaXIgJ291dGRpcl9nYicgJiYgcHl0aG9uICcvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHknIC0tcGFydHNfZmlsZXMgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9lLzAvZGF0YXNldF82ZTA0NTNjNC02ZWRkLTRkNzYtOTUwNC00Y2M0OTQxNjEwZjYuZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9kLzMvZGF0YXNldF82ZDNjMjRlNS03M2NkLTRiZWQtOTVhYS1kMWMzNjFjNzQxODAuZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNy83LzkvZGF0YXNldF83NzkzNTQxYi0xOGNjLTRmN2QtYTlkZi0xMjM5NjgwN2MzNjguZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvYS9lLzEvZGF0YXNldF9hZTE2MTFlZC1hNWUyLTQ2ZTgtYjk3NS02MTNhZGExYmI4ZGIuZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS9hL2QvZGF0YXNldF85YWRmYWZlMy1iMGFkLTQ0OWItODU1NS0yODZjYTgzZTY1YTQuZGF0JyAtLWRvbWVzdGljYXRlZF9zZXEgJycgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS83LzYvZGF0YXNldF85NzZmN2Q5OS0wN2U1LTRkNWMtYWI3OS1hOTZhZTQyNzYwZDQuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnQmlvQnJpY2tTdGFuZGFyZEFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvZS8wL2RhdGFzZXRfNmUwNDUzYzQtNmVkZC00ZDc2LTk1MDQtNGNjNDk0MTYxMGY2LmRhdDpCQmFfRTAwNDBfR0ZQLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9kLzMvZGF0YXNldF82ZDNjMjRlNS03M2NkLTRiZWQtOTVhYS1kMWMzNjFjNzQxODAuZGF0OkJCYV9KMjMxMTlfcHJvbS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvNy85L2RhdGFzZXRfNzc5MzU0MWItMThjYy00ZjdkLWE5ZGYtMTIzOTY4MDdjMzY4LmRhdDpCQmFfSjIzMTE5X3Byb21fZmxhd2VkLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvYS9lLzEvZGF0YXNldF9hZTE2MTFlZC1hNWUyLTQ2ZTgtYjk3NS02MTNhZGExYmI4ZGIuZGF0OkJCYV9KNjEwNDhfdGVybS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvYS9kL2RhdGFzZXRfOWFkZmFmZTMtYjBhZC00NDliLTg1NTUtMjg2Y2E4M2U2NWE0LmRhdDpCQmFfSzYxMTA5NF9iYXIuZ2InIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBheTB0bWU0di9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzM1L291dHB1dHMvZGF0YXNldF9kZWViOTc1Zi00YWU4LTQ0ZDMtOWMzYy01MWRjMDVlNzRmMDUuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2NyV84paI4paI4paI4paI4paI4paI4paLICAgfCAyLzMgWzAwOjAxPDAwOjAwLCAgMS43NGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogMTAwJXzilojilojilojilojilojilojilojilojilojiloh8IDMvMyBbMDA6MDI8MDA6MDAsICAxLjQzaXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBPdXRwdXQ6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgU2ltdWxhdGluZyBhc3NlbWJseSBwbGFuIGFzc2FtYmx5Li4uCiAgICAgIHsnY2FuY2VsbGVkX2Fzc2VtYmxpZXMnOiAwLCAnZXJyb3JlZF9hc3NlbWJsaWVzJzogMCwgJ3ZhbGlkX2Fzc2VtYmxpZXMnOiAzfQogICAgICBHZW5lcmF0aW5nIGFzc2VtYmxpZXMgcmVwb3J0cy4uLgoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiA5LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCBOb25lIGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIkJpb0JyaWNrU3RhbmRhcmRBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDYpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzEvOS8zL2RhdGFzZXRfMTkzY2JkMTAtNGI3Ni00NmQ5LWIzNzctYTdmMDY0NzFkNGQ0LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2YvYS8zL2RhdGFzZXRfZmEzMWM1ZjUtZTY3OC00NzFlLWIxYTMtNGY4YTE2OGJiZWUxLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvOS83L2RhdGFzZXRfNjk3YzgzZmUtMTY4Yi00MzE5LWE2ZTUtM2RiOTBjNTA0YzhiLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvNi9kL2RhdGFzZXRfMDZkNGRkOTQtNWYzMy00Y2UwLWFiMGEtZTZlZmU5NmNhMjIyLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvMC8xL2RhdGFzZXRfNzAxYjcyYzYtZWMyZS00NDM1LWIwZDUtOGY0MTk4MTFhNGRkLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzUvYS8wL2RhdGFzZXRfNWEwN2YwNTktZjZmOS00OWRlLWIwZmMtM2NkZWQxNTdmNDRiLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvNS8zL2RhdGFzZXRfNzUzZjAyOTctNGJmZi00OWM4LWIyMmEtMTM3N2U0M2E4MWY2LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2YvNi9kL2RhdGFzZXRfZjZkNjAyYjktNzc3Mi00YTkzLTk2OWQtZjBkY2RhZDk4YzZhLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2QvNC9kL2RhdGFzZXRfZDRkYzNlY2ItNzdmZi00YjI4LWE1NWEtN2IyNjM0MTZjNmM3LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvZC80L2RhdGFzZXRfN2Q0ODlkYmQtMTYxZS00ZjA0LWEzZGYtZWY1Yjk4OWFkMWUwLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzQvYy9hL2RhdGFzZXRfNGNhM2MyMjItNjcyYS00ODA2LWI2MGMtMDgxZjFiN2I2NGNiLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvMC82L2RhdGFzZXRfOTA2NzA3ZGItYjNjZi00MGY5LWFmMGItMWZmYzE0M2Y5MWU4LmRhdCcgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS9jLzgvZGF0YXNldF85YzhlYzY5My0wMmY5LTRjYzctYjdlMy04YmZiMGE0ZGQxZGMuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBheTB0bWU0di9maWxlcy8xLzkvMy9kYXRhc2V0XzE5M2NiZDEwLTRiNzYtNDZkOS1iMzc3LWE3ZjA2NDcxZDRkNC5kYXQ6cGFydF9BLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvZi9hLzMvZGF0YXNldF9mYTMxYzVmNS1lNjc4LTQ3MWUtYjFhMy00ZjhhMTY4YmJlZTEuZGF0OnBhcnRfQi5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvOS83L2RhdGFzZXRfNjk3YzgzZmUtMTY4Yi00MzE5LWE2ZTUtM2RiOTBjNTA0YzhiLmRhdDpwYXJ0X0MuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy8wLzYvZC9kYXRhc2V0XzA2ZDRkZDk0LTVmMzMtNGNlMC1hYjBhLWU2ZWZlOTZjYTIyMi5kYXQ6cGFydF9ELmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNy8wLzEvZGF0YXNldF83MDFiNzJjNi1lYzJlLTQ0MzUtYjBkNS04ZjQxOTgxMWE0ZGQuZGF0OnBhcnRfRS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzUvYS8wL2RhdGFzZXRfNWEwN2YwNTktZjZmOS00OWRlLWIwZmMtM2NkZWQxNTdmNDRiLmRhdDpwYXJ0X0YuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy83LzUvMy9kYXRhc2V0Xzc1M2YwMjk3LTRiZmYtNDljOC1iMjJhLTEzNzdlNDNhODFmNi5kYXQ6cGFydF9HLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnL3RtcC90bXBheTB0bWU0di9maWxlcy9mLzYvZC9kYXRhc2V0X2Y2ZDYwMmI5LTc3NzItNGE5My05NjlkLWYwZGNkYWQ5OGM2YS5kYXQ6cGFydF9ILmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvZC80L2QvZGF0YXNldF9kNGRjM2VjYi03N2ZmLTRiMjgtYTU1YS03YjI2MzQxNmM2YzcuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvZC80L2RhdGFzZXRfN2Q0ODlkYmQtMTYxZS00ZjA0LWEzZGYtZWY1Yjk4OWFkMWUwLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy80L2MvYS9kYXRhc2V0XzRjYTNjMjIyLTY3MmEtNDgwNi1iNjBjLTA4MWYxYjdiNjRjYi5kYXQ6cGFydF9LLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS8wLzYvZGF0YXNldF85MDY3MDdkYi1iM2NmLTQwZjktYWYwYi0xZmZjMTQzZjkxZTguZGF0OnBhcnRfTC5nYicgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGF5MHRtZTR2L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvNDkvb3V0cHV0cy9kYXRhc2V0XzgwMDMyMGRjLWQxODEtNDBiZi1iMWNiLTU0MWY0M2E4MzhjMy5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuMzVpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjEzaXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuNzdpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEyLCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCB7InZhbHVlcyI6IFt7ImlkIjogMTEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgo8L2RldGFpbHM+Cg==')); \ No newline at end of file diff -r 044d36066cb3 -r 254d284a5be9 output.json --- a/output.json Fri May 16 12:40:59 2025 +0000 +++ b/output.json Mon May 19 14:09:48 2025 +0000 @@ -11,93 +11,93 @@ "inputs": { "adv|use_file_names_as_ids": true, "assembly_csv": { - "id": "c02153e44a10e06a", + "id": "40769e0726e5d2f9", "src": "hda" }, "assembly_plan_name": "Type2sRestrictionAssembly", "genbank_files": { - "id": "a7025157dd5d3039", + "id": "fd8809ceca5b90d8", "src": "hdca" }, "topology": "circular" }, "job": { - "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmph0r87skq/files/e/b/4/dataset_eb40ee5e-5155-4303-9230-94926c63daaf.dat,/tmp/tmph0r87skq/files/4/a/9/dataset_4a9a1335-c528-438d-b80a-62b9608dbade.dat,/tmp/tmph0r87skq/files/7/c/a/dataset_7caa4f6a-a734-461f-ac38-c95442632c5a.dat,/tmp/tmph0r87skq/files/9/3/1/dataset_93127db8-2409-4544-93e5-6243a6d253ef.dat,/tmp/tmph0r87skq/files/e/2/9/dataset_e292919e-0a9a-403a-aa6b-30aa552881bd.dat,/tmp/tmph0r87skq/files/4/a/7/dataset_4a7c1e6b-f470-414e-b533-7390f74a64fc.dat,/tmp/tmph0r87skq/files/7/f/3/dataset_7f3df904-0bc5-456a-8679-cc58d06e214e.dat,/tmp/tmph0r87skq/files/a/6/0/dataset_a605738c-9b6d-44c6-891e-01cb729ea4dc.dat,/tmp/tmph0r87skq/files/1/0/c/dataset_10c35405-af25-41d3-9dbd-a411b4b65b98.dat,/tmp/tmph0r87skq/files/1/8/4/dataset_184d9904-3705-424e-b3f7-e5b7b773880f.dat,/tmp/tmph0r87skq/files/4/a/1/dataset_4a10d392-6ebc-413c-bd71-db425aa1aa0a.dat,/tmp/tmph0r87skq/files/8/3/5/dataset_835878c6-84f1-465c-b34e-d177885e567d.dat' --domesticated_seq '' --assembly_csv '/tmp/tmph0r87skq/files/a/5/2/dataset_a522972a-c994-4ec0-a130-e3e1e101d126.dat' --assembly_plan_name 'Type2sRestrictionAssembly' --file_name_mapping '/tmp/tmph0r87skq/files/e/b/4/dataset_eb40ee5e-5155-4303-9230-94926c63daaf.dat:part_A.gb,/tmp/tmph0r87skq/files/4/a/9/dataset_4a9a1335-c528-438d-b80a-62b9608dbade.dat:part_B.gb,/tmp/tmph0r87skq/files/7/c/a/dataset_7caa4f6a-a734-461f-ac38-c95442632c5a.dat:part_C.gb,/tmp/tmph0r87skq/files/9/3/1/dataset_93127db8-2409-4544-93e5-6243a6d253ef.dat:part_D.gb,/tmp/tmph0r87skq/files/e/2/9/dataset_e292919e-0a9a-403a-aa6b-30aa552881bd.dat:part_E.gb,/tmp/tmph0r87skq/files/4/a/7/dataset_4a7c1e6b-f470-414e-b533-7390f74a64fc.dat:part_F.gb,/tmp/tmph0r87skq/files/7/f/3/dataset_7f3df904-0bc5-456a-8679-cc58d06e214e.dat:part_G.gb,/tmp/tmph0r87skq/files/a/6/0/dataset_a605738c-9b6d-44c6-891e-01cb729ea4dc.dat:part_H.gb,/tmp/tmph0r87skq/files/1/0/c/dataset_10c35405-af25-41d3-9dbd-a411b4b65b98.dat:part_I.gb,/tmp/tmph0r87skq/files/1/8/4/dataset_184d9904-3705-424e-b3f7-e5b7b773880f.dat:part_J.gb,/tmp/tmph0r87skq/files/4/a/1/dataset_4a10d392-6ebc-413c-bd71-db425aa1aa0a.dat:part_K.gb,/tmp/tmph0r87skq/files/8/3/5/dataset_835878c6-84f1-465c-b34e-d177885e567d.dat:part_L.gb' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmph0r87skq/job_working_directory/000/14/outputs/dataset_109d2ac1-716e-4c47-a2b9-25e9d68cd9b7.dat'", + "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmpay0tme4v/files/4/b/3/dataset_4b32c6a8-b39d-4f5f-9155-307e142d9193.dat,/tmp/tmpay0tme4v/files/8/e/f/dataset_8ef181dd-5c3a-40eb-9926-3738e1ae4be1.dat,/tmp/tmpay0tme4v/files/b/a/b/dataset_babba200-2afd-434f-8797-9b10cc736ba7.dat,/tmp/tmpay0tme4v/files/b/7/c/dataset_b7c5a88c-05ae-4efd-9887-47a899749178.dat,/tmp/tmpay0tme4v/files/7/f/e/dataset_7fea4ecf-be56-423d-8a11-d6491077e233.dat,/tmp/tmpay0tme4v/files/e/1/f/dataset_e1f9ab9e-c9e0-4acd-ac63-e4299c3792fe.dat,/tmp/tmpay0tme4v/files/f/0/f/dataset_f0fe046c-6132-4bb9-b5dc-521edead32f2.dat,/tmp/tmpay0tme4v/files/e/e/c/dataset_eec197e7-d8fa-4c45-b5cb-89e51ee1db0e.dat,/tmp/tmpay0tme4v/files/3/2/1/dataset_32124f40-ed9b-4d25-b74f-a4ff44581962.dat,/tmp/tmpay0tme4v/files/e/1/2/dataset_e126fe05-d77c-4b33-9782-e5b1e7e6c7ad.dat,/tmp/tmpay0tme4v/files/2/3/4/dataset_234f9855-813e-4297-bbd4-d1327fb0cbad.dat,/tmp/tmpay0tme4v/files/6/b/2/dataset_6b23e127-e4a2-41b6-98f3-4f8f7214b209.dat' --domesticated_seq '' --assembly_csv '/tmp/tmpay0tme4v/files/1/4/6/dataset_14645e90-9105-48af-a071-6ea052fd4aad.dat' --assembly_plan_name 'Type2sRestrictionAssembly' --file_name_mapping '/tmp/tmpay0tme4v/files/4/b/3/dataset_4b32c6a8-b39d-4f5f-9155-307e142d9193.dat:part_A.gb,/tmp/tmpay0tme4v/files/8/e/f/dataset_8ef181dd-5c3a-40eb-9926-3738e1ae4be1.dat:part_B.gb,/tmp/tmpay0tme4v/files/b/a/b/dataset_babba200-2afd-434f-8797-9b10cc736ba7.dat:part_C.gb,/tmp/tmpay0tme4v/files/b/7/c/dataset_b7c5a88c-05ae-4efd-9887-47a899749178.dat:part_D.gb,/tmp/tmpay0tme4v/files/7/f/e/dataset_7fea4ecf-be56-423d-8a11-d6491077e233.dat:part_E.gb,/tmp/tmpay0tme4v/files/e/1/f/dataset_e1f9ab9e-c9e0-4acd-ac63-e4299c3792fe.dat:part_F.gb,/tmp/tmpay0tme4v/files/f/0/f/dataset_f0fe046c-6132-4bb9-b5dc-521edead32f2.dat:part_G.gb,/tmp/tmpay0tme4v/files/e/e/c/dataset_eec197e7-d8fa-4c45-b5cb-89e51ee1db0e.dat:part_H.gb,/tmp/tmpay0tme4v/files/3/2/1/dataset_32124f40-ed9b-4d25-b74f-a4ff44581962.dat:part_I.gb,/tmp/tmpay0tme4v/files/e/1/2/dataset_e126fe05-d77c-4b33-9782-e5b1e7e6c7ad.dat:part_J.gb,/tmp/tmpay0tme4v/files/2/3/4/dataset_234f9855-813e-4297-bbd4-d1327fb0cbad.dat:part_K.gb,/tmp/tmpay0tme4v/files/6/b/2/dataset_6b23e127-e4a2-41b6-98f3-4f8f7214b209.dat:part_L.gb' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmpay0tme4v/job_working_directory/000/14/outputs/dataset_f30d906d-2ea4-4cde-b451-b7c6daf25a29.dat'", "command_version": "", "copied_from_job_id": null, - "create_time": "2025-05-16T12:35:55.635805", + "create_time": "2025-05-19T13:45:01.696419", "dependencies": [], "exit_code": 0, - "external_id": "205109", + "external_id": "245391", "galaxy_version": "24.2", "handler": null, - "history_id": "a7025157dd5d3039", - "id": "d49d8be9932a8ee0", + "history_id": "fd8809ceca5b90d8", + "id": "d25964a649f0fc81", "inputs": { "assembly_csv": { - "id": "c02153e44a10e06a", + "id": "40769e0726e5d2f9", "src": "hda", - "uuid": "a522972a-c994-4ec0-a130-e3e1e101d126" + "uuid": "14645e90-9105-48af-a071-6ea052fd4aad" }, "genbank_files1": { - "id": "a7025157dd5d3039", + "id": "fd8809ceca5b90d8", "src": "hda", - "uuid": "eb40ee5e-5155-4303-9230-94926c63daaf" + "uuid": "4b32c6a8-b39d-4f5f-9155-307e142d9193" }, "genbank_files10": { - "id": "26800a0030991202", + "id": "171b3bd3b2ffa75e", "src": "hda", - "uuid": "184d9904-3705-424e-b3f7-e5b7b773880f" + "uuid": "e126fe05-d77c-4b33-9782-e5b1e7e6c7ad" }, "genbank_files11": { - "id": "9e9c740782c078df", + "id": "ec7f951857c74506", "src": "hda", - "uuid": "4a10d392-6ebc-413c-bd71-db425aa1aa0a" + "uuid": "234f9855-813e-4297-bbd4-d1327fb0cbad" }, "genbank_files12": { - "id": "d70a40a14f24deac", + "id": "8c74660869d2dd19", "src": "hda", - "uuid": "835878c6-84f1-465c-b34e-d177885e567d" + "uuid": "6b23e127-e4a2-41b6-98f3-4f8f7214b209" }, "genbank_files2": { - "id": "ce87194f2a532da8", + "id": "132b871e5e3014ee", "src": "hda", - "uuid": "4a9a1335-c528-438d-b80a-62b9608dbade" + "uuid": "8ef181dd-5c3a-40eb-9926-3738e1ae4be1" }, "genbank_files3": { - "id": "e52e8d0a017d5bd2", + "id": "65f48584dd2a1828", "src": "hda", - "uuid": "7caa4f6a-a734-461f-ac38-c95442632c5a" + "uuid": "babba200-2afd-434f-8797-9b10cc736ba7" }, "genbank_files4": { - "id": "4dd0eedec5562f6e", + "id": "543bb64c618cca80", "src": "hda", - "uuid": "93127db8-2409-4544-93e5-6243a6d253ef" + "uuid": "b7c5a88c-05ae-4efd-9887-47a899749178" }, "genbank_files5": { - "id": "d1cbd0905c1fc860", + "id": "e550d863bf084702", "src": "hda", - "uuid": "e292919e-0a9a-403a-aa6b-30aa552881bd" + "uuid": "7fea4ecf-be56-423d-8a11-d6491077e233" }, "genbank_files6": { - "id": "0494b81690cb2f5c", + "id": "6a73e15df176b356", "src": "hda", - "uuid": "4a7c1e6b-f470-414e-b533-7390f74a64fc" + "uuid": "e1f9ab9e-c9e0-4acd-ac63-e4299c3792fe" }, "genbank_files7": { - "id": "edce0bc0654ca8cc", + "id": "7faba24a30f85c9d", "src": "hda", - "uuid": "7f3df904-0bc5-456a-8679-cc58d06e214e" + "uuid": "f0fe046c-6132-4bb9-b5dc-521edead32f2" }, "genbank_files8": { - "id": "052d0d471d180256", + "id": "f121a1ae40e58e96", "src": "hda", - "uuid": "a605738c-9b6d-44c6-891e-01cb729ea4dc" + "uuid": "eec197e7-d8fa-4c45-b5cb-89e51ee1db0e" }, "genbank_files9": { - "id": "5827a0347340e98b", + "id": "fc2d53421d7989de", "src": "hda", - "uuid": "10c35405-af25-41d3-9dbd-a411b4b65b98" + "uuid": "32124f40-ed9b-4d25-b74f-a4ff44581962" } }, "job_messages": [], @@ -108,60 +108,60 @@ "model_class": "Job", "output_collections": { "construct_gb": { - "id": "ce87194f2a532da8", + "id": "132b871e5e3014ee", "src": "hdca" } }, "outputs": { "__new_primary_file_construct_gb|construct_1__": { - "id": "68bcb17f47b988de", + "id": "6d4f2c14c91fd6e1", "src": "hda", - "uuid": "2c9a5458-38f0-4591-bb2d-452aac86ce0b" + "uuid": "32687278-a139-4ee2-bfc0-86735e813b3e" }, "__new_primary_file_construct_gb|construct_2__": { - "id": "7cb8b41737d3d7aa", + "id": "ce0686b9d731295a", "src": "hda", - "uuid": "026f0937-350b-4ae7-96da-1e685237a8c8" + "uuid": "a78e87bc-7aa1-4e9e-8625-78450d68b18d" }, "__new_primary_file_construct_gb|construct_3__": { - "id": "e558db6e0f20f34c", + "id": "9fb491af1d40ed73", "src": "hda", - "uuid": "df750e5d-b2f4-43f1-bf95-aa0d980bb98a" + "uuid": "6ce970af-f5f4-4193-9d0a-d1fc701d17d5" }, "__new_primary_file_construct_gb|construct_4__": { - "id": "87544afc708050c8", + "id": "0a54ce1a82948d59", "src": "hda", - "uuid": "0ba9a694-1b4e-4ff4-b6f2-87503d04cd66" + "uuid": "b76d3345-d556-4f55-9285-6a7ce76d9150" }, "output_zip": { - "id": "d49d8be9932a8ee0", + "id": "d25964a649f0fc81", "src": "hda", - "uuid": "109d2ac1-716e-4c47-a2b9-25e9d68cd9b7" + "uuid": "f30d906d-2ea4-4cde-b451-b7c6daf25a29" } }, "params": { "__input_ext": "\"input\"", "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}", "assembly_plan_name": "\"Type2sRestrictionAssembly\"", - "chromInfo": "\"/tmp/tmph0r87skq/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"", + "chromInfo": "\"/tmp/tmpay0tme4v/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"", "dbkey": "\"?\"", "domesticated_input": null, "genbank_files": "{\"values\": [{\"id\": 1, \"src\": \"hdca\"}]}", "topology": "\"circular\"" }, "state": "ok", - "stderr": "\rassembly: 0%| | 0/4 [00:00