cwj_monitoring 0.0.23 → 0.0.24

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../node_modules/.pnpm/nanoid@5.1.6/node_modules/nanoid/url-alphabet/index.js","../node_modules/.pnpm/nanoid@5.1.6/node_modules/nanoid/index.browser.js","../src/utils/date.ts","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/es5.js","../src/utils/browser.ts","../src/utils/common.ts","../src/constant.ts","../src/core/deviceInfo.ts","../src/core/eventTrack.ts","../src/core/reporter.ts","../src/types/event.ts","../src/core/index.ts","../src/plugin/error.ts","../src/plugin/pv.ts","../src/plugin/behavior.ts","../src/plugin/performance.ts","../src/plugin/xhr.ts","../src/plugin/fetch.ts"],"sourcesContent":["export const urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","/* 将时间戳转为年月日 */\r\nexport const getDate = (time: number = Date.now()) => {\r\n const date = new Date(time);\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1; //获取系统月份,由于月份是从0开始计算,所以要加1\r\n const day = date.getDate();\r\n const hour = date.getHours();\r\n const minute = date.getMinutes();\r\n const second = date.getSeconds();\r\n\r\n const formatter = (date: number) => {\r\n let res = '';\r\n if (date < 10) {\r\n res = '0' + date;\r\n } else {\r\n res = date.toString();\r\n }\r\n return res;\r\n };\r\n\r\n return (\r\n year +\r\n '-' +\r\n formatter(month) +\r\n '-' +\r\n formatter(day) +\r\n ' ' +\r\n formatter(hour) +\r\n ':' +\r\n formatter(minute) +\r\n ':' +\r\n formatter(second)\r\n );\r\n};\r\n\r\n/* 将两个时间戳转为秒 */\r\nexport const getSeconds = (timestamp1: number, timestamp2: number) => {\r\n if (timestamp1 < timestamp2) {\r\n [timestamp1, timestamp2] = [timestamp2, timestamp1];\r\n }\r\n\r\n return Math.floor((timestamp1 - timestamp2) / 1000);\r\n};\r\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var i=r(18),n=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));t.push(0);var r=t[0],i=t[1];if(10===r)switch(i){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}switch(r){case 11:return\"Big Sur\";case 12:return\"Monterey\";case 13:return\"Ventura\";case 14:return\"Sonoma\";case 15:return\"Sequoia\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,i){void 0===i&&(i=!1);var n=e.getVersionPrecision(t),a=e.getVersionPrecision(r),o=Math.max(n,a),s=0,u=e.map([t,r],(function(t){var r=o-e.getVersionPrecision(t),i=t+new Array(r+1).join(\".0\");return e.map(i.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(i&&(s=o-Math.min(n,a)),o-=1;o>=s;){if(u[0][o]>u[1][o])return 1;if(u[0][o]===u[1][o]){if(o===s)return 0;o-=1}else if(u[0][o]<u[1][o])return-1}},e.map=function(e,t){var r,i=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)i.push(t(e[r]));return i},e.find=function(e,t){var r,i;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,i=e.length;r<i;r+=1){var n=e[r];if(t(n,r))return n}},e.assign=function(e){for(var t,r,i=e,n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];if(Object.assign)return Object.assign.apply(Object,[e].concat(a));var s=function(){var e=a[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){i[t]=e[t]}))};for(t=0,r=a.length;t<r;t+=1)s();return e},e.getBrowserAlias=function(e){return i.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return i.BROWSER_MAP[e]||\"\"},e}();t.default=n,e.exports=t.default},18:function(e,t,r){\"use strict\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={AmazonBot:\"amazonbot\",\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",BaiduSpider:\"baiduspider\",Bada:\"bada\",BingCrawler:\"bingcrawler\",BlackBerry:\"blackberry\",\"ChatGPT-User\":\"chatgpt_user\",Chrome:\"chrome\",ClaudeBot:\"claudebot\",Chromium:\"chromium\",Diffbot:\"diffbot\",DuckDuckBot:\"duckduckbot\",Electron:\"electron\",Epiphany:\"epiphany\",FacebookExternalHit:\"facebookexternalhit\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",GPTBot:\"gptbot\",\"Internet Explorer\":\"ie\",InternetArchiveCrawler:\"internetarchivecrawler\",\"K-Meleon\":\"k_meleon\",LibreWolf:\"librewolf\",Maxthon:\"maxthon\",\"Meta-ExternalAds\":\"meta_externalads\",\"Meta-ExternalAgent\":\"meta_externalagent\",\"Meta-ExternalFetcher\":\"meta_externalfetcher\",\"Meta-WebIndexer\":\"meta_webindexer\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",\"OAI-SearchBot\":\"oai_searchbot\",Omgilibot:\"omgilibot\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",\"Pale Moon\":\"pale_moon\",PerplexityBot:\"perplexitybot\",\"Perplexity-User\":\"perplexity_user\",PhantomJS:\"phantomjs\",PingdomBot:\"pingdombot\",Puffin:\"puffin\",QQ:\"qq\",QQLite:\"qqlite\",QupZilla:\"qupzilla\",Roku:\"roku\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",\"Sogou Browser\":\"sogou\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",YahooSlurp:\"yahooslurp\",\"Yandex Browser\":\"yandex\",YandexBot:\"yandexbot\",YouBot:\"youbot\"};t.BROWSER_MAP={amazonbot:\"AmazonBot\",amazon_silk:\"Amazon Silk\",android:\"Android Browser\",baiduspider:\"BaiduSpider\",bada:\"Bada\",bingcrawler:\"BingCrawler\",blackberry:\"BlackBerry\",chatgpt_user:\"ChatGPT-User\",chrome:\"Chrome\",claudebot:\"ClaudeBot\",chromium:\"Chromium\",diffbot:\"Diffbot\",duckduckbot:\"DuckDuckBot\",edge:\"Microsoft Edge\",electron:\"Electron\",epiphany:\"Epiphany\",facebookexternalhit:\"FacebookExternalHit\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",google_search:\"Google Search\",googlebot:\"Googlebot\",gptbot:\"GPTBot\",ie:\"Internet Explorer\",internetarchivecrawler:\"InternetArchiveCrawler\",k_meleon:\"K-Meleon\",librewolf:\"LibreWolf\",maxthon:\"Maxthon\",meta_externalads:\"Meta-ExternalAds\",meta_externalagent:\"Meta-ExternalAgent\",meta_externalfetcher:\"Meta-ExternalFetcher\",meta_webindexer:\"Meta-WebIndexer\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",oai_searchbot:\"OAI-SearchBot\",omgilibot:\"Omgilibot\",opera:\"Opera\",opera_coast:\"Opera Coast\",pale_moon:\"Pale Moon\",perplexitybot:\"PerplexityBot\",perplexity_user:\"Perplexity-User\",phantomjs:\"PhantomJS\",pingdombot:\"PingdomBot\",puffin:\"Puffin\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",qupzilla:\"QupZilla\",roku:\"Roku\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",sogou:\"Sogou Browser\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yahooslurp:\"YahooSlurp\",yandex:\"Yandex Browser\",yandexbot:\"YandexBot\",youbot:\"YouBot\"};t.PLATFORMS_MAP={bot:\"bot\",desktop:\"desktop\",mobile:\"mobile\",tablet:\"tablet\",tv:\"tv\"};t.OS_MAP={Android:\"Android\",Bada:\"Bada\",BlackBerry:\"BlackBerry\",ChromeOS:\"Chrome OS\",HarmonyOS:\"HarmonyOS\",iOS:\"iOS\",Linux:\"Linux\",MacOS:\"macOS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\",Tizen:\"Tizen\",WebOS:\"WebOS\",Windows:\"Windows\",WindowsPhone:\"Windows Phone\"};t.ENGINE_MAP={Blink:\"Blink\",EdgeHTML:\"EdgeHTML\",Gecko:\"Gecko\",Presto:\"Presto\",Trident:\"Trident\",WebKit:\"WebKit\"}},90:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var i,n=(i=r(91))&&i.__esModule?i:{default:i},a=r(18);function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var s=function(){function e(){}var t,r,i;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new n.default(e,t)},e.parse=function(e){return new n.default(e).getResult()},t=e,i=[{key:\"BROWSER_MAP\",get:function(){return a.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return a.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return a.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return a.PLATFORMS_MAP}}],(r=null)&&o(t.prototype,r),i&&o(t,i),e}();t.default=s,e.exports=t.default},91:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var i=u(r(92)),n=u(r(93)),a=u(r(94)),o=u(r(95)),s=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=s.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=s.default.find(n.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=s.default.find(a.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=s.default.find(o.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return s.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},i=0,n={},a=0;if(Object.keys(e).forEach((function(t){var o=e[t];\"string\"==typeof o?(n[t]=o,a+=1):\"object\"==typeof o&&(r[t]=o,i+=1)})),i>0){var o=Object.keys(r),u=s.default.find(o,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=s.default.find(o,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(a>0){var l=Object.keys(n),b=s.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==b)return this.compareVersion(n[b])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),i=e.toLowerCase(),n=s.default.getBrowserTypeByAlias(i);return t&&n&&(i=n.toLowerCase()),i===r},t.compareVersion=function(e){var t=[0],r=e,i=!1,n=this.getBrowserVersion();if(\"string\"==typeof n)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(i=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(i=!0,r=e.substr(1)),t.indexOf(s.default.compareVersions(n,r,i))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var i,n=(i=r(17))&&i.__esModule?i:{default:i};var a=/version\\/(\\d+(\\.?_?\\d+)+)/i,o=[{test:[/gptbot/i],describe:function(e){var t={name:\"GPTBot\"},r=n.default.getFirstMatch(/gptbot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/chatgpt-user/i],describe:function(e){var t={name:\"ChatGPT-User\"},r=n.default.getFirstMatch(/chatgpt-user\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/oai-searchbot/i],describe:function(e){var t={name:\"OAI-SearchBot\"},r=n.default.getFirstMatch(/oai-searchbot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(e){var t={name:\"ClaudeBot\"},r=n.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(e){var t={name:\"Omgilibot\"},r=n.default.getFirstMatch(/(?:omgilibot|webzio-extended)\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/diffbot/i],describe:function(e){var t={name:\"Diffbot\"},r=n.default.getFirstMatch(/diffbot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/perplexitybot/i],describe:function(e){var t={name:\"PerplexityBot\"},r=n.default.getFirstMatch(/perplexitybot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/perplexity-user/i],describe:function(e){var t={name:\"Perplexity-User\"},r=n.default.getFirstMatch(/perplexity-user\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/youbot/i],describe:function(e){var t={name:\"YouBot\"},r=n.default.getFirstMatch(/youbot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/meta-webindexer/i],describe:function(e){var t={name:\"Meta-WebIndexer\"},r=n.default.getFirstMatch(/meta-webindexer\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/meta-externalads/i],describe:function(e){var t={name:\"Meta-ExternalAds\"},r=n.default.getFirstMatch(/meta-externalads\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/meta-externalagent/i],describe:function(e){var t={name:\"Meta-ExternalAgent\"},r=n.default.getFirstMatch(/meta-externalagent\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/meta-externalfetcher/i],describe:function(e){var t={name:\"Meta-ExternalFetcher\"},r=n.default.getFirstMatch(/meta-externalfetcher\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=n.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/amazonbot/i],describe:function(e){var t={name:\"AmazonBot\"},r=n.default.getFirstMatch(/amazonbot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/bingbot/i],describe:function(e){var t={name:\"BingCrawler\"},r=n.default.getFirstMatch(/bingbot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/baiduspider/i],describe:function(e){var t={name:\"BaiduSpider\"},r=n.default.getFirstMatch(/baiduspider\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/duckduckbot/i],describe:function(e){var t={name:\"DuckDuckBot\"},r=n.default.getFirstMatch(/duckduckbot\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/ia_archiver/i],describe:function(e){var t={name:\"InternetArchiveCrawler\"},r=n.default.getFirstMatch(/ia_archiver\\/(\\d+(\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{name:\"FacebookExternalHit\"}}},{test:[/yahoo!?[\\s/]*slurp/i],describe:function(){return{name:\"YahooSlurp\"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{name:\"YandexBot\"}}},{test:[/pingdom/i],describe:function(){return{name:\"PingdomBot\"}}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=n.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/PaleMoon/i],describe:function(e){var t={name:\"Pale Moon\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:PaleMoon)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=n.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=n.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=n.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=n.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=n.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=n.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=n.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=n.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=n.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=n.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=n.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=n.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=n.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=n.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=n.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=n.default.getFirstMatch(a,e)||n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=n.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=n.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=n.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/librewolf/i],describe:function(e){var t={name:\"LibreWolf\"},r=n.default.getFirstMatch(/(?:librewolf)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=n.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sogoumobilebrowser/i,/metasr/i,/se 2\\.[x]/i],describe:function(e){var t={name:\"Sogou Browser\"},r=n.default.getFirstMatch(/(?:sogoumobilebrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e),i=n.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e),a=n.default.getFirstMatch(/se ([\\d.]+)x/i,e),o=r||i||a;return o&&(t.version=o),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=n.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=n.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=n.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=n.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=n.default.getFirstMatch(a,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:n.default.getFirstMatch(t,e),version:n.default.getSecondMatch(t,e)}}}];t.default=o,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var i,n=(i=r(17))&&i.__esModule?i:{default:i},a=r(18);var o=[{test:[/Roku\\/DVP/],describe:function(e){var t=n.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:a.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=n.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:a.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=n.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=n.default.getWindowsVersionName(t);return{name:a.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:a.OS_MAP.iOS},r=n.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=n.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=n.default.getMacOSVersionName(t),i={name:a.OS_MAP.MacOS,version:t};return r&&(i.versionName=r),i}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=n.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:a.OS_MAP.iOS,version:t}}},{test:[/OpenHarmony/i],describe:function(e){var t=n.default.getFirstMatch(/OpenHarmony\\s+(\\d+(\\.\\d+)*)/i,e);return{name:a.OS_MAP.HarmonyOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=n.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=n.default.getAndroidVersionName(t),i={name:a.OS_MAP.Android,version:t};return r&&(i.versionName=r),i}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=n.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:a.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=n.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||n.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||n.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:a.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=n.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:a.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=n.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:a.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:a.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:a.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=n.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:a.OS_MAP.PlayStation4,version:t}}}];t.default=o,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var i,n=(i=r(17))&&i.__esModule?i:{default:i},a=r(18);var o=[{test:[/googlebot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Google\"}}},{test:[/amazonbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Amazon\"}}},{test:[/gptbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"OpenAI\"}}},{test:[/chatgpt-user/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"OpenAI\"}}},{test:[/oai-searchbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"OpenAI\"}}},{test:[/baiduspider/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Baidu\"}}},{test:[/bingbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Bing\"}}},{test:[/duckduckbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"DuckDuckGo\"}}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Anthropic\"}}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Webz.io\"}}},{test:[/diffbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Diffbot\"}}},{test:[/perplexitybot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Perplexity AI\"}}},{test:[/perplexity-user/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Perplexity AI\"}}},{test:[/youbot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"You.com\"}}},{test:[/ia_archiver/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Internet Archive\"}}},{test:[/meta-webindexer/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Meta\"}}},{test:[/meta-externalads/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Meta\"}}},{test:[/meta-externalagent/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Meta\"}}},{test:[/meta-externalfetcher/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Meta\"}}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Meta\"}}},{test:[/yahoo/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Yahoo\"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Yandex\"}}},{test:[/pingdom/i],describe:function(){return{type:a.PLATFORMS_MAP.bot,vendor:\"Pingdom\"}}},{test:[/huawei/i],describe:function(e){var t=n.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:a.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=n.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:a.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:a.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/Nokia/i],describe:function(e){var t=n.default.getFirstMatch(/Nokia\\s+([0-9]+(\\.[0-9]+)?)/i,e),r={type:a.PLATFORMS_MAP.mobile,vendor:\"Nokia\"};return t&&(r.model=t),r}},{test:[/[^-]mobi/i],describe:function(){return{type:a.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:a.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:a.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.tv}}}];t.default=o,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var i,n=(i=r(17))&&i.__esModule?i:{default:i},a=r(18);var o=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:a.ENGINE_MAP.Blink};var t=n.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:a.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:a.ENGINE_MAP.Trident},r=n.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:a.ENGINE_MAP.Presto},r=n.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:a.ENGINE_MAP.Gecko},r=n.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:a.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:a.ENGINE_MAP.WebKit},r=n.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=o,e.exports=t.default}})}));","import Bowser from 'bowser';\r\n\r\n/**\r\n * 获取浏览器名称和版本等设备信息\r\n */\r\nexport function getBrowserNameVersion() {\r\n const { browser, os, platform } = Bowser.parse(window.navigator.userAgent);\r\n return {\r\n browser,\r\n os,\r\n platform,\r\n ratio: getRatio(),\r\n wh: getWH(),\r\n };\r\n}\r\n\r\n/**\r\n * 获取屏幕缩放比例\r\n */\r\nfunction getRatio() {\r\n let ratio = 0;\r\n const screen: any = window.screen;\r\n const ua = navigator.userAgent.toLowerCase();\r\n if (window.devicePixelRatio !== undefined) {\r\n ratio = window.devicePixelRatio;\r\n } else if (~ua.indexOf('msie')) {\r\n if (screen.deviceXDPI && screen.logicalXDPI) {\r\n ratio = screen.deviceXDPI / screen.logicalXDPI;\r\n }\r\n } else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {\r\n ratio = window.outerWidth / window.innerWidth;\r\n }\r\n\r\n if (ratio) {\r\n ratio = Math.round(ratio * 100);\r\n }\r\n return ratio;\r\n}\r\n\r\n/**\r\n * 获取浏览器屏幕宽高\r\n */\r\nfunction getWH() {\r\n return {\r\n width: window.screen.width,\r\n height: window.screen.height,\r\n };\r\n}\r\n\r\n/**\r\n * 异步执行 / 空闲时刻 / 每帧回调\r\n */\r\nexport const nextTime =\r\n window.requestIdleCallback || window.requestAnimationFrame || ((callback) => window.setTimeout(callback, 1000 / 60));\r\n\r\n/**\r\n * 页面卸载前的回调\r\n */\r\nexport const beforeUnload = (callback: () => void) => {\r\n window.addEventListener('beforeunload', () => {\r\n callback();\r\n });\r\n};\r\n","/**\r\n * 节流函数\r\n * @param fn 执行函数\r\n * @param delay 延迟时间(ms)\r\n */\r\nexport function throttle<T extends (...args: any[]) => any>(fn: T, delay: number): (...args: Parameters<T>) => void {\r\n let lastTime = 0;\r\n return function (this: any, ...args: Parameters<T>) {\r\n const now = Date.now();\r\n if (now - lastTime >= delay) {\r\n fn.apply(this, args);\r\n lastTime = now;\r\n }\r\n };\r\n}\r\n","/**\r\n * 事件发送前的最大缓存数\r\n */\r\nexport const MAX_CACHE_LEN = 5;\r\n\r\n/**\r\n * 发送缓存事件前的最大等待时间(毫秒)\r\n */\r\nexport const MAX_WAITING_TIME = 30000;\r\n\r\n/**\r\n * 存储的用户UUID\r\n */\r\nexport const UUID = 'track_uuid';\r\n\r\n/**\r\n * 默认长任务阈值 (ms)\r\n */\r\nexport const DEFAULT_LONG_TASK_THRESHOLD = 100;\r\n\r\n/**\r\n * 默认资源加载阈值 (ms)\r\n */\r\nexport const DEFAULT_RESOURCE_THRESHOLD = 1000;\r\n\r\n/**\r\n * 默认 INP 阈值 (ms)\r\n */\r\nexport const DEFAULT_INP_THRESHOLD = 200;\r\n","import { nanoid } from 'nanoid';\r\nimport { getBrowserNameVersion } from '../utils';\r\nimport type { Device } from '../types/index';\r\nimport { UUID } from '../constant';\r\n\r\n//基本信息\r\nexport default class DeviceInfo {\r\n device: Device;\r\n uuid: string = '';\r\n\r\n constructor(uuidKey: string = UUID) {\r\n //设备信息\r\n this.device = getBrowserNameVersion();\r\n this.getUUid(uuidKey);\r\n }\r\n\r\n private getUUid(key: string) {\r\n try {\r\n const uuid = localStorage.getItem(key);\r\n if (uuid) {\r\n this.uuid = uuid;\r\n } else {\r\n this.uuid = nanoid();\r\n localStorage.setItem(key, this.uuid);\r\n }\r\n } catch (e) {\r\n // 降级处理:如果 localStorage 不可用(如隐身模式),仅在内存中生成 UUID\r\n this.uuid = nanoid();\r\n console.warn('[CWJ Monitor] localStorage access failed, UUID will not be persisted:', e);\r\n }\r\n }\r\n}\r\n","import DeviceInfo from './deviceInfo';\r\nimport { getDate } from '../utils';\r\nimport type { Options, MonitoringPayload } from '../types/index';\r\nimport { EMIT_TYPE } from '../types/event';\r\nimport Reporter from './reporter';\r\n\r\n/**\r\n * EventTrack 类处理事件收集和转换\r\n * 职责:\r\n * 1. 管理设备信息 (DeviceInfo)\r\n * 2. 格式化原始数据为 MonitoringPayload\r\n * 3. 将格式化后的数据交给 Reporter 发送\r\n */\r\nexport default class EventTrack {\r\n private deviceInfo: DeviceInfo;\r\n private reporter: Reporter;\r\n private data?: Record<string, any>;\r\n\r\n constructor(options: Options, reporter: Reporter) {\r\n this.deviceInfo = new DeviceInfo(options.uuidKey);\r\n this.reporter = reporter;\r\n this.data = options.data;\r\n }\r\n\r\n /**\r\n * 格式化事件数据用于传输\r\n */\r\n private formatter(type: EMIT_TYPE | string, data: any): MonitoringPayload {\r\n const timestamp = Date.now();\r\n return {\r\n device: this.deviceInfo.device,\r\n uuid: this.deviceInfo.uuid,\r\n type,\r\n data,\r\n date: getDate(timestamp),\r\n userData: this.data,\r\n };\r\n }\r\n\r\n /**\r\n * 公共方法:发送事件\r\n * 将事件格式化后交给 reporter 处理\r\n */\r\n public emit(type: EMIT_TYPE | string, data?: any): void {\r\n const payload = this.formatter(type, data);\r\n this.reporter.send(payload);\r\n }\r\n\r\n /**\r\n * 获取上报器实例 (供 Core 使用)\r\n */\r\n public getReporter(): Reporter {\r\n return this.reporter;\r\n }\r\n}\r\n","import { MAX_CACHE_LEN, MAX_WAITING_TIME } from '../constant';\r\nimport { nextTime, beforeUnload } from '../utils';\r\nimport type { MonitoringPayload, TransportConfig } from '../types/index';\r\n\r\n/**\r\n * Reporter 类负责数据的批量上报、重试和调度\r\n */\r\nexport default class Reporter {\r\n private url: string;\r\n private transportConfig: Required<TransportConfig>;\r\n private events: MonitoringPayload[] = [];\r\n private isSending = false;\r\n private timer: ReturnType<typeof setTimeout> | null = null;\r\n\r\n constructor(url: string, config?: TransportConfig) {\r\n this.url = url;\r\n this.transportConfig = {\r\n maxBatchSize: config?.maxBatchSize ?? MAX_CACHE_LEN,\r\n maxWaitTime: config?.maxWaitTime ?? MAX_WAITING_TIME,\r\n };\r\n\r\n // 页面卸载前刷新事件\r\n beforeUnload(() => this.flush());\r\n }\r\n\r\n /**\r\n * 将事件加入队列\r\n */\r\n public send(payload: MonitoringPayload) {\r\n this.events.push(payload);\r\n\r\n // 达到最大批处理大小时立即发送,否则通过定时器发送\r\n if (this.events.length >= this.transportConfig.maxBatchSize) {\r\n this.clearTimer();\r\n this.triggerSend();\r\n } else if (!this.timer) {\r\n this.timer = setTimeout(() => {\r\n this.timer = null;\r\n this.triggerSend();\r\n }, this.transportConfig.maxWaitTime);\r\n }\r\n }\r\n\r\n /**\r\n * 立即刷新所有待发送事件\r\n */\r\n public flush(): Promise<void> {\r\n return this.triggerSend(true);\r\n }\r\n\r\n private clearTimer() {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n /**\r\n * 触发发送逻辑\r\n */\r\n private async triggerSend(isFlush = false): Promise<void> {\r\n if (this.isSending || !this.events.length) return;\r\n\r\n this.isSending = true;\r\n\r\n try {\r\n const maxLen = isFlush ? this.events.length : this.transportConfig.maxBatchSize;\r\n const sendEvents = this.events.slice(0, maxLen);\r\n this.events = this.events.slice(maxLen);\r\n\r\n await this.safeSend(sendEvents);\r\n\r\n // 如果还有剩余事件,调度下次发送\r\n if (this.events.length) {\r\n nextTime(() => this.triggerSend());\r\n }\r\n } catch (error) {\r\n // 失败处理逻辑,目前简单忽略\r\n } finally {\r\n this.isSending = false;\r\n }\r\n }\r\n\r\n /**\r\n * 使用 navigator.sendBeacon 或 XMLHttpRequest 安全发送事件\r\n */\r\n private safeSend(events: MonitoringPayload[]): Promise<void> {\r\n return new Promise((resolve, reject) => {\r\n if (!events.length) {\r\n resolve();\r\n return;\r\n }\r\n\r\n const data = JSON.stringify(events);\r\n\r\n // 优先尝试 sendBeacon(更适合页面卸载)\r\n if (typeof navigator.sendBeacon === 'function') {\r\n const blob = new Blob([data], { type: 'application/json' });\r\n const success = navigator.sendBeacon(this.url, blob);\r\n\r\n if (success) {\r\n resolve();\r\n } else {\r\n this.sendViaXHR(data, resolve, reject);\r\n }\r\n } else {\r\n // 降级到 XMLHttpRequest\r\n this.sendViaXHR(data, resolve, reject);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 通过 XMLHttpRequest 发送\r\n */\r\n private sendViaXHR(data: string, resolve: () => void, reject: (error: Error) => void): void {\r\n const xhr = new XMLHttpRequest();\r\n\r\n xhr.open('POST', this.url, true);\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n\r\n xhr.onload = () => {\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve();\r\n } else {\r\n reject(new Error(`HTTP ${xhr.status}: ${xhr.statusText}`));\r\n }\r\n };\r\n\r\n xhr.onerror = () => reject(new Error('Network error'));\r\n xhr.ontimeout = () => reject(new Error('Request timeout'));\r\n\r\n xhr.timeout = 10000;\r\n xhr.send(data);\r\n }\r\n}\r\n","/**\r\n * 插件类型标识符\r\n * 用于插件注册和配置\r\n */\r\nexport enum TYPES {\r\n ERROR = 'error',\r\n CLICK = 'click',\r\n PERFORMANCE = 'performance',\r\n ROUTER = 'router',\r\n XHR = 'xhr',\r\n FETCH = 'fetch',\r\n}\r\n\r\n/**\r\n * 事件发送类型标识符\r\n * 用于向追踪系统发送事件时使用\r\n */\r\nexport enum EMIT_TYPE {\r\n // 错误事件\r\n ERROR = 'error',\r\n\r\n // 行为事件\r\n BEHAVIOR_CLICK = 'click',\r\n ROUTE_CHANGE = 'route_change',\r\n\r\n // 性能事件 - Core Web Vitals\r\n PERFORMANCE_FP = 'performance_fp',\r\n PERFORMANCE_FCP = 'performance_fcp',\r\n PERFORMANCE_LCP = 'performance_lcp',\r\n PERFORMANCE_INP = 'performance_inp',\r\n PERFORMANCE_LONGTASK = 'performance_longtask',\r\n PERFORMANCE_RESOURCE = 'performance_resource',\r\n\r\n // XHR 事件\r\n XHR = 'xhr',\r\n FETCH = 'fetch',\r\n\r\n // 自定义事件\r\n CUSTOM = 'custom',\r\n}\r\n","import EventTrack from './eventTrack';\r\nimport Reporter from './reporter';\r\nimport type { Options } from '../types/index';\r\nimport type { IPlugin } from '../plugin/definePlugin';\r\nimport { EMIT_TYPE } from '../types/event';\r\n\r\nexport default class Core extends EventTrack {\r\n private pluginMap: Map<string, IPlugin> = new Map();\r\n private options: Options;\r\n\r\n constructor(options: Options) {\r\n const reporter = new Reporter(options.url, options.transport);\r\n super(options, reporter);\r\n this.options = options;\r\n }\r\n\r\n use(plugin: IPlugin): Core {\r\n if (!this.pluginMap.has(plugin.name)) {\r\n this.pluginMap.set(plugin.name, plugin);\r\n }\r\n return this; // 方便链式调用\r\n }\r\n\r\n /**\r\n * 自定义事件上报\r\n * @param data 上报的数据\r\n * @param type 事件类型,默认为 'custom'\r\n */\r\n log(data: any, type: string = EMIT_TYPE.CUSTOM): void {\r\n this.emit(type, data);\r\n }\r\n\r\n // 启动插件\r\n run() {\r\n const context = {\r\n emit: this.emit.bind(this),\r\n url: this.options.url,\r\n };\r\n\r\n this.pluginMap.forEach((plugin) => {\r\n plugin.install(context);\r\n });\r\n\r\n // 挂载全局变量\r\n this.mount();\r\n }\r\n\r\n // 停止并卸载所有插件\r\n stop() {\r\n this.pluginMap.forEach((plugin) => {\r\n plugin.uninstall?.();\r\n });\r\n this.pluginMap.clear();\r\n\r\n // 卸载全局变量\r\n this.unmount();\r\n }\r\n\r\n private mount() {\r\n const { globalKey = '$track' } = this.options;\r\n if (typeof window !== 'undefined') {\r\n (window as any)[globalKey] = this;\r\n }\r\n }\r\n\r\n private unmount() {\r\n const { globalKey = '$track' } = this.options;\r\n if (typeof window !== 'undefined' && (window as any)[globalKey] === this) {\r\n delete (window as any)[globalKey];\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 创建监控实例的工厂函数\r\n * @param options 配置项\r\n */\r\nexport function createMonitor(options: Options): Core {\r\n return new Core(options);\r\n}\r\n","import { IPlugin, PluginContext } from './definePlugin';\r\nimport { EMIT_TYPE, TYPES } from '../types/event';\r\n\r\nexport interface ErrorOptions {\r\n /** 过滤函数,返回 false 则不记录该错误 */\r\n filter?: (error: any) => boolean;\r\n}\r\n\r\n/**\r\n * 错误监控插件\r\n * 监控并捕获 JavaScript 错误、资源加载错误、Promise 拒绝以及 console.error 调用\r\n */\r\nexport const ErrorPlugin = (options: ErrorOptions = {}): IPlugin => {\r\n let originalConsoleError: (...data: any[]) => void;\r\n let context: PluginContext;\r\n\r\n /**\r\n * 重写 console.error 以捕获错误日志\r\n */\r\n const overrideConsoleError = () => {\r\n originalConsoleError = console.error;\r\n\r\n console.error = (...args: any[]) => {\r\n // 调用原始的 console.error\r\n originalConsoleError?.apply(console, args);\r\n\r\n // 捕获错误信息\r\n const errorData = {\r\n type: 'console',\r\n message: args.map((arg) => String(arg)).join(' '),\r\n stack: new Error().stack,\r\n };\r\n\r\n // 如果配置了过滤函数且返回 false,则不记录\r\n if (options.filter && !options.filter(errorData)) {\r\n return;\r\n }\r\n\r\n context?.emit(EMIT_TYPE.ERROR, errorData);\r\n };\r\n };\r\n\r\n /**\r\n * 恢复 console.error\r\n */\r\n const restoreConsoleError = () => {\r\n if (originalConsoleError) {\r\n console.error = originalConsoleError;\r\n }\r\n };\r\n\r\n /**\r\n * 清理并限制堆栈追踪深度\r\n */\r\n const cleanStack = (stack?: string): string | undefined => {\r\n if (!stack) return undefined;\r\n const lines = stack.split('\\n').slice(0, 11);\r\n return lines.join('\\n');\r\n };\r\n\r\n /**\r\n * 用于生成指纹的简单哈希函数\r\n */\r\n const simpleHash = (str: string): string => {\r\n let hash = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const char = str.charCodeAt(i);\r\n hash = (hash << 5) - hash + char;\r\n hash = hash & hash; // 转换为 32 位整数\r\n }\r\n return Math.abs(hash).toString(36);\r\n };\r\n\r\n /**\r\n * 生成错误指纹以对相似错误进行分组\r\n */\r\n const generateFingerprint = (...parts: (string | undefined)[]): string => {\r\n const combined = parts.filter(Boolean).join('|');\r\n return simpleHash(combined);\r\n };\r\n\r\n /**\r\n * 检查错误是否为资源加载错误\r\n */\r\n const isResourceError = (target: any): boolean => {\r\n const resourceTags = ['LINK', 'SCRIPT', 'IMG', 'AUDIO', 'VIDEO', 'IFRAME'];\r\n return target && resourceTags.includes(target.tagName);\r\n };\r\n\r\n /**\r\n * 从 Promise 拒绝中提取错误详情\r\n */\r\n const getPromiseErrorDetails = (e: PromiseRejectionEvent) => {\r\n if (e.reason instanceof Error) {\r\n return {\r\n errorType: 'promise',\r\n message: e.reason.message,\r\n stack: cleanStack(e.reason.stack),\r\n name: e.reason.name,\r\n fingerprint: generateFingerprint(e.reason.message, e.reason.stack),\r\n };\r\n }\r\n return {\r\n errorType: 'promise',\r\n message: String(e.reason),\r\n };\r\n };\r\n\r\n /**\r\n * 从 ErrorEvent 中提取错误详情\r\n */\r\n const getErrorDetails = (e: ErrorEvent) => {\r\n const { error, target, filename, message } = e;\r\n if (error instanceof Error) {\r\n return {\r\n errorType: 'js',\r\n name: error.name,\r\n message: error.message,\r\n stack: cleanStack(error.stack),\r\n filename,\r\n colno: e.colno,\r\n lineno: e.lineno,\r\n fingerprint: generateFingerprint(error.message, error.stack),\r\n };\r\n }\r\n if (isResourceError(target)) {\r\n const element = target as HTMLImageElement | HTMLScriptElement | HTMLLinkElement;\r\n const url = 'src' in element ? element.src : element.href;\r\n return {\r\n errorType: 'resource',\r\n message: `Resource load failed: ${url}`,\r\n url,\r\n tagName: element.tagName,\r\n fingerprint: generateFingerprint(`resource:${url}`),\r\n };\r\n }\r\n return {\r\n errorType: 'unknown',\r\n message,\r\n filename,\r\n };\r\n };\r\n\r\n const errorHandler = (e: ErrorEvent) => {\r\n const errorData = { type: 'sync', ...getErrorDetails(e) };\r\n if (options.filter && !options.filter(errorData)) return;\r\n context?.emit(EMIT_TYPE.ERROR, errorData);\r\n };\r\n\r\n const rejectionHandler = (e: PromiseRejectionEvent) => {\r\n const errorData = { type: 'async', ...getPromiseErrorDetails(e) };\r\n if (options.filter && !options.filter(errorData)) return;\r\n context?.emit(EMIT_TYPE.ERROR, errorData);\r\n };\r\n\r\n return {\r\n name: TYPES.ERROR,\r\n install: (ctx: PluginContext) => {\r\n context = ctx;\r\n overrideConsoleError();\r\n window.addEventListener('error', errorHandler, true);\r\n window.addEventListener('unhandledrejection', rejectionHandler, true);\r\n },\r\n uninstall: () => {\r\n restoreConsoleError();\r\n window.removeEventListener('error', errorHandler, true);\r\n window.removeEventListener('unhandledrejection', rejectionHandler, true);\r\n },\r\n };\r\n};\r\n","import { IPlugin, PluginContext } from './definePlugin';\r\nimport { EMIT_TYPE, TYPES } from '../types/event';\r\nimport { getSeconds } from '../utils';\r\n\r\nexport interface PVOptions {\r\n /** 过滤函数,返回 false 则不记录该路由变化 */\r\n filter?: (to: string, from: string) => boolean;\r\n}\r\n\r\nexport const PVPlugin = (options: PVOptions = {}): IPlugin => {\r\n let lastRouteTime: number = Date.now();\r\n let context: PluginContext;\r\n\r\n let originPushState: typeof window.history.pushState;\r\n let originReplaceState: typeof window.history.replaceState;\r\n\r\n const emitRouteChange = (type: string) => {\r\n const now = Date.now();\r\n const to = window.location.href;\r\n const from = document.referrer;\r\n\r\n // 如果配置了过滤函数且返回 false,则不记录\r\n if (options.filter && !options.filter(to, from)) {\r\n return;\r\n }\r\n\r\n context?.emit(EMIT_TYPE.ROUTE_CHANGE, {\r\n from,\r\n to,\r\n type,\r\n duration: getSeconds(now, lastRouteTime),\r\n });\r\n\r\n lastRouteTime = now;\r\n };\r\n\r\n const handleHashChange = () => emitRouteChange('hashchange');\r\n const handlePopState = () => emitRouteChange('popstate');\r\n\r\n const setupHistoryListener = () => {\r\n originPushState = window.history.pushState;\r\n originReplaceState = window.history.replaceState;\r\n\r\n window.history.pushState = (...args) => {\r\n originPushState.apply(window.history, args);\r\n emitRouteChange('pushState');\r\n };\r\n\r\n window.history.replaceState = (...args) => {\r\n originReplaceState.apply(window.history, args);\r\n emitRouteChange('replaceState');\r\n };\r\n };\r\n\r\n const restoreHistoryListener = () => {\r\n if (originPushState) window.history.pushState = originPushState;\r\n if (originReplaceState) window.history.replaceState = originReplaceState;\r\n };\r\n\r\n return {\r\n name: TYPES.ROUTER,\r\n install: (ctx: PluginContext) => {\r\n context = ctx;\r\n lastRouteTime = Date.now();\r\n window.addEventListener('hashchange', handleHashChange);\r\n window.addEventListener('popstate', handlePopState);\r\n setupHistoryListener();\r\n },\r\n uninstall: () => {\r\n window.removeEventListener('hashchange', handleHashChange);\r\n window.removeEventListener('popstate', handlePopState);\r\n restoreHistoryListener();\r\n },\r\n };\r\n};\r\n","import { IPlugin, PluginContext } from './definePlugin';\r\nimport { EMIT_TYPE, TYPES } from '../types/event';\r\nimport { throttle } from '../utils';\r\n\r\nexport interface BehaviorOptions {\r\n /** 过滤函数,返回 false 则不记录该点击事件 */\r\n filter?: (element: HTMLElement) => boolean;\r\n /** 节流延迟时间(ms),默认 500ms */\r\n throttleDelay?: number;\r\n}\r\n\r\nexport const BehaviorPlugin = (options: BehaviorOptions = {}): IPlugin => {\r\n const { throttleDelay = 500 } = options;\r\n let context: PluginContext;\r\n\r\n // 获取元素的 XPath\r\n const getElementXPath = (element: HTMLElement): string => {\r\n if (!element || element.nodeType !== 1) return '';\r\n if (element.id) return `//*[@id=\"${element.id}\"]`;\r\n\r\n const sameTagSiblings = Array.from(element.parentNode?.children || []).filter(\r\n (el) => el.tagName === element.tagName,\r\n );\r\n\r\n const idx = sameTagSiblings.indexOf(element) + 1;\r\n return `${getElementXPath(element.parentNode as HTMLElement)}/${element.tagName.toLowerCase()}[${idx}]`;\r\n };\r\n\r\n const handleClick = throttle((e: Event) => {\r\n const target = e.target as HTMLElement;\r\n if (!target) return;\r\n\r\n // 如果配置了过滤函数且返回 false,则不记录\r\n if (options.filter && !options.filter(target)) {\r\n return;\r\n }\r\n\r\n // 收集点击元素信息\r\n const clickData = {\r\n tagName: target.tagName,\r\n id: target.id,\r\n className: target.className,\r\n text: target.textContent?.trim(),\r\n xPath: getElementXPath(target),\r\n };\r\n\r\n context?.emit(EMIT_TYPE.BEHAVIOR_CLICK, clickData);\r\n }, throttleDelay);\r\n\r\n return {\r\n name: TYPES.CLICK,\r\n install: (ctx: PluginContext) => {\r\n context = ctx;\r\n document.addEventListener(EMIT_TYPE.BEHAVIOR_CLICK, handleClick, true);\r\n },\r\n uninstall: () => {\r\n document.removeEventListener(EMIT_TYPE.BEHAVIOR_CLICK, handleClick, true);\r\n },\r\n };\r\n};\r\n","import { IPlugin, PluginContext } from './definePlugin';\r\nimport { EMIT_TYPE, TYPES } from '../types/event';\r\n\r\nimport { DEFAULT_INP_THRESHOLD, DEFAULT_LONG_TASK_THRESHOLD, DEFAULT_RESOURCE_THRESHOLD } from '../constant';\r\n\r\nexport interface PerformanceOptions {\r\n /** 过滤函数,返回 false 则不记录该性能指标 */\r\n filter?: (type: EMIT_TYPE, value: any) => boolean;\r\n /** 长任务阈值 (ms),超过此值则上报,默认 100 */\r\n longTaskThreshold?: number;\r\n /** 资源加载阈值 (ms),超过此值则上报,默认 1000 */\r\n resourceThreshold?: number;\r\n /** INP 阈值 (ms),超过此值则上报,默认 200 */\r\n inpThreshold?: number;\r\n}\r\n\r\nexport const PerformancePlugin = (options: PerformanceOptions = {}): IPlugin => {\r\n let context: PluginContext;\r\n let paintObserver: PerformanceObserver | null = null;\r\n let lcpObserver: PerformanceObserver | null = null;\r\n let inpObserver: PerformanceObserver | null = null;\r\n let longTaskObserver: PerformanceObserver | null = null;\r\n let resourceObserver: PerformanceObserver | null = null;\r\n // 存储交互事件的 Map: interactionId -> { entry, timeoutId }\r\n const interactionMap = new Map<number, { entry: any; timeoutId: any }>();\r\n\r\n const monitorPaintMetrics = () => {\r\n const entryHandler = (list: { getEntries: () => any }) => {\r\n for (const entry of list.getEntries()) {\r\n if (entry.name === 'first-paint') {\r\n if (options.filter && !options.filter(EMIT_TYPE.PERFORMANCE_FP, entry.startTime)) {\r\n continue;\r\n }\r\n context?.emit(EMIT_TYPE.PERFORMANCE_FP, entry.startTime);\r\n } else if (entry.name === 'first-contentful-paint') {\r\n if (options.filter && !options.filter(EMIT_TYPE.PERFORMANCE_FCP, entry.startTime)) {\r\n continue;\r\n }\r\n context?.emit(EMIT_TYPE.PERFORMANCE_FCP, entry.startTime);\r\n }\r\n }\r\n paintObserver?.disconnect();\r\n };\r\n\r\n try {\r\n paintObserver = new PerformanceObserver(entryHandler);\r\n paintObserver.observe({ type: 'paint', buffered: true });\r\n } catch (e) {\r\n console.warn('[CWJ Monitor] Paint observation not supported:', e);\r\n }\r\n };\r\n\r\n const monitorLCP = () => {\r\n const entryHandler = (list: { getEntries: () => any }) => {\r\n if (lcpObserver) {\r\n lcpObserver.disconnect();\r\n }\r\n\r\n for (const entry of list.getEntries()) {\r\n if (options.filter && !options.filter(EMIT_TYPE.PERFORMANCE_LCP, entry.startTime)) {\r\n continue;\r\n }\r\n context?.emit(EMIT_TYPE.PERFORMANCE_LCP, entry.startTime);\r\n }\r\n };\r\n\r\n try {\r\n lcpObserver = new PerformanceObserver(entryHandler);\r\n lcpObserver.observe({ type: 'largest-contentful-paint', buffered: true });\r\n } catch (e) {\r\n console.warn('[CWJ Monitor] LCP observation not supported:', e);\r\n }\r\n };\r\n\r\n const monitorINP = () => {\r\n const entryHandler = (list: { getEntries: () => any }) => {\r\n for (const entry of list.getEntries()) {\r\n // 仅处理有 interactionId 的交互事件\r\n if (!entry.interactionId) continue;\r\n\r\n // 获取该 interactionId 已有的记录\r\n const existing = interactionMap.get(entry.interactionId);\r\n if (existing) {\r\n clearTimeout(existing.timeoutId);\r\n }\r\n\r\n // 取耗时最长的事件作为该次交互的代表\r\n const maxEntry = existing && existing.entry.duration > entry.duration ? existing.entry : entry;\r\n\r\n // 防抖:200ms 内无新事件则上报\r\n const timeoutId = setTimeout(() => {\r\n interactionMap.delete(maxEntry.interactionId);\r\n\r\n if (options.filter && !options.filter(EMIT_TYPE.PERFORMANCE_INP, maxEntry)) {\r\n return;\r\n }\r\n\r\n // 只上报耗时超过阈值的事件\r\n const threshold = options.inpThreshold ?? DEFAULT_INP_THRESHOLD;\r\n if (maxEntry.duration > threshold) {\r\n context?.emit(EMIT_TYPE.PERFORMANCE_INP, {\r\n value: maxEntry.duration,\r\n startTime: maxEntry.startTime,\r\n name: maxEntry.name,\r\n interactionId: maxEntry.interactionId,\r\n });\r\n }\r\n }, 200);\r\n\r\n interactionMap.set(entry.interactionId, { entry: maxEntry, timeoutId });\r\n }\r\n };\r\n\r\n // 观察 'event' 类型,durationThreshold 默认为 40ms\r\n try {\r\n inpObserver = new PerformanceObserver(entryHandler);\r\n inpObserver.observe({ type: 'event', buffered: true });\r\n } catch (e) {\r\n console.warn('[CWJ Monitor] INP observation not supported:', e);\r\n }\r\n };\r\n\r\n const monitorLongTask = () => {\r\n const entryHandler = (list: { getEntries: () => any }) => {\r\n for (const entry of list.getEntries()) {\r\n if (options.filter && !options.filter(EMIT_TYPE.PERFORMANCE_LONGTASK, entry)) {\r\n continue;\r\n }\r\n // 长任务默认时间为50ms,这里提高阀值,减少日志噪音\r\n const threshold = options.longTaskThreshold ?? DEFAULT_LONG_TASK_THRESHOLD;\r\n if (entry.duration > threshold) {\r\n context?.emit(EMIT_TYPE.PERFORMANCE_LONGTASK, {\r\n startTime: entry.startTime,\r\n duration: entry.duration,\r\n name: entry.name,\r\n attribution: entry.attribution,\r\n });\r\n }\r\n }\r\n };\r\n\r\n try {\r\n longTaskObserver = new PerformanceObserver(entryHandler);\r\n longTaskObserver.observe({ type: 'longtask', buffered: true });\r\n } catch (e) {\r\n console.warn('[CWJ Monitor] Long Task observation not supported:', e);\r\n }\r\n };\r\n\r\n const monitorResource = () => {\r\n const entryHandler = (list: { getEntries: () => any }) => {\r\n for (const entry of list.getEntries()) {\r\n // 只监听 fetch 与 xmlhttprequest\r\n if (entry.initiatorType !== 'fetch' && entry.initiatorType !== 'xmlhttprequest') {\r\n continue;\r\n }\r\n\r\n if (options.filter && !options.filter(EMIT_TYPE.PERFORMANCE_RESOURCE, entry)) {\r\n continue;\r\n }\r\n\r\n // 资源加载时间超过阈值,上报\r\n const threshold = options.resourceThreshold ?? DEFAULT_RESOURCE_THRESHOLD;\r\n if (entry.duration > threshold) {\r\n context?.emit(EMIT_TYPE.PERFORMANCE_RESOURCE, {\r\n name: entry.name, // 资源 URL\r\n initiatorType: entry.initiatorType,\r\n duration: entry.duration,\r\n startTime: entry.startTime,\r\n transferSize: entry.transferSize,\r\n encodedBodySize: entry.encodedBodySize,\r\n decodedBodySize: entry.decodedBodySize,\r\n });\r\n }\r\n }\r\n };\r\n\r\n try {\r\n resourceObserver = new PerformanceObserver(entryHandler);\r\n resourceObserver.observe({ type: 'resource', buffered: true });\r\n } catch (e) {\r\n console.warn('[CWJ Monitor] Resource observation not supported:', e);\r\n }\r\n };\r\n\r\n return {\r\n name: TYPES.PERFORMANCE,\r\n install: (ctx: PluginContext) => {\r\n context = ctx;\r\n monitorPaintMetrics();\r\n monitorLCP();\r\n monitorINP();\r\n monitorLongTask();\r\n monitorResource();\r\n },\r\n uninstall: () => {\r\n paintObserver?.disconnect();\r\n lcpObserver?.disconnect();\r\n inpObserver?.disconnect();\r\n longTaskObserver?.disconnect();\r\n resourceObserver?.disconnect();\r\n // 清理所有待处理的 INP 定时器\r\n interactionMap.forEach((value) => clearTimeout(value.timeoutId));\r\n interactionMap.clear();\r\n },\r\n };\r\n};\r\n","import { IPlugin, PluginContext } from './definePlugin';\r\nimport { TYPES, EMIT_TYPE } from '../types/event';\r\n\r\n// 扩展 XMLHttpRequest 接口以包含自定义属性\r\ninterface CustomXMLHttpRequest extends XMLHttpRequest {\r\n _xhr_info?: {\r\n method: string;\r\n url: string;\r\n startTime: number;\r\n };\r\n}\r\n\r\ntype OpenArgs = Parameters<typeof window.XMLHttpRequest.prototype.open>;\r\ntype SendArgs = Parameters<typeof window.XMLHttpRequest.prototype.send>;\r\n\r\nexport interface XHROptions {\r\n /** 过滤函数,返回 false 则不记录该请求 */\r\n filter?: (method: string, url: string) => boolean;\r\n}\r\n\r\n/**\r\n * XHR 监控插件\r\n * 监控 XMLHttpRequest 请求,记录失败的请求(状态码非 2xx)\r\n */\r\nexport const XHRPlugin = (options: XHROptions = {}): IPlugin => {\r\n let context: PluginContext;\r\n let originOpen: typeof XMLHttpRequest.prototype.open;\r\n let originSend: typeof XMLHttpRequest.prototype.send;\r\n\r\n const setupXHRListeners = () => {\r\n const originXhr = window.XMLHttpRequest;\r\n if (!originXhr) return;\r\n\r\n originOpen = originXhr.prototype.open;\r\n originSend = originXhr.prototype.send;\r\n\r\n // 重写 open 方法\r\n originXhr.prototype.open = function <T extends OpenArgs>(this: CustomXMLHttpRequest, ...args: T) {\r\n this._xhr_info = {\r\n method: args[0].toUpperCase(),\r\n url: String(args[1]),\r\n startTime: 0,\r\n };\r\n return originOpen.apply(this, args);\r\n };\r\n\r\n // 重写 send 方法\r\n originXhr.prototype.send = function <T extends SendArgs>(this: CustomXMLHttpRequest, ...args: T) {\r\n if (this._xhr_info) {\r\n this._xhr_info.startTime = Date.now();\r\n }\r\n\r\n const onLoadend = () => {\r\n if (this._xhr_info) {\r\n // 防止死循环:忽略发送到监控后台的请求\r\n const trackerUrl = context?.url;\r\n const { url, method, startTime } = this._xhr_info;\r\n\r\n if (trackerUrl && url.includes(trackerUrl)) {\r\n return;\r\n }\r\n\r\n // 如果配置了过滤函数且返回 false,则不记录\r\n if (options.filter && !options.filter(method, url)) {\r\n return;\r\n }\r\n\r\n const duration = Date.now() - startTime;\r\n const status = this.status;\r\n\r\n // 监听HTTP层面 状态码不是200~299的错误\r\n if (!(status >= 200 && status < 300)) {\r\n const data = {\r\n method,\r\n url,\r\n status,\r\n duration,\r\n // 限制响应体大小,避免数据过大\r\n response: this.response ? String(this.response).slice(0, 200) : '',\r\n };\r\n\r\n context?.emit(EMIT_TYPE.XHR, data);\r\n }\r\n }\r\n };\r\n\r\n this.addEventListener('loadend', onLoadend);\r\n return originSend.apply(this, args);\r\n };\r\n };\r\n\r\n const restoreXHR = () => {\r\n const originXhr = window.XMLHttpRequest;\r\n if (!originXhr) return;\r\n if (originOpen) originXhr.prototype.open = originOpen;\r\n if (originSend) originXhr.prototype.send = originSend;\r\n };\r\n\r\n return {\r\n name: TYPES.XHR,\r\n install: (ctx: PluginContext) => {\r\n context = ctx;\r\n setupXHRListeners();\r\n },\r\n uninstall: () => {\r\n restoreXHR();\r\n },\r\n };\r\n};\r\n","import { IPlugin, PluginContext } from './definePlugin';\r\nimport { TYPES, EMIT_TYPE } from '../types/event';\r\n\r\nexport interface FetchOptions {\r\n /** 过滤函数,返回 false 则不记录该请求 */\r\n filter?: (method: string, url: string) => boolean;\r\n}\r\n\r\n/**\r\n * Fetch 监控插件\r\n * 监控 fetch 请求,记录失败的请求(状态码非 2xx 或网络错误)\r\n */\r\nexport const FetchPlugin = (options: FetchOptions = {}): IPlugin => {\r\n let context: PluginContext;\r\n let originFetch: typeof window.fetch;\r\n\r\n const setupFetchListeners = () => {\r\n originFetch = window.fetch;\r\n if (!originFetch) return;\r\n\r\n window.fetch = function (input: RequestInfo | URL, init?: RequestInit) {\r\n const startTime = Date.now();\r\n const method = (init?.method || 'GET').toUpperCase();\r\n const url = input instanceof Request ? input.url : String(input);\r\n\r\n return originFetch.apply(this, [input, init]).then(\r\n (response) => {\r\n const trackerUrl = context?.url;\r\n if (trackerUrl && url.includes(trackerUrl)) {\r\n return response;\r\n }\r\n\r\n // 如果配置了过滤函数且返回 false,则不记录\r\n if (options.filter && !options.filter(method, url)) {\r\n return response;\r\n }\r\n\r\n if (!response.ok) {\r\n const duration = Date.now() - startTime;\r\n const data = {\r\n method,\r\n url,\r\n status: response.status,\r\n duration,\r\n success: false,\r\n };\r\n context?.emit(EMIT_TYPE.FETCH, data);\r\n }\r\n return response;\r\n },\r\n (error) => {\r\n const trackerUrl = context?.url;\r\n if (trackerUrl && url.includes(trackerUrl)) {\r\n throw error;\r\n }\r\n\r\n // 如果配置了过滤函数且返回 false,则不记录\r\n if (options.filter && !options.filter(method, url)) {\r\n throw error;\r\n }\r\n\r\n const duration = Date.now() - startTime;\r\n const data = {\r\n method,\r\n url,\r\n status: 0,\r\n duration,\r\n success: false,\r\n message: error.message,\r\n };\r\n context?.emit(EMIT_TYPE.FETCH, data);\r\n throw error;\r\n },\r\n );\r\n };\r\n };\r\n\r\n const restoreFetch = () => {\r\n if (originFetch) window.fetch = originFetch;\r\n };\r\n\r\n return {\r\n name: TYPES.FETCH,\r\n install: (ctx: PluginContext) => {\r\n context = ctx;\r\n setupFetchListeners();\r\n },\r\n uninstall: () => {\r\n restoreFetch();\r\n },\r\n };\r\n};\r\n"],"names":["scopedUrlAlphabet","date","this","__publicField","TYPES","EMIT_TYPE"],"mappings":";;;;;;EAAO,MAAM,WAAW;EACxB,EAAE;;ECDF;EAqBO,IAAI,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK;EACnC,EAAE,IAAI,EAAE,GAAG,GAAE;EACb,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,EAAE,IAAI,IAAI,CAAC,EAAE,EAAC;EACjE,EAAE,OAAO,IAAI,EAAE,EAAE;EACjB,IAAI,EAAE,IAAIA,WAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC;EAC7C,GAAG;EACH,EAAE,OAAO,EAAE;EACX;;EC3BO,MAAM,OAAU,GAAA,CAAC,IAAe,GAAA,IAAA,CAAK,KAAU,KAAA;EACpD,EAAM,MAAA,IAAA,GAAO,IAAI,IAAA,CAAK,IAAI,CAAA,CAAA;EAC1B,EAAM,MAAA,IAAA,GAAO,KAAK,WAAY,EAAA,CAAA;EAC9B,EAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,QAAA,EAAa,GAAA,CAAA,CAAA;EAChC,EAAM,MAAA,GAAA,GAAM,KAAK,OAAQ,EAAA,CAAA;EACzB,EAAM,MAAA,IAAA,GAAO,KAAK,QAAS,EAAA,CAAA;EAC3B,EAAM,MAAA,MAAA,GAAS,KAAK,UAAW,EAAA,CAAA;EAC/B,EAAM,MAAA,MAAA,GAAS,KAAK,UAAW,EAAA,CAAA;EAE/B,EAAM,MAAA,SAAA,GAAY,CAACC,KAAiB,KAAA;EAClC,IAAA,IAAI,GAAM,GAAA,EAAA,CAAA;EACV,IAAA,IAAIA,QAAO,EAAI,EAAA;EACb,MAAA,GAAA,GAAM,GAAMA,GAAAA,KAAAA,CAAAA;EAAA,KACP,MAAA;EACL,MAAA,GAAA,GAAMA,MAAK,QAAS,EAAA,CAAA;EAAA,KACtB;EACA,IAAO,OAAA,GAAA,CAAA;EAAA,GACT,CAAA;EAEA,EAAA,OACE,OACA,GACA,GAAA,SAAA,CAAU,KAAK,CACf,GAAA,GAAA,GACA,UAAU,GAAG,CAAA,GACb,MACA,SAAU,CAAA,IAAI,IACd,GACA,GAAA,SAAA,CAAU,MAAM,CAChB,GAAA,GAAA,GACA,UAAU,MAAM,CAAA,CAAA;EAEpB,CAAA,CAAA;EAGa,MAAA,UAAA,GAAa,CAAC,UAAA,EAAoB,UAAuB,KAAA;EACpE,EAAA,IAAI,aAAa,UAAY,EAAA;EAC3B,IAAA,CAAC,UAAY,EAAA,UAAU,CAAI,GAAA,CAAC,YAAY,UAAU,CAAA,CAAA;EAAA,GACpD;EAEA,EAAA,OAAO,IAAK,CAAA,KAAA,CAAA,CAAO,UAAa,GAAA,UAAA,IAAc,GAAI,CAAA,CAAA;EACpD,CAAA;;;;;;;;;;;EC1CA,CAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAmD,MAAe,CAAA,OAAA,CAAA,CAAC,GAA8G,CAAC,CAACC,cAAI,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAM,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAM,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAM,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAM,KAAK,CAAC,IAAI,SAAS,CAAC,OAAM,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAM,SAAS,CAAC,KAAK,CAAC,CAAC,OAAM,cAAc,CAAC,KAAK,CAAC,CAAC,OAAM,MAAM,CAAC,KAAK,CAAC,CAAC,OAAM,eAAe,CAAC,KAAK,CAAC,CAAC,OAAM,WAAW,CAAC,KAAK,EAAE,CAAC,OAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAM,YAAY,CAAC,KAAK,EAAE,CAAC,OAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAM,aAAa,CAAC,KAAK,EAAE,CAAC,OAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAM,UAAU,CAAC,QAAQ,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,OAAM,SAAS,CAAC,KAAK,EAAE,CAAC,OAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAM,SAAS,CAAC,KAAK,EAAE,CAAC,OAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAM,SAAS,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,GAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,uEAAuE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,eAAe,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,gBAAgB,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;;;;;;ECK95jC,SAAS,qBAAwB,GAAA;EACtC,EAAM,MAAA,EAAE,SAAS,EAAI,EAAA,QAAA,KAAa,MAAO,CAAA,KAAA,CAAM,MAAO,CAAA,SAAA,CAAU,SAAS,CAAA,CAAA;EACzE,EAAO,OAAA;EAAA,IACL,OAAA;EAAA,IACA,EAAA;EAAA,IACA,QAAA;EAAA,IACA,OAAO,QAAS,EAAA;EAAA,IAChB,IAAI,KAAM,EAAA;EAAA,GACZ,CAAA;EACF,CAAA;EAKA,SAAS,QAAW,GAAA;EAClB,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;EACZ,EAAA,MAAM,SAAc,MAAO,CAAA,MAAA,CAAA;EAC3B,EAAM,MAAA,EAAA,GAAK,SAAU,CAAA,SAAA,CAAU,WAAY,EAAA,CAAA;EAC3C,EAAI,IAAA,MAAA,CAAO,qBAAqB,KAAW,CAAA,EAAA;EACzC,IAAA,KAAA,GAAQ,MAAO,CAAA,gBAAA,CAAA;EAAA,GACN,MAAA,IAAA,CAAC,EAAG,CAAA,OAAA,CAAQ,MAAM,CAAG,EAAA;EAC9B,IAAI,IAAA,MAAA,CAAO,UAAc,IAAA,MAAA,CAAO,WAAa,EAAA;EAC3C,MAAQ,KAAA,GAAA,MAAA,CAAO,aAAa,MAAO,CAAA,WAAA,CAAA;EAAA,KACrC;EAAA,aACS,MAAO,CAAA,UAAA,KAAe,KAAa,CAAA,IAAA,MAAA,CAAO,eAAe,KAAW,CAAA,EAAA;EAC7E,IAAQ,KAAA,GAAA,MAAA,CAAO,aAAa,MAAO,CAAA,UAAA,CAAA;EAAA,GACrC;EAEA,EAAA,IAAI,KAAO,EAAA;EACT,IAAQ,KAAA,GAAA,IAAA,CAAK,KAAM,CAAA,KAAA,GAAQ,GAAG,CAAA,CAAA;EAAA,GAChC;EACA,EAAO,OAAA,KAAA,CAAA;EACT,CAAA;EAKA,SAAS,KAAQ,GAAA;EACf,EAAO,OAAA;EAAA,IACL,KAAA,EAAO,OAAO,MAAO,CAAA,KAAA;EAAA,IACrB,MAAA,EAAQ,OAAO,MAAO,CAAA,MAAA;EAAA,GACxB,CAAA;EACF,CAAA;EAKa,MAAA,QAAA,GACX,MAAO,CAAA,mBAAA,IAAuB,MAAO,CAAA,qBAAA,KAA0B,CAAC,QAAA,KAAa,MAAO,CAAA,UAAA,CAAW,QAAU,EAAA,GAAA,GAAO,EAAE,CAAA,CAAA,CAAA;EAKvG,MAAA,YAAA,GAAe,CAAC,QAAyB,KAAA;EACpD,EAAO,MAAA,CAAA,gBAAA,CAAiB,gBAAgB,MAAM;EAC5C,IAAS,QAAA,EAAA,CAAA;EAAA,GACV,CAAA,CAAA;EACH,CAAA;;ECzDgB,SAAA,QAAA,CAA4C,IAAO,KAAiD,EAAA;EAClH,EAAA,IAAI,QAAW,GAAA,CAAA,CAAA;EACf,EAAA,OAAO,YAAwB,IAAqB,EAAA;EAClD,IAAM,MAAA,GAAA,GAAM,KAAK,GAAI,EAAA,CAAA;EACrB,IAAI,IAAA,GAAA,GAAM,YAAY,KAAO,EAAA;EAC3B,MAAG,EAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;EACnB,MAAW,QAAA,GAAA,GAAA,CAAA;EAAA,KACb;EAAA,GACF,CAAA;EACF;;ECXO,MAAM,aAAgB,GAAA,CAAA,CAAA;EAKtB,MAAM,gBAAmB,GAAA,GAAA,CAAA;EAKzB,MAAM,IAAO,GAAA,YAAA,CAAA;EAKb,MAAM,2BAA8B,GAAA,GAAA,CAAA;EAKpC,MAAM,0BAA6B,GAAA,GAAA,CAAA;EAKnC,MAAM,qBAAwB,GAAA,GAAA;;;;;;;;ECtBrC,MAAqB,UAAW,CAAA;EAAA,EAI9B,WAAA,CAAY,UAAkB,IAAM,EAAA;EAHpC,IAAAC,eAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;EACA,IAAeA,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;EAIb,IAAA,IAAA,CAAK,SAAS,qBAAsB,EAAA,CAAA;EACpC,IAAA,IAAA,CAAK,QAAQ,OAAO,CAAA,CAAA;EAAA,GACtB;EAAA,EAEQ,QAAQ,GAAa,EAAA;EAC3B,IAAI,IAAA;EACF,MAAM,MAAA,IAAA,GAAO,YAAa,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;EACrC,MAAA,IAAI,IAAM,EAAA;EACR,QAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;EAAA,OACP,MAAA;EACL,QAAA,IAAA,CAAK,OAAO,MAAO,EAAA,CAAA;EACnB,QAAa,YAAA,CAAA,OAAA,CAAQ,GAAK,EAAA,IAAA,CAAK,IAAI,CAAA,CAAA;EAAA,OACrC;EAAA,aACO,CAAG,EAAA;EAEV,MAAA,IAAA,CAAK,OAAO,MAAO,EAAA,CAAA;EACnB,MAAQ,OAAA,CAAA,IAAA,CAAK,yEAAyE,CAAC,CAAA,CAAA;EAAA,KACzF;EAAA,GACF;EACF;;;;;;;;EClBA,MAAqB,UAAW,CAAA;EAAA,EAK9B,WAAA,CAAY,SAAkB,QAAoB,EAAA;EAJlD,IAAQA,eAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAA;EACR,IAAQA,eAAA,CAAA,IAAA,EAAA,UAAA,CAAA,CAAA;EACR,IAAQA,eAAA,CAAA,IAAA,EAAA,MAAA,CAAA,CAAA;EAGN,IAAA,IAAA,CAAK,UAAa,GAAA,IAAI,UAAW,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;EAChD,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;EAChB,IAAA,IAAA,CAAK,OAAO,OAAQ,CAAA,IAAA,CAAA;EAAA,GACtB;EAAA;EAAA;EAAA;EAAA,EAKQ,SAAA,CAAU,MAA0B,IAA8B,EAAA;EACxE,IAAM,MAAA,SAAA,GAAY,KAAK,GAAI,EAAA,CAAA;EAC3B,IAAO,OAAA;EAAA,MACL,MAAA,EAAQ,KAAK,UAAW,CAAA,MAAA;EAAA,MACxB,IAAA,EAAM,KAAK,UAAW,CAAA,IAAA;EAAA,MACtB,IAAA;EAAA,MACA,IAAA;EAAA,MACA,IAAA,EAAM,QAAQ,SAAS,CAAA;EAAA,MACvB,UAAU,IAAK,CAAA,IAAA;EAAA,KACjB,CAAA;EAAA,GACF;EAAA;EAAA;EAAA;EAAA;EAAA,EAMO,IAAA,CAAK,MAA0B,IAAkB,EAAA;EACtD,IAAA,MAAM,OAAU,GAAA,IAAA,CAAK,SAAU,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;EACzC,IAAK,IAAA,CAAA,QAAA,CAAS,KAAK,OAAO,CAAA,CAAA;EAAA,GAC5B;EAAA;EAAA;EAAA;EAAA,EAKO,WAAwB,GAAA;EAC7B,IAAA,OAAO,IAAK,CAAA,QAAA,CAAA;EAAA,GACd;EACF;;;;;;;;EC/CA,MAAqB,QAAS,CAAA;EAAA,EAO5B,WAAA,CAAY,KAAa,MAA0B,EAAA;EANnD,IAAQA,eAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;EACR,IAAQA,eAAA,CAAA,IAAA,EAAA,iBAAA,CAAA,CAAA;EACR,IAAAA,eAAA,CAAA,IAAA,EAAQ,UAA8B,EAAC,CAAA,CAAA;EACvC,IAAAA,eAAA,CAAA,IAAA,EAAQ,WAAY,EAAA,KAAA,CAAA,CAAA;EACpB,IAAAA,eAAA,CAAA,IAAA,EAAQ,OAA8C,EAAA,IAAA,CAAA,CAAA;EAGpD,IAAA,IAAA,CAAK,GAAM,GAAA,GAAA,CAAA;EACX,IAAA,IAAA,CAAK,eAAkB,GAAA;EAAA,MACrB,YAAA,EAAc,QAAQ,YAAgB,IAAA,aAAA;EAAA,MACtC,WAAA,EAAa,QAAQ,WAAe,IAAA,gBAAA;EAAA,KACtC,CAAA;EAGA,IAAa,YAAA,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,CAAA,CAAA;EAAA,GACjC;EAAA;EAAA;EAAA;EAAA,EAKO,KAAK,OAA4B,EAAA;EACtC,IAAK,IAAA,CAAA,MAAA,CAAO,KAAK,OAAO,CAAA,CAAA;EAGxB,IAAA,IAAI,IAAK,CAAA,MAAA,CAAO,MAAU,IAAA,IAAA,CAAK,gBAAgB,YAAc,EAAA;EAC3D,MAAA,IAAA,CAAK,UAAW,EAAA,CAAA;EAChB,MAAA,IAAA,CAAK,WAAY,EAAA,CAAA;EAAA,KACnB,MAAA,IAAW,CAAC,IAAA,CAAK,KAAO,EAAA;EACtB,MAAK,IAAA,CAAA,KAAA,GAAQ,WAAW,MAAM;EAC5B,QAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;EACb,QAAA,IAAA,CAAK,WAAY,EAAA,CAAA;EAAA,OACnB,EAAG,IAAK,CAAA,eAAA,CAAgB,WAAW,CAAA,CAAA;EAAA,KACrC;EAAA,GACF;EAAA;EAAA;EAAA;EAAA,EAKO,KAAuB,GAAA;EAC5B,IAAO,OAAA,IAAA,CAAK,YAAY,IAAI,CAAA,CAAA;EAAA,GAC9B;EAAA,EAEQ,UAAa,GAAA;EACnB,IAAA,IAAI,KAAK,KAAO,EAAA;EACd,MAAA,YAAA,CAAa,KAAK,KAAK,CAAA,CAAA;EACvB,MAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;EAAA,KACf;EAAA,GACF;EAAA;EAAA;EAAA;EAAA,EAKA,MAAc,WAAY,CAAA,OAAA,GAAU,KAAsB,EAAA;EACxD,IAAA,IAAI,IAAK,CAAA,SAAA,IAAa,CAAC,IAAA,CAAK,MAAO,CAAA,MAAA;EAAQ,MAAA,OAAA;EAE3C,IAAA,IAAA,CAAK,SAAY,GAAA,IAAA,CAAA;EAEjB,IAAI,IAAA;EACF,MAAA,MAAM,SAAS,OAAU,GAAA,IAAA,CAAK,MAAO,CAAA,MAAA,GAAS,KAAK,eAAgB,CAAA,YAAA,CAAA;EACnE,MAAA,MAAM,UAAa,GAAA,IAAA,CAAK,MAAO,CAAA,KAAA,CAAM,GAAG,MAAM,CAAA,CAAA;EAC9C,MAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAK,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;EAEtC,MAAM,MAAA,IAAA,CAAK,SAAS,UAAU,CAAA,CAAA;EAG9B,MAAI,IAAA,IAAA,CAAK,OAAO,MAAQ,EAAA;EACtB,QAAS,QAAA,CAAA,MAAM,IAAK,CAAA,WAAA,EAAa,CAAA,CAAA;EAAA,OACnC;EAAA,aACO,KAAO,EAAA;EAAA,KAEd,SAAA;EACA,MAAA,IAAA,CAAK,SAAY,GAAA,KAAA,CAAA;EAAA,KACnB;EAAA,GACF;EAAA;EAAA;EAAA;EAAA,EAKQ,SAAS,MAA4C,EAAA;EAC3D,IAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;EACtC,MAAI,IAAA,CAAC,OAAO,MAAQ,EAAA;EAClB,QAAQ,OAAA,EAAA,CAAA;EACR,QAAA,OAAA;EAAA,OACF;EAEA,MAAM,MAAA,IAAA,GAAO,IAAK,CAAA,SAAA,CAAU,MAAM,CAAA,CAAA;EAGlC,MAAI,IAAA,OAAO,SAAU,CAAA,UAAA,KAAe,UAAY,EAAA;EAC9C,QAAM,MAAA,IAAA,GAAO,IAAI,IAAK,CAAA,CAAC,IAAI,CAAG,EAAA,EAAE,IAAM,EAAA,kBAAA,EAAoB,CAAA,CAAA;EAC1D,QAAA,MAAM,OAAU,GAAA,SAAA,CAAU,UAAW,CAAA,IAAA,CAAK,KAAK,IAAI,CAAA,CAAA;EAEnD,QAAA,IAAI,OAAS,EAAA;EACX,UAAQ,OAAA,EAAA,CAAA;EAAA,SACH,MAAA;EACL,UAAK,IAAA,CAAA,UAAA,CAAW,IAAM,EAAA,OAAA,EAAS,MAAM,CAAA,CAAA;EAAA,SACvC;EAAA,OACK,MAAA;EAEL,QAAK,IAAA,CAAA,UAAA,CAAW,IAAM,EAAA,OAAA,EAAS,MAAM,CAAA,CAAA;EAAA,OACvC;EAAA,KACD,CAAA,CAAA;EAAA,GACH;EAAA;EAAA;EAAA;EAAA,EAKQ,UAAA,CAAW,IAAc,EAAA,OAAA,EAAqB,MAAsC,EAAA;EAC1F,IAAM,MAAA,GAAA,GAAM,IAAI,cAAe,EAAA,CAAA;EAE/B,IAAA,GAAA,CAAI,IAAK,CAAA,MAAA,EAAQ,IAAK,CAAA,GAAA,EAAK,IAAI,CAAA,CAAA;EAC/B,IAAI,GAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA,CAAA;EAEvD,IAAA,GAAA,CAAI,SAAS,MAAM;EACjB,MAAA,IAAI,GAAI,CAAA,MAAA,IAAU,GAAO,IAAA,GAAA,CAAI,SAAS,GAAK,EAAA;EACzC,QAAQ,OAAA,EAAA,CAAA;EAAA,OACH,MAAA;EACL,QAAO,MAAA,CAAA,IAAI,MAAM,CAAQ,KAAA,EAAA,GAAA,CAAI,MAAM,CAAK,EAAA,EAAA,GAAA,CAAI,UAAU,CAAA,CAAE,CAAC,CAAA,CAAA;EAAA,OAC3D;EAAA,KACF,CAAA;EAEA,IAAA,GAAA,CAAI,UAAU,MAAM,MAAA,CAAO,IAAI,KAAA,CAAM,eAAe,CAAC,CAAA,CAAA;EACrD,IAAA,GAAA,CAAI,YAAY,MAAM,MAAA,CAAO,IAAI,KAAA,CAAM,iBAAiB,CAAC,CAAA,CAAA;EAEzD,IAAA,GAAA,CAAI,OAAU,GAAA,GAAA,CAAA;EACd,IAAA,GAAA,CAAI,KAAK,IAAI,CAAA,CAAA;EAAA,GACf;EACF;;ECnIY,IAAA,KAAA,qBAAAC,MAAL,KAAA;EACL,EAAAA,OAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;EACR,EAAAA,OAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;EACR,EAAAA,OAAA,aAAc,CAAA,GAAA,aAAA,CAAA;EACd,EAAAA,OAAA,QAAS,CAAA,GAAA,QAAA,CAAA;EACT,EAAAA,OAAA,KAAM,CAAA,GAAA,KAAA,CAAA;EACN,EAAAA,OAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;EANE,EAAAA,OAAAA,MAAAA,CAAAA;EAAA,CAAA,EAAA,KAAA,IAAA,EAAA,CAAA,CAAA;AAaA,MAAA,SAAA,qBAAAC,UAAL,KAAA;EAEL,EAAAA,WAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;EAGR,EAAAA,WAAA,gBAAiB,CAAA,GAAA,OAAA,CAAA;EACjB,EAAAA,WAAA,cAAe,CAAA,GAAA,cAAA,CAAA;EAGf,EAAAA,WAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;EACjB,EAAAA,WAAA,iBAAkB,CAAA,GAAA,iBAAA,CAAA;EAClB,EAAAA,WAAA,iBAAkB,CAAA,GAAA,iBAAA,CAAA;EAClB,EAAAA,WAAA,iBAAkB,CAAA,GAAA,iBAAA,CAAA;EAClB,EAAAA,WAAA,sBAAuB,CAAA,GAAA,sBAAA,CAAA;EACvB,EAAAA,WAAA,sBAAuB,CAAA,GAAA,sBAAA,CAAA;EAGvB,EAAAA,WAAA,KAAM,CAAA,GAAA,KAAA,CAAA;EACN,EAAAA,WAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;EAGR,EAAAA,WAAA,QAAS,CAAA,GAAA,QAAA,CAAA;EArBC,EAAAA,OAAAA,UAAAA,CAAAA;EAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;;;;;;ECXZ,MAAqB,aAAa,UAAW,CAAA;EAAA,EAI3C,YAAY,OAAkB,EAAA;EAC5B,IAAA,MAAM,WAAW,IAAI,QAAA,CAAS,OAAQ,CAAA,GAAA,EAAK,QAAQ,SAAS,CAAA,CAAA;EAC5D,IAAA,KAAA,CAAM,SAAS,QAAQ,CAAA,CAAA;EALzB,IAAQ,aAAA,CAAA,IAAA,EAAA,WAAA,sBAAsC,GAAI,EAAA,CAAA,CAAA;EAClD,IAAQ,aAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;EAKN,IAAA,IAAA,CAAK,OAAU,GAAA,OAAA,CAAA;EAAA,GACjB;EAAA,EAEA,IAAI,MAAuB,EAAA;EACzB,IAAA,IAAI,CAAC,IAAK,CAAA,SAAA,CAAU,GAAI,CAAA,MAAA,CAAO,IAAI,CAAG,EAAA;EACpC,MAAA,IAAA,CAAK,SAAU,CAAA,GAAA,CAAI,MAAO,CAAA,IAAA,EAAM,MAAM,CAAA,CAAA;EAAA,KACxC;EACA,IAAO,OAAA,IAAA,CAAA;EAAA,GACT;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA,EAOA,GAAI,CAAA,IAAA,EAAW,IAAe,GAAA,SAAA,CAAU,MAAc,EAAA;EACpD,IAAK,IAAA,CAAA,IAAA,CAAK,MAAM,IAAI,CAAA,CAAA;EAAA,GACtB;EAAA;EAAA,EAGA,GAAM,GAAA;EACJ,IAAA,MAAM,OAAU,GAAA;EAAA,MACd,IAAM,EAAA,IAAA,CAAK,IAAK,CAAA,IAAA,CAAK,IAAI,CAAA;EAAA,MACzB,GAAA,EAAK,KAAK,OAAQ,CAAA,GAAA;EAAA,KACpB,CAAA;EAEA,IAAK,IAAA,CAAA,SAAA,CAAU,OAAQ,CAAA,CAAC,MAAW,KAAA;EACjC,MAAA,MAAA,CAAO,QAAQ,OAAO,CAAA,CAAA;EAAA,KACvB,CAAA,CAAA;EAGD,IAAA,IAAA,CAAK,KAAM,EAAA,CAAA;EAAA,GACb;EAAA;EAAA,EAGA,IAAO,GAAA;EACL,IAAK,IAAA,CAAA,SAAA,CAAU,OAAQ,CAAA,CAAC,MAAW,KAAA;EACjC,MAAA,MAAA,CAAO,SAAY,IAAA,CAAA;EAAA,KACpB,CAAA,CAAA;EACD,IAAA,IAAA,CAAK,UAAU,KAAM,EAAA,CAAA;EAGrB,IAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;EAAA,GACf;EAAA,EAEQ,KAAQ,GAAA;EACd,IAAA,MAAM,EAAE,SAAA,GAAY,QAAS,EAAA,GAAI,IAAK,CAAA,OAAA,CAAA;EACtC,IAAI,IAAA,OAAO,WAAW,WAAa,EAAA;EACjC,MAAC,MAAA,CAAe,SAAS,CAAI,GAAA,IAAA,CAAA;EAAA,KAC/B;EAAA,GACF;EAAA,EAEQ,OAAU,GAAA;EAChB,IAAA,MAAM,EAAE,SAAA,GAAY,QAAS,EAAA,GAAI,IAAK,CAAA,OAAA,CAAA;EACtC,IAAA,IAAI,OAAO,MAAW,KAAA,WAAA,IAAgB,MAAe,CAAA,SAAS,MAAM,IAAM,EAAA;EACxE,MAAA,OAAQ,OAAe,SAAS,CAAA,CAAA;EAAA,KAClC;EAAA,GACF;EACF,CAAA;EAMO,SAAS,cAAc,OAAwB,EAAA;EACpD,EAAO,OAAA,IAAI,KAAK,OAAO,CAAA,CAAA;EACzB;;ACnEO,QAAM,WAAc,GAAA,CAAC,OAAwB,GAAA,EAAgB,KAAA;EAClE,EAAI,IAAA,oBAAA,CAAA;EACJ,EAAI,IAAA,OAAA,CAAA;EAKJ,EAAA,MAAM,uBAAuB,MAAM;EACjC,IAAA,oBAAA,GAAuB,OAAQ,CAAA,KAAA,CAAA;EAE/B,IAAQ,OAAA,CAAA,KAAA,GAAQ,IAAI,IAAgB,KAAA;EAElC,MAAsB,oBAAA,EAAA,KAAA,CAAM,SAAS,IAAI,CAAA,CAAA;EAGzC,MAAA,MAAM,SAAY,GAAA;EAAA,QAChB,IAAM,EAAA,SAAA;EAAA,QACN,OAAA,EAAS,IAAK,CAAA,GAAA,CAAI,CAAC,GAAA,KAAQ,OAAO,GAAG,CAAC,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA;EAAA,QAChD,KAAA,EAAO,IAAI,KAAA,EAAQ,CAAA,KAAA;EAAA,OACrB,CAAA;EAGA,MAAA,IAAI,QAAQ,MAAU,IAAA,CAAC,OAAQ,CAAA,MAAA,CAAO,SAAS,CAAG,EAAA;EAChD,QAAA,OAAA;EAAA,OACF;EAEA,MAAS,OAAA,EAAA,IAAA,CAAK,SAAU,CAAA,KAAA,EAAO,SAAS,CAAA,CAAA;EAAA,KAC1C,CAAA;EAAA,GACF,CAAA;EAKA,EAAA,MAAM,sBAAsB,MAAM;EAChC,IAAA,IAAI,oBAAsB,EAAA;EACxB,MAAA,OAAA,CAAQ,KAAQ,GAAA,oBAAA,CAAA;EAAA,KAClB;EAAA,GACF,CAAA;EAKA,EAAM,MAAA,UAAA,GAAa,CAAC,KAAuC,KAAA;EACzD,IAAA,IAAI,CAAC,KAAA;EAAO,MAAO,OAAA,KAAA,CAAA,CAAA;EACnB,IAAA,MAAM,QAAQ,KAAM,CAAA,KAAA,CAAM,IAAI,CAAE,CAAA,KAAA,CAAM,GAAG,EAAE,CAAA,CAAA;EAC3C,IAAO,OAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;EAAA,GACxB,CAAA;EAKA,EAAM,MAAA,UAAA,GAAa,CAAC,GAAwB,KAAA;EAC1C,IAAA,IAAI,IAAO,GAAA,CAAA,CAAA;EACX,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,GAAA,CAAI,QAAQ,CAAK,EAAA,EAAA;EACnC,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,UAAA,CAAW,CAAC,CAAA,CAAA;EAC7B,MAAQ,IAAA,GAAA,CAAA,IAAA,IAAQ,KAAK,IAAO,GAAA,IAAA,CAAA;EAC5B,MAAA,IAAA,GAAO,IAAO,GAAA,IAAA,CAAA;EAAA,KAChB;EACA,IAAA,OAAO,IAAK,CAAA,GAAA,CAAI,IAAI,CAAA,CAAE,SAAS,EAAE,CAAA,CAAA;EAAA,GACnC,CAAA;EAKA,EAAM,MAAA,mBAAA,GAAsB,IAAI,KAA0C,KAAA;EACxE,IAAA,MAAM,WAAW,KAAM,CAAA,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA,CAAA;EAC/C,IAAA,OAAO,WAAW,QAAQ,CAAA,CAAA;EAAA,GAC5B,CAAA;EAKA,EAAM,MAAA,eAAA,GAAkB,CAAC,MAAyB,KAAA;EAChD,IAAA,MAAM,eAAe,CAAC,MAAA,EAAQ,UAAU,KAAO,EAAA,OAAA,EAAS,SAAS,QAAQ,CAAA,CAAA;EACzE,IAAA,OAAO,MAAU,IAAA,YAAA,CAAa,QAAS,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;EAAA,GACvD,CAAA;EAKA,EAAM,MAAA,sBAAA,GAAyB,CAAC,CAA6B,KAAA;EAC3D,IAAI,IAAA,CAAA,CAAE,kBAAkB,KAAO,EAAA;EAC7B,MAAO,OAAA;EAAA,QACL,SAAW,EAAA,SAAA;EAAA,QACX,OAAA,EAAS,EAAE,MAAO,CAAA,OAAA;EAAA,QAClB,KAAO,EAAA,UAAA,CAAW,CAAE,CAAA,MAAA,CAAO,KAAK,CAAA;EAAA,QAChC,IAAA,EAAM,EAAE,MAAO,CAAA,IAAA;EAAA,QACf,aAAa,mBAAoB,CAAA,CAAA,CAAE,OAAO,OAAS,EAAA,CAAA,CAAE,OAAO,KAAK,CAAA;EAAA,OACnE,CAAA;EAAA,KACF;EACA,IAAO,OAAA;EAAA,MACL,SAAW,EAAA,SAAA;EAAA,MACX,OAAA,EAAS,MAAO,CAAA,CAAA,CAAE,MAAM,CAAA;EAAA,KAC1B,CAAA;EAAA,GACF,CAAA;EAKA,EAAM,MAAA,eAAA,GAAkB,CAAC,CAAkB,KAAA;EACzC,IAAA,MAAM,EAAE,KAAA,EAAO,MAAQ,EAAA,QAAA,EAAU,SAAY,GAAA,CAAA,CAAA;EAC7C,IAAA,IAAI,iBAAiB,KAAO,EAAA;EAC1B,MAAO,OAAA;EAAA,QACL,SAAW,EAAA,IAAA;EAAA,QACX,MAAM,KAAM,CAAA,IAAA;EAAA,QACZ,SAAS,KAAM,CAAA,OAAA;EAAA,QACf,KAAA,EAAO,UAAW,CAAA,KAAA,CAAM,KAAK,CAAA;EAAA,QAC7B,QAAA;EAAA,QACA,OAAO,CAAE,CAAA,KAAA;EAAA,QACT,QAAQ,CAAE,CAAA,MAAA;EAAA,QACV,WAAa,EAAA,mBAAA,CAAoB,KAAM,CAAA,OAAA,EAAS,MAAM,KAAK,CAAA;EAAA,OAC7D,CAAA;EAAA,KACF;EACA,IAAI,IAAA,eAAA,CAAgB,MAAM,CAAG,EAAA;EAC3B,MAAA,MAAM,OAAU,GAAA,MAAA,CAAA;EAChB,MAAA,MAAM,GAAM,GAAA,KAAA,IAAS,OAAU,GAAA,OAAA,CAAQ,MAAM,OAAQ,CAAA,IAAA,CAAA;EACrD,MAAO,OAAA;EAAA,QACL,SAAW,EAAA,UAAA;EAAA,QACX,OAAA,EAAS,yBAAyB,GAAG,CAAA,CAAA;EAAA,QACrC,GAAA;EAAA,QACA,SAAS,OAAQ,CAAA,OAAA;EAAA,QACjB,WAAa,EAAA,mBAAA,CAAoB,CAAY,SAAA,EAAA,GAAG,CAAE,CAAA,CAAA;EAAA,OACpD,CAAA;EAAA,KACF;EACA,IAAO,OAAA;EAAA,MACL,SAAW,EAAA,SAAA;EAAA,MACX,OAAA;EAAA,MACA,QAAA;EAAA,KACF,CAAA;EAAA,GACF,CAAA;EAEA,EAAM,MAAA,YAAA,GAAe,CAAC,CAAkB,KAAA;EACtC,IAAA,MAAM,YAAY,EAAE,IAAA,EAAM,QAAQ,GAAG,eAAA,CAAgB,CAAC,CAAE,EAAA,CAAA;EACxD,IAAA,IAAI,OAAQ,CAAA,MAAA,IAAU,CAAC,OAAA,CAAQ,OAAO,SAAS,CAAA;EAAG,MAAA,OAAA;EAClD,IAAS,OAAA,EAAA,IAAA,CAAK,SAAU,CAAA,KAAA,EAAO,SAAS,CAAA,CAAA;EAAA,GAC1C,CAAA;EAEA,EAAM,MAAA,gBAAA,GAAmB,CAAC,CAA6B,KAAA;EACrD,IAAA,MAAM,YAAY,EAAE,IAAA,EAAM,SAAS,GAAG,sBAAA,CAAuB,CAAC,CAAE,EAAA,CAAA;EAChE,IAAA,IAAI,OAAQ,CAAA,MAAA,IAAU,CAAC,OAAA,CAAQ,OAAO,SAAS,CAAA;EAAG,MAAA,OAAA;EAClD,IAAS,OAAA,EAAA,IAAA,CAAK,SAAU,CAAA,KAAA,EAAO,SAAS,CAAA,CAAA;EAAA,GAC1C,CAAA;EAEA,EAAO,OAAA;EAAA,IACL,MAAM,KAAM,CAAA,KAAA;EAAA,IACZ,OAAA,EAAS,CAAC,GAAuB,KAAA;EAC/B,MAAU,OAAA,GAAA,GAAA,CAAA;EACV,MAAqB,oBAAA,EAAA,CAAA;EACrB,MAAO,MAAA,CAAA,gBAAA,CAAiB,OAAS,EAAA,YAAA,EAAc,IAAI,CAAA,CAAA;EACnD,MAAO,MAAA,CAAA,gBAAA,CAAiB,oBAAsB,EAAA,gBAAA,EAAkB,IAAI,CAAA,CAAA;EAAA,KACtE;EAAA,IACA,WAAW,MAAM;EACf,MAAoB,mBAAA,EAAA,CAAA;EACpB,MAAO,MAAA,CAAA,mBAAA,CAAoB,OAAS,EAAA,YAAA,EAAc,IAAI,CAAA,CAAA;EACtD,MAAO,MAAA,CAAA,mBAAA,CAAoB,oBAAsB,EAAA,gBAAA,EAAkB,IAAI,CAAA,CAAA;EAAA,KACzE;EAAA,GACF,CAAA;EACF;;AChKO,QAAM,QAAW,GAAA,CAAC,OAAqB,GAAA,EAAgB,KAAA;EAC5D,EAAI,IAAA,aAAA,GAAwB,KAAK,GAAI,EAAA,CAAA;EACrC,EAAI,IAAA,OAAA,CAAA;EAEJ,EAAI,IAAA,eAAA,CAAA;EACJ,EAAI,IAAA,kBAAA,CAAA;EAEJ,EAAM,MAAA,eAAA,GAAkB,CAAC,IAAiB,KAAA;EACxC,IAAM,MAAA,GAAA,GAAM,KAAK,GAAI,EAAA,CAAA;EACrB,IAAM,MAAA,EAAA,GAAK,OAAO,QAAS,CAAA,IAAA,CAAA;EAC3B,IAAA,MAAM,OAAO,QAAS,CAAA,QAAA,CAAA;EAGtB,IAAA,IAAI,QAAQ,MAAU,IAAA,CAAC,QAAQ,MAAO,CAAA,EAAA,EAAI,IAAI,CAAG,EAAA;EAC/C,MAAA,OAAA;EAAA,KACF;EAEA,IAAS,OAAA,EAAA,IAAA,CAAK,UAAU,YAAc,EAAA;EAAA,MACpC,IAAA;EAAA,MACA,EAAA;EAAA,MACA,IAAA;EAAA,MACA,QAAA,EAAU,UAAW,CAAA,GAAA,EAAK,aAAa,CAAA;EAAA,KACxC,CAAA,CAAA;EAED,IAAgB,aAAA,GAAA,GAAA,CAAA;EAAA,GAClB,CAAA;EAEA,EAAM,MAAA,gBAAA,GAAmB,MAAM,eAAA,CAAgB,YAAY,CAAA,CAAA;EAC3D,EAAM,MAAA,cAAA,GAAiB,MAAM,eAAA,CAAgB,UAAU,CAAA,CAAA;EAEvD,EAAA,MAAM,uBAAuB,MAAM;EACjC,IAAA,eAAA,GAAkB,OAAO,OAAQ,CAAA,SAAA,CAAA;EACjC,IAAA,kBAAA,GAAqB,OAAO,OAAQ,CAAA,YAAA,CAAA;EAEpC,IAAO,MAAA,CAAA,OAAA,CAAQ,SAAY,GAAA,CAAA,GAAI,IAAS,KAAA;EACtC,MAAgB,eAAA,CAAA,KAAA,CAAM,MAAO,CAAA,OAAA,EAAS,IAAI,CAAA,CAAA;EAC1C,MAAA,eAAA,CAAgB,WAAW,CAAA,CAAA;EAAA,KAC7B,CAAA;EAEA,IAAO,MAAA,CAAA,OAAA,CAAQ,YAAe,GAAA,CAAA,GAAI,IAAS,KAAA;EACzC,MAAmB,kBAAA,CAAA,KAAA,CAAM,MAAO,CAAA,OAAA,EAAS,IAAI,CAAA,CAAA;EAC7C,MAAA,eAAA,CAAgB,cAAc,CAAA,CAAA;EAAA,KAChC,CAAA;EAAA,GACF,CAAA;EAEA,EAAA,MAAM,yBAAyB,MAAM;EACnC,IAAI,IAAA,eAAA;EAAiB,MAAA,MAAA,CAAO,QAAQ,SAAY,GAAA,eAAA,CAAA;EAChD,IAAI,IAAA,kBAAA;EAAoB,MAAA,MAAA,CAAO,QAAQ,YAAe,GAAA,kBAAA,CAAA;EAAA,GACxD,CAAA;EAEA,EAAO,OAAA;EAAA,IACL,MAAM,KAAM,CAAA,MAAA;EAAA,IACZ,OAAA,EAAS,CAAC,GAAuB,KAAA;EAC/B,MAAU,OAAA,GAAA,GAAA,CAAA;EACV,MAAA,aAAA,GAAgB,KAAK,GAAI,EAAA,CAAA;EACzB,MAAO,MAAA,CAAA,gBAAA,CAAiB,cAAc,gBAAgB,CAAA,CAAA;EACtD,MAAO,MAAA,CAAA,gBAAA,CAAiB,YAAY,cAAc,CAAA,CAAA;EAClD,MAAqB,oBAAA,EAAA,CAAA;EAAA,KACvB;EAAA,IACA,WAAW,MAAM;EACf,MAAO,MAAA,CAAA,mBAAA,CAAoB,cAAc,gBAAgB,CAAA,CAAA;EACzD,MAAO,MAAA,CAAA,mBAAA,CAAoB,YAAY,cAAc,CAAA,CAAA;EACrD,MAAuB,sBAAA,EAAA,CAAA;EAAA,KACzB;EAAA,GACF,CAAA;EACF;;AC/DO,QAAM,cAAiB,GAAA,CAAC,OAA2B,GAAA,EAAgB,KAAA;EACxE,EAAM,MAAA,EAAE,aAAgB,GAAA,GAAA,EAAQ,GAAA,OAAA,CAAA;EAChC,EAAI,IAAA,OAAA,CAAA;EAGJ,EAAM,MAAA,eAAA,GAAkB,CAAC,OAAiC,KAAA;EACxD,IAAI,IAAA,CAAC,OAAW,IAAA,OAAA,CAAQ,QAAa,KAAA,CAAA;EAAG,MAAO,OAAA,EAAA,CAAA;EAC/C,IAAA,IAAI,OAAQ,CAAA,EAAA;EAAI,MAAO,OAAA,CAAA,SAAA,EAAY,QAAQ,EAAE,CAAA,EAAA,CAAA,CAAA;EAE7C,IAAM,MAAA,eAAA,GAAkB,MAAM,IAAK,CAAA,OAAA,CAAQ,YAAY,QAAY,IAAA,EAAE,CAAE,CAAA,MAAA;EAAA,MACrE,CAAC,EAAA,KAAO,EAAG,CAAA,OAAA,KAAY,OAAQ,CAAA,OAAA;EAAA,KACjC,CAAA;EAEA,IAAA,MAAM,GAAM,GAAA,eAAA,CAAgB,OAAQ,CAAA,OAAO,CAAI,GAAA,CAAA,CAAA;EAC/C,IAAO,OAAA,CAAA,EAAG,eAAgB,CAAA,OAAA,CAAQ,UAAyB,CAAC,CAAI,CAAA,EAAA,OAAA,CAAQ,OAAQ,CAAA,WAAA,EAAa,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA,CAAA;EAAA,GACtG,CAAA;EAEA,EAAM,MAAA,WAAA,GAAc,QAAS,CAAA,CAAC,CAAa,KAAA;EACzC,IAAA,MAAM,SAAS,CAAE,CAAA,MAAA,CAAA;EACjB,IAAA,IAAI,CAAC,MAAA;EAAQ,MAAA,OAAA;EAGb,IAAA,IAAI,QAAQ,MAAU,IAAA,CAAC,OAAQ,CAAA,MAAA,CAAO,MAAM,CAAG,EAAA;EAC7C,MAAA,OAAA;EAAA,KACF;EAGA,IAAA,MAAM,SAAY,GAAA;EAAA,MAChB,SAAS,MAAO,CAAA,OAAA;EAAA,MAChB,IAAI,MAAO,CAAA,EAAA;EAAA,MACX,WAAW,MAAO,CAAA,SAAA;EAAA,MAClB,IAAA,EAAM,MAAO,CAAA,WAAA,EAAa,IAAK,EAAA;EAAA,MAC/B,KAAA,EAAO,gBAAgB,MAAM,CAAA;EAAA,KAC/B,CAAA;EAEA,IAAS,OAAA,EAAA,IAAA,CAAK,SAAU,CAAA,cAAA,EAAgB,SAAS,CAAA,CAAA;EAAA,KAChD,aAAa,CAAA,CAAA;EAEhB,EAAO,OAAA;EAAA,IACL,MAAM,KAAM,CAAA,KAAA;EAAA,IACZ,OAAA,EAAS,CAAC,GAAuB,KAAA;EAC/B,MAAU,OAAA,GAAA,GAAA,CAAA;EACV,MAAA,QAAA,CAAS,gBAAiB,CAAA,SAAA,CAAU,cAAgB,EAAA,WAAA,EAAa,IAAI,CAAA,CAAA;EAAA,KACvE;EAAA,IACA,WAAW,MAAM;EACf,MAAA,QAAA,CAAS,mBAAoB,CAAA,SAAA,CAAU,cAAgB,EAAA,WAAA,EAAa,IAAI,CAAA,CAAA;EAAA,KAC1E;EAAA,GACF,CAAA;EACF;;AC3CO,QAAM,iBAAoB,GAAA,CAAC,OAA8B,GAAA,EAAgB,KAAA;EAC9E,EAAI,IAAA,OAAA,CAAA;EACJ,EAAA,IAAI,aAA4C,GAAA,IAAA,CAAA;EAChD,EAAA,IAAI,WAA0C,GAAA,IAAA,CAAA;EAC9C,EAAA,IAAI,WAA0C,GAAA,IAAA,CAAA;EAC9C,EAAA,IAAI,gBAA+C,GAAA,IAAA,CAAA;EACnD,EAAA,IAAI,gBAA+C,GAAA,IAAA,CAAA;EAEnD,EAAM,MAAA,cAAA,uBAAqB,GAA4C,EAAA,CAAA;EAEvE,EAAA,MAAM,sBAAsB,MAAM;EAChC,IAAM,MAAA,YAAA,GAAe,CAAC,IAAoC,KAAA;EACxD,MAAW,KAAA,MAAA,KAAA,IAAS,IAAK,CAAA,UAAA,EAAc,EAAA;EACrC,QAAI,IAAA,KAAA,CAAM,SAAS,aAAe,EAAA;EAChC,UAAI,IAAA,OAAA,CAAQ,UAAU,CAAC,OAAA,CAAQ,OAAO,SAAU,CAAA,cAAA,EAAgB,KAAM,CAAA,SAAS,CAAG,EAAA;EAChF,YAAA,SAAA;EAAA,WACF;EACA,UAAA,OAAA,EAAS,IAAK,CAAA,SAAA,CAAU,cAAgB,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;EAAA,SACzD,MAAA,IAAW,KAAM,CAAA,IAAA,KAAS,wBAA0B,EAAA;EAClD,UAAI,IAAA,OAAA,CAAQ,UAAU,CAAC,OAAA,CAAQ,OAAO,SAAU,CAAA,eAAA,EAAiB,KAAM,CAAA,SAAS,CAAG,EAAA;EACjF,YAAA,SAAA;EAAA,WACF;EACA,UAAA,OAAA,EAAS,IAAK,CAAA,SAAA,CAAU,eAAiB,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;EAAA,SAC1D;EAAA,OACF;EACA,MAAA,aAAA,EAAe,UAAW,EAAA,CAAA;EAAA,KAC5B,CAAA;EAEA,IAAI,IAAA;EACF,MAAgB,aAAA,GAAA,IAAI,oBAAoB,YAAY,CAAA,CAAA;EACpD,MAAA,aAAA,CAAc,QAAQ,EAAE,IAAA,EAAM,OAAS,EAAA,QAAA,EAAU,MAAM,CAAA,CAAA;EAAA,aAChD,CAAG,EAAA;EACV,MAAQ,OAAA,CAAA,IAAA,CAAK,kDAAkD,CAAC,CAAA,CAAA;EAAA,KAClE;EAAA,GACF,CAAA;EAEA,EAAA,MAAM,aAAa,MAAM;EACvB,IAAM,MAAA,YAAA,GAAe,CAAC,IAAoC,KAAA;EACxD,MAAA,IAAI,WAAa,EAAA;EACf,QAAA,WAAA,CAAY,UAAW,EAAA,CAAA;EAAA,OACzB;EAEA,MAAW,KAAA,MAAA,KAAA,IAAS,IAAK,CAAA,UAAA,EAAc,EAAA;EACrC,QAAI,IAAA,OAAA,CAAQ,UAAU,CAAC,OAAA,CAAQ,OAAO,SAAU,CAAA,eAAA,EAAiB,KAAM,CAAA,SAAS,CAAG,EAAA;EACjF,UAAA,SAAA;EAAA,SACF;EACA,QAAA,OAAA,EAAS,IAAK,CAAA,SAAA,CAAU,eAAiB,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;EAAA,OAC1D;EAAA,KACF,CAAA;EAEA,IAAI,IAAA;EACF,MAAc,WAAA,GAAA,IAAI,oBAAoB,YAAY,CAAA,CAAA;EAClD,MAAA,WAAA,CAAY,QAAQ,EAAE,IAAA,EAAM,0BAA4B,EAAA,QAAA,EAAU,MAAM,CAAA,CAAA;EAAA,aACjE,CAAG,EAAA;EACV,MAAQ,OAAA,CAAA,IAAA,CAAK,gDAAgD,CAAC,CAAA,CAAA;EAAA,KAChE;EAAA,GACF,CAAA;EAEA,EAAA,MAAM,aAAa,MAAM;EACvB,IAAM,MAAA,YAAA,GAAe,CAAC,IAAoC,KAAA;EACxD,MAAW,KAAA,MAAA,KAAA,IAAS,IAAK,CAAA,UAAA,EAAc,EAAA;EAErC,QAAA,IAAI,CAAC,KAAM,CAAA,aAAA;EAAe,UAAA,SAAA;EAG1B,QAAA,MAAM,QAAW,GAAA,cAAA,CAAe,GAAI,CAAA,KAAA,CAAM,aAAa,CAAA,CAAA;EACvD,QAAA,IAAI,QAAU,EAAA;EACZ,UAAA,YAAA,CAAa,SAAS,SAAS,CAAA,CAAA;EAAA,SACjC;EAGA,QAAM,MAAA,QAAA,GAAW,YAAY,QAAS,CAAA,KAAA,CAAM,WAAW,KAAM,CAAA,QAAA,GAAW,SAAS,KAAQ,GAAA,KAAA,CAAA;EAGzF,QAAM,MAAA,SAAA,GAAY,WAAW,MAAM;EACjC,UAAe,cAAA,CAAA,MAAA,CAAO,SAAS,aAAa,CAAA,CAAA;EAE5C,UAAI,IAAA,OAAA,CAAQ,UAAU,CAAC,OAAA,CAAQ,OAAO,SAAU,CAAA,eAAA,EAAiB,QAAQ,CAAG,EAAA;EAC1E,YAAA,OAAA;EAAA,WACF;EAGA,UAAM,MAAA,SAAA,GAAY,QAAQ,YAAgB,IAAA,qBAAA,CAAA;EAC1C,UAAI,IAAA,QAAA,CAAS,WAAW,SAAW,EAAA;EACjC,YAAS,OAAA,EAAA,IAAA,CAAK,UAAU,eAAiB,EAAA;EAAA,cACvC,OAAO,QAAS,CAAA,QAAA;EAAA,cAChB,WAAW,QAAS,CAAA,SAAA;EAAA,cACpB,MAAM,QAAS,CAAA,IAAA;EAAA,cACf,eAAe,QAAS,CAAA,aAAA;EAAA,aACzB,CAAA,CAAA;EAAA,WACH;EAAA,WACC,GAAG,CAAA,CAAA;EAEN,QAAA,cAAA,CAAe,IAAI,KAAM,CAAA,aAAA,EAAe,EAAE,KAAO,EAAA,QAAA,EAAU,WAAW,CAAA,CAAA;EAAA,OACxE;EAAA,KACF,CAAA;EAGA,IAAI,IAAA;EACF,MAAc,WAAA,GAAA,IAAI,oBAAoB,YAAY,CAAA,CAAA;EAClD,MAAA,WAAA,CAAY,QAAQ,EAAE,IAAA,EAAM,OAAS,EAAA,QAAA,EAAU,MAAM,CAAA,CAAA;EAAA,aAC9C,CAAG,EAAA;EACV,MAAQ,OAAA,CAAA,IAAA,CAAK,gDAAgD,CAAC,CAAA,CAAA;EAAA,KAChE;EAAA,GACF,CAAA;EAEA,EAAA,MAAM,kBAAkB,MAAM;EAC5B,IAAM,MAAA,YAAA,GAAe,CAAC,IAAoC,KAAA;EACxD,MAAW,KAAA,MAAA,KAAA,IAAS,IAAK,CAAA,UAAA,EAAc,EAAA;EACrC,QAAI,IAAA,OAAA,CAAQ,UAAU,CAAC,OAAA,CAAQ,OAAO,SAAU,CAAA,oBAAA,EAAsB,KAAK,CAAG,EAAA;EAC5E,UAAA,SAAA;EAAA,SACF;EAEA,QAAM,MAAA,SAAA,GAAY,QAAQ,iBAAqB,IAAA,2BAAA,CAAA;EAC/C,QAAI,IAAA,KAAA,CAAM,WAAW,SAAW,EAAA;EAC9B,UAAS,OAAA,EAAA,IAAA,CAAK,UAAU,oBAAsB,EAAA;EAAA,YAC5C,WAAW,KAAM,CAAA,SAAA;EAAA,YACjB,UAAU,KAAM,CAAA,QAAA;EAAA,YAChB,MAAM,KAAM,CAAA,IAAA;EAAA,YACZ,aAAa,KAAM,CAAA,WAAA;EAAA,WACpB,CAAA,CAAA;EAAA,SACH;EAAA,OACF;EAAA,KACF,CAAA;EAEA,IAAI,IAAA;EACF,MAAmB,gBAAA,GAAA,IAAI,oBAAoB,YAAY,CAAA,CAAA;EACvD,MAAA,gBAAA,CAAiB,QAAQ,EAAE,IAAA,EAAM,UAAY,EAAA,QAAA,EAAU,MAAM,CAAA,CAAA;EAAA,aACtD,CAAG,EAAA;EACV,MAAQ,OAAA,CAAA,IAAA,CAAK,sDAAsD,CAAC,CAAA,CAAA;EAAA,KACtE;EAAA,GACF,CAAA;EAEA,EAAA,MAAM,kBAAkB,MAAM;EAC5B,IAAM,MAAA,YAAA,GAAe,CAAC,IAAoC,KAAA;EACxD,MAAW,KAAA,MAAA,KAAA,IAAS,IAAK,CAAA,UAAA,EAAc,EAAA;EAErC,QAAA,IAAI,KAAM,CAAA,aAAA,KAAkB,OAAW,IAAA,KAAA,CAAM,kBAAkB,gBAAkB,EAAA;EAC/E,UAAA,SAAA;EAAA,SACF;EAEA,QAAI,IAAA,OAAA,CAAQ,UAAU,CAAC,OAAA,CAAQ,OAAO,SAAU,CAAA,oBAAA,EAAsB,KAAK,CAAG,EAAA;EAC5E,UAAA,SAAA;EAAA,SACF;EAGA,QAAM,MAAA,SAAA,GAAY,QAAQ,iBAAqB,IAAA,0BAAA,CAAA;EAC/C,QAAI,IAAA,KAAA,CAAM,WAAW,SAAW,EAAA;EAC9B,UAAS,OAAA,EAAA,IAAA,CAAK,UAAU,oBAAsB,EAAA;EAAA,YAC5C,MAAM,KAAM,CAAA,IAAA;EAAA;EAAA,YACZ,eAAe,KAAM,CAAA,aAAA;EAAA,YACrB,UAAU,KAAM,CAAA,QAAA;EAAA,YAChB,WAAW,KAAM,CAAA,SAAA;EAAA,YACjB,cAAc,KAAM,CAAA,YAAA;EAAA,YACpB,iBAAiB,KAAM,CAAA,eAAA;EAAA,YACvB,iBAAiB,KAAM,CAAA,eAAA;EAAA,WACxB,CAAA,CAAA;EAAA,SACH;EAAA,OACF;EAAA,KACF,CAAA;EAEA,IAAI,IAAA;EACF,MAAmB,gBAAA,GAAA,IAAI,oBAAoB,YAAY,CAAA,CAAA;EACvD,MAAA,gBAAA,CAAiB,QAAQ,EAAE,IAAA,EAAM,UAAY,EAAA,QAAA,EAAU,MAAM,CAAA,CAAA;EAAA,aACtD,CAAG,EAAA;EACV,MAAQ,OAAA,CAAA,IAAA,CAAK,qDAAqD,CAAC,CAAA,CAAA;EAAA,KACrE;EAAA,GACF,CAAA;EAEA,EAAO,OAAA;EAAA,IACL,MAAM,KAAM,CAAA,WAAA;EAAA,IACZ,OAAA,EAAS,CAAC,GAAuB,KAAA;EAC/B,MAAU,OAAA,GAAA,GAAA,CAAA;EACV,MAAoB,mBAAA,EAAA,CAAA;EACpB,MAAW,UAAA,EAAA,CAAA;EACX,MAAW,UAAA,EAAA,CAAA;EACX,MAAgB,eAAA,EAAA,CAAA;EAChB,MAAgB,eAAA,EAAA,CAAA;EAAA,KAClB;EAAA,IACA,WAAW,MAAM;EACf,MAAA,aAAA,EAAe,UAAW,EAAA,CAAA;EAC1B,MAAA,WAAA,EAAa,UAAW,EAAA,CAAA;EACxB,MAAA,WAAA,EAAa,UAAW,EAAA,CAAA;EACxB,MAAA,gBAAA,EAAkB,UAAW,EAAA,CAAA;EAC7B,MAAA,gBAAA,EAAkB,UAAW,EAAA,CAAA;EAE7B,MAAA,cAAA,CAAe,QAAQ,CAAC,KAAA,KAAU,YAAa,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;EAC/D,MAAA,cAAA,CAAe,KAAM,EAAA,CAAA;EAAA,KACvB;EAAA,GACF,CAAA;EACF;;ACtLO,QAAM,SAAY,GAAA,CAAC,OAAsB,GAAA,EAAgB,KAAA;EAC9D,EAAI,IAAA,OAAA,CAAA;EACJ,EAAI,IAAA,UAAA,CAAA;EACJ,EAAI,IAAA,UAAA,CAAA;EAEJ,EAAA,MAAM,oBAAoB,MAAM;EAC9B,IAAA,MAAM,YAAY,MAAO,CAAA,cAAA,CAAA;EACzB,IAAA,IAAI,CAAC,SAAA;EAAW,MAAA,OAAA;EAEhB,IAAA,UAAA,GAAa,UAAU,SAAU,CAAA,IAAA,CAAA;EACjC,IAAA,UAAA,GAAa,UAAU,SAAU,CAAA,IAAA,CAAA;EAGjC,IAAU,SAAA,CAAA,SAAA,CAAU,IAAO,GAAA,SAAA,GAA6D,IAAS,EAAA;EAC/F,MAAA,IAAA,CAAK,SAAY,GAAA;EAAA,QACf,MAAQ,EAAA,IAAA,CAAK,CAAC,CAAA,CAAE,WAAY,EAAA;EAAA,QAC5B,GAAK,EAAA,MAAA,CAAO,IAAK,CAAA,CAAC,CAAC,CAAA;EAAA,QACnB,SAAW,EAAA,CAAA;EAAA,OACb,CAAA;EACA,MAAO,OAAA,UAAA,CAAW,KAAM,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;EAAA,KACpC,CAAA;EAGA,IAAU,SAAA,CAAA,SAAA,CAAU,IAAO,GAAA,SAAA,GAA6D,IAAS,EAAA;EAC/F,MAAA,IAAI,KAAK,SAAW,EAAA;EAClB,QAAK,IAAA,CAAA,SAAA,CAAU,SAAY,GAAA,IAAA,CAAK,GAAI,EAAA,CAAA;EAAA,OACtC;EAEA,MAAA,MAAM,YAAY,MAAM;EACtB,QAAA,IAAI,KAAK,SAAW,EAAA;EAElB,UAAA,MAAM,aAAa,OAAS,EAAA,GAAA,CAAA;EAC5B,UAAA,MAAM,EAAE,GAAA,EAAK,MAAQ,EAAA,SAAA,KAAc,IAAK,CAAA,SAAA,CAAA;EAExC,UAAA,IAAI,UAAc,IAAA,GAAA,CAAI,QAAS,CAAA,UAAU,CAAG,EAAA;EAC1C,YAAA,OAAA;EAAA,WACF;EAGA,UAAA,IAAI,QAAQ,MAAU,IAAA,CAAC,QAAQ,MAAO,CAAA,MAAA,EAAQ,GAAG,CAAG,EAAA;EAClD,YAAA,OAAA;EAAA,WACF;EAEA,UAAM,MAAA,QAAA,GAAW,IAAK,CAAA,GAAA,EAAQ,GAAA,SAAA,CAAA;EAC9B,UAAA,MAAM,SAAS,IAAK,CAAA,MAAA,CAAA;EAGpB,UAAA,IAAI,EAAE,MAAA,IAAU,GAAO,IAAA,MAAA,GAAS,GAAM,CAAA,EAAA;EACpC,YAAA,MAAM,IAAO,GAAA;EAAA,cACX,MAAA;EAAA,cACA,GAAA;EAAA,cACA,MAAA;EAAA,cACA,QAAA;EAAA;EAAA,cAEA,QAAA,EAAU,IAAK,CAAA,QAAA,GAAW,MAAO,CAAA,IAAA,CAAK,QAAQ,CAAE,CAAA,KAAA,CAAM,CAAG,EAAA,GAAG,CAAI,GAAA,EAAA;EAAA,aAClE,CAAA;EAEA,YAAS,OAAA,EAAA,IAAA,CAAK,SAAU,CAAA,GAAA,EAAK,IAAI,CAAA,CAAA;EAAA,WACnC;EAAA,SACF;EAAA,OACF,CAAA;EAEA,MAAK,IAAA,CAAA,gBAAA,CAAiB,WAAW,SAAS,CAAA,CAAA;EAC1C,MAAO,OAAA,UAAA,CAAW,KAAM,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;EAAA,KACpC,CAAA;EAAA,GACF,CAAA;EAEA,EAAA,MAAM,aAAa,MAAM;EACvB,IAAA,MAAM,YAAY,MAAO,CAAA,cAAA,CAAA;EACzB,IAAA,IAAI,CAAC,SAAA;EAAW,MAAA,OAAA;EAChB,IAAI,IAAA,UAAA;EAAY,MAAA,SAAA,CAAU,UAAU,IAAO,GAAA,UAAA,CAAA;EAC3C,IAAI,IAAA,UAAA;EAAY,MAAA,SAAA,CAAU,UAAU,IAAO,GAAA,UAAA,CAAA;EAAA,GAC7C,CAAA;EAEA,EAAO,OAAA;EAAA,IACL,MAAM,KAAM,CAAA,GAAA;EAAA,IACZ,OAAA,EAAS,CAAC,GAAuB,KAAA;EAC/B,MAAU,OAAA,GAAA,GAAA,CAAA;EACV,MAAkB,iBAAA,EAAA,CAAA;EAAA,KACpB;EAAA,IACA,WAAW,MAAM;EACf,MAAW,UAAA,EAAA,CAAA;EAAA,KACb;EAAA,GACF,CAAA;EACF;;AChGO,QAAM,WAAc,GAAA,CAAC,OAAwB,GAAA,EAAgB,KAAA;EAClE,EAAI,IAAA,OAAA,CAAA;EACJ,EAAI,IAAA,WAAA,CAAA;EAEJ,EAAA,MAAM,sBAAsB,MAAM;EAChC,IAAA,WAAA,GAAc,MAAO,CAAA,KAAA,CAAA;EACrB,IAAA,IAAI,CAAC,WAAA;EAAa,MAAA,OAAA;EAElB,IAAO,MAAA,CAAA,KAAA,GAAQ,SAAU,KAAA,EAA0B,IAAoB,EAAA;EACrE,MAAM,MAAA,SAAA,GAAY,KAAK,GAAI,EAAA,CAAA;EAC3B,MAAA,MAAM,MAAU,GAAA,CAAA,IAAA,EAAM,MAAU,IAAA,KAAA,EAAO,WAAY,EAAA,CAAA;EACnD,MAAA,MAAM,MAAM,KAAiB,YAAA,OAAA,GAAU,KAAM,CAAA,GAAA,GAAM,OAAO,KAAK,CAAA,CAAA;EAE/D,MAAA,OAAO,YAAY,KAAM,CAAA,IAAA,EAAM,CAAC,KAAO,EAAA,IAAI,CAAC,CAAE,CAAA,IAAA;EAAA,QAC5C,CAAC,QAAa,KAAA;EACZ,UAAA,MAAM,aAAa,OAAS,EAAA,GAAA,CAAA;EAC5B,UAAA,IAAI,UAAc,IAAA,GAAA,CAAI,QAAS,CAAA,UAAU,CAAG,EAAA;EAC1C,YAAO,OAAA,QAAA,CAAA;EAAA,WACT;EAGA,UAAA,IAAI,QAAQ,MAAU,IAAA,CAAC,QAAQ,MAAO,CAAA,MAAA,EAAQ,GAAG,CAAG,EAAA;EAClD,YAAO,OAAA,QAAA,CAAA;EAAA,WACT;EAEA,UAAI,IAAA,CAAC,SAAS,EAAI,EAAA;EAChB,YAAM,MAAA,QAAA,GAAW,IAAK,CAAA,GAAA,EAAQ,GAAA,SAAA,CAAA;EAC9B,YAAA,MAAM,IAAO,GAAA;EAAA,cACX,MAAA;EAAA,cACA,GAAA;EAAA,cACA,QAAQ,QAAS,CAAA,MAAA;EAAA,cACjB,QAAA;EAAA,cACA,OAAS,EAAA,KAAA;EAAA,aACX,CAAA;EACA,YAAS,OAAA,EAAA,IAAA,CAAK,SAAU,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;EAAA,WACrC;EACA,UAAO,OAAA,QAAA,CAAA;EAAA,SACT;EAAA,QACA,CAAC,KAAU,KAAA;EACT,UAAA,MAAM,aAAa,OAAS,EAAA,GAAA,CAAA;EAC5B,UAAA,IAAI,UAAc,IAAA,GAAA,CAAI,QAAS,CAAA,UAAU,CAAG,EAAA;EAC1C,YAAM,MAAA,KAAA,CAAA;EAAA,WACR;EAGA,UAAA,IAAI,QAAQ,MAAU,IAAA,CAAC,QAAQ,MAAO,CAAA,MAAA,EAAQ,GAAG,CAAG,EAAA;EAClD,YAAM,MAAA,KAAA,CAAA;EAAA,WACR;EAEA,UAAM,MAAA,QAAA,GAAW,IAAK,CAAA,GAAA,EAAQ,GAAA,SAAA,CAAA;EAC9B,UAAA,MAAM,IAAO,GAAA;EAAA,YACX,MAAA;EAAA,YACA,GAAA;EAAA,YACA,MAAQ,EAAA,CAAA;EAAA,YACR,QAAA;EAAA,YACA,OAAS,EAAA,KAAA;EAAA,YACT,SAAS,KAAM,CAAA,OAAA;EAAA,WACjB,CAAA;EACA,UAAS,OAAA,EAAA,IAAA,CAAK,SAAU,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;EACnC,UAAM,MAAA,KAAA,CAAA;EAAA,SACR;EAAA,OACF,CAAA;EAAA,KACF,CAAA;EAAA,GACF,CAAA;EAEA,EAAA,MAAM,eAAe,MAAM;EACzB,IAAI,IAAA,WAAA;EAAa,MAAA,MAAA,CAAO,KAAQ,GAAA,WAAA,CAAA;EAAA,GAClC,CAAA;EAEA,EAAO,OAAA;EAAA,IACL,MAAM,KAAM,CAAA,KAAA;EAAA,IACZ,OAAA,EAAS,CAAC,GAAuB,KAAA;EAC/B,MAAU,OAAA,GAAA,GAAA,CAAA;EACV,MAAoB,mBAAA,EAAA,CAAA;EAAA,KACtB;EAAA,IACA,WAAW,MAAM;EACf,MAAa,YAAA,EAAA,CAAA;EAAA,KACf;EAAA,GACF,CAAA;EACF;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1,3]}
package/package.json CHANGED
@@ -1,18 +1,33 @@
1
1
  {
2
2
  "name": "cwj_monitoring",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "description": "基于 JS 适用Web端的插件,为前端项目提供【 行为、性能、异常 】监控手段",
5
- "repository": "https://github.com/cwjbjy/cwj_monitoring",
6
- "main": "dist",
7
- "module": "dist",
8
- "types": "dist/index.d.ts",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/cwjbjy/cwj_monitoring"
8
+ },
9
+ "type": "module",
10
+ "main": "./dist/index.cjs",
11
+ "module": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js",
17
+ "require": "./dist/index.cjs"
18
+ }
19
+ },
20
+ "sideEffects": false,
9
21
  "scripts": {
22
+ "dev": "rollup -c -w",
10
23
  "build": "rollup -c",
11
- "server": "rollup -c -w",
24
+ "type-check": "tsc --noEmit",
25
+ "lint": "eslint src --fix --ext .ts,.js --max-warnings 0",
26
+ "format": "prettier --write \"src/**/*.{ts,js,json}\"",
12
27
  "changeset": "changeset",
13
28
  "version-packages": "changeset version",
14
29
  "publish-packages": "changeset publish",
15
- "lint": "eslint src --fix --ext .ts,.js --max-warnings 0"
30
+ "prepublishOnly": "npm run type-check && npm run build"
16
31
  },
17
32
  "files": [
18
33
  "dist/*"
@@ -60,8 +75,8 @@
60
75
  "typescript": "^5.1.6"
61
76
  },
62
77
  "dependencies": {
63
- "@fingerprintjs/fingerprintjs": "^4.6.2",
64
- "bowser": "^2.11.0"
78
+ "bowser": "^2.11.0",
79
+ "nanoid": "^5.1.6"
65
80
  },
66
81
  "lint-staged": {
67
82
  "src/**/*.{js,ts,json}": [