[{"data":1,"prerenderedAt":2033},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Futils":64,"navigation":263,"navLinks_footer":835,"\u002Fdocs\u002Futils\u002Feslint\u002Fvue_page":848,"\u002Fdocs\u002Futils\u002Feslint\u002Fvue_surround":1541,"\u002Fdocs\u002Futils\u002Feslint\u002Fvue":1544},{"id":4,"extension":5,"links":6,"meta":61,"stem":62,"__hash__":63},"navigationMenu\u002Fnavigation.json","json",[7,52,57],{"nested":8,"label":9,"icon":10,"to":11,"children":12},true,"Docs","i-lucide-book-open","\u002Fdocs\u002Fgetting-started",[13,19,26,32,39,45],{"label":14,"icon":15,"to":11,"description":16,"github":17,"badge":18},"Getting Started","i-lucide-rocket","An introduction to help you understand the core components.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fdocshub","Start Here",{"label":20,"icon":21,"to":22,"description":23,"github":24,"badge":25},"Auth H3 Client","i-lucide-key-round","\u002Fdocs\u002Fauth-h3client","Seamlessly enforce OAuth 2.0 authentication and session management integrated directly as the client of the IAM module.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fauth-h3client","Core",{"label":27,"icon":28,"to":29,"description":30,"github":31,"badge":25},"IAM","i-lucide-shield-check","\u002Fdocs\u002Fiam","Identity and Access Management featuring granular roles, permissions, and security policies.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fauth",{"label":33,"icon":34,"to":35,"description":36,"github":37,"badge":38},"Bot Detection","i-lucide-cpu","\u002Fdocs\u002Fbot-detection","Advanced behavioral analysis and request fingerprinting to stop malicious automated traffic.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fbot-detector","Security",{"label":40,"icon":41,"to":42,"description":43,"github":44,"badge":38},"Shield Base","i-lucide-database-zap","\u002Fdocs\u002Fshield-base","CLI and programmatic toolkit for compiling offline-ready IP intelligence databases from BGP, GeoIP, Tor, FireHOL, and other public threat feeds.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fshield-base-cli",{"label":46,"icon":47,"to":48,"description":49,"github":50,"badge":51},"Utils","i-lucide-wrench","\u002Fdocs\u002Futils","A standard library of highly optimized helpers for formatting, validation, and core logic.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Futils","Library",{"nested":53,"label":54,"icon":55,"to":56},false,"Blog","i-lucide-pen-line","\u002Fblog",{"nested":53,"label":58,"icon":59,"to":60},"Website","lucide:app-window-mac","https:\u002F\u002Friavzon.com",{},"navigation","gkaQ0xRGxSLrLyM3kttLe0oBwkrR1EBjlepF8LSbwF8",[65],{"title":9,"path":66,"stem":67,"children":68,"page":53},"\u002Fdocs","docs",[69],{"title":70,"path":48,"stem":71,"children":72},"Utilities","docs\u002Futils\u002Findex",[73,74,91,124,221],{"title":70,"path":48,"stem":71},{"title":75,"path":76,"stem":77,"children":78,"page":53},"Eslint","\u002Fdocs\u002Futils\u002Feslint","docs\u002Futils\u002Feslint",[79,83,87],{"title":80,"path":81,"stem":82},"React Config","\u002Fdocs\u002Futils\u002Feslint\u002Freact","docs\u002Futils\u002Feslint\u002Freact",{"title":84,"path":85,"stem":86},"TypeScript Config","\u002Fdocs\u002Futils\u002Feslint\u002Ftypescript","docs\u002Futils\u002Feslint\u002Ftypescript",{"title":88,"path":89,"stem":90},"Vue Config","\u002Fdocs\u002Futils\u002Feslint\u002Fvue","docs\u002Futils\u002Feslint\u002Fvue",{"title":92,"path":93,"stem":94,"children":95,"page":53},"Server","\u002Fdocs\u002Futils\u002Fserver","docs\u002Futils\u002Fserver",[96,100,104,108,112,116,120],{"title":97,"path":98,"stem":99},"Encryption","\u002Fdocs\u002Futils\u002Fserver\u002Fencryption","docs\u002Futils\u002Fserver\u002Fencryption",{"title":101,"path":102,"stem":103},"Path Resolver","\u002Fdocs\u002Futils\u002Fserver\u002Fpathresolver","docs\u002Futils\u002Fserver\u002FpathResolver",{"title":105,"path":106,"stem":107},"File Replacements","\u002Fdocs\u002Futils\u002Fserver\u002Freplace","docs\u002Futils\u002Fserver\u002Freplace",{"title":109,"path":110,"stem":111},"run","\u002Fdocs\u002Futils\u002Fserver\u002Frun","docs\u002Futils\u002Fserver\u002Frun",{"title":113,"path":114,"stem":115},"scheduleTask","\u002Fdocs\u002Futils\u002Fserver\u002Fscheduletask","docs\u002Futils\u002Fserver\u002FscheduleTask",{"title":117,"path":118,"stem":119},"spawnRun","\u002Fdocs\u002Futils\u002Fserver\u002Fspawnrun","docs\u002Futils\u002Fserver\u002FspawnRun",{"title":121,"path":122,"stem":123},"uploadCsv","\u002Fdocs\u002Futils\u002Fserver\u002Fuploadcsv","docs\u002Futils\u002Fserver\u002FuploadCsv",{"title":125,"path":126,"stem":127,"children":128,"page":53},"Shared","\u002Fdocs\u002Futils\u002Fshared","docs\u002Futils\u002Fshared",[129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217],{"title":130,"path":131,"stem":132},"BatchQueue","\u002Fdocs\u002Futils\u002Fshared\u002Fbatchqueue","docs\u002Futils\u002Fshared\u002FbatchQueue",{"title":134,"path":135,"stem":136},"capitalize","\u002Fdocs\u002Futils\u002Fshared\u002Fcapitalize","docs\u002Futils\u002Fshared\u002Fcapitalize",{"title":138,"path":139,"stem":140},"chunkProcess","\u002Fdocs\u002Futils\u002Fshared\u002Fchunkprocess","docs\u002Futils\u002Fshared\u002FchunkProcess",{"title":142,"path":143,"stem":144},"cleanObject","\u002Fdocs\u002Futils\u002Fshared\u002Fcleanobject","docs\u002Futils\u002Fshared\u002FcleanObject",{"title":146,"path":147,"stem":148},"createConfigManager","\u002Fdocs\u002Futils\u002Fshared\u002Fconfigurationdefiner","docs\u002Futils\u002Fshared\u002FconfigurationDefiner",{"title":150,"path":151,"stem":152},"debounce","\u002Fdocs\u002Futils\u002Fshared\u002Fdebounce","docs\u002Futils\u002Fshared\u002Fdebounce",{"title":154,"path":155,"stem":156},"ensureArray","\u002Fdocs\u002Futils\u002Fshared\u002Fensurearray","docs\u002Futils\u002Fshared\u002FensureArray",{"title":158,"path":159,"stem":160},"fetchWithRetry","\u002Fdocs\u002Futils\u002Fshared\u002Ffetchwithretry","docs\u002Futils\u002Fshared\u002FfetchWithRetry",{"title":162,"path":163,"stem":164},"filterEmptyValues","\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues","docs\u002Futils\u002Fshared\u002FfilterEmptyValues",{"title":166,"path":167,"stem":168},"findStringsInObject","\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues","docs\u002Futils\u002Fshared\u002FfindObjectValues",{"title":170,"path":171,"stem":172},"fisherYatesShuffle","\u002Fdocs\u002Futils\u002Fshared\u002Ffisheryatesshuffle","docs\u002Futils\u002Fshared\u002FfisherYatesShuffle",{"title":174,"path":175,"stem":176},"getRandomImage","\u002Fdocs\u002Futils\u002Fshared\u002Fgetrandomimage","docs\u002Futils\u002Fshared\u002FgetRandomImage",{"title":178,"path":179,"stem":180},"isObjectHasValues","\u002Fdocs\u002Futils\u002Fshared\u002Fisobjecthasvalues","docs\u002Futils\u002Fshared\u002FisObjectHasValues",{"title":182,"path":183,"stem":184},"isAsyncOrPromise","\u002Fdocs\u002Futils\u002Fshared\u002Fispromise","docs\u002Futils\u002Fshared\u002FisPromise",{"title":186,"path":187,"stem":188},"MiniCache","\u002Fdocs\u002Futils\u002Fshared\u002Fminicache","docs\u002Futils\u002Fshared\u002FminiCache",{"title":190,"path":191,"stem":192},"parseCookies","\u002Fdocs\u002Futils\u002Fshared\u002Fparserawcookies","docs\u002Futils\u002Fshared\u002FparseRawCookies",{"title":194,"path":195,"stem":196},"safeAction","\u002Fdocs\u002Futils\u002Fshared\u002Fpromiselocker","docs\u002Futils\u002Fshared\u002FpromiseLocker",{"title":198,"path":199,"stem":200},"Random","\u002Fdocs\u002Futils\u002Fshared\u002Frandom","docs\u002Futils\u002Fshared\u002Frandom",{"title":202,"path":203,"stem":204},"range","\u002Fdocs\u002Futils\u002Fshared\u002Frange","docs\u002Futils\u002Fshared\u002Frange",{"title":206,"path":207,"stem":208},"rateLimiters","\u002Fdocs\u002Futils\u002Fshared\u002Fratelimiters","docs\u002Futils\u002Fshared\u002FrateLimiters",{"title":210,"path":211,"stem":212},"safeObjectMerge","\u002Fdocs\u002Futils\u002Fshared\u002Fsafemerge","docs\u002Futils\u002Fshared\u002FsafeMerge",{"title":214,"path":215,"stem":216},"textTruncation","\u002Fdocs\u002Futils\u002Fshared\u002Ftexttruncation","docs\u002Futils\u002Fshared\u002FtextTruncation",{"title":218,"path":219,"stem":220},"validateZodSchema","\u002Fdocs\u002Futils\u002Fshared\u002Fvalidatezodschema","docs\u002Futils\u002Fshared\u002FvalidateZodSchema",{"title":222,"path":223,"stem":224,"children":225},"Utility Types","\u002Fdocs\u002Futils\u002Ftypes","docs\u002Futils\u002Ftypes\u002Findex",[226,227,231,235,239,243,247,251,255,259],{"title":222,"path":223,"stem":224},{"title":228,"path":229,"stem":230},"Brand","\u002Fdocs\u002Futils\u002Ftypes\u002Fbrand","docs\u002Futils\u002Ftypes\u002FBrand",{"title":232,"path":233,"stem":234},"DeepPartial","\u002Fdocs\u002Futils\u002Ftypes\u002Fdeeppartial","docs\u002Futils\u002Ftypes\u002FDeepPartial",{"title":236,"path":237,"stem":238},"Merge","\u002Fdocs\u002Futils\u002Ftypes\u002Fmerge","docs\u002Futils\u002Ftypes\u002FMerge",{"title":240,"path":241,"stem":242},"NonNullable","\u002Fdocs\u002Futils\u002Ftypes\u002Fnonnullable","docs\u002Futils\u002Ftypes\u002FNonNullable",{"title":244,"path":245,"stem":246},"Prettify","\u002Fdocs\u002Futils\u002Ftypes\u002Fprettify","docs\u002Futils\u002Ftypes\u002FPrettify",{"title":248,"path":249,"stem":250},"PromiseType","\u002Fdocs\u002Futils\u002Ftypes\u002Fpromisetype","docs\u002Futils\u002Ftypes\u002FPromiseType",{"title":252,"path":253,"stem":254},"RequireKeys","\u002Fdocs\u002Futils\u002Ftypes\u002Frequirekeys","docs\u002Futils\u002Ftypes\u002FRequireKeys",{"title":256,"path":257,"stem":258},"StandardResponse","\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse","docs\u002Futils\u002Ftypes\u002FStandardResponse",{"title":260,"path":261,"stem":262},"ValueOf","\u002Fdocs\u002Futils\u002Ftypes\u002Fvalueof","docs\u002Futils\u002Ftypes\u002FValueOf",[264],{"title":9,"path":66,"stem":67,"children":265,"page":53},[266,413,531,536,714,781],{"title":20,"path":22,"stem":267,"children":268},"docs\u002Fauth-h3client\u002Findex",[269,270,279,316,342,364,367,388,392],{"title":20,"path":22,"stem":267},{"title":14,"path":271,"stem":272,"children":273},"\u002Fdocs\u002Fauth-h3client\u002Fgetting-started","docs\u002Fauth-h3client\u002F00.getting-started\u002Findex",[274,275],{"title":14,"path":271,"stem":272},{"title":276,"path":277,"stem":278},"Nuxt Module","\u002Fdocs\u002Fauth-h3client\u002Fgetting-started\u002Fnuxt","docs\u002Fauth-h3client\u002F00.getting-started\u002F00.nuxt",{"title":280,"path":281,"stem":282,"children":283},"Essentials","\u002Fdocs\u002Fauth-h3client\u002Fessentials","docs\u002Fauth-h3client\u002F01.essentials\u002Findex",[284,285,289,293,297,301,305,308,312],{"title":280,"path":281,"stem":282},{"title":286,"path":287,"stem":288},"Session Management","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fsession","docs\u002Fauth-h3client\u002F01.essentials\u002F00.session",{"title":290,"path":291,"stem":292},"Route Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Froute-protection","docs\u002Fauth-h3client\u002F01.essentials\u002F01.route-protection",{"title":294,"path":295,"stem":296},"CSRF Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcsrf","docs\u002Fauth-h3client\u002F01.essentials\u002F02.csrf",{"title":298,"path":299,"stem":300},"Auth Flows","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fauth-flows","docs\u002Fauth-h3client\u002F01.essentials\u002F03.auth-flows",{"title":302,"path":303,"stem":304},"OAuth and OIDC","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Foauth","docs\u002Fauth-h3client\u002F01.essentials\u002F04.oauth",{"title":33,"path":306,"stem":307},"\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fbot-detection","docs\u002Fauth-h3client\u002F01.essentials\u002F05.bot-detection",{"title":309,"path":310,"stem":311},"Cookies","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcookies","docs\u002Fauth-h3client\u002F01.essentials\u002F06.cookies",{"title":313,"path":314,"stem":315},"Logging","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Flogging","docs\u002Fauth-h3client\u002F01.essentials\u002F07.logging",{"title":317,"path":318,"stem":319,"children":320},"MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa","docs\u002Fauth-h3client\u002F02.mfa\u002Findex",[321,322,326,330,334,338],{"title":317,"path":318,"stem":319},{"title":323,"path":324,"stem":325},"Built-in MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fbuilt-in-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F01.built-in-flow",{"title":327,"path":328,"stem":329},"Password Reset","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fpassword-reset","docs\u002Fauth-h3client\u002F02.mfa\u002F02.password-reset",{"title":331,"path":332,"stem":333},"Email Change","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Femail-change","docs\u002Fauth-h3client\u002F02.mfa\u002F03.email-change",{"title":335,"path":336,"stem":337},"Custom MFA Flow","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fcustom-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F04.custom-flow",{"title":339,"path":340,"stem":341},"Client-Side MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fclient-side","docs\u002Fauth-h3client\u002F02.mfa\u002F05.client-side",{"title":343,"path":344,"stem":345,"children":346},"Client-side","\u002Fdocs\u002Fauth-h3client\u002Fclient","docs\u002Fauth-h3client\u002F03.client\u002Findex",[347,348,352,356,360],{"title":343,"path":344,"stem":345},{"title":349,"path":350,"stem":351},"useAuthData","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-auth-data","docs\u002Fauth-h3client\u002F03.client\u002F00.use-auth-data",{"title":353,"path":354,"stem":355},"useMagicLink","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-magic-link","docs\u002Fauth-h3client\u002F03.client\u002F01.use-magic-link",{"title":357,"path":358,"stem":359},"executeRequest","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fexecute-request","docs\u002Fauth-h3client\u002F03.client\u002F02.execute-request",{"title":361,"path":362,"stem":363},"getCsrfToken","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fget-csrf-token","docs\u002Fauth-h3client\u002F03.client\u002F03.get-csrf-token",{"title":38,"path":365,"stem":366},"\u002Fdocs\u002Fauth-h3client\u002Fsecurity","docs\u002Fauth-h3client\u002F04.security",{"title":368,"path":369,"stem":370,"children":371,"page":53},"Guides","\u002Fdocs\u002Fauth-h3client\u002Fguides","docs\u002Fauth-h3client\u002F05.guides",[372,376,380,384],{"title":373,"path":374,"stem":375},"H3 and Nitro Setup","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fh3-nitro","docs\u002Fauth-h3client\u002F05.guides\u002F00.h3-nitro",{"title":377,"path":378,"stem":379},"HMAC Inter-service Auth","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fhmac","docs\u002Fauth-h3client\u002F05.guides\u002Fhmac",{"title":381,"path":382,"stem":383},"Image Upload","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fimage-upload","docs\u002Fauth-h3client\u002F05.guides\u002Fimage-upload",{"title":385,"path":386,"stem":387},"mTLS Configuration","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fmtls","docs\u002Fauth-h3client\u002F05.guides\u002Fmtls",{"title":389,"path":390,"stem":391},"Configuration","\u002Fdocs\u002Fauth-h3client\u002Fconfiguration","docs\u002Fauth-h3client\u002F06.configuration",{"title":393,"path":394,"stem":395,"children":396},"API Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi","docs\u002Fauth-h3client\u002F07.api\u002Findex",[397,398,402,406,410],{"title":393,"path":394,"stem":395},{"title":399,"path":400,"stem":401},"Routes Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcontrollers","docs\u002Fauth-h3client\u002F07.api\u002F00.controllers",{"title":403,"path":404,"stem":405},"Middleware Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fmiddleware","docs\u002Fauth-h3client\u002F07.api\u002F01.middleware",{"title":407,"path":408,"stem":409},"Client-side Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcomposables","docs\u002Fauth-h3client\u002F07.api\u002F02.composables",{"title":70,"path":411,"stem":412},"\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Futilities","docs\u002Fauth-h3client\u002F07.api\u002F03.utilities",{"title":414,"path":35,"stem":415,"children":416},"Bot Detector","docs\u002Fbot-detection\u002Findex",[417,418,421,425,429,448,522,525,528],{"title":414,"path":35,"stem":415},{"title":14,"path":419,"stem":420},"\u002Fdocs\u002Fbot-detection\u002Fgetting-started","docs\u002Fbot-detection\u002F00.getting-started",{"title":422,"path":423,"stem":424},"CLI","\u002Fdocs\u002Fbot-detection\u002Fcli","docs\u002Fbot-detection\u002F01.cli",{"title":426,"path":427,"stem":428},"Data Sources","\u002Fdocs\u002Fbot-detection\u002Fdata-sources","docs\u002Fbot-detection\u002F02.data-sources",{"title":368,"path":430,"stem":431,"children":432,"page":53},"\u002Fdocs\u002Fbot-detection\u002Fguides","docs\u002Fbot-detection\u002F03.guides",[433,437,441,444],{"title":434,"path":435,"stem":436},"Custom Checkers","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fcustom","docs\u002Fbot-detection\u002F03.guides\u002FCUSTOM",{"title":438,"path":439,"stem":440},"Scheduling Database Generation","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fgenerate","docs\u002Fbot-detection\u002F03.guides\u002FGENERATE",{"title":313,"path":442,"stem":443},"\u002Fdocs\u002Fbot-detection\u002Fguides\u002Flogging","docs\u002Fbot-detection\u002F03.guides\u002FLOGGING",{"title":445,"path":446,"stem":447},"Score Modes and Reputation Healing","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fscore","docs\u002Fbot-detection\u002F03.guides\u002FSCORE",{"title":449,"path":450,"stem":451,"children":452},"Checkers","\u002Fdocs\u002Fbot-detection\u002Fcheckers","docs\u002Fbot-detection\u002F04.checkers\u002Findex",[453,454,458,462,466,470,474,478,482,486,490,494,498,502,506,510,514,518],{"title":449,"path":450,"stem":451},{"title":455,"path":456,"stem":457},"IP Validation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fip-validation","docs\u002Fbot-detection\u002F04.checkers\u002F01.ip-validation",{"title":459,"path":460,"stem":461},"Good \u002F Bad Bot Verification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgood-bots","docs\u002Fbot-detection\u002F04.checkers\u002F02.good-bots",{"title":463,"path":464,"stem":465},"Browser & Device Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbrowser-device","docs\u002Fbot-detection\u002F04.checkers\u002F03.browser-device",{"title":467,"path":468,"stem":469},"Locale Map","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Flocale-map","docs\u002Fbot-detection\u002F04.checkers\u002F04.locale-map",{"title":471,"path":472,"stem":473},"Known Threats","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-threats","docs\u002Fbot-detection\u002F04.checkers\u002F05.known-threats",{"title":475,"path":476,"stem":477},"ASN Classification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fasn-classification","docs\u002Fbot-detection\u002F04.checkers\u002F06.asn-classification",{"title":479,"path":480,"stem":481},"Tor Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftor-analysis","docs\u002Fbot-detection\u002F04.checkers\u002F07.tor-analysis",{"title":483,"path":484,"stem":485},"Timezone Consistency","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftimezone-consistency","docs\u002Fbot-detection\u002F04.checkers\u002F08.timezone-consistency",{"title":487,"path":488,"stem":489},"Honeypot","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fhoneypot","docs\u002Fbot-detection\u002F04.checkers\u002F09.honeypot",{"title":491,"path":492,"stem":493},"Known Bad IPs","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ips","docs\u002Fbot-detection\u002F04.checkers\u002F10.known-bad-ips",{"title":495,"path":496,"stem":497},"Behavior Rate","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbehavior-rate","docs\u002Fbot-detection\u002F04.checkers\u002F11.behavior-rate",{"title":499,"path":500,"stem":501},"Proxy \u002F ISP \u002F Cookie","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fproxy-isp-cookies","docs\u002Fbot-detection\u002F04.checkers\u002F12.proxy-isp-cookies",{"title":503,"path":504,"stem":505},"Session Coherence","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fsession-coherence","docs\u002Fbot-detection\u002F04.checkers\u002F13.session-coherence",{"title":507,"path":508,"stem":509},"Velocity Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fvelocity-fingerprint","docs\u002Fbot-detection\u002F04.checkers\u002F14.velocity-fingerprint",{"title":511,"path":512,"stem":513},"UA & Header Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fua-header","docs\u002Fbot-detection\u002F04.checkers\u002F15.ua-header",{"title":515,"path":516,"stem":517},"Geolocation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgeolocation","docs\u002Fbot-detection\u002F04.checkers\u002F16.geolocation",{"title":519,"path":520,"stem":521},"Known Bad User-Agents","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ua","docs\u002Fbot-detection\u002F04.checkers\u002F17.known-bad-ua",{"title":38,"path":523,"stem":524},"\u002Fdocs\u002Fbot-detection\u002Fsecurity","docs\u002Fbot-detection\u002F04.security",{"title":393,"path":526,"stem":527},"\u002Fdocs\u002Fbot-detection\u002Fapi","docs\u002Fbot-detection\u002F05.api",{"title":389,"path":529,"stem":530},"\u002Fdocs\u002Fbot-detection\u002Fconfiguration","docs\u002Fbot-detection\u002F06.configuration",{"title":532,"path":11,"stem":533,"children":534},"Introduction","docs\u002Fgetting-started\u002Findex",[535],{"title":532,"path":11,"stem":533},{"title":27,"path":29,"stem":537,"children":538},"docs\u002Fiam\u002Findex",[539,540,543,678,681,697,700],{"title":27,"path":29,"stem":537},{"title":14,"path":541,"stem":542},"\u002Fdocs\u002Fiam\u002Fgetting-started","docs\u002Fiam\u002F00.getting-started",{"title":280,"path":544,"stem":545,"children":546},"\u002Fdocs\u002Fiam\u002Fessentials","docs\u002Fiam\u002F01.essentials\u002Findex",[547,548,552,556,560,564,568,572,576,580,584,588,591,595,599,603,607,610,614,618,621,625,628],{"title":280,"path":544,"stem":545},{"title":549,"path":550,"stem":551},"Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Ftokens","docs\u002Fiam\u002F01.essentials\u002F00.tokens",{"title":553,"path":554,"stem":555},"Access Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Faccess-tokens","docs\u002Fiam\u002F01.essentials\u002F01.access-tokens",{"title":557,"path":558,"stem":559},"Refresh Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Frefresh-tokens","docs\u002Fiam\u002F01.essentials\u002F02.refresh-tokens",{"title":561,"path":562,"stem":563},"Anomaly Detection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fanomalies","docs\u002Fiam\u002F01.essentials\u002F03.anomalies",{"title":565,"path":566,"stem":567},"Signup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fsignup","docs\u002Fiam\u002F01.essentials\u002F04.signup",{"title":569,"path":570,"stem":571},"Login","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogin","docs\u002Fiam\u002F01.essentials\u002F05.login",{"title":573,"path":574,"stem":575},"Logout","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogout","docs\u002Fiam\u002F01.essentials\u002F06.logout",{"title":577,"path":578,"stem":579},"OAuth","\u002Fdocs\u002Fiam\u002Fessentials\u002Foauth","docs\u002Fiam\u002F01.essentials\u002F07.oauth",{"title":581,"path":582,"stem":583},"Magic Links","\u002Fdocs\u002Fiam\u002Fessentials\u002Fmagic-links","docs\u002Fiam\u002F01.essentials\u002F08.magic-links",{"title":585,"path":586,"stem":587},"Emails","\u002Fdocs\u002Fiam\u002Fessentials\u002Femails","docs\u002Fiam\u002F01.essentials\u002F09.emails",{"title":317,"path":589,"stem":590},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fmfa","docs\u002Fiam\u002F01.essentials\u002F10.mfa",{"title":592,"path":593,"stem":594},"Fingerprinting","\u002Fdocs\u002Fiam\u002Fessentials\u002Ffingerprinting","docs\u002Fiam\u002F01.essentials\u002F11.fingerprinting",{"title":596,"path":597,"stem":598},"Backend for Frontend","\u002Fdocs\u002Fiam\u002Fessentials\u002Fbff","docs\u002Fiam\u002F01.essentials\u002F12.bff",{"title":600,"path":601,"stem":602},"HMAC Authentication","\u002Fdocs\u002Fiam\u002Fessentials\u002Fhmac","docs\u002Fiam\u002F01.essentials\u002F13.hmac",{"title":604,"path":605,"stem":606},"XSS Protection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fxss","docs\u002Fiam\u002F01.essentials\u002F14.xss",{"title":313,"path":608,"stem":609},"\u002Fdocs\u002Fiam\u002Fessentials\u002Flogging","docs\u002Fiam\u002F01.essentials\u002F15.logging",{"title":611,"path":612,"stem":613},"Rate Limiting","\u002Fdocs\u002Fiam\u002Fessentials\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F16.rate-limiting",{"title":615,"path":616,"stem":617},"Database","\u002Fdocs\u002Fiam\u002Fessentials\u002Fdatabase","docs\u002Fiam\u002F01.essentials\u002F17.database",{"title":309,"path":619,"stem":620},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fcookies","docs\u002Fiam\u002F01.essentials\u002F18.cookies",{"title":622,"path":623,"stem":624},"Service Startup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fservice","docs\u002Fiam\u002F01.essentials\u002F19.service",{"title":327,"path":626,"stem":627},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fpassword-reset","docs\u002Fiam\u002F01.essentials\u002F20.password-reset",{"title":629,"path":630,"stem":631,"children":632},"API Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi","docs\u002Fiam\u002F01.essentials\u002F21.api\u002Findex",[633,634,638,642,672,675],{"title":629,"path":630,"stem":631},{"title":635,"path":636,"stem":637},"Creating Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fcreation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F00.creation",{"title":639,"path":640,"stem":641},"Verifying Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fverification","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F01.verification",{"title":643,"path":644,"stem":645,"children":646},"Manage Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002Findex",[647,648,652,656,660,664,668],{"title":643,"path":644,"stem":645},{"title":649,"path":650,"stem":651},"Privileges","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fprivilege","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F00.privilege",{"title":653,"path":654,"stem":655},"Revocation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frevocation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F01.revocation",{"title":657,"path":658,"stem":659},"Rotation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frotation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F02.rotation",{"title":661,"path":662,"stem":663},"IP Restriction","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fip-updates","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F03.ip-updates",{"title":665,"path":666,"stem":667},"Metadata","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fmetadata","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F04.metadata",{"title":669,"path":670,"stem":671},"Token Listing","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Flist","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F05.list",{"title":611,"path":673,"stem":674},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F03.rate-limiting",{"title":38,"path":676,"stem":677},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fsecurity","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F04.security",{"title":38,"path":679,"stem":680},"\u002Fdocs\u002Fiam\u002Fsecurity","docs\u002Fiam\u002F02.security",{"title":368,"path":682,"stem":683,"children":684,"page":53},"\u002Fdocs\u002Fiam\u002Fguides","docs\u002Fiam\u002F03.guides",[685,689,693],{"title":686,"path":687,"stem":688},"Deployment","\u002Fdocs\u002Fiam\u002Fguides\u002Fdeployment","docs\u002Fiam\u002F03.guides\u002Fdeployment",{"title":690,"path":691,"stem":692},"Operation Scripts","\u002Fdocs\u002Fiam\u002Fguides\u002Foperation-scripts","docs\u002Fiam\u002F03.guides\u002Foperation-scripts",{"title":694,"path":695,"stem":696},"Role-Based Access Control","\u002Fdocs\u002Fiam\u002Fguides\u002Frbac","docs\u002Fiam\u002F03.guides\u002Frbac",{"title":389,"path":698,"stem":699},"\u002Fdocs\u002Fiam\u002Fconfiguration","docs\u002Fiam\u002F04.configuration",{"title":701,"path":702,"stem":703,"children":704,"page":53},"Api","\u002Fdocs\u002Fiam\u002Fapi","docs\u002Fiam\u002F05.API",[705,708,711],{"title":393,"path":706,"stem":707},"\u002Fdocs\u002Fiam\u002Fapi\u002Fapi","docs\u002Fiam\u002F05.API\u002F00.api",{"title":403,"path":709,"stem":710},"\u002Fdocs\u002Fiam\u002Fapi\u002Fmiddlewares","docs\u002Fiam\u002F05.API\u002F02.middlewares",{"title":399,"path":712,"stem":713},"\u002Fdocs\u002Fiam\u002Fapi\u002Froutes","docs\u002Fiam\u002F05.API\u002F03.routes",{"title":40,"path":42,"stem":715,"children":716},"docs\u002Fshield-base\u002Findex",[717,718,721,725,766,770,774,778],{"title":40,"path":42,"stem":715},{"title":14,"path":719,"stem":720},"\u002Fdocs\u002Fshield-base\u002Fgetting-started","docs\u002Fshield-base\u002F00.getting-started",{"title":722,"path":723,"stem":724},"CLI Reference","\u002Fdocs\u002Fshield-base\u002Fcli","docs\u002Fshield-base\u002F01.cli",{"title":426,"path":726,"stem":727,"children":728},"\u002Fdocs\u002Fshield-base\u002Fdata-sources","docs\u002Fshield-base\u002F02.data-sources\u002Findex",[729,730,734,738,742,746,750,754,758,762],{"title":426,"path":726,"stem":727},{"title":731,"path":732,"stem":733},"BGP \u002F ASN","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fbgp","docs\u002Fshield-base\u002F02.data-sources\u002Fbgp",{"title":735,"path":736,"stem":737},"City Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcity","docs\u002Fshield-base\u002F02.data-sources\u002Fcity",{"title":739,"path":740,"stem":741},"Country Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry","docs\u002Fshield-base\u002F02.data-sources\u002Fcountry",{"title":743,"path":744,"stem":745},"Verified Crawlers","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcrawlers","docs\u002Fshield-base\u002F02.data-sources\u002Fcrawlers",{"title":747,"path":748,"stem":749},"Disposable Emails","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Femail","docs\u002Fshield-base\u002F02.data-sources\u002Femail",{"title":751,"path":752,"stem":753},"FireHOL Threat Intelligence","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ffirehol","docs\u002Fshield-base\u002F02.data-sources\u002Ffirehol",{"title":755,"path":756,"stem":757},"Proxy Detection","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fproxy","docs\u002Fshield-base\u002F02.data-sources\u002Fproxy",{"title":759,"path":760,"stem":761},"Tor Nodes","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ftor","docs\u002Fshield-base\u002F02.data-sources\u002Ftor",{"title":763,"path":764,"stem":765},"Suspicious User-Agents","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fuseragent","docs\u002Fshield-base\u002F02.data-sources\u002Fuseragent",{"title":767,"path":768,"stem":769},"Programmatic Usage","\u002Fdocs\u002Fshield-base\u002Fusage","docs\u002Fshield-base\u002F03.usage",{"title":771,"path":772,"stem":773},"Custom Data Sources","\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources","docs\u002Fshield-base\u002F04.custom-data-sources",{"title":775,"path":776,"stem":777},"TypeScript Types","\u002Fdocs\u002Fshield-base\u002Ftypes","docs\u002Fshield-base\u002F05.types",{"title":393,"path":779,"stem":780},"\u002Fdocs\u002Fshield-base\u002Fapi","docs\u002Fshield-base\u002F06.api",{"title":70,"path":48,"stem":71,"children":782},[783,784,789,798,823],{"title":70,"path":48,"stem":71},{"title":75,"path":76,"stem":77,"children":785,"page":53},[786,787,788],{"title":80,"path":81,"stem":82},{"title":84,"path":85,"stem":86},{"title":88,"path":89,"stem":90},{"title":92,"path":93,"stem":94,"children":790,"page":53},[791,792,793,794,795,796,797],{"title":97,"path":98,"stem":99},{"title":101,"path":102,"stem":103},{"title":105,"path":106,"stem":107},{"title":109,"path":110,"stem":111},{"title":113,"path":114,"stem":115},{"title":117,"path":118,"stem":119},{"title":121,"path":122,"stem":123},{"title":125,"path":126,"stem":127,"children":799,"page":53},[800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822],{"title":130,"path":131,"stem":132},{"title":134,"path":135,"stem":136},{"title":138,"path":139,"stem":140},{"title":142,"path":143,"stem":144},{"title":146,"path":147,"stem":148},{"title":150,"path":151,"stem":152},{"title":154,"path":155,"stem":156},{"title":158,"path":159,"stem":160},{"title":162,"path":163,"stem":164},{"title":166,"path":167,"stem":168},{"title":170,"path":171,"stem":172},{"title":174,"path":175,"stem":176},{"title":178,"path":179,"stem":180},{"title":182,"path":183,"stem":184},{"title":186,"path":187,"stem":188},{"title":190,"path":191,"stem":192},{"title":194,"path":195,"stem":196},{"title":198,"path":199,"stem":200},{"title":202,"path":203,"stem":204},{"title":206,"path":207,"stem":208},{"title":210,"path":211,"stem":212},{"title":214,"path":215,"stem":216},{"title":218,"path":219,"stem":220},{"title":222,"path":223,"stem":224,"children":824},[825,826,827,828,829,830,831,832,833,834],{"title":222,"path":223,"stem":224},{"title":228,"path":229,"stem":230},{"title":232,"path":233,"stem":234},{"title":236,"path":237,"stem":238},{"title":240,"path":241,"stem":242},{"title":244,"path":245,"stem":246},{"title":248,"path":249,"stem":250},{"title":252,"path":253,"stem":254},{"title":256,"path":257,"stem":258},{"title":260,"path":261,"stem":262},{"id":4,"extension":5,"links":836,"meta":847,"stem":62,"__hash__":63},[837,845,846],{"nested":8,"label":9,"icon":10,"to":11,"children":838},[839,840,841,842,843,844],{"label":14,"icon":15,"to":11,"description":16,"github":17,"badge":18},{"label":20,"icon":21,"to":22,"description":23,"github":24,"badge":25},{"label":27,"icon":28,"to":29,"description":30,"github":31,"badge":25},{"label":33,"icon":34,"to":35,"description":36,"github":37,"badge":38},{"label":40,"icon":41,"to":42,"description":43,"github":44,"badge":38},{"label":46,"icon":47,"to":48,"description":49,"github":50,"badge":51},{"nested":53,"label":54,"icon":55,"to":56},{"nested":53,"label":58,"icon":59,"to":60},{},{"id":849,"title":88,"body":850,"description":1533,"extension":1534,"icon":1535,"meta":1536,"module":1537,"navigation":8,"path":89,"rawbody":1538,"seo":1539,"stem":90,"__hash__":1540},"docs\u002Fdocs\u002Futils\u002Feslint\u002Fvue.md",{"type":851,"value":852,"toc":1527},"minimark",[853,862,867,1080,1084,1194,1198,1269,1273,1515,1523],[854,855,856,857,861],"p",{},"The ",[858,859,860],"code",{},"defineStrictVueConfig"," helper provides a strict ESLint configuration tailored for Vue 3 and Nuxt applications. It seamlessly integrates strict TypeScript type-checking with Vue SFC linting rules.",[863,864,866],"h2",{"id":865},"definition","Definition",[868,869,875],"pre",{"className":870,"code":871,"filename":872,"language":873,"meta":874,"style":874},"language-ts shiki shiki-themes light-plus light-plus dracula","\u002F**\n * Creates a reusable, strict ESLint configuration for Vue 3 and TypeScript.\n *\n * @param options - Configuration options.\n * @param options.rootDir - The root directory of the project (required for type-checked rules).\n * @param options.ignores - Optional override for the default ignore list.\n * @param options.extraIgnores - Optional additional paths to ignore.\n * @param options.overrides - Optional array of additional ESLint configuration objects.\n * @returns A consolidated ESLint configuration array.\n *\u002F\nexport function defineStrictVueConfig(options: {\n  rootDir: string;\n  ignores?: string[];\n  extraIgnores?: string[];\n  overrides?: any[];\n}): any[]\n","strict.vue.config.ts","ts","",[858,876,877,886,892,898,915,928,941,954,967,978,984,1012,1028,1042,1054,1067],{"__ignoreMap":874},[878,879,882],"span",{"class":880,"line":881},"line",1,[878,883,885],{"class":884},"sghk6","\u002F**\n",[878,887,889],{"class":880,"line":888},2,[878,890,891],{"class":884}," * Creates a reusable, strict ESLint configuration for Vue 3 and TypeScript.\n",[878,893,895],{"class":880,"line":894},3,[878,896,897],{"class":884}," *\n",[878,899,901,904,908,912],{"class":880,"line":900},4,[878,902,903],{"class":884}," * ",[878,905,907],{"class":906},"sl46w","@param",[878,909,911],{"class":910},"sygFZ"," options",[878,913,914],{"class":884}," - Configuration options.\n",[878,916,918,920,922,925],{"class":880,"line":917},5,[878,919,903],{"class":884},[878,921,907],{"class":906},[878,923,924],{"class":910}," options.rootDir",[878,926,927],{"class":884}," - The root directory of the project (required for type-checked rules).\n",[878,929,931,933,935,938],{"class":880,"line":930},6,[878,932,903],{"class":884},[878,934,907],{"class":906},[878,936,937],{"class":910}," options.ignores",[878,939,940],{"class":884}," - Optional override for the default ignore list.\n",[878,942,944,946,948,951],{"class":880,"line":943},7,[878,945,903],{"class":884},[878,947,907],{"class":906},[878,949,950],{"class":910}," options.extraIgnores",[878,952,953],{"class":884}," - Optional additional paths to ignore.\n",[878,955,957,959,961,964],{"class":880,"line":956},8,[878,958,903],{"class":884},[878,960,907],{"class":906},[878,962,963],{"class":910}," options.overrides",[878,965,966],{"class":884}," - Optional array of additional ESLint configuration objects.\n",[878,968,970,972,975],{"class":880,"line":969},9,[878,971,903],{"class":884},[878,973,974],{"class":906},"@returns",[878,976,977],{"class":884}," A consolidated ESLint configuration array.\n",[878,979,981],{"class":880,"line":980},10,[878,982,983],{"class":884}," *\u002F\n",[878,985,987,991,994,998,1002,1005,1009],{"class":880,"line":986},11,[878,988,990],{"class":989},"sZ328","export",[878,992,993],{"class":906}," function",[878,995,997],{"class":996},"sHOzp"," defineStrictVueConfig",[878,999,1001],{"class":1000},"sDd4n","(",[878,1003,1004],{"class":910},"options",[878,1006,1008],{"class":1007},"saOXh",":",[878,1010,1011],{"class":1000}," {\n",[878,1013,1015,1019,1021,1025],{"class":880,"line":1014},12,[878,1016,1018],{"class":1017},"sjsA6","  rootDir",[878,1020,1008],{"class":1007},[878,1022,1024],{"class":1023},"sFs1U"," string",[878,1026,1027],{"class":1000},";\n",[878,1029,1031,1034,1037,1039],{"class":880,"line":1030},13,[878,1032,1033],{"class":1017},"  ignores",[878,1035,1036],{"class":1007},"?:",[878,1038,1024],{"class":1023},[878,1040,1041],{"class":1000},"[];\n",[878,1043,1045,1048,1050,1052],{"class":880,"line":1044},14,[878,1046,1047],{"class":1017},"  extraIgnores",[878,1049,1036],{"class":1007},[878,1051,1024],{"class":1023},[878,1053,1041],{"class":1000},[878,1055,1057,1060,1062,1065],{"class":880,"line":1056},15,[878,1058,1059],{"class":1017},"  overrides",[878,1061,1036],{"class":1007},[878,1063,1064],{"class":1023}," any",[878,1066,1041],{"class":1000},[878,1068,1070,1073,1075,1077],{"class":880,"line":1069},16,[878,1071,1072],{"class":1000},"})",[878,1074,1008],{"class":1007},[878,1076,1064],{"class":1023},[878,1078,1079],{"class":1000},"[]\n",[863,1081,1083],{"id":1082},"parameters","Parameters",[1085,1086,1087,1106],"table",{},[1088,1089,1090],"thead",{},[1091,1092,1093,1097,1100,1103],"tr",{},[1094,1095,1096],"th",{},"Parameter",[1094,1098,1099],{},"Type",[1094,1101,1102],{},"Required",[1094,1104,1105],{},"Description",[1107,1108,1109,1135,1161,1177],"tbody",{},[1091,1110,1111,1117,1122,1128],{},[1112,1113,1114],"td",{},[858,1115,1116],{},"rootDir",[1112,1118,1119],{},[858,1120,1121],{},"string",[1112,1123,1124],{},[1125,1126,1127],"strong",{},"Yes",[1112,1129,1130,1131,1134],{},"The root directory of the project, used to resolve ",[858,1132,1133],{},"tsconfig.json"," for type-checked rules.",[1091,1136,1137,1142,1147,1150],{},[1112,1138,1139],{},[858,1140,1141],{},"ignores",[1112,1143,1144],{},[858,1145,1146],{},"string[]",[1112,1148,1149],{},"No",[1112,1151,1152,1153,1156,1157,1160],{},"Overrides the default ignore list (which includes ",[858,1154,1155],{},".nuxt",", ",[858,1158,1159],{},"node_modules",", etc).",[1091,1162,1163,1168,1172,1174],{},[1112,1164,1165],{},[858,1166,1167],{},"extraIgnores",[1112,1169,1170],{},[858,1171,1146],{},[1112,1173,1149],{},[1112,1175,1176],{},"Additional paths to ignore alongside the defaults.",[1091,1178,1179,1184,1189,1191],{},[1112,1180,1181],{},[858,1182,1183],{},"overrides",[1112,1185,1186],{},[858,1187,1188],{},"any[]",[1112,1190,1149],{},[1112,1192,1193],{},"An array of custom ESLint configuration objects to merge at the end.",[863,1195,1197],{"id":1196},"features-presets","Features & Presets",[1199,1200,1201,1216,1226,1232,1251],"ul",{},[1202,1203,1204,1207,1208,1211,1212,1215],"li",{},[1125,1205,1206],{},"Strict Type-Checking",": Includes ",[858,1209,1210],{},"@typescript-eslint\u002Fstrict-type-checked"," and ",[858,1213,1214],{},"stylistic-type-checked",".",[1202,1217,1218,1221,1222,1225],{},[1125,1219,1220],{},"Vue 3 Optimized",": Uses ",[858,1223,1224],{},"eslint-plugin-vue\u002Fflat\u002Frecommended"," and configures the Vue parser for TypeScript.",[1202,1227,1228,1231],{},[1125,1229,1230],{},"Project Service",": Automatically enables TypeScript's project service for better performance and accuracy.",[1202,1233,1234,1237,1238,1241,1242,1156,1244,1156,1247,1250],{},[1125,1235,1236],{},"Smart Defaults",": Includes a robust ",[858,1239,1240],{},"DEFAULT_IGNORES"," list covering ",[858,1243,1155],{},[858,1245,1246],{},"coverage",[858,1248,1249],{},"tests",", and various config files.",[1202,1252,1253,1256,1257,1260,1261,1264,1265,1268],{},[1125,1254,1255],{},"Balanced Rules",": Disables ",[858,1258,1259],{},"no-undef"," for ",[858,1262,1263],{},".vue\u002F.ts"," files (relying on TS) while enforcing it for plain ",[858,1266,1267],{},".js"," files.\n::",[863,1270,1272],{"id":1271},"usage","Usage",[868,1274,1279],{"className":1275,"code":1276,"filename":1277,"language":1278,"meta":874,"style":874},"language-javascript shiki shiki-themes light-plus light-plus dracula","import { defineStrictVueConfig } from '@riavzon\u002Futils\u002Feslint'\nimport { dirname } from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst rootDir = dirname(fileURLToPath(import.meta.url))\n\nexport default defineStrictVueConfig({\n  rootDir,\n  extraIgnores: ['temp\u002F**'],\n  overrides: [\n    {\n      files: ['pages\u002F**\u002F*.vue'],\n      rules: {\n        'vue\u002Fmulti-word-component-names': 'off'\n      }\n    }\n  ]\n})\n","eslint.config.ts","javascript",[858,1280,1281,1308,1328,1348,1353,1389,1393,1405,1412,1433,1442,1447,1465,1474,1493,1498,1503,1509],{"__ignoreMap":874},[878,1282,1283,1286,1289,1291,1294,1297,1301,1305],{"class":880,"line":881},[878,1284,1285],{"class":989},"import",[878,1287,1288],{"class":1000}," { ",[878,1290,860],{"class":1017},[878,1292,1293],{"class":1000}," } ",[878,1295,1296],{"class":989},"from",[878,1298,1300],{"class":1299},"sFkSl"," '",[878,1302,1304],{"class":1303},"sFB1V","@riavzon\u002Futils\u002Feslint",[878,1306,1307],{"class":1299},"'\n",[878,1309,1310,1312,1314,1317,1319,1321,1323,1326],{"class":880,"line":888},[878,1311,1285],{"class":989},[878,1313,1288],{"class":1000},[878,1315,1316],{"class":1017},"dirname",[878,1318,1293],{"class":1000},[878,1320,1296],{"class":989},[878,1322,1300],{"class":1299},[878,1324,1325],{"class":1303},"node:path",[878,1327,1307],{"class":1299},[878,1329,1330,1332,1334,1337,1339,1341,1343,1346],{"class":880,"line":894},[878,1331,1285],{"class":989},[878,1333,1288],{"class":1000},[878,1335,1336],{"class":1017},"fileURLToPath",[878,1338,1293],{"class":1000},[878,1340,1296],{"class":989},[878,1342,1300],{"class":1299},[878,1344,1345],{"class":1303},"node:url",[878,1347,1307],{"class":1299},[878,1349,1350],{"class":880,"line":900},[878,1351,1352],{"emptyLinePlaceholder":8},"\n",[878,1354,1355,1358,1362,1365,1368,1370,1372,1374,1376,1378,1381,1383,1386],{"class":880,"line":917},[878,1356,1357],{"class":906},"const",[878,1359,1361],{"class":1360},"s3JHE"," rootDir",[878,1363,1364],{"class":1007}," =",[878,1366,1367],{"class":996}," dirname",[878,1369,1001],{"class":1000},[878,1371,1336],{"class":996},[878,1373,1001],{"class":1000},[878,1375,1285],{"class":989},[878,1377,1215],{"class":1000},[878,1379,1380],{"class":1017},"meta",[878,1382,1215],{"class":1000},[878,1384,1385],{"class":1017},"url",[878,1387,1388],{"class":1000},"))\n",[878,1390,1391],{"class":880,"line":930},[878,1392,1352],{"emptyLinePlaceholder":8},[878,1394,1395,1397,1400,1402],{"class":880,"line":943},[878,1396,990],{"class":989},[878,1398,1399],{"class":989}," default",[878,1401,997],{"class":996},[878,1403,1404],{"class":1000},"({\n",[878,1406,1407,1409],{"class":880,"line":956},[878,1408,1018],{"class":1017},[878,1410,1411],{"class":1000},",\n",[878,1413,1414,1416,1419,1422,1425,1428,1430],{"class":880,"line":969},[878,1415,1047],{"class":1017},[878,1417,1008],{"class":1418},"s34zl",[878,1420,1421],{"class":1000}," [",[878,1423,1424],{"class":1299},"'",[878,1426,1427],{"class":1303},"temp\u002F**",[878,1429,1424],{"class":1299},[878,1431,1432],{"class":1000},"],\n",[878,1434,1435,1437,1439],{"class":880,"line":980},[878,1436,1059],{"class":1017},[878,1438,1008],{"class":1418},[878,1440,1441],{"class":1000}," [\n",[878,1443,1444],{"class":880,"line":986},[878,1445,1446],{"class":1000},"    {\n",[878,1448,1449,1452,1454,1456,1458,1461,1463],{"class":880,"line":1014},[878,1450,1451],{"class":1017},"      files",[878,1453,1008],{"class":1418},[878,1455,1421],{"class":1000},[878,1457,1424],{"class":1299},[878,1459,1460],{"class":1303},"pages\u002F**\u002F*.vue",[878,1462,1424],{"class":1299},[878,1464,1432],{"class":1000},[878,1466,1467,1470,1472],{"class":880,"line":1030},[878,1468,1469],{"class":1017},"      rules",[878,1471,1008],{"class":1418},[878,1473,1011],{"class":1000},[878,1475,1476,1479,1482,1484,1486,1488,1491],{"class":880,"line":1044},[878,1477,1478],{"class":1299},"        '",[878,1480,1481],{"class":1303},"vue\u002Fmulti-word-component-names",[878,1483,1424],{"class":1299},[878,1485,1008],{"class":1418},[878,1487,1300],{"class":1299},[878,1489,1490],{"class":1303},"off",[878,1492,1307],{"class":1299},[878,1494,1495],{"class":880,"line":1056},[878,1496,1497],{"class":1000},"      }\n",[878,1499,1500],{"class":880,"line":1069},[878,1501,1502],{"class":1000},"    }\n",[878,1504,1506],{"class":880,"line":1505},17,[878,1507,1508],{"class":1000},"  ]\n",[878,1510,1512],{"class":880,"line":1511},18,[878,1513,1514],{"class":1000},"})\n",[1516,1517,1520],"callout",{"color":1518,"icon":1519},"info","i-lucide-info",[854,1521,1522],{},"This configuration is fully compatible with ESLint's modern \"Flat Config\" system.",[1524,1525,1526],"style",{},"html pre.shiki code .sghk6, html code.shiki .sghk6{--shiki-light:#008000;--shiki-default:#008000;--shiki-dark:#6272A4}html pre.shiki code .sl46w, html code.shiki .sl46w{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#FF79C6}html pre.shiki code .sygFZ, html code.shiki .sygFZ{--shiki-light:#001080;--shiki-light-font-style:inherit;--shiki-default:#001080;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic}html pre.shiki code .sZ328, html code.shiki .sZ328{--shiki-light:#AF00DB;--shiki-default:#AF00DB;--shiki-dark:#FF79C6}html pre.shiki code .sHOzp, html code.shiki .sHOzp{--shiki-light:#795E26;--shiki-default:#795E26;--shiki-dark:#50FA7B}html pre.shiki code .sDd4n, html code.shiki .sDd4n{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#F8F8F2}html pre.shiki code .saOXh, html code.shiki .saOXh{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#FF79C6}html pre.shiki code .sjsA6, html code.shiki .sjsA6{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#F8F8F2}html pre.shiki code .sFs1U, html code.shiki .sFs1U{--shiki-light:#267F99;--shiki-light-font-style:inherit;--shiki-default:#267F99;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sFkSl, html code.shiki .sFkSl{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#E9F284}html pre.shiki code .sFB1V, html code.shiki .sFB1V{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#F1FA8C}html pre.shiki code .s3JHE, html code.shiki .s3JHE{--shiki-light:#0070C1;--shiki-default:#0070C1;--shiki-dark:#F8F8F2}html pre.shiki code .s34zl, html code.shiki .s34zl{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#FF79C6}",{"title":874,"searchDepth":888,"depth":888,"links":1528},[1529,1530,1531,1532],{"id":865,"depth":888,"text":866},{"id":1082,"depth":888,"text":1083},{"id":1196,"depth":888,"text":1197},{"id":1271,"depth":888,"text":1272},"Strict ESLint configuration for Vue 3 and Nuxt applications.","md","i-simple-icons-vuedotjs",{},null,"---\ntitle: Vue Config\ndescription: Strict ESLint configuration for Vue 3 and Nuxt applications.\nicon: i-simple-icons-vuedotjs\n---\n\nThe `defineStrictVueConfig` helper provides a strict ESLint configuration tailored for Vue 3 and Nuxt applications. It seamlessly integrates strict TypeScript type-checking with Vue SFC linting rules.\n\n## Definition\n\n```ts [strict.vue.config.ts]\n\u002F**\n * Creates a reusable, strict ESLint configuration for Vue 3 and TypeScript.\n *\n * @param options - Configuration options.\n * @param options.rootDir - The root directory of the project (required for type-checked rules).\n * @param options.ignores - Optional override for the default ignore list.\n * @param options.extraIgnores - Optional additional paths to ignore.\n * @param options.overrides - Optional array of additional ESLint configuration objects.\n * @returns A consolidated ESLint configuration array.\n *\u002F\nexport function defineStrictVueConfig(options: {\n  rootDir: string;\n  ignores?: string[];\n  extraIgnores?: string[];\n  overrides?: any[];\n}): any[]\n```\n\n## Parameters\n\n| Parameter | Type | Required | Description |\n| --- | --- | --- | --- |\n| `rootDir` | `string` | **Yes** | The root directory of the project, used to resolve `tsconfig.json` for type-checked rules. |\n| `ignores` | `string[]` | No | Overrides the default ignore list (which includes `.nuxt`, `node_modules`, etc). |\n| `extraIgnores` | `string[]` | No | Additional paths to ignore alongside the defaults. |\n| `overrides` | `any[]` | No | An array of custom ESLint configuration objects to merge at the end. |\n\n## Features & Presets\n- **Strict Type-Checking**: Includes `@typescript-eslint\u002Fstrict-type-checked` and `stylistic-type-checked`.\n- **Vue 3 Optimized**: Uses `eslint-plugin-vue\u002Fflat\u002Frecommended` and configures the Vue parser for TypeScript.\n- **Project Service**: Automatically enables TypeScript's project service for better performance and accuracy.\n- **Smart Defaults**: Includes a robust `DEFAULT_IGNORES` list covering `.nuxt`, `coverage`, `tests`, and various config files.\n- **Balanced Rules**: Disables `no-undef` for `.vue\u002F.ts` files (relying on TS) while enforcing it for plain `.js` files.\n::\n\n## Usage\n\n```javascript [eslint.config.ts]\nimport { defineStrictVueConfig } from '@riavzon\u002Futils\u002Feslint'\nimport { dirname } from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst rootDir = dirname(fileURLToPath(import.meta.url))\n\nexport default defineStrictVueConfig({\n  rootDir,\n  extraIgnores: ['temp\u002F**'],\n  overrides: [\n    {\n      files: ['pages\u002F**\u002F*.vue'],\n      rules: {\n        'vue\u002Fmulti-word-component-names': 'off'\n      }\n    }\n  ]\n})\n```\n\n::callout{icon=\"i-lucide-info\" color=\"info\"}\nThis configuration is fully compatible with ESLint's modern \"Flat Config\" system.\n::\n",{"title":88,"description":1533},"Ik1hSX9dXS_4GcWq_UYFVLcQWdVxHSj9xe9MnGF10X8",[1542,1543],{"title":84,"path":85,"stem":86,"children":-1},{"title":97,"path":98,"stem":99,"children":-1},{"id":849,"title":88,"body":1545,"description":1533,"extension":1534,"icon":1535,"meta":2031,"module":1537,"navigation":8,"path":89,"rawbody":1538,"seo":2032,"stem":90,"__hash__":1540},{"type":851,"value":1546,"toc":2025},[1547,1551,1553,1697,1699,1779,1781,1823,1825,2019,2023],[854,1548,856,1549,861],{},[858,1550,860],{},[863,1552,866],{"id":865},[868,1554,1555],{"className":870,"code":871,"filename":872,"language":873,"meta":874,"style":874},[858,1556,1557,1561,1565,1569,1579,1589,1599,1609,1619,1627,1631,1647,1657,1667,1677,1687],{"__ignoreMap":874},[878,1558,1559],{"class":880,"line":881},[878,1560,885],{"class":884},[878,1562,1563],{"class":880,"line":888},[878,1564,891],{"class":884},[878,1566,1567],{"class":880,"line":894},[878,1568,897],{"class":884},[878,1570,1571,1573,1575,1577],{"class":880,"line":900},[878,1572,903],{"class":884},[878,1574,907],{"class":906},[878,1576,911],{"class":910},[878,1578,914],{"class":884},[878,1580,1581,1583,1585,1587],{"class":880,"line":917},[878,1582,903],{"class":884},[878,1584,907],{"class":906},[878,1586,924],{"class":910},[878,1588,927],{"class":884},[878,1590,1591,1593,1595,1597],{"class":880,"line":930},[878,1592,903],{"class":884},[878,1594,907],{"class":906},[878,1596,937],{"class":910},[878,1598,940],{"class":884},[878,1600,1601,1603,1605,1607],{"class":880,"line":943},[878,1602,903],{"class":884},[878,1604,907],{"class":906},[878,1606,950],{"class":910},[878,1608,953],{"class":884},[878,1610,1611,1613,1615,1617],{"class":880,"line":956},[878,1612,903],{"class":884},[878,1614,907],{"class":906},[878,1616,963],{"class":910},[878,1618,966],{"class":884},[878,1620,1621,1623,1625],{"class":880,"line":969},[878,1622,903],{"class":884},[878,1624,974],{"class":906},[878,1626,977],{"class":884},[878,1628,1629],{"class":880,"line":980},[878,1630,983],{"class":884},[878,1632,1633,1635,1637,1639,1641,1643,1645],{"class":880,"line":986},[878,1634,990],{"class":989},[878,1636,993],{"class":906},[878,1638,997],{"class":996},[878,1640,1001],{"class":1000},[878,1642,1004],{"class":910},[878,1644,1008],{"class":1007},[878,1646,1011],{"class":1000},[878,1648,1649,1651,1653,1655],{"class":880,"line":1014},[878,1650,1018],{"class":1017},[878,1652,1008],{"class":1007},[878,1654,1024],{"class":1023},[878,1656,1027],{"class":1000},[878,1658,1659,1661,1663,1665],{"class":880,"line":1030},[878,1660,1033],{"class":1017},[878,1662,1036],{"class":1007},[878,1664,1024],{"class":1023},[878,1666,1041],{"class":1000},[878,1668,1669,1671,1673,1675],{"class":880,"line":1044},[878,1670,1047],{"class":1017},[878,1672,1036],{"class":1007},[878,1674,1024],{"class":1023},[878,1676,1041],{"class":1000},[878,1678,1679,1681,1683,1685],{"class":880,"line":1056},[878,1680,1059],{"class":1017},[878,1682,1036],{"class":1007},[878,1684,1064],{"class":1023},[878,1686,1041],{"class":1000},[878,1688,1689,1691,1693,1695],{"class":880,"line":1069},[878,1690,1072],{"class":1000},[878,1692,1008],{"class":1007},[878,1694,1064],{"class":1023},[878,1696,1079],{"class":1000},[863,1698,1083],{"id":1082},[1085,1700,1701,1713],{},[1088,1702,1703],{},[1091,1704,1705,1707,1709,1711],{},[1094,1706,1096],{},[1094,1708,1099],{},[1094,1710,1102],{},[1094,1712,1105],{},[1107,1714,1715,1733,1751,1765],{},[1091,1716,1717,1721,1725,1729],{},[1112,1718,1719],{},[858,1720,1116],{},[1112,1722,1723],{},[858,1724,1121],{},[1112,1726,1727],{},[1125,1728,1127],{},[1112,1730,1130,1731,1134],{},[858,1732,1133],{},[1091,1734,1735,1739,1743,1745],{},[1112,1736,1737],{},[858,1738,1141],{},[1112,1740,1741],{},[858,1742,1146],{},[1112,1744,1149],{},[1112,1746,1152,1747,1156,1749,1160],{},[858,1748,1155],{},[858,1750,1159],{},[1091,1752,1753,1757,1761,1763],{},[1112,1754,1755],{},[858,1756,1167],{},[1112,1758,1759],{},[858,1760,1146],{},[1112,1762,1149],{},[1112,1764,1176],{},[1091,1766,1767,1771,1775,1777],{},[1112,1768,1769],{},[858,1770,1183],{},[1112,1772,1773],{},[858,1774,1188],{},[1112,1776,1149],{},[1112,1778,1193],{},[863,1780,1197],{"id":1196},[1199,1782,1783,1791,1797,1801,1813],{},[1202,1784,1785,1207,1787,1211,1789,1215],{},[1125,1786,1206],{},[858,1788,1210],{},[858,1790,1214],{},[1202,1792,1793,1221,1795,1225],{},[1125,1794,1220],{},[858,1796,1224],{},[1202,1798,1799,1231],{},[1125,1800,1230],{},[1202,1802,1803,1237,1805,1241,1807,1156,1809,1156,1811,1250],{},[1125,1804,1236],{},[858,1806,1240],{},[858,1808,1155],{},[858,1810,1246],{},[858,1812,1249],{},[1202,1814,1815,1256,1817,1260,1819,1264,1821,1268],{},[1125,1816,1255],{},[858,1818,1259],{},[858,1820,1263],{},[858,1822,1267],{},[863,1824,1272],{"id":1271},[868,1826,1827],{"className":1275,"code":1276,"filename":1277,"language":1278,"meta":874,"style":874},[858,1828,1829,1847,1865,1883,1887,1915,1919,1929,1935,1951,1959,1963,1979,1987,2003,2007,2011,2015],{"__ignoreMap":874},[878,1830,1831,1833,1835,1837,1839,1841,1843,1845],{"class":880,"line":881},[878,1832,1285],{"class":989},[878,1834,1288],{"class":1000},[878,1836,860],{"class":1017},[878,1838,1293],{"class":1000},[878,1840,1296],{"class":989},[878,1842,1300],{"class":1299},[878,1844,1304],{"class":1303},[878,1846,1307],{"class":1299},[878,1848,1849,1851,1853,1855,1857,1859,1861,1863],{"class":880,"line":888},[878,1850,1285],{"class":989},[878,1852,1288],{"class":1000},[878,1854,1316],{"class":1017},[878,1856,1293],{"class":1000},[878,1858,1296],{"class":989},[878,1860,1300],{"class":1299},[878,1862,1325],{"class":1303},[878,1864,1307],{"class":1299},[878,1866,1867,1869,1871,1873,1875,1877,1879,1881],{"class":880,"line":894},[878,1868,1285],{"class":989},[878,1870,1288],{"class":1000},[878,1872,1336],{"class":1017},[878,1874,1293],{"class":1000},[878,1876,1296],{"class":989},[878,1878,1300],{"class":1299},[878,1880,1345],{"class":1303},[878,1882,1307],{"class":1299},[878,1884,1885],{"class":880,"line":900},[878,1886,1352],{"emptyLinePlaceholder":8},[878,1888,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1911,1913],{"class":880,"line":917},[878,1890,1357],{"class":906},[878,1892,1361],{"class":1360},[878,1894,1364],{"class":1007},[878,1896,1367],{"class":996},[878,1898,1001],{"class":1000},[878,1900,1336],{"class":996},[878,1902,1001],{"class":1000},[878,1904,1285],{"class":989},[878,1906,1215],{"class":1000},[878,1908,1380],{"class":1017},[878,1910,1215],{"class":1000},[878,1912,1385],{"class":1017},[878,1914,1388],{"class":1000},[878,1916,1917],{"class":880,"line":930},[878,1918,1352],{"emptyLinePlaceholder":8},[878,1920,1921,1923,1925,1927],{"class":880,"line":943},[878,1922,990],{"class":989},[878,1924,1399],{"class":989},[878,1926,997],{"class":996},[878,1928,1404],{"class":1000},[878,1930,1931,1933],{"class":880,"line":956},[878,1932,1018],{"class":1017},[878,1934,1411],{"class":1000},[878,1936,1937,1939,1941,1943,1945,1947,1949],{"class":880,"line":969},[878,1938,1047],{"class":1017},[878,1940,1008],{"class":1418},[878,1942,1421],{"class":1000},[878,1944,1424],{"class":1299},[878,1946,1427],{"class":1303},[878,1948,1424],{"class":1299},[878,1950,1432],{"class":1000},[878,1952,1953,1955,1957],{"class":880,"line":980},[878,1954,1059],{"class":1017},[878,1956,1008],{"class":1418},[878,1958,1441],{"class":1000},[878,1960,1961],{"class":880,"line":986},[878,1962,1446],{"class":1000},[878,1964,1965,1967,1969,1971,1973,1975,1977],{"class":880,"line":1014},[878,1966,1451],{"class":1017},[878,1968,1008],{"class":1418},[878,1970,1421],{"class":1000},[878,1972,1424],{"class":1299},[878,1974,1460],{"class":1303},[878,1976,1424],{"class":1299},[878,1978,1432],{"class":1000},[878,1980,1981,1983,1985],{"class":880,"line":1030},[878,1982,1469],{"class":1017},[878,1984,1008],{"class":1418},[878,1986,1011],{"class":1000},[878,1988,1989,1991,1993,1995,1997,1999,2001],{"class":880,"line":1044},[878,1990,1478],{"class":1299},[878,1992,1481],{"class":1303},[878,1994,1424],{"class":1299},[878,1996,1008],{"class":1418},[878,1998,1300],{"class":1299},[878,2000,1490],{"class":1303},[878,2002,1307],{"class":1299},[878,2004,2005],{"class":880,"line":1056},[878,2006,1497],{"class":1000},[878,2008,2009],{"class":880,"line":1069},[878,2010,1502],{"class":1000},[878,2012,2013],{"class":880,"line":1505},[878,2014,1508],{"class":1000},[878,2016,2017],{"class":880,"line":1511},[878,2018,1514],{"class":1000},[1516,2020,2021],{"color":1518,"icon":1519},[854,2022,1522],{},[1524,2024,1526],{},{"title":874,"searchDepth":888,"depth":888,"links":2026},[2027,2028,2029,2030],{"id":865,"depth":888,"text":866},{"id":1082,"depth":888,"text":1083},{"id":1196,"depth":888,"text":1197},{"id":1271,"depth":888,"text":1272},{},{"title":88,"description":1533},1780436294030]