Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xi/cryptpadtab
encrypted notes in a browser tab
https://github.com/xi/cryptpadtab
Last synced: about 2 months ago
JSON representation
encrypted notes in a browser tab
- Host: GitHub
- URL: https://github.com/xi/cryptpadtab
- Owner: xi
- License: mit
- Created: 2024-05-29T16:32:33.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-29T16:36:05.000Z (8 months ago)
- Last Synced: 2024-05-30T06:38:36.844Z (8 months ago)
- Language: JavaScript
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cryptpadtab - encrypted notes in a browser tab
This is a toy project to learn more about some modern web APIs, notably
[streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API) and
[crypto](https://developer.mozilla.org/en-US/docs/Web/API/Crypto). It is
inspired by [notepadtab](https://github.com/revolter/notepadtab.com) and
[staticrypt](https://github.com/robinmoisson/staticrypt).The page then consists of a single textarea. The text you enter will be
gzipped, base64-encoded, and then stored in the URL. The URL parameter
`encrypt` enables encryption. The URL parameter `view` displays the content
instead of the textarea. That way you can also serve encrypted websites.Example:
```
# password: meow
https://xi.github.io/cryptpadtab/?encrypt&view#qP_7Jkx34NwdDeFBemCAQ_mb5Z1SWNiVCVH8yf0MWRZSLQUwxCeIfPcXy7OaOekULvaxHK6xqt1DWyEm6V5yYUUoTPwayITuABAbPK0C00TcHMoPI0ZUxA2tYqeDwemGsK96C9erbSZkcB-0tROkKtx1ND_0bd97nlzp00ET9UsGvYsk2pZ_eRK4nE0H30LP3jJkLi56wywUKeR5dO2LunZfg-CBHo41HV_jqyEnBtoeJ9Ga0xTvar-PD5UL7jXx6iVAOA2YkpFjLNTf4Iwo5N5-lfaQ122Is7bS4FBSDG4j2Q-Sl5QeXgqOkcDkKcOp12muYhYdBgzbpO-f3lKeTolIRSJcSxNuWtz-IVMATwGAxLPB-y8-kJbb7GBjtLp6KFw8M3j3cRvbf0inrO8aHCvyEimfBXFgXzhbwnIsWXVfHV69nWaaC_JCZyixCSdyXAGYNcXCeLc8dFwKLabncMFvPD1QahFj8YshaBjylHsUi2uhBi6RRWHpSl3ZACix7YFjqxKDDm2bpy1cBMqhD5AlPxQg4T09TirwIzG1cS3xNs8wd4H-dIXlV98xF45-65BnqIttnIb4XoQ-56lRfrtWYlPmTTfwL7AhI951CoECVTC3uF_OUfhcanf6Ae2dA-T1_F4VcsImcdi3maJrBLYxvgYkT6ym7yxLeZnE4WvkGYBO_8hB0iOsOb0oyHKaAn96ZK5xdwGAsL1wMRNQ6oFVjsg3I4URAg_K6fGN9X2n1eOfU8mmx-JCsah8NnyL1Tk2Zr24TiTNBTf6JZGTqDueyJP3TVgeT0pLbIF-MZAHy7kIAJqnS60F29unURiogcC6KpcQkq-kbIi-7mtDB01buaMImkPaHtlafDrbXEL_XG8blWQ8a_Qus6FFn00NI95Lg-Os1B1D8KTvnClWm-dm1Y71KLTOaRvXV-aWEM7y9npfmlIps3MDkzhKtKKpoJBc5XxMS2UkARLNCrjDrSqp5Q5M8elIQtqGoYGUKfienT14viq3e88dx8Bjg0f-YxRPc4NcQHB_nfy_Oi8OBkHazFIgEik1ISOWGmSjQ0lZHCzDrHG2Jda5h4Yiozy5nsPeUDQi5_C31NNCG2fLHgjtHR-xe0nwLs1QpFytFTxmJ3vZr0P6YpKq8NMGtkVQGdS6vEs7R7UDgs8uSBlU0EZepjULUlVO30RtolOJq4vnmC3xGqGHPLJ4YR6lUaY2gAcv_FYDAG-wL5Zm3QXkrwEWqyGrTcEZue1HBMzXzjmlvHhZq4lGx_1IkoVfxeib4_logCsbHIqizeHU_WMNkh6PqmNb7nSLWgoEQiJTwEuFdXObU744jzORGSRj5f2XVoxg4wBKcaD8ifl0SLvChkymWSaXwQhf2PHKkQ2LFGFM8jOxiMBkGrnWj9jJNsFnXq6EToLnyhaQBhXladd626LWz1YmNlWAFYFbJvaiysUVRiljJaZb72TdasijnjIYUmKE-ztA07oUT7i4G7II5pfnfCyI5atBUFX-WewH7mtdN3ZaY1556noB3k5zPCc6H8NIRsw2Ql0p_z1nUjg7RikUvCAFs-8u3YuV9eLZR2I3_XK0_BCU5NcbpEoXsZuOHtAJbGuWlVzpO5FDug4E1_veA5X5yXdBpV81TgBVFFTYrRAXk82FZJOcQFTUh1F4E2LRnwbYaUa_-KF3oJRjJjFaWmA_4XaHb4V0QgGt4w_lkZCRFyYogEIKZCcAUuoFq5f29LoS5KHbFgHgfKZ969suT8EsxchxTCLa2LmNWSXXWNJL8EeVZiQkYpgAfRHMA7nVTn9TYd2prm_EYhUHRkcaPrHKPmSqsNK-pL8fXqGdxogf8UDEjOcLognDVHB3Ky6w13J6t1AQpRq94dTM2g-oHV4j-oi1GCufPGP7zMljxw3b6aSbsjUZfpp2QokvWzAZYjdnNYxdZe9tM9K638WMuZX1k2leDLlM2IFHH4OvJVY7tHcWuEc-QUV1wkjV0jp55q3g3uIjDvpT3dqcAqXZVRraM8U3TqUYPwLU0pX_qGADsj-lM_ML-LI5V2knuF9WoptTF6xTdOjLo0ol8WQ6cRsNgyGVvn1kw13mTagjmmd854W06BKj7DQTUbeKLquHu54duJd8LtEwAZ9fhhZJN1z4c9KuFYZIuWHfjS8xDR_j6n4v5Fvz5KiAnLSkgs0SpEa1h6BM8zu6aeq7j9pIbvg7GdASyDjmuj3eXJnupYq0qBYn7J5iId3Rfl2XQe-ZUyCUKw_tE_pWZLqNbaJrHdb9yyGFIkuo7RqKlU1EJoFGnDgDiWNw4qNsL23-f8PPIY5khYqJiHTH6Q2Y70u9BRM2x-nRhg4avTyZhAzTTaHvq7hQ_Us8AUqgnwDjwJPLNbjPeAakbRbQZ20hwL2qJ2IOV1QXXPJ19sZwnOnVDep7yAEhmmbnI3kNr_ICOe15kXRzZRWIJL3UsbNsHltXfisjs4CoR73w0wn34wQW5G2E6mKe6jOTLIcud1tbS3eNM21_Q284D1-HkEMImGpcuUCaONUN-vJLTWfRovuL996zRExGhvuNCOePmfC5OC9VCnf-zndit0ETz9XiOrzVmrmjwm_gqr-GxrAsMCMwgLnN4ChMh_eukMpiEqL50DNCfP587wNwK9JALTPsdfsYn9Nazq2-QeWSSGNOC4wZp9V2tE1unQVQihjdwFmibmZrWM_-wZF9Ey_g1rpRUWjiD2XY6FMgLwNDtelqqsg6ghe7y6aLBewxsstWnChGzgeD_CYbQ7F77Gg7IzEyM4s28agcnUv56C4XbPXlOKI5fH5R3wEzrtZleKFbdBZNO3mooF0r2ccvlE9iBT5JdjJODKeUjpLTrFBOnuT1h9-OvihCuv9jMXULT-JwQNceMWurhrwoGjE5iRRIliQmAHuQePdXykX6s4paAdzxfwVLQxcOp-cnuGGw0y_xkzp-3mfxujmjhqgWXWHakis3bwBciXz-epuJDlCs4WekbdLc0WEXe3Kx8IXYHqA0aJ6sGyyTqrbuhgUhix2j7Nm2dDM5k2OjTErKpmmnNOQCdi7aQueYWyP8hdRgCGq3q1dBKoBwE1yyyopvoIAW-OCjKXxPMIIrktsd9_If4BrcwLtbxODeu60Jez4slUQMhCVRr7Fj_pesswGUTD_07ZxBS4GE2zOs9LKvOJ8zmCQ5kE2xzmagiwVSSdhABm86gbCfNPPm7Am7Dw_b40y7LRjAQR2WHU3ufB3DIGvV_XUaW02EjzJozUVivH0XHmF62rVKtPuSiSrW8jgAAhMYkS1ROUV98UNCRO93rtJH-Dpy0jvHpn-8O0S53GTP-_5-6tspq1KpMI84bHkhDW8x5QiG7uMfSMiS_yHrFinsgxJhkzkzl-SErTUM0ZWKhYR2gfWG-fp-knpRqr9eZDcTBIlnKeaOHR8YI2WqoWGn0AE2ePdZ_8eXk4rm1NoKjlALjdNJX4BXLLEbMX5VaMmcZvivxfxTVomD_RT1YUDN6tGxmehulufFWgXHd-fs0cdqNHs53YJJi0A3xbLFrWQ01T_xJOm9ynu5d8zgpXVWXmf3aXH34wlATOkCmhgud5zmY8SXOGlcxwJyJd60TSTP696lXlF4eq98Tb8x42xqKHV21gCCLqzVbTAD8_MF4iWW2SuNIEWUpmvapImmLjSRVWkbrwen23PoTaZkGFvZnh6d4m9hqNMWj5tePPY6bqvHXVzf-4sWFggDLxsnxOzOqRJOWgG0Rh56KOhaoLvFaVVEchoqCSPV1YetRQykWHm5vAI8EBtMWrWNRbMa25Tq59Fk_f5t48tpKvr3IiR_QNeziT75Yebi_T09nwxKYcMLFwAl2yLfTPaGohU247msri4g2lGWgXnUGdl8Q1b0O4HF0v0T2z1lnTLuZXHFePsxpW6wDx7P__NTOOEdRn6Qk85bgTYG3uCjYMHPiE0il0cO1YWVO2KpeQIzqMAa4CkIkfZRhsrHNCKwZf6QAOC-XS52c40riaFyO2fQVlTojrUVXbyswIDXlcfTOQPNR5LhnWwydjK1m3-2ZTboKzEmbT90Uv-nsTwoSrnhH-aqgoXsEg9HTrx5mXoKA0URkyDECHNdsWpUpd4AGDFB9JdldUmfEgvjijr4NcNdhxVSdiKYs9jMdg609IyH7kh38fWL9cGQclibassUsQ3fGK_GEFbuASMVSDY3WgD8_E8-IurpNUn_w6XNK9yRjwm2fdGFzTN7HoBQY1LwCx46xNbnleVByMi3J45__OyMxj4-wMq1qbNm_YKA8rADc0lOJJx2rM_dEBu41_pFgjn-4SGyLeCH3Jqu-u5jSbZLLxEbjTMs_J2MOogfLBFtw6bDOdWpHT7PJhnJl7zKeiiSK1aOyWUMhtIEP0DGIH2W_4b9VHt05TkiIVFS_v1jyE0AQwBsBHLJ2pqECG_gvWBJzDKFR4SOdy3ks1KC5uOJ0uplBPYCKvXl427AnOu0gHeGI3PFQy8WVHWR4zflh1L1siskvt31zKdlZdrY-UQYgckQClzLdfsrnldp6ksgBypY3_ervLueOFY4h4Coqs2kC4l6oA7w3GBrKESFoUP8xYLK-hJkh3lVb7wxK0JDnA_HgyNi5jRjgJa7i5yKY37hom0sEKiR3xmgPAbXJ689in4mWijEOhJCUDu3P2LpsiSFTbiH2roNthzd3TIzL-Wowwpru2_UK_yfyogQgISvxcdajA7TJ_G0bQfiO5ka04yDQzGNDTeQH5T6hBT2_4tU8ZYKMlVfEx94yQFM-RRLod23fFb-5LV1upoIOlfFTcAaO8N1n50bNHMDn1sUeKJt-4Y3ceNixa-mH4RmKKh5MTqF70ihgpSq0UbitjU5amlCJDT9sJAqTYfuJ0wwoeswNBhTfaEQRBWCqFEYHETpznSO9kTau41H3AHibpAcNFlDo5-oL019gpX7cOAtYqPGHRZepA3bz7DesIWixfaYvpI-PQOtbQyNtIsqLSpCX5DgVEYrxH37-maX5qedeJa9Scf-5FwquDMV2iVqPFFHi5uGazwv4Z43HAbBvbEx2gELZQB4kYADOkq2lvF5M9lF2IvFzxkoThbHNI1ZK1GwnRNmv-RSa2EuOs4jBmZBoHmwgFE7rWrjuS2-6SJdkCIqjTTOr3fsZfsUOIkxeBp5d4LIdxUrTWOerLygz2xZeYNCYIK17u-CHhr5QTbbHLiKol3GeIcKHvMPQrNgdsxf4gfhNaMYm08cGXaX_WvOYEIrrvZ_zDlrm6KF6lcH_iTwjA7K6JZjLxUSEgHrGhwg_Phvt8yRoDAJzw1DCD9rXsHdiL1f0dptMNjaKsLbVCStzpMqRN1G6KVAxgxwTOEPkZ65jomUWsZOTyBABqF0QiQVnJcqUi5ZK5J781xWVqwqe3cD0GhR32XwvZvfP_d00_11e1CaUJiKgMiSi-OYSbu-leNwb8_giTHAEQeQ61J0lJ8lGbuzDgUI5hBnJrbqKW1XhEbDDFU-56TQ_VzVpwMfqipsUClY7zri0VAsM3yd5FhyrEE7PVQoC7MjglKk4BKrJ_EVVG0Ry6LH5Xj2NKN8v0n5LG6WzFwDerJd-UtR_fMQJV6blBeh-f9RFR5TD_2T6C2kANzpq4SgQP9uzo6y9vGn4IVxWR9iDB1Hz8gaiST1MTzyipvMj8A9FGb3mJcR5GzLy5RB6koxkDqx2f_BgvOQ5EFEnwolS4XO4bLSHBjjHK0f64uYxgAiwjxfjboR0ukH-yco_KtkPeMHYahZobSDx0Pm_-00j_Rwdi0BYSQGHsVMTz5D49hWR3kwKM5yK3ZteuJ_FuvzBAX2Myl8gwc8Pjf-CebqvbySrxFrmeMfWMVgvhrk5XFFuP-Ocgm_uL0jm3WwY-ldFyxRIYwyCB7L-MLbfWs_dfbZwNy1S1r_dViUoQ5TzN1MYw2CkXoehrZtUg1WvlTeLsmKuyO1hyxDJ6jgR10XEEbhKBfkx7rtMr-5ayhITj5VsUbaYen4jWRiJBkJlTf-ZOftR6vKyxor0WM7BnYyk4bqeflEAhkBf1l20hOdyvr2qsVcF3MqQHQSycnvQr2k6v6a7_KOmS0ETr59L_WQzuNC2fFbmDxjRekp5z9Dai41td8gQzExfvUXeG89_vA0EuQS6nil6jZ1vHRW-P3_FP7jHMJf2i9jGNhEMyL_jGqEVgtlYhr0Qo3NlAj9r0XYwWUJjXNN4m6uROTs065fcJzVoWxg8PfZvEKLwwLVuy4eA9iHH40HFyDYAHhzMDLFqwb_8ozTbKKLDdP6Ijzp8FTKxRUEoXsfnLVEk1Vn2QYlZWDEhxr6qprK0lmNN2Vo04I3v1JvndlqsdMyq8QQhBhfr5f_Cq6M4YVR0Zfy7yuVJg9omNGadndSC4eLevKtKkd8v6-5GOTJediectHOtRNQxNO4p17SdJlGTzpkmlb0tAJjI6Cir_XXAkl-LLVNfXZ1Zfiut3p2kxaH70LrfVLsU6btj4HUrsqfqxT4D4jPkRQdOSEX9nBPxDBT6KP2dVpjjuGgKDiJnn2sYZ1nKL7j1ssNqMQCK9_jAJTvRhNxgd9_Z5GQVi0GcRF2GjActv2lonP0MMk0-OHhTGoftpN5awTAx7NcmJV97nI0wkh9HhVblyHxej2-aVv5v3-0ynUH0tWjRsZU2cpuNUDCVejNHfVpjObBUdgEzTatK2D65rIJcSuS6t-Ti6H4PGHCUdbR8saojkWr4kXOHPWCuICQBaXrHAdSwBAKW0ujo85z9c8Qk921hsPDlAeRTnAg00vAjkK8kd25KT80DsIQpTHVBiNTwgT_WPAOP55lrNfgJlJhkqIMLFdHJKC8mvo4oCiF4PSZXp5TyHPVhnFd0Dg8tK6oRmt65cmC7ceHEsWIC9ZktwZfSxPFFQriScHZyl0aFu2kyPkAhJMPs-q6vwkYVijbZourI1ZQrkaF5vRhp1KCEQ2mswaQfmV1ai2VA0TZGwjZmSiFoIHmbqLoXkqnT-F_iK3OIP3ln3KxaAps9Cr3GdR0cSLbXQhUzQwtQYLMRAs3XL6DAL-mnOqKenHWqjgvfPv0vMA2UN8oPjvBPD9c2cuzTlcKGS80AFP5pWhzZBARpt8Pq1kZXrplsOW-MT2WUF6urBTpFthI7vg89dVBBfwGocFC5glXhUOkoFgMEK572FNgzTgumTWGWaiat49nF2m_rubOfJnQGVNJfI9D4qj85gYRUQ9FjrQalvbyg-bHAGAFuXo6Apg0N0omsxrzgIjqS41xWtxADdq0RZJta-EqgqZAX64isBMYtyvAGxfuQx9DhKjJQJBsSp5lh7U8IA_Ny2dvMMBEKR7DbqvsnYS2blocxUwpmzsv5GlQlimaOwkAL851rSaM6uLupF2FEUsltJvxe95NkdvMk5Jp7c7KZWz9FnDvTi786xRWQ41p7wez_0OazdfEd1By4xE1WpV3ecknNVCdQ-3EQXd7C5M0GNqS4MSw6xrmFBec-zLWC-ZQr0nFvrdixYf5oqNAq3o7G0KZgVrK_TX8EF0tjT_eCZGO8neOOc2wV2xLfsrG10r-qS5sM6D68GM1MCsesSE95aRATHuDC5wjgn2vTkz98e874qfT_malW7ct4GRfTYB3b4uDesbhPVtE3dBV0TqralHLjQ-mw8ZHR0R-GSDFemli_F2wgfrV4AcVtnAEQNMG_APLIpQSTk1okDbOnjwhms5gL01yEU2iOlBjQgV2MM9VnofmYE4xgpyaFMuAWFLnn1Eq6umb08EIAIQYVUtUCEg2JvVNHPz4b2BpM195P6qMyRTv9u6xq9kqKq8YxQTnKoN3CxATBrukOQaQ_7v7cV2SMN3-rl3p2wSqlb1OzJVnTzfbGXipGcK8AZfPrr6qhxr0OfWHGK-NgSUklwzxrI332gpDsdt71MZVNiT4ClEeq-kVHFwHkn_kvFr-hVWulv1qgisDKuLafSMH6hAYPtrkJQ3dc9sTAfTXZz4u4kCAnNWJtQ5czGzMVMAeSEF9HRaKKQp4ZRBJ5uUSQDqYJG1UwqGhaUoGndtQJQoiYA1lFeKhAB6lWGLB8G71nMyz5ehh9h5kcWN7MN-zj1fhDMcCHSPdcVsF3bFTt9dNrEed0pRyUsYNLV6PdTKzgNzS5Hj_JeTeckdm4t1rCMszeZImv80fms2YF0tLqm-D60QWoqx3KBaA6m5Lk3zzn09vP0SU3kmNw1XsIEEDW736-3urbDzvau8_7Soxt1QXKOUx86IXRBUBH84vAQofPpx_UHuW_5SWixT-py0wDsI5N_fbq4CpeVDuCPtqcdHm5ZUiMiLEvar755w6pSCm8zyvhNE1pGpfvY7qI2Bfz2VpYqeyhoFlvPgK0Fbn4I2auZDU5KkW3A7KlLnOBnHiIGNpJPyVn5MdE3rMlSt2aYzfKbj4obfZFWaTS-aUvn-BYcA4A3WgwO1x228_aT1CnEaNWjzF46Gs2HSnZcSyun-8xNKD9GdKFMveO6Kr9YCAzn8USqVoyzj_H2IfQ8zciB4AfWA2I8OJnfNfbC1eKRWX_zeCLe4bi-VaKe3lDaRBefIpTBWbznBkPckCbhaIA85QEE_GvUpw2ZbOFsUR8TMpJNBfqpNNz37_iFUIJGZ2nl8h37GYLxdcnptbeCuy5IJk9t2Nl7HSIENPxKCFYSIUsbf4AdthFhbWEro2W-ml_iylPEaitm9H5hYMF3d3xMIJTyOjrZLuZ7imWwZXsDH7VQZr02YrypozT3QidQDkOc3dlfUW84_0Rd9_coXHIu2qXtsxvj-OTrpjkZMThp3DvRLOgi0eo9IFDz6zNTc7y_61DC34YxQs-mhiMrrDb_bpN5pCPsCcUThYriUOcf5ugtzR_qrgq36KYhZUkoKIQKdfJsI2qtm6rD83Q-peiFnWWiZomKhvm_tOmU0S3OiOlPfBCAi1ssdEQE033xYKA9f17FLPmXkrRooPB86JXBvTaU3ieesZue9SoAbHZVExylcnZ-V_hj5tDk2w-OtDyUIUV4Jvz0NUzFicsvlVqK28MI4B9BNGj4V6eUcbjEtt2FvXM7A_jNrEbzj2vZ6ZXKSEkDl1-I27QMbgd9gaJ7AW6cYlQKaJI2eh0AMbUhOWJAmy_t4QakzdInmH2hG1smlV48HV7m0RSzS6Be6MSIWvGKpKElzEnv3H9U5ckDEeEK4eZSGEsLWVVfqmkdgQUd6JfU_B_5ZwO5A0pDlLsvMtNMmbtWwQJh0gnPHN-RTdpBXtB6Qiy6LQQQT5mBlS-zQb7Fwgs1eQi8eUkWJ3nUbr1eca7tlHxqoEi0Wxxd_rR1q8WdG4d9XJa_8u3DNrlfyiOgJxg5YKkdhwyPR65dKepZ6CRjEe3sF6CI8fP2nYx9PIkDdLq5ga2ovPzd3s8GnGlDETrlrCDgcfqQStGO27MQTe80WrZIzN9O2IiAWy2vJt7rKSidu7O0y5sdh5s9i8MdlVKlHIrvDFXPmRczXu03wF0vxfAVKI8dULUyeWApsL4JtDCsET8n26WXdOe2LC-TA8T8E_HiQ9rW2w8CIA-LE2Y9m9sWwiY9SRYLtlT1Zne4a11c7mCtdvq3SJjTgxZlGHbiKo5sTIhsOr1x6lZ7S_R1uw1dLpe7VrkJqt62lvn3HGvlnOQ2KXpzg3zLbEhzG6FeYxnpF_ds5Km9uIRCSkojUHlRJgUpl63uriUHxyyTFa2CvXcORSCYDeY2mJWmy7IagNSXgzcmK1mGUEt8ho-jhhHzTzimFL6agnJVzfTTkEPXZz815PfhgVtUDyWSsb5hqPQ-oUNicnfUCIdkDVejm-uWJexh83QDcIsTaYim5cKCzPfYO4awfQDC3gMOwS1IGfDv9eTsdaUp5609giL7oz_cK9lKPG4iGyTLMChYO4NdGQgCkBk8bqMl_6Qbkxzoh_HCGaD0cotcaod7nOdQ1YD4l13DpawMkQ8wilH_V6pEcv4WT69fhctdltrDH99p8W0lT0CPIZH30A6IDzrY_tstGyEjBMxwPsbsG1AW_wAADfWbfeXKBthQuhNGYzQ9IP2Zo8o25AleXSfDqDVOTUomgKVpE8-aQyhMzgtIm0IhxG0rirTE5P9C2Fo9axvkKQkdbzCIMN_vhkYUGlwnUI978JNVQkKRQ7sw7ExVxXy4-5PeTFJnXEo8S504tosC-L-eLSzA47ysTqkiQerj2hJ4NnNK7QlJ4psgBV9IXURBcvMec4Rh1pvNGA1cgEBBAAKnsp686nWQDFe3EPzk3zrszpj_0CFueijg-2rjS630SIDJBMve3jzcV9jBV0sPw1JgEZDTJVhCnuA_Gl1CSRArEI909rx3dxR9LlZOX1dWWk1WYx9W-x062L3C3nDyA9NPSZBkl-oQK6Km5JC0Pl7IUBr9AltnBaAbyF4WMQ5sR9UG3nmv4642gFtqEcICxVcqOhhWzKqATVD-cuOuSHjFFOzwpFbWyYnCn-ucGeXTO7UBja6t8EeynxTIr80Fibi6X6YUU8wFzyNbUAVPgByMNs0SeT8i615VPlDxEXmFVicRIOzgrlLSTHJl22kCX1CICIZYzi6RzgB7mXlje0w8ykX_chrP31C2ww1IxIuMMOevI3suUz4jA1zfFbXd7tS8GxzWh53Ndhy78F9lCPz6CAmeUi_jwV-m6cxzWvyCAze47XgB_L4rSkZF9d5E6M0t0nqC5U5az2k-vR6Iw5enl6gM9NCGM9LZSP3h8EC-s5H1S8pedO9Xi4oMGcvGc-OKzUte8Rlt6eI8_niHGg7FDtesRRNpzzlUOlqe3e2hODc5B5y5zHy-ep_gjpoJZZPjzdDBkWbNE81DoqlrlHWK_z7sOYFpb3iu9WwqDqiBuBDhOgy160AzR06Af4Mn67F7DpFF6eu5oNpEa9VtdRDtFMGaQKL5RZ7NOnWpNBWBJ_i9MnD_cTeKHiQUlcnxhkZyeU_DachaxFR8UAuRPnQCAh8T5RKN2a6Ho9Y6UqRpHYDcbdCDyabsBTNK43aSltFI2RQ9cTUzJNdiu9vLZHF1FwIg6BBlh10uAXzZwPmGT-qN4-sJEGeyrFVSGTpJUWRu_F2GlG9x4fSp-8nOjQCyfsvyyiPUmHoMXrXew4C4SVWein_e2UMKVDoVIoLeLUI0vfzprFxvRuzAEq4BkEPdDdAZ0KeYI2CGZTTVbRosoYCCLEXBOUGxxZFRoewYreAyBjjVfW6xrvkNsmHVWCJW07RqepivqlZDSJfxgVrqE9ixuvKL9gHT2PB2UA28TvoLidqhC51NEUdN7qCoYYkNyizITrJyFev2RjxLOIiwk2NootetcYyEfz50Y4YmTq1OhVWA3ZGG_GYnQBKeKZiom7LstyB0W80RGB__iLOTkl31eHiaY0_FRXGBImhicH9L79n0uctTmTteBMXdrDLOGQ9rc5kKrRkKb5YJ5jynDHu3XaXGRPyc4Xs7Lm1-8hElKrPWJCKdXSUvB8gHW9hNFzULLj_hclMf9rdRse2s8hk0lXFVgrdcuujqjtPrA4o-afzWpI4HNxnXOQeggbGBvzMn9XuYWX078j9R8ejqoMYlOO2W3gEoeus99FZn4ezdHERmFWYWhENe6S_umBqrQmnVXffWZV0nSoU205aQa6jYmtGfk5dILmdIN5vBmWQZn-K6VjA7jghkZdKZ3C5f0QKG0CxT2Xh5cNC_2bCMVBAdEU63xil9w0HETDx05wUcWTSN4nq0hDoOf06OUOA85lxCJJeO_KdNothAMmdipRxzUUVUQn7ovwLvq7qE240sRKZpvxrA0Jsb7X-wGv7ttdlllQ1AfXmWAahapkt7y3WZVQ1vEPCZaeXD9441EtAQRblEAr5aFOFgUgxoRdbquecX9b55bMp9qpDOICWNMBdRIVfvYfKS7hMj9T8SdcqnXRgDeFkMHS5vUGGb4xvYkzXG3O4b6Enczm9JL-SqJJCyYk8BLOkCD0ZbMjRCr4sk3tWtf24Clcsz9DK310M_ZKlcXmWpB5udn4YHFujCLlYG3MgRM955-dlpZy3vNNqqBmUIteHC5rqPsL2lSN5irtMwIEzvngFBpoHNV3OaIeJotFi9amHQKmkMQKe-0JPbTHOwd87CTE3xoHM7QxmFuaY74cT1Mre2NHqYQf_nBmmY2m5OvcLqbEegKAxl1wuaR60S6mfDIAHYei874lrSs_SjlJLvEPMnBqmiuh06OZZwh4s0QD1X76BFEtbeMQa454yHu37rnVJ4iV4vSN6W7sPITz-x8-0kaomWmxcY5ZCFmeqpb81cUsXzfEb7jvRv9FGS64elqAlzIpezzBjk8dlKBq5lGErknWvozdEQVXkzYt8DXmCyYiqA0XWZ3XS0hmWqfSVuORZT847_iweZw3jxjaOU_Rqi6cmc1W1yxv8JdSpSmkPfK8WxUkXVpY9QsaLjMrM_qTu94WlcQ6eQlFBT9GTJ-nB_dOeoNyw9ozLi_cbvdfQIi1OzSz6Z5dSjMzfHsl0tV_4zrWi6jaTCmWkTOxig3WQV-gleoX9KemX9LtlEZQACYkGdEpWdXYfCXm35ZdraJWiFfZQVj0uKGL-QQL2QhFdJWTsDmgPGf_5M86vplyH63kBYWHxQkF4j1qwQy3rufNBXD6GjtBLNFgRA89EP8NvcPUlEDX5fvDe92d6tmgnsZCQE35dOo_ukI98MdSNnZbzbkMr-kn_dspL0OBm6PKCbTkndqojb2KF4WpNLIAT7nKl4EcEUfzvsCNN253VGMdl7hL8g4GfPjfxwpdIOcXQn7SmX9zD4oR6Q62hn5s-R26_xyn7vDBfiCGmNjhwKd35CqZRMY5Nfasvs2sy2IShnWwNk3oRFq94A8oU18VW-MLT99BzmBBZeLzOFRkXLi0VhMllqvrRAEyL_5DvwaGdYNFHFI_Uyhawdwv5Q-1lPHRMopOWBko4rQzHFr49BjN0lEW6TZE_wcjTxVbXUXT9KehCd9Pxj24i55ZXOoDHBPCypkuExi8Xao4KvL6Dz3844UX3JgydNs0CYDTp7gdn90dHQ6ME5HrWMTcwdNphqO3ZdYULUsg0RNDXdhtAQNK5UtcPmXs8aw2vb6lFKCpr1eRdpybiRsP2Fjp3HpWoRZy89YRMOwYjyUTxZ3URMZXmfFeXwZWifPAT3XszYneBSDYk0Vgr1GF2774CvQ2AR-jnLzmITQAW1j3W27l_ZJGfZ-zYFvHFYfmnpq85IvCGntBh7iAYoH93rFvxsDU_BqWUHzGs81rPTyv9z023_cCHfjNrsNXTeZdPd5hjHhPN4NPD4bYWnYu13pRS1gmUHtxTWFuHU1ZKlSMXw9poe4GuNUY404N6XMBw6zarJm_e1PS9ezjrvAIXlKwNEEYWBApI5UdsMZUCn4-mHxwFhqllrPsUTfQxguoxTT7XIJFk2GYjMHfLGwp1GnrO0Jpna-nzI1DIe_gYkZJkhYSScwzFp0494BVPqwiOQPuzFGRSpaZCbjxLnSDkfgS91UKPv13u1S0zJHPk0QPqts28h40qyg4MtcQhqbwhIK-IH65QoXORmHTvfezoJuAIvKl3o-eF5MPzd0PIPj1bOI45eXC8Gv8ZQwFl2JmNnAx-jES9bpMoSbVAS5fldHeL6M0m6EL-rdDrc04K76W76PuZiSkEh9kw0OF7H5cFBwIpSuspacYpcl186-JXv-cfMsqJEvAdM8NY2ORdjPzCsnQO3pdb8CudrtW_6NYVTJbgcd4hdVFeDt2NDkWPFZJ4XQlLw68JB0L4-L2J7CcsNj6GY5__5kraanWzxm_uZxIsuJfBVIrFZH17Hlp2rXGvwyE1kCiZF5rkXATqiAhK4vAMgPtHFtSpNeghaFkgpbjo3ILl8hqgATvC5M98Hl5SxDc1iW1w9d3NV02fSy8kTmI4LAAcDw4HstCmCUkNPbqa5PkifzBXHPtiGf-HBJoTLS3obLQ_yhCtu1mH75l0BvxiGnULO1dnXsQm1cTCSyfIQvHPnWaPIvz0FZDl_u03LI8k5NUHRj5-Nox1UKynlRbQN23MsVEZVqXhwFtz_u08BtFSEHozR5rdMek7K9E0L6JhtWt45ZCL9HeKo-AbtH1pELM4GB1EBGzcg-sHziwxOBPKR2NSnuHJ-qLSEQ5p0Pz9nUGHGCahLzNtmijO7wBdbE6ISriHq3EF0Yw4MTlfmnVb5a-5K8ExHz1LWSTKxzUqNiR-QKyHnZpyMOS6cDzkaGYp4LX1wzibOSBTdi0tyZ4n0gri6cT6kJDlJI-HLiWN-X-SRrxS7tDzvWydWcXhM_BnWcdtMPhKA-txT3BgvGK_S0d66MIEx51JRNa4glE-7ezZMjjtthYmP47bBstn_8MmgORK7y3d5kDLQcrYRLe24AKftjGsTXcxRbs-QI4AjSoX_Np-gx-he8Edv3gHMx0rNGzUc_hZm8nNIPkfQfA4nw6BjSeiSqXzMKIXWGdYhFXufAkZXWZ2M-lvMBi_G3O8iLCBrWS8OmPQorBeo-N5m18EeHzr64-2-eqrt-H42S6TGnD4z3-FW400oKGPAivEgCbwNzsmjcW8oIDtaVL593GcU32VIPpOrE7XShDHy2Q5-rNJIZMH2r095z40ODghLbm8egSNbKjtEFpTKvkJGLGbSGt1MMXSCyRrVAFLyS4oiSdyKBlUCicO4i8lS71JbzG3TmbIsH5N6cEfqcYu5j31xGZGDsROrdcTSlbBS_HxufAMuXwh8BBPpWvuvYIylvxynNBWueO0IHuhdTW3FWu_V9D1E0AVlYq2dLNSFzGLcVTSNC1cKdvxfaHQAw2sO796ScmPdGQ1U4zNWQn7C9oQXYDn4PjEzgbn2wcJXGoqUfjw7zuqPdDQm_7m1ktOdp93xmUuN0HWdd9kz7K3pVCRU5tJz69gLX2BD9-nXq5gfAillYGadPIPsRWbAEfHrhGNF2Af89beOTWUhEJcTTNChwV16OONMxdf1QPuACvKLH2DnzwORgBU-M_4QwK8BAqEm_knQkzThp98ZQWPkx3tX-LOX5Pq0zvBylaIesY6yhgHwFltyNBBIdd8uuFx6i6bkGvi7TJIDs7kycQ6IJ7-qK0U3C8cD61H8196vfxQUKZuHqI4vrKbmSu36bqZYn-K__df9zVK9I4Re81DHianuD37JasjPPSTTSkDCrtn9-oEcggMKex7V9WBi3JSxdLvcRJxS4CxUduIDs-QHdwohsAYSyMLjyI5h1jcy29RVzViDxYB746oin7hyCHQLpgXIMJQwGomxxy-nIM8pxRB8vMrNlD3w4IXBB8UGxPL-AtHWCCgUumJgwoJB2rFzYvdA_OPdFrbuKYNSSpysXtXtnTH7xLglLli_Elva9-i2kZSiJ_HCJz08Ibxewix1QKgc48Sk4bIyadAkAlgauNC3mX3eXAofmJ48MfCQWU22EFnFnFAmGxBySakkMn3d8_RviHZWInzZdE5nTctVxZ-x6y3yoF6YOax-EWacZAV87su7SC3KZs853iZP1FxRrTJPIomoHRI0UUg_I9VrRbMIa-QwfaLRLsTxnf5IfqONSS4eDwUt9K8AX1qdQWLyKMQn5kisGom7wVKXFCLq1QdGwAmcw_JirqvQ8FT-tet2EOZUU0pv76uHdr49fR004pSMSb98hzDZHjjV9T52vUS16LjZokHcupCCKJY97MNCaJzCuVV09osmLEUV9B6t8V5lOh8kUhTV3BqCPTR8zk6U9vlZj4JXu_ouKfiWfsg1lvQAJHqy8Pugs3z5DdHvkg7vX75skzEgsNuFh74JFPMi3vYZi5DkIG98CJxkLIYzJXaG8Zxo9Uz60cSA6dIj2pi9qzGQD3KbcB8vjsQOehR7j2RnWuL36Mbj0BjCb5Xr4KqDEzTSMC0Rse3pR6H1sdsjblVu6lSdGy7ifVFeaEXx8ju8_A_DqgbXNfep8a47TbcAKTktkxXsnzbh4gQfyPn4pbcBTnGeAM6_jekNWSqvshM4tYlbNdN0K1pc55IMLM3H9Bk2rBxLzdmKwhv-iGttLOzDXnplj4FLOXCv4cPaqVcg4hLp7z6YtlrNUOcFo8dGUdJxTDihNoUCsBSZwnN3FzlwskoyWXIs6PtKBgL2nqEgtz2J0pCnoWvX6L6lvp4lU8ZIsmMP0FtQDIF5ET38wAHrgg2vxQuBfG5qx8NivqIrSTZjnAL7udwhUvPYim-fF4ua6Wh6Bnq2_uiQ--K4xLyj6nUoefyO4TqLhAYUiwocUqzWhIYCzHKd0geRHQZoKTkxYPwMWdeNWSviAXUS4vUoVYTfuuJQ9zI-4JBLA27SjimNYJ4DTVE8xeKuZMPIPu3wb1qCD_8g-gQhxZpeuwdLsRsR1_fQQbduaVapRlF7LD_ZhxCfuxFuHkfpkXM3oOPzXOZUfOfCk35UoiU57RIzRdXNrfRj6ih9tVQwYEtRJBfVwKKOuvqA9DtM-OFUyWmeB9PwV_Dg2QJiXEfAJM5UxQnhgm_LmTWphlmq7cp_StrsBhBvq4xjAeSnA8b6GugVEQLWQLcEVFisO26CJdu8ClJoyu9gKFXRMVB_aLpayoaO2zI7qkp7kCQMEU1SarIZcje7vrH02_WqIQhqB5G4ICdLuy5FrV91YdNihkniHTxps-HKfA9qXWWxgyfK0DSDFXEYcUHEhw7gJMhrzvVbxc_Fc96rpDtHZuMgIo8RSulYE9NBuKw0fNCv9M5sO7iA_XLUZ8qfxoniiuKYgw8J7AZ7hGM0JZbGfQiHFeAOC5T03fGLQF3HwPJ2HYhwSeUxHzobo5URE4H0PIU4ClUNlDwD4sHZ6T5t17dnGx8n4VE5oowUf-l4JjErmdklqAZIlpQVod-o6u_Z5inzM-ZCTqwg
```