smol-string 0.1.1-beta → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,46 +1,46 @@
1
- const J = "KGFzeW5jKCk9PntmdW5jdGlvbiB3KEksQyl7Y29uc3QgQT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSSksZz1DLmFsbG9jVWludDgoQS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShDLm1lbW9yeS5idWZmZXIsZyxBLmxlbmd0aCkuc2V0KEEpLHtwdHI6ZyxsZW5ndGg6QS5sZW5ndGh9fWZ1bmN0aW9uIGUoSSl7Y29uc3QgQz1uZXcgQXJyYXkoSS5sZW5ndGgpO2ZvcihsZXQgQT0wO0E8SS5sZW5ndGg7QSsrKUNbQV09U3RyaW5nLmZyb21DaGFyQ29kZShJW0FdKTtyZXR1cm4gQy5qb2luKCIiKX1mdW5jdGlvbiB0KEksQyl7Y29uc3QgQT1uZXcgVWludDMyQXJyYXkoSS5idWZmZXIuc2xpY2UoQyxDKzgpKSxnPUEuYXQoMCksUT1BLmF0KDEpO3JldHVybntzdGFydDpDLWcsZW5kOkMsY2FwYWNpdHk6UX19dmFyIGg9YXN5bmMoST17fSxDKT0+e2xldCBBO2lmKEMuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgZz1DLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShnLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoZyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0E9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxJKX1lbHNle2NvbnN0IGc9YXdhaXQgZmV0Y2goQyksUT1nLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGcsSSk7ZWxzZXtjb25zdCBFPWF3YWl0IGcuYXJyYXlCdWZmZXIoKTtBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsSSl9fXJldHVybiBBLmluc3RhbmNlfSxHPUk9PmgoSSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQUNmMzhCZjJBRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QUF4OGVBd1FEQkFVRUJnVUhDQUFKQ1FjSkJnUUpDUW9IQlFRQUFnRUxEQW9LQkFVQmNBRUVCQVVEQVFBUkJnNENmd0ZCZ0lEQUFBdC9BRUVBQ3dkRUJnWnRaVzF2Y25rQ0FBcGhiR3h2WTFWcGJuUTRBQUFMWVd4c2IyTlZhVzUwTVRZQUFnUm1jbVZsQUFRSVkyOXRjSEpsYzNNQUN3cGtaV052YlhCeVpYTnpBQkVKQ1FFQVFRRUxBeGNZR1FxL09CNWVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMTRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0RnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGh3RUNBWDhCZmlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FrRUFTRG9BREFKQUFrQWdBa0YvU2cwQVFvQ0FnSUFRSVFRTUFRc0NRQ0FDUVFGMElnSU5BRUwrLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VCUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBc1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVdBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDdzhBSUFBZ0FFRU1haENIZ0lDQUFBdHdBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBSWdKQkNtd2dBa0VQYWtGOGNXcEJBMnBCZkhFaUFrRUFJQUliSWdSRkRRQWdBU2dDQUNBRFFRUWdBaHNnQkVFQ1FRQWdBU2dDQkNnQ0NCR0JnSUNBQUFBTElBQkJBRFlDQ0NBQVFRQTJBZ0FMQzlnQ0F3Ui9BWDRFZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1RaVlDQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDS2dJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRUUFoQVVFQUlRVU1BUXNnQmtGMGFpZ0NBQ0FIS0FJQVFRRjBhaThCQUNFQlFZQ0FCQ0VGQ3lBQUlBVWdBWEkyQVFBZ0JFRVFhaVNBZ0lDQUFBdWhDd0lCZnd0K0k0Q0FnSUFBUWNBQWF5SUNKSUNBZ0lBQUlBR3RJUU1DUUFKQUlBRkJJRXNOQUFKQUlBRkJFVThOQUFKQUlBRkJDRWtOQUNBQUtRQUFRcytBd2Z5eXg5cndtbjk4SWdSQ0o0a2dBU0FBYWtGNGFpa0FBQ0lGZkNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTWdBeUFGUWh1SklBWitJQVI4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUF3c0NRQ0FCUVFSSkRRQWdBRFVBQUVJRGhpQURmQ0FCSUFCcVFYeHFOUUFBSWdTRklBTkNBWVpDejREQi9MTEgydkNhZjN3aUJuNGlCVUl2aUNBRWhTQUZoU0FHZmlJRVFpK0lJQVNGSUFaK0lRWU1Bd3NDUUNBQkRRQkN6NERCL0xMSDJ2Q2FmeUVHREFNTElBRWdBR3BCZjJvdEFBQkJBblFnQVdxdFFxZmlyTDdKaS9MU1EzNGdBQ0FCUVFGMmFqRUFBRUlJaGlBQU1RQUFoRUxQZ01IOHNzZmE4SnAvZm9VaUJrSXZpQ0FHaFVMUGdNSDhzc2ZhOEpwL2ZpRUdEQUlMSUFBcEFBZ2lCRUxQZ01IOHNzZmE4SnAvZkVJdWlTQUFLUUFBUXZQazQvVDd6YTNKdEg5K0lnVjhJQUVnQUdvaUFFRjRhaWtBQUNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTjhJZ2NnQnlBRFFpS0pJQVVnQkh4Q0ZZbDhJQUJCY0dvcEFBQkN6NERCL0xMSDJ2Q2FmMzU4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUFRc0NRQ0FCUWNFQVNRMEFJQUVnQUdvaUFVRllhaWtBQUNFSElBRkJTR29wQUFBaEJpQUJRWEJxS1FBQUlRZ2dBaUFCUVVCcUlBTWdBVUZRYWlrQUFDQURmQ0FCUVdocUtRQUFFSnFBZ0lBQUlna1FtNENBZ0FBZ0Fpa0RDQ0VFSUFJcEF3QWhCU0FDUVJCcUlBRkJZR29nQmlBSWZDSUdRdlBrNC9UN3phM0p0SDk4SUFjUW00Q0FnQUJDQUNBRFFuOThRa0NEZlNFS0lBQXBBQUFnQjBMejVPUDArODJ0eWJSL2Zud2hDQ0FDS1FNWUlRTWdBaWtERUNFSEEwQWdBQ2tBTUNFTElBQXBBQ2doRENBQ1FTQnFJQUFnQkVMejVPUDArODJ0eWJSL2ZpQUdJQVY4SUFoOElBQXBBQWg4UWh1SlF2UGs0L1Q3emEzSnRIOStJQU9GSWcwZ0Izd1FtNENBZ0FBZ0RDQUZmQ0VNSUFZZ0JId2hCaUFDS1FNb0lRUWdBaWtESUNFRklBSkJNR29nQUVFZ2FpQUpJQWQ4UWgrSlF2UGs0L1Q3emEzSnRIOStJZ2dnQTN3Z0FDa0FFQ0FNSUFZZ0MzeENGb2xDOCtUajlQdk5yY20wZjM1OElnWjhFSnVBZ0lBQUlBQkJ3QUJxSVFBZ0Fpa0RPQ0VESUFJcEF6QWhCeUFOSVFrZ0NrTEFBSHdpQ2tJQVVnMEFDeUFHUWkrSUlBYUZRdlBrNC9UN3phM0p0SDkrSUExOElBVWdCeENhZ0lDQUFId2dCQ0FERUpxQWdJQUFJQWg4RUpxQWdJQUFJUVlNQVFzZ0FTQUFhaUlCUVhCcUtRQUFJQU5DQVlaQ3o0REIvTExIMnZDYWYzd2lCSDRpQlNBQlFXQnFLUUFBSWdOOElBQXBBQmhDQ1g0aUJ5QUFLUUFRUXMrQXdmeXl4OXJ3bW45K2ZDSUlJQUZCYUdvcEFBQWlCbndpQ1NBQUtRQUlJZ3A4SUFrZ0FVRjRhaWtBQUNJTmZDQUlRaGFKSUFaOElnaDhJQWNnRFNBQUtRQUFRcytBd2Z5eXg5cndtbjkrZkNJSklBT0ZmRUlCZkNJRElBVjhJQWxDRllrZ0NrSWlpU0FHZkVJSmZud2dBM3dnQkg0aUJrSTRoaUFHUW9EK0E0TkNLSWFFSUFaQ2dJRDhCNE5DR0lZZ0JrS0FnSUQ0RDROQ0NJYUVoQ0FHUWdpSVFvQ0FnUGdQZ3lBR1FoaUlRb0NBL0FlRGhDQUdRaWlJUW9EK0E0TWdCa0k0aUlTRWhId2dCSDRpQmtJNGhpQUdRb0QrQTROQ0tJYUVJQVpDZ0lEOEI0TkNHSVlnQmtLQWdJRDRENE5DQ0lhRWhDQUdRZ2lJUW9DQWdQZ1BneUFHUWhpSVFvQ0EvQWVEaENBR1FpaUlRb0QrQTRNZ0JrSTRpSVNFaEh3Z0JINGlCa0k0aGlBR1FvRCtBNE5DS0lhRUlBWkNnSUQ4QjROQ0dJWWdCa0tBZ0lENEQ0TkNDSWFFaENBR1FnaUlRb0NBZ1BnUGd5QUdRaGlJUW9DQS9BZURoQ0FHUWlpSVFvRCtBNE1nQmtJNGlJU0VoSHdnQkg1OElnWkNMNGdnQm9VZ0JINGdDSHdoQmdzZ0FrSEFBR29rZ0lDQWdBQWdCZ3VzQVFFRmYwRUFJUVFDUUNBQklBTkhEUUFnQVVFQ2RrRUJhaUVGSUFJaEF5QUFJUVlDUUFOQUlBVkJmMm9pQlVVTkFTQURLQUFBSVFjZ0JpZ0FBQ0VJSUFOQkJHb2hBeUFHUVFScUlRWWdDQ0FIUmcwQURBSUxDeUFCUVFOeElRTWdBQ0FCUVh4eElnVnFJUVlnQWlBRmFpRUZBMEFnQTBVaEJDQURSUTBCSUFOQmYyb2hBeUFGTFFBQUlRY2dCaTBBQUNFSUlBWkJBV29oQmlBRlFRRnFJUVVnQ0NBSFJnMEFDd3NnQkF1WkNnVUJmd0YrQjM4QmZnTi9JNENBZ0lBQVFaQUJheUlDSklDQWdJQUFBa0FDUUFKQUlBRU5BQ09CZ0lDQUFFR1lnTUNBQUdvcEF3QWhBMEdxMWFyVmVpRUVRUUFoQlVFQUlRWU1BUXRCQUNFSElBSkJHR3BCQ0dwQkFEWUNBQ0FDUWdBM0F4Z2dBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlBemNDSkNBQ1FmZ0Fha0VJYWtFQU5nSUFJQUpDQURjRGVDQUJRZi8vQXlBQlFmLy9BMGtiUWVRQWJFSFFBRzRoQ0NBQ1FTUnFJUWtDUUFKQVFRQU5BRUY4SVFaQ0FVRWdJQWhuYTYxQy8vOERnNGFuSWdoQkNDQUlRUWhMR3lJSVFRRjBJQWhCRDJwQmZIRWlDaUFJUVFOMGFpSUZha0VEYWtGOGNTSUVSUTBCSUFPbklBUkJBa0VBSUFOQ0lJaW5LQUlBRVlDQWdJQUFBQ0lHRFFFTElBSkIrQUJxSUFrUWg0Q0FnQUFnQWtFWWFoQ0dnSUNBQUF3Q0N5QUdJQWcyQWdnZ0JpQUdJQXBxTmdJRUlBWWdCaUFGYWpZQ0FDQUNJQVpCREdvaUJqWUNlRUVBSVFjZ0JrRUFJQWdRbklDQWdBQWFJQUpCK0FCcVFRaHFJZ1lnQ0VIUUFHeEI1QUJ1SWdnMkFnQWdBa0VZYWtFSWFpSUtLQUlBSVFVZ0NpQUlOZ0lBSUFZZ0JUWUNBQ0FDUVFBMkFod2dBaWtER0NFTElBSWdBaWtEZURjREdDQUNJQXMzQTNnZ0FrSDRBR29nQ1JDSGdJQ0FBQ0FDSUFNM0FvUUJJQUpCQURZQ2dBRWdBa0txMWFyVkNqY0NlQUpBSUFKQitBQnFJQUVRaklDQWdBQkIvLzhEY1VVTkFDQUNRUmhxRUlhQWdJQUFEQUlMSUFJcEFvUUJJUU1nQWlnQ2dBRWhCU0FDS0FKOElRd2dBaWdDZUNFRVFZQUNJUTFCQUNFSEEwQWdBQ0FIYWlFSVFRSWhCZ0pBQWtBQ1FBTkFBa0FDUUNBSElBWnFJZ2tnQVU4TkFDQUNRU3hxSUFKQkdHb2dDQ0FHRUlpQWdJQUFJQUl0QUM0TkFTQUtJUWNnQmtFQ1JnMEREQVVMQWtBZ0IwRUJhaUFCU1EwQUlBZ3RBQUFoQmd3RUN5QUNRVEJxUVJCcUlBSkJHR3BCRUdvb0FnQTJBZ0FnQWtFd2FrRUlhaUFDUVJocVFRaHFLUU1BTndNQUlBSWdBaWtER0RjRE1DQUNRY1FBYWlBQ1FUQnFJQWdnQmhDSWdJQ0FBQUpBQWtBQ1FDQUNMUUJHRFFBZ0JrRUNSdzBCSUFndEFBQWhCZ3dDQ3lBQ0x3RkVJUVlNQlFzZ0FrSElBR3BCRUdvZ0FrRVlha0VRYWlnQ0FEWUNBQ0FDUWNnQWFrRUlhaUFDUVJocVFRaHFLUU1BTndNQUlBSWdBaWtER0RjRFNDQUNRZUFBYWlBQ1FjZ0FhaUFJSUFaQmYyb1FpSUNBZ0FBZ0FpOEJZQ0VHQ3lBRUlBeEJBWFJxSUFZN0FRQWdERUVCYWlFTUlBa2dBR3BCZjJvdEFBQWhCZ3dEQ3lBR1FRRnFJUVlnQWk4QkxDRUtEQUFMQ3lBSUxRQUFJUWNNQVFzZ0JDQU1RUUYwYWlBR093RUFJQXhCQVdvaEJpQUNRUmhxRUlhQWdJQUFEQUlMSUFRZ0RFRUJkR29nQnpzQkFDQU1RUUZxSVE0Z0NVRi9haUVIQWtBZ0RVSC8vd054UWY3L0EwY05BQUpBSUFJb0FoZ2lCa1VOQUNBR1FRQWdCa0Y4YWlnQ0FDSUlFSnlBZ0lBQUdpQUNRUUEyQWh3Z0FpQUlyVUxRQUg1QzVBQ0FQZ0lnQ3lBRUlBNUJBWFJxUWY3L0F6c0JBQ0FNUVFKcUlReEJnQUloRFF3QkN5QUNRUmhxSUFnZ0JpQU5FSTJBZ0lBQUlBMUJBV29oRFNBT0lRd01BQXNMSUFJZ0F6Y0NFQ0FDSUFRMkFnUWdBaUFHTmdJSUlBSWdCVFlDRENBR0lRRUNRQ0FGSUFaQkJHb2lDRThOQUVFQUlRY2dBa0VFYWlBRklBZ1Fqb0NBZ0FBUWpJQ0FnQUJCLy84RGNRMEJJQUlvQWdRaEJDQUNLQUlJSVFFTElBUWdBVUVCZEdvaUFTQUdRUUYwSWdjN0FRQWdBVUVDYWlBR1FROTJPd0VBSUFGQkJHb2dCVUVCZERzQkFDQUJRUVpxSUFWQkQzWTdBUUFnQkNBSGFpRUhDeUFDUVpBQmFpU0FnSUNBQUNBSEM1TUNBUVovSTRDQWdJQUFRUkJySWdJa2dJQ0FnQUJCQUNFREFrQWdBQ2dDQ0NJRUlBRlBEUUFnQUNnQ0FDRUZBa0FnQkVVTkFDQUNJQUZCQUVnNkFBZ2dBVUYvVEEwQUlBQW9BZ3dnQlNBRVFRRjBRUUVnQVVFQmRFRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0VFQUlRTU1BUXNnQWlBQUtRSU1Od01BSUFKQkNHb2dBaUFCRUlPQWdJQUFJQUl2QVF3aUF3MEFJQUlvQWdnZ0FDZ0NBQ0FBS0FJRVFRRjBFSjJBZ0lBQUlRWkJBQ0VEQWtBZ0JFRUJkRUVBSUFRYklnZEZEUUFnQUNnQ0RDQUZRUUlnQkJzZ0IwRUJRUUFnQUVFUWFpZ0NBQ2dDQ0JHQmdJQ0FBQUFMSUFBZ0FUWUNDQ0FBSUFZMkFnQUxJQUpCRUdva2dJQ0FnQUFnQXd1WUF3TUNmd0YrQm44amdJQ0FnQUJCRUdzaUJDU0FnSUNBQUFKQUlBQW9BZ1JGRFFBZ0FDZ0NBQ0VGSUFFZ0FoQ0pnSUNBQUNFR0FrQUNRQ0FGRFFCQkFDRUhRWDhoQ0F3QkN5QUZRWHhxS0FJQUlnZEJmMm9oQ0FzZ0JVRjRhaUVKSUFnZ0JxZHhJUW9nQmtJNWlLY2hDd05BSUFVZ0Ntb3NBQUFpREVVTkFTQUhSUTBCQWtBZ0RFRi9TZzBBSUFzZ0RFSC9BSEZIRFFBZ0FTQUNJQWtvQWdBZ0NrRURkR29pRENnQ0FDQU1LQUlFRUlxQWdJQUFRUUZ4UlEwQUlBUkJBVG9BREF3Q0N5QUhRWDlxSVFjZ0NrRUJhaUFJY1NFS0RBQUxDeUFCSUFJUWlZQ0FnQUFoQmtGL0lRd0NRQ0FBS0FJQUlnZEZEUUFnQjBGOGFpZ0NBRUYvYWlFTUN5QU1JQWFuY1NFS0FrQURRQ0FISUFwcUlnVXNBQUJCZjBvTkFTQUtRUUZxSUF4eElRb01BQXNMSUFBZ0FDZ0NDRUYvYWpZQ0NDQUZJQVpDT1lpblFZQUJjam9BQUNBQUtBSUFRWGhxS0FJQUlBcEJBM1JxSWdjZ0FqWUNCQ0FISUFFMkFnQWdBQ2dDQUVGMGFpZ0NBQ0FLUVFGMGFpQURPd0VBSUFBZ0FDZ0NCRUVCYWpZQ0JDQUVRUkJxSklDQWdJQUFDeVVCQVg4RFFFRi9JQUJCQVhZZ0FHcEJDR29pQWlBQ0lBQkpHeUlBSUFGSkRRQUxJQUFMUHdFQmZ5T0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWdBQ2tDRERjRENDQUJRUWhxSUFBb0FnQWdBQ2dDQ0JDUWdJQ0FBQ0FCUVJCcUpJQ0FnSUFBQ3pjQkFYOENRQ0FDUVFOMFFRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQkJDQUNHeUFEUVFKQkFDQUFLQUlFS0FJSUVZR0FnSUFBQUFzTDJ3Y0RBWDhCZmdsL0k0Q0FnSUFBUWNBQWF5SUNKSUNBZ0lBQUk0R0FnSUFBUVppQXdJQUFhaWtEQUNFREFrQUNRQUpBQWtBZ0FRMEFRYXJWcXRWNklRUkJBQ0VGUVFBaEJnd0JDeUFDUVFBMkFpQWdBa0txMWFyVkNqY0NHQ0FDSUFNM0FpUWdBa0VBUWYvL0F4Q09nSUNBQUNJSFFmLy8vLzhCU3pvQUxDQUhRWUNBZ0lBQ1R3MEJBa0FDUUNBSFFRTjBJZ2dOQUVGOElRZ01BUXNnQTZjZ0NFRUNRUUFnQTBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ2hGRFFJTElBSWdCellDSUNBQ0lBZzJBaGhCQUNFSEFrQURRQ0FIUWZqL0gwWU5BU0FJSUFkcVFnQTNBZ0FnQjBFSWFpRUhEQUFMQ3lBQ1FmLy9BellDSENBQ0lBTTNBamhCQUNFSElBSkJBRFlDTkNBQ1FxclZxdFVLTndJc0lBSkJMR29nQVVFWWJCQ1NnSUNBQUVILy93TnhEUUVnQWlrQ09DRURJQUlvQWpRaEJTQUNLQUlzSWdRZ0FpZ0NNQ0lHYWlBQUxRQUFPZ0FBSUFnZ0FDOEJBRUVEZEdvaUNVRUJOZ0lFSUFrZ0JEWUNBQ0FHUVFGcUlRcEJBU0VKUVlBQ0lRc0RRQ0FLSVFZQ1FBSkFBa0FDUUNBSklBRlBEUUFDUUNBQUlBbEJBWFJxTHdFQUlncEIvdjhEUncwQUlBbEJBV29pQ1NBQlR3MEJRUUFoQndKQUEwQWdCMEg0L3g5R0RRRWdDQ0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NDUUNBQUlBbEJBWFJxTHdFQUlnZEJnQUpKRFFBZ0FrSC8vd00yQWh3TUNBc2dCQ0FHYWlBSE9nQUFJQVpCQVdvaENrR0FBaUVMREFRTElBcEJnQUpKRFFFQ1FDQUlJQXBCQTNScUlnb29BZ0FpREEwQUlBUWdCbW9nQkNBSGFpSUtJQVlnQjJzaURCQ2RnSUNBQUJvZ0JDQU1JQVpxSWd4cUlBb3RBQUE2QUFBZ0RFRUJhaUVLREFNTElBUWdCbW9nRENBS0tBSUVJZ29RbllDQWdBQWFJQW9nQm1vaENnd0NDeUFDUWYvL0F6WUNIQ0FDUVJocUVJK0FnSUFBREFRTElBUWdCbW9nQ2pvQUFDQUdRUUZxSVFvTElBZ2dDMEgvL3dOeFFRTjBhaUlNSUFZZ0IydEJBV28yQWdRZ0RDQUVJQWRxTmdJQUlBdEJBV29oQ3dzZ0NVRUJhaUVKSUFZaEJ3d0FDd3NnQWlBRE53SVFJQUlnQkRZQ0JDQUNJQVkyQWdnZ0FpQUZOZ0lNQWtBQ1FDQUZJQVpCQ0dvaUNFa05BQ0FHSVFjTUFRdEJBQ0VISUFKQkJHb2dCU0FJRUk2QWdJQUFFSktBZ0lBQVFmLy9BM0VOQWlBQ0tBSUVJUVFnQWlnQ0RDRUZJQUlvQWdnaEJ3c2dCQ0FIYWlJSElBWTZBQUFnQjBFSGFpQUZRUmgyT2dBQUlBZEJCbW9nQlVFUWRqb0FBQ0FIUVFWcUlBVkJDSFk2QUFBZ0IwRUVhaUFGT2dBQUlBZEJBMm9nQmtFWWRqb0FBQ0FIUVFKcUlBWkJFSFk2QUFBZ0IwRUJhaUFHUVFoMk9nQUFJQVFnQm1vaEJ3d0JDeUFDUVJocUVJK0FnSUFBUVFBaEJ3c2dBa0hBQUdva2dJQ0FnQUFnQnd2YUFRRUZmeU9BZ0lDQUFFRWdheUlDSklDQWdJQUFRUUFoQXdKQUlBQW9BZ2dpQkNBQlR3MEFJQUFvQWdBaEJRSkFBa0FnQkVVTkFFRUFEUUFnQUNnQ0RDQUZJQVJCQUNBQlFRQWdBRUVRYWlnQ0FDZ0NCQkdDZ0lDQUFBQkJBWEZGRFFBZ0FDQUJOZ0lJREFFTElBSWdBRUVNYWlJR0tRSUFOd01RSUFKQkdHb2dBa0VRYWlBQkVJR0FnSUFBSUFJdkFSd2lBdzBCSUFJb0FoZ2dBQ2dDQUNBQUtBSUVFSjJBZ0lBQUlRTWdCaUFGSUFRUWhZQ0FnQUFnQUNBQk5nSUlJQUFnQXpZQ0FBdEJBQ0VEQ3lBQ1FTQnFKSUNBZ0lBQUlBTUwwZ0lEQm44QmZnZC9JNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQWdBQ2dDQkNFRUlBQW9BZ0FoQlVFQUlRWWdBa0gvQVhFaEJ3Ti9Ba0FDUUFKQUlBWWdCRWNOQUVGL0lRZ01BUXNDUUNBRklBWkJCSFJxSWdKQkNHb3BBd0FpQ1VJQVV3MEFJQUlwQXdCN0lBbDdmS2NnQVVrTkFnc2dCa0VIZENJSVFZQUJhaUVLQTBBZ0NDQUtUdzBDSUFnZ0FDa0NBQ0lKUWhtSXAwR0FmM0VpQWlBSUlBSkxHeUlMSUFocklRd2dDYWRCQ0NBSlFpQ0lweHNoRFNBSVFSQjBhQ0VPUVFBaEFnSkFBMEFDUUNBTUlBSkhEUUFnQ3lFUERBSUxRZjhCSUFnZ0Ftb2lEMEVIY1NJUVFRZHpka0VCSUJCMGNTQU5JQTlCQTNacUxRQUFjVVVOQVNBQ1FRRnFJZ0lnQVVrTkFDQU9JQWRKRFFBTElBTWdDVGNEQ0NBRFFRaHFJQWdnQVVFQUVKU0FnSUFBREFJTElBOUJBV29oQ0F3QUN3c2dBMEVRYWlTQWdJQ0FBQ0FJRHdzZ0JrRUJhaUVHREFBTEMxUUJBWDhnQTBFQmNTRUVBa0FEUUNBQ1JRMEJJQUFvQWdCQkNDQUFLQUlFR3lBQlFRTjJhaUlESUFNdEFBQkJmaUFCUVFkeElnTjNjU0FFSUFOMGNqb0FBQ0FCUVFGcUlRRWdBa0YvYWlFQ0RBQUxDd3ZiQVFFRGZ5T0FnSUNBQUVFUWF5SUNKSUNBZ0lBQUFrQWdBRUdBRUU4TkFDT0JnSUNBQUVHb2dNQ0FBR29nQUNBQlFZQVFJQUZCZ0JCSkd5QUFheENXZ0lDQUFBc0NRQ0FCUVlBUVRRMEFBa0FqZ1lDQWdBQkJvSURBZ0FCcUtBSUVEUUFqZ1lDQWdBQkJvSURBZ0FCcUlnTkJnQ0EyQWdRZ0F5QUJRWDlxSWdGQkVIUWlCRFlDQUNBRVFRQkJnSUFFRUp5QWdJQUFHZ3NnQWlPQmdJQ0FBRUdnZ01DQUFHb3BBd0EzQXdnZ0FrRUlhaUFBUVlBUUlBQkJnQkJMR3lJQVFZQndhaUFCSUFCckVKYUFnSUFBQ3lBQ1FSQnFKSUNBZ0lBQUN6c0JBWDhqZ0lDQWdBQkJFR3NpQXlTQWdJQ0FBQ0FESUFBcEFnQTNBd2dnQTBFSWFpQUJJQUpCQVJDVWdJQ0FBQ0FEUVJCcUpJQ0FnSUFBQzcwQkFRUi9RUUFoQkFKQUlBRkJnWUI4VHcwQUFrQWpnWUNBZ0FCQnFJREFnQUJxSUFGQi8vOERha0VRZGlJQklBSVFrNENBZ0FBaUJFRi9SdzBBQWtBamdZQ0FnQUJCb0lEQWdBQnFJQUVnQWhDVGdJQ0FBQ0lFUVg5R0RRQWdCRUdBRUdvaEJBd0JDMEVBSVFSQkFTQUNkQ0lGUHdBaUJrRVFkQ0lDYWtGL2FrRUFJQVZyY1NJRklBSnJRUkIySWdjZ0FXcEFBRUVCU0EwQklBY2dCbW9oQkNBRklBSkdEUUFnQmlBRUVKV0FnSUFBQ3lBRVFSQjBJUVFMSUFRTFR3RUJmd0pBSUFKQi8vOERhaUlHUVlDQWZIRWdCRThpQWtVTkFDQUVRZi8vQTJwQkVIWWlCQ0FHUVJCMklnWkdEUUFnQkNBQlFmLy9BMnBCRUhZaUFXb2dBU0FHYWhDVmdJQ0FBQXNnQWdzaEFDQUJRZi8vQTJwQkVIWWlBU0FCSUFKQi8vOERha0VRZG1vUWxZQ0FnQUFMUGdBZ0FTQUFoVUxwMnVEWmpzSDY3NTEvZmlJQVFpK0lJQUdGSUFDRlF1bmE0Tm1Pd2Zydm5YOStJZ0ZDTDRnZ0FZVkM2ZHJnMlk3Qit1K2RmMzRMUWdFQ2ZpQUFJQUVwQUFBZ0Fud2lBaUFCS1FBSWZDQUJLUUFRZkNJRUlBRXBBQmdpQlh3M0F3QWdBQ0FFUWhTSklBSjhJQVVnQWlBRGZIeENLNGw4TndNSUN5d0JBWDhDUUNBQ1JRMEFJQUFoQXdOQUlBTWdBVG9BQUNBRFFRRnFJUU1nQWtGL2FpSUNEUUFMQ3lBQUMwSUJBWDhDUUNBQ1JRMEFJQUpCZjJvaEFpQUFJUU1EUUNBRElBRXRBQUE2QUFBZ0FrVU5BU0FDUVg5cUlRSWdBVUVCYWlFQklBTkJBV29oQXd3QUN3c2dBQXNMUVFJQVFZQ0F3QUFMQ0FBQUFBQUFBQUFBQUVHSWdNQUFDeWdCQUFBQUFnQUFBQU1BQUFBQUFBQUFBQUFBQUFnQUVBQ3FxcXFxQUFBQUFEQUFFQUFRQUFBQSIpO2NvbnN0IGY9YXdhaXQgRygpLEI9Zi5leHBvcnRzO2Z1bmN0aW9uIHMoSSl7Y29uc3R7cHRyOkMsbGVuZ3RoOkF9PXcoSSxCKSxnPUIuY29tcHJlc3MoQyxBKTtCLmZyZWUoQyxBKTtjb25zdHtzdGFydDpRLGVuZDpFLGNhcGFjaXR5Oml9PXQoQi5tZW1vcnksZyksbz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsRSkpLEQ9ZShvKTtyZXR1cm4gQi5mcmVlKFEsaSksRH1mdW5jdGlvbiBuKEkpe2NvbnN0IEM9Qi5hbGxvY1VpbnQxNihJLmxlbmd0aCksQT1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEMsSS5sZW5ndGgpO2ZvcihsZXQgYT0wO2E8SS5sZW5ndGg7YSsrKUFbYV09SS5jaGFyQ29kZUF0KGEpO2NvbnN0IGc9Qi5kZWNvbXByZXNzKEMsSS5sZW5ndGgpO0IuZnJlZShDLDIqSS5sZW5ndGgpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dChCLm1lbW9yeSxnKSxvPW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLEUpKSxEPW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShvKTtyZXR1cm4gQi5mcmVlKFEsaSksRH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihJKXtjb25zdHtjb21tYW5kOkMsaWQ6QSxkYXRhOmd9PUkuZGF0YTtzd2l0Y2goQyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6QSxkYXRhOm4oZyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6QSxkYXRhOnMoZyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(J)], { type: "text/javascript;charset=utf-8" });
2
- function W(Q) {
1
+ const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBrKEEsUSl7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksZz1RLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShRLm1lbW9yeS5idWZmZXIsZyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6ZyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIGUoQSl7Y29uc3QgUT1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKVFbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gUS5qb2luKCIiKX1mdW5jdGlvbiB0KEEsUSl7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoUSxRKzgpKSxnPUkuYXQoMCksQj1JLmF0KDEpO3JldHVybntzdGFydDpRLWcsZW5kOlEsY2FwYWNpdHk6Qn19dmFyIG49YXN5bmMoQT17fSxRKT0+e2xldCBJO2lmKFEuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgZz1RLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgQjtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpQj1CdWZmZXIuZnJvbShnLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoZyk7Qj1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspQltpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoQixBKX1lbHNle2NvbnN0IGc9YXdhaXQgZmV0Y2goUSksQj1nLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZCLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGcsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IGcuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSx5PUE9Pm4oQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQU4vZjM4QVlBSi9md0JnQW45L0FYOWdCbjkvZjM5L2Z3Ri9ZQVIvZjM5L0FHQUJmd0YvWUFGL0FHQURmMzkvQVg5Z0FuOS9BWDVnQW41K0FYNWdCSDkvZm40QUF5TWlCd0lIQXdnREJnb0FBd1FFQkFJQ0JnUUlBQUFDQWdRSkJnTUNBQVVCQ3d3RENRUUZBWEFCQkFRRkF3RUFFUVlKQVg4QlFZQ0F3QUFMQjBRR0JtMWxiVzl5ZVFJQUNtRnNiRzlqVldsdWREZ0FBQXRoYkd4dlkxVnBiblF4TmdBQ0JHWnlaV1VBQXdoamIyMXdjbVZ6Y3dBS0NtUmxZMjl0Y0hKbGMzTUFFZ2tKQVFCQkFRc0RHeHdkQ3BCRklqd0JBWDhqQUVFUWF5SUJKQUFnQVVHUWdNQUFLUU1BTndNQUlBRkJDR29nQVNBQUVBRWdBUzhCREVVRVFDQUJLQUlJSUFGQkVHb2tBQThMQUF0TUFnRi9BWDRqQUVFUWF5SURKQUFnQUNBQ0JINGdBU2tDQUNJRXB5QUNRUUJCQUNBRVFpQ0lweWdDQUJFQUFDSUJSYTFDSUlZZ0FhMkVCVUwvLy8vL0R3czNBZ0FnQTBFUWFpUUFDMk1DQW44QmZpTUFRUkJySWdFa0FDQUJJQUJCQUVnaUFqb0FEQUpBSUFJTkFBSkFJQUJCQVhRaUFFVUVRRUYrSVFBTUFRdEJrSURBQUNrREFDSURweUFBUVFGQkFDQURRaUNJcHlnQ0FCRUFBQ0lBUlEwQkN5QUJRUkJxSkFBZ0FBOExBQXN4QVFGK0lBRUVRRUdRZ01BQUtRSUFJZ0tuSUFCQnF0V3ExWG9nQVJzZ0FVRUFRUUFnQWtJZ2lLY29BZ2dSQVFBTEN3c0FJQUFnQUVFTWFoQUZDMW9DQW44QmZpQUFLQUlBSWdJRVFDQUNRUXhySWdKQkNHb29BZ0JCRFd4QkQycEJmSEVpQXdSQUlBRXBBZ0FpQktjZ0FrRUVJQU1iSUFOQkFrRUFJQVJDSUlpbktBSUlFUUVBQ3lBQVFRQTJBZ2dnQUVFQU5nSUFDd3U1QWdJSWZ3RitJd0JCRUdzaUJDUUFJQUVvQWdBaEJVR2dnTUFBSVFnQ1FDQUJLQUlFUlEwQUlBVkJDR3NoQ1NBQ0lBTVFCeUlNcHdKL0lBVkZCRUJCZnd3QkN5QUZRUVJyS0FJQUlnWkJBV3NMSWdweElRRWdERUk1aUtjaEN3TkFJQUVnQldvc0FBQWlCMFVOQVNBR1JRMEJBa0FnQjBFQVRnMEFJQXNnQjBIL0FIRkhEUUFnQWlBRElBa29BZ0FnQVVFRGRHb2lCeWdDQUNBSEtBSUVFQWhCQVhGRkRRQWdCRUVCT2dBTUlBUWdBVFlDQ0NBRVFRaHFJUWdNQWdzZ0JrRUJheUVHSUFGQkFXb2dDbkVoQVF3QUN3QUxJQUFDZmlBSUxRQUVSUVJBUWdBaERFSUFEQUVMSUFRZ0JVRU1heWdDQUNBSUtBSUFRUUowYWlJQlFRSnFMUUFBUVE5eE9nQUNJQVFnQVM4QkFEc0JBRUtBZ0lDQUVDRU1JQVF6QVFBZ0JERUFBa0lRaG9RTElBeUVOd0lBSUFSQkVHb2tBQXZVQ2dJTGZnRi9Jd0JCUUdvaURTUUFJQUd0SVFNQ2ZpQUJRU0JOQkVBZ0FVRVJTUVJBSUFGQkNFOEVRQ0FEUWdHR1FySC92b1BOdUtXUDVRQjlJZ0lnQUNBQmFrRUlheWtBQUNJRElBQXBBQUJDc2YrK2c4MjRwWS9sQUgwaUJFSW5pWHgrSWdVZ0JTQURRaHVKSUFKK0lBUjhoU0FDZmlJRFFpK0loU0FEaFNBQ2ZpSURRaStJSUFPRklBSitEQU1MSUFGQkJFOEVRQ0FEUWdHR1FySC92b1BOdUtXUDVRQjlJZ0lnQUNBQmFrRUVhelVBQUNJRUlBQTFBQUJDQTRZZ0EzeUZmaUlEUWkrSUlBU0ZJQU9GSUFKK0lnTkNMNGdnQTRVZ0FuNE1Bd3RDejREQi9MTEgydkNhZnlBQlJRMENHaUFBSUFGcVFRRnJMUUFBUVFKMElBRnFyVUtuNHF5K3lZdnkwa04rSUFBeEFBQWdBQ0FCUVFGMmFqRUFBRUlJaG9SQ3o0REIvTExIMnZDYWYzNkZJZ0pDTDRnZ0FvVkN6NERCL0xMSDJ2Q2FmMzRNQWdzZ0EwSUJoa0t4Lzc2RHpiaWxqK1VBZlNJQ0lBQWdBV29pQVVFSWF5a0FBSDRpQXlBQUtRQUFRdlBrNC9UN3phM0p0SDkrSWdRZ0FDa0FDQ0lGUXJIL3ZvUE51S1dQNVFCOVFpNkpmSHdpQnlBSElBTkNJb2tnQkNBRmZFSVZpWHdnQVVFUWF5a0FBRUxQZ01IOHNzZmE4SnAvZm55RklBSitJZ05DTDRpRklBT0ZJQUorSWdOQ0w0Z2dBNFVnQW40TUFRc2dBVUhCQUU4RVFDQUFJQUZxSWdGQktHc3BBQUFoQmlBQlFUaHJLUUFBSVFRZ0FVRVFheWtBQUNFSUlBMGdBVUZBYWlBRElBRkJNR3NwQUFBZ0Ezd2dBVUVZYXlrQUFCQWVJZ0lRSHlBTktRTUlJUVVnRFNrREFDRUhJQTFCRUdvZ0FVRWdheUFFSUFoOElnUkNqWnVjaTRTeTByYkxBSDBnQmhBZlFnQWdBMElCZlVKQWczMGhDaUFBS1FBQUlBWkM4K1RqOVB2TnJjbTBmMzU4SVFrZ0RTa0RHQ0VHSUEwcEF4QWhDQU5BSUFBcEFEQWhEQ0FBS1FBb0lRc2dEVUVnYWlBQUlBVkM4K1RqOVB2TnJjbTBmMzRnQUNrQUNDQUVJQWQ4SUFsOGZFSWJpVUx6NU9QMCs4MnR5YlIvZmlBR2hTSURJQWg4RUI4Z0J5QUxmQ0VMSUFRZ0JYd2hCQ0FOS1FNb0lRVWdEU2tESUNFSElBMUJNR29nQUVFZ2FpQUNJQWg4UWgrSlF2UGs0L1Q3emEzSnRIOStJZ2tnQm53Z0N5QUVJQXg4UWhhSlF2UGs0L1Q3emEzSnRIOStmQ0lFSUFBcEFCQjhFQjhnQUVGQWF5RUFJQTBwQXpnaEJpQU5LUU13SVFnZ0F5RUNJQXBDUUgwaUNrSUFVZzBBQ3lBSElBZ1FIaUFFUWkrSUlBU0ZRdlBrNC9UN3phM0p0SDkrSUFKOGZDQUZJQVlRSGlBSmZCQWVEQUVMSUFOQ0FZWkNzZisrZzgyNHBZL2xBSDBpQXlBQUlBRnFJZ0ZCRUdzcEFBQitJZ1FnQVVFZ2F5a0FBQ0lGZkNBQUtRQVlRZ2wrSWdjZ0FDa0FFRUxQZ01IOHNzZmE4SnAvZm53aUJpQUJRUmhyS1FBQUlnSjhJZ2dnQUNrQUNDSUpmQ0FHUWhhSklBSjhJZ1lnQ0NBQlFRaHJLUUFBSWdwOGZDQUVJQWNnQ2lBQUtRQUFRcytBd2Z5eXg5cndtbjkrZkNJRUlBV0ZmRUlCZkNJRmZDQUpRaUtKSUFKOFFnbCtJQVJDRllsOElBVjhJQU4rSWdKQ09JWWdBa0tBL2dPRFFpaUdoQ0FDUW9DQS9BZURRaGlHSUFKQ2dJQ0ErQStEUWdpR2hJUWdBa0lJaUVLQWdJRDRENE1nQWtJWWlFS0FnUHdIZzRRZ0FrSW9pRUtBL2dPRElBSkNPSWlFaElSOElBTitJZ0pDT0lZZ0FrS0EvZ09EUWlpR2hDQUNRb0NBL0FlRFFoaUdJQUpDZ0lDQStBK0RRZ2lHaElRZ0FrSUlpRUtBZ0lENEQ0TWdBa0lZaUVLQWdQd0hnNFFnQWtJb2lFS0EvZ09ESUFKQ09JaUVoSVI4SUFOK0lnSkNPSVlnQWtLQS9nT0RRaWlHaENBQ1FvQ0EvQWVEUWhpR0lBSkNnSUNBK0ErRFFnaUdoSVFnQWtJSWlFS0FnSUQ0RDRNZ0FrSVlpRUtBZ1B3SGc0UWdBa0lvaUVLQS9nT0RJQUpDT0lpRWhJUjhJQU4rZkNJQ1FpK0lJQUtGSUFOK0lBWjhDeUFOUVVCckpBQUxsZ0VCQlg4Q1FDQUJJQU5IRFFBZ0FVRUNka0VCYWlFRklBSWhBeUFBSVFRRFFDQUZRUUZySWdVRVFDQURLQUFBSUFRb0FBQWdBMEVFYWlFRElBUkJCR29oQkVZTkFRd0NDd3NnQVVFRGNTRURJQUFnQVVGOGNTSUJhaUVFSUFFZ0Ftb2hCUU5BSUFORklnQWhCaUFBRFFFZ0EwRUJheUVESUFVdEFBQWdCQzBBQUNBRVFRRnFJUVFnQlVFQmFpRUZSZzBBQ3dzZ0JndWZBZ0VEZndKQUlBQXRBQndpQWtFVVR3MEFJQUFvQWhoQmdBSnFRWDhnQW5SQmYzTkpEUUFnQUNBQ1FRRnFJZ0k2QUJ3TElBQUNmeUFDUWY4QmNVSEFBQ0FBTFFBZElnTnJJZ1JCL3dGeFRRUkFJQUFvQWdBZ0FDZ0NCRUVEZEdwQkNHc2lCQ0FFS1FNQUlBR3RRdi8vUDROQkFDQUNJQU5xYTBFL2NhMkdoRGNEQUNBQUxRQWNJQUF0QUIxcURBRUxJQU5Cd0FCSEJFQWdBQ2dDQUNBQUtBSUVRUU4wYWtFSWF5SURJQU1wQXdBZ0FVSC8vejl4SUFJZ0JHdDJyWVEzQXdBZ0FDMEFIQ0VDQ3lBQUlBQW9BZ1FpQTBFQmFqWUNCQ0FBS0FJQUlBTkJBM1JxSUFHdFF2Ly9QNE1nQkNBQ2EwRS9jYTJHTndNQUlBQXRBQndnQkdzTE9nQWRJQUFnQUNnQ0ZFRUJhallDRkNBQUlBQW9BaGhCQVdvMkFoZ0w5UkVERDM4RGZRRitJd0JCc0FacklnSWtBQUovQWtBQ1FDQUJSUVJBSUFKQkNUc0JoQVlnQWtJQU53TDhCU0FDUXFyVnF0VUtOd0xvQlNBQ1FRQTJBdkFGSUFKQmtJREFBQ2tEQURjQzlBVWdBa0hvQldwQkFSQUxRZi8vQTNFTkFTQUNLQUxvQlNBQ0tBTHNCU0lBUVFOMGFrSUFOd01BSUFKQk1Hb2dBa0h3QldvcEFnQTNBd0FnQWtFNGFpQUNRZmdGYWlrQ0FEY0RBQ0FDUVVCcklBSkJnQVpxS1FJQU53TUFJQUlnQUVFQmFqWUM3QVVnQWlBQ0tRTG9CVGNES0F3Q0N5QUNRZEFBYWtFQU5nSUFJQUpDQURjRFNDQUNRWkNBd0FBcEF3QWlGRGNDVkNBQ1FkUUFhaUVPQTBBZ0EwR0FCRWNFUUNBQ1Fkd0FhaUFEYWtFQ093RUFJQU5CQW1vaEF3d0JDd3NnQWlBVU53TDBCU0FDUVFBMkF2QUZJQUpDcXRXcTFRbzNBdWdGQWtBZ0FrSG9CV3BCRkFKL0FrQUNRQ0FCczBNQUFJQS9raUlTdkNJRFFZQ0FnQVJJQkVCREFBREFmME1BQUlEL0lBTkIvLy8vL3dkeElnUWJJUkVnQTBFQVNBMENJQVJGRFFJZ0VrTUFBQUJNbEx3aEEwSG9maUVFREFFTElCSWhFU0FEUWYvLy8vc0hTdzBCUVlGL0lRUkRBQUFBQUNFUklBTkJnSUNBL0FOR0RRRUxJQU5CamZhckFtb2lBMEgvLy84RGNVSHppZFQ1QTJxK1F3QUFnTCtTSWhFZ0VTQVJRd0FBQUQrVWxDSVNrN3hCZ0dCeHZpSVRRd0N3dUQrVUlCRWdFNU1nRXBNZ0VTQVJRd0FBQUVDU2xTSVJJQklnRVNBUmxDSVJJQkVnRVpRaUVVUHU2WkUrbEVPcXFpby9rcFFnRVNBUlF5YWVlRDZVUXhQT3pENlNsSktTbEpJaUVVTUFzTGcvbENBUklCT1NROVNhT0xtVWtwSWdCQ0FEUVJkMmFyS1NJUkVMSUJGREFBQ0FUMTBnRVVNQUFBQUFZSEVFUUNBUnFRd0JDMEVBQ3lJRElBTkJGRThiSUFGc1FVQnJRUVoyUVFGcUVBeEIvLzhEY1EwQUlBSW9BdkFGSVFNZ0Fpa0M5QVVoRkNBQ0tBTG9CU0lFSUFJb0F1d0ZJZ1pCQTNScVFnQTNBd0FnQWtFSk93SDRCQ0FDUWdBM0F2QUVJQUlnRkRjQzZBUWdBaUFETmdMa0JDQUNJQVEyQXR3RUlBSkJBRHNCL0FRZ0FrRUFPZ0QrQkNBQ0lBWkJBV28yQXVBRUlBRkJBV29oRHlBQVFRRnJJUkJCZ0FJaENVRUNJUU1EUUNBQUlBcHFJUVFDZndKQUFrQUNRQUpBQWtBZ0FrSGNCR29DZndOQUlBTWdDbW9pRENBQlR3MENJQUpCZ0FWcUlBSkJ5QUJxSUFRZ0F4QUdBa0FnQWkwQWhBVkZCRUFnQTBFQ1J3MEJJQVF0QUFBTUF3c2dBaUFDTFFDQ0JUb0EvZ1FnQWlBQ0x3R0FCVHNCL0FRZ0EwRUJhaUVEREFFTEN5QUNMd0g4QkNBQ0xRRCtCRUVRZEhJTEVBa2dBa0hjQUdvZ0JDMEFBRUVCZEdvaUJpQUdMd0VBSWdZZ0EwRUJhMEgvL3dOeElnVWdCU0FHU1JzN0FRQWdDVUgvL3o5eFFmLy9QMFlFUUNBQ0tBSklJZ1JGRFFVZ0JDQUVRUVJyS0FJQUlnUVFJQ0FDUVFBMkFrd2dBaUFFclVMUUFINUM1QUNBUGdKUURBVUxJQUpCeUFCcUlBUWdBeEFOSUFJb0FsQU5BeUFDS0FKSUlnWUVmeUFHUVFSck5RSUFRdEFBZmlJVUlCUkM1QUNDZlVMa0FIeEMwQUNBcHdWQkFRc2hCU0FDUWZBRmFpSU5RUUEyQWdBZ0FrSUFOd1BvQlNBQ0lBSXBBbFEzQTRnR0lBSkJrQVpxSUFKQmlBWnFRUWhDQVVFZ0lBVm5hNjJHcHlJRklBVkJDRTBiSWdkQkQyb2lDQ0FIUVFOMGFpSUxJQWRCQW5ScVFYeHhFQTRnQWlrRGtBWWlGRUlnaUtjaUJVSC8vd054RFFJZ0ZLY2lCU0FITmdJSUlBVWdCU0FJUVh4eGFqWUNCQ0FGSUFVZ0MwRjhjV28yQWdBZ0FpQUZRUXhxSWdVMkF1Z0ZJQVVnQlFSL0lBVkJCR3NvQWdBRlFRQUxFQ0FnQWlBSHJVTFFBSDVDNUFDQVBnTHdCU0FDS0FKTUlndEZEUUVnQmdSL0lBWkJCR3NvQWdBRlFRQUxJUVVnQmtFTWF5SUlLQUlBSVFjZ0NFRUVhaWdDQUNFSUEwQWdCVVVOQWlBR0xBQUFRUUJJQkVBZ0FrSG9CV29nQ0NnQ0FDQUlRUVJxS0FJQUlBY3ZBUUFnQjBFQ2FpMEFBRUVRZEhJUUR5QUNLQUxzQlNBTFJnMERDeUFGUVFGcklRVWdCa0VCYWlFR0lBaEJDR29oQ0NBSFFRUnFJUWNNQUFzQUN5QUNRZHdFYWdKL0lBRWdDa0VCYWswRVFDQUVMUUFBREFFTElBSkJ1QVZxSUFKQjJBQnFLQUlBTmdJQUlBSkJzQVZxSUFKQjBBQnFLUU1BTndNQUlBSWdBaWtEU0RjRHFBVWdBa0hBQldvZ0FrR29CV29nQkNBREVBWWdBa0hjQkdvQ2Z3SkFJQUl0QU1RRlJRUkFJQU5CQWtjTkFTQUVMUUFBREFJTElBSXZBY0FGSUFJdEFNSUZRUkIwY2d3Q0N5QUNRZGdGYWlBQ1FkZ0FhaWdDQURZQ0FDQUNRZEFGYWlBQ1FkQUFhaWtEQURjREFDQUNJQUlwQTBnM0E4Z0ZJQUpCNEFWcUlBSkJ5QVZxSUFRZ0EwRUJheEFHSUFJdkFlQUZJQUl0QU9JRlFSQjBjZ3NRQ1NBRElBUnFRUUZyTFFBQUN4QUpJQUpCUUdzZ0FrSDBCR29wQWdBM0F3QWdBa0U0YWlBQ1Fld0VhaWtDQURjREFDQUNRVEJxSUFKQjVBUnFLUUlBTndNQUlBSWdBaWtDM0FRM0F5Z2dBa0hJQUdvUUJBd0lDeUFDUWRBQWFpSUdLQUlBSVFVZ0JpQU5LQUlBTmdJQUlBMGdCVFlDQUVFQUlRVWdBa0VBTmdKTUlBSXBBMGdoRkNBQ0lBSXBBK2dGTndOSUlBSWdGRGNENkFVTElBSkI2QVZxSUE0UUJTQUZRZi8vQTNFTkJBc2dBa0hJQUdvZ0JDQURJQWtRRHlBSlFRRnFEQUVMUVFBaEJBTkFJQVJCZ0FSSEJFQWdBa0hjQUdvZ0JHcEJBanNCQUNBRVFRSnFJUVFNQVFzTElBSkIzQVJxUWYvL1B4QUpJQUpCQURZQzlBUWdBa0VKT2dENEJFR0FBZ3NoQ1NBUElBcHJJQU5ySWdNZ0FrSGNBR29nRENBUWFpSUZMUUFBUVFGMGFpOEJBQ0lFSUFNZ0JFa2JJUVFnREVFQmF5RUtRUUloQXdOQUlBUWdBMnNpQmtFRlNRMEJJQUpCbUFWcUlBSkIyQUJxS0FJQU5nSUFJQUpCa0FWcUlBSkIwQUJxS1FNQU53TUFJQUlnQWlrRFNEY0RpQVVnQWtHZ0JXb2dBa0dJQldvZ0JTQUdRUUYySUFOcUlnWVFCaUFHSUFNZ0FpMEFwQVVpQnhzaEF5QUVJQVlnQnhzaEJBd0FDd0FMQUFzZ0FrSElBR29RQkF0QmZ3d0JDeUFDUVNCcUlBSkJRR3NwQXdBM0F3QWdBa0VZYWlBQ1FUaHFLUU1BTndNQUlBSkJFR29nQWtFd2Fpa0RBRGNEQUNBQ0lBSXBBeWczQXdoQmZ5QUNRUWhxSUFJb0Fnd2lBRUVDYWhBTFFmLy9BM0VOQUJvZ0FpZ0NDQ0lESUFJb0FneEJBM1JxSWdRZ0FqVUNIQ0FCclVJZ2hvUTNBd0FnQkVFSWFpQUFRUU4wUVFocUlnQ3RJQUkxQWhCQ0k0YUVOd01BSUFBZ0Eyb0xJQUpCc0FacUpBQUxIZ0VDZnlBQklBQW9BZ2dpQTBzRWZ5QUFJQU1nQVJBUUVBd0ZRUUFMQzY0Q0FnWi9BWDRqQUVFUWF5SUVKQUFDUUNBQUtBSUlJZ01nQVU4TkFDQUFLQUlBSVFVQ1FDQURSUTBBSUFRZ0FVSC8vLy8vQVVzNkFBZ2dBVUdBZ0lDQUFrOE5BQ0FBS1FJTUlnaW5JQVVnQTBFRGRFRURJQUZCQTNSQkFDQUlRaUNJcHlnQ0JCRUZBRUVCY1VVTkFDQUFJQUUyQWdnTUFRc2dBQ2tDRENFSUlBUWdBVUgvLy8vL0FVczZBQXdDUUNBQlFZQ0FnSUFDVHcwQUFrQWdBVUVEZENJQ1JRUkFRWGdoQWd3QkN5QUlweUFDUVFOQkFDQUlRaUNJcHlnQ0FCRUFBQ0lDUlEwQkN5QUNJQUFvQWdBZ0FDZ0NCRUVEZEJBaElRWkJBQ0VDSUFOQkEzUkJBQ0FER3lJSEJFQWdBQ2tDRENJSXB5QUZRUWdnQXhzZ0IwRURRUUFnQ0VJZ2lLY29BZ2dSQVFBTElBQWdBVFlDQ0NBQUlBWTJBZ0FNQVF0QkFTRUNDeUFFUVJCcUpBQWdBZ3ZVQVFJSWZ3RitJd0JCRUdzaUJDUUFRYUNBd0FBaEJ3SkFJQUFvQWdSRkRRQWdBQ2dDQUNJRlFRaHJJUWdnQVNBQ0VBY2lDNmNnQlFSL0lBVkJCR3NvQWdBaUJrRUJhd1ZCZndzaUNYRWhBQ0FMUWptSXB5RUtBMEFnQUNBRmFpd0FBQ0lEUlEwQklBWkZEUUVDUUNBRFFRQk9EUUFnQ2lBRFFmOEFjVWNOQUNBQklBSWdDQ2dDQUNBQVFRTjBhaUlES0FJQUlBTW9BZ1FRQ0VFQmNVVU5BQ0FFUVFFNkFBd2dCRUVJYWlFSERBSUxJQVpCQVdzaEJpQUFRUUZxSUFseElRQU1BQXNBQ3lBSExRQUVHaUFFUVJCcUpBQUxUd0VCZmlBQ1JRUkFJQUJDL1AvLy93ODNBZ0FQQ3lBQktRSUFJZ09uSUFKQkFrRUFJQU5DSUlpbktBSUFFUUFBSWdFRVFDQUFJQUUyQWdBZ0FFRUFPd0VFRHdzZ0FFS0FnSUNBRURjQ0FBdkpBUUlFZndGK0lBQWdBU0FDRUExQmZ5RUVJQUVnQWhBSElnaW5JQUFvQWdBaUJnUkFJQVpCQkdzb0FnQkJBV3NoQkFzZ0JIRWhCUU5BSUFVZ0Jtb2lCeXdBQUVFQVRrVUVRQ0FGUVFGcUlBUnhJUVVNQVFzTElBQWdBQ2dDQ0VFQmF6WUNDQ0FISUFoQ09ZaW5RWUFCY2pvQUFDQUFLQUlBUVFocktBSUFJQVZCQTNScUlnUWdBallDQkNBRUlBRTJBZ0FnQUNnQ0FFRU1heWdDQUNBRlFRSjBhaUlCSUFNN0FRQWdBVUVDYWlBRFFmLy9QM0ZCRUhZNkFBQWdBQ0FBS0FJRVFRRnFOZ0lFQ3lVQkFYOERRRUYvSUFCQkFYWWdBR3BCQ0dvaUFpQUFJQUpMR3lJQUlBRkpEUUFMSUFBTFh3SURmd0YrSXdCQkVHc2lBU1FBSUFFZ0FDa0NERGNEQ0NBQUtBSUFJUUlnQUNnQ0NDSUFRUU4wUVFBZ0FCc2lBd1JBSUFGQkNHb3BBZ0FpQktjZ0FrRUVJQUFiSUFOQkFrRUFJQVJDSUlpbktBSUlFUUVBQ3lBQlFSQnFKQUFMOWdvQ0NuOENmaU1BUWVBQWF5SUVKQUFnQkVFQU5nSlFJQVJDcXRXcTFRbzNBa2dnQkVHUWdNQUFLUU1BSWc0M0FsUUNmd0pBQW44Z0FrVUVRRUdxMWFyVmVnd0JDeUFDSVFsQnF0V3ExWG9nQkVIVUFHb2lBVUdxMWFyVmVrRUFJQUlRRTBFQmNRMEFHaUFFUVNCcUlBRWdBaEFVSUFRdkFTZ05BU0FFS0FJa0lRa2dCQ2dDSUFzaEMwRUpJUW9EUUFKQUFrQUNRQUpBSUFJZ0JrY0VRQ0FLUWY4QmNTSUJRUlJKRFFFTUJBc2dCQ0FPTndNNEFrQWdCRUU0YWlBTElBa2dBaEFUUVFGeEJFQWdDeUVBREFFTElBUkJ5QUJxSUFSQk9Hb2dBaEFVSUFRdkFWQU5CaUFFS0FKSUlnQWdDeUFFS0FKTUlnSkJBblFRSVJvZ0JDQU9Od01nSUFSQklHb2dDeUFKRUJVTElBSkZCRUJCQUNFRlFhclZxdFY2SVFkQkFDRUREQUlMSUFRZ0RqY0NMQ0FFUVFBMkFpZ2dCRUtxMWFyVkNqY0NJQ0FFUVFCQi8vOC9FQkFpQVVILy8vLy9BVXM2QUVRZ0FVR0FnSUNBQWs4TkFpQUVJQTQzQXpnZ0JFSElBR29nQkVFNGFpQUJRUU4wRUE0Z0JDa0RTQ0lQUW9DQWdJRHcveitEUWdCU0RRSWdCQ0FCTmdJb0lBUWdENmNpQ3pZQ0lFRUFJUUVEUUNBQlFmai8vd05HUlFSQUlBRWdDMnBDQURjQ0FDQUJRUWhxSVFFTUFRc0xJQVJCLy84L05nSWtJQVFnRGpjQ1ZFRUFJUUVnQkVFQU5nSlFJQVJDcXRXcTFRbzNBa2dnQkVISUFHb2dBMEVDZEJBV1FmLy9BM0VOQWlBRUtRSlVJUTRnQkNnQ1VDRURJQVFvQWtnaUJ5QUVLQUpNSWdWcUlBQXRBQUE2QUFBZ0N5QUFMd0VBSUFCQkFtb3RBQUJCRUhSeVFRTjBhaUlLUVFFMkFnUWdDaUFITmdJQUlBVkJBV29oQmtHQUFpRUtRUUVoQ0FOQUlBWWhCUUovQW44Q1FBSkFJQUlnQ0UwTkFDQUFJQWhCQW5ScUlnWXZBUUFnQmtFQ2FpMEFBRUVRZEhJaUJrSC8vejlHQkVBZ0NFRUJhaUlJSUFKUERRRkJBQ0VCQTBBZ0FVSDQvLzhEUmtVRVFDQUJJQXRxUWdBM0FnQWdBVUVJYWlFQkRBRUxDeUFBSUFoQkFuUnFJZ0V2QVFBZ0FVRUNhaTBBQUVFUWRISWlBVUdBQWs4RVFDQUVRZi8vUHpZQ0pBd0pDeUFGSUFkcUlBRTZBQUFnQlVFQmFpRUdRWUFDREFRTElBWkJnQUpKRFFFZ0N5QUdRUU4wYWlJR0tBSUFJZ2xGQkVBZ0JTQUhhaUFCSUFkcUlnWWdCU0FCYXlJSkVDRWFJQWNnQlNBSmFpSUphaUFHTFFBQU9nQUFJQWxCQVdvTUF3c2dCU0FIYWlBSklBWW9BZ1FpQmhBaEdpQUZJQVpxREFJTElBUkIvLzgvTmdJa0lBUkJJR29RRVF3RkN5QUZJQWRxSUFZNkFBQWdCVUVCYWdzaEJpQUxJQXBCLy84L2NVRURkR29pQ1NBRklBRnJRUUZxTmdJRUlBa2dBU0FIYWpZQ0FDQUtRUUZxQ3lFS0lBaEJBV29oQ0NBRklRRU1BQXNBQ3lBS0lBMUJnQUpxUVg4Z0FYUkJmM05QYWlFS0RBSUxJQVFnRGpjQ0dDQUVJQWMyQWd3Z0JDQUZOZ0lRSUFRZ0F6WUNGQ0FGUVFocUlnQWdBMDBFZnlBRkJVRi9JQVJCREdvZ0F5QUFFQkFRRmtILy93TnhEUVVhSUFRb0Fnd2hCeUFFS0FJVUlRTWdCQ2dDRUFzZ0Iyb2lBQ0FGT2dBQUlBQkJCMm9nQTBFWWRqb0FBQ0FBUVFacUlBTkJFSFk2QUFBZ0FFRUZhaUFEUVFoMk9nQUFJQUJCQkdvZ0F6b0FBQ0FBUVFOcUlBVkJHSFk2QUFBZ0FFRUNhaUFGUVJCMk9nQUFJQUJCQVdvZ0JVRUlkam9BQUNBRklBZHFEQVFMSUFSQklHb1FFUXdDQzBFQUlRZ2dDaUVCQTBBZ0FVSC9BWEVpREFSQUlBZ2dBQ0FISUFWQi93RnhRY0FBUmlJSWFpSUhRUU4wYWlrREFFRUFJQVVnQ0JzaUJVRS9jYTJHUVFBZ0RFSEFBQ0FGYTBIL0FYRWlDQ0FJSUF4TEd5SU1hMEUvY2EySXB5QUJJQXhySWdGMGNpRUlJQVVnREdvaEJRd0JDd3NnQ3lBR1FRSjBhaUlCSUFnN0FRQWdBVUVDYWlBSVFmLy9QM0VpQVVFUWRqb0FBRUVBSUExQkFXb2dBVUgvL3o5R0lnRWJJUTFCQ1NBS0lBRWJJUW9nQmtFQmFpRUdEQUFMQUF0QmZ3c2dCRUhnQUdva0FBdDlBZ0ovQVg0akFFRVFheUlFSkFBQ1FDQURSUVJBSUFRZ0FDa0NBRGNEQUNBRUlBRWdBaEFWUVFFaEJRd0JDeUFDUlEwQUlBUWdBMEgvLy8vL0EwczZBQXdnQTBHQWdJQ0FCRThOQUNBQUtRSUFJZ2FuSUFFZ0FrRUNkRUVDSUFOQkFuUkJBQ0FHUWlDSXB5Z0NCQkVGQUNFRkN5QUVRUkJxSkFBZ0JRdXlBUUlCZndGK0l3QkJNR3NpQXlRQUlBRXBBZ0FoQkNBRElBSkIvLy8vL3dOTE9nQXNJQUFDZndKQUFrQWdBa0dBZ0lDQUJFOEVRRUVCSVFFTUFRc2dBeUFFTndNWUlBTkJJR29nQTBFWWFpQUNRUUowRUE0Z0F5a0RJQ0lFUWlDSXB5SUJRZi8vQTNGRkRRRUxJQU1nQVRzQkNDQUREQUVMSUFNZ0FqWUNFQ0FESUFRK0Fnd2dBMEVBT3dFVUlBTkJER29MSWdJcEFnQTNBZ0FnQUVFSWFpQUNRUWhxS0FJQU5nSUFJQU5CTUdva0FBczJBZ0YvQVg0Z0FrRUNkRUVBSUFJYklnTUVRQ0FBS1FJQUlnU25JQUZCQkNBQ0d5QURRUUpCQUNBRVFpQ0lweWdDQ0JFQkFBc0wzUUVDQlg4QmZpTUFRU0JySWdJa0FBSkFJQUFvQWdnaUF5QUJUdzBBSUFCQkRHb2hCU0FBS0FJQUlRWUNRQUpBSUFORkRRQWdCU2tDQUNJSHB5QUdJQU5CQUNBQlFRQWdCMElnaUtjb0FnUVJCUUJCQVhGRkRRQWdBQ0FCTmdJSURBRUxJQUlnQlNrQ0FEY0RFQ0FDUVJocUlBSkJFR29nQVJBQklBSXZBUndpQkEwQklBSW9BaGdnQUNnQ0FDQUFLQUlFRUNFaEJDQURCRUFnQlNrQ0FDSUhweUFHUWFyVnF0VjZJQU1iSUFOQkFFRUFJQWRDSUlpbktBSUlFUUVBQ3lBQUlBRTJBZ2dnQUNBRU5nSUFDMEVBSVFRTElBSkJJR29rQUNBRUM3Z0NBZzEvQVg0akFFRVFheUlGSkFBZ0FDZ0NCQ0VISUFBb0FnQWhDQ0FDUWY4QmNTRUpBMEFDUUFKQUlBUWdCMFlFUUVGL0lRTU1BUXNnQ0NBRVFRUjBhaUlDUVFocUtRTUFJaEJDQUZrRVFDQUNLUU1BZXlBUWUzeW5JQUZKRFFJTElBUkJCM1FpQTBHQUFXb2hDZ05BSUFNZ0NrOE5BaUFESUFBcEFnQWlFRUlaaUtkQmdIOXhJZ0lnQWlBRFNSc2lDeUFEYXlFTUlCQ25RUWdnRUVJZ2lLY2JJUTBnQTBFUWRHZ2hEa0VBSVFJQ1FBTkFJQUlnREVZRVFDQUxJUVlNQWd0Qi93RWdBaUFEYWlJR1FRZHhJZzlCQjNOMlFRRWdEM1J4SUEwZ0JrRURkbW90QUFCeFJRMEJJQUpCQVdvaUFpQUJTUTBBSUFrZ0Rrc05BQXNnQlNBUU53TUlJQVZCQ0dvZ0F5QUJRUUFRR0F3Q0N5QUdRUUZxSVFNTUFBc0FDeUFGUVJCcUpBQWdBdzhMSUFSQkFXb2hCQXdBQ3dBTFVRRUJmeUFEUVFGeElRTURRQ0FDQkVBZ0FVRURkaUFBS0FJQVFRZ2dBQ2dDQkJ0cUlnUWdCQzBBQUVGK0lBRkJCM0VpQkhkeElBTWdCSFJ5T2dBQUlBRkJBV29oQVNBQ1FRRnJJUUlNQVFzTEM1d0JBUUovSXdCQkVHc2lBaVFBSUFCQmdCQkpCRUJCbUlEQUFDQUFRWUFRSUFFZ0FVR0FFRThiSUFCckVCb0xJQUZCZ0JCTEJFQkJySURBQUNnQ0FFVUVRRUdzZ01BQVFZQWdOZ0lBUWFpQXdBQWdBVUVCYXlJQlFSQjBJZ00yQWdBZ0EwR0FnQVFRSUFzZ0FrR29nTUFBS1FNQU53TUlJQUpCQ0dwQmdCQWdBQ0FBUVlBUVRSc2lBRUdBRUdzZ0FTQUFheEFhQ3lBQ1FSQnFKQUFMS3dFQmZ5TUFRUkJySWdNa0FDQURJQUFwQWdBM0F3Z2dBMEVJYWlBQklBSkJBUkFZSUFOQkVHb2tBQXVaQVFBQ2YwRUFJQUZCZ1lCOFR3MEFHZ0pBUVppQXdBQWdBVUgvL3dOcVFSQjJJZ0VnQWhBWElnQkJmMGNOQUVHb2dNQUFJQUVnQWhBWElnQkJmMGNFUUNBQVFZQVFhaUVBREFFTFFRQWdBVUVCSUFKMElnSS9BQ0lCUVJCMElnTnFRUUZyUVFBZ0FtdHhJQU5ySWdKQkVIWWlBMnBBQUVFQVRBMEJHaUFCSUFOcUlRQWdBa0dBZ0FSSkRRQWdBU0FBRUJrTElBQkJFSFFMQzBrQUFrQWdBa0gvL3dOcUlnQkJnSUI4Y1NBRVR5SUNSUTBBSUFSQi8vOERha0VRZGlJRElBQkJFSFlpQUVZTkFDQURJQUZCLy84RGFrRVFkaUlCYWlBQUlBRnFFQmtMSUFJTEhRQWdBVUgvL3dOcVFSQjJJZ0FnQUNBQ1FmLy9BMnBCRUhacUVCa0xQZ0FnQUNBQmhVTHAydURaanNINjc1MS9maUlBUWkrSUlBR0ZJQUNGUXVuYTRObU93ZnJ2blg5K0lnQkNMNGdnQUlWQzZkcmcyWTdCK3UrZGYzNExRZ0VDZmlBQUlBRXBBQkFnQVNrQUFDQUNmQ0lDSUFFcEFBaDhmQ0lFSUFFcEFCZ2lCWHczQXdBZ0FDQUVRaFNKSUFKOElBVWdBaUFEZkh4Q0s0bDhOd01JQ3lFQUlBRUVRQU5BSUFCQkFEb0FBQ0FBUVFGcUlRQWdBVUVCYXlJQkRRQUxDd3REQVFGL0FrQWdBa1VOQUNBQ1FRRnJJUUlnQUNFREEwQWdBeUFCTFFBQU9nQUFJQUpGRFFFZ0FrRUJheUVDSUFGQkFXb2hBU0FEUVFGcUlRTU1BQXNBQ3lBQUN3c3RBd0JCZ0lEQUFBc0pBUUFBQUFJQUFBQURBRUdXZ01BQUN3Y1FBREFBRUFBUUFFR29nTUFBQ3dTcXFxcXEiKTtjb25zdCBmPWF3YWl0IHkoKSxDPWYuZXhwb3J0cztmdW5jdGlvbiBKKEEpe2NvbnN0e3B0cjpRLGxlbmd0aDpJfT1rKEEsQyksZz1DLmNvbXByZXNzKFEsSSk7aWYoQy5mcmVlKFEsSSksZzwwKXRocm93IG5ldyBFcnJvcigiRXJyb3IgY29tcHJlc3Npbmcgc3RyaW5nLiIpO2NvbnN0e3N0YXJ0OkIsZW5kOkUsY2FwYWNpdHk6aX09dChDLm1lbW9yeSxnKSxEPW5ldyBVaW50MTZBcnJheShDLm1lbW9yeS5idWZmZXIuc2xpY2UoQixFKSksYT1lKEQpO3JldHVybiBDLmZyZWUoQixpKSxhfWZ1bmN0aW9uIHIoQSl7Y29uc3QgUT0oQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTMpPDwxNikrQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTQpLEk9KEEuY2hhckNvZGVBdChBLmxlbmd0aC0xKTw8MTYpK0EuY2hhckNvZGVBdChBLmxlbmd0aC0yKSxnPUEubGVuZ3RoLTQ7bGV0IEI9Qy5hbGxvY1VpbnQxNihnKSxFPW5ldyBVaW50MTZBcnJheShDLm1lbW9yeS5idWZmZXIsQixnKTtmb3IobGV0IG89MDtvPGc7bysrKUVbb109QS5jaGFyQ29kZUF0KG8pO2NvbnN0IGk9Qy5kZWNvbXByZXNzKEIsZyxRLEkpO2lmKEMuZnJlZShCLDIqZyksaTwwKXRocm93IG5ldyBFcnJvcigiRXJyb3IgZGVjb21wcmVzc2luZyBzdHJpbmcuIik7Y29uc3R7c3RhcnQ6RCxlbmQ6YSxjYXBhY2l0eTp3fT10KEMubWVtb3J5LGkpLHM9bmV3IFVpbnQ4QXJyYXkoQy5tZW1vcnkuYnVmZmVyLnNsaWNlKEQsYSkpLEY9bmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKHMpO3JldHVybiBDLmZyZWUoRCx3KSxGfXNlbGYub25tZXNzYWdlPWZ1bmN0aW9uKEEpe2NvbnN0e2NvbW1hbmQ6USxpZDpJLGRhdGE6Z309QS5kYXRhO3N3aXRjaChRKXtjYXNlImRlY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpJLGRhdGE6cihnKX0pO2JyZWFrfWNhc2UiY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpJLGRhdGE6SihnKX0pO2JyZWFrfX19fSkoKTs=", V = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(J)], { type: "text/javascript;charset=utf-8" });
2
+ function d(F) {
3
3
  let U;
4
4
  try {
5
- if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
5
+ if (U = V && (window.URL || window.webkitURL).createObjectURL(V), !U)
6
6
  throw "";
7
- const F = new Worker(U, {
7
+ const Q = new Worker(U, {
8
8
  type: "module",
9
- name: Q?.name
9
+ name: F?.name
10
10
  });
11
- return F.addEventListener("error", () => {
11
+ return Q.addEventListener("error", () => {
12
12
  (window.URL || window.webkitURL).revokeObjectURL(U);
13
- }), F;
13
+ }), Q;
14
14
  } catch {
15
15
  return new Worker(
16
16
  "data:application/javascript;base64," + J,
17
17
  {
18
18
  type: "module",
19
- name: Q?.name
19
+ name: F?.name
20
20
  }
21
21
  );
22
22
  }
23
23
  }
24
- const R = new W();
25
- let d = 0;
24
+ const R = new d();
25
+ let l = 0;
26
26
  const B = {};
27
- R.onmessage = function(Q) {
28
- const U = Q.data.id;
29
- B[U](Q.data.data), delete B[U];
27
+ R.onmessage = function(F) {
28
+ const U = F.data.id;
29
+ B[U](F.data.data), delete B[U];
30
30
  };
31
- async function Z(Q) {
32
- const U = d++;
33
- return new Promise((F) => {
34
- B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
31
+ async function S(F) {
32
+ const U = l++;
33
+ return new Promise((Q) => {
34
+ B[U] = Q, R.postMessage({ command: "compress", id: U, data: F });
35
35
  });
36
36
  }
37
- async function V(Q) {
38
- const U = d++;
39
- return new Promise((F) => {
40
- B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
37
+ async function Z(F) {
38
+ const U = l++;
39
+ return new Promise((Q) => {
40
+ B[U] = Q, R.postMessage({ command: "decompress", id: U, data: F });
41
41
  });
42
42
  }
43
43
  export {
44
- Z as compress,
45
- V as decompress
44
+ S as compress,
45
+ Z as decompress
46
46
  };
@@ -1,28 +1,81 @@
1
- import { i as w, c as k, e as G, U as h } from "./wasm-helper-C1VfMvbY.js";
2
- const F = (I) => w(I, "data:application/wasm;base64,AGFzbQEAAAABVg1gBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAX8AYAR/f39/AGACf38BfmACf38Bf2ADf39/AX9gAn5+AX5gBH9/fn4AAx8eAwQDBAUEBgUHCAAJCQcJBgQJCQoHBQQAAgELDAoKBAUBcAEEBAUDAQARBg4CfwFBgIDAAAt/AEEACwdEBgZtZW1vcnkCAAphbGxvY1VpbnQ4AAALYWxsb2NVaW50MTYAAgRmcmVlAAQIY29tcHJlc3MACwpkZWNvbXByZXNzABEJCQEAQQELAxcYGQq/OB5eAQF/I4CAgIAAQRBrIgEkgICAgAAgASOBgICAAEGYgMCAAGopAwA3AwAgAUEIaiABIAAQgYCAgAACQCABLwEMDQAgASgCCCEAIAFBEGokgICAgAAgAA8LA38ADAALC3ECAX8BfiOAgICAAEEQayIDJICAgIAAQoCAgIAQIQQCQEEBRQ0AAkAgAg0AQv////8PIQQMAQsgASgCACACQQBBACABKAIEKAIAEYCAgIAAACICRa1CIIYgAq2EIQQLIAAgBDcCACADQRBqJICAgIAAC14BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCDgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLhwECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgAkEASDoADAJAAkAgAkF/Sg0AQoCAgIAQIQQMAQsCQCACQQF0IgINAEL+////DyEEDAELIAEoAgAgAkEBQQAgASgCBCgCABGAgICAAAAiAkWtQiCGIAKthCEECyAAIAQ3AgAgA0EQaiSAgICAAAsZACOBgICAAEGYgMCAAGogACABEIWAgIAACzgBAX8CQCACQQAgAhsiA0UNACAAKAIAIAFBqtWq1XogAhsgA0EAQQAgACgCBCgCCBGBgICAAAALCw8AIAAgAEEMahCHgICAAAtwAQN/AkAgACgCACICRQ0AAkAgAkF0aiIDQQhqKAIAIgJBCmwgAkEPakF8cWpBA2pBfHEiAkEAIAIbIgRFDQAgASgCACADQQQgAhsgBEECQQAgASgCBCgCCBGBgICAAAALIABBADYCCCAAQQA2AgALC9gCAwR/AX4EfyOAgICAAEEQayIEJICAgIAAI4GAgIAAIQUgASgCACEGAkACQCABKAIEDQAgBUGAgMCAAGohBwwBCyACIAMQiYCAgAAhCAJAAkAgBg0AQQAhBUF/IQkMAQsgBkF8aigCACIFQX9qIQkLIAZBeGohCiAJIAincSEBIAhCOYinIQsDQCOBgICAAEGAgMCAAGohByAGIAFqLAAAIgxFDQEgBUUNAQJAIAxBf0oNACALIAxB/wBxRw0AIAIgAyAKKAIAIAFBA3RqIgwoAgAgDCgCBBCKgICAAEEBcUUNACAEQQE6AAwgBCABNgIIIARBCGohBwwCCyAFQX9qIQUgAUEBaiAJcSEBDAALCwJAAkAgBy0ABA0AQQAhAUEAIQUMAQsgBkF0aigCACAHKAIAQQF0ai8BACEBQYCABCEFCyAAIAUgAXI2AQAgBEEQaiSAgICAAAuhCwIBfwt+I4CAgIAAQcAAayICJICAgIAAIAGtIQMCQAJAIAFBIEsNAAJAIAFBEU8NAAJAIAFBCEkNACAAKQAAQs+Awfyyx9rwmn98IgRCJ4kgASAAakF4aikAACIFfCADQgGGQs+Awfyyx9rwmn98IgZ+IgMgAyAFQhuJIAZ+IAR8hSAGfiIEQi+IhSAEhSAGfiIEQi+IIASFIAZ+IQYMAwsCQCABQQRJDQAgADUAAEIDhiADfCABIABqQXxqNQAAIgSFIANCAYZCz4DB/LLH2vCaf3wiBn4iBUIviCAEhSAFhSAGfiIEQi+IIASFIAZ+IQYMAwsCQCABDQBCz4DB/LLH2vCafyEGDAMLIAEgAGpBf2otAABBAnQgAWqtQqfirL7Ji/LSQ34gACABQQF2ajEAAEIIhiAAMQAAhELPgMH8ssfa8Jp/foUiBkIviCAGhULPgMH8ssfa8Jp/fiEGDAILIAApAAgiBELPgMH8ssfa8Jp/fEIuiSAAKQAAQvPk4/T7za3JtH9+IgV8IAEgAGoiAEF4aikAACADQgGGQs+Awfyyx9rwmn98IgZ+IgN8IgcgByADQiKJIAUgBHxCFYl8IABBcGopAABCz4DB/LLH2vCaf358hSAGfiIEQi+IhSAEhSAGfiIEQi+IIASFIAZ+IQYMAQsCQCABQcEASQ0AIAEgAGoiAUFYaikAACEHIAFBSGopAAAhBiABQXBqKQAAIQggAiABQUBqIAMgAUFQaikAACADfCABQWhqKQAAEJqAgIAAIgkQm4CAgAAgAikDCCEEIAIpAwAhBSACQRBqIAFBYGogBiAIfCIGQvPk4/T7za3JtH98IAcQm4CAgABCACADQn98QkCDfSEKIAApAAAgB0Lz5OP0+82tybR/fnwhCCACKQMYIQMgAikDECEHA0AgACkAMCELIAApACghDCACQSBqIAAgBELz5OP0+82tybR/fiAGIAV8IAh8IAApAAh8QhuJQvPk4/T7za3JtH9+IAOFIg0gB3wQm4CAgAAgDCAFfCEMIAYgBHwhBiACKQMoIQQgAikDICEFIAJBMGogAEEgaiAJIAd8Qh+JQvPk4/T7za3JtH9+IgggA3wgACkAECAMIAYgC3xCFolC8+Tj9PvNrcm0f358IgZ8EJuAgIAAIABBwABqIQAgAikDOCEDIAIpAzAhByANIQkgCkLAAHwiCkIAUg0ACyAGQi+IIAaFQvPk4/T7za3JtH9+IA18IAUgBxCagICAAHwgBCADEJqAgIAAIAh8EJqAgIAAIQYMAQsgASAAaiIBQXBqKQAAIANCAYZCz4DB/LLH2vCaf3wiBH4iBSABQWBqKQAAIgN8IAApABhCCX4iByAAKQAQQs+Awfyyx9rwmn9+fCIIIAFBaGopAAAiBnwiCSAAKQAIIgp8IAkgAUF4aikAACINfCAIQhaJIAZ8Igh8IAcgDSAAKQAAQs+Awfyyx9rwmn9+fCIJIAOFfEIBfCIDIAV8IAlCFYkgCkIiiSAGfEIJfnwgA3wgBH4iBkI4hiAGQoD+A4NCKIaEIAZCgID8B4NCGIYgBkKAgID4D4NCCIaEhCAGQgiIQoCAgPgPgyAGQhiIQoCA/AeDhCAGQiiIQoD+A4MgBkI4iISEhHwgBH4iBkI4hiAGQoD+A4NCKIaEIAZCgID8B4NCGIYgBkKAgID4D4NCCIaEhCAGQgiIQoCAgPgPgyAGQhiIQoCA/AeDhCAGQiiIQoD+A4MgBkI4iISEhHwgBH4iBkI4hiAGQoD+A4NCKIaEIAZCgID8B4NCGIYgBkKAgID4D4NCCIaEhCAGQgiIQoCAgPgPgyAGQhiIQoCA/AeDhCAGQiiIQoD+A4MgBkI4iISEhHwgBH58IgZCL4ggBoUgBH4gCHwhBgsgAkHAAGokgICAgAAgBgusAQEFf0EAIQQCQCABIANHDQAgAUECdkEBaiEFIAIhAyAAIQYCQANAIAVBf2oiBUUNASADKAAAIQcgBigAACEIIANBBGohAyAGQQRqIQYgCCAHRg0ADAILCyABQQNxIQMgACABQXxxIgVqIQYgAiAFaiEFA0AgA0UhBCADRQ0BIANBf2ohAyAFLQAAIQcgBi0AACEIIAZBAWohBiAFQQFqIQUgCCAHRg0ACwsgBAuZCgUBfwF+B38BfgN/I4CAgIAAQZABayICJICAgIAAAkACQAJAIAENACOBgICAAEGYgMCAAGopAwAhA0Gq1arVeiEEQQAhBUEAIQYMAQtBACEHIAJBGGpBCGpBADYCACACQgA3AxggAiOBgICAAEGYgMCAAGopAwAiAzcCJCACQfgAakEIakEANgIAIAJCADcDeCABQf//AyABQf//A0kbQeQAbEHQAG4hCCACQSRqIQkCQAJAQQANAEF8IQZCAUEgIAhna61C//8Dg4anIghBCCAIQQhLGyIIQQF0IAhBD2pBfHEiCiAIQQN0aiIFakEDakF8cSIERQ0BIAOnIARBAkEAIANCIIinKAIAEYCAgIAAACIGDQELIAJB+ABqIAkQh4CAgAAgAkEYahCGgICAAAwCCyAGIAg2AgggBiAGIApqNgIEIAYgBiAFajYCACACIAZBDGoiBjYCeEEAIQcgBkEAIAgQnICAgAAaIAJB+ABqQQhqIgYgCEHQAGxB5ABuIgg2AgAgAkEYakEIaiIKKAIAIQUgCiAINgIAIAYgBTYCACACQQA2AhwgAikDGCELIAIgAikDeDcDGCACIAs3A3ggAkH4AGogCRCHgICAACACIAM3AoQBIAJBADYCgAEgAkKq1arVCjcCeAJAIAJB+ABqIAEQjICAgABB//8DcUUNACACQRhqEIaAgIAADAILIAIpAoQBIQMgAigCgAEhBSACKAJ8IQwgAigCeCEEQYACIQ1BACEHA0AgACAHaiEIQQIhBgJAAkACQANAAkACQCAHIAZqIgkgAU8NACACQSxqIAJBGGogCCAGEIiAgIAAIAItAC4NASAKIQcgBkECRg0DDAULAkAgB0EBaiABSQ0AIAgtAAAhBgwECyACQTBqQRBqIAJBGGpBEGooAgA2AgAgAkEwakEIaiACQRhqQQhqKQMANwMAIAIgAikDGDcDMCACQcQAaiACQTBqIAggBhCIgICAAAJAAkACQCACLQBGDQAgBkECRw0BIAgtAAAhBgwCCyACLwFEIQYMBQsgAkHIAGpBEGogAkEYakEQaigCADYCACACQcgAakEIaiACQRhqQQhqKQMANwMAIAIgAikDGDcDSCACQeAAaiACQcgAaiAIIAZBf2oQiICAgAAgAi8BYCEGCyAEIAxBAXRqIAY7AQAgDEEBaiEMIAkgAGpBf2otAAAhBgwDCyAGQQFqIQYgAi8BLCEKDAALCyAILQAAIQcMAQsgBCAMQQF0aiAGOwEAIAxBAWohBiACQRhqEIaAgIAADAILIAQgDEEBdGogBzsBACAMQQFqIQ4gCUF/aiEHAkAgDUH//wNxQf7/A0cNAAJAIAIoAhgiBkUNACAGQQAgBkF8aigCACIIEJyAgIAAGiACQQA2AhwgAiAIrULQAH5C5ACAPgIgCyAEIA5BAXRqQf7/AzsBACAMQQJqIQxBgAIhDQwBCyACQRhqIAggBiANEI2AgIAAIA1BAWohDSAOIQwMAAsLIAIgAzcCECACIAQ2AgQgAiAGNgIIIAIgBTYCDCAGIQECQCAFIAZBBGoiCE8NAEEAIQcgAkEEaiAFIAgQjoCAgAAQjICAgABB//8DcQ0BIAIoAgQhBCACKAIIIQELIAQgAUEBdGoiASAGQQF0Igc7AQAgAUECaiAGQQ92OwEAIAFBBGogBUEBdDsBACABQQZqIAVBD3Y7AQAgBCAHaiEHCyACQZABaiSAgICAACAHC5MCAQZ/I4CAgIAAQRBrIgIkgICAgABBACEDAkAgACgCCCIEIAFPDQAgACgCACEFAkAgBEUNACACIAFBAEg6AAggAUF/TA0AIAAoAgwgBSAEQQF0QQEgAUEBdEEAIABBEGooAgAoAgQRgoCAgAAAQQFxRQ0AIAAgATYCCEEAIQMMAQsgAiAAKQIMNwMAIAJBCGogAiABEIOAgIAAIAIvAQwiAw0AIAIoAgggACgCACAAKAIEQQF0EJ2AgIAAIQZBACEDAkAgBEEBdEEAIAQbIgdFDQAgACgCDCAFQQIgBBsgB0EBQQAgAEEQaigCACgCCBGBgICAAAALIAAgATYCCCAAIAY2AgALIAJBEGokgICAgAAgAwuYAwMCfwF+Bn8jgICAgABBEGsiBCSAgICAAAJAIAAoAgRFDQAgACgCACEFIAEgAhCJgICAACEGAkACQCAFDQBBACEHQX8hCAwBCyAFQXxqKAIAIgdBf2ohCAsgBUF4aiEJIAggBqdxIQogBkI5iKchCwNAIAUgCmosAAAiDEUNASAHRQ0BAkAgDEF/Sg0AIAsgDEH/AHFHDQAgASACIAkoAgAgCkEDdGoiDCgCACAMKAIEEIqAgIAAQQFxRQ0AIARBAToADAwCCyAHQX9qIQcgCkEBaiAIcSEKDAALCyABIAIQiYCAgAAhBkF/IQwCQCAAKAIAIgdFDQAgB0F8aigCAEF/aiEMCyAMIAancSEKAkADQCAHIApqIgUsAABBf0oNASAKQQFqIAxxIQoMAAsLIAAgACgCCEF/ajYCCCAFIAZCOYinQYABcjoAACAAKAIAQXhqKAIAIApBA3RqIgcgAjYCBCAHIAE2AgAgACgCAEF0aigCACAKQQF0aiADOwEAIAAgACgCBEEBajYCBCAEQRBqJICAgIAACyUBAX8DQEF/IABBAXYgAGpBCGoiAiACIABJGyIAIAFJDQALIAALPwEBfyOAgICAAEEQayIBJICAgIAAIAEgACkCDDcDCCABQQhqIAAoAgAgACgCCBCQgICAACABQRBqJICAgIAACzcBAX8CQCACQQN0QQAgAhsiA0UNACAAKAIAIAFBBCACGyADQQJBACAAKAIEKAIIEYGAgIAAAAsL2wcDAX8Bfgl/I4CAgIAAQcAAayICJICAgIAAI4GAgIAAQZiAwIAAaikDACEDAkACQAJAAkAgAQ0AQarVqtV6IQRBACEFQQAhBgwBCyACQQA2AiAgAkKq1arVCjcCGCACIAM3AiQgAkEAQf//AxCOgICAACIHQf////8BSzoALCAHQYCAgIACTw0BAkACQCAHQQN0IggNAEF8IQgMAQsgA6cgCEECQQAgA0IgiKcoAgARgICAgAAAIghFDQILIAIgBzYCICACIAg2AhhBACEHAkADQCAHQfj/H0YNASAIIAdqQgA3AgAgB0EIaiEHDAALCyACQf//AzYCHCACIAM3AjhBACEHIAJBADYCNCACQqrVqtUKNwIsIAJBLGogAUEYbBCSgICAAEH//wNxDQEgAikCOCEDIAIoAjQhBSACKAIsIgQgAigCMCIGaiAALQAAOgAAIAggAC8BAEEDdGoiCUEBNgIEIAkgBDYCACAGQQFqIQpBASEJQYACIQsDQCAKIQYCQAJAAkACQCAJIAFPDQACQCAAIAlBAXRqLwEAIgpB/v8DRw0AIAlBAWoiCSABTw0BQQAhBwJAA0AgB0H4/x9GDQEgCCAHakIANwIAIAdBCGohBwwACwsCQCAAIAlBAXRqLwEAIgdBgAJJDQAgAkH//wM2AhwMCAsgBCAGaiAHOgAAIAZBAWohCkGAAiELDAQLIApBgAJJDQECQCAIIApBA3RqIgooAgAiDA0AIAQgBmogBCAHaiIKIAYgB2siDBCdgICAABogBCAMIAZqIgxqIAotAAA6AAAgDEEBaiEKDAMLIAQgBmogDCAKKAIEIgoQnYCAgAAaIAogBmohCgwCCyACQf//AzYCHCACQRhqEI+AgIAADAQLIAQgBmogCjoAACAGQQFqIQoLIAggC0H//wNxQQN0aiIMIAYgB2tBAWo2AgQgDCAEIAdqNgIAIAtBAWohCwsgCUEBaiEJIAYhBwwACwsgAiADNwIQIAIgBDYCBCACIAY2AgggAiAFNgIMAkACQCAFIAZBCGoiCEkNACAGIQcMAQtBACEHIAJBBGogBSAIEI6AgIAAEJKAgIAAQf//A3ENAiACKAIEIQQgAigCDCEFIAIoAgghBwsgBCAHaiIHIAY6AAAgB0EHaiAFQRh2OgAAIAdBBmogBUEQdjoAACAHQQVqIAVBCHY6AAAgB0EEaiAFOgAAIAdBA2ogBkEYdjoAACAHQQJqIAZBEHY6AAAgB0EBaiAGQQh2OgAAIAQgBmohBwwBCyACQRhqEI+AgIAAQQAhBwsgAkHAAGokgICAgAAgBwvaAQEFfyOAgICAAEEgayICJICAgIAAQQAhAwJAIAAoAggiBCABTw0AIAAoAgAhBQJAAkAgBEUNAEEADQAgACgCDCAFIARBACABQQAgAEEQaigCACgCBBGCgICAAABBAXFFDQAgACABNgIIDAELIAIgAEEMaiIGKQIANwMQIAJBGGogAkEQaiABEIGAgIAAIAIvARwiAw0BIAIoAhggACgCACAAKAIEEJ2AgIAAIQMgBiAFIAQQhYCAgAAgACABNgIIIAAgAzYCAAtBACEDCyACQSBqJICAgIAAIAML0gIDBn8Bfgd/I4CAgIAAQRBrIgMkgICAgAAgACgCBCEEIAAoAgAhBUEAIQYgAkH/AXEhBwN/AkACQAJAIAYgBEcNAEF/IQgMAQsCQCAFIAZBBHRqIgJBCGopAwAiCUIAUw0AIAIpAwB7IAl7fKcgAUkNAgsgBkEHdCIIQYABaiEKA0AgCCAKTw0CIAggACkCACIJQhmIp0GAf3EiAiAIIAJLGyILIAhrIQwgCadBCCAJQiCIpxshDSAIQRB0aCEOQQAhAgJAA0ACQCAMIAJHDQAgCyEPDAILQf8BIAggAmoiD0EHcSIQQQdzdkEBIBB0cSANIA9BA3ZqLQAAcUUNASACQQFqIgIgAUkNACAOIAdJDQALIAMgCTcDCCADQQhqIAggAUEAEJSAgIAADAILIA9BAWohCAwACwsgA0EQaiSAgICAACAIDwsgBkEBaiEGDAALC1QBAX8gA0EBcSEEAkADQCACRQ0BIAAoAgBBCCAAKAIEGyABQQN2aiIDIAMtAABBfiABQQdxIgN3cSAEIAN0cjoAACABQQFqIQEgAkF/aiECDAALCwvbAQEDfyOAgICAAEEQayICJICAgIAAAkAgAEGAEE8NACOBgICAAEGogMCAAGogACABQYAQIAFBgBBJGyAAaxCWgICAAAsCQCABQYAQTQ0AAkAjgYCAgABBoIDAgABqKAIEDQAjgYCAgABBoIDAgABqIgNBgCA2AgQgAyABQX9qIgFBEHQiBDYCACAEQQBBgIAEEJyAgIAAGgsgAiOBgICAAEGggMCAAGopAwA3AwggAkEIaiAAQYAQIABBgBBLGyIAQYBwaiABIABrEJaAgIAACyACQRBqJICAgIAACzsBAX8jgICAgABBEGsiAySAgICAACADIAApAgA3AwggA0EIaiABIAJBARCUgICAACADQRBqJICAgIAAC70BAQR/QQAhBAJAIAFBgYB8Tw0AAkAjgYCAgABBqIDAgABqIAFB//8DakEQdiIBIAIQk4CAgAAiBEF/Rw0AAkAjgYCAgABBoIDAgABqIAEgAhCTgICAACIEQX9GDQAgBEGAEGohBAwBC0EAIQRBASACdCIFPwAiBkEQdCICakF/akEAIAVrcSIFIAJrQRB2IgcgAWpAAEEBSA0BIAcgBmohBCAFIAJGDQAgBiAEEJWAgIAACyAEQRB0IQQLIAQLTwEBfwJAIAJB//8DaiIGQYCAfHEgBE8iAkUNACAEQf//A2pBEHYiBCAGQRB2IgZGDQAgBCABQf//A2pBEHYiAWogASAGahCVgICAAAsgAgshACABQf//A2pBEHYiASABIAJB//8DakEQdmoQlYCAgAALPgAgASAAhULp2uDZjsH6751/fiIAQi+IIAGFIACFQuna4NmOwfrvnX9+IgFCL4ggAYVC6drg2Y7B+u+df34LQgECfiAAIAEpAAAgAnwiAiABKQAIfCABKQAQfCIEIAEpABgiBXw3AwAgACAEQhSJIAJ8IAUgAiADfHxCK4l8NwMICywBAX8CQCACRQ0AIAAhAwNAIAMgAToAACADQQFqIQMgAkF/aiICDQALCyAAC0IBAX8CQCACRQ0AIAJBf2ohAiAAIQMDQCADIAEtAAA6AAAgAkUNASACQX9qIQIgAUEBaiEBIANBAWohAwwACwsgAAsLQQIAQYCAwAALCAAAAAAAAAAAAEGIgMAACygBAAAAAgAAAAMAAAAAAAAAAAAAAAgAEACqqqqqAAAAADAAEAAQAAAA"), f = await F(), A = f.exports;
3
- function Y(I) {
4
- const { ptr: C, length: Q } = k(I, A), E = A.compress(C, Q);
5
- A.free(C, Q);
6
- const { start: g, end: i, capacity: D } = G(A.memory, E), o = new Uint16Array(A.memory.buffer.slice(g, i)), a = h(o);
7
- return A.free(g, D), a;
8
- }
9
- function s(I) {
10
- const C = A.allocUint16(I.length), Q = new Uint16Array(
11
- A.memory.buffer,
12
- C,
1
+ function s(A, Q) {
2
+ const I = new TextEncoder().encode(A), g = Q.allocUint8(I.length);
3
+ return new Uint8Array(
4
+ Q.memory.buffer,
5
+ g,
13
6
  I.length
7
+ ).set(I), { ptr: g, length: I.length };
8
+ }
9
+ function n(A) {
10
+ const Q = new Array(A.length);
11
+ for (let I = 0; I < A.length; I++)
12
+ Q[I] = String.fromCharCode(A[I]);
13
+ return Q.join("");
14
+ }
15
+ function w(A, Q) {
16
+ const I = new Uint32Array(
17
+ A.buffer.slice(Q, Q + 8)
18
+ ), g = I.at(0), B = I.at(1);
19
+ return {
20
+ start: Q - g,
21
+ end: Q,
22
+ capacity: B
23
+ };
24
+ }
25
+ const y = async (A = {}, Q) => {
26
+ let I;
27
+ if (Q.startsWith("data:")) {
28
+ const g = Q.replace(/^data:.*?base64,/, "");
29
+ let B;
30
+ if (typeof Buffer == "function" && typeof Buffer.from == "function")
31
+ B = Buffer.from(g, "base64");
32
+ else if (typeof atob == "function") {
33
+ const E = atob(g);
34
+ B = new Uint8Array(E.length);
35
+ for (let i = 0; i < E.length; i++)
36
+ B[i] = E.charCodeAt(i);
37
+ } else
38
+ throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
39
+ I = await WebAssembly.instantiate(B, A);
40
+ } else {
41
+ const g = await fetch(Q), B = g.headers.get("Content-Type") || "";
42
+ if ("instantiateStreaming" in WebAssembly && B.startsWith("application/wasm"))
43
+ I = await WebAssembly.instantiateStreaming(g, A);
44
+ else {
45
+ const E = await g.arrayBuffer();
46
+ I = await WebAssembly.instantiate(E, A);
47
+ }
48
+ }
49
+ return I.instance;
50
+ }, f = (A) => y(A, "data:application/wasm;base64,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P4MgBCACa0E/ca2GNwMAIAAtABwgBGsLOgAdIAAgACgCFEEBajYCFCAAIAAoAhhBAWo2AhgL9REDD38DfQF+IwBBsAZrIgIkAAJ/AkACQCABRQRAIAJBCTsBhAYgAkIANwL8BSACQqrVqtUKNwLoBSACQQA2AvAFIAJBkIDAACkDADcC9AUgAkHoBWpBARALQf//A3ENASACKALoBSACKALsBSIAQQN0akIANwMAIAJBMGogAkHwBWopAgA3AwAgAkE4aiACQfgFaikCADcDACACQUBrIAJBgAZqKQIANwMAIAIgAEEBajYC7AUgAiACKQLoBTcDKAwCCyACQdAAakEANgIAIAJCADcDSCACQZCAwAApAwAiFDcCVCACQdQAaiEOA0AgA0GABEcEQCACQdwAaiADakECOwEAIANBAmohAwwBCwsgAiAUNwL0BSACQQA2AvAFIAJCqtWq1Qo3AugFAkAgAkHoBWpBFAJ/AkACQCABs0MAAIA/kiISvCIDQYCAgARIBEBDAADAf0MAAID/IANB/////wdxIgQbIREgA0EASA0CIARFDQIgEkMAAABMlLwhA0HofiEEDAELIBIhESADQf////sHSw0BQYF/IQRDAAAAACERIANBgICA/ANGDQELIANBjfarAmoiA0H///8DcUHzidT5A2q+QwAAgL+SIhEgESARQwAAAD+UlCISk7xBgGBxviITQwCwuD+UIBEgE5MgEpMgESARQwAAAECSlSIRIBIgESARlCIRIBEgEZQiEUPu6ZE+lEOqqio/kpQgESARQyaeeD6UQxPOzD6SlJKSlJIiEUMAsLg/lCARIBOSQ9SaOLmUkpIgBCADQRd2arKSIRELIBFDAACAT10gEUMAAAAAYHEEQCARqQwBC0EACyIDIANBFE8bIAFsQUBrQQZ2QQFqEAxB//8DcQ0AIAIoAvAFIQMgAikC9AUhFCACKALoBSIEIAIoAuwFIgZBA3RqQgA3AwAgAkEJOwH4BCACQgA3AvAEIAIgFDcC6AQgAiADNgLkBCACIAQ2AtwEIAJBADsB/AQgAkEAOgD+BCACIAZBAWo2AuAEIAFBAWohDyAAQQFrIRBBgAIhCUECIQMDQCAAIApqIQQCfwJAAkACQAJAAkAgAkHcBGoCfwNAIAMgCmoiDCABTw0CIAJBgAVqIAJByABqIAQgAxAG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"), J = await f(), C = J.exports;
51
+ function G(A) {
52
+ const { ptr: Q, length: I } = s(A, C), g = C.compress(Q, I);
53
+ if (C.free(Q, I), g < 0)
54
+ throw new Error("Error compressing string.");
55
+ const { start: B, end: E, capacity: i } = w(C.memory, g), D = new Uint16Array(C.memory.buffer.slice(B, E)), a = n(D);
56
+ return C.free(B, i), a;
57
+ }
58
+ function e(A) {
59
+ const Q = (A.charCodeAt(A.length - 3) << 16) + A.charCodeAt(A.length - 4), I = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2), g = A.length - 4;
60
+ let B = C.allocUint16(g), E = new Uint16Array(
61
+ C.memory.buffer,
62
+ B,
63
+ g
14
64
  );
15
- for (let B = 0; B < I.length; B++)
16
- Q[B] = I.charCodeAt(B);
17
- const E = A.decompress(
18
- C,
19
- I.length
65
+ for (let o = 0; o < g; o++)
66
+ E[o] = A.charCodeAt(o);
67
+ const i = C.decompress(
68
+ B,
69
+ g,
70
+ Q,
71
+ I
20
72
  );
21
- A.free(C, 2 * I.length);
22
- const { start: g, end: i, capacity: D } = G(A.memory, E), o = new Uint8Array(A.memory.buffer.slice(g, i)), a = new TextDecoder().decode(o);
23
- return A.free(g, D), a;
73
+ if (C.free(B, 2 * g), i < 0)
74
+ throw new Error("Error decompressing string.");
75
+ const { start: D, end: a, capacity: t } = w(C.memory, i), F = new Uint8Array(C.memory.buffer.slice(D, a)), k = new TextDecoder().decode(F);
76
+ return C.free(D, t), k;
24
77
  }
25
78
  export {
26
- Y as compress,
27
- s as decompress
79
+ G as compress,
80
+ e as decompress
28
81
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smol-string",
3
- "version": "0.1.1-beta",
3
+ "version": "1.0.0",
4
4
  "description": "Compression for browser localStorage",
5
5
  "author": "Senryoku <maretverdant@gmail.com>",
6
6
  "repository": {
@@ -37,22 +37,15 @@
37
37
  "types": "./dist/smol-string.d.ts",
38
38
  "import": "./dist/smol-string.js"
39
39
  },
40
- "./packed": {
41
- "types": "./dist/smol-string-packed.d.ts",
42
- "import": "./dist/smol-string-packed.js"
43
- },
44
40
  "./worker": {
45
41
  "types": "./dist/smol-string-worker.d.ts",
46
42
  "import": "./dist/smol-string-worker.js"
47
- },
48
- "./worker/packed": {
49
- "types": "./dist/smol-string-worker-packed.d.ts",
50
- "import": "./dist/smol-string-worker-packed.js"
51
43
  }
52
44
  },
53
45
  "devDependencies": {
54
46
  "@vitest/browser": "^0.34.6",
55
- "smol-string": "^0.1.0-beta",
47
+ "binaryen": "^116.0.0",
48
+ "smol-string": "^0.1.1-beta",
56
49
  "typescript": "^5.2.2",
57
50
  "vite": "^5.0.0",
58
51
  "vite-plugin-dts": "^3.6.2",
@@ -1,18 +0,0 @@
1
- import { defineConfig, mergeConfig } from "vitest/config";
2
- import viteConfig from "./vite.config";
3
-
4
- // Config for tests ran only in browsers.
5
- // Currently use to tests that interacts with localStorage.
6
-
7
- export default mergeConfig(
8
- viteConfig,
9
- defineConfig({
10
- test: {
11
- browser: {
12
- enabled: true,
13
- name: "chrome",
14
- },
15
- include: ["test/*.test.ts", "test/*.test.browser.ts"],
16
- },
17
- })
18
- );
@@ -1,2 +0,0 @@
1
- export declare function compressPacked(str: string): string;
2
- export declare function decompressPacked(compressedStr: string): string;
@@ -1,30 +0,0 @@
1
- import { i as G, c as J, e as k, U as h } from "./wasm-helper-C1VfMvbY.js";
2
- const F = (A) => G(A, "data:application/wasm;base64,AGFzbQEAAAABWw5gBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAn9/AX9gAX8AYAR/f39/AGACf38BfmADf39/AX9gAn5+AX5gBH9/fn4AYAF9AX0DJyYDBAMFBAMGBwUICQAFBgYKCAYHBAoABAQGCggFBAACAQQLDA0KCgQFAXABBAQFAwEAEQYOAn8BQYCAwAALfwBBAAsHUAYGbWVtb3J5AgAKYWxsb2NVaW50OAAAC2FsbG9jVWludDE2AAIEZnJlZQADDmNvbXByZXNzUGFja2VkAA0QZGVjb21wcmVzc1BhY2tlZAAUCQkBAEEBCwMdHh8K1ksmXgEBfyOAgICAAEEQayIBJICAgIAAIAEjgYCAgABBmIDAgABqKQMANwMAIAFBCGogASAAEIGAgIAAAkAgAS8BDA0AIAEoAgghACABQRBqJICAgIAAIAAPCwN/AAwACwtxAgF/AX4jgICAgABBEGsiAySAgICAAEKAgICAECEEAkBBAUUNAAJAIAINAEL/////DyEEDAELIAEoAgAgAkEAQQAgASgCBCgCABGAgICAAAAiAkWtQiCGIAKthCEECyAAIAQ3AgAgA0EQaiSAgICAAAuGAQICfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAQQBIOgAMI4GAgIAAIQICQCAAQX9MDQACQAJAIABBAXQiAA0AQX4hAAwBCyACQZiAwIAAaikDACIDpyAAQQFBACADQiCIpygCABGAgICAAAAiAEUNAQsgAUEQaiSAgICAACAADwsDfwAMAAsLGQAjgYCAgABBmIDAgABqIAAgARCEgICAAAs4AQF/AkAgAkEAIAIbIgNFDQAgACgCACABQarVqtV6IAIbIANBAEEAIAAoAgQoAggRgYCAgAAACwtBAQJ/AkAgACAAKAIEQQFqEIaAgIAAIgFB//8DcQ0AIAAgACgCBCICQQFqNgIEIAAoAgAgAkEDdGpCADcDAAsgAQstAQJ/QQAhAgJAIAAoAggiAyABTw0AIAAgAyABEJGAgIAAEI6AgIAAIQILIAILDwAgACAAQQxqEIiAgIAAC2UBA38CQCAAKAIAIgJFDQACQCACQXRqIgNBCGooAgBBDWxBD2pBfHEiAkEAIAIbIgRFDQAgASgCACADQQQgAhsgBEECQQAgASgCBCgCCBGBgICAAAALIABBADYCCCAAQQA2AgALC4EDBAR/AX4EfwF+I4CAgIAAQRBrIgQkgICAgAAjgYCAgAAhBSABKAIAIQYCQAJAIAEoAgQNACAFQYCAwIAAaiEHDAELIAIgAxCKgICAACEIAkACQCAGDQBBACEFQX8hCQwBCyAGQXxqKAIAIgVBf2ohCQsgBkF4aiEKIAkgCKdxIQEgCEI5iKchCwNAI4GAgIAAQYCAwIAAaiEHIAYgAWosAAAiDEUNASAFRQ0BAkAgDEF/Sg0AIAsgDEH/AHFHDQAgAiADIAooAgAgAUEDdGoiDCgCACAMKAIEEIuAgIAAQQFxRQ0AIARBAToADCAEIAE2AgggBEEIaiEHDAILIAVBf2ohBSABQQFqIAlxIQEMAAsLAkACQCAHLQAEDQBCACEIQgAhDQwBCyAEIAZBdGooAgAgBygCAEECdGoiAUECai0AAEEPcToAAiAEIAEvAQA7AQAgBDMBACAEMQACQhCGhCEIQoCAgIAQIQ0LIAAgDSAIhDcCACAEQRBqJICAgIAAC6ELAgF/C34jgICAgABBwABrIgIkgICAgAAgAa0hAwJAAkAgAUEgSw0AAkAgAUERTw0AAkAgAUEISQ0AIAApAABCz4DB/LLH2vCaf3wiBEIniSABIABqQXhqKQAAIgV8IANCAYZCz4DB/LLH2vCaf3wiBn4iAyADIAVCG4kgBn4gBHyFIAZ+IgRCL4iFIASFIAZ+IgRCL4ggBIUgBn4hBgwDCwJAIAFBBEkNACAANQAAQgOGIAN8IAEgAGpBfGo1AAAiBIUgA0IBhkLPgMH8ssfa8Jp/fCIGfiIFQi+IIASFIAWFIAZ+IgRCL4ggBIUgBn4hBgwDCwJAIAENAELPgMH8ssfa8Jp/IQYMAwsgASAAakF/ai0AAEECdCABaq1Cp+KsvsmL8tJDfiAAIAFBAXZqMQAAQgiGIAAxAACEQs+Awfyyx9rwmn9+hSIGQi+IIAaFQs+Awfyyx9rwmn9+IQYMAgsgACkACCIEQs+Awfyyx9rwmn98Qi6JIAApAABC8+Tj9PvNrcm0f34iBXwgASAAaiIAQXhqKQAAIANCAYZCz4DB/LLH2vCaf3wiBn4iA3wiByAHIANCIokgBSAEfEIViXwgAEFwaikAAELPgMH8ssfa8Jp/fnyFIAZ+IgRCL4iFIASFIAZ+IgRCL4ggBIUgBn4hBgwBCwJAIAFBwQBJDQAgASAAaiIBQVhqKQAAIQcgAUFIaikAACEGIAFBcGopAAAhCCACIAFBQGogAyABQVBqKQAAIAN8IAFBaGopAAAQoYCAgAAiCRCigICAACACKQMIIQQgAikDACEFIAJBEGogAUFgaiAGIAh8IgZC8+Tj9PvNrcm0f3wgBxCigICAAEIAIANCf3xCQIN9IQogACkAACAHQvPk4/T7za3JtH9+fCEIIAIpAxghAyACKQMQIQcDQCAAKQAwIQsgACkAKCEMIAJBIGogACAEQvPk4/T7za3JtH9+IAYgBXwgCHwgACkACHxCG4lC8+Tj9PvNrcm0f34gA4UiDSAHfBCigICAACAMIAV8IQwgBiAEfCEGIAIpAyghBCACKQMgIQUgAkEwaiAAQSBqIAkgB3xCH4lC8+Tj9PvNrcm0f34iCCADfCAAKQAQIAwgBiALfEIWiULz5OP0+82tybR/fnwiBnwQooCAgAAgAEHAAGohACACKQM4IQMgAikDMCEHIA0hCSAKQsAAfCIKQgBSDQALIAZCL4ggBoVC8+Tj9PvNrcm0f34gDXwgBSAHEKGAgIAAfCAEIAMQoYCAgAAgCHwQoYCAgAAhBgwBCyABIABqIgFBcGopAAAgA0IBhkLPgMH8ssfa8Jp/fCIEfiIFIAFBYGopAAAiA3wgACkAGEIJfiIHIAApABBCz4DB/LLH2vCaf358IgggAUFoaikAACIGfCIJIAApAAgiCnwgCSABQXhqKQAAIg18IAhCFokgBnwiCHwgByANIAApAABCz4DB/LLH2vCaf358IgkgA4V8QgF8IgMgBXwgCUIViSAKQiKJIAZ8Qgl+fCADfCAEfiIGQjiGIAZCgP4Dg0IohoQgBkKAgPwHg0IYhiAGQoCAgPgPg0IIhoSEIAZCCIhCgICA+A+DIAZCGIhCgID8B4OEIAZCKIhCgP4DgyAGQjiIhISEfCAEfiIGQjiGIAZCgP4Dg0IohoQgBkKAgPwHg0IYhiAGQoCAgPgPg0IIhoSEIAZCCIhCgICA+A+DIAZCGIhCgID8B4OEIAZCKIhCgP4DgyAGQjiIhISEfCAEfiIGQjiGIAZCgP4Dg0IohoQgBkKAgPwHg0IYhiAGQoCAgPgPg0IIhoSEIAZCCIhCgICA+A+DIAZCGIhCgID8B4OEIAZCKIhCgP4DgyAGQjiIhISEfCAEfnwiBkIviCAGhSAEfiAIfCEGCyACQcAAaiSAgICAACAGC6wBAQV/QQAhBAJAIAEgA0cNACABQQJ2QQFqIQUgAiEDIAAhBgJAA0AgBUF/aiIFRQ0BIAMoAAAhByAGKAAAIQggA0EEaiEDIAZBBGohBiAIIAdGDQAMAgsLIAFBA3EhAyAAIAFBfHEiBWohBiACIAVqIQUDQCADRSEEIANFDQEgA0F/aiEDIAUtAAAhByAGLQAAIQggBkEBaiEGIAVBAWohBSAIIAdGDQALCyAEC7ECAQN/AkAgAC0AHCICQRRPDQAgACgCGEGAAmpBfyACdEF/c0kNACAAIAJBAWoiAjoAHAsCQAJAIAJB/wFxQcAAIAAtAB0iA2siBEH/AXFLDQAgACgCBEEDdCAAKAIAakF4aiIEIAQpAwAgAa1C//8/g0EAIAIgA2prQT9xrYaENwMAIAAtABwgAC0AHWohAgwBCwJAIANB/wFxQcAARg0AIAAoAgRBA3QgACgCAGpBeGoiAyADKQMAIAFB//8/cSACIARrQf8BcXathDcDACAALQAcIQILIAAgACgCBCIDQQFqNgIEIAAoAgAgA0EDdGogAa1C//8/gyAEIAJrQT9xrYY3AwAgAC0AHCAEayECCyAAIAI6AB0gACAAKAIUQQFqNgIUIAAgACgCGEEBajYCGAvGDwQCfwF+AX0KfyOAgICAAEGQAmsiAiSAgICAAAJAAkACQCABDQAgAkEJOwHkASACQgA3AtwBQQAhAyACQQA2AtABIAJCqtWq1Qo3AsgBIAIjgYCAgABBmIDAgABqKQMANwLUASACQcgBahCFgICAAEH//wNxDQIgAkEgakEYaiACQcgBakEYaikCADcDACACQSBqQRBqIAJByAFqQRBqKQIANwMAIAJBIGpBCGogAkHIAWpBCGopAgA3AwAgAiACKQLIATcDIAwBCyACQcgAakEANgIAIAJCADcDQCACI4GAgIAAQZiAwIAAaikDACIENwJMIAIgBDcC9AEgAkEANgLwASACQqrVqtUKNwLoAQJAAkAgAbNDAACAP5IQo4CAgAAiBUMAAIBPXSAFQwAAAABgcUUNACAFqSEDDAELQQAhAwsCQCACQegBaiADQRQgA0EUSRsgAWxBwABqQQZ2EI6AgIAAQf//A3ENACACQcgBakEQaiIDIAJB6AFqQRBqKAIANgIAIAJByAFqQQhqIgYgAkHoAWpBCGopAgA3AwAgAiACKQLoATcDyAEgAkEJOwHkASACQgA3AtwBIAJByAFqEIWAgIAAQf//A3ENACACQcwAaiEHIAJB2ABqQRhqIAJByAFqQRhqKQMANwMAIAJB2ABqQRBqIAMpAwA3AwAgAkHYAGpBCGogBikDADcDACACIAIpA8gBNwNYIAJBADsBfCACQQA6AH5BgAIhCEEAIQkDQCAAIAlqIQpBAiEDAkACQAJAAkADQCAJIANqIgsgAU8NAiACQYABaiACQcAAaiAKIAMQiYCAgAACQAJAIAItAIQBDQAgA0ECRw0BIAotAAAhCQwDCyACIAItAIIBOgB+IAIgAi8BgAE7AXwgA0EBaiEDDAELCyACLwF8IAItAH5BEHRyIQkLIAJB2ABqIAkQjICAgAAgC0F/aiEJAkAgCEH//z9xQf//P0cNAAJAIAIoAkAiA0UNACADQQAgA0F8aigCACIKEKSAgIAAGiACQQA2AkQgAiAKrULQAH5C5ACAPgJICyACQdgAakH//z8QjICAgAAgAkEANgJwIAJBCToAdEGAAiEIDAQLIAJBwABqIAogAxCPgICAABogAigCSA0CAkACQCACKAJAIgsNAEEBIQwMAQsgC0F8aigCAK1C0AB+IgQgBELkAIJ9QuQAfELQAICnIQwLIAZBADYCACACQgA3A8gBAkBBAA0AAkACQEIBQSAgDGdrrUL//wODhqciDEEIIAxBCEsbIg1BD2oiDiANQQN0aiIPIA1BAnRqQXxxIgwNAEF8IQwMAQsgAikCTCIEpyAMQQJBACAEQiCIpygCABGAgICAAAAiDEUNAQsgDCANNgIIIAwgDCAOQXxxajYCBCAMIAwgD0F8cWo2AgAgAiAMQQxqIgw2AsgBIAxBACANEKSAgIAAGiACIA2tQtAAfkLkAIA+AtABIAIoAkQiD0UNAgJAAkAgCw0AQQAhDAwBCyALQXxqKAIAIQwLIAtBdGoiDigCACENIA5BBGooAgAhDgNAIAxFDQMCQCALLAAAQQBODQAgAkHIAWogDigCACAOQQRqKAIAIA0vAQAgDUECai0AAEEQdHIQkICAgAAgAigCzAEgD0YNBAsgDEF/aiEMIAtBAWohCyAOQQhqIQ4gDUEEaiENDAALCyACQcgBaiAHEIiAgIAADAQLAkACQCAJQQFqIAFJDQAgCi0AACEDDAELIAJBiAFqQRBqIAJBwABqQRBqKAIANgIAIAJBiAFqQQhqIAJBwABqQQhqKQMANwMAIAIgAikDQDcDiAEgAkGgAWogAkGIAWogCiADEImAgIAAAkACQAJAIAItAKQBDQAgA0ECRw0BIAotAAAhAwwCCyACLwGgASACLQCiAUEQdHIhAwwCCyACQagBakEQaiACQcAAakEQaigCADYCACACQagBakEIaiACQcAAakEIaikDADcDACACIAIpA0A3A6gBIAJBwAFqIAJBqAFqIAogA0F/ahCJgICAACACLwHAASACLQDCAUEQdHIhAwsgAkHYAGogAxCMgICAACALIABqQX9qLQAAIQMLIAJB2ABqIAMQjICAgAAgAkHAAGoQh4CAgAAgAkEgakEYaiACQdgAakEYaikDADcDACACQSBqQRBqIAJB2ABqQRBqKQMANwMAIAJBIGpBCGogAkHYAGpBCGopAwA3AwAgAiACKQNYNwMgDAQLIAJBwABqQQhqIgsoAgAhDCALIAYoAgA2AgAgBiAMNgIAIAJBADYCRCACKQNAIQQgAiACKQPIATcDQCACIAQ3A8gBIAJByAFqIAcQiICAgAALIAJBwABqIAogAyAIEJCAgIAAIAhBAWohCAwACwsgAkHAAGoQh4CAgABBACEDDAELIAJBGGogAkEgakEYaikDADcDACACQRBqIAJBIGpBEGopAwA3AwAgAkEIaiACQSBqQQhqKQMANwMAIAIgAikDIDcDAEEAIQMgAiACKAIEIgFBAmoQhoCAgABB//8DcQ0AIAIoAgAiAyACKAIEQQN0aiIJQQhqIAI1AghCA4Y3AwAgCSABQQN0IgFBBHKtQiCGIAI1AhSENwMAIAMgAWpBBGohAwsgAkGQAmokgICAgAAgAwutAgMFfwF+AX8jgICAgABBEGsiAiSAgICAAEEAIQMCQCAAKAIIIgQgAU8NACAAKAIAIQUCQCAERQ0AIAIgAUH/////AUs6AAggAUGAgICAAk8NACAAKAIMIAUgBEEDdEEDIAFBA3RBACAAQRBqKAIAKAIEEYKAgIAAAEEBcUUNACAAIAE2AghBACEDDAELIABBDGoiBikCACEHIAIgAUH/////AUs6AAwCQCAB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"), N = await F(), I = N.exports;
3
- function L(A) {
4
- const { ptr: C, length: g } = J(A, I), D = I.compressPacked(C, g);
5
- I.free(C, g);
6
- const { start: Q, end: B, capacity: i } = k(I.memory, D), w = new Uint16Array(I.memory.buffer.slice(Q, B)), o = h(w);
7
- return I.free(Q, i), o;
8
- }
9
- function f(A) {
10
- const C = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2);
11
- let g = I.allocUint16(A.length - 2), D = new Uint16Array(
12
- I.memory.buffer,
13
- g,
14
- A.length - 2
15
- );
16
- for (let E = 0; E < A.length - 2; E++)
17
- D[E] = A.charCodeAt(E);
18
- const Q = I.decompressPacked(
19
- g,
20
- A.length - 2,
21
- C
22
- );
23
- I.free(g, 2 * (A.length - 2));
24
- const { start: B, end: i, capacity: w } = k(I.memory, Q), o = new Uint8Array(I.memory.buffer.slice(B, i)), a = new TextDecoder().decode(o);
25
- return I.free(B, w), a;
26
- }
27
- export {
28
- L as compressPacked,
29
- f as decompressPacked
30
- };
@@ -1,2 +0,0 @@
1
- export declare function compressPacked(data: string): Promise<string>;
2
- export declare function decompressPacked(data: string): Promise<string>;
@@ -1,46 +0,0 @@
1
- const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBrKEEsZyl7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksQz1nLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShnLm1lbW9yeS5idWZmZXIsQyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6QyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIGgoQSl7Y29uc3QgZz1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKWdbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gZy5qb2luKCIiKX1mdW5jdGlvbiBhKEEsZyl7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoZyxnKzgpKSxDPUkuYXQoMCksUT1JLmF0KDEpO3JldHVybntzdGFydDpnLUMsZW5kOmcsY2FwYWNpdHk6UX19dmFyIEc9YXN5bmMoQT17fSxnKT0+e2xldCBJO2lmKGcuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgQz1nLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShDLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoQyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxBKX1lbHNle2NvbnN0IEM9YXdhaXQgZmV0Y2goZyksUT1DLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEMsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IEMuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSxmPUE9PkcoQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJXdzVnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBbjkvQVg5Z0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QVlBRjlBWDBESnlZREJBTUZCQU1HQndVSUNRQUZCZ1lLQ0FZSEJBb0FCQVFHQ2dnRkJBQUNBUVFMREEwS0NnUUZBWEFCQkFRRkF3RUFFUVlPQW44QlFZQ0F3QUFMZndCQkFBc0hVQVlHYldWdGIzSjVBZ0FLWVd4c2IyTlZhVzUwT0FBQUMyRnNiRzlqVldsdWRERTJBQUlFWm5KbFpRQUREbU52YlhCeVpYTnpVR0ZqYTJWa0FBMFFaR1ZqYjIxd2NtVnpjMUJoWTJ0bFpBQVVDUWtCQUVFQkN3TWRIaDhLMWtzbVhnRUJmeU9BZ0lDQUFFRVFheUlCSklDQWdJQUFJQUVqZ1lDQWdBQkJtSURBZ0FCcUtRTUFOd01BSUFGQkNHb2dBU0FBRUlHQWdJQUFBa0FnQVM4QkRBMEFJQUVvQWdnaEFDQUJRUkJxSklDQWdJQUFJQUFQQ3dOL0FBd0FDd3R4QWdGL0FYNGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFFS0FnSUNBRUNFRUFrQkJBVVVOQUFKQUlBSU5BRUwvLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VBUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBdUdBUUlDZndGK0k0Q0FnSUFBUVJCcklnRWtnSUNBZ0FBZ0FTQUFRUUJJT2dBTUk0R0FnSUFBSVFJQ1FDQUFRWDlNRFFBQ1FBSkFJQUJCQVhRaUFBMEFRWDRoQUF3QkN5QUNRWmlBd0lBQWFpa0RBQ0lEcHlBQVFRRkJBQ0FEUWlDSXB5Z0NBQkdBZ0lDQUFBQWlBRVVOQVFzZ0FVRVFhaVNBZ0lDQUFDQUFEd3NEZndBTUFBc0xHUUFqZ1lDQWdBQkJtSURBZ0FCcUlBQWdBUkNFZ0lDQUFBczRBUUYvQWtBZ0FrRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFhclZxdFY2SUFJYklBTkJBRUVBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3RCQVFKL0FrQWdBQ0FBS0FJRVFRRnFFSWFBZ0lBQUlnRkIvLzhEY1EwQUlBQWdBQ2dDQkNJQ1FRRnFOZ0lFSUFBb0FnQWdBa0VEZEdwQ0FEY0RBQXNnQVFzdEFRSi9RUUFoQWdKQUlBQW9BZ2dpQXlBQlR3MEFJQUFnQXlBQkVKR0FnSUFBRUk2QWdJQUFJUUlMSUFJTER3QWdBQ0FBUVF4cUVJaUFnSUFBQzJVQkEzOENRQ0FBS0FJQUlnSkZEUUFDUUNBQ1FYUnFJZ05CQ0dvb0FnQkJEV3hCRDJwQmZIRWlBa0VBSUFJYklnUkZEUUFnQVNnQ0FDQURRUVFnQWhzZ0JFRUNRUUFnQVNnQ0JDZ0NDQkdCZ0lDQUFBQUxJQUJCQURZQ0NDQUFRUUEyQWdBTEM0RURCQVIvQVg0RWZ3RitJNENBZ0lBQVFSQnJJZ1FrZ0lDQWdBQWpnWUNBZ0FBaEJTQUJLQUlBSVFZQ1FBSkFJQUVvQWdRTkFDQUZRWUNBd0lBQWFpRUhEQUVMSUFJZ0F4Q0tnSUNBQUNFSUFrQUNRQ0FHRFFCQkFDRUZRWDhoQ1F3QkN5QUdRWHhxS0FJQUlnVkJmMm9oQ1FzZ0JrRjRhaUVLSUFrZ0NLZHhJUUVnQ0VJNWlLY2hDd05BSTRHQWdJQUFRWUNBd0lBQWFpRUhJQVlnQVdvc0FBQWlERVVOQVNBRlJRMEJBa0FnREVGL1NnMEFJQXNnREVIL0FIRkhEUUFnQWlBRElBb29BZ0FnQVVFRGRHb2lEQ2dDQUNBTUtBSUVFSXVBZ0lBQVFRRnhSUTBBSUFSQkFUb0FEQ0FFSUFFMkFnZ2dCRUVJYWlFSERBSUxJQVZCZjJvaEJTQUJRUUZxSUFseElRRU1BQXNMQWtBQ1FDQUhMUUFFRFFCQ0FDRUlRZ0FoRFF3QkN5QUVJQVpCZEdvb0FnQWdCeWdDQUVFQ2RHb2lBVUVDYWkwQUFFRVBjVG9BQWlBRUlBRXZBUUE3QVFBZ0JETUJBQ0FFTVFBQ1FoQ0doQ0VJUW9DQWdJQVFJUTBMSUFBZ0RTQUloRGNDQUNBRVFSQnFKSUNBZ0lBQUM2RUxBZ0YvQzM0amdJQ0FnQUJCd0FCcklnSWtnSUNBZ0FBZ0FhMGhBd0pBQWtBZ0FVRWdTdzBBQWtBZ0FVRVJUdzBBQWtBZ0FVRUlTUTBBSUFBcEFBQkN6NERCL0xMSDJ2Q2FmM3dpQkVJbmlTQUJJQUJxUVhocUtRQUFJZ1Y4SUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUF5QURJQVZDRzRrZ0JuNGdCSHlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3REN3SkFJQUZCQkVrTkFDQUFOUUFBUWdPR0lBTjhJQUVnQUdwQmZHbzFBQUFpQklVZ0EwSUJoa0xQZ01IOHNzZmE4SnAvZkNJR2ZpSUZRaStJSUFTRklBV0ZJQVorSWdSQ0w0Z2dCSVVnQm40aEJnd0RDd0pBSUFFTkFFTFBnTUg4c3NmYThKcC9JUVlNQXdzZ0FTQUFha0YvYWkwQUFFRUNkQ0FCYXExQ3ArS3N2c21MOHRKRGZpQUFJQUZCQVhacU1RQUFRZ2lHSUFBeEFBQ0VRcytBd2Z5eXg5cndtbjkraFNJR1FpK0lJQWFGUXMrQXdmeXl4OXJ3bW45K0lRWU1BZ3NnQUNrQUNDSUVRcytBd2Z5eXg5cndtbjk4UWk2SklBQXBBQUJDOCtUajlQdk5yY20wZjM0aUJYd2dBU0FBYWlJQVFYaHFLUUFBSUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUEzd2lCeUFISUFOQ0lva2dCU0FFZkVJVmlYd2dBRUZ3YWlrQUFFTFBnTUg4c3NmYThKcC9mbnlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3QkN3SkFJQUZCd1FCSkRRQWdBU0FBYWlJQlFWaHFLUUFBSVFjZ0FVRklhaWtBQUNFR0lBRkJjR29wQUFBaENDQUNJQUZCUUdvZ0F5QUJRVkJxS1FBQUlBTjhJQUZCYUdvcEFBQVFvWUNBZ0FBaUNSQ2lnSUNBQUNBQ0tRTUlJUVFnQWlrREFDRUZJQUpCRUdvZ0FVRmdhaUFHSUFoOElnWkM4K1RqOVB2TnJjbTBmM3dnQnhDaWdJQ0FBRUlBSUFOQ2YzeENRSU45SVFvZ0FDa0FBQ0FIUXZQazQvVDd6YTNKdEg5K2ZDRUlJQUlwQXhnaEF5QUNLUU1RSVFjRFFDQUFLUUF3SVFzZ0FDa0FLQ0VNSUFKQklHb2dBQ0FFUXZQazQvVDd6YTNKdEg5K0lBWWdCWHdnQ0h3Z0FDa0FDSHhDRzRsQzgrVGo5UHZOcmNtMGYzNGdBNFVpRFNBSGZCQ2lnSUNBQUNBTUlBVjhJUXdnQmlBRWZDRUdJQUlwQXlnaEJDQUNLUU1nSVFVZ0FrRXdhaUFBUVNCcUlBa2dCM3hDSDRsQzgrVGo5UHZOcmNtMGYzNGlDQ0FEZkNBQUtRQVFJQXdnQmlBTGZFSVdpVUx6NU9QMCs4MnR5YlIvZm53aUJud1Fvb0NBZ0FBZ0FFSEFBR29oQUNBQ0tRTTRJUU1nQWlrRE1DRUhJQTBoQ1NBS1FzQUFmQ0lLUWdCU0RRQUxJQVpDTDRnZ0JvVkM4K1RqOVB2TnJjbTBmMzRnRFh3Z0JTQUhFS0dBZ0lBQWZDQUVJQU1Rb1lDQWdBQWdDSHdRb1lDQWdBQWhCZ3dCQ3lBQklBQnFJZ0ZCY0dvcEFBQWdBMElCaGtMUGdNSDhzc2ZhOEpwL2ZDSUVmaUlGSUFGQllHb3BBQUFpQTN3Z0FDa0FHRUlKZmlJSElBQXBBQkJDejREQi9MTEgydkNhZjM1OElnZ2dBVUZvYWlrQUFDSUdmQ0lKSUFBcEFBZ2lDbndnQ1NBQlFYaHFLUUFBSWcxOElBaENGb2tnQm53aUNId2dCeUFOSUFBcEFBQkN6NERCL0xMSDJ2Q2FmMzU4SWdrZ0E0VjhRZ0Y4SWdNZ0JYd2dDVUlWaVNBS1FpS0pJQVo4UWdsK2ZDQURmQ0FFZmlJR1FqaUdJQVpDZ1A0RGcwSW9ob1FnQmtLQWdQd0hnMElZaGlBR1FvQ0FnUGdQZzBJSWhvU0VJQVpDQ0loQ2dJQ0ErQStESUFaQ0dJaENnSUQ4QjRPRUlBWkNLSWhDZ1A0RGd5QUdRamlJaElTRWZDQUVmaUlHUWppR0lBWkNnUDREZzBJb2hvUWdCa0tBZ1B3SGcwSVloaUFHUW9DQWdQZ1BnMElJaG9TRUlBWkNDSWhDZ0lDQStBK0RJQVpDR0loQ2dJRDhCNE9FSUFaQ0tJaENnUDREZ3lBR1FqaUloSVNFZkNBRWZpSUdRamlHSUFaQ2dQNERnMElvaG9RZ0JrS0FnUHdIZzBJWWhpQUdRb0NBZ1BnUGcwSUlob1NFSUFaQ0NJaENnSUNBK0ErRElBWkNHSWhDZ0lEOEI0T0VJQVpDS0loQ2dQNERneUFHUWppSWhJU0VmQ0FFZm53aUJrSXZpQ0FHaFNBRWZpQUlmQ0VHQ3lBQ1FjQUFhaVNBZ0lDQUFDQUdDNndCQVFWL1FRQWhCQUpBSUFFZ0EwY05BQ0FCUVFKMlFRRnFJUVVnQWlFRElBQWhCZ0pBQTBBZ0JVRi9haUlGUlEwQklBTW9BQUFoQnlBR0tBQUFJUWdnQTBFRWFpRURJQVpCQkdvaEJpQUlJQWRHRFFBTUFnc0xJQUZCQTNFaEF5QUFJQUZCZkhFaUJXb2hCaUFDSUFWcUlRVURRQ0FEUlNFRUlBTkZEUUVnQTBGL2FpRURJQVV0QUFBaEJ5QUdMUUFBSVFnZ0JrRUJhaUVHSUFWQkFXb2hCU0FJSUFkR0RRQUxDeUFFQzdFQ0FRTi9Ba0FnQUMwQUhDSUNRUlJQRFFBZ0FDZ0NHRUdBQW1wQmZ5QUNkRUYvYzBrTkFDQUFJQUpCQVdvaUFqb0FIQXNDUUFKQUlBSkIvd0Z4UWNBQUlBQXRBQjBpQTJzaUJFSC9BWEZMRFFBZ0FDZ0NCRUVEZENBQUtBSUFha0Y0YWlJRUlBUXBBd0FnQWExQy8vOC9nMEVBSUFJZ0EycHJRVDl4cllhRU53TUFJQUF0QUJ3Z0FDMEFIV29oQWd3QkN3SkFJQU5CL3dGeFFjQUFSZzBBSUFBb0FnUkJBM1FnQUNnQ0FHcEJlR29pQXlBREtRTUFJQUZCLy84L2NTQUNJQVJyUWY4QmNYYXRoRGNEQUNBQUxRQWNJUUlMSUFBZ0FDZ0NCQ0lEUVFGcU5nSUVJQUFvQWdBZ0EwRURkR29nQWExQy8vOC9neUFFSUFKclFUOXhyWVkzQXdBZ0FDMEFIQ0FFYXlFQ0N5QUFJQUk2QUIwZ0FDQUFLQUlVUVFGcU5nSVVJQUFnQUNnQ0dFRUJhallDR0F2R0R3UUNmd0YrQVgwS2Z5T0FnSUNBQUVHUUFtc2lBaVNBZ0lDQUFBSkFBa0FDUUNBQkRRQWdBa0VKT3dIa0FTQUNRZ0EzQXR3QlFRQWhBeUFDUVFBMkF0QUJJQUpDcXRXcTFRbzNBc2dCSUFJamdZQ0FnQUJCbUlEQWdBQnFLUU1BTndMVUFTQUNRY2dCYWhDRmdJQ0FBRUgvL3dOeERRSWdBa0VnYWtFWWFpQUNRY2dCYWtFWWFpa0NBRGNEQUNBQ1FTQnFRUkJxSUFKQnlBRnFRUkJxS1FJQU53TUFJQUpCSUdwQkNHb2dBa0hJQVdwQkNHb3BBZ0EzQXdBZ0FpQUNLUUxJQVRjRElBd0JDeUFDUWNnQWFrRUFOZ0lBSUFKQ0FEY0RRQ0FDSTRHQWdJQUFRWmlBd0lBQWFpa0RBQ0lFTndKTUlBSWdCRGNDOUFFZ0FrRUFOZ0x3QVNBQ1FxclZxdFVLTndMb0FRSkFBa0FnQWJOREFBQ0FQNUlRbzRDQWdBQWlCVU1BQUlCUFhTQUZRd0FBQUFCZ2NVVU5BQ0FGcVNFRERBRUxRUUFoQXdzQ1FDQUNRZWdCYWlBRFFSUWdBMEVVU1JzZ0FXeEJ3QUJxUVFaMkVJNkFnSUFBUWYvL0EzRU5BQ0FDUWNnQmFrRVFhaUlESUFKQjZBRnFRUkJxS0FJQU5nSUFJQUpCeUFGcVFRaHFJZ1lnQWtIb0FXcEJDR29wQWdBM0F3QWdBaUFDS1FMb0FUY0R5QUVnQWtFSk93SGtBU0FDUWdBM0F0d0JJQUpCeUFGcUVJV0FnSUFBUWYvL0EzRU5BQ0FDUWN3QWFpRUhJQUpCMkFCcVFSaHFJQUpCeUFGcVFSaHFLUU1BTndNQUlBSkIyQUJxUVJCcUlBTXBBd0EzQXdBZ0FrSFlBR3BCQ0dvZ0Jpa0RBRGNEQUNBQ0lBSXBBOGdCTndOWUlBSkJBRHNCZkNBQ1FRQTZBSDVCZ0FJaENFRUFJUWtEUUNBQUlBbHFJUXBCQWlFREFrQUNRQUpBQWtBRFFDQUpJQU5xSWdzZ0FVOE5BaUFDUVlBQmFpQUNRY0FBYWlBS0lBTVFpWUNBZ0FBQ1FBSkFJQUl0QUlRQkRRQWdBMEVDUncwQklBb3RBQUFoQ1F3REN5QUNJQUl0QUlJQk9nQitJQUlnQWk4QmdBRTdBWHdnQTBFQmFpRUREQUVMQ3lBQ0x3RjhJQUl0QUg1QkVIUnlJUWtMSUFKQjJBQnFJQWtRaklDQWdBQWdDMEYvYWlFSkFrQWdDRUgvL3o5eFFmLy9QMGNOQUFKQUlBSW9Ba0FpQTBVTkFDQURRUUFnQTBGOGFpZ0NBQ0lLRUtTQWdJQUFHaUFDUVFBMkFrUWdBaUFLclVMUUFINUM1QUNBUGdKSUN5QUNRZGdBYWtILy96OFFqSUNBZ0FBZ0FrRUFOZ0p3SUFKQkNUb0FkRUdBQWlFSURBUUxJQUpCd0FCcUlBb2dBeENQZ0lDQUFCb2dBaWdDU0EwQ0FrQUNRQ0FDS0FKQUlnc05BRUVCSVF3TUFRc2dDMEY4YWlnQ0FLMUMwQUIrSWdRZ0JFTGtBSUo5UXVRQWZFTFFBSUNuSVF3TElBWkJBRFlDQUNBQ1FnQTNBOGdCQWtCQkFBMEFBa0FDUUVJQlFTQWdER2RyclVMLy93T0RocWNpREVFSUlBeEJDRXNiSWcxQkQyb2lEaUFOUVFOMGFpSVBJQTFCQW5ScVFYeHhJZ3dOQUVGOElRd01BUXNnQWlrQ1RDSUVweUFNUVFKQkFDQUVRaUNJcHlnQ0FCR0FnSUNBQUFBaURFVU5BUXNnRENBTk5nSUlJQXdnRENBT1FYeHhhallDQkNBTUlBd2dEMEY4Y1dvMkFnQWdBaUFNUVF4cUlndzJBc2dCSUF4QkFDQU5FS1NBZ0lBQUdpQUNJQTJ0UXRBQWZrTGtBSUErQXRBQklBSW9Ba1FpRDBVTkFnSkFBa0FnQ3cwQVFRQWhEQXdCQ3lBTFFYeHFLQUlBSVF3TElBdEJkR29pRGlnQ0FDRU5JQTVCQkdvb0FnQWhEZ05BSUF4RkRRTUNRQ0FMTEFBQVFRQk9EUUFnQWtISUFXb2dEaWdDQUNBT1FRUnFLQUlBSUEwdkFRQWdEVUVDYWkwQUFFRVFkSElRa0lDQWdBQWdBaWdDekFFZ0QwWU5CQXNnREVGL2FpRU1JQXRCQVdvaEN5QU9RUWhxSVE0Z0RVRUVhaUVOREFBTEN5QUNRY2dCYWlBSEVJaUFnSUFBREFRTEFrQUNRQ0FKUVFGcUlBRkpEUUFnQ2kwQUFDRUREQUVMSUFKQmlBRnFRUkJxSUFKQndBQnFRUkJxS0FJQU5nSUFJQUpCaUFGcVFRaHFJQUpCd0FCcVFRaHFLUU1BTndNQUlBSWdBaWtEUURjRGlBRWdBa0dnQVdvZ0FrR0lBV29nQ2lBREVJbUFnSUFBQWtBQ1FBSkFJQUl0QUtRQkRRQWdBMEVDUncwQklBb3RBQUFoQXd3Q0N5QUNMd0dnQVNBQ0xRQ2lBVUVRZEhJaEF3d0NDeUFDUWFnQmFrRVFhaUFDUWNBQWFrRVFhaWdDQURZQ0FDQUNRYWdCYWtFSWFpQUNRY0FBYWtFSWFpa0RBRGNEQUNBQ0lBSXBBMEEzQTZnQklBSkJ3QUZxSUFKQnFBRnFJQW9nQTBGL2FoQ0pnSUNBQUNBQ0x3SEFBU0FDTFFEQ0FVRVFkSEloQXdzZ0FrSFlBR29nQXhDTWdJQ0FBQ0FMSUFCcVFYOXFMUUFBSVFNTElBSkIyQUJxSUFNUWpJQ0FnQUFnQWtIQUFHb1FoNENBZ0FBZ0FrRWdha0VZYWlBQ1FkZ0Fha0VZYWlrREFEY0RBQ0FDUVNCcVFSQnFJQUpCMkFCcVFSQnFLUU1BTndNQUlBSkJJR3BCQ0dvZ0FrSFlBR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTllOd01nREFRTElBSkJ3QUJxUVFocUlnc29BZ0FoRENBTElBWW9BZ0EyQWdBZ0JpQU1OZ0lBSUFKQkFEWUNSQ0FDS1FOQUlRUWdBaUFDS1FQSUFUY0RRQ0FDSUFRM0E4Z0JJQUpCeUFGcUlBY1FpSUNBZ0FBTElBSkJ3QUJxSUFvZ0F5QUlFSkNBZ0lBQUlBaEJBV29oQ0F3QUN3c2dBa0hBQUdvUWg0Q0FnQUJCQUNFRERBRUxJQUpCR0dvZ0FrRWdha0VZYWlrREFEY0RBQ0FDUVJCcUlBSkJJR3BCRUdvcEF3QTNBd0FnQWtFSWFpQUNRU0JxUVFocUtRTUFOd01BSUFJZ0Fpa0RJRGNEQUVFQUlRTWdBaUFDS0FJRUlnRkJBbW9RaG9DQWdBQkIvLzhEY1EwQUlBSW9BZ0FpQXlBQ0tBSUVRUU4wYWlJSlFRaHFJQUkxQWdoQ0E0WTNBd0FnQ1NBQlFRTjBJZ0ZCQkhLdFFpQ0dJQUkxQWhTRU53TUFJQU1nQVdwQkJHb2hBd3NnQWtHUUFtb2tnSUNBZ0FBZ0F3dXRBZ01GZndGK0FYOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFDQUFLQUlBSVFVQ1FDQUVSUTBBSUFJZ0FVSC8vLy8vQVVzNkFBZ2dBVUdBZ0lDQUFrOE5BQ0FBS0FJTUlBVWdCRUVEZEVFRElBRkJBM1JCQUNBQVFSQnFLQUlBS0FJRUVZS0FnSUFBQUVFQmNVVU5BQ0FBSUFFMkFnaEJBQ0VEREFFTElBQkJER29pQmlrQ0FDRUhJQUlnQVVILy8vLy9BVXM2QUF3Q1FDQUJRWUNBZ0lBQ1R3MEFBa0FDUUNBQlFRTjBJZ2dOQUVGNElRZ01BUXNnQjZjZ0NFRURRUUFnQjBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ2hGRFFFTElBZ2dBQ2dDQUNBQUtBSUVRUU4wRUtXQWdJQUFJUWdnQmlBRklBUVFvSUNBZ0FBZ0FDQUJOZ0lJSUFBZ0NEWUNBQXdCQzBFQklRTUxJQUpCRUdva2dJQ0FnQUFnQXd1Z0FnTUVmd0YrQkg4amdJQ0FnQUJCRUdzaUF5U0FnSUNBQUNPQmdJQ0FBQ0VFQWtBQ1FDQUFLQUlFRFFBZ0JFR0FnTUNBQUdvaEJRd0JDeUFBS0FJQUlRWWdBU0FDRUlxQWdJQUFJUWNDUUFKQUlBWU5BRUVBSVFSQmZ5RUlEQUVMSUFaQmZHb29BZ0FpQkVGL2FpRUlDeUFHUVhocUlRa2dDQ0FIcDNFaEFDQUhRam1JcHlFS0EwQWpnWUNBZ0FCQmdJREFnQUJxSVFVZ0JpQUFhaXdBQUNJTFJRMEJJQVJGRFFFQ1FDQUxRWDlLRFFBZ0NpQUxRZjhBY1VjTkFDQUJJQUlnQ1NnQ0FDQUFRUU4wYWlJTEtBSUFJQXNvQWdRUWk0Q0FnQUJCQVhGRkRRQWdBMEVCT2dBTUlBTkJDR29oQlF3Q0N5QUVRWDlxSVFRZ0FFRUJhaUFJY1NFQURBQUxDeUFGTFFBRUlRQWdBMEVRYWlTQWdJQ0FBQ0FBUVFCSEM5Z0JBZ0YrQkg4Z0FDQUJJQUlRajRDQWdBQWFJQUVnQWhDS2dJQ0FBQ0VFUVg4aEJRSkFJQUFvQWdBaUJrVU5BQ0FHUVh4cUtBSUFRWDlxSVFVTElBVWdCS2R4SVFjQ1FBTkFJQVlnQjJvaUNDd0FBRUYvU2cwQklBZEJBV29nQlhFaEJ3d0FDd3NnQUNBQUtBSUlRWDlxTmdJSUlBZ2dCRUk1aUtkQmdBRnlPZ0FBSUFBb0FnQkJlR29vQWdBZ0IwRURkR29pQmlBQ05nSUVJQVlnQVRZQ0FDQUFLQUlBUVhScUtBSUFJQWRCQW5ScUlnY2dBenNCQUNBSFFRSnFJQU5CLy84L2NVRVFkam9BQUNBQUlBQW9BZ1JCQVdvMkFnUUxKUUVCZndOQVFYOGdBRUVCZGlBQWFrRUlhaUlDSUFJZ0FFa2JJZ0FnQVVrTkFBc2dBQXMvQVFGL0k0Q0FnSUFBUVJCcklnRWtnSUNBZ0FBZ0FTQUFLUUlNTndNSUlBRkJDR29nQUNnQ0FDQUFLQUlJRUpPQWdJQUFJQUZCRUdva2dJQ0FnQUFMTndFQmZ3SkFJQUpCQTNSQkFDQUNHeUlEUlEwQUlBQW9BZ0FnQVVFRUlBSWJJQU5CQWtFQUlBQW9BZ1FvQWdnUmdZQ0FnQUFBQ3d1RERBTUJmd0YrQzM4amdJQ0FnQUJCMEFCcklnTWtnSUNBZ0FBZ0EwRUFOZ0pFSUFOQ3F0V3ExUW8zQWp3Z0F5T0JnSUNBQUVHWWdNQ0FBR29wQXdBaUJEY0NTQUpBQWtBQ1FBSkFJQUlOQUVHcTFhclZlaUVGUVFBaEJnd0JDMEdxMWFyVmVpRUZJQUloQmlBRFFjZ0FhaUlIUWFyVnF0VjZRUUFnQWhDVmdJQ0FBRUVCY1EwQUlBTkJLR29nQnlBQ0VKYUFnSUFBSUFNdkFUQU5BU0FES0FJc0lRWWdBeWdDS0NFRkMwRUpJUWhCQUNFSlFRQWhDa0VBSVF0QkFDRU1BMEFDUUFKQUFrQUNRQUpBSUF3Z0FrWU5BQ0FJUWY4QmNTSUhRUlJKRFFFTUJBc2dBeUFFTndNZ0FrQUNRQ0FEUVNCcUlBVWdCaUFDRUpXQWdJQUFRUUZ4UlEwQUlBVWhDQXdCQ3lBRFFUeHFJQU5CSUdvZ0FoQ1dnSUNBQUNBREx3RkVEUVlnQXlnQ1BDSUlJQVVnQXlnQ1FDSUNRUUowRUtXQWdJQUFHaUFESUFRM0F5Z2dBMEVvYWlBRklBWVFsNENBZ0FBTEFrQWdBZzBBUVFBaENVR3ExYXJWZWlFS1FRQWhEQXdDQ3lBRFFRQTJBakFnQTBLcTFhclZDamNDS0NBRElBUTNBalFnQTBFQVFmLy9QeENSZ0lDQUFDSUhRZi8vLy84QlN6b0FQQ0FIUVlDQWdJQUNUdzBDQWtBQ1FDQUhRUU4wSWcwTkFFRjhJUTBNQVFzZ0JLY2dEVUVDUVFBZ0JFSWdpS2NvQWdBUmdJQ0FnQUFBSWcxRkRRTUxJQU1nQnpZQ01DQURJQTAyQWloQkFDRUhBa0FEUUNBSFFmai8vd05HRFFFZ0RTQUhha0lBTndJQUlBZEJDR29oQnd3QUN3c2dBMEgvL3o4MkFpd2dBeUFFTndKSVFRQWhCeUFEUVFBMkFrUWdBMEtxMWFyVkNqY0NQQ0FEUVR4cUlBSkJHR3dRbUlDQWdBQkIvLzhEY1EwQ0lBTXBBa2doQkNBREtBSkVJUXdnQXlnQ1BDSUtJQU1vQWtBaUNXb2dDQzBBQURvQUFDQU5JQWd2QVFBZ0NFRUNhaTBBQUVFUWRISkJBM1JxSWc1QkFUWUNCQ0FPSUFvMkFnQWdDVUVCYWlFQVFZQUNJUTlCQVNFT0EwQWdBQ0VKQWtBQ1FBSkFBa0FnRGlBQ1R3MEFBa0FnQ0NBT1FRSjBhaUlBTHdFQUlBQkJBbW90QUFCQkVIUnlJZ0JCLy84L1J3MEFJQTVCQVdvaURpQUNUdzBCUVFBaEJ3SkFBMEFnQjBINC8vOERSZzBCSUEwZ0IycENBRGNDQUNBSFFRaHFJUWNNQUFzTEFrQWdDQ0FPUVFKMGFpSUhMd0VBSUFkQkFtb3RBQUJCRUhSeUlnZEJnQUpKRFFBZ0EwSC8vejgyQWl3TUNRc2dDaUFKYWlBSE9nQUFJQWxCQVdvaEFFR0FBaUVQREFRTElBQkJnQUpKRFFFQ1FDQU5JQUJCQTNScUlnQW9BZ0FpQ3cwQUlBb2dDV29nQ2lBSGFpSUFJQWtnQjJzaUN4Q2xnSUNBQUJvZ0NpQUxJQWxxSWd0cUlBQXRBQUE2QUFBZ0MwRUJhaUVBREFNTElBb2dDV29nQ3lBQUtBSUVJZ0FRcFlDQWdBQWFJQUFnQ1dvaEFBd0NDeUFEUWYvL1B6WUNMQ0FEUVNocUVKS0FnSUFBREFVTElBb2dDV29nQURvQUFDQUpRUUZxSVFBTElBMGdEMEgvL3o5eFFRTjBhaUlMSUFrZ0IydEJBV28yQWdRZ0N5QUtJQWRxTmdJQUlBOUJBV29oRHdzZ0RrRUJhaUVPSUFraEJ3d0FDd3NnQ0NBTFFZQUNha0YvSUFkMFFYOXpUMm9oQ0F3Q0N5QURJQVEzQWhnZ0F5QUtOZ0lNSUFNZ0NUWUNFQ0FESUF3MkFoUUNRQUpBSUF3Z0NVRUlhaUlOU1EwQUlBa2hCd3dCQzBFQUlRY2dBMEVNYWlBTUlBMFFrWUNBZ0FBUW1JQ0FnQUJCLy84RGNRMEZJQU1vQWd3aENpQURLQUlVSVF3Z0F5Z0NFQ0VIQ3lBS0lBZHFJZ2NnQ1RvQUFDQUhRUWRxSUF4QkdIWTZBQUFnQjBFR2FpQU1RUkIyT2dBQUlBZEJCV29nREVFSWRqb0FBQ0FIUVFScUlBdzZBQUFnQjBFRGFpQUpRUmgyT2dBQUlBZEJBbW9nQ1VFUWRqb0FBQ0FIUVFGcUlBbEJDSFk2QUFBZ0NpQUphaUVIREFRTElBTkJLR29Ra29DQWdBQU1BZ3RCQUNFT0lBZ2hCd0pBQTBBZ0IwSC9BWEVpRFVVTkFTQUFJQW9nQ1VIL0FYRkJ3QUJHSWc5cUlncEJBM1JxS1FNQVFRQWdDU0FQR3lJSlFUOXhyWVpCQUNBTlFjQUFJQWxyUWY4QmNTSVBJQTBnRDBrYklnMXJRVDl4cllpbklBY2dEV3NpQjNRZ0RuSWhEaUFOSUFscUlRa01BQXNMSUFVZ0RFRUNkR29pQnlBT093RUFJQWRCQW1vZ0RrSC8vejl4SWdkQkVIWTZBQUJCQUNBTFFRRnFJQWRCLy84L1JpSUhHeUVMUVFrZ0NDQUhHeUVJSUF4QkFXb2hEQXdBQ3d0QkFDRUhDeUFEUWRBQWFpU0FnSUNBQUNBSEM1QUJBUUovSTRDQWdJQUFRUkJySWdRa2dJQ0FnQUFDUUFKQUlBTU5BQ0FFSUFBcEFnQTNBd0FnQkNBQklBSVFsNENBZ0FCQkFTRUZEQUVMUVFBaEJTQUNSUTBBSUFRZ0EwSC8vLy8vQTBzNkFBd2dBMEdBZ0lDQUJFOE5BQ0FBS0FJQUlBRWdBa0VDZEVFQ0lBTkJBblJCQUNBQUtBSUVLQUlFRVlLQWdJQUFBQ0VGQ3lBRVFSQnFKSUNBZ0lBQUlBVUx3UUVDQVg4QmZpT0FnSUNBQUVFZ2F5SURKSUNBZ0lBQUlBRXBBZ0FoQkNBRElBSkIvLy8vL3dOTE9nQWNBa0FDUUNBQ1FZQ0FnSUFFVHcwQUFrQUNRQ0FDUVFKMElnRU5BRUY4SVFFTUFRc2dCS2NnQVVFQ1FRQWdCRUlnaUtjb0FnQVJnSUNBZ0FBQUlnRkZEUUVMSUFNZ0FqWUNGQ0FESUFFMkFoQWdBMEVBT3dFWUlBTkJFR29oQWd3QkN5QURRUUU3QVF3Z0EwRUVhaUVDQ3lBQUlBSXBBZ0EzQWdBZ0FFRUlhaUFDUVFocUtBSUFOZ0lBSUFOQklHb2tnSUNBZ0FBTE53RUJmd0pBSUFKQkFuUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUVJQUliSUFOQkFrRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3dmFBUUVGZnlPQWdJQ0FBRUVnYXlJQ0pJQ0FnSUFBUVFBaEF3SkFJQUFvQWdnaUJDQUJUdzBBSUFBb0FnQWhCUUpBQWtBZ0JFVU5BRUVBRFFBZ0FDZ0NEQ0FGSUFSQkFDQUJRUUFnQUVFUWFpZ0NBQ2dDQkJHQ2dJQ0FBQUJCQVhGRkRRQWdBQ0FCTmdJSURBRUxJQUlnQUVFTWFpSUdLUUlBTndNUUlBSkJHR29nQWtFUWFpQUJFSUdBZ0lBQUlBSXZBUndpQXcwQklBSW9BaGdnQUNnQ0FDQUFLQUlFRUtXQWdJQUFJUU1nQmlBRklBUVFoSUNBZ0FBZ0FDQUJOZ0lJSUFBZ0F6WUNBQXRCQUNFREN5QUNRU0JxSklDQWdJQUFJQU1MMGdJREJuOEJmZ2QvSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQUNnQ0JDRUVJQUFvQWdBaEJVRUFJUVlnQWtIL0FYRWhCd04vQWtBQ1FBSkFJQVlnQkVjTkFFRi9JUWdNQVFzQ1FDQUZJQVpCQkhScUlnSkJDR29wQXdBaUNVSUFVdzBBSUFJcEF3QjdJQWw3ZktjZ0FVa05BZ3NnQmtFSGRDSUlRWUFCYWlFS0EwQWdDQ0FLVHcwQ0lBZ2dBQ2tDQUNJSlFobUlwMEdBZjNFaUFpQUlJQUpMR3lJTElBaHJJUXdnQ2FkQkNDQUpRaUNJcHhzaERTQUlRUkIwYUNFT1FRQWhBZ0pBQTBBQ1FDQU1JQUpIRFFBZ0N5RVBEQUlMUWY4QklBZ2dBbW9pRDBFSGNTSVFRUWR6ZGtFQklCQjBjU0FOSUE5QkEzWnFMUUFBY1VVTkFTQUNRUUZxSWdJZ0FVa05BQ0FPSUFkSkRRQUxJQU1nQ1RjRENDQURRUWhxSUFnZ0FVRUFFSnFBZ0lBQURBSUxJQTlCQVdvaENBd0FDd3NnQTBFUWFpU0FnSUNBQUNBSUR3c2dCa0VCYWlFR0RBQUxDMVFCQVg4Z0EwRUJjU0VFQWtBRFFDQUNSUTBCSUFBb0FnQkJDQ0FBS0FJRUd5QUJRUU4yYWlJRElBTXRBQUJCZmlBQlFRZHhJZ04zY1NBRUlBTjBjam9BQUNBQlFRRnFJUUVnQWtGL2FpRUNEQUFMQ3d2YkFRRURmeU9BZ0lDQUFFRVFheUlDSklDQWdJQUFBa0FnQUVHQUVFOE5BQ09CZ0lDQUFFR29nTUNBQUdvZ0FDQUJRWUFRSUFGQmdCQkpHeUFBYXhDY2dJQ0FBQXNDUUNBQlFZQVFUUTBBQWtBamdZQ0FnQUJCb0lEQWdBQnFLQUlFRFFBamdZQ0FnQUJCb0lEQWdBQnFJZ05CZ0NBMkFnUWdBeUFCUVg5cUlnRkJFSFFpQkRZQ0FDQUVRUUJCZ0lBRUVLU0FnSUFBR2dzZ0FpT0JnSUNBQUVHZ2dNQ0FBR29wQXdBM0F3Z2dBa0VJYWlBQVFZQVFJQUJCZ0JCTEd5SUFRWUJ3YWlBQklBQnJFSnlBZ0lBQUN5QUNRUkJxSklDQWdJQUFDenNCQVg4amdJQ0FnQUJCRUdzaUF5U0FnSUNBQUNBRElBQXBBZ0EzQXdnZ0EwRUlhaUFCSUFKQkFSQ2FnSUNBQUNBRFFSQnFKSUNBZ0lBQUM3MEJBUVIvUVFBaEJBSkFJQUZCZ1lCOFR3MEFBa0FqZ1lDQWdBQkJxSURBZ0FCcUlBRkIvLzhEYWtFUWRpSUJJQUlRbVlDQWdBQWlCRUYvUncwQUFrQWpnWUNBZ0FCQm9JREFnQUJxSUFFZ0FoQ1pnSUNBQUNJRVFYOUdEUUFnQkVHQUVHb2hCQXdCQzBFQUlRUkJBU0FDZENJRlB3QWlCa0VRZENJQ2FrRi9ha0VBSUFWcmNTSUZJQUpyUVJCMklnY2dBV3BBQUVFQlNBMEJJQWNnQm1vaEJDQUZJQUpHRFFBZ0JpQUVFSnVBZ0lBQUN5QUVRUkIwSVFRTElBUUxUd0VCZndKQUlBSkIvLzhEYWlJR1FZQ0FmSEVnQkU4aUFrVU5BQ0FFUWYvL0EycEJFSFlpQkNBR1FSQjJJZ1pHRFFBZ0JDQUJRZi8vQTJwQkVIWWlBV29nQVNBR2FoQ2JnSUNBQUFzZ0Fnc2hBQ0FCUWYvL0EycEJFSFlpQVNBQklBSkIvLzhEYWtFUWRtb1FtNENBZ0FBTE53RUJmd0pBSUFKQkEzUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUlJQUliSUFOQkEwRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3cytBQ0FCSUFDRlF1bmE0Tm1Pd2Zydm5YOStJZ0JDTDRnZ0FZVWdBSVZDNmRyZzJZN0IrdStkZjM0aUFVSXZpQ0FCaFVMcDJ1RFpqc0g2NzUxL2ZndENBUUorSUFBZ0FTa0FBQ0FDZkNJQ0lBRXBBQWg4SUFFcEFCQjhJZ1FnQVNrQUdDSUZmRGNEQUNBQUlBUkNGSWtnQW53Z0JTQUNJQU44ZkVJcmlYdzNBd2dMbmdJQ0FuOENmUUpBQWtBQ1FDQUF2Q0lCUVlDQWdBUk9EUUJEQUFEQWYwTUFBSUQvSUFGQi8vLy8vd2R4SWdJYklRTWdBVUVBU0EwQ0lBSkZEUUlnQUVNQUFBQk1sTHdoQVVIb2ZpRUNEQUVMSUFBaEF5QUJRZi8vLy9zSFN3MEJRWUYvSVFKREFBQUFBQ0VESUFGQmdJQ0EvQU5HRFFFTElBRkJqZmFyQW1vaUFVSC8vLzhEY1VIemlkVDVBMnErUXdBQWdMK1NJZ0FnQUNBQVF3QUFBRCtVbENJRGs3eEJnR0J4dmlJRVF3Q3d1RCtVSUFBZ0JKTWdBNU1nQUNBQVF3QUFBRUNTbFNJQUlBTWdBQ0FBbENJQUlBQWdBSlFpQUVQdTZaRStsRU9xcWlvL2twUWdBQ0FBUXlhZWVENlVReFBPekQ2U2xKS1NsSklpQUVNQXNMZy9sQ0FBSUFTU1E5U2FPTG1Va3BJZ0FpQUJRUmQyYXJLU0lRTUxJQU1MTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7Y29uc3QgSj1hd2FpdCBmKCksQj1KLmV4cG9ydHM7ZnVuY3Rpb24gcyhBKXtjb25zdHtwdHI6ZyxsZW5ndGg6SX09ayhBLEIpLEM9Qi5jb21wcmVzc1BhY2tlZChnLEkpO0IuZnJlZShnLEkpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09YShCLm1lbW9yeSxDKSxvPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksdz1oKG8pO3JldHVybiBCLmZyZWUoUSxpKSx3fWZ1bmN0aW9uIGUoQSl7Y29uc3QgZz0oQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTEpPDwxNikrQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTIpO2xldCBJPUIuYWxsb2NVaW50MTYoQS5sZW5ndGgtMiksQz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEksQS5sZW5ndGgtMik7Zm9yKGxldCBEPTA7RDxBLmxlbmd0aC0yO0QrKylDW0RdPUEuY2hhckNvZGVBdChEKTtjb25zdCBRPUIuZGVjb21wcmVzc1BhY2tlZChJLEEubGVuZ3RoLTIsZyk7Qi5mcmVlKEksMiooQS5sZW5ndGgtMikpO2NvbnN0e3N0YXJ0OkUsZW5kOmksY2FwYWNpdHk6b309YShCLm1lbW9yeSxRKSx3PW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLGkpKSx0PW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZSh3KTtyZXR1cm4gQi5mcmVlKEUsbyksdH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihBKXtjb25zdHtjb21tYW5kOmcsaWQ6SSxkYXRhOkN9PUEuZGF0YTtzd2l0Y2goZyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOmUoQyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOnMoQyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(J)], { type: "text/javascript;charset=utf-8" });
2
- function V(Q) {
3
- let U;
4
- try {
5
- if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
6
- throw "";
7
- const F = new Worker(U, {
8
- type: "module",
9
- name: Q?.name
10
- });
11
- return F.addEventListener("error", () => {
12
- (window.URL || window.webkitURL).revokeObjectURL(U);
13
- }), F;
14
- } catch {
15
- return new Worker(
16
- "data:application/javascript;base64," + J,
17
- {
18
- type: "module",
19
- name: Q?.name
20
- }
21
- );
22
- }
23
- }
24
- const R = new V();
25
- let d = 0;
26
- const B = {};
27
- R.onmessage = function(Q) {
28
- const U = Q.data.id;
29
- B[U](Q.data.data), delete B[U];
30
- };
31
- async function Z(Q) {
32
- const U = d++;
33
- return new Promise((F) => {
34
- B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
35
- });
36
- }
37
- async function W(Q) {
38
- const U = d++;
39
- return new Promise((F) => {
40
- B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
41
- });
42
- }
43
- export {
44
- Z as compressPacked,
45
- W as decompressPacked
46
- };
@@ -1,56 +0,0 @@
1
- function o(n, e) {
2
- const t = new TextEncoder().encode(n), a = e.allocUint8(t.length);
3
- return new Uint8Array(
4
- e.memory.buffer,
5
- a,
6
- t.length
7
- ).set(t), { ptr: a, length: t.length };
8
- }
9
- function f(n) {
10
- const e = new Array(n.length);
11
- for (let t = 0; t < n.length; t++)
12
- e[t] = String.fromCharCode(n[t]);
13
- return e.join("");
14
- }
15
- function c(n, e) {
16
- const t = new Uint32Array(
17
- n.buffer.slice(e, e + 8)
18
- ), a = t.at(0), r = t.at(1);
19
- return {
20
- start: e - a,
21
- end: e,
22
- capacity: r
23
- };
24
- }
25
- const l = async (n = {}, e) => {
26
- let t;
27
- if (e.startsWith("data:")) {
28
- const a = e.replace(/^data:.*?base64,/, "");
29
- let r;
30
- if (typeof Buffer == "function" && typeof Buffer.from == "function")
31
- r = Buffer.from(a, "base64");
32
- else if (typeof atob == "function") {
33
- const s = atob(a);
34
- r = new Uint8Array(s.length);
35
- for (let i = 0; i < s.length; i++)
36
- r[i] = s.charCodeAt(i);
37
- } else
38
- throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
39
- t = await WebAssembly.instantiate(r, n);
40
- } else {
41
- const a = await fetch(e), r = a.headers.get("Content-Type") || "";
42
- if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
43
- t = await WebAssembly.instantiateStreaming(a, n);
44
- else {
45
- const s = await a.arrayBuffer();
46
- t = await WebAssembly.instantiate(s, n);
47
- }
48
- }
49
- return t.instance;
50
- };
51
- export {
52
- f as U,
53
- o as c,
54
- c as e,
55
- l as i
56
- };
@@ -1,5 +0,0 @@
1
- export type Message = {
2
- command: string;
3
- id: number;
4
- data: string;
5
- };
package/src/common.ts DELETED
@@ -1,39 +0,0 @@
1
- export function copyToWasmBuffer(
2
- str: string,
3
- exports: { allocUint8: (size: number) => number; memory: any }
4
- ) {
5
- // There's also an 'encodeInto' method to avoid a copy, but by encoding first, we can allocate only exactly what we need.
6
- const utf8Str = new TextEncoder().encode(str);
7
- const ptrToStr = exports.allocUint8(utf8Str.length);
8
- const inBuffer = new Uint8Array(
9
- exports.memory.buffer,
10
- ptrToStr,
11
- utf8Str.length
12
- );
13
- inBuffer.set(utf8Str); // Copy to WASM buffer.
14
-
15
- return { ptr: ptrToStr, length: utf8Str.length };
16
- }
17
-
18
- // Horrible. Surely we can do better...
19
- export function Uint16ArraytoString(buf: Uint16Array) {
20
- const strBuilder = new Array(buf.length);
21
- for (let i = 0; i < buf.length; i++)
22
- strBuilder[i] = String.fromCharCode(buf[i]);
23
- return strBuilder.join("");
24
- }
25
-
26
- export function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number) {
27
- const footer = new Uint32Array(
28
- memory.buffer.slice(ptrToFooter, ptrToFooter + 8)
29
- );
30
- const streamLength = footer.at(0)!;
31
- const capacity = footer.at(1)!;
32
- const start = ptrToFooter - streamLength;
33
-
34
- return {
35
- start,
36
- end: ptrToFooter,
37
- capacity,
38
- };
39
- }
Binary file
package/src/module.wasm DELETED
Binary file
@@ -1,77 +0,0 @@
1
- import {
2
- Uint16ArraytoString,
3
- copyToWasmBuffer,
4
- extractFooter,
5
- } from "./common.js";
6
- import init from "./module-packed.wasm?init";
7
-
8
- type exportsType = {
9
- allocUint8: (size: number) => number;
10
- allocUint16: (size: number) => number;
11
- compressPacked: (ptr: number, length: number) => number;
12
- decompressPacked: (
13
- ptr: number,
14
- length: number,
15
- tokenCount: number
16
- ) => number;
17
- free: (ptr: number, length: number) => void;
18
- memory: WebAssembly.Memory;
19
- };
20
-
21
- const instance = await init();
22
- const exports = instance.exports as exportsType;
23
-
24
- export function compressPacked(str: string) {
25
- const { ptr, length } = copyToWasmBuffer(str, exports);
26
-
27
- const ptrToFooter = exports.compressPacked(ptr, length);
28
-
29
- exports.free(ptr, length);
30
-
31
- //console.log(ptrToFooter);
32
-
33
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
34
-
35
- //console.log(start, end, capacity / (1024 * 1024));
36
-
37
- // Includes the tokenCount at the end of the stream (2 * u16).
38
- const compressed = new Uint16Array(exports.memory.buffer.slice(start, end));
39
-
40
- const r = Uint16ArraytoString(compressed);
41
-
42
- exports.free(start, capacity);
43
-
44
- return r;
45
- }
46
-
47
- export function decompressPacked(compressedStr: string) {
48
- const tokenCount =
49
- (compressedStr.charCodeAt(compressedStr.length - 1)! << 16) +
50
- compressedStr.charCodeAt(compressedStr.length - 2);
51
-
52
- let ptrToCompressed = exports.allocUint16(compressedStr.length - 2);
53
- let compressed_buffer = new Uint16Array(
54
- exports.memory.buffer,
55
- ptrToCompressed,
56
- compressedStr.length - 2
57
- );
58
-
59
- for (let i = 0; i < compressedStr.length - 2; i++)
60
- compressed_buffer[i] = compressedStr.charCodeAt(i);
61
-
62
- const ptrToFooter = exports.decompressPacked(
63
- ptrToCompressed,
64
- compressedStr.length - 2,
65
- tokenCount
66
- );
67
-
68
- exports.free(ptrToCompressed, 2 * (compressedStr.length - 2));
69
-
70
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
71
- const content = new Uint8Array(exports.memory.buffer.slice(start, end));
72
- const r = new TextDecoder().decode(content);
73
-
74
- exports.free(start, capacity);
75
-
76
- return r;
77
- }
@@ -1,29 +0,0 @@
1
- // @ts-expect-error
2
- import Worker from "./worker-packed.js?worker&inline";
3
-
4
- const worker = new Worker();
5
-
6
- let nextID = 0;
7
- const resolver: Record<number, (str: string) => void> = {};
8
-
9
- worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
- const id = e.data.id;
11
- resolver[id](e.data.data);
12
- delete resolver[id];
13
- };
14
-
15
- export async function compressPacked(data: string) {
16
- const id = nextID++;
17
- return new Promise<string>((resolve) => {
18
- resolver[id] = resolve;
19
- worker.postMessage({ command: "compress", id, data });
20
- });
21
- }
22
-
23
- export async function decompressPacked(data: string) {
24
- const id = nextID++;
25
- return new Promise<string>((resolve) => {
26
- resolver[id] = resolve;
27
- worker.postMessage({ command: "decompress", id, data });
28
- });
29
- }
@@ -1,29 +0,0 @@
1
- // @ts-expect-error
2
- import Worker from "./worker.js?worker&inline";
3
-
4
- const worker = new Worker();
5
-
6
- let nextID = 0;
7
- const resolver: Record<number, (str: string) => void> = {};
8
-
9
- worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
- const id = e.data.id;
11
- resolver[id](e.data.data);
12
- delete resolver[id];
13
- };
14
-
15
- export async function compress(data: string) {
16
- const id = nextID++;
17
- return new Promise<string>((resolve) => {
18
- resolver[id] = resolve;
19
- worker.postMessage({ command: "compress", id, data });
20
- });
21
- }
22
-
23
- export async function decompress(data: string) {
24
- const id = nextID++;
25
- return new Promise<string>((resolve) => {
26
- resolver[id] = resolve;
27
- worker.postMessage({ command: "decompress", id, data });
28
- });
29
- }
@@ -1,61 +0,0 @@
1
- import {
2
- Uint16ArraytoString,
3
- copyToWasmBuffer,
4
- extractFooter,
5
- } from "./common.js";
6
- import init from "./module.wasm?init";
7
-
8
- type exportsType = {
9
- allocUint8: (size: number) => number;
10
- allocUint16: (size: number) => number;
11
- compress: (ptr: number, length: number) => number;
12
- decompress: (ptr: number, length: number) => number;
13
- free: (ptr: number, length: number) => void;
14
- memory: WebAssembly.Memory;
15
- };
16
-
17
- const instance = await init();
18
- const exports = instance.exports as exportsType;
19
-
20
- export function compress(str: string) {
21
- const { ptr, length } = copyToWasmBuffer(str, exports);
22
-
23
- const ptrToFooter = exports.compress(ptr, length);
24
-
25
- exports.free(ptr, length);
26
-
27
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
28
-
29
- const content = new Uint16Array(exports.memory.buffer.slice(start, end));
30
- const r = Uint16ArraytoString(content);
31
-
32
- exports.free(start, capacity);
33
-
34
- return r;
35
- }
36
-
37
- export function decompress(compressedStr: string) {
38
- const ptrToCompressed = exports.allocUint16(compressedStr.length);
39
- const compressed_buffer = new Uint16Array(
40
- exports.memory.buffer,
41
- ptrToCompressed,
42
- compressedStr.length
43
- );
44
- for (let i = 0; i < compressedStr.length; i++)
45
- compressed_buffer[i] = compressedStr.charCodeAt(i);
46
-
47
- const ptrToFooter = exports.decompress(
48
- ptrToCompressed,
49
- compressedStr.length
50
- );
51
-
52
- exports.free(ptrToCompressed, 2 * compressedStr.length);
53
-
54
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
55
- const content = new Uint8Array(exports.memory.buffer.slice(start, end));
56
- const r = new TextDecoder().decode(content);
57
-
58
- exports.free(start, capacity);
59
-
60
- return r;
61
- }
package/src/wasm.d.ts DELETED
@@ -1,6 +0,0 @@
1
- declare module "*.wasm?init" {
2
- const initWasm: (
3
- options?: WebAssembly.Imports
4
- ) => Promise<WebAssembly.Instance>;
5
- export default initWasm;
6
- }
@@ -1,21 +0,0 @@
1
- import { compressPacked, decompressPacked } from "./smol-string-packed.js";
2
-
3
- export type Message = {
4
- command: string;
5
- id: number;
6
- data: string;
7
- };
8
-
9
- self.onmessage = function (e: { data: Message }) {
10
- const { command, id, data } = e.data;
11
- switch (command) {
12
- case "decompress": {
13
- self.postMessage({ id, data: decompressPacked(data) });
14
- break;
15
- }
16
- case "compress": {
17
- self.postMessage({ id, data: compressPacked(data) });
18
- break;
19
- }
20
- }
21
- };
package/src/worker.ts DELETED
@@ -1,21 +0,0 @@
1
- import { compress, decompress } from "./smol-string.js";
2
-
3
- export type Message = {
4
- command: string;
5
- id: number;
6
- data: string;
7
- };
8
-
9
- self.onmessage = function (e: { data: Message }) {
10
- const { command, id, data } = e.data;
11
- switch (command) {
12
- case "decompress": {
13
- self.postMessage({ id, data: decompress(data) });
14
- break;
15
- }
16
- case "compress": {
17
- self.postMessage({ id, data: compress(data) });
18
- break;
19
- }
20
- }
21
- };
package/tsconfig.json DELETED
@@ -1,23 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "useDefineForClassFields": true,
5
- "module": "ESNext",
6
- "lib": ["ESNext", "DOM", "DOM.Iterable"],
7
- "skipLibCheck": true,
8
-
9
- /* Bundler mode */
10
- "moduleResolution": "bundler",
11
- "allowImportingTsExtensions": true,
12
- "resolveJsonModule": true,
13
- "isolatedModules": true,
14
- "noEmit": true,
15
-
16
- /* Linting */
17
- "strict": true,
18
- "noUnusedLocals": true,
19
- "noUnusedParameters": true,
20
- "noFallthroughCasesInSwitch": true
21
- },
22
- "include": ["src"]
23
- }
package/vite.config.ts DELETED
@@ -1,45 +0,0 @@
1
- /// <reference types="vitest" />
2
- import { defineConfig } from "vite";
3
- import dts from "vite-plugin-dts";
4
- import pkg from "./package.json" assert { type: "json" };
5
-
6
- import topLevelAwait from "vite-plugin-top-level-await";
7
-
8
- export default defineConfig({
9
- build: {
10
- lib: {
11
- entry: {
12
- "smol-string": "./src/smol-string.ts",
13
- "smol-string-packed": "./src/smol-string-packed.ts",
14
- "smol-string-worker": "./src/smol-string-worker.ts",
15
- "smol-string-worker-packed":
16
- "./src/smol-string-worker-packed.ts",
17
- },
18
- formats: ["es"],
19
- },
20
- rollupOptions: {
21
- external: [
22
- ...Object.keys(pkg["dependencies"] ?? {}), // don't bundle dependencies
23
- /^node:.*/, // don't bundle built-in Node.js modules (use protocol imports!)
24
- ],
25
- },
26
- target: "esnext",
27
- },
28
- worker: {
29
- format: "es",
30
- plugins() {
31
- return [
32
- topLevelAwait({
33
- // The export name of top-level await promise for each chunk module
34
- promiseExportName: "__tla",
35
- // The function to generate import names of top-level await promise in each chunk module
36
- promiseImportName: (i) => `__tla_${i}`,
37
- }),
38
- ];
39
- },
40
- },
41
- plugins: [
42
- dts(), // emit TS declaration files
43
- ],
44
- test: {},
45
- });