1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5495],{95495:function(e,t,n){n.d(t,{O4:function(){return s},xu:function(){return l}});var o=n(15103);const r=Symbol("RESET");let i=!1;function l(e,t){i||(console.warn("[DEPRECATED] atomFamily is deprecated and will be removed in v3. Please use the `jotai-family` package instead: https://github.com/jotaijs/jotai-family"),i=!0);let n=null;const o=new Map,r=new Set,l=r=>{let i;if(void 0===t)i=o.get(r);else for(const[e,n]of o)if(t(e,r)){i=n;break}if(void 0!==i){if(!(null==n?void 0:n(i[1],r)))return i[0];l.remove(r)}const a=e(r);return o.set(r,[a,Date.now()]),u("CREATE",r,a),a},u=(e,t,n)=>{for(const o of r)o({type:e,param:t,atom:n})};return l.unstable_listen=e=>(r.add(e),()=>{r.delete(e)}),l.getParams=()=>o.keys(),l.remove=e=>{if(void 0===t){if(!o.has(e))return;const[t]=o.get(e);o.delete(e),u("REMOVE",e,t)}else for(const[n,[r]]of o)if(t(n,e)){o.delete(n),u("REMOVE",n,r);break}},l.setShouldRemove=e=>{if(n=e,n)for(const[t,[r,i]]of o)n(i,t)&&(o.delete(t),u("REMOVE",t,r))},l}const u=e=>"function"===typeof(null==e?void 0:e.then);const a=function(e=(()=>{try{return window.localStorage}catch(e){return void("undefined"!==typeof window&&console.warn(e))}}),t){var n;let o,r;const i={getItem:(n,i)=>{var l,a;const s=e=>{if(o!==(e=e||"")){try{r=JSON.parse(e,null==t?void 0:t.reviver)}catch(n){return i}o=e}return r},c=null!=(a=null==(l=e())?void 0:l.getItem(n))?a:null;return u(c)?c.then(s):s(c)},setItem:(n,o)=>{var r;return null==(r=e())?void 0:r.setItem(n,JSON.stringify(o,null==t?void 0:t.replacer))},removeItem:t=>{var n;return null==(n=e())?void 0:n.removeItem(t)}};let l;try{l=null==(n=e())?void 0:n.subscribe}catch(s){}var a;return!l&&"undefined"!==typeof window&&"function"===typeof window.addEventListener&&window.Storage&&(l=(t,n)=>{if(!(e()instanceof window.Storage))return()=>{};const o=o=>{o.storageArea===e()&&o.key===t&&n(o.newValue)};return window.addEventListener("storage",o),()=>{window.removeEventListener("storage",o)}}),l&&(i.subscribe=(a=l,(e,n,o)=>a(e,(e=>{let r;try{r=JSON.parse(e||"",null==t?void 0:t.reviver)}catch(s){r=o}n(r)})))),i}();function s(e,t,n=a,i){const l=null==i?void 0:i.getOnInit,s=(0,o.cn)(l?n.getItem(e,t):t);s.debugPrivate=!0,s.onMount=o=>{var r;return o(n.getItem(e,t)),null==(r=n.subscribe)?void 0:r.call(n,e,o,t)};return(0,o.cn)((e=>e(s)),((o,i,l)=>{const a="function"===typeof l?l(o(s)):l;return a===r?(i(s,t),n.removeItem(e)):u(a)?a.then((t=>(i(s,t),n.setItem(e,t)))):(i(s,a),n.setItem(e,a))}))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.