@schematichq/schematic-components 0.4.7 → 0.4.9
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.
- package/dist/schematic-components.cjs.js +445 -498
- package/dist/schematic-components.d.ts +7 -2
- package/dist/schematic-components.esm.js +506 -556
- package/package.json +7 -7
|
@@ -2124,7 +2124,7 @@ __export(index_exports, {
|
|
|
2124
2124
|
module.exports = __toCommonJS(index_exports);
|
|
2125
2125
|
|
|
2126
2126
|
// src/components/elements/included-features/IncludedFeatures.tsx
|
|
2127
|
-
var
|
|
2127
|
+
var import_react32 = require("react");
|
|
2128
2128
|
|
|
2129
2129
|
// node_modules/react-i18next/dist/es/Trans.js
|
|
2130
2130
|
var import_react3 = require("react");
|
|
@@ -3783,11 +3783,11 @@ function useAvailablePlans(activePeriod) {
|
|
|
3783
3783
|
const getActivePlans = (0, import_react10.useCallback)(
|
|
3784
3784
|
(plans) => {
|
|
3785
3785
|
const customPlanExist = plans.some((plan) => plan.custom);
|
|
3786
|
-
|
|
3786
|
+
const plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
|
|
3787
3787
|
(plan) => activePeriod === "month" && plan.monthlyPrice || activePeriod === "year" && plan.yearlyPrice
|
|
3788
3788
|
);
|
|
3789
3789
|
if (!customPlanExist) {
|
|
3790
|
-
plansWithSelected
|
|
3790
|
+
plansWithSelected.sort((a2, b2) => {
|
|
3791
3791
|
if (activePeriod === "year") {
|
|
3792
3792
|
return (a2.yearlyPrice?.price ?? 0) - (b2.yearlyPrice?.price ?? 0);
|
|
3793
3793
|
}
|
|
@@ -12081,7 +12081,7 @@ var GlobalStyle = ft`;
|
|
|
12081
12081
|
|
|
12082
12082
|
@font-face {
|
|
12083
12083
|
font-family: "icons";
|
|
12084
|
-
src: url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI97ks3AAABjAAAAGBjbWFw/60YPQAAA7QAAAeQZ2x5ZlNbo6MAAAwsAABUyGhlYWRYiZ/xAAAA4AAAADZoaGVhAhsBbQAAALwAAAAkaG10eIRsAAAAAAHsAAAByGxvY2HV8MBqAAALRAAAAOZtYXhwAY0BZAAAARgAAAAgbmFtZRTbwvgAAGD0AAAB8nBvc3RX0WNFAABi6AAABPsAAQAAAPr/zgAAASwAAAAAAR8AAQAAAAAAAAAAAAAAAAAAAHIAAQAAAAEAALTHnmBfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsIAAAP/zAR8A1QAAAAgAAgAAAAAAAAABAAAAcgFYABEAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKQGQAAUAAAC+ANIAAAAqAL4A0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwPEB8XEA+v/OABsBFQAyAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAAAAABQAAAAMAAAAsAAAABAAAAjQAAQAAAAABLgADAAEAAAAsAAMACgAAAjQABAECAAAABAAEAAEAAPFx//8AAPEB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAABVwAAAAAAAAAcQAA8QEAAPEBAAAAAQAA8QIAAPECAAAAAgAA8QMAAPEDAAAAAwAA8QQAAPEEAAAABAAA8QUAAPEFAAAABQAA8QYAAPEGAAAABgAA8QcAAPEHAAAABwAA8QgAAPEIAAAACAAA8QkAAPEJAAAACQAA8QoAAPEKAAAACgAA8QsAAPELAAAACwAA8QwAAPEMAAAADAAA8Q0AAPENAAAADQAA8Q4AAPEOAAAADgAA8Q8AAPEPAAAADwAA8RAAAPEQAAAAEAAA8REAAPERAAAAEQAA8RIAAPESAAAAEgAA8RMAAPETAAAAEwAA8RQAAPEUAAAAFAAA8RUAAPEVAAAAFQAA8RYAAPEWAAAAFgAA8RcAAPEXAAAAFwAA8RgAAPEYAAAAGAAA8RkAAPEZAAAAGQAA8RoAAPEaAAAAGgAA8RsAAPEbAAAAGwAA8RwAAPEcAAAAHAAA8R0AAPEdAAAAHQAA8R4AAPEeAAAAHgAA8R8AAPEfAAAAHwAA8SAAAPEgAAAAIAAA8SEAAPEhAAAAIQAA8SIAAPEiAAAAIgAA8SMAAPEjAAAAIwAA8SQAAPEkAAAAJAAA8SUAAPElAAAAJQAA8SYAAPEmAAAAJgAA8ScAAPEnAAAAJwAA8SgAAPEoAAAAKAAA8SkAAPEpAAAAKQAA8SoAAPEqAAAAKgAA8SsAAPErAAAAKwAA8SwAAPEsAAAALAAA8S0AAPEtAAAALQAA8S4AAPEuAAAALgAA8S8AAPEvAAAALwAA8TAAAPEwAAAAMAAA8TEAAPExAAAAMQAA8TIAAPEyAAAAMgAA8TMAAPEzAAAAMwAA8TQAAPE0AAAANAAA8TUAAPE1AAAANQAA8TYAAPE2AAAANgAA8TcAAPE3AAAANwAA8TgAAPE4AAAAOAAA8TkAAPE5AAAAOQAA8ToAAPE6AAAAOgAA8TsAAPE7AAAAOwAA8TwAAPE8AAAAPAAA8T0AAPE9AAAAPQAA8T4AAPE+AAAAPgAA8T8AAPE/AAAAPwAA8UAAAPFAAAAAQAAA8UEAAPFBAAAAQQAA8UIAAPFCAAAAQgAA8UMAAPFDAAAAQwAA8UQAAPFEAAAARAAA8UUAAPFFAAAARQAA8UYAAPFGAAAARgAA8UcAAPFHAAAARwAA8UgAAPFIAAAASAAA8UkAAPFJAAAASQAA8UoAAPFKAAAASgAA8UsAAPFLAAAASwAA8UwAAPFMAAAATAAA8U0AAPFNAAAATQAA8U4AAPFOAAAATgAA8U8AAPFPAAAATwAA8VAAAPFQAAAAUAAA8VEAAPFRAAAAUQAA8VIAAPFSAAAAUgAA8VMAAPFTAAAAUwAA8VQAAPFUAAAAVAAA8VUAAPFVAAAAVQAA8VYAAPFWAAAAVgAA8VcAAPFXAAAAVwAA8VgAAPFYAAAAWAAA8VkAAPFZAAAAWQAA8VoAAPFaAAAAWgAA8VsAAPFbAAAAWwAA8VwAAPFcAAAAXAAA8V0AAPFdAAAAXQAA8V4AAPFeAAAAXgAA8V8AAPFfAAAAXwAA8WAAAPFgAAAAYAAA8WEAAPFhAAAAYQAA8WIAAPFiAAAAYgAA8WMAAPFjAAAAYwAA8WQAAPFkAAAAZAAA8WUAAPFlAAAAZQAA8WYAAPFmAAAAZgAA8WcAAPFnAAAAZwAA8WgAAPFoAAAAaAAA8WkAAPFpAAAAaQAA8WoAAPFqAAAAagAA8WsAAPFrAAAAawAA8WwAAPFsAAAAbAAA8W0AAPFtAAAAbQAA8W4AAPFuAAAAbgAA8W8AAPFvAAAAbwAA8XAAAPFwAAAAcAAA8XEAAPFxAAAAcQAAAAAAiAGKAy4D3AROBHoEoATGBOwFFAVMBbYGUgawBwoHOAdeB4QH6ggiCJAIyAjuCQ4JLglOCW4KuAsoC3oLugvqDEYMsg0sDhAOeA/OEAgQSBCQERgRcBGQEfQSLBKiEs4S+hOIFBYUTBSoFOIVLhV+FeIWIhZkFr4XEheUF8QYEBh0GOQZThmYGeYaShqaGtIbIhuEG/YcVB00HWAdsB4AHlQeoB7aHygfih++H/ggjiFIIYgh+CJ4IuAjTiOkI/wkOCRmJIok+iVuJaYl+CZMJrAnLCd0J9QoNiiAKU4p+ipkAAAABQAAAAAA9gDEAA8AHwA/AEwAXgAANyIGBwYeATY3PgEzMjY0JjMiBhQWMzIWFx4BPgEnLgEHIg4BFRQXBwYUFjI/ARYzMjY3FxYyNiYvAT4BNTQuAQcyHgEUDgEiLgE0PgEXIgYdASMiBhQWOwEyNj0BNCZwFSAEAQUHBwECFg4EBQVIBAYGBA4WAgEHBwUBBCE6FygXExADBggDDxgeDxsLEAMIBgECEAkKGCcXEh8SEh8kHxISHxIEBhwEBgYEJgQFBcMaEwQHAQQEDREGCAUFCAYRDQQEAQcEExoTFycYHRgQAwgFAxATCgkRAgYHAxALHA4YJxcTEh4lHhISHiUeEhMFBB0GBwYGAycEBQAEAAAAAADiALAAMQBQALUA0wAANzQ7ATEWFA8BBgcjBgcjBgcjBiM5ASInMyYnMyYnMyYnMSYvATczMRYXMxYzMjcxNj8BFh0BMQYHNQYHMQYmNzY3NTYvAjEHIyY2NzMxMhcnFBcxFhcxHwEHLwEGBzEGBzEGKwEiJzEmJzEmJzEmPQE5ATQ3MTY3IzY3MTY3MTY/ATM1NCcxJisBMQcxBgcxBgcxBgcnNDcxNjcVNjcxNjcxNjsBOQEyFyMWFzEWFzEWFzEWFQcwMRQXMRYzMjMxNjcxNjU5ATUiBzMGBzMOAR0BMc8BAQECAwQEAQUGAQcIAQkLCwoBCgkBCQcBBwUEAwEBAgsNAhUZDAsSEBEBAQICBQIBAQIBAgEBCAkDAQkECgUBIgIBAQQDEwcJAwUFBgYGAgUFBgQFAgMCAgUBBQUEBgUGCgkBBAYBBQIDAgIDAhkCAgQEBQYHCAgBCAgBBgUEAwMBAToGBAQCAggCAQUFAQUFAQUGMwEBAgIDAwMDAwMCAgMCBAQFBAUDBAECBwcKAgQICQECAwQFAQYFAQECBAUBBgIBAQEBBAECJQMCAwIEBBIGCQUDBAECAQIEBAUGBwEHBgUFBAIDAgIBAgwEAwQBAQECAwQEAgUFBQUBBQMEAgICAgMDBAMEAwQzBwQCAwgEBA4BAQICCAUBAAARAAAAAAEUALUAEwAWACIANQA+AEIAYQBkAHIAewB+AIQAkACiAKsAxwFXAAA3BycjFScjBzM3MxczNRczNxUzNQcjNxcjNTMVIxUzFSMVMzc0JisBFTM1MzIWHQEzNTQmJzYnBisBNTMyFhQ3IxUzNxUnIxUnIwcjIiY0NjsBNSMiBhQWOwE3MxczNRczNQcjNwcjBycjFTM3FzM1MzI0ByM1MzUjNTMfASc3FyM1MzIUNzMVIxUzFSMVMxUjJzY0JisBFTM1MzIWHQEzNTQmJyIrATUzMhYUFxYVFCsBNTMyNjQmKwEuATQ2OwEVIyIGFBczMjc2OwE1NCYrASIGHQE3Mxc1Mxc3MzIXNTMVNjsBFzUzFzUzFSMnFSMnIwcjIicVIzU0KwEVIzUHIycVIycjByMVFBY7ATI2PQEVBisBNQYrATU0KwEVIzUGKwEVIycHIzUzFzczMhc1MzIXNTMVNjsBFTY7ARUjIgYUFjsBMhYUBisBFTMyNzE1JyYjJyI0M1kICQwMCg0IAg8DDgoGCwc1CgVXGBgREBARIQYGEQgHBAIHAgIFCQEDCAgDAhMHB0wMCwwLCQQDAwMEBwcHCAcHCQIPAw4NCisJBT0WCQkcHAkJDQkMOBEPDxIHFAsLEAkJBSsXEBAQEBcJBQYGEQgHBAIHAgYBAwgIAwI+AgsODgICAgIBBwYEBg4NAgIBBwYOAQINCAXgBQgJEgIWBAVEBQMTBAgbAhQDExMEGQIGAw0HBB8BAToDDAIYAgYDDAgF4AUIBAYTAwY5AgETAwYDFwUGJSYFBhkIAhcGAyMCBhMEBQ0OBQUHBgIBAgEDDQ0HAwECBgYCAY0UFBwcHgcHGBgYGB4RDBkeBgYGBhAFAx4LAwQEBgQDAQICAQcBBAseHhUVHBwXAwoEBgcQBwcHFxceEQwuCgoeCQkKFBgGBgUIDQwMCgcHDgcFBgYGDQILBB4KAgQEBQQEBAYBBAMCBAkGAgIBAQMJBgcBAwEEAVQGCAgGKBQFBQsLAwMDAwUFBQUqBgYHBwMDCgELBQUFBQcHSAYICAYeCAIDAwoBCwwCCgcHKgYGAgICAgICAgIGBQoDAQMBBwQLAQIBBAAAAAAIAAAAAAEfALwABwAQACEAKwBBAFAAWACBAAA3MzIWFAYrARcVFAYiJjU0PwEjIgYdARQWOwE+AT0BNCYjBzMyFhQGKwEVIzcyFh0BIzUOASImNTQzNzU0IgcjNDY7ARc3MwcOASMnNTMyPwEnFgYjJjc+AQcwMTY7ATIXFhcxBhUUFxYXMQYHIw4BJicxJiIGIyIuATc+ATIXMRYykQoFBwcFCjoFCAQISeoICwsI6ggLCwiDFQgKCggMCTsICQgCBwoIEAoPAQgKGgkKCwgPAgcHAwIGAgGBAQwIAQYDBwgHBAEDBAYECgUDBAIEAQMGBwUEBwkCBw8FBgMKCgYEA3sFCwUHAwQFAwIFAV4MCIgIDAELCIgICzkKDwoSJwcFGwcEAwYFCwEDBwYFByAgKQcGAQYGAkkIDQgGAwQaAwICBQYKBwYCAgYGBQYBAQIDExkJBQYCAgAAAAACAAAAAADhAK0AKgBVAAA3NCYOAR0BFAYrATU0LgEGHQEjNTQuAQYdASMiPQE0LgEGHQEUFjsBMjY1Jzc2Mh8BFjI/ARUUHgE2PQE0JisBIg4BFjsBBwYiLwExLgEjIg8BBhQWMuEGBgMBAhsDBgYeAwYGGwMDBgYLB3IICokbAQQBFwYQBScEBgUKCCIDBAEEBBomAQQCFgMHBAgGGwIEB0EEBAEEAxQBARYDBAEEBBYWAwQBBAQWAhQDBAEEBBQHCgoHOxsBARcGBicbAwQBBQMjBwoEBgUmAgIWAwMFGwIGBQABAAAAAAD6ALQAGwAANxY7AQcXNycHFyMiLgE0PgE7ATUjIg4CFRQWSwwOZygRRUURKGcHDAcHDAcKCgsSDggOVAcnEUVEEScHDA4MBxkIDhILDhcAAAAAAQAAAAAA7AC6ABcAADcGIi8BJjQ2Mh8BNTQ2MhYdATc2MhYUB58ECgRJAwcKBDMICgc0BAoHAxIDA0kECgcDNHQFBwcFdDQDBwoEAAEAAAAAAOwAugAXAAA3JjQ/ATYyFhQPATMyFhQGKwEXFhQGIidEAwNJBAoIBDR0BQcHBXQ0BAgKBFsECgRJAwcKBDMICgc0BAoHAwABAAAAAADsALoAFwAANxYUDwEGIiY0PwEjIiY0NjsBJyY0NjIX6AMDSQQKCAQ0dAUHBwV0NAQICgRtBAoESQMHCgQ0BwoIMwQKBwMAAQAAAAAA7AC6ABcAADc2Mh8BFhQGIi8BFRQGIiY9AQcGLgE0N40ECgRJAwcKBDQHCggzBAoHA7YDA0kECgcDNHQFBwcFdDQEAQcKBAAAAAABAAAAAAD6AJwAJQAANyIGFBY7AQcGIicmIg8BBhQWMj8BNjIXFjI/ARUUFjI2PQE0JiPEBAUFBBk2BxQHDCIMFgMFBwMWBxQHDCIMNgUHBQwInAYHBTcHBwwMGAIHBgMXCAgMDDgaBAUFBCMJDAAAAwAAAAAA9gCxABUAKwBIAAA3IgcGBwYHBh8BFhcWOwEyNj0BNCYjBzMyFh0BFAYrASInJi8BJjQ/ATY3NhciBhQfAQcGFBYyPwEXFjI2NC8BNzY0JiIPAScmgwsKBQMhBhAQJwIGCQxMEBYWEExMCAsLCEwGBQMBJgQEJwEDBQ8EBgMMDAMGCAIMDQIJBQMMDAMFCQINDAKwBgMEJAcUFSkEAwcWEEwQFhMLCEwICwMCAikFBwQsAQIDHAYIAwwMAwgGAwwMAwYIAwwMAwgGAwwMAwAFAAAAAADuAL0AOwBLAFcAZwB3AAA3NCcmJyImPQE0NjsBMjY9ATQvASYPAQYdARQWOwEyFh0BFAYjDgEdARQGIgYdAQYWOwEyNj0BNiYiJjUnFAYrASImPQE0NjsBMhYVJzQ/ATYfARYUKwEiFzQ2OwEyFh0BFAYrASImNQciJj0BNDY7ATIWHQEUBiPjBwQFAwMDAwkDBARGAwNGBAQDCQMDAwMHCQMEAwEEA6IDAwEEBAMsBAIKAgQEAgoCBFgCMgMDMgIDaAMWBAIKAgQEAgoCBA8DBAQDYAMEBAMzCQYEAgQDFAIEBAIdBAIpAQEpAgQdAgQEAhQDBAIMBwsCBAMCCgMEBAMKAgMEAicDBAQDFAIEBAIfAQEdAgIdAQQcAgQEAhQDBAQDLQQDAwMEBAMDAwQAAAADAAAAAADuAMUAHgAqAD0AADc+ATIeAhUUFxYfAR4BDgErASIuATY/ATY3NjU0NgczJyY1NCYiBhUUBxc2HgIyPgIeAQcOASImJyY2agkXGBcRCgsEBAIDAgIFA5wDBQICAwIEBAsKBnQCDhgkGA4kBAcDBAQEAwcHAgIDDQ4NAwICsgkJCRIWDCQVBwQCAgYGBAQGBgICBAcVJAwWZwIaKREZGREpGiYCAgUCAgUCBAcEBgcHBgQHAAAAAAIAAAAAAOMAxAAwAEAAADciBg8BIyIGHQEUFjsBBwYeATY/ATMVFBYyNj0BMxceAT4BLwEzMjY9ATQmKwEnLgEHMzIWHQEUBisBIiY9ATQ2lgMFAQMkCxERCwEKAQQIBwELEQYIBhELAQcIBAEKAQsREQskAwEFM2AEBQUEYAQFBcMDBAwRC0MMESMEBwIEBCgcBAYGBBwoBAQCBwQjEQxDCxEMBAMmBQRDBAYGBEMEBQAAAAIAAAAAAOMAxAAPABwAADciBh0BFBY/ARcWNj0BNCMHMzIWHQEnJg8BNTQ2cBIUCAU/PwQJJkxMCwg1BAQ1CcMUEo8FBQIbGwIFBY8mEwgLgBcBAReACgkAAAAAAgAAAAAA7gCYAA4AFwAANyInIyImNDY7ATYyFhQGJzI2NCYiBhQWuhYPNw8QEA83ECoeHhUQFhYgFhYxDxUdFRAeKh4NFiAWFiAWAAIAAAAAAO4AmAAOABcAADcyFzMyFhQGKwEGIiY0NhciBhQWMjY0JnIWDzcPEBAPNxAqHh4VEBYWIBYWlw8VHRUQHioeDRYgFhYgFgAEAAAAAADZAMQAHAAvAD0ARgAANyIOARUUFh8BHgEdARQWMjY9ATQ2PwE+ATU0LgEHMhYVFAYPAQYHIyYvAS4BNTQ2FyIGFRQWMjY0NjI2NCYHMjMVFAYiJjWWEh8SCAkDBQQWIBYEBQMJCBIfEhQcBgYECgIoAgoEBgYcFAwRBggFBggGBhcTEwsQC8MSHhIOEwsDBggGExAWFhATBggGAwsTDhIeEhMcEwoNCAQLDAwLBAgNChMcExELBAYGCAUGCAVpCQgLCwgAAAADAAAAAAD7ALAADAAZACcAADc0NjsBMhYUBisBIiYVNDY7ATIWFAYrASImFTQ2OwEyFhQGKwEiJjUyBwWwBQcHBa8GBwcFsAUHBwWvBgcHBbAFBwcFrwYHowUHBwsHBzkFCAgKBwc5BQcHCwcHBQAAAgAAAAAA7gDAAA8ATQAANyMiBh0BBhY7ATI2PQE2JgcGIicxJiMiBhQWHwEWFxYUBg8BBisBIiY1NyYnJj8BNjIXFjMyNjQmLwEmJyY0Nj8BNjsBMhYVBxYXFhQH3pAHCAEJB5AHCAEJMQECAQkMBQcGBwEMBgcQDgEBAgwBAgILBwMDBgECAQkNBggGCAILBQYQDAEBAgwBAgIJBwEBvwkGmAYJCQaYBglFAQEIBAgEAgEEBQYVDgEIAwMBCQMHAwIHAQEJBQgEAwEEBAcVDAEIAwMBCQMHAQIBAAIAAAAAAPsAyAAMACIAADMyPgE0LgEiDgEUHgE3FhQPAQ4BJi8BJjQ/ATYyHwE3NjIXlhsuGxsuNi4bGy5XAwNABgYGBiADAwYCBwMaOgIIAhsuNi4bGy42LhuKAgcDQAYEBAYhAgcCBwICGzoDAwABAAAAAAD0AKoAFQAANxYUDwEOASYvASY0PwE2Mh8BNzYyF/AEBF8KCQgKMAQECQQKBCdXAwsEnQQKBF8KBQUKMAQKBAkEBCdWBAQAAQAAAAAA7gCWABEAADc2Mh8BNzYyFhQPAQYiLwEmNEIECgRCQgQKBwNLBAoESwOSBARCQgQHCwNLBARLAwsAAAEAAAAAAMgAvAARAAA3FhQPARcWFAYiLwEmND8BNjLEBARCQgQHCwNLBARLAwu4BAoEQkIECgcDSwQKBEsDAAABAAAAAADIALwAEQAANyY0PwEnJjQ2Mh8BFhQPAQYiaAQEQkIEBwsDSwQESwMLEAQKBEJCBAoHA0sECgRLAwAAAQAAAAAA7gCWABEAADcGIi8BBwYiJjQ/ATYyHwEWFOoECgRCQgQKBwNLBAoESwM2BARCQgQHCwNLBARLAwsAAAIAAAAAAO4AvABvAN8AAD8BPgEuAQ8BJzc+AS4BDwEnNzY0JiIPAScmIg8BJy4BDgEfAQcnLgEOAR8BBycmIgYUHwEHBhQfAQcOAR4BPwEXBw4BHgE/ARcHBhQWMj8BFxYyPwEXHgE+AS8BNxceAT4BLwE3FxYyNjQvATc2NCcPAScuAQ4BHwEHJyYiBhQfAQcnLgEOAR8BBwYiLwE3PgEuAQ8BJzc2NCYiDwEnNzY0LgEPAScmND8BFx4BNjQvATcXFjI2NC8BNxcWMj4BLwE3NjIfAQcOARYyPwEXBwYUFjI/ARcHDgEeAT8BFxYU3g0CAQMGAg0KDAIBAwUCDgoNAgMFAg4NBg4GCQsBBQQBAgsKCgIFBAECCwoKAgUEAQsNBQUKDQIBAwYCDQoMAgEDBQIOCg0CAwUCDg0GDgYJCwEFBAECCwoKAgUEAQILCgoCBQQBCw0FBQkMBgIFBAECBwoGAgUEAQcKBgEFBAECBwsCBAIMBwIBAwUCCQoIAgMFAgkKCAIDBQIJCgICDAYCBQQBBwoGAQYEAQcJBwEFBAECBwsCBAIMBwIBAwUCCQoIAgMFAgkKCAIBBAUCCQoCegsBBQQBAgsKCgIFBAECCwoKAgUEAQsNBQUKDQIBAwYCDQoMAgEDBQIOCg0CAwUCDg0GDgYJCwEFBAECCwoKAgUEAQILCgoCBQQBCw0FBQoNAgEDBgINCgwCAQMFAg4KDQIDBQIODQYOBhEMBwIBAwUCCQoIAgMFAgkKCAIBBAUCCQoCAgwGAgUEAQIHCgYCBQQBBwoGAQUEAQIHCwIEAgwHAgEDBQIJCggCAwUCCQoIAgMFAgkKAgIMBgIFBAEHCgYBBgQBBwkHAQUEAQIHCwIEAAMAAAAAAPEAxAA3AEkAWQAANyIGHQEjIgYHJyIGFBY7ARUjIgYUFjsBFSMiBhQWOwEVIyIGFBY7ARQWOwEyNj0BMzI2PQE0JiMVMhYdARQGKwE1NCYrATU0NjMHMzIWHQEUBisBIiY9ATQ2kQwQCgcQBAsEBQUECgoEBQUECgoEBQUECgoEBQUEChAMQwwQCgwQEAwEBQUEChAMJgUEJkMEBQUEQwQFBcQRDAoKCgEGCAUKBQgGCQYIBQoFCAYMEREMChELYAwRFAUEXwQGQgwRCgQFJgYEXwQFBQRfBAYAAwAAAAAA1ACyAAgAGgA1AAA3MjY0JiIGFBYXFhQHBiInJjQ/ATYXFjI3Nhc3FhQPAQYnJiMiBhUUFxYPAQYiJyY1ND4BMzKmCg4OFA4ONgECEy8UAgIRAwMKFQkDAxECARIDAwkLEhkEAgISAgQBDRUjFRhMDhQODhQOIQIEAQ0NAQQCEgICBAQCAmcBBAISAgIEGRIKCgMDEQICFBcVIxUAAAACAAAAAADuALwADAAoAAA3Ig4BFB4BPgIuAhcWFAYiLwEHBiImND8BJyY0NjIfATc2MhYUDwGWGCgYGCgwKBgBFygKAwYIAxQUAwgGAxQUAwYIAxQUAwgGAxS8GCgwKBgBFygwKBhsAwgGAxQUAwYIAxQUAwgGAxQUAwYIAxQAAAEAAAAAAOEArwAcAAA3NjIfATc2MhYUDwEXFhQGIi8BBwYiJjQ/AScmNE8DCwM2NgMLBwQ1NQQHCwM2NgMLBwQ1NQSrBAQ1NQQHCwM2NgMLBwQ1NQQHCwM2NgMLAAAAAAIAAAAAAPYAsQA3AEIAADciBgcOARUUFjsBMjY0JisBIiY1NDY3Njc+ATIWHQEUFhceARQGKwEiBhQWOwEyNjU0Jic1NC4BDwEzFRQWMjY9ATOWFyUFDhAeFAcEBQUEBwwTDAoGAQIbJR0EAwkMEAwKBAUFBAoTHBAMEh8SHRMGCAYTsB0YBRkQFSAFCAYUDgsQAwIGExccEwsDBQECDRIOBggFGRINFQUEER8SOR05BAUFBDkAAAACAAAAAADsALoAIQBNAAA3IgYdAQ4BFRQWMzI3DwEGFjsBMjYvARYzMjY1NCYnNTQmBzIWFQcGFjczMhYUBiMiLgIGFQYXIzY9ATQmBgcGIyImNDY7ARY2LwE0NpYUHBAWHBQDBAIEAwYFOgUFAgYDBBQcFhAcFAwRAgEGBQEMEREMAwYFCAYBBh4FBggDBAcMEREMAQUGAQIRuhwUAQMaEhMcAQULBQkKBBABHBMSGgMBFBwTEQwHBQgBERcRAwYBBgQNEA4LBAQGAQMGERcRAQgFBwwRAAAGAAAAAADuALwAMAA5AEIASwBPAFkAADcjNTMyNjQmIyIGBwYdASM1NCYiBwYUFjsBFSMiBgcGFRQWMjY9ATMVFBcWFz4BNCYnNDYyFhQGKwEHFAYiJjQ2OwEnIiY0NjIWHQEXIzUzFyImPQEzMhYUBsgLCw8XFREJDwYHGhYgCwkVEAsLCRAFBxUfFhoJCxEPFxcaBgoGBgULTgYKBgYFCwsFBgYKBjQaGiUFBgsFBgZXGhUfFgcHCg0LCxAWDQsdFhoIBwoMDxcWEAsLDgoNAQEVIBU/BQYGCgZZBQYGCgZOBgoGBgULNBpKBgULBgoGAAAACwAAAAAA7gCqABAAIgAvAEAASABVAGYAggCGAJUAoQAANycmIgYUHwEHBhQWMj8BNjQnJiIPAQYUHwEWMjY0LwE3NjQ3JgYPAQYeATY/ATYmFzc2NC8BJiIGFB8BBwYUFjInFjI/ATY0JzEnJiIGFB8BBzEGFBcnNjQmIg8BBhQfARYyNjQvARc4ATEnNzY0JiIHOAExBzgBMQYUFzgBMRcWMjc1FhQHNzE2LgEGDwE5ARQeATY3Fw4BLgE/AT4BHgEH6iEDCQYDGRkDBgkDIQR8AwkDIQQEIQMJBgMZGQM1BAkBIQEECAgCIQEEGyEEBCEDCQYDGRkDBgkKAgcCIQICIQIGBQIbGwICSgMGCQMhBAQhAwkGAxkXGxsCBAcCIQICIQIHAgICPgEDBgYBIQIGBgEDAggIBAEhAQkIBAFrIAMGCQMYGQMJBgMgAwkjAwMgAwkDIAMGCQMZGAMJIAIEBHUECAMEA3UFCGsgAwkDIAMGCQMYGQMJBgUCAiADBgIgAgQHAhobAgYDPgMJBgMgAwkDIAMGCQMZGxsaAwYEAiACBgMgAgILAgYDXQMGAgIDdQMFAgIDAgMEAwgEdQQEAwgFAAAAAwAAAAAA9gDEADkARABKAAA3Ig8BDgEHIyIGHQEUFhcjIgYUFjsBMjY0JisBPgE1MjY0JisBPgE/ATY0JiIPAQ4BByM+AT8BNjQmBzIzFRQGKwEiJjU3MhYUBiN5BAIGCAYBHgQFEg8OBAYGBHIEBgYEDg8SEBYWEC8BAwQIAwYIAwYHBwEcAQMDCAMFNDk5HRQQFB2FCAsLCMMCBgYNCwUEQhIfCQYIBQUIBgkfERYgFgYGAwcDCAUCBgUOCwYGAwcDCAU5OBQdHRQ4CxALAAQAAP/zAQcA1QBoAPgBAQEKAAA3IgYdARQGDwEGJi8BKwEPAh8BHgEOAQcjIgYUFjsBMh4BBg8BHQEfAj8BPgEeARcVFBYyNj0BND4BFh8BOwE/Ai8BLgE+ATsBMjY0JisBIiYvASY2PwE9AS8CDwEOAS4BPQE0Jic+ARYdARQWFzE6ATU3OAExPgEyHgIUBgc4ATEHFAYXFRcyOwEyFhQGKwEiBgcxHAEzFx4BFAYHJxcOASImLwEiJgcxIgYdARQGIiY9ATQmIycqARUHOAExDgEiLgI0Njc4ATE3NDYnMTQmKwEiJjQ2OwEyNjU3PAEjJy4BND4CMhYfATIWNzM3ND0BNBciBhQWMjY0Jgc0NjIWFAYiJpYDBAkHAwYPBgMDAgMBAQECBgIGDQgBAwQEAwIIDQYDBQMCAgMDAwYPDwkBBAYECQ4QBgMDAgMBAQECBgIGDQgBAwQEAwIIDQMBAgMFAwICAwMDBg8PCQQYCRgSAQEBAwEECwwLCAUFBAEBAQEBAQIMEhIMAQECAQEBBAQEBAgIBQoMCwQBAQIBAQIRGREBAQEBAwEECwwLCAUFBAEBAQIBAgwREQwBAQIBAQEEBAQJCgwLBAEBAgECAR4HCQkOCQkuFyAXFyAXvgQDAggNAwECAwUDAgIDAwMGDw8JAQQGBAkOEAYDAwIDAQEBAgYCBg0IAQMEBAMCCA0GAwUDAgIDAwMGDw8JBAYECQcDBg8GAwMCAwEBAQIGAgYNCAEDBA4IARIMAQECAQEBBAQECQoMCwQBAQIBAgESGBIBAQEDAQQLDAsECAgEBQUEAQEBAgECDBERDAEBAgEBAQQEBAkKDAsEAQECAQECERkRAQEBAQMBBAsMCwgFBQQBAQEBAQECDE8JDgkJDgkQEBcXIBcXAAAAAAIAAAAAANUAyAARACMAADc2Mh8BNzYyFhQPAQYiLwEmNDcGIi8BBwYiJjQ/ATYyHwEWFFsECgQpKQQKBwMyBAoEMgN5BAoEKSkECgcDMgQKBDIDRwQEKSkEBwsDMgQEMgMLPQQEKSkEBwsDMgQEMgMLAAAAAQAAAAAA1QDIACoAADcGIi8BFTc2MhYUDwEGIi8BJjQ2Mh8BNQcGIiY0PwE1Mzc2Mh8BMxUXFhTRBAoEHBwECgcDMgQKBDIDBwoEHR0ECgcDLwECBAoEAgIuA4EEBBxyHAQHCwMyBAQyAwsHBBxyHAQHCwMvAQIEBAIBLwMLAAAEAAAAAAD2AMQADAAZACcAKwAANyIOARQeATI+ATQuAQcyHgEUDgEiLgE0PgEXBwYPAQYWPwE2PwE2Jg8CN5YaLBkZLDQsGRksGhUjFBQjKiMUFCM4OQQCEwIIBjkEAhMCCBILIwvDGSw0LBkZLDQsGRMUIyojFBQjKiMUHRMCBDkGCAITAgQ5BggaIwsjAAAEAAAAAAD6AMYAKwA1AFEAWwAANycmIgYUFwcGFB8BBwYUFjI/ARcWMj8BFjI2NC8BNzY0JiIPASc3NjQmIg8BFwcGIi8BJjQ/AScmIg8BJiIGFB8BFjI2NCc3NjQvATc2NCYiDwEnNzYyHwEWFAdyDAIGBAIiBwcKEAIEBgIPCgcRBiMCBgQCCg0CBAYCDRINAgQGAhkoIwIGAh0DA5sKBxEGIwIGBAI8AgYEAiIHBwoQAgQGAigoIwIGAh0DA2YMAgQGAiMGEQYKEAIFBAIPCgYGIwIEBQIKDQIGBAINEg0CBgQCFSgiAgIdAwUCeQoGBiMCBAUCPAIEBgIjBhEGChACBQQCWSgiAgIdAwUCAAMAAAAAAPoAyAAPAB8AQwAANyMiBh0BFBY7ATI2PQE0JgcUBisBIiY9ATQ2OwEyFhU3IyIGHQEUFjI2PQE0NjsBMhYdARQGKwEiBhQWOwEyNj0BNCabSQ0TEw1JDRMTAgYFSQUGBgVJBQY0SQ0TBgkGBgVJBQYGBQoEBwcECg0TE4kTDUkNExMNSQ0TaQUGBgVJBQYGBV8TDQoEBwcECgUGBgVJBQYGCQYTDUkNEwAAAgAAAAABFAC1AAkAEwAAJSMiBh0BMzU0JhcjFRQWOwEyNjUBBuAFCPoICPoIBeAFCLQIBRISBQgvZAUICAUAAAQAAAAAAOMAxAAUACUAMwBDAAA3IgYHBh0BFBceATI2NzY9ATQnLgEHMhceARQGBwYiJy4BNDY3NgcWMjcVFAYHBiInLgE1FR4BMzI3FRQGBwYiJy4BNZYbJwcDAwYoNiYIAwEGKRwZEgcHBwcSMhIHBwcHEiAVSBUHBxIyEgcHCh4RIhcHBxIyEgcHww8MBQZyBgUMDw4MBQdyBQMOEBMIAgcEBgMICAMGBAcCCC0MDB8CBgMICAMGAhoGBgwfAgcCCAgCBwIAAgAAAAAA4wDEABAAIQAANyIPAQYUHwEWMj8BNjQvASYHMh8BFhQPAQYiLwEmND8BNpYNCS4ICC4JGgkuCAguCQ0EAy4EBC4DCAMuBAQuA8MLPAocCjwLCzwKHAo8CxMEPAUPBTsEBDsFDwU8BAAAAAMAAAAAAPoAyQAMABkAVQAANyIOARQeATI+ATQuAQciLgE0PgEyHgEUDgEnIyImPgE7ATIeATsBMjUuASc1NCsBIh0BDgEeATsBMhYOASsBIi4BKwEiBhUeARcVFDsBMj0BPgE3NiaWGy4bGy42LhsbLhsWJRUVJSwlFRUlEggFBwEHBAsCBQEBDAIBDAkCDAILDgMQCwcFBwEHBAsCBQEBDAEBAQwJAgwCCQ4BARHIGy42LhsbLjYuG7QVJSwlFRUlLCUVWAgJBgQEAgkMAQsCAgsCERYOCAkGBAQBAQkMAQsCAgwBDgkMEgAAAwAAAAAA7gB3AAgAEQAaAAA3MhYUBiImNDYzMhYUBiImNDYXNCYiBhQWMjZRBwsLDwoKTQgKChAKCmALDwsLDwt3CxALCxALCxALCxALEwgLCxALCwAAAAMAAAAAAKkAvAAIABEAGwAANxQGIiY0NjIWFRQGIiY0NjIWBzI2NCYiBhQWM6kLEAsLEAsLEAsLEAsTCAsLEAsLCKkHCwsPCwtNCAoKEAoKXwoPCwsPCwAFAAAAAAETALwADwATAFAAXABoAAA3IyImPQE0NjsBMhYdARQGJzM1Ixc2NC8BJiIHBh8BIyImPQE0NjsBBwYUFjI/ATY0LwEmBgcGHwEjIgYdASMiBhQWOwEVFBY7AQcGFBYyNxQnIyImNDY7ATIWFAYHIyImNDY7ATIWFAarjAIEBAKMAgQEh35+6wEBFQIFAgQFCw8IDAwIDwsCBAUBFQICFQIFAgQFCw8OExECBAQCERMODwsCBAUBdEYCBAQCRgIEBAJGAgQEAkYCBAQYBAKMAgQEAowCBA1+gQEGAhUBAgYDCQwIRQgMCQIFBAITAgYCFQIBAgUECRMOHAQEBRsOEwkCBQQBAWgEBQQEBQQvBAUEBAUEAAAAAAYAAAAAAOwAugAYACEAOgBDAFwAZQAANyIGByMiBhQWOwEeATI2NzMyNjQmKwEuAQcyFhQGIiY0NgciBgcjIgYUFjM3HgEyNjczMjY0JisBLgEHMhYUBiImNDYXIgYHIyIGFBY7AR4BMjY3MzI2NCYrAS4BBzIWFAYiJjQ2swoPAk4EBgYETgMOEw4EFAQGBgQUBA4JBAUFCAYGNgkPAhUEBgYEFQIPEg8DTgQGBgROAw8JBAYGCAUFPgkPA04EBgYETgMPEg4EFAQGBgQUBA4JBAUFCAYGugsIBggFCQoKCQUIBggLEwYIBQUIBiYLCAYIBgEJCwsIBggGCAsTBggGBggGJwoJBQgGCAsLCAYIBQkKEwUIBgYIBQAAAwAAAAAA7gC8AA0AFgAiAAA3Ig4BHgIyPgEuAiMVIiY0NjIWFAY3FAYiJj0BNDYyFhWWGCgYARcoMCgYARcoGAUHBwoHBwcHCgcHCge8GCgwKBcXKDAoF4kHCwcHCwcyBQcHBSUGBwcGAAAABAAAAAABFwC7ABIAHwAtADcAADcuAS8BJjc2NzYWFxYXFgcGBwYnHgEyNzY3JicmBgcGNyIrASYGBwYeAT4BLgEHHgEOAS4BNzYXkyhAEgECAxQgI0okIBUEBA8iK4cQMz8lGQwSGx07HBpaAQEBDRgEBxAeHgwGEw0KBAcPDgMFCAsPASgkAQUGIhcZARgWIgYGGBkeVBwhGxMQGxITARMSDwEOCw8hCQ8ZFxAUAg0OBwgPBQkBAAMAAAAAAQEAsAAMABkAJwAANzQ2OwEyFhQGKwEiJhc0NjsBMhYUBisBIiYXNDY7ATIWFAYrASImNSwHBbwFBwcFvAUHHwcFfgUHBwV9BgcfCAU+BQgIBT4FCKMFBwcLBwc5BQgICgcHOQUHBwsHBwUAAAAAAwAAAAAA4wC2ABsAJQAzAAA3Ji8BNTMyNjQmKwEiBhQWOwEVBwYHBhY7ATI2JzY9ATMVFB8BIwc0PwEzFx4BDgErASIm4QEHIwMEBwcERgQGBgQDIwcBARQQUQ8UWgMWAwsyHAIJVAkCAQMHA1EGBzkLCCwoBgkGBgkGKCwICw8XF0IFBSoqBQUNKQQECwsDCAcECAAAAAADAAAAAADsALoAFgAuADoAADciBh0BFBY7ATI2PQE0JisBIiYnLgEjBzMyFh8BIyIGFBY7ARUUBisBIiY9ATQ2FyIGFBY7ATI2NCYjXQwRFw9gDxcGBC8GBQUGDgwmJgUGBAMlBAYGBGkMB2AHDAYqBAYGBCYEBgYEuhEMaQ8XFw9WBAYFCA4LEwUJBQYIBU0HDAwHaQQGTQUIBgYIBQAAAwAAAAAA7AC6ABYALgBLAAA3IgYdARQWOwEyNj0BNCYrASImJy4BIwczMhYfASMiBhQWOwEVFAYrASImPQE0NhciBh0BIyIGFBY7ARUUFjI2PQEzMjY0JisBNTQmXQwRFw9gDxcGBC8GBQUGDgwmJgUGBAMlBAYGBGkMB2AHDAY9BAYJBAYGBAkGCAYJBAYGBAkGuhEMaQ8XFw9WBAYFCA4LEwUJBQYIBU0HDAwHaQQGOQYECgUIBgkEBgYECQYIBQoEBgAAAAACAAAAAADsALoAFgAuAAA3IgYdARQWOwEyNj0BNCYrASImJy4BIwczMhYfASMiBhQWOwEVFAYrASImPQE0Nl0MERcPYA8XBgQvBgUFBg4MJiYFBgQDJQQGBgRpDAdgBwwGuhEMaQ8XFw9WBAYFCA4LEwUJBQYIBU0HDAwHaQQGAAMAAAAAAO4AvAAPAB8ALwAANyIGHQEUFjsBMjY3NS4BIwczMhYdARQGKwEiJj0BNDYXNDY7ATIWHQEUBisBIiY1WAsODgt9Cg4BAQ4KWDIIDAwIMggMDAMDAjICAwMCMgIDvA8KfQsODgp+Cg8rDAgyCAwMCDIIDBQCAwMCMgIDAwIAAAMAAAAAAPYAiwAtADYAPwAANyIGByMiBhQWOwEeATMyNjU0NjIWFRQWMzI2NzMyNjQmIwcuASMiBgcmIgcuAQcyFhQGIiY0NjMyFhQGIiY0NmYNFAQBBAUFBAIDFA0QFgYIBhYQDRQEAQQFBQQBBBQNChAFBxQHBRAKCAsLDwwMZwcMDA8LC4oQDAYIBgwQFhAEBgYEEBYQDAYIBgENEAgHBgYHCBMLEAsLEAsLEAsLEAsAAAcAAAAAAPYAxAAMABMAGQAfACUAKwAxAAA3Ig4BFB4BMj4BNC4BBzIWFwc+AQcGByM+ATceARcnJgc3FhcuATczDgEiJj8BDgEHNpYaLBkZLDQsGRksGgoRATgBERgMAR0CGFQRFgMdAXodAgsRFiw5AREUEUodAxYRDMMZLDQsGRksNCwZEycbARwnBxgjEiAICB8UASE1ASUXCSASGycnGwETIAgZAAQAAAAAAOwAxQAjADcAQwBTAAA3Jg8BBhYfAQcGFBcVFjI/ARY+Aic3NjQnNSYiDwEnJi8BJgceARcWHwEeAQcOASc+AScuAQcnNzIXMxYUDwEmJzc2BzYWFRQPAQYiJyMmND8BNqIFBDkEAgQbNAkJCRgJLg0bFAgKCAkJCRgJBQIDBAICCwIGBwgICwYDAQMRCgYBCgcSCBZYBAMBAwMJCQYIBDQFCAE8AwkDAQMEOgLDAQQ5AwoCDTQIGQgBCAguBgMSHQ4JCBkIAQgJBQMHCQgFGgYNCQwHCgUJBQoKAggWCgcCAwsaAwMJAwkJBwgDNgEHBQMCPAMDAwkDOgIAAAAAAgAAAAAA6wC4ABsAHwAANwcjNyMHIxUzByMVMwczNzMHMzczNSM3MzUjNwcjNzO7BTYFEgUsKgYkIgUSBTYFEgUsKgYkIgUfNgY2uCcnJxI2EicnJycSNhInbzYAAAAAAgAAAAAA7AC6ABgAMgAANyIGFRQWFx4BFzM+ATc+ATU0JiMiBgcuAQcyFhUUFjY1NDYyFhQGBw4BBzEuAScuATQ2cBQcExUUEAkDCRATFRMcFAwUBgYUDAwQCgoQGBESEw8MAwMMDxMSEbocFBAlHRoPAQEQGR0lEBQcCwgICxMRDAYFBQYMEREYIRkVDQEBDRUZIRgRAAACAAAAAAD3AMgANwBFAAA3NT4BPQE0JisBIgYdARQWFxUGByc2NTQuAQ4CHgEyNxcGFBcHJiMiBhQWMjY1NCc3HgE+AS4BByIuAjQ+AjMyFhQGyAUGCwcBBwsGBQ4LQAEHDAwJAgUKDARACQkTAgMHCQkOCgETDSAcDAYYFwYKBwUFBwoGCg8PhhcCCQUBBwsLBwEFCQIXAgkyAwIGCwQCCQwLBwMyDSANEwEKDgoKBwMCEwoBER0gFksECAkLCgcEDxYPAAAAAAQAAAAAAOwAugAPACQALQBOAAA3IgYdARQWOwEyNj0BNCYjBzMyFh0BJiMxIgYHJy4BIyIHNTQ2FyIGFBYyNjQmBzIWFxYfAR4BPwE2NzYyFxYfARUUBisBIiY9ATc2Nz4BZg8XFw9gDxcXD2BgBwwMDAgRBgcJEgsREQxdBAUFCAYGSwQMBgQEBAIMAwIDBAoMCgMDAgwHYAcMAwUEBgu6Fw9gDxcXD2APFxMMBzsLCwgOEBIZLAcMEwYIBQUIBiYNCwgLCAYBBQQFBAsLBAUCBwcMDAcIBwwHCw0AAAAABAAAAAAA7gC8AB0AKQA6AEsAADcUBiImNTQ2MhYUBwYHFRQGIiY9ATQ2MzI2NCYiBhciJjQ2OwEyFhQGIwcyPgI0LgIiDgIUHgI3DgEuAzQ+AjIeAwaGBAYEEhgSCQYIBAYEBAMHCQkOCQ8DBAQDAgMEBAMBDxsUDAwUGx4bFAwMFBtNDCAkIBgNDRggJCAYDQEOdAMEBAMMEhIZCAYCAwMEBAMJAwQJDgkJRQQGBAQGBBwMFBseGxQMDBQbHhsUDAwMDgENGCAkIBgODhggJCAAAAABAAAAAADVAMkAMQAANwcGDwEGHgE2PwEzBxQGKwEiJi8BMzI2NCYrASIGFRceATsBMjY/ATQmKwE/AT4BLgHHHQUBEgIEBwcBBQ8IBwMpAwYBBhIEBgYEFAgKBwERCykLEQEJCggLBxgEBAMHxwkCBDkEBwIDBAxpAwYGA2kGCAULB2sLEBALawcLFggBBwcEAAAAAwAAAAAA9gCeABcALQA2AAA3IgYUFjMyNjczFxY7ATI2PQE0JisBLgEHMhYXFjsBFSMnJisBIgcOASMiJjQ2FyIGFBYyNjQmcBghIRgPGggfBwIGHQQFBQRLBxsPCxMFAgZHDQcCBisGAgUTCxAWFhAEBgYIBgadITAhDw0NBgYEOQQGDQ8TDAsFJw4FBQsMFiAWHAYIBgYIBgAABAAAAAAA+gCRAAoADwA/AEQAADcOAR4BMj4BLgEiBxUzNSMXFSMGLgInJiMiDgEPATUjFTM3Njc2MzIeARcWMxY3NhUXMyc3PgE1IwcGDwE1IwcVMzUjUgICAgUDBQIBBQUiDw+NAQMGAgEBBA0GCg0GAg8OAgUIDAkDAgEBBA0REQUMERQDBAsQAwkMAw5wDw+PAQcEAwMEBwIsK1clJAIBAx4DDgUNCgQfPgQMDBMGGwMMARAFARIfBQUUAQURDQM/OB8+AAAEAAAAAAEUALUADwAdACsAMwAANzMyFh0BFAYrASImPQE0NhcyPgE0LgEiBx4BBgcWJyIOARQeATI3LgE2NyYXDgEWFz4BJibgBQgIBeAFCAigEyATEyAoERENDRERQRMgEhIgKBERDQ0RERYQDAwQEAwMtAwHgAUICAWGBQiWEx8mHxMMDisrDgyKEx8mHxMMDisrDgwTDCYmDAwmJgAAAwAAAAAA2QDEABYAGgAjAAA3Bw4BHQEmIyIGFBYyNj0BNz4BPQE0JgcXBzUHMhYUBiImNDbOOQQFCAsPFxcfFzEDBQcNASYnCAsLDwwMwwkBBQRkBRYgFhYQVwgBBQQmBAYWEgcTagsQCwsQCwAAAAQAAAAAAPYAngAXACAAKQA1AAA3IgYHJy4BIyIGFBYzMjY/AR4BMzI2NCYHMhYUBiImNDYHMhYUBiImNDYzIgYUFjsBMjY0JiO8FSADFgMPCQsREQsJDwMWAyAVGCEhGBAWFiAWFlkEBgYIBQVkBAYGBBMEBQUEnRsVAQgLERgRCwgBFRshMCETFiAWFiAWHAYIBgYIBgYIBgYIBgAAAAAEAAAAAAD2AJ4AFwAgAD0ARgAANyIGByMuASMiBhQWMzI2NzMeATMyNjQmBzIWFAYiJjQ2FyIGHQEjIgYUFjsBFRQWMjY9ATMyNjQmKwE1NCYHMhYUBiImNDa8FSADFgMPCQsREQsJDwMWAyAVGCEhGBAWFiAWFhADBQMDBQUDAwUGBQMDBQUDAwVsBAYGCAUFnRsUCAsRGBELCBQbITAhExYgFhYgFhMFAwMFBgUDAwUFAwMFBgUDAwUJBggGBggGAAAABgAA//kA+gDPABYAHwAnADcAPQBLAAA3FRQWHwEWMj8BPgE9ATQvASYiDwEGFTcwMRcHBi8BNwcmPQEfARUnNxQPATU/ARUUFjI2PQE3FSc2HwEHJwcnJg4BFh8BFjMyNiYnMggGSQYOBkkGCARUBQ4FVAQ2SRYFBUMaHwVFBESfBUQEHQUHBRdWBAREGkgJEQMHBAIEEQICBgQCBJpeCA0DKAMDKAMNCF4FAisDAysCBQ0mDAICJQ10AwZPJQJWJQkGAyVWAg8VBAUFBB8MT4ACAiIOJVUKAQIGBwIJAQgHAQAAAgAAAAAA9gC2AB0APAAANyYHDgEHBhUUFjsBFx4BPwEWFxYzMjY3Nj8BNi4BBxQVBwYHDgEiLwEmIg8BJzc+AS4BDwEjIiY0Nz4BN+cGBxR4BxAOChkJAQgDGxYECQsIDgQCCQkCAggKAQQGBwQKBCQDBgMOBTsEAwMHBEEgAgIEB3cTtAICBicDBw8KDioEAwIMFQQHCQgFMjkMCwgRAQEJHCQnCgMjAwIMGRkCBwcDARwDBQIDJgUAAAALAAAAAAEUALUACAARACEANwBMAGAAdgCLAJgApACvAAA3JiIGFBYyNjQnJiIGFBYyNjQ3IyIGHQEUFjsBMjY9ATQmByIrAQciFQcUKwEnNTc2OwEyFhUUBjcHFCsBIj0BDgEjIiY0NjIXNDsCFyMiNDcnNTsBMhUXNzY7AhUHFDcwKwEHIhUHFCsBJzU3NDsBMhYVFAY3BwYrASI9AQ4BIyImNDYyFzQ7AjcHBisBJzU3NDsBMhUHJisBIhUHMzI2NTQnJisBIhUHMzI+AeECBwUDBwV5AgYGBAcFltYICgoI1ggKCskBAQIDAQICCAEGAQIQBwgKLwUCBwECBgMGCAsPAwEIAQ4IAQkJAQgCBQsBAQgBGzACAgMBAgEJAQcCEQYICi8EAQIHAQIGAwYHCg8DAQgCEgYBAgcBBwEIAUUBAQYBAgMFBXkCBAIBAgMEBQFoAQUHAwUHAgEFBwMFB04KB34HCgoHfgcKUgEBDAIBASsCBgYJCg4cAgICAgMIDgsEAyoDCxsBARAQAQEoARsBAQwCAQErAgYGCQoOHAICAgIDCA4LBAMOKwIBASsCAgkBAQsDBQIBAQELAggAAgAAAAAA+wDKAA4AGgAANzAvAQcGHQEUFjsBMj8CLwEmJyYPARc3NjTQATBrAgMCLgECayMaBgICCAYaNBgEcQEvawICLQIDAms3GQcCAQMEGjQYBAwAAAUAAAAAANcApQALABIAHgAlADIAADcyPgEuAg4BFRQWNzIWBiY0NhciDgEeAj4BNTQmByImNhYUBjcmIg8BBhQWMj8BNjR0BwwGAwoPDQgOCgUEBwoESAcMBgMKDw0IDgoFBAcKBBgCBwJxAwUHAnEDbggODgsCBQwICg4gCgcECQQ0CA4OCwIFDAgKDiAKBwQJBGgDA3ECBwUDcQIHAAADAAAAAAD1AMMAIgArADEAADciDwEnJiIGFB8BBwYPAQYfARY/ATY/ARcWMjY0LwE3NjQmBzIWFA8BJzc2BxcPASc30BAKKQIDCAYDB0ABAQoCBAoEBhwDAUEHAwgGAwMpChQQBwoFKRgpBTcPPxQCB8IKKQMDBggDB0EBAxwGBAoEAgoBAUEIAwYIAwIpCx8UEwkPBSkZKAVADz8HAhQAAgAAAAAA6wC3ABwAPAAANy8BNCYGDwIiBhYfAQcGFxY/ARcWNzQ1Jzc2Jgc1MxUzNTMVMzUzFTM1NCYrATU0JisBIgYdASMiBh0BsREHAwIBBxACAgEBDAMBAwECDg8DAgQNAgNbHBUcFRwVCQchCQcmBwkhBwmiAhABAQEBEAICAgEMEAMBAQEJCQIDAQIQDAIDkB4eQkImJiwHCQsHCQkHEwoGJAAAAgAAAAAA2QDEADAAOwAANyIGHQEjIgYdARQWOwEVFAYrASIGFBY7ATI2PQEzMjY9ATQmKwE1NCYiBh0BIzU0JgcyMxUUBisBIiY1cAQGCQQGFw8TCAYYBAUFBBgOFBMPFwYECQYIBToFDjAwDAc6BwzDBQQdBQQwEBYYBggGCAUTDhgWEDAEBR0EBQUEHR0EBTkmCAsLCAACAAAAAADIAK8AGwAoAAA3NTQmIgYdASMiBhQWOwEVFBYyNjc1MzI2NCYjFxQGKwEiJjQ2OwEyFqMICgcZBgcHBRoHCgcBGQUHBwUMBwVLBgcHBUwFB4oZBQcHBRkICgcZBgcHBhkHCghkBgcHCwcHAAAAAAMAAAAAAO4AvAAMABkANQAANyIOAh4BMj4BNC4BByIuATQ+ATIeARQOATcjNTQmIgYdASMiBhQWOwEVFBYyNj0BMzI2NCaWGCgXARgoMCgYGCgYEyETEyEmIRMTIRAbBAgEGQQFBQQZBAgEGwMFBbwYKDAoFxcoMCgXnhMhJiETEyEmIRNMHAQFBQQcBAcFGQQFBQQZBQcEAAAAAAcAAAAAAOwAvAAiACcAKwA0AD0AQQBFAAA3NTY9ATQmJzYuAiIGBy4BIg4CFw4BHQEUFxUUFjsBFjYnMxUjNTsBFSM3MhYUBisBNDYjMhYVIyImNDYHNTMVNzMVI+MJCwkDAgoOExIGBhITDgoCAwkLCQ0KbAoNbxc0SjQ0FwUHBwUXDjsJDhcFBwcPKxYrKyIxBwoWCAwBCBANBwcHBwcHDRAIAQwIFgoHMQkMAQ1hFhYWQgcJBgkNDQkGCQeELCwsLAACAAAAAADiAMgADwAfAAA/AScmNDYyHwE3JyYiBhQXNyYiBhQfAQcnJiIGFB8BN5cRLAgQGAgsEi0PLB8PLwQKBwM4KDgECgcESUs8Ei4JGBEILxMuECAuEDAECAoEOio6BAcLBExOAAIAAP/zAQUA1QAMACMAADc0PgEyHgEUDgEiLgE3Ig4BFB4BMzI3FxY+ATQvAT4BNTQuAUEWJSwlFhYlLCUWUR0xHBwxHSMcHgMLBwQdDA0dMGoWJhYWJiwlFhYlgBwxOTEdFR4EAQcKBB0OIxMdMRwAAAAABgAA//8A9wDLABwAKQA6AFMAZAByAAA3MRcyFxUOAyIvAjQ1NzQ2MzEWNjc2NzQ2MwcxMzIWFTEUBiImNDYnMzIWHQEUBisBIiY9ATQ2MzcyMxcUFQcOASMmBgcGBxQGIy8BNTY3PgEHMzIWHQEUBisBIiY9ATQ2MzcxMzIWFTEUBiImNDYz5g0CAQIQGiMkEQIBBgMBFSsQFQQCApABBAcHCQcHGW8BAgIBbwEDAgJ8AQEBBQEDARMnEBMHAgEQAQgZFDIZbwEDAgJvAQICAU0BBAcHCgYHBF0CAQMRIBkNBgECAQINAQEICA8THQECMQYFBQYHCQYtAgIOAQICAQ4CAmkCAQENAgEHBw0QGQECBAICIBUQCUACAQ4CAgIBDgICKgYFBQYGCgYADAAAAAAA7gC8AAUAFgAfACgAMQBHAFAAWQBqAHMAfACFAAA3BgcXNy8BMzI2PQE0JisBIgYdARQWMzcyFhQGIiY0NiMyFhQGIiY0NiMyFhQGIiY0NgczPgEyFhc3Nj0BNCYrASIGBxUeATM3MhYUBiImNDYjMhYUBiImNDYXNDcjIgYdARQWOwEyNy4BNQciJjQ2MhYUBjMiJjQ2MhYUBjciBhQWMjY0JtsEBRMJE4p/CAsLCH8HCwsHeAMEBAUEBFYDAwMGAwMWAgQEBQQEBEIFFBgTBQEGCwh/BwsBAQsHIAMDAwYDAxYCBAQFBAQ6AT8HCwsHWQMDDhM3AwQEBQQEFwMDAwYDA0UMEREYEREoBQQSCBNlCwgJBwsLBwkICx4EBQQEBQQEBQQEBQQEBQQEBQRZCw4LCQEFCAkHDAwHCQgLHQMGAwMGAwMGAwMGAy4DAQsICAgLAQMXDxkDBgMDBgMDBgMDBgM2ERgRERgRAAAAAwAAAAAA7gC1AA8AHwAsAAA3NTQmKwEiBh0BHgE7ATI2JzU0NjsBMhYdARQGKwEiJhcyNic1NCYiBh0BFBbAEw1BDhMBEg5BDRNsBgVBBAYGBEEFBo8EBwEGCQYGM2INExMNYg0TEw1iBAYGBGIEBgYRBgV2BQYGBXYFBgAAAAAEAAAAAAD2ALEAFAApADwASQAANyIGBwYUFjI3PgEyFhcWMjY0Jy4BByIGBwYeATI3PgEyFhceAT4BJy4BByIGBwYUFjI3NjIXHgE2NCcuAQciDwEGFjsBMjYvASaWGzASAgYIAg8pLikPAggGAhIwGxIiDAMBBgcDCRsdGQoDBwYBAwwhEwoTBwIGCAMIGggDCAYCBxILBAIUBAQHJgYFBBMDsBYTAwgFAxESEhEDBQgDFBUmDw4DCAUDCwwMCgMBBggDDQ8mCQcDCAUDCgoCAQUIAwgIJgMTBAwMBBMDAAQAAAAAAOMAxAAZACQAMgBXAAA3Ig4BFRQWHwEWFwcGFBYyPwE2NCYiDwEuAQcyFhcHJy4BNTQ2FyIGFRQWMjY0NjI2NCYXBg8CDgEVIyIGFBY7ARQGIicuAQ4BFxYzMjY9ATQ2PwE2LgGWEh8SCAkDBQEgAwUIA4UDBQgDBgkdEAwWBkMJBgYcFAwRBggFBggGBisEAgUEBwYJBAYGBAkLEgUCCAYBAgsTEBYEBQoCAQfDEh4SDhMLAwYDIQMIBQOFAwgFAwYNDxMMCkMLCA0KExwTEQsEBgYIBQYIBTABAwcECA4KBggFCAsHAwEFBwQOFhATBggGDAQIBAAAAAACAAAAAADsALoAIwBIAAA3IgcGDwEOARUUFjMyMw8BBhY7ATI2LwEyMzI2NTQmLwEmJyYHFh8BHgEVFAYjIi8BLgEGFRQXIzY1NCYGDwEGIyImNTQ2PwE2lgUDCRAWEA8cFAQDAgQDBgU6BQYDBgMEFBwPEBYQCQMFCQ0VDQsRDAUEAgIJBgUeBQYJAgIEBQwRCw0VDLoEDA0QDRcPExwECwUJCQUPHBMPFw0QDQwEGQkKEAoQCgsRAwIEAQYEDRAQDQQGAQQCAxELChAKEAkABQAAAAAA9gCxACEALgA8AEMATwAANyIHIwYHBgcGByMiBhQWMxUUFjI2PQEeARczFjI2PQE0JgcyFh0BFAYiJj0BNDYHFB0BJyYnJiM1Mjc2NwczFSImNDYXMjMxFhcVFAYiJjXZDQsBCQkTGAgGGQ8WFhARFxENFAkBDBcREAwEBQUIBgYZBhYaDAoKDBoWWgEICwsbAQQGCAYIBbALBwQKBAEBFiAWCgsREQsEBAoHCxALYgsQEwUDYgMFBQNiAwURDBwoAwwEAiYCBAwSJgsQCzkBAQgEBQUEAAQAAAAAAO8AsAAQACEAMQA1AAA3JwcGIi8BBwYUHwEWPwE2NC8BBwYiLwEHBhQfARY/ATI0JxcWMj8BNjQvASYiDwEGFDcXByfsGzIFCQQyGwICUgQEUgICGzIECgQyGwICUgQEUgKuUgEGAVICAlIBBgFSAlg3Nzc/CRICAhIJAQUBHgICHgEFKQoSAgISCgEFAR0CAh4FIx4BAR4BBQEeAQEeAQUXFBUVAAAEAAAAAADjAMUADQARACIAMwAANwcGFB8BFj8BNjQvASYVFwcnBw4BFh8BFj8BPgEuAQ8BJyYHDgEWHwEWPwE+AS4BDwEnJpFCBQVCBQVCBQVCBS8vLxYEBAIEQgUFQgQCBAgDPj4DBAQEAgRCBQVCBAIECAM+PgPCJgMLAyYDAyYDCwMmAxYbGxsnAQcHAiYDAyYCBwcCAiMjAjABBwgCJgMDJgIIBwICJCQCAAAAAAEAAP//ANwAyQAnAAA3NDMyFzUmIyIGFRQXFhceARcWFRQjIiYnFRYzMjY1NCcmJyYnJicmiBIdGhodISkJBw4IIAUJFQ4gDhwgIisKBw4JEQ4FCI0LDjQKIR0RDAoHBAwDBQcOCgg0DSEdEw0KCAQGBQMEAAAAAAEAAAAAAPkAxwAjAAA3Ih0BFDsBMj8BNDsBMh0BFDsBMj0BNDsBMh8BFDsBMj0BNCM2AwMdAQEEAiYDAiACAyYBAQQCHQMDxgIsAwIKAgOcAgKbAwIKAQItAgAAAQAA//4A7QDJABQAADciDwEGFjsBBwYWPwE2JisBNzYmI4QEAj0CBAMuFQEIA4EDAwQ7IwEDBMgDZQMGUAQEA30DBzYDBgAAAQAAAAAA4wDEAFYAADciBhUUFhcGFBY7ARUGFRQWOwEUFhcWFzMyNjQmKwEmJyY1MzI2NCYrASImNDY7ATI2NCYrASImNDY7ATI2NCYrASImNDY7ATIWFAYjIgYUFjMyNjQmI3AQFggHBhEMAQERCwoQDwcLCAQGBgQGBwgREwQGBgQwAwYGAx0EBgYEOQQGBgQmBAYGBCYICwsITAgLCwgEBQUEEBYWEMMWEAkQBQcWEQMEAwsRDREEAwEFCAYBAgULBQgGBQgGBQgGBgcGBggFCxALCxALBQgGFiAWAAAFAAAAAAD2ALEAHQA0AD8ASABRAAA3IgYdARQWFx4BMjY3Mx4BMjY3PgE9ATQuASM0JiMHMjsBMhYdAQ4BByMuASMiBy4BPQE0NhcyFh0BFAYHLgEnBzIWFAYiJjQ2MzIWFAYiJjQ2XRAWCgkCEBMPAyADDxIPAw4QDRYMFw9DAQJABwwGCgIgAxAIDwgCAwtxChIFBgIKBWAEBgYIBQZZBAYGCAUFsBYQOQsRBQoOCgkJCgoJAhQQCQwWDhAWEwsIOwIJBgkKDQIHBDkICyYSCwkJCAEFCgERBggFBQgGBggFBQkFAAAAAwAAAAAA7QC8ABUAHQAhAAA3JyYiBhQfAQcGFBY2PwEXMRYyNjQnBwYiJjQ/ARc3JzcX6UAECQYDA1AMGCIMUQMDCQYDcgYQCwUnHA8cGxt3QQMGCQMDUgwjGQEMUgQDBwkDTgYLEQYnHA8cGxwAAAMAAAAAAOMAxQAXAB0AMwAANwYPAQYVFBYXBwYUFjI/ATY0JiIPAScmFRcHLgE1FyIGFQ4BBy4BDgEWFxYXFjc+ATc0JpIFLRAGBwsPAwUIA4UDBQgDAjYEK1cHBnsEBgMaGwgICAUBAwoKBQUhIQQFwgITBwMGKCsTDwMIBQOFAwgFAwIXAhQTVw0mHh4FBB0pEQUHAQYIAwcGAwMTMiMEBgAAAgAAAAAA9gDEACEANQAANyIOARQeATI+ATc0LgEGFQ4BIyIuATQ+ATMyFxY+ASYnJhciDwEGLwEuAQ4BHwEeAT8BNjQmlhosGRksMikbAwUIBgQrHRUjFBQjFQ0NAwcDBAMPRQQDUwQDCgIIBgICCgYWCFMDBcMZLDQsGRYmGAQGAQUEHSYUIyojFAQCBAcIAQUTA1EEBQ4DAQQIAw4JAghRAwgFAAAABQAAAAAA9gC6ACAAKQAyAEIARQAANyIGFBcGHQEUFjsBMjY3FxY2PQE0Jg8BLgEnNjQmIgcmBzIWFAYiJjQ2MzIWFAYiJjQ2BzMyFh0BFAYrASImPQE0NhcVJ10QFg0NFhBDDhYCHwQMDAQfAQoICRYhDAsRCAsLEAsLQQgLCxALCzFDBwwMB0MICwuNGLoXIQsLEScPFxQPIAQFBl8HBAQgCRAECh4XDg4TCxALCxALCxALCxALOgsIJggLCwgmCAsNMRkAAAAGAAAAAAEUALUAAgASADgASQBNAFcAADcnByczMhYdARQGKwEiJj0BNDYXFBcWHwEWFAYjIicxBxcWMzI2NTQnJi8BJjQ2MzIXMTcnJiMiBicyHwEeAR8BMzcjByc0JisBFzM3IxcHMzczFzMnIyLrBQm34AUICAXgBQgIeQUCCAYCBQUKBwMFBwcNEAUDBwYDBgUHBwMFBgYMEG4CAggFAwEOEhwTEQgFAx1KEQ4RWBkSAxYCEA4OBloZGVoIBYYFCAgFhgUIRAYFAwQDAwUDBA8CAQwKBwUDBAQCBAQEDgIBDAkBAgIDBDRCLSYEA0JCBjwKCkIAAAQAAAAAAPYAsQAUABwAKQAyAAA3IgYdARQWOwEyNj0BNCYrATU0JiMHMxUjIiY0NhczFRQGKwEiJj0BFxYXIgYUFjI2NCZTCxESDYANEgUECgUEhnx8BAUFBI8HBYAFBwIEdgQGBggFBbARC10NEhINSgQFHQQFExMGCAUmQAUHBwVCAQEdBQgGBggFAAAAAAMAAAAAAOcAxAAnADcASQAANyIGHQEOAR0BFBYXFRQWOwEyNj0BPgE9ATI2PQE0JiM1NCYnNTQmIwczMhYdARQGKwEiJj0BNDYXIgYdASMiBhQWOwEyNj0BNCZ1CAsNEBANCwg5CAsMEAQGBgQQDAsIQ0wICwsITAgLCy4EBRMEBgYEHAQGBsMLCAEDFQ1MDRUDAQgLCwgBAxUNCQYEJgQGCQ0VAwEICyYLCEwICwsITAgLEwUEEwYIBgYEHQQFAAUAAAAAAOMAvwAQAB0AJgAvAEAAADciBw4BHgE3NjIXFj4BJicmByIOARQeATI+ATQuATMiBhQWMjY0JgcyFhQGIiY0NhciBh0BFB8BFjI2NC8BNTQmlgoLBAQCBwQJDwkDBwIEBAsKFSMUFCMqIxQUIy4EBgYIBQVHGCEhMCEhGAQGAxMDCAYDEAa+AwEGCAQBAgIBBAgGAQMcFSMpIxQUIykjFQYIBQUIBhMiLyEhLyITBgQcBAMTAwYIAxAYBAYAAAADAAAAAADZAMQAEQAeAC0AADcmBw4BFRQeATI+ATQvASYnJgcWHwEWFRQGIiY1NDYXBgcGFxQWPgE1Jjc2LgGXBQMjGRIfJB8SChYPCwIKCg0UCBwoHBQPBAILAgYIBQIJAgIIwwEEKTQcEh4SEh4lEB4XHgUbFxMdCw4THBwTFykQAgMWFgQFAQYEEBEDCAQAAAAAAwAAAAAA9gCjADAAYQCSAAA3DgEUFxYzMjc2MzIXFjI3NjMyFhcWMjY3NjQmIg8BBiInJiMiDgInJgYHBiIvASYHDgEUFxYzMjc2MzIXFjI3NjMyFhcWMjY3NjQmIg8BBiInJiMiDgEiJyYGBwYiLwEmBw4BFBcWMzI3NjMyFxYyNzYzMhYXFjI2NzY0LgEPAQYiJyYjIg4BIicmBgcGIi8BJj8EBAMMEAwJBQUIAwoZCAQIAwQEChMNBwIGBwMDBA0FCg0ECwkNBAoZCQQMBAYEAwQEBAsQDAkFBQgDChkIBAgDBAQKEw0HAgYHAwMEDQUKDQQLCQ0EChkJBAwEBgMEBAQECxAMCQUFCAMKGQgECAMEBAoTDQcCBgcDAwQNBQoNBAsJDQQKGQkEDAQGBKIBBgcDDAcDAwcHAwICBgYHAwcGAwMEAwcDBgEEBgEGAwMEAzABBQgDCwYDAgcGAwEDBQYGAwgFAgMEAwYDBgMHAQcCAwQDMAEGBwQLBgQDBwYEAgIGBgcCCAUBAwMEAwcDBwMHAQYDAwQDAAMAAAAAAPsAwAAiAEwAdQAANw4BJy4BPgEzFQ4BBwYeATY3Njc1Mzc+AR4CDgEiJicjBjcyHgIOAy4BJzceAj4DLgMPAScjIicuATQ2NzYeAQYHFzYnJjQ+AjIeAgYHJzY0LgMOAhQXFh8BBxcWDgIuAj4BFzcmhQslEAwJCBcPBwwECAUVGQgEATgBAwoMCAMECQsLAygDQwoRDAYDCRATFBIFDAQMDQwKBgEDCAoOCAgaAggFAwIDAwUQCwEEEwpVBAcNERIRDAgBBQwDBQgMDAwJBAMECgQfAQIBCAsKBwEFCwYYCB0QBwsJHBwTDgEHBgoaDwULBwcLAQUEAQgLCwcGBws/CA8SExELBAMMCQcGCAIEBwsMDAkGAgMEMAYDBwcHAwUBCw4FJAQaCBIRDQcHDBMVCgcGDwwKBQEFCgwMBgoFAjICBQwIAwMJCwoGASYGAAAAAwAAAAAA7AC6ABcAMgBKAAA3IgcOAR4BNjIWFAYrASIGFBY7ATI2NCYXIgYHBh4BNjU+ATIWFAYrASIGFBY7ATI2NCYHIgYUFjsBMhYUBiImDgEWFxYzMjY0JiNwCAYEAgQIBQcFBQQmBAYGBCYMEBBFEBgCAQQIBwINEw4OCncEBgYEdxIZGYkEBgYEXwQGBgcFCAQCBAYIDBERDLoEAggGAwQGCAUGCAUQGBEKFBAEBwEFBAkLDhQNBggGGiMZaQUIBgUIBgQDBggCBBEYEAAAAAAAABAAxgABAAAAAAABAAUAAAABAAAAAAACAAcABQABAAAAAAADAAUADAABAAAAAAAEAAUAEQABAAAAAAAFAAsAFgABAAAAAAAGAAUAIQABAAAAAAAKACsAJgABAAAAAAALABMAUQADAAEECQABAAoAZAADAAEECQACAA4AbgADAAEECQADAAoAfAADAAEECQAEAAoAhgADAAEECQAFABYAkAADAAEECQAGAAoApgADAAEECQAKAFYAsAADAAEECQALACYBBmljb25zUmVndWxhcmljb25zaWNvbnNWZXJzaW9uIDEuMGljb25zR2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AaQBjAG8AbgBzAFIAZQBnAHUAbABhAHIAaQBjAG8AbgBzAGkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbgBzAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAdnbGFzc2VzBWdsb2JlBmhhbW1lcgRoYXNoBWhlYXJ0B2h1YnNwb3QFaW1hZ2UMaW5mby1yb3VuZGVkBWp1aWNlA2tleQRsaW5rCm1hc3RlcmNhcmQFbXVzaWMKbm9kZS1taW51cwlub2RlLXBsdXMHcGFja2FnZQtwYXBlci1wbGFuZQZwYXlwYWwGcGVuY2lsB3BlcmNlbnQGcGlja2VyBHBsYW4EcGx1ZwpwbHVzLW1pbnVzFHBsdXMtcm91bmRlZC1vdXRsaW5lB3ByZXNlbnQJc2NoZW1hdGljBnNlYXJjaAdzZWdtZW50DXNlcnZlci1zZWFyY2gHc2lkZWJhcgZzaWduYWwHc2lsZW5jZQVzcGFkZQdzcGVha2VyB3N0YWNrZWQGc3RhY2tzBnN0cmlwZQR0ZXh0B3RodW5kZXIHdG9ybmFkbwV0cnVjawR0dWJlC3VucHJvdGVjdGVkCHZlcmlmaWVkDHZpZGVvLWNhbWVyYQR2aXNhBndhbGxldAp3YXRjaC1oYW5kDHdhdGNoLXBvY2tldAp3YXRlci1kcm9wBXdhdmVzB3dlYmhvb2sEd2luZAAAAA==), format("truetype");
|
|
12084
|
+
src: url(data:font/ttf;base64,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ASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAZnaXRodWIHZ2xhc3NlcwVnbG9iZQZnb29nbGUGaGFtbWVyBGhhc2gFaGVhcnQHaHVic3BvdAVpbWFnZQxpbmZvLXJvdW5kZWQFanVpY2UDa2V5BGxpbmsKbWFzdGVyY2FyZARtb3ZlBW11c2ljCm5vZGUtbWludXMJbm9kZS1wbHVzB3BhY2thZ2ULcGFwZXItcGxhbmUGcGF5cGFsBnBlbmNpbAdwZXJjZW50BnBpY2tlcgRwbGFuBHBsdWcKcGx1cy1taW51cxRwbHVzLXJvdW5kZWQtb3V0bGluZQdwcmVzZW50CXNjaGVtYXRpYwZzZWFyY2gHc2VnbWVudA1zZXJ2ZXItc2VhcmNoB3NpZGViYXIGc2lnbmFsB3NpbGVuY2UFc3BhZGUHc3BlYWtlcgdzdGFja2VkBnN0YWNrcwZzdHJpcGUEdGV4dAd0aHVuZGVyB3Rvcm5hZG8FdHJ1Y2sEdHViZQt1bnByb3RlY3RlZAt1bnN1YnNjcmliZQh2ZXJpZmllZAx2aWRlby1jYW1lcmEEdmlzYQZ3YWxsZXQKd2F0Y2gtaGFuZAx3YXRjaC1wb2NrZXQKd2F0ZXItZHJvcAV3YXZlcwd3ZWJob29rBHdpbmQAAAAA), format("truetype");
|
|
12085
12085
|
}
|
|
12086
12086
|
|
|
12087
12087
|
i[class^="i-"]:before,
|
|
@@ -12329,221 +12329,237 @@ i[class*=" i-"]:before {
|
|
|
12329
12329
|
content: "\\f13b";
|
|
12330
12330
|
}
|
|
12331
12331
|
|
|
12332
|
-
.i-
|
|
12332
|
+
.i-github::before {
|
|
12333
12333
|
content: "\\f13c";
|
|
12334
12334
|
}
|
|
12335
12335
|
|
|
12336
|
-
.i-
|
|
12336
|
+
.i-glasses::before {
|
|
12337
12337
|
content: "\\f13d";
|
|
12338
12338
|
}
|
|
12339
12339
|
|
|
12340
|
-
.i-
|
|
12340
|
+
.i-globe::before {
|
|
12341
12341
|
content: "\\f13e";
|
|
12342
12342
|
}
|
|
12343
12343
|
|
|
12344
|
-
.i-
|
|
12344
|
+
.i-google::before {
|
|
12345
12345
|
content: "\\f13f";
|
|
12346
12346
|
}
|
|
12347
12347
|
|
|
12348
|
-
.i-
|
|
12348
|
+
.i-hammer::before {
|
|
12349
12349
|
content: "\\f140";
|
|
12350
12350
|
}
|
|
12351
12351
|
|
|
12352
|
-
.i-
|
|
12352
|
+
.i-hash::before {
|
|
12353
12353
|
content: "\\f141";
|
|
12354
12354
|
}
|
|
12355
12355
|
|
|
12356
|
-
.i-
|
|
12356
|
+
.i-heart::before {
|
|
12357
12357
|
content: "\\f142";
|
|
12358
12358
|
}
|
|
12359
12359
|
|
|
12360
|
-
.i-
|
|
12360
|
+
.i-hubspot::before {
|
|
12361
12361
|
content: "\\f143";
|
|
12362
12362
|
}
|
|
12363
12363
|
|
|
12364
|
-
.i-
|
|
12364
|
+
.i-image::before {
|
|
12365
12365
|
content: "\\f144";
|
|
12366
12366
|
}
|
|
12367
12367
|
|
|
12368
|
-
.i-
|
|
12368
|
+
.i-info-rounded::before {
|
|
12369
12369
|
content: "\\f145";
|
|
12370
12370
|
}
|
|
12371
12371
|
|
|
12372
|
-
.i-
|
|
12372
|
+
.i-juice::before {
|
|
12373
12373
|
content: "\\f146";
|
|
12374
12374
|
}
|
|
12375
12375
|
|
|
12376
|
-
.i-
|
|
12376
|
+
.i-key::before {
|
|
12377
12377
|
content: "\\f147";
|
|
12378
12378
|
}
|
|
12379
12379
|
|
|
12380
|
-
.i-
|
|
12380
|
+
.i-link::before {
|
|
12381
12381
|
content: "\\f148";
|
|
12382
12382
|
}
|
|
12383
12383
|
|
|
12384
|
-
.i-
|
|
12384
|
+
.i-mastercard::before {
|
|
12385
12385
|
content: "\\f149";
|
|
12386
12386
|
}
|
|
12387
12387
|
|
|
12388
|
-
.i-
|
|
12388
|
+
.i-move::before {
|
|
12389
12389
|
content: "\\f14a";
|
|
12390
12390
|
}
|
|
12391
12391
|
|
|
12392
|
-
.i-
|
|
12392
|
+
.i-music::before {
|
|
12393
12393
|
content: "\\f14b";
|
|
12394
12394
|
}
|
|
12395
12395
|
|
|
12396
|
-
.i-
|
|
12396
|
+
.i-node-minus::before {
|
|
12397
12397
|
content: "\\f14c";
|
|
12398
12398
|
}
|
|
12399
12399
|
|
|
12400
|
-
.i-
|
|
12400
|
+
.i-node-plus::before {
|
|
12401
12401
|
content: "\\f14d";
|
|
12402
12402
|
}
|
|
12403
12403
|
|
|
12404
|
-
.i-
|
|
12404
|
+
.i-package::before {
|
|
12405
12405
|
content: "\\f14e";
|
|
12406
12406
|
}
|
|
12407
12407
|
|
|
12408
|
-
.i-
|
|
12408
|
+
.i-paper-plane::before {
|
|
12409
12409
|
content: "\\f14f";
|
|
12410
12410
|
}
|
|
12411
12411
|
|
|
12412
|
-
.i-
|
|
12412
|
+
.i-paypal::before {
|
|
12413
12413
|
content: "\\f150";
|
|
12414
12414
|
}
|
|
12415
12415
|
|
|
12416
|
-
.i-
|
|
12416
|
+
.i-pencil::before {
|
|
12417
12417
|
content: "\\f151";
|
|
12418
12418
|
}
|
|
12419
12419
|
|
|
12420
|
-
.i-
|
|
12420
|
+
.i-percent::before {
|
|
12421
12421
|
content: "\\f152";
|
|
12422
12422
|
}
|
|
12423
12423
|
|
|
12424
|
-
.i-
|
|
12424
|
+
.i-picker::before {
|
|
12425
12425
|
content: "\\f153";
|
|
12426
12426
|
}
|
|
12427
12427
|
|
|
12428
|
-
.i-
|
|
12428
|
+
.i-plan::before {
|
|
12429
12429
|
content: "\\f154";
|
|
12430
12430
|
}
|
|
12431
12431
|
|
|
12432
|
-
.i-
|
|
12432
|
+
.i-plug::before {
|
|
12433
12433
|
content: "\\f155";
|
|
12434
12434
|
}
|
|
12435
12435
|
|
|
12436
|
-
.i-
|
|
12436
|
+
.i-plus-minus::before {
|
|
12437
12437
|
content: "\\f156";
|
|
12438
12438
|
}
|
|
12439
12439
|
|
|
12440
|
-
.i-
|
|
12440
|
+
.i-plus-rounded-outline::before {
|
|
12441
12441
|
content: "\\f157";
|
|
12442
12442
|
}
|
|
12443
12443
|
|
|
12444
|
-
.i-
|
|
12444
|
+
.i-present::before {
|
|
12445
12445
|
content: "\\f158";
|
|
12446
12446
|
}
|
|
12447
12447
|
|
|
12448
|
-
.i-
|
|
12448
|
+
.i-schematic::before {
|
|
12449
12449
|
content: "\\f159";
|
|
12450
12450
|
}
|
|
12451
12451
|
|
|
12452
|
-
.i-
|
|
12452
|
+
.i-search::before {
|
|
12453
12453
|
content: "\\f15a";
|
|
12454
12454
|
}
|
|
12455
12455
|
|
|
12456
|
-
.i-
|
|
12456
|
+
.i-segment::before {
|
|
12457
12457
|
content: "\\f15b";
|
|
12458
12458
|
}
|
|
12459
12459
|
|
|
12460
|
-
.i-
|
|
12460
|
+
.i-server-search::before {
|
|
12461
12461
|
content: "\\f15c";
|
|
12462
12462
|
}
|
|
12463
12463
|
|
|
12464
|
-
.i-
|
|
12464
|
+
.i-sidebar::before {
|
|
12465
12465
|
content: "\\f15d";
|
|
12466
12466
|
}
|
|
12467
12467
|
|
|
12468
|
-
.i-
|
|
12468
|
+
.i-signal::before {
|
|
12469
12469
|
content: "\\f15e";
|
|
12470
12470
|
}
|
|
12471
12471
|
|
|
12472
|
-
.i-
|
|
12472
|
+
.i-silence::before {
|
|
12473
12473
|
content: "\\f15f";
|
|
12474
12474
|
}
|
|
12475
12475
|
|
|
12476
|
-
.i-
|
|
12476
|
+
.i-spade::before {
|
|
12477
12477
|
content: "\\f160";
|
|
12478
12478
|
}
|
|
12479
12479
|
|
|
12480
|
-
.i-
|
|
12480
|
+
.i-speaker::before {
|
|
12481
12481
|
content: "\\f161";
|
|
12482
12482
|
}
|
|
12483
12483
|
|
|
12484
|
-
.i-
|
|
12484
|
+
.i-stacked::before {
|
|
12485
12485
|
content: "\\f162";
|
|
12486
12486
|
}
|
|
12487
12487
|
|
|
12488
|
-
.i-
|
|
12488
|
+
.i-stacks::before {
|
|
12489
12489
|
content: "\\f163";
|
|
12490
12490
|
}
|
|
12491
12491
|
|
|
12492
|
-
.i-
|
|
12492
|
+
.i-stripe::before {
|
|
12493
12493
|
content: "\\f164";
|
|
12494
12494
|
}
|
|
12495
12495
|
|
|
12496
|
-
.i-
|
|
12496
|
+
.i-text::before {
|
|
12497
12497
|
content: "\\f165";
|
|
12498
12498
|
}
|
|
12499
12499
|
|
|
12500
|
-
.i-
|
|
12500
|
+
.i-thunder::before {
|
|
12501
12501
|
content: "\\f166";
|
|
12502
12502
|
}
|
|
12503
12503
|
|
|
12504
|
-
.i-
|
|
12504
|
+
.i-tornado::before {
|
|
12505
12505
|
content: "\\f167";
|
|
12506
12506
|
}
|
|
12507
12507
|
|
|
12508
|
-
.i-
|
|
12508
|
+
.i-truck::before {
|
|
12509
12509
|
content: "\\f168";
|
|
12510
12510
|
}
|
|
12511
12511
|
|
|
12512
|
-
.i-
|
|
12512
|
+
.i-tube::before {
|
|
12513
12513
|
content: "\\f169";
|
|
12514
12514
|
}
|
|
12515
12515
|
|
|
12516
|
-
.i-
|
|
12516
|
+
.i-unprotected::before {
|
|
12517
12517
|
content: "\\f16a";
|
|
12518
12518
|
}
|
|
12519
12519
|
|
|
12520
|
-
.i-
|
|
12520
|
+
.i-unsubscribe::before {
|
|
12521
12521
|
content: "\\f16b";
|
|
12522
12522
|
}
|
|
12523
12523
|
|
|
12524
|
-
.i-
|
|
12524
|
+
.i-verified::before {
|
|
12525
12525
|
content: "\\f16c";
|
|
12526
12526
|
}
|
|
12527
12527
|
|
|
12528
|
-
.i-
|
|
12528
|
+
.i-video-camera::before {
|
|
12529
12529
|
content: "\\f16d";
|
|
12530
12530
|
}
|
|
12531
12531
|
|
|
12532
|
-
.i-
|
|
12532
|
+
.i-visa::before {
|
|
12533
12533
|
content: "\\f16e";
|
|
12534
12534
|
}
|
|
12535
12535
|
|
|
12536
|
-
.i-
|
|
12536
|
+
.i-wallet::before {
|
|
12537
12537
|
content: "\\f16f";
|
|
12538
12538
|
}
|
|
12539
12539
|
|
|
12540
|
-
.i-
|
|
12540
|
+
.i-watch-hand::before {
|
|
12541
12541
|
content: "\\f170";
|
|
12542
12542
|
}
|
|
12543
12543
|
|
|
12544
|
-
.i-
|
|
12544
|
+
.i-watch-pocket::before {
|
|
12545
12545
|
content: "\\f171";
|
|
12546
12546
|
}
|
|
12547
|
+
|
|
12548
|
+
.i-water-drop::before {
|
|
12549
|
+
content: "\\f172";
|
|
12550
|
+
}
|
|
12551
|
+
|
|
12552
|
+
.i-waves::before {
|
|
12553
|
+
content: "\\f173";
|
|
12554
|
+
}
|
|
12555
|
+
|
|
12556
|
+
.i-webhook::before {
|
|
12557
|
+
content: "\\f174";
|
|
12558
|
+
}
|
|
12559
|
+
|
|
12560
|
+
.i-wind::before {
|
|
12561
|
+
content: "\\f175";
|
|
12562
|
+
}
|
|
12547
12563
|
`;
|
|
12548
12564
|
|
|
12549
12565
|
// src/context/embed.tsx
|
|
@@ -12663,13 +12679,15 @@ var EmbedContext = (0, import_react11.createContext)({
|
|
|
12663
12679
|
isPending: false,
|
|
12664
12680
|
hydrate: async () => {
|
|
12665
12681
|
},
|
|
12666
|
-
|
|
12682
|
+
setIsPending: () => {
|
|
12667
12683
|
},
|
|
12668
|
-
|
|
12684
|
+
setData: () => {
|
|
12669
12685
|
},
|
|
12670
12686
|
setLayout: () => {
|
|
12671
12687
|
},
|
|
12672
12688
|
setSelected: () => {
|
|
12689
|
+
},
|
|
12690
|
+
updateSettings: () => {
|
|
12673
12691
|
}
|
|
12674
12692
|
});
|
|
12675
12693
|
var EmbedProvider = ({
|
|
@@ -12700,11 +12718,13 @@ var EmbedProvider = ({
|
|
|
12700
12718
|
},
|
|
12701
12719
|
setData: () => {
|
|
12702
12720
|
},
|
|
12703
|
-
|
|
12721
|
+
setIsPending: () => {
|
|
12704
12722
|
},
|
|
12705
12723
|
setLayout: () => {
|
|
12706
12724
|
},
|
|
12707
12725
|
setSelected: () => {
|
|
12726
|
+
},
|
|
12727
|
+
updateSettings: () => {
|
|
12708
12728
|
}
|
|
12709
12729
|
};
|
|
12710
12730
|
});
|
|
@@ -12744,45 +12764,39 @@ var EmbedProvider = ({
|
|
|
12744
12764
|
}));
|
|
12745
12765
|
}
|
|
12746
12766
|
}, [id, state.api]);
|
|
12747
|
-
const
|
|
12748
|
-
(
|
|
12749
|
-
|
|
12750
|
-
|
|
12751
|
-
|
|
12752
|
-
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
|
|
12757
|
-
|
|
12758
|
-
|
|
12759
|
-
|
|
12760
|
-
|
|
12761
|
-
|
|
12762
|
-
|
|
12763
|
-
|
|
12764
|
-
|
|
12765
|
-
|
|
12766
|
-
|
|
12767
|
-
|
|
12768
|
-
|
|
12769
|
-
|
|
12770
|
-
|
|
12771
|
-
|
|
12772
|
-
|
|
12773
|
-
})
|
|
12774
|
-
|
|
12775
|
-
[setState]
|
|
12776
|
-
);
|
|
12777
|
-
const setSelected = (0, import_react11.useCallback)(
|
|
12778
|
-
(selected) => {
|
|
12779
|
-
setState((prev2) => ({
|
|
12767
|
+
const setIsPending = (bool) => {
|
|
12768
|
+
setState((prev2) => ({
|
|
12769
|
+
...prev2,
|
|
12770
|
+
isPending: bool
|
|
12771
|
+
}));
|
|
12772
|
+
};
|
|
12773
|
+
const setData = (data) => {
|
|
12774
|
+
setState((prev2) => ({
|
|
12775
|
+
...prev2,
|
|
12776
|
+
data
|
|
12777
|
+
}));
|
|
12778
|
+
};
|
|
12779
|
+
const setLayout = (layout) => {
|
|
12780
|
+
setState((prev2) => ({
|
|
12781
|
+
...prev2,
|
|
12782
|
+
layout
|
|
12783
|
+
}));
|
|
12784
|
+
};
|
|
12785
|
+
const setSelected = (selected) => {
|
|
12786
|
+
setState((prev2) => ({
|
|
12787
|
+
...prev2,
|
|
12788
|
+
selected
|
|
12789
|
+
}));
|
|
12790
|
+
};
|
|
12791
|
+
const updateSettings = (settings) => {
|
|
12792
|
+
setState((prev2) => {
|
|
12793
|
+
const updatedSettings = (0, import_merge.default)({}, prev2.settings, { ...settings });
|
|
12794
|
+
return {
|
|
12780
12795
|
...prev2,
|
|
12781
|
-
|
|
12782
|
-
}
|
|
12783
|
-
}
|
|
12784
|
-
|
|
12785
|
-
);
|
|
12796
|
+
settings: updatedSettings
|
|
12797
|
+
};
|
|
12798
|
+
});
|
|
12799
|
+
};
|
|
12786
12800
|
(0, import_react11.useEffect)(() => {
|
|
12787
12801
|
instance.use(initReactI18next).init({
|
|
12788
12802
|
resources: {
|
|
@@ -12810,7 +12824,7 @@ var EmbedProvider = ({
|
|
|
12810
12824
|
(0, import_react11.useEffect)(() => {
|
|
12811
12825
|
if (accessToken) {
|
|
12812
12826
|
const { headers = {} } = apiConfig ?? {};
|
|
12813
|
-
headers["X-Schematic-Components-Version"] = "0.4.
|
|
12827
|
+
headers["X-Schematic-Components-Version"] = "0.4.9";
|
|
12814
12828
|
headers["X-Schematic-Session-ID"] = sessionIdRef.current;
|
|
12815
12829
|
const config = new Configuration({
|
|
12816
12830
|
...apiConfig,
|
|
@@ -12853,10 +12867,11 @@ var EmbedProvider = ({
|
|
|
12853
12867
|
error: state.error,
|
|
12854
12868
|
isPending: state.isPending,
|
|
12855
12869
|
hydrate,
|
|
12870
|
+
setIsPending,
|
|
12856
12871
|
setData,
|
|
12857
|
-
updateSettings,
|
|
12858
12872
|
setLayout,
|
|
12859
|
-
setSelected
|
|
12873
|
+
setSelected,
|
|
12874
|
+
updateSettings
|
|
12860
12875
|
},
|
|
12861
12876
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ot, { theme: state.settings.theme, children: [
|
|
12862
12877
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlobalStyle, {}),
|
|
@@ -12959,6 +12974,10 @@ function lighten(color, amount) {
|
|
|
12959
12974
|
function darken(color, amount) {
|
|
12960
12975
|
return adjustLightness(color, -amount);
|
|
12961
12976
|
}
|
|
12977
|
+
function hsla(color, amount) {
|
|
12978
|
+
const { h, s: s2, l: l2 } = hexToHSL(color);
|
|
12979
|
+
return `hsla(${h}, ${s2}%, ${l2}%, ${amount})`;
|
|
12980
|
+
}
|
|
12962
12981
|
|
|
12963
12982
|
// src/utils/date.ts
|
|
12964
12983
|
function toPrettyDate(date, format) {
|
|
@@ -13257,7 +13276,7 @@ var Button2 = (0, import_react16.forwardRef)(
|
|
|
13257
13276
|
disabled,
|
|
13258
13277
|
...props,
|
|
13259
13278
|
children: [
|
|
13260
|
-
|
|
13279
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Loader, { $size: "sm", $isLoading: isLoading }),
|
|
13261
13280
|
children
|
|
13262
13281
|
]
|
|
13263
13282
|
}
|
|
@@ -13570,60 +13589,64 @@ var icons_default = {
|
|
|
13570
13589
|
"folder-plus": 61753,
|
|
13571
13590
|
folder: 61754,
|
|
13572
13591
|
"generic-payment": 61755,
|
|
13573
|
-
|
|
13574
|
-
|
|
13575
|
-
|
|
13576
|
-
|
|
13577
|
-
|
|
13578
|
-
|
|
13579
|
-
|
|
13580
|
-
|
|
13581
|
-
|
|
13582
|
-
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
13587
|
-
|
|
13588
|
-
|
|
13589
|
-
"
|
|
13590
|
-
|
|
13591
|
-
|
|
13592
|
-
|
|
13593
|
-
|
|
13594
|
-
|
|
13595
|
-
|
|
13596
|
-
|
|
13597
|
-
|
|
13598
|
-
|
|
13599
|
-
|
|
13600
|
-
|
|
13601
|
-
|
|
13602
|
-
|
|
13603
|
-
|
|
13604
|
-
|
|
13605
|
-
|
|
13606
|
-
|
|
13607
|
-
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
"
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
|
|
13592
|
+
github: 61756,
|
|
13593
|
+
glasses: 61757,
|
|
13594
|
+
globe: 61758,
|
|
13595
|
+
google: 61759,
|
|
13596
|
+
hammer: 61760,
|
|
13597
|
+
hash: 61761,
|
|
13598
|
+
heart: 61762,
|
|
13599
|
+
hubspot: 61763,
|
|
13600
|
+
image: 61764,
|
|
13601
|
+
"info-rounded": 61765,
|
|
13602
|
+
juice: 61766,
|
|
13603
|
+
key: 61767,
|
|
13604
|
+
link: 61768,
|
|
13605
|
+
mastercard: 61769,
|
|
13606
|
+
move: 61770,
|
|
13607
|
+
music: 61771,
|
|
13608
|
+
"node-minus": 61772,
|
|
13609
|
+
"node-plus": 61773,
|
|
13610
|
+
package: 61774,
|
|
13611
|
+
"paper-plane": 61775,
|
|
13612
|
+
paypal: 61776,
|
|
13613
|
+
pencil: 61777,
|
|
13614
|
+
percent: 61778,
|
|
13615
|
+
picker: 61779,
|
|
13616
|
+
plan: 61780,
|
|
13617
|
+
plug: 61781,
|
|
13618
|
+
"plus-minus": 61782,
|
|
13619
|
+
"plus-rounded-outline": 61783,
|
|
13620
|
+
present: 61784,
|
|
13621
|
+
schematic: 61785,
|
|
13622
|
+
search: 61786,
|
|
13623
|
+
segment: 61787,
|
|
13624
|
+
"server-search": 61788,
|
|
13625
|
+
sidebar: 61789,
|
|
13626
|
+
signal: 61790,
|
|
13627
|
+
silence: 61791,
|
|
13628
|
+
spade: 61792,
|
|
13629
|
+
speaker: 61793,
|
|
13630
|
+
stacked: 61794,
|
|
13631
|
+
stacks: 61795,
|
|
13632
|
+
stripe: 61796,
|
|
13633
|
+
text: 61797,
|
|
13634
|
+
thunder: 61798,
|
|
13635
|
+
tornado: 61799,
|
|
13636
|
+
truck: 61800,
|
|
13637
|
+
tube: 61801,
|
|
13638
|
+
unprotected: 61802,
|
|
13639
|
+
unsubscribe: 61803,
|
|
13640
|
+
verified: 61804,
|
|
13641
|
+
"video-camera": 61805,
|
|
13642
|
+
visa: 61806,
|
|
13643
|
+
wallet: 61807,
|
|
13644
|
+
"watch-hand": 61808,
|
|
13645
|
+
"watch-pocket": 61809,
|
|
13646
|
+
"water-drop": 61810,
|
|
13647
|
+
waves: 61811,
|
|
13648
|
+
webhook: 61812,
|
|
13649
|
+
wind: 61813
|
|
13627
13650
|
};
|
|
13628
13651
|
|
|
13629
13652
|
// src/components/ui/icon/IconRound.tsx
|
|
@@ -13744,12 +13767,27 @@ var spin = mt`
|
|
|
13744
13767
|
var Loader = dt.div`
|
|
13745
13768
|
display: inline-block;
|
|
13746
13769
|
border-style: solid;
|
|
13747
|
-
border-color: hsla(0, 0%, 50%, 0.125);
|
|
13748
|
-
border-top-color: ${({ theme, $color }) => $color || theme.primary};
|
|
13749
13770
|
border-radius: 50%;
|
|
13750
13771
|
transition: all 0.1s;
|
|
13751
13772
|
animation: 1.5s linear infinite ${spin};
|
|
13752
13773
|
|
|
13774
|
+
${({ $color, theme }) => {
|
|
13775
|
+
const { l: l2 } = hexToHSL(theme.card.background);
|
|
13776
|
+
let color = $color;
|
|
13777
|
+
let colorFn;
|
|
13778
|
+
if (l2 > 50) {
|
|
13779
|
+
color = color ?? "#000000";
|
|
13780
|
+
colorFn = lighten;
|
|
13781
|
+
} else {
|
|
13782
|
+
color = color ?? "#FFFFFF";
|
|
13783
|
+
colorFn = darken;
|
|
13784
|
+
}
|
|
13785
|
+
return lt`
|
|
13786
|
+
border-color: ${color};
|
|
13787
|
+
border-top-color: ${colorFn(color, 42.5)};
|
|
13788
|
+
`;
|
|
13789
|
+
}}
|
|
13790
|
+
|
|
13753
13791
|
${({ $size = "md", $isLoading = true }) => {
|
|
13754
13792
|
let px;
|
|
13755
13793
|
switch ($size) {
|
|
@@ -14233,7 +14271,7 @@ var Root = (0, import_react20.forwardRef)(
|
|
|
14233
14271
|
Root.displayName = "Root";
|
|
14234
14272
|
|
|
14235
14273
|
// src/components/layout/viewport/Viewport.tsx
|
|
14236
|
-
var
|
|
14274
|
+
var import_react28 = require("react");
|
|
14237
14275
|
var import_react_dom2 = require("react-dom");
|
|
14238
14276
|
|
|
14239
14277
|
// src/components/shared/checkout-dialog/CheckoutDialog.tsx
|
|
@@ -14366,7 +14404,8 @@ var StageButton = ({
|
|
|
14366
14404
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14367
14405
|
EmbedButton,
|
|
14368
14406
|
{
|
|
14369
|
-
|
|
14407
|
+
type: "button",
|
|
14408
|
+
disabled: isLoading || !canUpdateSubscription,
|
|
14370
14409
|
onClick: checkout,
|
|
14371
14410
|
isLoading,
|
|
14372
14411
|
children: t2("Subscribe and close")
|
|
@@ -14379,9 +14418,10 @@ var StageButton = ({
|
|
|
14379
14418
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14380
14419
|
EmbedButton,
|
|
14381
14420
|
{
|
|
14421
|
+
type: "button",
|
|
14382
14422
|
disabled: !hasAddOns && !canUpdateSubscription,
|
|
14383
14423
|
onClick: async () => {
|
|
14384
|
-
setCheckoutStage("checkout");
|
|
14424
|
+
setCheckoutStage?.("checkout");
|
|
14385
14425
|
},
|
|
14386
14426
|
isLoading,
|
|
14387
14427
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14405,6 +14445,7 @@ var StageButton = ({
|
|
|
14405
14445
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14406
14446
|
EmbedButton,
|
|
14407
14447
|
{
|
|
14448
|
+
type: "button",
|
|
14408
14449
|
disabled: !canUpdateSubscription,
|
|
14409
14450
|
onClick: async () => {
|
|
14410
14451
|
checkout();
|
|
@@ -14426,7 +14467,7 @@ var StageButton = ({
|
|
|
14426
14467
|
}
|
|
14427
14468
|
);
|
|
14428
14469
|
}
|
|
14429
|
-
if (!requiresPayment && !checkoutStages
|
|
14470
|
+
if (!requiresPayment && !checkoutStages?.some(
|
|
14430
14471
|
(stage) => stage.id === "addons" || stage.id === "usage"
|
|
14431
14472
|
)) {
|
|
14432
14473
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(NoPaymentRequired, {});
|
|
@@ -14434,9 +14475,10 @@ var StageButton = ({
|
|
|
14434
14475
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14435
14476
|
EmbedButton,
|
|
14436
14477
|
{
|
|
14478
|
+
type: "button",
|
|
14437
14479
|
disabled: !canUpdateSubscription,
|
|
14438
14480
|
onClick: async () => {
|
|
14439
|
-
setCheckoutStage(
|
|
14481
|
+
setCheckoutStage?.(
|
|
14440
14482
|
hasPayInAdvanceEntitlements ? "usage" : hasAddOns ? "addons" : "checkout"
|
|
14441
14483
|
);
|
|
14442
14484
|
},
|
|
@@ -14467,9 +14509,10 @@ var StageButton = ({
|
|
|
14467
14509
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14468
14510
|
EmbedButton,
|
|
14469
14511
|
{
|
|
14512
|
+
type: "button",
|
|
14470
14513
|
disabled: !canUpdateSubscription,
|
|
14471
14514
|
onClick: async () => {
|
|
14472
|
-
setCheckoutStage(hasAddOns ? "addons" : "checkout");
|
|
14515
|
+
setCheckoutStage?.(hasAddOns ? "addons" : "checkout");
|
|
14473
14516
|
},
|
|
14474
14517
|
isLoading,
|
|
14475
14518
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14497,9 +14540,10 @@ var StageButton = ({
|
|
|
14497
14540
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14498
14541
|
EmbedButton,
|
|
14499
14542
|
{
|
|
14543
|
+
type: "button",
|
|
14500
14544
|
disabled: !canUpdateSubscription,
|
|
14501
14545
|
onClick: async () => {
|
|
14502
|
-
setCheckoutStage("checkout");
|
|
14546
|
+
setCheckoutStage?.("checkout");
|
|
14503
14547
|
},
|
|
14504
14548
|
isLoading,
|
|
14505
14549
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14527,6 +14571,7 @@ var StageButton = ({
|
|
|
14527
14571
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14528
14572
|
EmbedButton,
|
|
14529
14573
|
{
|
|
14574
|
+
type: "button",
|
|
14530
14575
|
disabled: isLoading || !canCheckout,
|
|
14531
14576
|
onClick: checkout,
|
|
14532
14577
|
isLoading,
|
|
@@ -14539,33 +14584,49 @@ var StageButton = ({
|
|
|
14539
14584
|
// src/components/shared/sidebar/Sidebar.tsx
|
|
14540
14585
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
14541
14586
|
var Sidebar = ({
|
|
14587
|
+
planPeriod,
|
|
14588
|
+
selectedPlan,
|
|
14542
14589
|
addOns,
|
|
14590
|
+
usageBasedEntitlements,
|
|
14543
14591
|
charges,
|
|
14544
14592
|
checkoutRef,
|
|
14545
14593
|
checkoutStage,
|
|
14546
14594
|
checkoutStages,
|
|
14547
|
-
currentAddOns,
|
|
14548
|
-
currentUsageBasedEntitlements,
|
|
14549
14595
|
error,
|
|
14550
|
-
currentPlan,
|
|
14551
14596
|
isLoading,
|
|
14552
14597
|
paymentMethodId,
|
|
14553
|
-
planPeriod,
|
|
14554
14598
|
promoCode,
|
|
14555
14599
|
requiresPayment,
|
|
14556
|
-
selectedPlan,
|
|
14557
14600
|
setCheckoutStage,
|
|
14558
14601
|
setError,
|
|
14602
|
+
setIsLoading,
|
|
14559
14603
|
showPaymentForm,
|
|
14560
|
-
toggleLoading,
|
|
14561
14604
|
updatePromoCode,
|
|
14562
|
-
usageBasedEntitlements,
|
|
14563
14605
|
showHeader = true
|
|
14564
14606
|
}) => {
|
|
14565
14607
|
const { t: t2 } = useTranslation();
|
|
14566
14608
|
const theme = nt();
|
|
14567
|
-
const { api, data, mode, layout, setLayout } = useEmbed();
|
|
14609
|
+
const { api, data, mode, layout, hydrate, setLayout } = useEmbed();
|
|
14568
14610
|
const isLightBackground = useIsLightBackground();
|
|
14611
|
+
const currentPlan = data.company?.plan;
|
|
14612
|
+
const currentAddOns = data.company?.addOns || [];
|
|
14613
|
+
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
14614
|
+
(acc, usageData) => {
|
|
14615
|
+
const featureUsage = data.featureUsage?.features.find(
|
|
14616
|
+
(usage2) => usage2.feature?.id === usageData.featureId
|
|
14617
|
+
);
|
|
14618
|
+
const allocation = featureUsage?.allocation || 0;
|
|
14619
|
+
const usage = featureUsage?.usage || 0;
|
|
14620
|
+
acc.push({
|
|
14621
|
+
usageData,
|
|
14622
|
+
allocation,
|
|
14623
|
+
quantity: allocation ?? usage,
|
|
14624
|
+
usage
|
|
14625
|
+
});
|
|
14626
|
+
return acc;
|
|
14627
|
+
},
|
|
14628
|
+
[]
|
|
14629
|
+
);
|
|
14569
14630
|
const payInAdvanceEntitlements = usageBasedEntitlements.filter(
|
|
14570
14631
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
14571
14632
|
);
|
|
@@ -14573,15 +14634,17 @@ var Sidebar = ({
|
|
|
14573
14634
|
({ entitlement }) => entitlement.priceBehavior === "pay_as_you_go"
|
|
14574
14635
|
);
|
|
14575
14636
|
const subscriptionPrice = (0, import_react21.useMemo)(() => {
|
|
14576
|
-
const plan = selectedPlan || currentPlan;
|
|
14577
|
-
if (!plan || !plan.monthlyPrice || !plan.yearlyPrice) {
|
|
14578
|
-
return;
|
|
14579
|
-
}
|
|
14580
14637
|
let total = 0;
|
|
14581
|
-
|
|
14582
|
-
|
|
14583
|
-
if (
|
|
14584
|
-
|
|
14638
|
+
let planPrice;
|
|
14639
|
+
let currency;
|
|
14640
|
+
if (selectedPlan) {
|
|
14641
|
+
planPrice = planPeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price;
|
|
14642
|
+
currency = planPeriod === "month" ? selectedPlan.monthlyPrice?.currency : selectedPlan.yearlyPrice?.currency;
|
|
14643
|
+
if (planPrice) {
|
|
14644
|
+
total += planPrice;
|
|
14645
|
+
}
|
|
14646
|
+
} else if (typeof currentPlan?.planPrice === "number") {
|
|
14647
|
+
planPrice = currentPlan.planPrice;
|
|
14585
14648
|
}
|
|
14586
14649
|
const addOnCost = addOns.reduce(
|
|
14587
14650
|
(sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price ?? 0 : 0),
|
|
@@ -14612,7 +14675,7 @@ var Sidebar = ({
|
|
|
14612
14675
|
}
|
|
14613
14676
|
try {
|
|
14614
14677
|
setError(void 0);
|
|
14615
|
-
|
|
14678
|
+
setIsLoading(true);
|
|
14616
14679
|
await api.checkout({
|
|
14617
14680
|
changeSubscriptionRequestBody: {
|
|
14618
14681
|
newPlanId: selectedPlan.id,
|
|
@@ -14646,24 +14709,28 @@ var Sidebar = ({
|
|
|
14646
14709
|
...promoCode && { promoCode }
|
|
14647
14710
|
}
|
|
14648
14711
|
});
|
|
14649
|
-
|
|
14712
|
+
setIsLoading(false);
|
|
14713
|
+
setLayout("portal");
|
|
14714
|
+
hydrate();
|
|
14650
14715
|
} catch {
|
|
14716
|
+
setLayout("checkout");
|
|
14651
14717
|
setError(
|
|
14652
14718
|
t2("Error processing payment. Please try a different payment method.")
|
|
14653
14719
|
);
|
|
14654
14720
|
} finally {
|
|
14655
|
-
|
|
14721
|
+
setIsLoading(false);
|
|
14656
14722
|
}
|
|
14657
14723
|
}, [
|
|
14658
14724
|
t2,
|
|
14659
14725
|
api,
|
|
14726
|
+
hydrate,
|
|
14660
14727
|
paymentMethodId,
|
|
14661
14728
|
planPeriod,
|
|
14662
14729
|
selectedPlan,
|
|
14663
14730
|
addOns,
|
|
14664
14731
|
setError,
|
|
14732
|
+
setIsLoading,
|
|
14665
14733
|
setLayout,
|
|
14666
|
-
toggleLoading,
|
|
14667
14734
|
payInAdvanceEntitlements,
|
|
14668
14735
|
promoCode
|
|
14669
14736
|
]);
|
|
@@ -14673,15 +14740,17 @@ var Sidebar = ({
|
|
|
14673
14740
|
}
|
|
14674
14741
|
try {
|
|
14675
14742
|
setError(void 0);
|
|
14676
|
-
|
|
14743
|
+
setIsLoading(true);
|
|
14677
14744
|
await api.checkoutUnsubscribe();
|
|
14678
|
-
|
|
14745
|
+
setLayout("portal");
|
|
14746
|
+
hydrate();
|
|
14679
14747
|
} catch {
|
|
14748
|
+
setLayout("unsubscribe");
|
|
14680
14749
|
setError(t2("Unsubscribe failed"));
|
|
14681
14750
|
} finally {
|
|
14682
|
-
|
|
14751
|
+
setIsLoading(false);
|
|
14683
14752
|
}
|
|
14684
|
-
}, [api, setError,
|
|
14753
|
+
}, [t2, api, hydrate, setError, setIsLoading, setLayout]);
|
|
14685
14754
|
const selectedAddOns = addOns.filter((addOn) => addOn.isSelected);
|
|
14686
14755
|
const willPlanChange = typeof selectedPlan !== "undefined" && !selectedPlan.current;
|
|
14687
14756
|
const canUpdateSubscription = mode === "edit" || api !== null && (willPlanChange || // TODO: test add-on comparison for finding "changes"
|
|
@@ -14718,12 +14787,12 @@ var Sidebar = ({
|
|
|
14718
14787
|
(acc, current) => {
|
|
14719
14788
|
const match2 = usageBasedEntitlements.every(
|
|
14720
14789
|
({ entitlement }) => entitlement.featureId !== current.usageData.featureId
|
|
14721
|
-
) &&
|
|
14722
|
-
(
|
|
14790
|
+
) && data.featureUsage?.features.find(
|
|
14791
|
+
(usage) => usage.feature?.id === current.usageData.featureId
|
|
14723
14792
|
);
|
|
14724
14793
|
if (match2) {
|
|
14725
14794
|
acc.push({
|
|
14726
|
-
|
|
14795
|
+
usage: match2,
|
|
14727
14796
|
allocation: current.allocation,
|
|
14728
14797
|
quantity: current.quantity
|
|
14729
14798
|
});
|
|
@@ -14933,9 +15002,9 @@ var Sidebar = ({
|
|
|
14933
15002
|
}
|
|
14934
15003
|
) }),
|
|
14935
15004
|
removedUsageBasedEntitlements.reduce(
|
|
14936
|
-
(acc, { allocation, quantity,
|
|
14937
|
-
if (typeof allocation === "number" &&
|
|
14938
|
-
const price = (planPeriod === "month" ?
|
|
15005
|
+
(acc, { allocation, quantity, usage }) => {
|
|
15006
|
+
if (typeof allocation === "number" && usage.feature?.name) {
|
|
15007
|
+
const price = (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.price;
|
|
14939
15008
|
acc.push(
|
|
14940
15009
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
14941
15010
|
Flex,
|
|
@@ -14954,11 +15023,11 @@ var Sidebar = ({
|
|
|
14954
15023
|
$size: theme.typography.heading4.fontSize,
|
|
14955
15024
|
$weight: theme.typography.heading4.fontWeight,
|
|
14956
15025
|
$color: theme.typography.heading4.color,
|
|
14957
|
-
children:
|
|
15026
|
+
children: usage.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14958
15027
|
quantity,
|
|
14959
15028
|
" ",
|
|
14960
|
-
(0, import_pluralize.default)(
|
|
14961
|
-
] }) :
|
|
15029
|
+
(0, import_pluralize.default)(usage.feature.name, quantity)
|
|
15030
|
+
] }) : usage.feature.name
|
|
14962
15031
|
}
|
|
14963
15032
|
) }),
|
|
14964
15033
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
@@ -14969,25 +15038,25 @@ var Sidebar = ({
|
|
|
14969
15038
|
$weight: theme.typography.text.fontWeight,
|
|
14970
15039
|
$color: theme.typography.text.color,
|
|
14971
15040
|
children: [
|
|
14972
|
-
|
|
15041
|
+
usage.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14973
15042
|
formatCurrency(
|
|
14974
15043
|
price * quantity,
|
|
14975
|
-
(planPeriod === "month" ?
|
|
15044
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14976
15045
|
),
|
|
14977
15046
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
|
|
14978
15047
|
"/",
|
|
14979
15048
|
shortenPeriod(planPeriod)
|
|
14980
15049
|
] })
|
|
14981
15050
|
] }),
|
|
14982
|
-
|
|
15051
|
+
usage.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14983
15052
|
formatCurrency(
|
|
14984
15053
|
price,
|
|
14985
|
-
(planPeriod === "month" ?
|
|
15054
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14986
15055
|
),
|
|
14987
15056
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
|
|
14988
15057
|
"/",
|
|
14989
15058
|
(0, import_pluralize.default)(
|
|
14990
|
-
|
|
15059
|
+
usage.feature.name.toLowerCase(),
|
|
14991
15060
|
1
|
|
14992
15061
|
)
|
|
14993
15062
|
] })
|
|
@@ -14997,7 +15066,7 @@ var Sidebar = ({
|
|
|
14997
15066
|
) })
|
|
14998
15067
|
]
|
|
14999
15068
|
},
|
|
15000
|
-
|
|
15069
|
+
usage.entitlementId
|
|
15001
15070
|
)
|
|
15002
15071
|
);
|
|
15003
15072
|
}
|
|
@@ -15332,7 +15401,7 @@ var Sidebar = ({
|
|
|
15332
15401
|
children: proration > 0 ? t2("Proration") : !selectedPlan?.companyCanTrial && t2("Credits")
|
|
15333
15402
|
}
|
|
15334
15403
|
) }),
|
|
15335
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan
|
|
15404
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
15336
15405
|
Flex,
|
|
15337
15406
|
{
|
|
15338
15407
|
$justifyContent: "space-between",
|
|
@@ -15420,7 +15489,7 @@ var Sidebar = ({
|
|
|
15420
15489
|
{
|
|
15421
15490
|
$cursor: "pointer",
|
|
15422
15491
|
onClick: () => {
|
|
15423
|
-
updatePromoCode(void 0);
|
|
15492
|
+
updatePromoCode?.(void 0);
|
|
15424
15493
|
},
|
|
15425
15494
|
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15426
15495
|
Icon2,
|
|
@@ -15633,16 +15702,7 @@ var Sidebar = ({
|
|
|
15633
15702
|
trialPaymentMethodRequired: data.trialPaymentMethodRequired === true
|
|
15634
15703
|
}
|
|
15635
15704
|
),
|
|
15636
|
-
layout === "unsubscribe" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15637
|
-
EmbedButton,
|
|
15638
|
-
{
|
|
15639
|
-
onClick: async () => {
|
|
15640
|
-
unsubscribe();
|
|
15641
|
-
},
|
|
15642
|
-
isLoading,
|
|
15643
|
-
children: t2("Cancel subscription")
|
|
15644
|
-
}
|
|
15645
|
-
),
|
|
15705
|
+
layout === "unsubscribe" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(EmbedButton, { onClick: unsubscribe, isLoading, children: t2("Cancel subscription") }),
|
|
15646
15706
|
!isLoading && error && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15647
15707
|
Text,
|
|
15648
15708
|
{
|
|
@@ -15839,15 +15899,7 @@ var Plan = ({
|
|
|
15839
15899
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
15840
15900
|
children: [
|
|
15841
15901
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
15842
|
-
plan.entitlements.
|
|
15843
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
15844
|
-
return 1;
|
|
15845
|
-
}
|
|
15846
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
15847
|
-
return -1;
|
|
15848
|
-
}
|
|
15849
|
-
return 0;
|
|
15850
|
-
}).reduce((acc, entitlement) => {
|
|
15902
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
15851
15903
|
const hasNumericValue = entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait";
|
|
15852
15904
|
let metricPeriodText;
|
|
15853
15905
|
if (hasNumericValue && entitlement.metricPeriod) {
|
|
@@ -15993,7 +16045,8 @@ var Plan = ({
|
|
|
15993
16045
|
) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
15994
16046
|
EmbedButton,
|
|
15995
16047
|
{
|
|
15996
|
-
|
|
16048
|
+
type: "button",
|
|
16049
|
+
disabled: (isLoading || !plan.valid) && !plan.custom,
|
|
15997
16050
|
...{
|
|
15998
16051
|
onClick: () => {
|
|
15999
16052
|
if (plan.custom) {
|
|
@@ -16130,6 +16183,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16130
16183
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Flex, { $flexDirection: "column", $justifyContent: "end", $flexGrow: "1", children: !addOn.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
16131
16184
|
EmbedButton,
|
|
16132
16185
|
{
|
|
16186
|
+
type: "button",
|
|
16133
16187
|
disabled: isLoading || !addOn.valid,
|
|
16134
16188
|
onClick: () => toggle(addOn.id),
|
|
16135
16189
|
$size: "sm",
|
|
@@ -16140,6 +16194,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16140
16194
|
) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
16141
16195
|
EmbedButton,
|
|
16142
16196
|
{
|
|
16197
|
+
type: "button",
|
|
16143
16198
|
disabled: isLoading || !addOn.valid,
|
|
16144
16199
|
onClick: () => toggle(addOn.id),
|
|
16145
16200
|
$size: "sm",
|
|
@@ -16178,15 +16233,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16178
16233
|
const cardPadding = theme.card.padding / TEXT_BASE_SIZE;
|
|
16179
16234
|
const unitPriceFontSize = 0.875 * theme.typography.text.fontSize;
|
|
16180
16235
|
const unitPriceColor = hexToHSL(theme.typography.text.color).l > 50 ? darken(theme.typography.text.color, 0.46) : lighten(theme.typography.text.color, 0.46);
|
|
16181
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.
|
|
16182
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name > b2.entitlement.feature?.name) {
|
|
16183
|
-
return 1;
|
|
16184
|
-
}
|
|
16185
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name < b2.entitlement.feature?.name) {
|
|
16186
|
-
return -1;
|
|
16187
|
-
}
|
|
16188
|
-
return 0;
|
|
16189
|
-
}).reduce(
|
|
16236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.reduce(
|
|
16190
16237
|
(acc, { entitlement, quantity, usage }) => {
|
|
16191
16238
|
if (entitlement.priceBehavior === "pay_in_advance" && entitlement.feature) {
|
|
16192
16239
|
acc.push(
|
|
@@ -16319,10 +16366,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16319
16366
|
),
|
|
16320
16367
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("sub", { children: [
|
|
16321
16368
|
"/",
|
|
16322
|
-
(0, import_pluralize3.default)(
|
|
16323
|
-
entitlement.feature.name.toLowerCase(),
|
|
16324
|
-
1
|
|
16325
|
-
),
|
|
16369
|
+
(0, import_pluralize3.default)(entitlement.feature.name.toLowerCase(), 1),
|
|
16326
16370
|
"/",
|
|
16327
16371
|
shortenPeriod(period)
|
|
16328
16372
|
] })
|
|
@@ -16348,6 +16392,10 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16348
16392
|
var import_react23 = require("react");
|
|
16349
16393
|
|
|
16350
16394
|
// node_modules/@stripe/stripe-js/dist/index.mjs
|
|
16395
|
+
var RELEASE_TRAIN = "v3";
|
|
16396
|
+
var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion2(version) {
|
|
16397
|
+
return version === 3 ? "v3" : version;
|
|
16398
|
+
};
|
|
16351
16399
|
var ORIGIN = "https://js.stripe.com";
|
|
16352
16400
|
var STRIPE_JS_URL = "".concat(ORIGIN, "/v3");
|
|
16353
16401
|
var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
@@ -16384,7 +16432,7 @@ var registerWrapper = function registerWrapper2(stripe, startTime) {
|
|
|
16384
16432
|
}
|
|
16385
16433
|
stripe._registerWrapper({
|
|
16386
16434
|
name: "stripe-js",
|
|
16387
|
-
version: "5.
|
|
16435
|
+
version: "5.10.0",
|
|
16388
16436
|
startTime
|
|
16389
16437
|
});
|
|
16390
16438
|
};
|
|
@@ -16392,8 +16440,10 @@ var stripePromise$1 = null;
|
|
|
16392
16440
|
var onErrorListener = null;
|
|
16393
16441
|
var onLoadListener = null;
|
|
16394
16442
|
var onError = function onError2(reject) {
|
|
16395
|
-
return function() {
|
|
16396
|
-
reject(new Error("Failed to load Stripe.js"
|
|
16443
|
+
return function(cause) {
|
|
16444
|
+
reject(new Error("Failed to load Stripe.js", {
|
|
16445
|
+
cause
|
|
16446
|
+
}));
|
|
16397
16447
|
};
|
|
16398
16448
|
};
|
|
16399
16449
|
var onLoad = function onLoad2(resolve, reject) {
|
|
@@ -16452,6 +16502,13 @@ var initStripe = function initStripe2(maybeStripe, args, startTime) {
|
|
|
16452
16502
|
if (maybeStripe === null) {
|
|
16453
16503
|
return null;
|
|
16454
16504
|
}
|
|
16505
|
+
var pk = args[0];
|
|
16506
|
+
var isTestKey = pk.match(/^pk_test/);
|
|
16507
|
+
var version = runtimeVersionToUrlVersion(maybeStripe.version);
|
|
16508
|
+
var expectedVersion = RELEASE_TRAIN;
|
|
16509
|
+
if (isTestKey && version !== expectedVersion) {
|
|
16510
|
+
console.warn("Stripe.js@".concat(version, " was loaded on the page, but @stripe/stripe-js@").concat("5.10.0", " expected Stripe.js@").concat(expectedVersion, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
|
|
16511
|
+
}
|
|
16455
16512
|
var stripe = maybeStripe.apply(void 0, args);
|
|
16456
16513
|
registerWrapper(stripe, startTime);
|
|
16457
16514
|
return stripe;
|
|
@@ -16687,30 +16744,14 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16687
16744
|
(plan) => selected.planId ? plan.id === selected.planId : plan.current
|
|
16688
16745
|
)
|
|
16689
16746
|
);
|
|
16690
|
-
const currentAddOns = data.company?.addOns || [];
|
|
16691
16747
|
const [addOns, setAddOns] = (0, import_react24.useState)(
|
|
16692
16748
|
() => availableAddOns.map((addOn) => ({
|
|
16693
16749
|
...addOn,
|
|
16694
|
-
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId :
|
|
16750
|
+
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : (data.company?.addOns || []).some(
|
|
16751
|
+
(currentAddOn) => addOn.id === currentAddOn.id
|
|
16752
|
+
)
|
|
16695
16753
|
}))
|
|
16696
16754
|
);
|
|
16697
|
-
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
16698
|
-
(acc, usageData) => {
|
|
16699
|
-
const featureUsage = data.featureUsage?.features.find(
|
|
16700
|
-
(usage2) => usage2.feature?.id === usageData.featureId
|
|
16701
|
-
);
|
|
16702
|
-
const allocation = featureUsage?.allocation || 0;
|
|
16703
|
-
const usage = featureUsage?.usage || 0;
|
|
16704
|
-
acc.push({
|
|
16705
|
-
usageData,
|
|
16706
|
-
allocation,
|
|
16707
|
-
quantity: allocation ?? usage,
|
|
16708
|
-
usage
|
|
16709
|
-
});
|
|
16710
|
-
return acc;
|
|
16711
|
-
},
|
|
16712
|
-
[]
|
|
16713
|
-
);
|
|
16714
16755
|
const createActiveUsageBasedEntitlementsReducer = (0, import_react24.useCallback)(
|
|
16715
16756
|
(period = planPeriod) => (acc, entitlement) => {
|
|
16716
16757
|
if (entitlement.priceBehavior && (period === "month" && entitlement.meteredMonthlyPrice || period === "year" && entitlement.meteredYearlyPrice)) {
|
|
@@ -16736,12 +16777,6 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16736
16777
|
[]
|
|
16737
16778
|
)
|
|
16738
16779
|
);
|
|
16739
|
-
const currentPlan = (0, import_react24.useMemo)(
|
|
16740
|
-
() => availablePlans.find(
|
|
16741
|
-
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
16742
|
-
),
|
|
16743
|
-
[data.company?.plan, planPeriod, availablePlans]
|
|
16744
|
-
);
|
|
16745
16780
|
const payInAdvanceEntitlements = (0, import_react24.useMemo)(
|
|
16746
16781
|
() => usageBasedEntitlements.filter(
|
|
16747
16782
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
@@ -16798,7 +16833,7 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16798
16833
|
if (selected.usage) {
|
|
16799
16834
|
return "usage";
|
|
16800
16835
|
}
|
|
16801
|
-
if (selected.planId !==
|
|
16836
|
+
if (selected.planId !== data.company?.plan?.id) {
|
|
16802
16837
|
return checkoutStages.some((stage) => stage.id === "usage") ? "usage" : checkoutStages.some((stage) => stage.id === "addons") ? "addons" : "plan";
|
|
16803
16838
|
}
|
|
16804
16839
|
return "plan";
|
|
@@ -17143,27 +17178,24 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
17143
17178
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
17144
17179
|
Sidebar,
|
|
17145
17180
|
{
|
|
17181
|
+
planPeriod,
|
|
17182
|
+
selectedPlan,
|
|
17146
17183
|
addOns,
|
|
17184
|
+
usageBasedEntitlements,
|
|
17147
17185
|
charges,
|
|
17148
17186
|
checkoutRef,
|
|
17149
17187
|
checkoutStage,
|
|
17150
17188
|
checkoutStages,
|
|
17151
|
-
currentAddOns,
|
|
17152
|
-
currentUsageBasedEntitlements,
|
|
17153
17189
|
error,
|
|
17154
|
-
currentPlan,
|
|
17155
17190
|
isLoading,
|
|
17156
17191
|
paymentMethodId,
|
|
17157
|
-
planPeriod,
|
|
17158
17192
|
promoCode,
|
|
17159
17193
|
requiresPayment,
|
|
17160
|
-
selectedPlan,
|
|
17161
17194
|
setCheckoutStage: (stage) => setCheckoutStage(stage),
|
|
17162
17195
|
setError: (msg) => setError(msg),
|
|
17196
|
+
setIsLoading,
|
|
17163
17197
|
showPaymentForm,
|
|
17164
|
-
|
|
17165
|
-
updatePromoCode: (code) => updatePromoCode(code),
|
|
17166
|
-
usageBasedEntitlements
|
|
17198
|
+
updatePromoCode: (code) => updatePromoCode(code)
|
|
17167
17199
|
}
|
|
17168
17200
|
)
|
|
17169
17201
|
]
|
|
@@ -17364,65 +17396,45 @@ var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
|
17364
17396
|
var UnsubscribeDialog = () => {
|
|
17365
17397
|
const { t: t2 } = useTranslation();
|
|
17366
17398
|
const theme = nt();
|
|
17367
|
-
const { data, setSelected } = useEmbed();
|
|
17399
|
+
const { data, setLayout, setSelected } = useEmbed();
|
|
17368
17400
|
const [error, setError] = (0, import_react27.useState)();
|
|
17369
17401
|
const [isLoading, setIsLoading] = (0, import_react27.useState)(false);
|
|
17370
17402
|
const planPeriod = (0, import_react27.useMemo)(
|
|
17371
17403
|
() => data.company?.plan?.planPeriod ?? "month",
|
|
17372
17404
|
[data.company?.plan?.planPeriod]
|
|
17373
17405
|
);
|
|
17374
|
-
const {
|
|
17375
|
-
const
|
|
17376
|
-
() => (
|
|
17377
|
-
|
|
17378
|
-
|
|
17379
|
-
|
|
17380
|
-
}),
|
|
17381
|
-
[data.company?.plan]
|
|
17382
|
-
);
|
|
17383
|
-
const currentAddOns = (0, import_react27.useMemo)(
|
|
17384
|
-
() => data.company?.addOns || [],
|
|
17385
|
-
[data.company?.addOns]
|
|
17386
|
-
);
|
|
17387
|
-
const addOns = (0, import_react27.useMemo)(
|
|
17388
|
-
() => currentAddOns.map((addOn) => ({
|
|
17389
|
-
...addOn,
|
|
17390
|
-
isSelected: true,
|
|
17391
|
-
monthlyPrice: {
|
|
17392
|
-
price: addOn.planPrice
|
|
17393
|
-
},
|
|
17394
|
-
yearlyPrice: {
|
|
17395
|
-
price: addOn.planPrice
|
|
17396
|
-
}
|
|
17397
|
-
})),
|
|
17398
|
-
[currentAddOns]
|
|
17406
|
+
const { plans: availablePlans, addOns: availableAddOns } = useAvailablePlans(planPeriod);
|
|
17407
|
+
const selectedPlan = (0, import_react27.useMemo)(
|
|
17408
|
+
() => availablePlans.find(
|
|
17409
|
+
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
17410
|
+
),
|
|
17411
|
+
[data.company?.plan, planPeriod, availablePlans]
|
|
17399
17412
|
);
|
|
17400
|
-
const
|
|
17401
|
-
() =>
|
|
17402
|
-
(
|
|
17413
|
+
const usageBasedEntitlements = (selectedPlan?.entitlements || []).reduce(
|
|
17414
|
+
(acc, entitlement) => {
|
|
17415
|
+
if (entitlement.priceBehavior && (planPeriod === "month" && entitlement.meteredMonthlyPrice || planPeriod === "year" && entitlement.meteredYearlyPrice)) {
|
|
17403
17416
|
const featureUsage = data.featureUsage?.features.find(
|
|
17404
|
-
(usage2) => usage2.feature?.id ===
|
|
17417
|
+
(usage2) => usage2.feature?.id === entitlement.feature?.id
|
|
17405
17418
|
);
|
|
17406
17419
|
const allocation = featureUsage?.allocation ?? 0;
|
|
17407
17420
|
const usage = featureUsage?.usage ?? 0;
|
|
17408
17421
|
acc.push({
|
|
17409
|
-
entitlement
|
|
17410
|
-
...usageData,
|
|
17411
|
-
id: featureUsage?.entitlementId ?? usageData.featureId,
|
|
17412
|
-
feature: featureUsage?.feature,
|
|
17413
|
-
meteredMonthlyPrice: usageData.meteredPrice,
|
|
17414
|
-
meteredYearlyPrice: usageData.meteredPrice
|
|
17415
|
-
},
|
|
17416
|
-
usageData,
|
|
17422
|
+
entitlement,
|
|
17417
17423
|
allocation,
|
|
17418
|
-
quantity: allocation
|
|
17424
|
+
quantity: allocation,
|
|
17419
17425
|
usage
|
|
17420
17426
|
});
|
|
17421
|
-
|
|
17422
|
-
|
|
17423
|
-
|
|
17424
|
-
|
|
17425
|
-
|
|
17427
|
+
}
|
|
17428
|
+
return acc;
|
|
17429
|
+
},
|
|
17430
|
+
[]
|
|
17431
|
+
);
|
|
17432
|
+
const addOns = (0, import_react27.useMemo)(
|
|
17433
|
+
() => availableAddOns.map((available) => ({
|
|
17434
|
+
...available,
|
|
17435
|
+
isSelected: data.company?.addOns.some((current) => available.id === current.id) ?? false
|
|
17436
|
+
})),
|
|
17437
|
+
[data.company?.addOns, availableAddOns]
|
|
17426
17438
|
);
|
|
17427
17439
|
const cancelDate = new Date(
|
|
17428
17440
|
data.subscription?.cancelAt || data.upcomingInvoice?.dueDate || Date.now()
|
|
@@ -17525,7 +17537,7 @@ var UnsubscribeDialog = () => {
|
|
|
17525
17537
|
{
|
|
17526
17538
|
onClick: () => {
|
|
17527
17539
|
setSelected({
|
|
17528
|
-
planId:
|
|
17540
|
+
planId: data.company?.plan?.id,
|
|
17529
17541
|
addOnId: void 0,
|
|
17530
17542
|
usage: false
|
|
17531
17543
|
});
|
|
@@ -17545,25 +17557,16 @@ var UnsubscribeDialog = () => {
|
|
|
17545
17557
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17546
17558
|
Sidebar,
|
|
17547
17559
|
{
|
|
17560
|
+
planPeriod,
|
|
17548
17561
|
addOns,
|
|
17549
|
-
|
|
17550
|
-
checkoutStages: [],
|
|
17551
|
-
currentAddOns,
|
|
17552
|
-
currentUsageBasedEntitlements,
|
|
17562
|
+
usageBasedEntitlements,
|
|
17553
17563
|
error,
|
|
17554
|
-
currentPlan,
|
|
17555
17564
|
isLoading,
|
|
17556
|
-
|
|
17565
|
+
showHeader: false,
|
|
17566
|
+
showPaymentForm: false,
|
|
17557
17567
|
requiresPayment: false,
|
|
17558
|
-
setCheckoutStage: () => {
|
|
17559
|
-
},
|
|
17560
17568
|
setError: (msg) => setError(msg),
|
|
17561
|
-
|
|
17562
|
-
toggleLoading: () => setIsLoading((prev2) => !prev2),
|
|
17563
|
-
updatePromoCode: () => {
|
|
17564
|
-
},
|
|
17565
|
-
usageBasedEntitlements: currentUsageBasedEntitlements,
|
|
17566
|
-
showHeader: false
|
|
17569
|
+
setIsLoading
|
|
17567
17570
|
}
|
|
17568
17571
|
)
|
|
17569
17572
|
]
|
|
@@ -17679,7 +17682,6 @@ var Badge = () => {
|
|
|
17679
17682
|
};
|
|
17680
17683
|
|
|
17681
17684
|
// src/components/layout/RenderLayout.tsx
|
|
17682
|
-
var import_react28 = require("react");
|
|
17683
17685
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
17684
17686
|
var Disabled = () => {
|
|
17685
17687
|
const theme = nt();
|
|
@@ -17718,71 +17720,11 @@ var Disabled = () => {
|
|
|
17718
17720
|
}
|
|
17719
17721
|
) }) });
|
|
17720
17722
|
};
|
|
17721
|
-
var Success = () => {
|
|
17722
|
-
const theme = nt();
|
|
17723
|
-
const { hydrate, data, api, setLayout, isPending } = useEmbed();
|
|
17724
|
-
const [isOpen, setIsOpen] = (0, import_react28.useState)(true);
|
|
17725
|
-
(0, import_react28.useEffect)(() => {
|
|
17726
|
-
if (api && data.component?.id) {
|
|
17727
|
-
hydrate();
|
|
17728
|
-
setTimeout(() => setIsOpen(false), 2e3);
|
|
17729
|
-
}
|
|
17730
|
-
}, [api, data.component?.id, hydrate]);
|
|
17731
|
-
(0, import_react28.useEffect)(() => {
|
|
17732
|
-
if (!isPending && !isOpen) {
|
|
17733
|
-
setLayout("portal");
|
|
17734
|
-
}
|
|
17735
|
-
}, [isPending, isOpen, setLayout]);
|
|
17736
|
-
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $width: "max-content", $height: "max-content", $margin: "0 auto", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
17737
|
-
Element,
|
|
17738
|
-
{
|
|
17739
|
-
as: Flex,
|
|
17740
|
-
$flexDirection: "column",
|
|
17741
|
-
$justifyContent: "center",
|
|
17742
|
-
$alignItems: "center",
|
|
17743
|
-
$whiteSpace: "nowrap",
|
|
17744
|
-
children: [
|
|
17745
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $marginBottom: "1.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17746
|
-
IconRound,
|
|
17747
|
-
{
|
|
17748
|
-
name: "check",
|
|
17749
|
-
size: "3xl",
|
|
17750
|
-
colors: [theme.card.background, theme.primary]
|
|
17751
|
-
}
|
|
17752
|
-
) }),
|
|
17753
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17754
|
-
Text,
|
|
17755
|
-
{
|
|
17756
|
-
as: "h1",
|
|
17757
|
-
$font: theme.typography.heading1.fontFamily,
|
|
17758
|
-
$size: theme.typography.heading1.fontSize,
|
|
17759
|
-
$weight: theme.typography.heading1.fontWeight,
|
|
17760
|
-
$color: theme.typography.heading1.color,
|
|
17761
|
-
children: "Subscription updated!"
|
|
17762
|
-
}
|
|
17763
|
-
) }),
|
|
17764
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17765
|
-
Text,
|
|
17766
|
-
{
|
|
17767
|
-
as: "p",
|
|
17768
|
-
$font: theme.typography.text.fontFamily,
|
|
17769
|
-
$size: theme.typography.text.fontSize,
|
|
17770
|
-
$weight: theme.typography.text.fontWeight,
|
|
17771
|
-
$color: theme.typography.text.color,
|
|
17772
|
-
children: "Loading\u2026"
|
|
17773
|
-
}
|
|
17774
|
-
)
|
|
17775
|
-
]
|
|
17776
|
-
}
|
|
17777
|
-
) }) });
|
|
17778
|
-
};
|
|
17779
17723
|
var RenderLayout = ({ children }) => {
|
|
17780
17724
|
const { layout } = useEmbed();
|
|
17781
17725
|
switch (layout) {
|
|
17782
17726
|
case "disabled":
|
|
17783
17727
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Disabled, {});
|
|
17784
|
-
case "success":
|
|
17785
|
-
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Success, {});
|
|
17786
17728
|
default:
|
|
17787
17729
|
return children;
|
|
17788
17730
|
}
|
|
@@ -17808,12 +17750,12 @@ var StyledViewport = dt(Box).attrs(({ theme }) => ({
|
|
|
17808
17750
|
|
|
17809
17751
|
// src/components/layout/viewport/Viewport.tsx
|
|
17810
17752
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
17811
|
-
var Viewport = (0,
|
|
17753
|
+
var Viewport = (0, import_react28.forwardRef)(
|
|
17812
17754
|
({ children, portal, ...props }, ref) => {
|
|
17813
17755
|
const { data, layout } = useEmbed();
|
|
17814
|
-
const [top, setTop] = (0,
|
|
17756
|
+
const [top, setTop] = (0, import_react28.useState)(0);
|
|
17815
17757
|
const canCheckout = data.capabilities?.checkout ?? true;
|
|
17816
|
-
(0,
|
|
17758
|
+
(0, import_react28.useLayoutEffect)(() => {
|
|
17817
17759
|
if (layout !== "checkout" && layout !== "unsubscribe") {
|
|
17818
17760
|
return;
|
|
17819
17761
|
}
|
|
@@ -17840,10 +17782,10 @@ var Viewport = (0, import_react29.forwardRef)(
|
|
|
17840
17782
|
Viewport.displayName = "Viewport";
|
|
17841
17783
|
|
|
17842
17784
|
// src/components/layout/column/Column.tsx
|
|
17843
|
-
var
|
|
17785
|
+
var import_react30 = require("react");
|
|
17844
17786
|
|
|
17845
17787
|
// src/components/layout/card/Card.tsx
|
|
17846
|
-
var
|
|
17788
|
+
var import_react29 = require("react");
|
|
17847
17789
|
|
|
17848
17790
|
// src/components/layout/card/styles.ts
|
|
17849
17791
|
var Element = dt(Box)``;
|
|
@@ -17854,8 +17796,9 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17854
17796
|
const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
|
|
17855
17797
|
const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
|
|
17856
17798
|
return lt`
|
|
17857
|
-
|
|
17799
|
+
position: relative;
|
|
17858
17800
|
box-sizing: border-box;
|
|
17801
|
+
font-size: ${TEXT_BASE_SIZE}px;
|
|
17859
17802
|
|
|
17860
17803
|
*,
|
|
17861
17804
|
*::before,
|
|
@@ -17887,9 +17830,30 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17887
17830
|
|
|
17888
17831
|
// src/components/layout/card/Card.tsx
|
|
17889
17832
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
17890
|
-
var Card = (0,
|
|
17833
|
+
var Card = (0, import_react29.forwardRef)(
|
|
17891
17834
|
({ children, className }, ref) => {
|
|
17892
|
-
|
|
17835
|
+
const { isPending } = useEmbed();
|
|
17836
|
+
const theme = nt();
|
|
17837
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(StyledCard, { ref, className, children: [
|
|
17838
|
+
isPending && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
17839
|
+
Flex,
|
|
17840
|
+
{
|
|
17841
|
+
$position: "absolute",
|
|
17842
|
+
$top: 0,
|
|
17843
|
+
$left: 0,
|
|
17844
|
+
$zIndex: 1,
|
|
17845
|
+
$width: "100%",
|
|
17846
|
+
$height: "100%",
|
|
17847
|
+
$justifyContent: "center",
|
|
17848
|
+
$alignItems: "center",
|
|
17849
|
+
$backgroundColor: hsla(theme.card.background, 0.8),
|
|
17850
|
+
$backdropFilter: "blur(8px)",
|
|
17851
|
+
$borderRadius: `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`,
|
|
17852
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Loader, { $color: theme.primary })
|
|
17853
|
+
}
|
|
17854
|
+
),
|
|
17855
|
+
children
|
|
17856
|
+
] });
|
|
17893
17857
|
}
|
|
17894
17858
|
);
|
|
17895
17859
|
Card.displayName = "Card";
|
|
@@ -17901,15 +17865,15 @@ var StyledColumn = dt.div`
|
|
|
17901
17865
|
|
|
17902
17866
|
// src/components/layout/column/Column.tsx
|
|
17903
17867
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
17904
|
-
var Column = (0,
|
|
17868
|
+
var Column = (0, import_react30.forwardRef)(
|
|
17905
17869
|
({ children, basis, ...props }, ref) => {
|
|
17906
|
-
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledColumn, { ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Card, { children }) });
|
|
17870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledColumn, { ref, ...props, children: import_react30.Children.count(children) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Card, { children }) : children });
|
|
17907
17871
|
}
|
|
17908
17872
|
);
|
|
17909
17873
|
Column.displayName = "Column";
|
|
17910
17874
|
|
|
17911
17875
|
// src/components/elements/included-features/Details.tsx
|
|
17912
|
-
var
|
|
17876
|
+
var import_react31 = require("react");
|
|
17913
17877
|
var import_pluralize4 = __toESM(require_pluralize());
|
|
17914
17878
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
17915
17879
|
var Details = ({
|
|
@@ -17929,7 +17893,7 @@ var Details = ({
|
|
|
17929
17893
|
const { t: t2 } = useTranslation();
|
|
17930
17894
|
const theme = nt();
|
|
17931
17895
|
const { data } = useEmbed();
|
|
17932
|
-
const currency = (0,
|
|
17896
|
+
const currency = (0, import_react31.useMemo)(() => {
|
|
17933
17897
|
if (data.company?.plan?.planPeriod === "month") {
|
|
17934
17898
|
return monthlyUsageBasedPrice?.currency;
|
|
17935
17899
|
}
|
|
@@ -17941,7 +17905,7 @@ var Details = ({
|
|
|
17941
17905
|
monthlyUsageBasedPrice,
|
|
17942
17906
|
yearlyUsageBasedPrice
|
|
17943
17907
|
]);
|
|
17944
|
-
const price = (0,
|
|
17908
|
+
const price = (0, import_react31.useMemo)(() => {
|
|
17945
17909
|
if (data.company?.plan?.planPeriod === "month") {
|
|
17946
17910
|
return monthlyUsageBasedPrice?.price;
|
|
17947
17911
|
}
|
|
@@ -17953,7 +17917,7 @@ var Details = ({
|
|
|
17953
17917
|
monthlyUsageBasedPrice,
|
|
17954
17918
|
yearlyUsageBasedPrice
|
|
17955
17919
|
]);
|
|
17956
|
-
const text = (0,
|
|
17920
|
+
const text = (0, import_react31.useMemo)(() => {
|
|
17957
17921
|
if (!feature?.name) {
|
|
17958
17922
|
return;
|
|
17959
17923
|
}
|
|
@@ -17969,8 +17933,8 @@ var Details = ({
|
|
|
17969
17933
|
if (!priceBehavior) {
|
|
17970
17934
|
return t2("Unlimited", { item: (0, import_pluralize4.default)(feature.name) });
|
|
17971
17935
|
}
|
|
17972
|
-
}, [allocation, feature?.name, price, priceBehavior,
|
|
17973
|
-
const usageText = (0,
|
|
17936
|
+
}, [t2, allocation, feature?.name, price, priceBehavior, currency]);
|
|
17937
|
+
const usageText = (0, import_react31.useMemo)(() => {
|
|
17974
17938
|
if (!feature?.name) {
|
|
17975
17939
|
return;
|
|
17976
17940
|
}
|
|
@@ -17999,12 +17963,12 @@ var Details = ({
|
|
|
17999
17963
|
});
|
|
18000
17964
|
}
|
|
18001
17965
|
}, [
|
|
17966
|
+
t2,
|
|
18002
17967
|
allocation,
|
|
18003
17968
|
data.company?.plan?.planPeriod,
|
|
18004
17969
|
feature?.name,
|
|
18005
17970
|
price,
|
|
18006
17971
|
priceBehavior,
|
|
18007
|
-
t2,
|
|
18008
17972
|
usage,
|
|
18009
17973
|
usageData,
|
|
18010
17974
|
currency
|
|
@@ -18076,42 +18040,24 @@ function resolveDesignProps(props) {
|
|
|
18076
18040
|
visibleFeatures: props.visibleFeatures
|
|
18077
18041
|
};
|
|
18078
18042
|
}
|
|
18079
|
-
var IncludedFeatures = (0,
|
|
18043
|
+
var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, ref) => {
|
|
18080
18044
|
const props = resolveDesignProps(rest);
|
|
18081
18045
|
const { t: t2 } = useTranslation();
|
|
18082
18046
|
const theme = nt();
|
|
18083
18047
|
const { data } = useEmbed();
|
|
18084
|
-
const elements = (0,
|
|
18048
|
+
const elements = (0, import_react32.useRef)([]);
|
|
18085
18049
|
const shouldWrapChildren = useWrapChildren(elements.current);
|
|
18086
18050
|
const isLightBackground = useIsLightBackground();
|
|
18087
|
-
const [showCount, setShowCount] = (0,
|
|
18088
|
-
const entitlements = (
|
|
18089
|
-
|
|
18090
|
-
return 1;
|
|
18091
|
-
}
|
|
18092
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
18093
|
-
return -1;
|
|
18094
|
-
}
|
|
18095
|
-
return 0;
|
|
18096
|
-
}).reduce((acc, usage) => {
|
|
18097
|
-
if (usage.feature?.id) {
|
|
18098
|
-
acc.push(usage.feature.id);
|
|
18099
|
-
}
|
|
18100
|
-
return acc;
|
|
18101
|
-
}, []) || []).reduce(
|
|
18102
|
-
(acc, id) => {
|
|
18103
|
-
const mappedFeatureUsage = data.featureUsage?.features.find(
|
|
18104
|
-
(usage) => usage.feature?.id === id
|
|
18105
|
-
);
|
|
18051
|
+
const [showCount, setShowCount] = (0, import_react32.useState)(VISIBLE_ENTITLEMENT_COUNT);
|
|
18052
|
+
const entitlements = (data.featureUsage?.features || []).reduce(
|
|
18053
|
+
(acc, usage) => {
|
|
18106
18054
|
const mappedUsageData = data.activeUsageBasedEntitlements.find(
|
|
18107
|
-
(entitlement) => entitlement.featureId === id
|
|
18055
|
+
(entitlement) => entitlement.featureId === usage.feature?.id
|
|
18108
18056
|
);
|
|
18109
|
-
|
|
18110
|
-
|
|
18111
|
-
|
|
18112
|
-
|
|
18113
|
-
});
|
|
18114
|
-
}
|
|
18057
|
+
acc.push({
|
|
18058
|
+
featureUsage: usage,
|
|
18059
|
+
usageData: mappedUsageData
|
|
18060
|
+
});
|
|
18115
18061
|
return acc;
|
|
18116
18062
|
},
|
|
18117
18063
|
[]
|
|
@@ -18259,7 +18205,7 @@ var IncludedFeatures = (0, import_react33.forwardRef)(({ className, ...rest }, r
|
|
|
18259
18205
|
IncludedFeatures.displayName = "IncludedFeatures";
|
|
18260
18206
|
|
|
18261
18207
|
// src/components/elements/invoices/Invoices.tsx
|
|
18262
|
-
var
|
|
18208
|
+
var import_react33 = require("react");
|
|
18263
18209
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
18264
18210
|
function resolveDesignProps2(props) {
|
|
18265
18211
|
return {
|
|
@@ -18313,19 +18259,19 @@ var InvoiceDate = ({ date, fontStyle, url }) => {
|
|
|
18313
18259
|
}
|
|
18314
18260
|
return dateText;
|
|
18315
18261
|
};
|
|
18316
|
-
var Invoices = (0,
|
|
18262
|
+
var Invoices = (0, import_react33.forwardRef)(({ className, data, ...rest }, ref) => {
|
|
18317
18263
|
const props = resolveDesignProps2(rest);
|
|
18318
18264
|
const { t: t2 } = useTranslation();
|
|
18319
18265
|
const theme = nt();
|
|
18320
18266
|
const { api } = useEmbed();
|
|
18321
|
-
const [invoices, setInvoices] = (0,
|
|
18322
|
-
const [listSize, setListSize] = (0,
|
|
18267
|
+
const [invoices, setInvoices] = (0, import_react33.useState)(() => formatInvoices(data));
|
|
18268
|
+
const [listSize, setListSize] = (0, import_react33.useState)(props.limit.number);
|
|
18323
18269
|
const toggleListSize = () => {
|
|
18324
18270
|
setListSize(
|
|
18325
18271
|
(prev2) => prev2 !== props.limit.number ? props.limit.number : MAX_VISIBLE_INVOICE_COUNT
|
|
18326
18272
|
);
|
|
18327
18273
|
};
|
|
18328
|
-
(0,
|
|
18274
|
+
(0, import_react33.useEffect)(() => {
|
|
18329
18275
|
api?.listInvoices().then(({ data: data2 }) => {
|
|
18330
18276
|
setInvoices(formatInvoices(data2));
|
|
18331
18277
|
});
|
|
@@ -18391,7 +18337,7 @@ var Invoices = (0, import_react34.forwardRef)(({ className, data, ...rest }, ref
|
|
|
18391
18337
|
Invoices.displayName = "Invoices";
|
|
18392
18338
|
|
|
18393
18339
|
// src/components/elements/metered-features/MeteredFeatures.tsx
|
|
18394
|
-
var
|
|
18340
|
+
var import_react34 = require("react");
|
|
18395
18341
|
var import_pluralize5 = __toESM(require_pluralize());
|
|
18396
18342
|
|
|
18397
18343
|
// src/components/elements/metered-features/styles.ts
|
|
@@ -18438,9 +18384,9 @@ function resolveDesignProps3(props) {
|
|
|
18438
18384
|
visibleFeatures: props.visibleFeatures
|
|
18439
18385
|
};
|
|
18440
18386
|
}
|
|
18441
|
-
var MeteredFeatures = (0,
|
|
18387
|
+
var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, ref) => {
|
|
18442
18388
|
const props = resolveDesignProps3(rest);
|
|
18443
|
-
const elements = (0,
|
|
18389
|
+
const elements = (0, import_react34.useRef)([]);
|
|
18444
18390
|
const shouldWrapChildren = useWrapChildren(elements.current);
|
|
18445
18391
|
const { t: t2 } = useTranslation();
|
|
18446
18392
|
const theme = nt();
|
|
@@ -18600,6 +18546,7 @@ var MeteredFeatures = (0, import_react35.forwardRef)(({ className, ...rest }, re
|
|
|
18600
18546
|
priceBehavior === "pay_in_advance" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18601
18547
|
EmbedButton,
|
|
18602
18548
|
{
|
|
18549
|
+
type: "button",
|
|
18603
18550
|
onClick: () => {
|
|
18604
18551
|
setSelected({ usage: true });
|
|
18605
18552
|
setLayout("checkout");
|
|
@@ -18620,7 +18567,7 @@ var MeteredFeatures = (0, import_react35.forwardRef)(({ className, ...rest }, re
|
|
|
18620
18567
|
MeteredFeatures.displayName = "MeteredFeatures";
|
|
18621
18568
|
|
|
18622
18569
|
// src/components/elements/payment-method/PaymentMethod.tsx
|
|
18623
|
-
var
|
|
18570
|
+
var import_react35 = require("react");
|
|
18624
18571
|
var import_react_dom3 = require("react-dom");
|
|
18625
18572
|
var import_react_stripe_js3 = require("@stripe/react-stripe-js");
|
|
18626
18573
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
@@ -18790,24 +18737,24 @@ var PaymentMethodElement = ({
|
|
|
18790
18737
|
)
|
|
18791
18738
|
] });
|
|
18792
18739
|
};
|
|
18793
|
-
var PaymentMethod = (0,
|
|
18740
|
+
var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, portal, allowEdit = true, ...rest }, ref) => {
|
|
18794
18741
|
const props = resolveDesignProps4(rest);
|
|
18795
18742
|
const { t: t2 } = useTranslation();
|
|
18796
18743
|
const theme = nt();
|
|
18797
|
-
const { api, data, layout, setLayout } = useEmbed();
|
|
18744
|
+
const { api, data, layout, hydrate, setLayout } = useEmbed();
|
|
18798
18745
|
const isLightBackground = useIsLightBackground();
|
|
18799
|
-
const [isLoading, setIsLoading] = (0,
|
|
18800
|
-
const [error, setError] = (0,
|
|
18801
|
-
const [showPaymentForm, setShowPaymentForm] = (0,
|
|
18746
|
+
const [isLoading, setIsLoading] = (0, import_react35.useState)(false);
|
|
18747
|
+
const [error, setError] = (0, import_react35.useState)();
|
|
18748
|
+
const [showPaymentForm, setShowPaymentForm] = (0, import_react35.useState)(
|
|
18802
18749
|
() => typeof data.subscription?.paymentMethod === "undefined"
|
|
18803
18750
|
);
|
|
18804
|
-
const [stripe, setStripe] = (0,
|
|
18805
|
-
const [setupIntent, setSetupIntent] = (0,
|
|
18806
|
-
const [top, setTop] = (0,
|
|
18807
|
-
const paymentMethod = (0,
|
|
18751
|
+
const [stripe, setStripe] = (0, import_react35.useState)(null);
|
|
18752
|
+
const [setupIntent, setSetupIntent] = (0, import_react35.useState)();
|
|
18753
|
+
const [top, setTop] = (0, import_react35.useState)(0);
|
|
18754
|
+
const paymentMethod = (0, import_react35.useMemo)(() => {
|
|
18808
18755
|
return data.subscription?.paymentMethod;
|
|
18809
18756
|
}, [data.subscription?.paymentMethod]);
|
|
18810
|
-
const monthsToExpiration = (0,
|
|
18757
|
+
const monthsToExpiration = (0, import_react35.useMemo)(() => {
|
|
18811
18758
|
let expiration;
|
|
18812
18759
|
if (typeof paymentMethod?.cardExpYear === "number" && typeof paymentMethod?.cardExpMonth === "number") {
|
|
18813
18760
|
const today = /* @__PURE__ */ new Date();
|
|
@@ -18820,7 +18767,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18820
18767
|
}
|
|
18821
18768
|
return expiration;
|
|
18822
18769
|
}, [paymentMethod?.cardExpYear, paymentMethod?.cardExpMonth]);
|
|
18823
|
-
const createSetupIntent = (0,
|
|
18770
|
+
const createSetupIntent = (0, import_react35.useCallback)(async () => {
|
|
18824
18771
|
if (!api || !data.component?.id) {
|
|
18825
18772
|
return;
|
|
18826
18773
|
}
|
|
@@ -18839,7 +18786,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18839
18786
|
setIsLoading(false);
|
|
18840
18787
|
}
|
|
18841
18788
|
}, [t2, api, data.component?.id]);
|
|
18842
|
-
const updatePaymentMethod = (0,
|
|
18789
|
+
const updatePaymentMethod = (0, import_react35.useCallback)(
|
|
18843
18790
|
async (id) => {
|
|
18844
18791
|
if (!api || !id) {
|
|
18845
18792
|
return;
|
|
@@ -18851,21 +18798,23 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18851
18798
|
paymentMethodId: id
|
|
18852
18799
|
}
|
|
18853
18800
|
});
|
|
18854
|
-
setLayout("
|
|
18801
|
+
setLayout("portal");
|
|
18802
|
+
hydrate();
|
|
18855
18803
|
} catch {
|
|
18804
|
+
setLayout("payment");
|
|
18856
18805
|
setError(t2("Error updating payment method. Please try again."));
|
|
18857
18806
|
} finally {
|
|
18858
18807
|
setIsLoading(false);
|
|
18859
18808
|
}
|
|
18860
18809
|
},
|
|
18861
|
-
[t2, api, setLayout]
|
|
18810
|
+
[t2, api, hydrate, setLayout]
|
|
18862
18811
|
);
|
|
18863
|
-
(0,
|
|
18812
|
+
(0, import_react35.useEffect)(() => {
|
|
18864
18813
|
if (!stripe && setupIntent?.publishableKey) {
|
|
18865
18814
|
setStripe(loadStripe(setupIntent.publishableKey));
|
|
18866
18815
|
}
|
|
18867
18816
|
}, [stripe, setupIntent?.publishableKey]);
|
|
18868
|
-
(0,
|
|
18817
|
+
(0, import_react35.useLayoutEffect)(() => {
|
|
18869
18818
|
const parent = portal || document.body;
|
|
18870
18819
|
const value = Math.abs(
|
|
18871
18820
|
(parent === document.body ? window.scrollY : parent.scrollTop) ?? 0
|
|
@@ -18990,7 +18939,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18990
18939
|
PaymentMethod.displayName = "PaymentMethod";
|
|
18991
18940
|
|
|
18992
18941
|
// src/components/elements/plan-manager/PlanManager.tsx
|
|
18993
|
-
var
|
|
18942
|
+
var import_react36 = require("react");
|
|
18994
18943
|
var import_pluralize6 = __toESM(require_pluralize());
|
|
18995
18944
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
18996
18945
|
var resolveDesignProps5 = (props) => {
|
|
@@ -19021,7 +18970,7 @@ var resolveDesignProps5 = (props) => {
|
|
|
19021
18970
|
}
|
|
19022
18971
|
};
|
|
19023
18972
|
};
|
|
19024
|
-
var PlanManager = (0,
|
|
18973
|
+
var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal, ...rest }, ref) => {
|
|
19025
18974
|
const props = resolveDesignProps5(rest);
|
|
19026
18975
|
const theme = nt();
|
|
19027
18976
|
const { t: t2 } = useTranslation();
|
|
@@ -19056,7 +19005,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
|
|
|
19056
19005
|
const billingSubscription = data.company?.billingSubscription;
|
|
19057
19006
|
const subscriptionCurrency = billingSubscription?.currency;
|
|
19058
19007
|
const showTrialBox = billingSubscription && billingSubscription.status == "trialing";
|
|
19059
|
-
const showUnsubscribeBox = billingSubscription
|
|
19008
|
+
const showUnsubscribeBox = billingSubscription?.cancelAtPeriodEnd;
|
|
19060
19009
|
const trialEndDate = billingSubscription?.trialEnd ? new Date(billingSubscription.trialEnd * 1e3) : /* @__PURE__ */ new Date();
|
|
19061
19010
|
const todayDate = /* @__PURE__ */ new Date();
|
|
19062
19011
|
const trialEndDays = Math.floor(
|
|
@@ -19126,9 +19075,12 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
|
|
|
19126
19075
|
$weight: theme.typography.text.fontWeight,
|
|
19127
19076
|
$color: theme.typography.text.color,
|
|
19128
19077
|
children: billingSubscription.cancelAt ? t2("Access to plan will end on", {
|
|
19129
|
-
date: toPrettyDate(
|
|
19130
|
-
|
|
19131
|
-
|
|
19078
|
+
date: toPrettyDate(
|
|
19079
|
+
new Date(billingSubscription.cancelAt * 1e3),
|
|
19080
|
+
{
|
|
19081
|
+
month: "numeric"
|
|
19082
|
+
}
|
|
19083
|
+
)
|
|
19132
19084
|
}) : ""
|
|
19133
19085
|
}
|
|
19134
19086
|
)
|
|
@@ -19362,6 +19314,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
|
|
|
19362
19314
|
canCheckout && props.callToAction.isVisible && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
19363
19315
|
EmbedButton,
|
|
19364
19316
|
{
|
|
19317
|
+
type: "button",
|
|
19365
19318
|
onClick: () => {
|
|
19366
19319
|
setSelected({
|
|
19367
19320
|
planId: currentPlan?.id,
|
|
@@ -19383,7 +19336,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
|
|
|
19383
19336
|
PlanManager.displayName = "PlanManager";
|
|
19384
19337
|
|
|
19385
19338
|
// src/components/elements/pricing-table/PricingTable.tsx
|
|
19386
|
-
var
|
|
19339
|
+
var import_react37 = require("react");
|
|
19387
19340
|
var import_pluralize7 = __toESM(require_pluralize());
|
|
19388
19341
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
19389
19342
|
var resolveDesignProps6 = (props) => {
|
|
@@ -19425,18 +19378,18 @@ var resolveDesignProps6 = (props) => {
|
|
|
19425
19378
|
}
|
|
19426
19379
|
};
|
|
19427
19380
|
};
|
|
19428
|
-
var PricingTable = (0,
|
|
19381
|
+
var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...rest }, ref) => {
|
|
19429
19382
|
const props = resolveDesignProps6(rest);
|
|
19430
19383
|
const { t: t2 } = useTranslation();
|
|
19431
19384
|
const theme = nt();
|
|
19432
19385
|
const { data, setLayout, setSelected } = useEmbed();
|
|
19433
19386
|
const trialEndDays = useTrialEnd();
|
|
19434
|
-
const [selectedPeriod, setSelectedPeriod] = (0,
|
|
19387
|
+
const [selectedPeriod, setSelectedPeriod] = (0, import_react37.useState)(
|
|
19435
19388
|
() => data.company?.plan?.planPeriod || "month"
|
|
19436
19389
|
);
|
|
19437
19390
|
const { plans, addOns, periods } = useAvailablePlans(selectedPeriod);
|
|
19438
19391
|
const isLightBackground = useIsLightBackground();
|
|
19439
|
-
const [entitlementCounts, setEntitlementCounts] = (0,
|
|
19392
|
+
const [entitlementCounts, setEntitlementCounts] = (0, import_react37.useState)(
|
|
19440
19393
|
() => plans.reduce(
|
|
19441
19394
|
(acc, plan) => {
|
|
19442
19395
|
acc[plan.id] = {
|
|
@@ -19621,15 +19574,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
19621
19574
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
19622
19575
|
children: [
|
|
19623
19576
|
props.plans.showEntitlements && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
19624
|
-
plan.entitlements.
|
|
19625
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
19626
|
-
return 1;
|
|
19627
|
-
}
|
|
19628
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
19629
|
-
return -1;
|
|
19630
|
-
}
|
|
19631
|
-
return 0;
|
|
19632
|
-
}).reduce((acc, entitlement) => {
|
|
19577
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
19633
19578
|
let price;
|
|
19634
19579
|
let currency;
|
|
19635
19580
|
if (selectedPeriod === "month") {
|
|
@@ -19771,7 +19716,8 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
19771
19716
|
) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19772
19717
|
EmbedButton,
|
|
19773
19718
|
{
|
|
19774
|
-
|
|
19719
|
+
type: "button",
|
|
19720
|
+
disabled: (!plan.valid || !canCheckout) && !plan.custom,
|
|
19775
19721
|
...!plan.custom && {
|
|
19776
19722
|
onClick: () => {
|
|
19777
19723
|
setSelected({
|
|
@@ -19997,6 +19943,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
19997
19943
|
props.upgrade.isVisible && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19998
19944
|
EmbedButton,
|
|
19999
19945
|
{
|
|
19946
|
+
type: "button",
|
|
20000
19947
|
disabled: !addOn.valid || !canCheckout,
|
|
20001
19948
|
onClick: () => {
|
|
20002
19949
|
setSelected({
|
|
@@ -20030,7 +19977,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
20030
19977
|
PricingTable.displayName = "PricingTable";
|
|
20031
19978
|
|
|
20032
19979
|
// src/components/elements/upcoming-bill/UpcomingBill.tsx
|
|
20033
|
-
var
|
|
19980
|
+
var import_react38 = require("react");
|
|
20034
19981
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
20035
19982
|
function resolveDesignProps7(props) {
|
|
20036
19983
|
return {
|
|
@@ -20050,13 +19997,13 @@ function resolveDesignProps7(props) {
|
|
|
20050
19997
|
}
|
|
20051
19998
|
};
|
|
20052
19999
|
}
|
|
20053
|
-
var UpcomingBill = (0,
|
|
20000
|
+
var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref) => {
|
|
20054
20001
|
const props = resolveDesignProps7(rest);
|
|
20055
20002
|
const { t: t2 } = useTranslation();
|
|
20056
20003
|
const theme = nt();
|
|
20057
20004
|
const { data } = useEmbed();
|
|
20058
20005
|
const isLightBackground = useIsLightBackground();
|
|
20059
|
-
const { upcomingInvoice, discounts } = (0,
|
|
20006
|
+
const { upcomingInvoice, discounts } = (0, import_react38.useMemo)(() => {
|
|
20060
20007
|
const discounts2 = (data.subscription?.discounts || []).map((discount) => ({
|
|
20061
20008
|
amountOff: discount.amountOff,
|
|
20062
20009
|
couponId: discount.couponId,
|
|
@@ -20185,7 +20132,7 @@ var UpcomingBill = (0, import_react39.forwardRef)(({ className, ...rest }, ref)
|
|
|
20185
20132
|
UpcomingBill.displayName = "UpcomingBill";
|
|
20186
20133
|
|
|
20187
20134
|
// src/components/elements/unsubscribe-button/UnsubscribeButton.tsx
|
|
20188
|
-
var
|
|
20135
|
+
var import_react39 = require("react");
|
|
20189
20136
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
20190
20137
|
var resolveDesignProps8 = (props) => {
|
|
20191
20138
|
return {
|
|
@@ -20198,11 +20145,11 @@ var resolveDesignProps8 = (props) => {
|
|
|
20198
20145
|
}
|
|
20199
20146
|
};
|
|
20200
20147
|
};
|
|
20201
|
-
var UnsubscribeButton = (0,
|
|
20148
|
+
var UnsubscribeButton = (0, import_react39.forwardRef)(({ children, className, ...rest }, ref) => {
|
|
20202
20149
|
const props = resolveDesignProps8(rest);
|
|
20203
20150
|
const { t: t2 } = useTranslation();
|
|
20204
20151
|
const { data, setLayout } = useEmbed();
|
|
20205
|
-
const disabled = !data.subscription || data.subscription.status === "cancelled";
|
|
20152
|
+
const disabled = !data.subscription || data.subscription.status === "cancelled" || data.subscription.cancelAtPeriodEnd;
|
|
20206
20153
|
const buttonStyles = {
|
|
20207
20154
|
primary: {
|
|
20208
20155
|
color: "primary",
|
|
@@ -20246,10 +20193,10 @@ var UnsubscribeButton = (0, import_react40.forwardRef)(({ children, className, .
|
|
|
20246
20193
|
UnsubscribeButton.displayName = "UnsubscribeButton";
|
|
20247
20194
|
|
|
20248
20195
|
// src/components/embed/ComponentTree.tsx
|
|
20249
|
-
var
|
|
20196
|
+
var import_react41 = require("react");
|
|
20250
20197
|
|
|
20251
20198
|
// src/components/embed/renderer.ts
|
|
20252
|
-
var
|
|
20199
|
+
var import_react40 = require("react");
|
|
20253
20200
|
var components = {
|
|
20254
20201
|
Root,
|
|
20255
20202
|
Viewport,
|
|
@@ -20282,7 +20229,7 @@ function createRenderer(options) {
|
|
|
20282
20229
|
const { className, ...rest } = props;
|
|
20283
20230
|
const resolvedProps = component === "div" ? rest : props;
|
|
20284
20231
|
const resolvedChildren = children.map(renderNode);
|
|
20285
|
-
return (0,
|
|
20232
|
+
return (0, import_react40.createElement)(
|
|
20286
20233
|
component,
|
|
20287
20234
|
{
|
|
20288
20235
|
key: index,
|
|
@@ -20351,8 +20298,8 @@ var Error2 = ({ message }) => {
|
|
|
20351
20298
|
};
|
|
20352
20299
|
var ComponentTree = () => {
|
|
20353
20300
|
const { error, nodes, isPending } = useEmbed();
|
|
20354
|
-
const [children, setChildren] = (0,
|
|
20355
|
-
(0,
|
|
20301
|
+
const [children, setChildren] = (0, import_react41.useState)(/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loading, {}));
|
|
20302
|
+
(0, import_react41.useEffect)(() => {
|
|
20356
20303
|
const renderer = createRenderer();
|
|
20357
20304
|
setChildren(nodes.map(renderer));
|
|
20358
20305
|
}, [nodes]);
|