# HG changeset patch # User tduigou # Date 1747399259 0 # Node ID 044d36066cb32779bcde16d82a5468b990b49ab2 # Parent 3171db614963703600f561d2be64797e3537c34f planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae diff -r 3171db614963 -r 044d36066cb3 cloning_similation.xml --- a/cloning_similation.xml Fri May 16 11:32:06 2025 +0000 +++ b/cloning_similation.xml Fri May 16 12:40:59 2025 +0000 @@ -38,7 +38,7 @@ --output_simulation 'output_zip.zip' --enzyme '$adv.enzyme' --topology '$topology'&& - cp 'output_zip.zip' '$output_zip' + cp 'output_zip.zip' '$output_zip' ]]> @@ -97,7 +97,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -177,7 +177,7 @@ - + @@ -203,7 +203,7 @@ - + @@ -229,7 +229,22 @@ - + + + + + + + + + + + + + + + + @@ -266,7 +281,7 @@ - + diff -r 3171db614963 -r 044d36066cb3 cloning_simulation.py --- a/cloning_simulation.py Fri May 16 11:32:06 2025 +0000 +++ b/cloning_simulation.py Fri May 16 12:40:59 2025 +0000 @@ -111,10 +111,9 @@ #print("Files in the zip archive:") #for info in zipf.infolist(): #print(info.filename) - with zipfile.ZipFile(output_simulation, 'r') as zipf: for member in zipf.namelist(): # Only extract actual files inside 'all_construct_records/' (not subfolders) - if member.startswith("all_construct_records/") and not member.endswith("/"): + if member.startswith("assambly_simulation/all_construct_records/") and not member.endswith("/"): # Get the file name only (strip folder path) filename = os.path.basename(member) if not filename: diff -r 3171db614963 -r 044d36066cb3 output.html --- a/output.html Fri May 16 11:32:06 2025 +0000 +++ b/output.html Fri May 16 12:40:59 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+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAxKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy82L2EvNC9kYXRhc2V0XzZhNDA3ZjI5LTE0YTItNDM1OC04NzgxLTk3YTVhNjAwMDZiZi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy85L2MvMC9kYXRhc2V0XzljMDUxMjBiLTJhOTMtNDI5OC1hNzE4LTJkYjQ4MmRlYzllMC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9lLzkvZC9kYXRhc2V0X2U5ZGQ2YzRhLTVkMWMtNDhkNi1iMDcyLWJiNjc5Mjk1OTBmNS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9jLzIvYS9kYXRhc2V0X2MyYTY3YjljLWJkMGQtNDgzYi1iMjI5LTFmMzk2YmM4YzI3NS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81LzMvZC9kYXRhc2V0XzUzZGM2YjNlLTNkMmItNGZiNy1iMjc5LThiNzIwNGFlOGQwMC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzAvZi9kYXRhc2V0XzQwZmE4OWI0LTVlNDktNDY3ZS1hYTZhLWQ0YjhjOWI4YThiMC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8xLzQvYi9kYXRhc2V0XzE0YjgxNWNiLTAzOGUtNDgzNi1iYjRlLTNmMDQ5Mzk1MjcxYy5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8zLzIvNy9kYXRhc2V0XzMyNzE5OTcwLTgwMDktNDgxOC1hNjIzLWJhOTgwYWY4NGQ3MC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy82LzgvZS9kYXRhc2V0XzY4ZTMwYTJkLWE0NGQtNDBlNi1hNjE5LWVmYTFlOGNkNmU0Yi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yLzMvYy9kYXRhc2V0XzIzYzA2ZmFlLTk2Y2MtNGZmOC05ZTIzLTExMTEzOWNlMWE5Mi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9kLzIvOS9kYXRhc2V0X2QyOWMxNmE3LTI0NzAtNDE4ZS1hOGYxLTFkYTdjNTM3MmRkZS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yLzkvMC9kYXRhc2V0XzI5MGJmZGY0LWY1OTUtNDJmMS1hMmYwLTBmOWE5ZDhlNzFkZi5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzIvMC9kYXRhc2V0XzQyMGM0YjA3LWVhMTctNGU2My05ZjQ4LTRjYzM2NGUyODQzMi5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzYvYS80L2RhdGFzZXRfNmE0MDdmMjktMTRhMi00MzU4LTg3ODEtOTdhNWE2MDAwNmJmLmRhdDpwYXJ0X0EuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy85L2MvMC9kYXRhc2V0XzljMDUxMjBiLTJhOTMtNDI5OC1hNzE4LTJkYjQ4MmRlYzllMC5kYXQ6cGFydF9CLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvZS85L2QvZGF0YXNldF9lOWRkNmM0YS01ZDFjLTQ4ZDYtYjA3Mi1iYjY3OTI5NTkwZjUuZGF0OnBhcnRfQy5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2MvMi9hL2RhdGFzZXRfYzJhNjdiOWMtYmQwZC00ODNiLWIyMjktMWYzOTZiYzhjMjc1LmRhdDpwYXJ0X0QuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81LzMvZC9kYXRhc2V0XzUzZGM2YjNlLTNkMmItNGZiNy1iMjc5LThiNzIwNGFlOGQwMC5kYXQ6cGFydF9FLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvNC8wL2YvZGF0YXNldF80MGZhODliNC01ZTQ5LTQ2N2UtYWE2YS1kNGI4YzliOGE4YjAuZGF0OnBhcnRfRi5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzEvNC9iL2RhdGFzZXRfMTRiODE1Y2ItMDM4ZS00ODM2LWJiNGUtM2YwNDkzOTUyNzFjLmRhdDpwYXJ0X0cuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8zLzIvNy9kYXRhc2V0XzMyNzE5OTcwLTgwMDktNDgxOC1hNjIzLWJhOTgwYWY4NGQ3MC5kYXQ6cGFydF9ILmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvNi84L2UvZGF0YXNldF82OGUzMGEyZC1hNDRkLTQwZTYtYTYxOS1lZmExZThjZDZlNGIuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzIvMy9jL2RhdGFzZXRfMjNjMDZmYWUtOTZjYy00ZmY4LTllMjMtMTExMTM5Y2UxYTkyLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9kLzIvOS9kYXRhc2V0X2QyOWMxNmE3LTI0NzAtNDE4ZS1hOGYxLTFkYTdjNTM3MmRkZS5kYXQ6cGFydF9LLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvMi85LzAvZGF0YXNldF8yOTBiZmRmNC1mNTk1LTQyZjEtYTJmMC0wZjlhOWQ4ZTcxZGYuZGF0OnBhcnRfTC5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcHMzNmFua3N1L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMTQvb3V0cHV0cy9kYXRhc2V0XzE5ODI3ZDQ2LTk2ZDgtNDhjOC1iNDM0LTE3ZjllNDczMmFlYy5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuMzhpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjE1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuNzZpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCiAgICAgIEZpbGVzIGluIHRoZSB6aXAgYXJjaGl2ZToKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hbGxfcmVxdWlyZWRfcGFydHMudHh0CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3NpbXVsYXRpb25fc3RhdHMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8xLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL1JlcG9ydC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NlbWJseV9wbGFuX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzNfdHlwZTJzX21peF9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfM19zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL2NvbnN0cnVjdF8zX3R5cGUyc19taXhfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfTC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8zLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzFfdHlwZTJzX21peF9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9jb25zdHJ1Y3RfMV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xX3R5cGUyc19taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9CLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfQS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0UuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0IuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0kuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9FLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfSi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzJfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9GLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9JLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvY29uc3RydWN0XzRfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0suZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogMSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBzMzZhbmtzdS9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LWdyZWVuIj48c3VtbWFyeSBjbGFzcz0ibGlnaHQtZ3JlZW4iPiYjOTk4OTsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgMik8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBta2RpciAnb3V0ZGlyX3ppcCcgJiYgcHl0aG9uICcvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHknIC0tcGFydHNfZmlsZXMgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNS9jLzIvZGF0YXNldF81YzIxNTBiNS01MzdhLTQ5NzEtOThlZi05NTliYjQxNDFmYWMuZGF0JyAtLWRvbWVzdGljYXRlZF9zZXEgJycgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNy9hLzAvZGF0YXNldF83YTA5YTE2YS1hN2Y3LTQ0Y2UtOGUxZC01ZjZiYWYzODVjNDQuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnR2lic29uQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNS9jLzIvZGF0YXNldF81YzIxNTBiNS01MzdhLTQ5NzEtOThlZi05NTliYjQxNDFmYWMuZGF0OmdpYnNvbl9zZXF1ZW5jZXMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBzMzZhbmtzdS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzE3L291dHB1dHMvZGF0YXNldF80YzcwYjNmOS05ZmI0LTRlMWMtOTQyYy00N2ZkNzhhNWEzNDguZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzUgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzUgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA0MCV84paI4paI4paI4paIICAgICAgfCAyLzUgWzAwOjAwPDAwOjAwLCAgNC4xMGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDYwJXzilojilojilojilojilojiloggICAgfCAzLzUgWzAwOjAwPDAwOjAwLCAgNC4xMGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDgwJXzilojilojilojilojilojilojilojiloggIHwgNC81IFswMDowMDwwMDowMCwgIDQuMDlpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCA1LzUgWzAwOjAxPDAwOjAwLCAgMy4zOGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogM30KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KICAgICAgRmlsZXMgaW4gdGhlIHppcCBhcmNoaXZlOgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2FsbF9yZXF1aXJlZF9wYXJ0cy50eHQKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hc3NlbWJseV9wbGFuLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3NpbXVsYXRpb25fc3RhdHMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vUmVwb3J0LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3dhcm5pbmdzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2Vycm9ycy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL2NvbnN0cnVjdF8zX3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfM19jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfNWIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfNGMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvY29uc3RydWN0XzIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvY29uc3RydWN0XzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9jb25zdHJ1Y3RfMV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xX2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzUuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfNC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18zLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzUuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvRnJhZ181Yi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzQuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvRnJhZ180Yy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzRiLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL0ZyYWdfMy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzJfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ181LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzRiLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvY29uc3RydWN0XzVfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvd2FybmluZ3MuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzRfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzRiXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0ZyYWdfNGIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ180LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0ZyYWdfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNS9wcm92aWRlZF9wYXJ0c19wbG90cy9GcmFnXzIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ18xLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ180LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzRiLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvY29uc3RydWN0XzRfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvd2FybmluZ3MuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ180LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0ZyYWdfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19wbG90cy9GcmFnXzIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ18xLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ180LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzRfMDEucGRmCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDIsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiR2lic29uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcHMzNmFua3N1L2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAzKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy9hL2EvMC9kYXRhc2V0X2FhMDM1Y2U5LWIzZWUtNGM0ZC1hNWMxLWUyNDUxYzQyOTdjMi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy80L2IvYi9kYXRhc2V0XzRiYjJiZjZhLWIzNTEtNGE4MC1hYjQ3LWQ0ZDU2YWVmYTM4Yy5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy81L2EvZi9kYXRhc2V0XzVhZjg5YjAwLTc1N2QtNDYwNi1iNmM4LWQwMGQzZjBjYTM5ZS5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy9hL2EvMC9kYXRhc2V0X2FhMDM1Y2U5LWIzZWUtNGM0ZC1hNWMxLWUyNDUxYzQyOTdjMi5kYXQ6UkZQX0dGUF9wbGFzbWlkX0JPcy5mYSwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvYi9iL2RhdGFzZXRfNGJiMmJmNmEtYjM1MS00YTgwLWFiNDctZDRkNTZhZWZhMzhjLmRhdDpSRlBfR0ZQX3BsYXNtaWRfcGFydHMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBzMzZhbmtzdS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzIxL291dHB1dHMvZGF0YXNldF9iZDVjODhiOS0xZWZkLTQ1MDctYjg3NS0xM2RmZWJmZjlkNmEuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAyLzIgWzAwOjAwPDAwOjAwLCAgMi4zNGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KICAgICAgRmlsZXMgaW4gdGhlIHppcCBhcmNoaXZlOgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2FsbF9yZXF1aXJlZF9wYXJ0cy50eHQKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9zaW11bGF0aW9uX3N0YXRzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL1JlcG9ydC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV93YXJuaW5ncy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9lcnJvcnMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9Db25zdHJ1Y3QyX2ZsYXdlZF9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L1JGUF9HRlBfQk9fMTAyNjhfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvZnJhZ21lbnRzX2luX0NvbnN0cnVjdDJfZmxhd2VkX2hvbW9sb2d5X21peC9SRlBfR0ZQX0JPXzEwMjQ0XzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvUkZQX0dGUF9CT18xMDI4MV8wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L3AxX21SRlAxLXBhcnQxXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvcDNfbVJGUDEtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvZnJhZ21lbnRzX2luX0NvbnN0cnVjdDJfZmxhd2VkX2hvbW9sb2d5X21peC9wN19iYWNrYm9uZV8wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L1JGUF9HRlBfQk9fMTAyMzJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvZnJhZ21lbnRzX2luX0NvbnN0cnVjdDJfZmxhd2VkX2hvbW9sb2d5X21peC9wNF9zZkdGUC1wYXJ0MV8wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L3A1X3NmR0ZQLXBhcnQyXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvUkZQX0dGUF9CT18xMDIzM18wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L3AyX21SRlAxLXBhcnQyXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvcDZfc2ZHRlAtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDRfc2ZHRlAtcGFydDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcGxvdHMvUkZQX0dGUF9CT18xMDIzMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19wbG90cy9SRlBfR0ZQX0JPXzEwMjMyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A2X3NmR0ZQLXBhcnQzLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AxX21SRlAxLXBhcnQxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AzX21SRlAxLXBhcnQzLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AyX21SRlAxLXBhcnQyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL1JGUF9HRlBfQk9fMTAyNDQucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcGxvdHMvUkZQX0dGUF9CT18xMDI2OC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19wbG90cy9SRlBfR0ZQX0JPXzEwMjgxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A1X3NmR0ZQLXBhcnQyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A3X2JhY2tib25lLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcDVfc2ZHRlAtcGFydDIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL1JGUF9HRlBfQk9fMTAyMzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A2X3NmR0ZQLXBhcnQzLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9SRlBfR0ZQX0JPXzEwMjMyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wMl9tUkZQMS1wYXJ0Mi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvUkZQX0dGUF9CT18xMDI2OC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcDFfbVJGUDEtcGFydDEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A3X2JhY2tib25lLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9SRlBfR0ZQX0JPXzEwMjgxLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9SRlBfR0ZQX0JPXzEwMjQ0LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wM19tUkZQMS1wYXJ0My5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcDRfc2ZHRlAtcGFydDEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvQ29uc3RydWN0MV9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL3dhcm5pbmdzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDRfc2ZHRlAtcGFydDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19wbG90cy9wNl9zZkdGUC1wYXJ0My5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AxX21SRlAxLXBhcnQxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDNfbVJGUDEtcGFydDMucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19wbG90cy9wMl9tUkZQMS1wYXJ0Mi5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A1X3NmR0ZQLXBhcnQyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDdfYmFja2JvbmUucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDFfbVJGUDEtcGFydDFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDNfbVJGUDEtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDdfYmFja2JvbmVfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDRfc2ZHRlAtcGFydDFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDVfc2ZHRlAtcGFydDJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDJfbVJGUDEtcGFydDJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDZfc2ZHRlAtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A1X3NmR0ZQLXBhcnQyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A2X3NmR0ZQLXBhcnQzLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3AyX21SRlAxLXBhcnQyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3AxX21SRlAxLXBhcnQxLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A3X2JhY2tib25lLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3AzX21SRlAxLXBhcnQzLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A0X3NmR0ZQLXBhcnQxLmdiCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDMsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiTGlnYXNlQ3ljbGluZ1JlYWN0aW9uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcHMzNmFua3N1L2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyA0KTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy8wLzkvZC9kYXRhc2V0XzA5ZGQxMmYxLWE1MjgtNGUyYS1hMWQzLWI5YjU3ZTdhMDJhMi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9iL2UvNi9kYXRhc2V0X2JlNjNjNWY2LTZjMTUtNDNjOS1hNDY3LTBmMDBjMzM5NWJjZi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yL2UvMC9kYXRhc2V0XzJlMDM5MzBiLTNlOWYtNDViZS05NzUwLTQyNTYwZjM5Y2YxNC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81L2IvZC9kYXRhc2V0XzViZGJlMjdmLTY0MGYtNGRiMS1iYzdiLWZjZWRmNGIyNzM3YS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9jL2QvNS9kYXRhc2V0X2NkNTNkODVhLTdjZWQtNGRhNS1iYzczLWViNGI3NGEyMDBlMy5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy9lL2QvMy9kYXRhc2V0X2VkM2Y0Nzk3LTAwMDItNDZlMy1hMjQ1LTcwZWM5N2U1OTExOC5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdCQVNJQ0Fzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzAvOS9kL2RhdGFzZXRfMDlkZDEyZjEtYTUyOC00ZTJhLWExZDMtYjliNTdlN2EwMmEyLmRhdDpHRlAuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9iL2UvNi9kYXRhc2V0X2JlNjNjNWY2LTZjMTUtNDNjOS1hNDY3LTBmMDBjMzM5NWJjZi5kYXQ6cDE1QV9rYW4uZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yL2UvMC9kYXRhc2V0XzJlMDM5MzBiLTNlOWYtNDViZS05NzUwLTQyNTYwZjM5Y2YxNC5kYXQ6cHJvbW90ZXIuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81L2IvZC9kYXRhc2V0XzViZGJlMjdmLTY0MGYtNGRiMS1iYzdiLWZjZWRmNGIyNzM3YS5kYXQ6UkZQLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvYy9kLzUvZGF0YXNldF9jZDUzZDg1YS03Y2VkLTRkYTUtYmM3My1lYjRiNzRhMjAwZTMuZGF0Om9saWdvcy5mYScgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcHMzNmFua3N1L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMjgvb3V0cHV0cy9kYXRhc2V0XzJjZTllODVkLWQ0ZTctNDEwNC04MzNmLTlmY2FjOTVlMmM2ZC5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvMTAgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC84IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNjIlfOKWiOKWiOKWiOKWiOKWiOKWiOKWjiAgIHwgNS84IFswMDowMDwwMDowMCwgNDkuOTVpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDIsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiA4LCAndmFsaWRfYXNzZW1ibGllcyc6IDB9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCiAgICAgIEZpbGVzIGluIHRoZSB6aXAgYXJjaGl2ZToKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hbGxfcmVxdWlyZWRfcGFydHMudHh0CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc2ltdWxhdGlvbl9zdGF0cy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9SZXBvcnQucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY2FuY2VsbGVkX2Fzc2VtYmxpZXMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfZXJyb3JzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2VtYmx5X3BsYW5fZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUEtU19md2QucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTE1BLVMvcHJvdmlkZWRfcGFydHNfcGxvdHMvTE1BLVNfYWRhcHRlci5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQS1TX2FkYXB0ZXIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQS1TX2Z3ZC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLXhTL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLXhTL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0wyUkJTLXhTX2FkYXB0ZXIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMteFMvcHJvdmlkZWRfcGFydHNfcGxvdHMvTDJSQlMteFNfZndkLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLXhTL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTDJSQlMteFNfZndkLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMteFMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMlJCUy14U19hZGFwdGVyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDFSQlMteFMvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDFSQlMteFMvcHJvdmlkZWRfcGFydHNfcGxvdHMvTDFSQlMteFNfYWRhcHRlci5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MMVJCUy14Uy9wcm92aWRlZF9wYXJ0c19wbG90cy9MMVJCUy14U19md2QucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDFSQlMteFMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMVJCUy14U19md2QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MMVJCUy14Uy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0wxUkJTLXhTX2FkYXB0ZXIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUC9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUC9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUItUF9hZGFwdGVyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1QL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0xNQi1QX2Z3ZC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQi1QX2Z3ZC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1QL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTE1CLVBfYWRhcHRlci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0wxUkJTLTFQX2Z3ZC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MMVJCUy0xUC9wcm92aWRlZF9wYXJ0c19wbG90cy9MMVJCUy0xUF9hZGFwdGVyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTDFSQlMtMVBfYWRhcHRlci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTDFSQlMtMVBfZndkLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvcHJvdmlkZWRfcGFydHNfcGxvdHMvTDJSQlMtMVBfZndkLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0wyUkJTLTFQX2FkYXB0ZXIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMlJCUy0xUF9hZGFwdGVyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMlJCUy0xUF9md2QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUC9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUC9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUEtUF9md2QucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTE1BLVAvcHJvdmlkZWRfcGFydHNfcGxvdHMvTE1BLVBfYWRhcHRlci5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQS1QX2Z3ZC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQS1QL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTE1BLVBfYWRhcHRlci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1TL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1TL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0xNQi1TX2Z3ZC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUy9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUItU19hZGFwdGVyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1TL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTE1CLVNfZndkLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTE1CLVMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MTUItU19hZGFwdGVyLmdiCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDQsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiQkFTSUNBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wczM2YW5rc3UvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDUpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvOC9mL2RhdGFzZXRfNDhmMjQ2ZmItZGYzZC00YzY1LWE5OWUtY2MzMTRjOWEyZDIwLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzUvMC9jL2RhdGFzZXRfNTBjYjMwOGQtNGViNS00ZDlkLWFlMDctMDExMTc5ZDg0YjJlLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzEvMy9iL2RhdGFzZXRfMTNiNTE0ZDEtNzEwYy00NmVmLTliODMtOTM5YWNhZDcyMzc1LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzMvMC9iL2RhdGFzZXRfMzBiZWY3YzMtZmVjYi00MGY3LWI0MzUtZGFmNzk0ZDQ1NmMxLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2EvOC83L2RhdGFzZXRfYTg3ZDdiYTctMjA5Mi00NWUyLTlhZmYtODEzYmI1M2EwMmE2LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzcvZS82L2RhdGFzZXRfN2U2MjU5YmYtODY0Ni00NjkxLWI0MGQtZDkxYmJlNTJkNmM1LmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0Jpb0JyaWNrU3RhbmRhcmRBc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzgvZi9kYXRhc2V0XzQ4ZjI0NmZiLWRmM2QtNGM2NS1hOTllLWNjMzE0YzlhMmQyMC5kYXQ6QkJhX0UwMDQwX0dGUC5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzUvMC9jL2RhdGFzZXRfNTBjYjMwOGQtNGViNS00ZDlkLWFlMDctMDExMTc5ZDg0YjJlLmRhdDpCQmFfSjIzMTE5X3Byb20uZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8xLzMvYi9kYXRhc2V0XzEzYjUxNGQxLTcxMGMtNDZlZi05YjgzLTkzOWFjYWQ3MjM3NS5kYXQ6QkJhX0oyMzExOV9wcm9tX2ZsYXdlZC5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzMvMC9iL2RhdGFzZXRfMzBiZWY3YzMtZmVjYi00MGY3LWI0MzUtZGFmNzk0ZDQ1NmMxLmRhdDpCQmFfSjYxMDQ4X3Rlcm0uZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9hLzgvNy9kYXRhc2V0X2E4N2Q3YmE3LTIwOTItNDVlMi05YWZmLTgxM2JiNTNhMDJhNi5kYXQ6QkJhX0s2MTEwOTRfYmFyLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wczM2YW5rc3Uvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8zNS9vdXRwdXRzL2RhdGFzZXRfNjY0YTZhOTUtNGNlNi00Zjc0LWJlNTEtNzI4YTljYmQ1NWRhLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8zIFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8zIFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNjclfOKWiOKWiOKWiOKWiOKWiOKWiOKWiyAgIHwgMi8zIFswMDowMTwwMDowMCwgIDEuOTZpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAzLzMgWzAwOjAxPDAwOjAwLCAgMS41OWl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDAsICd2YWxpZF9hc3NlbWJsaWVzJzogM30KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KICAgICAgRmlsZXMgaW4gdGhlIHppcCBhcmNoaXZlOgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2FsbF9yZXF1aXJlZF9wYXJ0cy50eHQKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9jb25zdHJ1Y3RzX2xldmVsXzIuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc2ltdWxhdGlvbl9zdGF0cy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9jb25zdHJ1Y3RzX2xldmVsXzEuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vUmVwb3J0LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2VtYmx5X3BsYW5fZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbF9DMV9wcm9tX2JhcmNvZGVfRStTX3Jlc3RyaWN0aW9uX3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MzX2ZpbmFsL0MzX2ZpbmFsX0MyX2dmcF90ZXJtX0UrWF9yZXN0cmljdGlvbl9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbF9hc3NlbWJseV9taXhfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzNfZmluYWwvQzNfZmluYWxfQzFfcHJvbV9iYXJjb2RlX0UrU19yZXN0cmljdGlvbl9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbF9DMl9nZnBfdGVybV9FK1hfcmVzdHJpY3Rpb25fcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzNfZmluYWwvQzNfZmluYWxfYXNzZW1ibHlfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MzX2ZpbmFsL0MzX2ZpbmFsLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzNfZmluYWwvQzNfZmluYWxfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0MxX3Byb21fYmFyY29kZS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MzX2ZpbmFsL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvQzJfZ2ZwX3Rlcm0uZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9DMl9nZnBfdGVybV9CQmFfRTAwNDBfR0ZQX0UrU19yZXN0cmljdGlvbl9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9DMl9nZnBfdGVybV9hc3NlbWJseV9taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzJfZ2ZwX3Rlcm0vQzJfZ2ZwX3Rlcm1fQkJhX0o2MTA0OF90ZXJtX0UrWF9yZXN0cmljdGlvbl9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9DMl9nZnBfdGVybS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtX0JCYV9KNjEwNDhfdGVybV9FK1hfcmVzdHJpY3Rpb25fY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzJfZ2ZwX3Rlcm0vQzJfZ2ZwX3Rlcm1fYXNzZW1ibHlfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtX0JCYV9FMDA0MF9HRlBfRStTX3Jlc3RyaWN0aW9uX2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtX3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzJfZ2ZwX3Rlcm0vcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9CQmFfSjYxMDQ4X3Rlcm0uZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0JCYV9FMDA0MF9HRlAuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvQzFfcHJvbV9iYXJjb2RlLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL0MyX2dmcF90ZXJtLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL0MzX2ZpbmFsLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL0JCYV9KNjEwNDhfdGVybS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9CQmFfSzYxMTA5NF9iYXIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvQkJhX0UwMDQwX0dGUC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9CQmFfSjIzMTE5X3Byb20uZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMV9wcm9tX2JhcmNvZGUvQzFfcHJvbV9iYXJjb2RlX0JCYV9KMjMxMTlfcHJvbV9FK1hfcmVzdHJpY3Rpb25fcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9DMV9wcm9tX2JhcmNvZGVfYXNzZW1ibHlfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9DMV9wcm9tX2JhcmNvZGVfQkJhX0s2MTEwOTRfYmFyX0UrU19yZXN0cmljdGlvbl9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMV9wcm9tX2JhcmNvZGUvQzFfcHJvbV9iYXJjb2RlX0JCYV9LNjExMDk0X2Jhcl9FK1NfcmVzdHJpY3Rpb25fY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMV9wcm9tX2JhcmNvZGUvQzFfcHJvbV9iYXJjb2RlX3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZV9hc3NlbWJseV9taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZV9CQmFfSjIzMTE5X3Byb21fRStYX3Jlc3RyaWN0aW9uX2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0JCYV9LNjExMDk0X2Jhci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0JCYV9KMjMxMTlfcHJvbS5nYgoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiA1LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCBOb25lIGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIkJpb0JyaWNrU3RhbmRhcmRBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wczM2YW5rc3UvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDYpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzIvYi8zL2RhdGFzZXRfMmIzNGY5NWItMjc3Ni00MGE3LWFjMGEtYWJkYjNkMmIxNTFmLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzgvMS81L2RhdGFzZXRfODE1MzUzMjktNDJkMC00ZTlkLWE3MTMtYmViODAzM2UyZGI5LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2QvYi9iL2RhdGFzZXRfZGJiYzg0MDgtNjNiNi00MjY1LTg4NzgtOTQ5NDJjN2IyMDE2LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvMS9kL2RhdGFzZXRfNDFkOTRiOWMtZjJmMC00MjUzLTg4YmItODk2YjI2ZmRiN2EwLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvOC9hL2RhdGFzZXRfNDhhNjMwZmMtZWE0Yi00YzE5LThiMGItZmI3OGRiNGJmZjdkLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvNS85L2RhdGFzZXRfNDU5ZDg1ZDgtNDg2OS00ZDAzLWJkMmEtZDA4M2U0ZWNmODE4LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzEvYi8xL2RhdGFzZXRfMWIxODk2MjctMThjZC00YzdjLThkMTktNDYzNzE0MjA1NzRhLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzYvYS8yL2RhdGFzZXRfNmEyMjg3YmQtMTI4MS00Yzk5LTg5YTYtZTRhZjk0NGMyNzJhLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzIvYy85L2RhdGFzZXRfMmM5NDI0NDMtOWZhOS00OGE5LWJmMzUtMmY4YzIyNTg5NjdiLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2IvZS9jL2RhdGFzZXRfYmVjZmJmZjktMTVmMS00ODMwLWIxOTItOTNlNzg5MmYzNzFkLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzgvNy82L2RhdGFzZXRfODc2ZDYxNjAtZmNkNS00OWUxLWFlNTgtYWE4ZDMwYzk0ZTA5LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzMvYS84L2RhdGFzZXRfM2E4MTE2OWQtNDU2OS00YzZkLTk0MTctYTNjNTkyNGY4NjQ5LmRhdCcgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNC9hL2IvZGF0YXNldF80YWJiMjFhOS1jYjc3LTRmMGMtOWE3Ni0zYzAxZmQ2NjJkMmEuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yL2IvMy9kYXRhc2V0XzJiMzRmOTViLTI3NzYtNDBhNy1hYzBhLWFiZGIzZDJiMTUxZi5kYXQ6cGFydF9BLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvOC8xLzUvZGF0YXNldF84MTUzNTMyOS00MmQwLTRlOWQtYTcxMy1iZWI4MDMzZTJkYjkuZGF0OnBhcnRfQi5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2QvYi9iL2RhdGFzZXRfZGJiYzg0MDgtNjNiNi00MjY1LTg4NzgtOTQ5NDJjN2IyMDE2LmRhdDpwYXJ0X0MuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzEvZC9kYXRhc2V0XzQxZDk0YjljLWYyZjAtNDI1My04OGJiLTg5NmIyNmZkYjdhMC5kYXQ6cGFydF9ELmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvNC84L2EvZGF0YXNldF80OGE2MzBmYy1lYTRiLTRjMTktOGIwYi1mYjc4ZGI0YmZmN2QuZGF0OnBhcnRfRS5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvNS85L2RhdGFzZXRfNDU5ZDg1ZDgtNDg2OS00ZDAzLWJkMmEtZDA4M2U0ZWNmODE4LmRhdDpwYXJ0X0YuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8xL2IvMS9kYXRhc2V0XzFiMTg5NjI3LTE4Y2QtNGM3Yy04ZDE5LTQ2MzcxNDIwNTc0YS5kYXQ6cGFydF9HLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy82L2EvMi9kYXRhc2V0XzZhMjI4N2JkLTEyODEtNGM5OS04OWE2LWU0YWY5NDRjMjcyYS5kYXQ6cGFydF9ILmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvMi9jLzkvZGF0YXNldF8yYzk0MjQ0My05ZmE5LTQ4YTktYmYzNS0yZjhjMjI1ODk2N2IuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2IvZS9jL2RhdGFzZXRfYmVjZmJmZjktMTVmMS00ODMwLWIxOTItOTNlNzg5MmYzNzFkLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy84LzcvNi9kYXRhc2V0Xzg3NmQ2MTYwLWZjZDUtNDllMS1hZTU4LWFhOGQzMGM5NGUwOS5kYXQ6cGFydF9LLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvMy9hLzgvZGF0YXNldF8zYTgxMTY5ZC00NTY5LTRjNmQtOTQxNy1hM2M1OTI0Zjg2NDkuZGF0OnBhcnRfTC5nYicgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcHMzNmFua3N1L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvNDkvb3V0cHV0cy9kYXRhc2V0Xzg5MWQyMDQ0LTUwMmItNGU0Yi1iMzk0LTU3NWM5ZTQyYTM2Zi5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuNDZpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjI0aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuODRpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCiAgICAgIEZpbGVzIGluIHRoZSB6aXAgYXJjaGl2ZToKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hbGxfcmVxdWlyZWRfcGFydHMudHh0CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3NpbXVsYXRpb25fc3RhdHMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8xLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL1JlcG9ydC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NlbWJseV9wbGFuX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzNfdHlwZTJzX21peF9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfM19zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL2NvbnN0cnVjdF8zX3R5cGUyc19taXhfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfTC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8zLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzFfdHlwZTJzX21peF9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9jb25zdHJ1Y3RfMV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xX3R5cGUyc19taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9CLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfQS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0UuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0IuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0kuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9FLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfSi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzJfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9GLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9JLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvY29uc3RydWN0XzRfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0suZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNywgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDYsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wczM2YW5rc3UvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgo8L2RldGFpbHM+Cg==')); + 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==')); \ No newline at end of file diff -r 3171db614963 -r 044d36066cb3 output.json --- a/output.json Fri May 16 11:32:06 2025 +0000 +++ b/output.json Fri May 16 12:40:59 2025 +0000 @@ -11,93 +11,93 @@ "inputs": { "adv|use_file_names_as_ids": true, "assembly_csv": { - "id": "a2e8f3fd1611e7f5", + "id": "c02153e44a10e06a", "src": "hda" }, "assembly_plan_name": "Type2sRestrictionAssembly", "genbank_files": { - "id": "1d1943aa60deb628", + "id": "a7025157dd5d3039", "src": "hdca" }, "topology": "circular" }, "job": { - "command_line": "mkdir 'outdir_zip' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmps36anksu/files/6/a/4/dataset_6a407f29-14a2-4358-8781-97a5a60006bf.dat,/tmp/tmps36anksu/files/9/c/0/dataset_9c05120b-2a93-4298-a718-2db482dec9e0.dat,/tmp/tmps36anksu/files/e/9/d/dataset_e9dd6c4a-5d1c-48d6-b072-bb67929590f5.dat,/tmp/tmps36anksu/files/c/2/a/dataset_c2a67b9c-bd0d-483b-b229-1f396bc8c275.dat,/tmp/tmps36anksu/files/5/3/d/dataset_53dc6b3e-3d2b-4fb7-b279-8b7204ae8d00.dat,/tmp/tmps36anksu/files/4/0/f/dataset_40fa89b4-5e49-467e-aa6a-d4b8c9b8a8b0.dat,/tmp/tmps36anksu/files/1/4/b/dataset_14b815cb-038e-4836-bb4e-3f049395271c.dat,/tmp/tmps36anksu/files/3/2/7/dataset_32719970-8009-4818-a623-ba980af84d70.dat,/tmp/tmps36anksu/files/6/8/e/dataset_68e30a2d-a44d-40e6-a619-efa1e8cd6e4b.dat,/tmp/tmps36anksu/files/2/3/c/dataset_23c06fae-96cc-4ff8-9e23-111139ce1a92.dat,/tmp/tmps36anksu/files/d/2/9/dataset_d29c16a7-2470-418e-a8f1-1da7c5372dde.dat,/tmp/tmps36anksu/files/2/9/0/dataset_290bfdf4-f595-42f1-a2f0-0f9a9d8e71df.dat' --domesticated_seq '' --assembly_csv '/tmp/tmps36anksu/files/4/2/0/dataset_420c4b07-ea17-4e63-9f48-4cc364e28432.dat' --assembly_plan_name 'Type2sRestrictionAssembly' --file_name_mapping '/tmp/tmps36anksu/files/6/a/4/dataset_6a407f29-14a2-4358-8781-97a5a60006bf.dat:part_A.gb,/tmp/tmps36anksu/files/9/c/0/dataset_9c05120b-2a93-4298-a718-2db482dec9e0.dat:part_B.gb,/tmp/tmps36anksu/files/e/9/d/dataset_e9dd6c4a-5d1c-48d6-b072-bb67929590f5.dat:part_C.gb,/tmp/tmps36anksu/files/c/2/a/dataset_c2a67b9c-bd0d-483b-b229-1f396bc8c275.dat:part_D.gb,/tmp/tmps36anksu/files/5/3/d/dataset_53dc6b3e-3d2b-4fb7-b279-8b7204ae8d00.dat:part_E.gb,/tmp/tmps36anksu/files/4/0/f/dataset_40fa89b4-5e49-467e-aa6a-d4b8c9b8a8b0.dat:part_F.gb,/tmp/tmps36anksu/files/1/4/b/dataset_14b815cb-038e-4836-bb4e-3f049395271c.dat:part_G.gb,/tmp/tmps36anksu/files/3/2/7/dataset_32719970-8009-4818-a623-ba980af84d70.dat:part_H.gb,/tmp/tmps36anksu/files/6/8/e/dataset_68e30a2d-a44d-40e6-a619-efa1e8cd6e4b.dat:part_I.gb,/tmp/tmps36anksu/files/2/3/c/dataset_23c06fae-96cc-4ff8-9e23-111139ce1a92.dat:part_J.gb,/tmp/tmps36anksu/files/d/2/9/dataset_d29c16a7-2470-418e-a8f1-1da7c5372dde.dat:part_K.gb,/tmp/tmps36anksu/files/2/9/0/dataset_290bfdf4-f595-42f1-a2f0-0f9a9d8e71df.dat:part_L.gb' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmps36anksu/job_working_directory/000/14/outputs/dataset_19827d46-96d8-48c8-b434-17f9e4732aec.dat'", + "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_version": "", "copied_from_job_id": null, - "create_time": "2025-05-16T08:54:45.629427", + "create_time": "2025-05-16T12:35:55.635805", "dependencies": [], "exit_code": 0, - "external_id": "69472", + "external_id": "205109", "galaxy_version": "24.2", "handler": null, - "history_id": "1d1943aa60deb628", - "id": "306d449b91ecb0a3", + "history_id": "a7025157dd5d3039", + "id": "d49d8be9932a8ee0", "inputs": { "assembly_csv": { - "id": "a2e8f3fd1611e7f5", + "id": "c02153e44a10e06a", "src": "hda", - "uuid": "420c4b07-ea17-4e63-9f48-4cc364e28432" + "uuid": "a522972a-c994-4ec0-a130-e3e1e101d126" }, "genbank_files1": { - "id": "1d1943aa60deb628", + "id": "a7025157dd5d3039", "src": "hda", - "uuid": "6a407f29-14a2-4358-8781-97a5a60006bf" + "uuid": "eb40ee5e-5155-4303-9230-94926c63daaf" }, "genbank_files10": { - "id": "b55875807068e59e", + "id": "26800a0030991202", "src": "hda", - "uuid": "23c06fae-96cc-4ff8-9e23-111139ce1a92" + "uuid": "184d9904-3705-424e-b3f7-e5b7b773880f" }, "genbank_files11": { - "id": "4b64a67f616af776", + "id": "9e9c740782c078df", "src": "hda", - "uuid": "d29c16a7-2470-418e-a8f1-1da7c5372dde" + "uuid": "4a10d392-6ebc-413c-bd71-db425aa1aa0a" }, "genbank_files12": { - "id": "1fda217ac9617c88", + "id": "d70a40a14f24deac", "src": "hda", - "uuid": "290bfdf4-f595-42f1-a2f0-0f9a9d8e71df" + "uuid": "835878c6-84f1-465c-b34e-d177885e567d" }, "genbank_files2": { - "id": "13a3899f03fff34a", + "id": "ce87194f2a532da8", "src": "hda", - "uuid": "9c05120b-2a93-4298-a718-2db482dec9e0" + "uuid": "4a9a1335-c528-438d-b80a-62b9608dbade" }, "genbank_files3": { - "id": "6872e1ad22eb2e5d", + "id": "e52e8d0a017d5bd2", "src": "hda", - "uuid": "e9dd6c4a-5d1c-48d6-b072-bb67929590f5" + "uuid": "7caa4f6a-a734-461f-ac38-c95442632c5a" }, "genbank_files4": { - "id": "248d7f69d2402068", + "id": "4dd0eedec5562f6e", "src": "hda", - "uuid": "c2a67b9c-bd0d-483b-b229-1f396bc8c275" + "uuid": "93127db8-2409-4544-93e5-6243a6d253ef" }, "genbank_files5": { - "id": "a363c57bce5ddac4", + "id": "d1cbd0905c1fc860", "src": "hda", - "uuid": "53dc6b3e-3d2b-4fb7-b279-8b7204ae8d00" + "uuid": "e292919e-0a9a-403a-aa6b-30aa552881bd" }, "genbank_files6": { - "id": "8ab843ac4a5890da", + "id": "0494b81690cb2f5c", "src": "hda", - "uuid": "40fa89b4-5e49-467e-aa6a-d4b8c9b8a8b0" + "uuid": "4a7c1e6b-f470-414e-b533-7390f74a64fc" }, "genbank_files7": { - "id": "6206f91299006d13", + "id": "edce0bc0654ca8cc", "src": "hda", - "uuid": "14b815cb-038e-4836-bb4e-3f049395271c" + "uuid": "7f3df904-0bc5-456a-8679-cc58d06e214e" }, "genbank_files8": { - "id": "278f145ab0478700", + "id": "052d0d471d180256", "src": "hda", - "uuid": "32719970-8009-4818-a623-ba980af84d70" + "uuid": "a605738c-9b6d-44c6-891e-01cb729ea4dc" }, "genbank_files9": { - "id": "84aedadb70ef205b", + "id": "5827a0347340e98b", "src": "hda", - "uuid": "68e30a2d-a44d-40e6-a619-efa1e8cd6e4b" + "uuid": "10c35405-af25-41d3-9dbd-a411b4b65b98" } }, "job_messages": [], @@ -106,37 +106,62 @@ "job_stderr": "", "job_stdout": "", "model_class": "Job", - "output_collections": {}, + "output_collections": { + "construct_gb": { + "id": "ce87194f2a532da8", + "src": "hdca" + } + }, "outputs": { + "__new_primary_file_construct_gb|construct_1__": { + "id": "68bcb17f47b988de", + "src": "hda", + "uuid": "2c9a5458-38f0-4591-bb2d-452aac86ce0b" + }, + "__new_primary_file_construct_gb|construct_2__": { + "id": "7cb8b41737d3d7aa", + "src": "hda", + "uuid": "026f0937-350b-4ae7-96da-1e685237a8c8" + }, + "__new_primary_file_construct_gb|construct_3__": { + "id": "e558db6e0f20f34c", + "src": "hda", + "uuid": "df750e5d-b2f4-43f1-bf95-aa0d980bb98a" + }, + "__new_primary_file_construct_gb|construct_4__": { + "id": "87544afc708050c8", + "src": "hda", + "uuid": "0ba9a694-1b4e-4ff4-b6f2-87503d04cd66" + }, "output_zip": { - "id": "306d449b91ecb0a3", + "id": "d49d8be9932a8ee0", "src": "hda", - "uuid": "19827d46-96d8-48c8-b434-17f9e4732aec" + "uuid": "109d2ac1-716e-4c47-a2b9-25e9d68cd9b7" } }, "params": { "__input_ext": "\"input\"", "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}", "assembly_plan_name": "\"Type2sRestrictionAssembly\"", - "chromInfo": "\"/tmp/tmps36anksu/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"", + "chromInfo": "\"/tmp/tmph0r87skq/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