Duffer Derek

Current Path : /var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/next/dist/client/
Upload File :
Current File : /var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/next/dist/client/route-loader.js.map

{"version":3,"sources":["../../src/client/route-loader.ts"],"sourcesContent":["import type { ComponentType } from 'react'\nimport type { MiddlewareMatcher } from '../build/analysis/get-page-static-info'\nimport getAssetPathFromRoute from '../shared/lib/router/utils/get-asset-path-from-route'\nimport { __unsafeCreateTrustedScriptURL } from './trusted-types'\nimport { requestIdleCallback } from './request-idle-callback'\nimport { getDeploymentIdQueryOrEmptyString } from '../build/deployment-id'\nimport { encodeURIPath } from '../shared/lib/encode-uri-path'\n\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800\n\ndeclare global {\n  interface Window {\n    __BUILD_MANIFEST?: Record<string, string[]>\n    __BUILD_MANIFEST_CB?: Function\n    __MIDDLEWARE_MATCHERS?: MiddlewareMatcher[]\n    __MIDDLEWARE_MANIFEST_CB?: Function\n    __REACT_LOADABLE_MANIFEST?: any\n    __DYNAMIC_CSS_MANIFEST?: any\n    __RSC_MANIFEST?: any\n    __RSC_SERVER_MANIFEST?: any\n    __NEXT_FONT_MANIFEST?: any\n    __SUBRESOURCE_INTEGRITY_MANIFEST?: string\n    __INTERCEPTION_ROUTE_REWRITE_MANIFEST?: string\n  }\n}\n\ninterface LoadedEntrypointSuccess {\n  component: ComponentType\n  exports: any\n}\ninterface LoadedEntrypointFailure {\n  error: unknown\n}\ntype RouteEntrypoint = LoadedEntrypointSuccess | LoadedEntrypointFailure\n\ninterface RouteStyleSheet {\n  href: string\n  content: string\n}\n\ninterface LoadedRouteSuccess extends LoadedEntrypointSuccess {\n  styles: RouteStyleSheet[]\n}\ninterface LoadedRouteFailure {\n  error: unknown\n}\ntype RouteLoaderEntry = LoadedRouteSuccess | LoadedRouteFailure\n\ninterface Future<V> {\n  resolve: (entrypoint: V) => void\n  future: Promise<V>\n}\nfunction withFuture<T extends object>(\n  key: string,\n  map: Map<string, Future<T> | T>,\n  generator?: () => Promise<T>\n): Promise<T> {\n  let entry = map.get(key)\n  if (entry) {\n    if ('future' in entry) {\n      return entry.future\n    }\n    return Promise.resolve(entry)\n  }\n  let resolver: (entrypoint: T) => void\n  const prom: Promise<T> = new Promise<T>((resolve) => {\n    resolver = resolve\n  })\n  map.set(key, { resolve: resolver!, future: prom })\n  return generator\n    ? generator()\n        .then((value) => {\n          resolver(value)\n          return value\n        })\n        .catch((err) => {\n          map.delete(key)\n          throw err\n        })\n    : prom\n}\n\nexport interface RouteLoader {\n  whenEntrypoint(route: string): Promise<RouteEntrypoint>\n  onEntrypoint(route: string, execute: () => unknown): void\n  loadRoute(route: string, prefetch?: boolean): Promise<RouteLoaderEntry>\n  prefetch(route: string): Promise<void>\n}\n\nconst ASSET_LOAD_ERROR = Symbol('ASSET_LOAD_ERROR')\n// TODO: unexport\nexport function markAssetError(err: Error): Error {\n  return Object.defineProperty(err, ASSET_LOAD_ERROR, {})\n}\n\nexport function isAssetError(err?: Error): boolean | undefined {\n  return err && ASSET_LOAD_ERROR in err\n}\n\nfunction hasPrefetch(link?: HTMLLinkElement): boolean {\n  try {\n    link = document.createElement('link')\n    return (\n      // detect IE11 since it supports prefetch but isn't detected\n      // with relList.support\n      (!!window.MSInputMethodContext && !!(document as any).documentMode) ||\n      link.relList.supports('prefetch')\n    )\n  } catch {\n    return false\n  }\n}\n\nconst canPrefetch: boolean = hasPrefetch()\n\nconst getAssetQueryString = () => {\n  return getDeploymentIdQueryOrEmptyString()\n}\n\nfunction prefetchViaDom(\n  href: string,\n  as: string,\n  link?: HTMLLinkElement\n): Promise<any> {\n  return new Promise<void>((resolve, reject) => {\n    const selector = `\n      link[rel=\"prefetch\"][href^=\"${href}\"],\n      link[rel=\"preload\"][href^=\"${href}\"],\n      script[src^=\"${href}\"]`\n    if (document.querySelector(selector)) {\n      return resolve()\n    }\n\n    link = document.createElement('link')\n\n    // The order of property assignment here is intentional:\n    if (as) link!.as = as\n    link!.rel = `prefetch`\n    link!.crossOrigin = process.env.__NEXT_CROSS_ORIGIN!\n    link!.onload = resolve as any\n    link!.onerror = () =>\n      reject(markAssetError(new Error(`Failed to prefetch: ${href}`)))\n\n    // `href` should always be last:\n    link!.href = href\n\n    document.head.appendChild(link)\n  })\n}\n\nfunction appendScript(\n  src: TrustedScriptURL | string,\n  script?: HTMLScriptElement\n): Promise<unknown> {\n  return new Promise((resolve, reject) => {\n    script = document.createElement('script')\n\n    // The order of property assignment here is intentional.\n    // 1. Setup success/failure hooks in case the browser synchronously\n    //    executes when `src` is set.\n    script.onload = resolve\n    script.onerror = () =>\n      reject(markAssetError(new Error(`Failed to load script: ${src}`)))\n\n    // 2. Configure the cross-origin attribute before setting `src` in case the\n    //    browser begins to fetch.\n    script.crossOrigin = process.env.__NEXT_CROSS_ORIGIN!\n\n    // 3. Finally, set the source and inject into the DOM in case the child\n    //    must be appended for fetching to start.\n    script.src = src as string\n    document.body.appendChild(script)\n  })\n}\n\n// We wait for pages to be built in dev before we start the route transition\n// timeout to prevent an un-necessary hard navigation in development.\nlet devBuildPromise: Promise<void> | undefined\n\n// Resolve a promise that times out after given amount of milliseconds.\nfunction resolvePromiseWithTimeout<T>(\n  p: Promise<T>,\n  ms: number,\n  err: Error\n): Promise<T> {\n  return new Promise((resolve, reject) => {\n    let cancelled = false\n\n    p.then((r) => {\n      // Resolved, cancel the timeout\n      cancelled = true\n      resolve(r)\n    }).catch(reject)\n\n    // We wrap these checks separately for better dead-code elimination in\n    // production bundles.\n    if (process.env.NODE_ENV === 'development') {\n      ;(devBuildPromise || Promise.resolve()).then(() => {\n        requestIdleCallback(() =>\n          setTimeout(() => {\n            if (!cancelled) {\n              reject(err)\n            }\n          }, ms)\n        )\n      })\n    }\n\n    if (process.env.NODE_ENV !== 'development') {\n      requestIdleCallback(() =>\n        setTimeout(() => {\n          if (!cancelled) {\n            reject(err)\n          }\n        }, ms)\n      )\n    }\n  })\n}\n\n// TODO: stop exporting or cache the failure\n// It'd be best to stop exporting this. It's an implementation detail. We're\n// only exporting it for backwards compatibility with the `page-loader`.\n// Only cache this response as a last resort if we cannot eliminate all other\n// code branches that use the Build Manifest Callback and push them through\n// the Route Loader interface.\nexport function getClientBuildManifest() {\n  if (self.__BUILD_MANIFEST) {\n    return Promise.resolve(self.__BUILD_MANIFEST)\n  }\n\n  const onBuildManifest = new Promise<Record<string, string[]>>((resolve) => {\n    // Mandatory because this is not concurrent safe:\n    const cb = self.__BUILD_MANIFEST_CB\n    self.__BUILD_MANIFEST_CB = () => {\n      resolve(self.__BUILD_MANIFEST!)\n      cb && cb()\n    }\n  })\n\n  return resolvePromiseWithTimeout(\n    onBuildManifest,\n    MS_MAX_IDLE_DELAY,\n    markAssetError(new Error('Failed to load client build manifest'))\n  )\n}\n\ninterface RouteFiles {\n  scripts: (TrustedScriptURL | string)[]\n  css: string[]\n}\nfunction getFilesForRoute(\n  assetPrefix: string,\n  route: string\n): Promise<RouteFiles> {\n  if (process.env.NODE_ENV === 'development') {\n    const scriptUrl =\n      assetPrefix +\n      '/_next/static/chunks/pages' +\n      encodeURIPath(getAssetPathFromRoute(route, '.js')) +\n      getAssetQueryString()\n    return Promise.resolve({\n      scripts: [__unsafeCreateTrustedScriptURL(scriptUrl)],\n      // Styles are handled by `style-loader` in development:\n      css: [],\n    })\n  }\n  return getClientBuildManifest().then((manifest) => {\n    if (!(route in manifest)) {\n      throw markAssetError(new Error(`Failed to lookup route: ${route}`))\n    }\n    const allFiles = manifest[route].map(\n      (entry) => assetPrefix + '/_next/' + encodeURIPath(entry)\n    )\n    return {\n      scripts: allFiles\n        .filter((v) => v.endsWith('.js'))\n        .map((v) => __unsafeCreateTrustedScriptURL(v) + getAssetQueryString()),\n      css: allFiles\n        .filter((v) => v.endsWith('.css'))\n        .map((v) => v + getAssetQueryString()),\n    }\n  })\n}\n\nexport function createRouteLoader(assetPrefix: string): RouteLoader {\n  const entrypoints: Map<string, Future<RouteEntrypoint> | RouteEntrypoint> =\n    new Map()\n  const loadedScripts: Map<string, Promise<unknown>> = new Map()\n  const styleSheets: Map<string, Promise<RouteStyleSheet>> = new Map()\n  const routes: Map<string, Future<RouteLoaderEntry> | RouteLoaderEntry> =\n    new Map()\n\n  function maybeExecuteScript(\n    src: TrustedScriptURL | string\n  ): Promise<unknown> {\n    // With HMR we might need to \"reload\" scripts when they are\n    // disposed and readded. Executing scripts twice has no functional\n    // differences\n    if (process.env.NODE_ENV !== 'development') {\n      let prom: Promise<unknown> | undefined = loadedScripts.get(src.toString())\n      if (prom) {\n        return prom\n      }\n\n      // Skip executing script if it's already in the DOM:\n      if (document.querySelector(`script[src^=\"${src}\"]`)) {\n        return Promise.resolve()\n      }\n\n      loadedScripts.set(src.toString(), (prom = appendScript(src)))\n      return prom\n    } else {\n      return appendScript(src)\n    }\n  }\n\n  function fetchStyleSheet(href: string): Promise<RouteStyleSheet> {\n    let prom: Promise<RouteStyleSheet> | undefined = styleSheets.get(href)\n    if (prom) {\n      return prom\n    }\n\n    styleSheets.set(\n      href,\n      (prom = fetch(href, { credentials: 'same-origin' })\n        .then((res) => {\n          if (!res.ok) {\n            throw new Error(`Failed to load stylesheet: ${href}`)\n          }\n          return res.text().then((text) => ({ href: href, content: text }))\n        })\n        .catch((err) => {\n          throw markAssetError(err)\n        }))\n    )\n    return prom\n  }\n\n  return {\n    whenEntrypoint(route: string) {\n      return withFuture(route, entrypoints)\n    },\n    onEntrypoint(route: string, execute: undefined | (() => unknown)) {\n      ;(execute\n        ? Promise.resolve()\n            .then(() => execute())\n            .then(\n              (exports: any) => ({\n                component: (exports && exports.default) || exports,\n                exports: exports,\n              }),\n              (err) => ({ error: err })\n            )\n        : Promise.resolve(undefined)\n      ).then((input: RouteEntrypoint | undefined) => {\n        const old = entrypoints.get(route)\n        if (old && 'resolve' in old) {\n          if (input) {\n            entrypoints.set(route, input)\n            old.resolve(input)\n          }\n        } else {\n          if (input) {\n            entrypoints.set(route, input)\n          } else {\n            entrypoints.delete(route)\n          }\n          // when this entrypoint has been resolved before\n          // the route is outdated and we want to invalidate\n          // this cache entry\n          routes.delete(route)\n        }\n      })\n    },\n    loadRoute(route: string, prefetch?: boolean) {\n      return withFuture<RouteLoaderEntry>(route, routes, () => {\n        let devBuildPromiseResolve: () => void\n\n        if (process.env.NODE_ENV === 'development') {\n          devBuildPromise = new Promise<void>((resolve) => {\n            devBuildPromiseResolve = resolve\n          })\n        }\n\n        return resolvePromiseWithTimeout(\n          getFilesForRoute(assetPrefix, route)\n            .then(({ scripts, css }) => {\n              return Promise.all([\n                entrypoints.has(route)\n                  ? []\n                  : Promise.all(scripts.map(maybeExecuteScript)),\n                Promise.all(css.map(fetchStyleSheet)),\n              ] as const)\n            })\n            .then((res) => {\n              return this.whenEntrypoint(route).then((entrypoint) => ({\n                entrypoint,\n                styles: res[1],\n              }))\n            }),\n          MS_MAX_IDLE_DELAY,\n          markAssetError(new Error(`Route did not complete loading: ${route}`))\n        )\n          .then(({ entrypoint, styles }) => {\n            const res: RouteLoaderEntry = Object.assign<\n              { styles: RouteStyleSheet[] },\n              RouteEntrypoint\n            >({ styles: styles! }, entrypoint)\n            return 'error' in entrypoint ? entrypoint : res\n          })\n          .catch((err) => {\n            if (prefetch) {\n              // we don't want to cache errors during prefetch\n              throw err\n            }\n            return { error: err }\n          })\n          .finally(() => devBuildPromiseResolve?.())\n      })\n    },\n    prefetch(route: string): Promise<void> {\n      // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n      // License: Apache 2.0\n      let cn\n      if ((cn = (navigator as any).connection)) {\n        // Don't prefetch if using 2G or if Save-Data is enabled.\n        if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve()\n      }\n      return getFilesForRoute(assetPrefix, route)\n        .then((output) =>\n          Promise.all(\n            canPrefetch\n              ? output.scripts.map((script) =>\n                  prefetchViaDom(script.toString(), 'script')\n                )\n              : []\n          )\n        )\n        .then(() => {\n          requestIdleCallback(() => this.loadRoute(route, true).catch(() => {}))\n        })\n        .catch(\n          // swallow prefetch errors\n          () => {}\n        )\n    },\n  }\n}\n"],"names":["createRouteLoader","getClientBuildManifest","isAssetError","markAssetError","MS_MAX_IDLE_DELAY","withFuture","key","map","generator","entry","get","future","Promise","resolve","resolver","prom","set","then","value","catch","err","delete","ASSET_LOAD_ERROR","Symbol","Object","defineProperty","hasPrefetch","link","document","createElement","window","MSInputMethodContext","documentMode","relList","supports","canPrefetch","getAssetQueryString","getDeploymentIdQueryOrEmptyString","prefetchViaDom","href","as","reject","selector","querySelector","rel","crossOrigin","process","env","__NEXT_CROSS_ORIGIN","onload","onerror","Error","head","appendChild","appendScript","src","script","body","devBuildPromise","resolvePromiseWithTimeout","p","ms","cancelled","r","NODE_ENV","requestIdleCallback","setTimeout","self","__BUILD_MANIFEST","onBuildManifest","cb","__BUILD_MANIFEST_CB","getFilesForRoute","assetPrefix","route","scriptUrl","encodeURIPath","getAssetPathFromRoute","scripts","__unsafeCreateTrustedScriptURL","css","manifest","allFiles","filter","v","endsWith","entrypoints","Map","loadedScripts","styleSheets","routes","maybeExecuteScript","toString","fetchStyleSheet","fetch","credentials","res","ok","text","content","whenEntrypoint","onEntrypoint","execute","exports","component","default","error","undefined","input","old","loadRoute","prefetch","devBuildPromiseResolve","all","has","entrypoint","styles","assign","finally","cn","navigator","connection","saveData","test","effectiveType","output"],"mappings":";;;;;;;;;;;;;;;;;IAiSgBA,iBAAiB;eAAjBA;;IA3DAC,sBAAsB;eAAtBA;;IAnIAC,YAAY;eAAZA;;IAJAC,cAAc;eAAdA;;;;gFA7FkB;8BACa;qCACX;8BACc;+BACpB;AAE9B,uEAAuE;AACvE,yEAAyE;AACzE,2EAA2E;AAC3E,oCAAoC;AACpC,MAAMC,oBAAoB;AA4C1B,SAASC,WACPC,GAAW,EACXC,GAA+B,EAC/BC,SAA4B;IAE5B,IAAIC,QAAQF,IAAIG,GAAG,CAACJ;IACpB,IAAIG,OAAO;QACT,IAAI,YAAYA,OAAO;YACrB,OAAOA,MAAME,MAAM;QACrB;QACA,OAAOC,QAAQC,OAAO,CAACJ;IACzB;IACA,IAAIK;IACJ,MAAMC,OAAmB,IAAIH,QAAW,CAACC;QACvCC,WAAWD;IACb;IACAN,IAAIS,GAAG,CAACV,KAAK;QAAEO,SAASC;QAAWH,QAAQI;IAAK;IAChD,OAAOP,YACHA,YACGS,IAAI,CAAC,CAACC;QACLJ,SAASI;QACT,OAAOA;IACT,GACCC,KAAK,CAAC,CAACC;QACNb,IAAIc,MAAM,CAACf;QACX,MAAMc;IACR,KACFL;AACN;AASA,MAAMO,mBAAmBC,OAAO;AAEzB,SAASpB,eAAeiB,GAAU;IACvC,OAAOI,OAAOC,cAAc,CAACL,KAAKE,kBAAkB,CAAC;AACvD;AAEO,SAASpB,aAAakB,GAAW;IACtC,OAAOA,OAAOE,oBAAoBF;AACpC;AAEA,SAASM,YAAYC,IAAsB;IACzC,IAAI;QACFA,OAAOC,SAASC,aAAa,CAAC;QAC9B,OAGE,AAFA,4DAA4D;QAC5D,uBAAuB;QACtB,CAAC,CAACC,OAAOC,oBAAoB,IAAI,CAAC,CAAC,AAACH,SAAiBI,YAAY,IAClEL,KAAKM,OAAO,CAACC,QAAQ,CAAC;IAE1B,EAAE,UAAM;QACN,OAAO;IACT;AACF;AAEA,MAAMC,cAAuBT;AAE7B,MAAMU,sBAAsB;IAC1B,OAAOC,IAAAA,+CAAiC;AAC1C;AAEA,SAASC,eACPC,IAAY,EACZC,EAAU,EACVb,IAAsB;IAEtB,OAAO,IAAIf,QAAc,CAACC,SAAS4B;QACjC,MAAMC,WAAW,AAAC,yCACcH,OAAK,2CACNA,OAAK,6BACnBA,OAAK;QACtB,IAAIX,SAASe,aAAa,CAACD,WAAW;YACpC,OAAO7B;QACT;QAEAc,OAAOC,SAASC,aAAa,CAAC;QAE9B,wDAAwD;QACxD,IAAIW,IAAIb,KAAMa,EAAE,GAAGA;QACnBb,KAAMiB,GAAG,GAAI;QACbjB,KAAMkB,WAAW,GAAGC,QAAQC,GAAG,CAACC,mBAAmB;QACnDrB,KAAMsB,MAAM,GAAGpC;QACfc,KAAMuB,OAAO,GAAG,IACdT,OAAOtC,eAAe,qBAAwC,CAAxC,IAAIgD,MAAM,AAAC,yBAAsBZ,OAAjC,qBAAA;uBAAA;4BAAA;8BAAA;YAAuC;QAE/D,gCAAgC;QAChCZ,KAAMY,IAAI,GAAGA;QAEbX,SAASwB,IAAI,CAACC,WAAW,CAAC1B;IAC5B;AACF;AAEA,SAAS2B,aACPC,GAA8B,EAC9BC,MAA0B;IAE1B,OAAO,IAAI5C,QAAQ,CAACC,SAAS4B;QAC3Be,SAAS5B,SAASC,aAAa,CAAC;QAEhC,wDAAwD;QACxD,mEAAmE;QACnE,iCAAiC;QACjC2B,OAAOP,MAAM,GAAGpC;QAChB2C,OAAON,OAAO,GAAG,IACfT,OAAOtC,eAAe,qBAA0C,CAA1C,IAAIgD,MAAM,AAAC,4BAAyBI,MAApC,qBAAA;uBAAA;4BAAA;8BAAA;YAAyC;QAEjE,2EAA2E;QAC3E,8BAA8B;QAC9BC,OAAOX,WAAW,GAAGC,QAAQC,GAAG,CAACC,mBAAmB;QAEpD,uEAAuE;QACvE,6CAA6C;QAC7CQ,OAAOD,GAAG,GAAGA;QACb3B,SAAS6B,IAAI,CAACJ,WAAW,CAACG;IAC5B;AACF;AAEA,4EAA4E;AAC5E,qEAAqE;AACrE,IAAIE;AAEJ,uEAAuE;AACvE,SAASC,0BACPC,CAAa,EACbC,EAAU,EACVzC,GAAU;IAEV,OAAO,IAAIR,QAAQ,CAACC,SAAS4B;QAC3B,IAAIqB,YAAY;QAEhBF,EAAE3C,IAAI,CAAC,CAAC8C;YACN,+BAA+B;YAC/BD,YAAY;YACZjD,QAAQkD;QACV,GAAG5C,KAAK,CAACsB;QAET,sEAAsE;QACtE,sBAAsB;QACtB,IAAIK,QAAQC,GAAG,CAACiB,QAAQ,KAAK,eAAe;;YACxCN,CAAAA,mBAAmB9C,QAAQC,OAAO,EAAC,EAAGI,IAAI,CAAC;gBAC3CgD,IAAAA,wCAAmB,EAAC,IAClBC,WAAW;wBACT,IAAI,CAACJ,WAAW;4BACdrB,OAAOrB;wBACT;oBACF,GAAGyC;YAEP;QACF;QAEA,IAAIf,QAAQC,GAAG,CAACiB,QAAQ,KAAK,eAAe;YAC1CC,IAAAA,wCAAmB,EAAC,IAClBC,WAAW;oBACT,IAAI,CAACJ,WAAW;wBACdrB,OAAOrB;oBACT;gBACF,GAAGyC;QAEP;IACF;AACF;AAQO,SAAS5D;IACd,IAAIkE,KAAKC,gBAAgB,EAAE;QACzB,OAAOxD,QAAQC,OAAO,CAACsD,KAAKC,gBAAgB;IAC9C;IAEA,MAAMC,kBAAkB,IAAIzD,QAAkC,CAACC;QAC7D,iDAAiD;QACjD,MAAMyD,KAAKH,KAAKI,mBAAmB;QACnCJ,KAAKI,mBAAmB,GAAG;YACzB1D,QAAQsD,KAAKC,gBAAgB;YAC7BE,MAAMA;QACR;IACF;IAEA,OAAOX,0BACLU,iBACAjE,mBACAD,eAAe,qBAAiD,CAAjD,IAAIgD,MAAM,yCAAV,qBAAA;eAAA;oBAAA;sBAAA;IAAgD;AAEnE;AAMA,SAASqB,iBACPC,WAAmB,EACnBC,KAAa;IAEb,IAAI5B,QAAQC,GAAG,CAACiB,QAAQ,KAAK,eAAe;QAC1C,MAAMW,YACJF,cACA,+BACAG,IAAAA,4BAAa,EAACC,IAAAA,8BAAqB,EAACH,OAAO,UAC3CtC;QACF,OAAOxB,QAAQC,OAAO,CAAC;YACrBiE,SAAS;gBAACC,IAAAA,4CAA8B,EAACJ;aAAW;YACpD,uDAAuD;YACvDK,KAAK,EAAE;QACT;IACF;IACA,OAAO/E,yBAAyBgB,IAAI,CAAC,CAACgE;QACpC,IAAI,CAAEP,CAAAA,SAASO,QAAO,GAAI;YACxB,MAAM9E,eAAe,qBAA6C,CAA7C,IAAIgD,MAAM,AAAC,6BAA0BuB,QAArC,qBAAA;uBAAA;4BAAA;8BAAA;YAA4C;QACnE;QACA,MAAMQ,WAAWD,QAAQ,CAACP,MAAM,CAACnE,GAAG,CAClC,CAACE,QAAUgE,cAAc,YAAYG,IAAAA,4BAAa,EAACnE;QAErD,OAAO;YACLqE,SAASI,SACNC,MAAM,CAAC,CAACC,IAAMA,EAAEC,QAAQ,CAAC,QACzB9E,GAAG,CAAC,CAAC6E,IAAML,IAAAA,4CAA8B,EAACK,KAAKhD;YAClD4C,KAAKE,SACFC,MAAM,CAAC,CAACC,IAAMA,EAAEC,QAAQ,CAAC,SACzB9E,GAAG,CAAC,CAAC6E,IAAMA,IAAIhD;QACpB;IACF;AACF;AAEO,SAASpC,kBAAkByE,WAAmB;IACnD,MAAMa,cACJ,IAAIC;IACN,MAAMC,gBAA+C,IAAID;IACzD,MAAME,cAAqD,IAAIF;IAC/D,MAAMG,SACJ,IAAIH;IAEN,SAASI,mBACPpC,GAA8B;QAE9B,2DAA2D;QAC3D,kEAAkE;QAClE,cAAc;QACd,IAAIT,QAAQC,GAAG,CAACiB,QAAQ,KAAK,eAAe;YAC1C,IAAIjD,OAAqCyE,cAAc9E,GAAG,CAAC6C,IAAIqC,QAAQ;YACvE,IAAI7E,MAAM;gBACR,OAAOA;YACT;YAEA,oDAAoD;YACpD,IAAIa,SAASe,aAAa,CAAC,AAAC,kBAAeY,MAAI,OAAM;gBACnD,OAAO3C,QAAQC,OAAO;YACxB;YAEA2E,cAAcxE,GAAG,CAACuC,IAAIqC,QAAQ,IAAK7E,OAAOuC,aAAaC;YACvD,OAAOxC;QACT,OAAO;YACL,OAAOuC,aAAaC;QACtB;IACF;IAEA,SAASsC,gBAAgBtD,IAAY;QACnC,IAAIxB,OAA6C0E,YAAY/E,GAAG,CAAC6B;QACjE,IAAIxB,MAAM;YACR,OAAOA;QACT;QAEA0E,YAAYzE,GAAG,CACbuB,MACCxB,OAAO+E,MAAMvD,MAAM;YAAEwD,aAAa;QAAc,GAC9C9E,IAAI,CAAC,CAAC+E;YACL,IAAI,CAACA,IAAIC,EAAE,EAAE;gBACX,MAAM,qBAA+C,CAA/C,IAAI9C,MAAM,AAAC,gCAA6BZ,OAAxC,qBAAA;2BAAA;gCAAA;kCAAA;gBAA8C;YACtD;YACA,OAAOyD,IAAIE,IAAI,GAAGjF,IAAI,CAAC,CAACiF,OAAU,CAAA;oBAAE3D,MAAMA;oBAAM4D,SAASD;gBAAK,CAAA;QAChE,GACC/E,KAAK,CAAC,CAACC;YACN,MAAMjB,eAAeiB;QACvB;QAEJ,OAAOL;IACT;IAEA,OAAO;QACLqF,gBAAe1B,KAAa;YAC1B,OAAOrE,WAAWqE,OAAOY;QAC3B;QACAe,cAAa3B,KAAa,EAAE4B,OAAoC;;YAC5DA,CAAAA,UACE1F,QAAQC,OAAO,GACZI,IAAI,CAAC,IAAMqF,WACXrF,IAAI,CACH,CAACsF,WAAkB,CAAA;oBACjBC,WAAW,AAACD,YAAWA,SAAQE,OAAO,IAAKF;oBAC3CA,SAASA;gBACX,CAAA,GACA,CAACnF,MAAS,CAAA;oBAAEsF,OAAOtF;gBAAI,CAAA,KAE3BR,QAAQC,OAAO,CAAC8F,UAAS,EAC3B1F,IAAI,CAAC,CAAC2F;gBACN,MAAMC,MAAMvB,YAAY5E,GAAG,CAACgE;gBAC5B,IAAImC,OAAO,aAAaA,KAAK;oBAC3B,IAAID,OAAO;wBACTtB,YAAYtE,GAAG,CAAC0D,OAAOkC;wBACvBC,IAAIhG,OAAO,CAAC+F;oBACd;gBACF,OAAO;oBACL,IAAIA,OAAO;wBACTtB,YAAYtE,GAAG,CAAC0D,OAAOkC;oBACzB,OAAO;wBACLtB,YAAYjE,MAAM,CAACqD;oBACrB;oBACA,gDAAgD;oBAChD,kDAAkD;oBAClD,mBAAmB;oBACnBgB,OAAOrE,MAAM,CAACqD;gBAChB;YACF;QACF;QACAoC,WAAUpC,KAAa,EAAEqC,QAAkB;YACzC,OAAO1G,WAA6BqE,OAAOgB,QAAQ;gBACjD,IAAIsB;gBAEJ,IAAIlE,QAAQC,GAAG,CAACiB,QAAQ,KAAK,eAAe;oBAC1CN,kBAAkB,IAAI9C,QAAc,CAACC;wBACnCmG,yBAAyBnG;oBAC3B;gBACF;gBAEA,OAAO8C,0BACLa,iBAAiBC,aAAaC,OAC3BzD,IAAI,CAAC;wBAAC,EAAE6D,OAAO,EAAEE,GAAG,EAAE;oBACrB,OAAOpE,QAAQqG,GAAG,CAAC;wBACjB3B,YAAY4B,GAAG,CAACxC,SACZ,EAAE,GACF9D,QAAQqG,GAAG,CAACnC,QAAQvE,GAAG,CAACoF;wBAC5B/E,QAAQqG,GAAG,CAACjC,IAAIzE,GAAG,CAACsF;qBACrB;gBACH,GACC5E,IAAI,CAAC,CAAC+E;oBACL,OAAO,IAAI,CAACI,cAAc,CAAC1B,OAAOzD,IAAI,CAAC,CAACkG,aAAgB,CAAA;4BACtDA;4BACAC,QAAQpB,GAAG,CAAC,EAAE;wBAChB,CAAA;gBACF,IACF5F,mBACAD,eAAe,qBAAqD,CAArD,IAAIgD,MAAM,AAAC,qCAAkCuB,QAA7C,qBAAA;2BAAA;gCAAA;kCAAA;gBAAoD,KAElEzD,IAAI,CAAC;wBAAC,EAAEkG,UAAU,EAAEC,MAAM,EAAE;oBAC3B,MAAMpB,MAAwBxE,OAAO6F,MAAM,CAGzC;wBAAED,QAAQA;oBAAQ,GAAGD;oBACvB,OAAO,WAAWA,aAAaA,aAAanB;gBAC9C,GACC7E,KAAK,CAAC,CAACC;oBACN,IAAI2F,UAAU;wBACZ,gDAAgD;wBAChD,MAAM3F;oBACR;oBACA,OAAO;wBAAEsF,OAAOtF;oBAAI;gBACtB,GACCkG,OAAO,CAAC,IAAMN,0CAAAA;YACnB;QACF;QACAD,UAASrC,KAAa;YACpB,sHAAsH;YACtH,sBAAsB;YACtB,IAAI6C;YACJ,IAAKA,KAAK,AAACC,UAAkBC,UAAU,EAAG;gBACxC,yDAAyD;gBACzD,IAAIF,GAAGG,QAAQ,IAAI,KAAKC,IAAI,CAACJ,GAAGK,aAAa,GAAG,OAAOhH,QAAQC,OAAO;YACxE;YACA,OAAO2D,iBAAiBC,aAAaC,OAClCzD,IAAI,CAAC,CAAC4G,SACLjH,QAAQqG,GAAG,CACT9E,cACI0F,OAAO/C,OAAO,CAACvE,GAAG,CAAC,CAACiD,SAClBlB,eAAekB,OAAOoC,QAAQ,IAAI,aAEpC,EAAE,GAGT3E,IAAI,CAAC;gBACJgD,IAAAA,wCAAmB,EAAC,IAAM,IAAI,CAAC6C,SAAS,CAACpC,OAAO,MAAMvD,KAAK,CAAC,KAAO;YACrE,GACCA,KAAK,CACJ,0BAA0B;YAC1B,KAAO;QAEb;IACF;AACF"}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists