[{"data":1,"prerenderedAt":2142},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Futils":64,"navigation":263,"navLinks_footer":835,"\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues_page":848,"\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues_surround":1602,"\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues":1605},{"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":166,"body":850,"description":1594,"extension":1595,"icon":1596,"meta":1597,"module":1598,"navigation":8,"path":167,"rawbody":1599,"seo":1600,"stem":168,"__hash__":1601},"docs\u002Fdocs\u002Futils\u002Fshared\u002FfindObjectValues.md",{"type":851,"value":852,"toc":1588},"minimark",[853,861,866,1133,1137,1252,1256,1259,1286,1290,1293,1584],[854,855,856,857,860],"p",{},"The ",[858,859,166],"code",{}," utility is designed to traverse complex object trees to find the first string value that matches specific key and value criteria. It includes built-in safeguards such as circular reference detection and depth limiting to ensure safe execution on massive or deeply nested objects.",[862,863,865],"h2",{"id":864},"definition","Definition",[867,868,874],"pre",{"className":869,"code":870,"filename":871,"language":872,"meta":873,"style":873},"language-ts shiki shiki-themes light-plus light-plus dracula","\u002F**\n * Recursively searches an object tree for a string matching specific key and value criteria.\n *\n * @param input - The object tree to search.\n * @param visited - Internal set for tracking visited objects (prevents circularity).\n * @param searchTerms - The matching criteria.\n * @param searchTerms.keyToSearch - The substring to look for in object keys (case-insensitive).\n * @param searchTerms.value - The RegExp to test against string values.\n * @param depth - Current recursion depth (internal).\n * @param maxDepth - Maximum recursion depth (default: 6).\n *\u002F\nexport function findStringsInObject(\n  input: object,\n  visited = new Set\u003Cobject>(),\n  searchTerms: {keyToSearch: string, value: RegExp},\n  depth = 0,\n  maxDepth = 6\n): string | null\n","findObjectValues.ts","ts","",[858,875,876,885,891,897,914,927,940,953,966,979,992,998,1016,1033,1058,1092,1106,1117],{"__ignoreMap":873},[877,878,881],"span",{"class":879,"line":880},"line",1,[877,882,884],{"class":883},"sghk6","\u002F**\n",[877,886,888],{"class":879,"line":887},2,[877,889,890],{"class":883}," * Recursively searches an object tree for a string matching specific key and value criteria.\n",[877,892,894],{"class":879,"line":893},3,[877,895,896],{"class":883}," *\n",[877,898,900,903,907,911],{"class":879,"line":899},4,[877,901,902],{"class":883}," * ",[877,904,906],{"class":905},"sl46w","@param",[877,908,910],{"class":909},"sygFZ"," input",[877,912,913],{"class":883}," - The object tree to search.\n",[877,915,917,919,921,924],{"class":879,"line":916},5,[877,918,902],{"class":883},[877,920,906],{"class":905},[877,922,923],{"class":909}," visited",[877,925,926],{"class":883}," - Internal set for tracking visited objects (prevents circularity).\n",[877,928,930,932,934,937],{"class":879,"line":929},6,[877,931,902],{"class":883},[877,933,906],{"class":905},[877,935,936],{"class":909}," searchTerms",[877,938,939],{"class":883}," - The matching criteria.\n",[877,941,943,945,947,950],{"class":879,"line":942},7,[877,944,902],{"class":883},[877,946,906],{"class":905},[877,948,949],{"class":909}," searchTerms.keyToSearch",[877,951,952],{"class":883}," - The substring to look for in object keys (case-insensitive).\n",[877,954,956,958,960,963],{"class":879,"line":955},8,[877,957,902],{"class":883},[877,959,906],{"class":905},[877,961,962],{"class":909}," searchTerms.value",[877,964,965],{"class":883}," - The RegExp to test against string values.\n",[877,967,969,971,973,976],{"class":879,"line":968},9,[877,970,902],{"class":883},[877,972,906],{"class":905},[877,974,975],{"class":909}," depth",[877,977,978],{"class":883}," - Current recursion depth (internal).\n",[877,980,982,984,986,989],{"class":879,"line":981},10,[877,983,902],{"class":883},[877,985,906],{"class":905},[877,987,988],{"class":909}," maxDepth",[877,990,991],{"class":883}," - Maximum recursion depth (default: 6).\n",[877,993,995],{"class":879,"line":994},11,[877,996,997],{"class":883}," *\u002F\n",[877,999,1001,1005,1008,1012],{"class":879,"line":1000},12,[877,1002,1004],{"class":1003},"sZ328","export",[877,1006,1007],{"class":905}," function",[877,1009,1011],{"class":1010},"sHOzp"," findStringsInObject",[877,1013,1015],{"class":1014},"sDd4n","(\n",[877,1017,1019,1022,1026,1030],{"class":879,"line":1018},13,[877,1020,1021],{"class":909},"  input",[877,1023,1025],{"class":1024},"saOXh",":",[877,1027,1029],{"class":1028},"sFs1U"," object",[877,1031,1032],{"class":1014},",\n",[877,1034,1036,1039,1042,1046,1049,1052,1055],{"class":879,"line":1035},14,[877,1037,1038],{"class":909},"  visited",[877,1040,1041],{"class":1024}," =",[877,1043,1045],{"class":1044},"sakC6"," new",[877,1047,1048],{"class":1010}," Set",[877,1050,1051],{"class":1014},"\u003C",[877,1053,1054],{"class":1028},"object",[877,1056,1057],{"class":1014},">(),\n",[877,1059,1061,1064,1066,1069,1073,1075,1078,1081,1084,1086,1089],{"class":879,"line":1060},15,[877,1062,1063],{"class":909},"  searchTerms",[877,1065,1025],{"class":1024},[877,1067,1068],{"class":1014}," {",[877,1070,1072],{"class":1071},"sjsA6","keyToSearch",[877,1074,1025],{"class":1024},[877,1076,1077],{"class":1028}," string",[877,1079,1080],{"class":1014},", ",[877,1082,1083],{"class":1071},"value",[877,1085,1025],{"class":1024},[877,1087,1088],{"class":1028}," RegExp",[877,1090,1091],{"class":1014},"},\n",[877,1093,1095,1098,1100,1104],{"class":879,"line":1094},16,[877,1096,1097],{"class":909},"  depth",[877,1099,1041],{"class":1024},[877,1101,1103],{"class":1102},"spgvN"," 0",[877,1105,1032],{"class":1014},[877,1107,1109,1112,1114],{"class":879,"line":1108},17,[877,1110,1111],{"class":909},"  maxDepth",[877,1113,1041],{"class":1024},[877,1115,1116],{"class":1102}," 6\n",[877,1118,1120,1123,1125,1127,1130],{"class":879,"line":1119},18,[877,1121,1122],{"class":1014},")",[877,1124,1025],{"class":1024},[877,1126,1077],{"class":1028},[877,1128,1129],{"class":1024}," |",[877,1131,1132],{"class":1028}," null\n",[862,1134,1136],{"id":1135},"parameters","Parameters",[1138,1139,1140,1159],"table",{},[1141,1142,1143],"thead",{},[1144,1145,1146,1150,1153,1156],"tr",{},[1147,1148,1149],"th",{},"Parameter",[1147,1151,1152],{},"Type",[1147,1154,1155],{},"Required",[1147,1157,1158],{},"Description",[1160,1161,1162,1180,1196,1213,1230],"tbody",{},[1144,1163,1164,1170,1174,1177],{},[1165,1166,1167],"td",{},[858,1168,1169],{},"input",[1165,1171,1172],{},[858,1173,1054],{},[1165,1175,1176],{},"Yes",[1165,1178,1179],{},"The object tree to traverse.",[1144,1181,1182,1187,1191,1193],{},[1165,1183,1184],{},[858,1185,1186],{},"searchTerms",[1165,1188,1189],{},[858,1190,1054],{},[1165,1192,1176],{},[1165,1194,1195],{},"Contains the matching criteria.",[1144,1197,1198,1203,1208,1210],{},[1165,1199,1200],{},[858,1201,1202],{},"searchTerms.keyToSearch",[1165,1204,1205],{},[858,1206,1207],{},"string",[1165,1209,1176],{},[1165,1211,1212],{},"The substring to look for in object keys (case-insensitive).",[1144,1214,1215,1220,1225,1227],{},[1165,1216,1217],{},[858,1218,1219],{},"searchTerms.value",[1165,1221,1222],{},[858,1223,1224],{},"RegExp",[1165,1226,1176],{},[1165,1228,1229],{},"The regular expression to test against string values.",[1144,1231,1232,1237,1242,1245],{},[1165,1233,1234],{},[858,1235,1236],{},"maxDepth",[1165,1238,1239],{},[858,1240,1241],{},"number",[1165,1243,1244],{},"No",[1165,1246,1247,1248,1251],{},"Maximum recursion depth (default: ",[858,1249,1250],{},"6",").",[862,1253,1255],{"id":1254},"rules-for-matching","Rules for Matching",[854,1257,1258],{},"A matching string is returned (and trimmed) if:",[1260,1261,1262,1277],"ol",{},[1263,1264,1265,1266,1268,1269,1273,1274,1276],"li",{},"The property key (case-insensitive) contains the provided ",[858,1267,1072],{}," ",[1270,1271,1272],"strong",{},"AND"," the string value matches the ",[858,1275,1219],{}," regex.",[1263,1278,1279,1282,1283,1285],{},[1270,1280,1281],{},"OR"," if the string value simply matches the ",[858,1284,1219],{}," regex regardless of the key name.",[862,1287,1289],{"id":1288},"example-usage","Example Usage",[854,1291,1292],{},"This utility is particularly effective for extracting specific data points like emails or IDs from deeply nested configuration or payload objects.",[867,1294,1299],{"className":1295,"code":1296,"filename":1297,"language":1298,"meta":873,"style":873},"language-typescript shiki shiki-themes light-plus light-plus dracula","import { findStringsInObject } from '@riavzon\u002Futils'\n\nconst payload = {\n  user: {\n    meta: {\n      contact_email: \" user@example.com \",\n      secondary: \"not-an-email\"\n    }\n  }\n};\n\nconst emailRegex = \u002F^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\u002F;\n\nconst email = findStringsInObject(payload, new Set(), {\n  keyToSearch: 'email',\n  value: emailRegex\n});\n\nconsole.log(email); \u002F\u002F \"user@example.com\"\n","example.ts","typescript",[858,1300,1301,1328,1333,1347,1357,1366,1384,1399,1404,1409,1414,1418,1495,1499,1526,1543,1553,1558,1562],{"__ignoreMap":873},[877,1302,1303,1306,1309,1311,1314,1317,1321,1325],{"class":879,"line":880},[877,1304,1305],{"class":1003},"import",[877,1307,1308],{"class":1014}," { ",[877,1310,166],{"class":1071},[877,1312,1313],{"class":1014}," } ",[877,1315,1316],{"class":1003},"from",[877,1318,1320],{"class":1319},"sFkSl"," '",[877,1322,1324],{"class":1323},"sFB1V","@riavzon\u002Futils",[877,1326,1327],{"class":1319},"'\n",[877,1329,1330],{"class":879,"line":887},[877,1331,1332],{"emptyLinePlaceholder":8},"\n",[877,1334,1335,1338,1342,1344],{"class":879,"line":893},[877,1336,1337],{"class":905},"const",[877,1339,1341],{"class":1340},"s3JHE"," payload",[877,1343,1041],{"class":1024},[877,1345,1346],{"class":1014}," {\n",[877,1348,1349,1352,1355],{"class":879,"line":899},[877,1350,1351],{"class":1071},"  user",[877,1353,1025],{"class":1354},"s34zl",[877,1356,1346],{"class":1014},[877,1358,1359,1362,1364],{"class":879,"line":916},[877,1360,1361],{"class":1071},"    meta",[877,1363,1025],{"class":1354},[877,1365,1346],{"class":1014},[877,1367,1368,1371,1373,1376,1379,1382],{"class":879,"line":929},[877,1369,1370],{"class":1071},"      contact_email",[877,1372,1025],{"class":1354},[877,1374,1375],{"class":1319}," \"",[877,1377,1378],{"class":1323}," user@example.com ",[877,1380,1381],{"class":1319},"\"",[877,1383,1032],{"class":1014},[877,1385,1386,1389,1391,1393,1396],{"class":879,"line":942},[877,1387,1388],{"class":1071},"      secondary",[877,1390,1025],{"class":1354},[877,1392,1375],{"class":1319},[877,1394,1395],{"class":1323},"not-an-email",[877,1397,1398],{"class":1319},"\"\n",[877,1400,1401],{"class":879,"line":955},[877,1402,1403],{"class":1014},"    }\n",[877,1405,1406],{"class":879,"line":968},[877,1407,1408],{"class":1014},"  }\n",[877,1410,1411],{"class":879,"line":981},[877,1412,1413],{"class":1014},"};\n",[877,1415,1416],{"class":879,"line":994},[877,1417,1332],{"emptyLinePlaceholder":8},[877,1419,1420,1422,1425,1427,1431,1435,1439,1442,1446,1450,1453,1456,1458,1460,1462,1464,1466,1468,1470,1474,1476,1478,1480,1482,1484,1486,1489,1492],{"class":879,"line":1000},[877,1421,1337],{"class":905},[877,1423,1424],{"class":1340}," emailRegex",[877,1426,1041],{"class":1024},[877,1428,1430],{"class":1429},"sRg35"," \u002F",[877,1432,1434],{"class":1433},"st6lo","^",[877,1436,1438],{"class":1437},"sODv-","[",[877,1440,1434],{"class":1441},"sVps7",[877,1443,1445],{"class":1444},"s58tv","\\s",[877,1447,1449],{"class":1448},"sIcdS","@",[877,1451,1452],{"class":1437},"]",[877,1454,1455],{"class":1024},"+",[877,1457,1449],{"class":1448},[877,1459,1438],{"class":1437},[877,1461,1434],{"class":1441},[877,1463,1445],{"class":1444},[877,1465,1449],{"class":1448},[877,1467,1452],{"class":1437},[877,1469,1455],{"class":1024},[877,1471,1473],{"class":1472},"skAEd","\\.",[877,1475,1438],{"class":1437},[877,1477,1434],{"class":1441},[877,1479,1445],{"class":1444},[877,1481,1449],{"class":1448},[877,1483,1452],{"class":1437},[877,1485,1455],{"class":1024},[877,1487,1488],{"class":1433},"$",[877,1490,1491],{"class":1429},"\u002F",[877,1493,1494],{"class":1014},";\n",[877,1496,1497],{"class":879,"line":1018},[877,1498,1332],{"emptyLinePlaceholder":8},[877,1500,1501,1503,1506,1508,1510,1513,1516,1518,1521,1523],{"class":879,"line":1035},[877,1502,1337],{"class":905},[877,1504,1505],{"class":1340}," email",[877,1507,1041],{"class":1024},[877,1509,1011],{"class":1010},[877,1511,1512],{"class":1014},"(",[877,1514,1515],{"class":1071},"payload",[877,1517,1080],{"class":1014},[877,1519,1520],{"class":1044},"new",[877,1522,1048],{"class":1010},[877,1524,1525],{"class":1014},"(), {\n",[877,1527,1528,1531,1533,1535,1538,1541],{"class":879,"line":1060},[877,1529,1530],{"class":1071},"  keyToSearch",[877,1532,1025],{"class":1354},[877,1534,1320],{"class":1319},[877,1536,1537],{"class":1323},"email",[877,1539,1540],{"class":1319},"'",[877,1542,1032],{"class":1014},[877,1544,1545,1548,1550],{"class":879,"line":1094},[877,1546,1547],{"class":1071},"  value",[877,1549,1025],{"class":1354},[877,1551,1552],{"class":1071}," emailRegex\n",[877,1554,1555],{"class":879,"line":1108},[877,1556,1557],{"class":1014},"});\n",[877,1559,1560],{"class":879,"line":1119},[877,1561,1332],{"emptyLinePlaceholder":8},[877,1563,1565,1568,1571,1574,1576,1578,1581],{"class":879,"line":1564},19,[877,1566,1567],{"class":1071},"console",[877,1569,1570],{"class":1014},".",[877,1572,1573],{"class":1010},"log",[877,1575,1512],{"class":1014},[877,1577,1537],{"class":1071},[877,1579,1580],{"class":1014},"); ",[877,1582,1583],{"class":883},"\u002F\u002F \"user@example.com\"\n",[1585,1586,1587],"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 .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 pre.shiki code .sakC6, html code.shiki .sakC6{--shiki-light:#0000FF;--shiki-light-font-weight:inherit;--shiki-default:#0000FF;--shiki-default-font-weight:inherit;--shiki-dark:#FF79C6;--shiki-dark-font-weight:bold}html pre.shiki code .sjsA6, html code.shiki .sjsA6{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#F8F8F2}html pre.shiki code .spgvN, html code.shiki .spgvN{--shiki-light:#098658;--shiki-default:#098658;--shiki-dark:#BD93F9}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}html pre.shiki code .sRg35, html code.shiki .sRg35{--shiki-light:#811F3F;--shiki-default:#811F3F;--shiki-dark:#FF5555}html pre.shiki code .st6lo, html code.shiki .st6lo{--shiki-light:#EE0000;--shiki-default:#EE0000;--shiki-dark:#FF79C6}html pre.shiki code .sODv-, html code.shiki .sODv-{--shiki-light:#D16969;--shiki-default:#D16969;--shiki-dark:#8BE9FD}html pre.shiki code .sVps7, html code.shiki .sVps7{--shiki-light:#D16969;--shiki-default:#D16969;--shiki-dark:#FF5555}html pre.shiki code .s58tv, html code.shiki .s58tv{--shiki-light:#811F3F;--shiki-default:#811F3F;--shiki-dark:#BD93F9}html pre.shiki code .sIcdS, html code.shiki .sIcdS{--shiki-light:#811F3F;--shiki-default:#811F3F;--shiki-dark:#F1FA8C}html pre.shiki code .skAEd, html code.shiki .skAEd{--shiki-light:#EE0000;--shiki-default:#EE0000;--shiki-dark:#F1FA8C}",{"title":873,"searchDepth":887,"depth":887,"links":1589},[1590,1591,1592,1593],{"id":864,"depth":887,"text":865},{"id":1135,"depth":887,"text":1136},{"id":1254,"depth":887,"text":1255},{"id":1288,"depth":887,"text":1289},"Recursively searches an object tree for strings matching specific key and value criteria.","md","i-lucide-search-code",{},null,"---\ntitle: findStringsInObject\ndescription: Recursively searches an object tree for strings matching specific key and value criteria.\nicon: i-lucide-search-code\n---\n\nThe `findStringsInObject` utility is designed to traverse complex object trees to find the first string value that matches specific key and value criteria. It includes built-in safeguards such as circular reference detection and depth limiting to ensure safe execution on massive or deeply nested objects.\n\n## Definition\n\n```ts [findObjectValues.ts]\n\u002F**\n * Recursively searches an object tree for a string matching specific key and value criteria.\n *\n * @param input - The object tree to search.\n * @param visited - Internal set for tracking visited objects (prevents circularity).\n * @param searchTerms - The matching criteria.\n * @param searchTerms.keyToSearch - The substring to look for in object keys (case-insensitive).\n * @param searchTerms.value - The RegExp to test against string values.\n * @param depth - Current recursion depth (internal).\n * @param maxDepth - Maximum recursion depth (default: 6).\n *\u002F\nexport function findStringsInObject(\n  input: object,\n  visited = new Set\u003Cobject>(),\n  searchTerms: {keyToSearch: string, value: RegExp},\n  depth = 0,\n  maxDepth = 6\n): string | null\n```\n\n## Parameters\n| Parameter | Type | Required | Description |\n| --- | --- | --- | --- |\n| `input` | `object` | Yes | The object tree to traverse. |\n| `searchTerms` | `object` | Yes | Contains the matching criteria. |\n| `searchTerms.keyToSearch` | `string` | Yes | The substring to look for in object keys (case-insensitive). |\n| `searchTerms.value` | `RegExp` | Yes | The regular expression to test against string values. |\n| `maxDepth` | `number` | No | Maximum recursion depth (default: `6`). |\n\n## Rules for Matching\n\nA matching string is returned (and trimmed) if:\n1. The property key (case-insensitive) contains the provided `keyToSearch` **AND** the string value matches the `searchTerms.value` regex.\n2. **OR** if the string value simply matches the `searchTerms.value` regex regardless of the key name.\n\n## Example Usage\n\nThis utility is particularly effective for extracting specific data points like emails or IDs from deeply nested configuration or payload objects.\n\n```typescript [example.ts]\nimport { findStringsInObject } from '@riavzon\u002Futils'\n\nconst payload = {\n  user: {\n    meta: {\n      contact_email: \" user@example.com \",\n      secondary: \"not-an-email\"\n    }\n  }\n};\n\nconst emailRegex = \u002F^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\u002F;\n\nconst email = findStringsInObject(payload, new Set(), {\n  keyToSearch: 'email',\n  value: emailRegex\n});\n\nconsole.log(email); \u002F\u002F \"user@example.com\"\n```\n",{"title":166,"description":1594},"FKy3nSH9w-M0pGuIYUoy0k5FCJx6QYEMcZEKmikSqhM",[1603,1604],{"title":162,"path":163,"stem":164,"children":-1},{"title":170,"path":171,"stem":172,"children":-1},{"id":849,"title":166,"body":1606,"description":1594,"extension":1595,"icon":1596,"meta":2140,"module":1598,"navigation":8,"path":167,"rawbody":1599,"seo":2141,"stem":168,"__hash__":1601},{"type":851,"value":1607,"toc":2134},[1608,1612,1614,1794,1796,1884,1886,1888,1904,1906,1908,2132],[854,1609,856,1610,860],{},[858,1611,166],{},[862,1613,865],{"id":864},[867,1615,1616],{"className":869,"code":870,"filename":871,"language":872,"meta":873,"style":873},[858,1617,1618,1622,1626,1630,1640,1650,1660,1670,1680,1690,1700,1704,1714,1724,1740,1764,1774,1782],{"__ignoreMap":873},[877,1619,1620],{"class":879,"line":880},[877,1621,884],{"class":883},[877,1623,1624],{"class":879,"line":887},[877,1625,890],{"class":883},[877,1627,1628],{"class":879,"line":893},[877,1629,896],{"class":883},[877,1631,1632,1634,1636,1638],{"class":879,"line":899},[877,1633,902],{"class":883},[877,1635,906],{"class":905},[877,1637,910],{"class":909},[877,1639,913],{"class":883},[877,1641,1642,1644,1646,1648],{"class":879,"line":916},[877,1643,902],{"class":883},[877,1645,906],{"class":905},[877,1647,923],{"class":909},[877,1649,926],{"class":883},[877,1651,1652,1654,1656,1658],{"class":879,"line":929},[877,1653,902],{"class":883},[877,1655,906],{"class":905},[877,1657,936],{"class":909},[877,1659,939],{"class":883},[877,1661,1662,1664,1666,1668],{"class":879,"line":942},[877,1663,902],{"class":883},[877,1665,906],{"class":905},[877,1667,949],{"class":909},[877,1669,952],{"class":883},[877,1671,1672,1674,1676,1678],{"class":879,"line":955},[877,1673,902],{"class":883},[877,1675,906],{"class":905},[877,1677,962],{"class":909},[877,1679,965],{"class":883},[877,1681,1682,1684,1686,1688],{"class":879,"line":968},[877,1683,902],{"class":883},[877,1685,906],{"class":905},[877,1687,975],{"class":909},[877,1689,978],{"class":883},[877,1691,1692,1694,1696,1698],{"class":879,"line":981},[877,1693,902],{"class":883},[877,1695,906],{"class":905},[877,1697,988],{"class":909},[877,1699,991],{"class":883},[877,1701,1702],{"class":879,"line":994},[877,1703,997],{"class":883},[877,1705,1706,1708,1710,1712],{"class":879,"line":1000},[877,1707,1004],{"class":1003},[877,1709,1007],{"class":905},[877,1711,1011],{"class":1010},[877,1713,1015],{"class":1014},[877,1715,1716,1718,1720,1722],{"class":879,"line":1018},[877,1717,1021],{"class":909},[877,1719,1025],{"class":1024},[877,1721,1029],{"class":1028},[877,1723,1032],{"class":1014},[877,1725,1726,1728,1730,1732,1734,1736,1738],{"class":879,"line":1035},[877,1727,1038],{"class":909},[877,1729,1041],{"class":1024},[877,1731,1045],{"class":1044},[877,1733,1048],{"class":1010},[877,1735,1051],{"class":1014},[877,1737,1054],{"class":1028},[877,1739,1057],{"class":1014},[877,1741,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762],{"class":879,"line":1060},[877,1743,1063],{"class":909},[877,1745,1025],{"class":1024},[877,1747,1068],{"class":1014},[877,1749,1072],{"class":1071},[877,1751,1025],{"class":1024},[877,1753,1077],{"class":1028},[877,1755,1080],{"class":1014},[877,1757,1083],{"class":1071},[877,1759,1025],{"class":1024},[877,1761,1088],{"class":1028},[877,1763,1091],{"class":1014},[877,1765,1766,1768,1770,1772],{"class":879,"line":1094},[877,1767,1097],{"class":909},[877,1769,1041],{"class":1024},[877,1771,1103],{"class":1102},[877,1773,1032],{"class":1014},[877,1775,1776,1778,1780],{"class":879,"line":1108},[877,1777,1111],{"class":909},[877,1779,1041],{"class":1024},[877,1781,1116],{"class":1102},[877,1783,1784,1786,1788,1790,1792],{"class":879,"line":1119},[877,1785,1122],{"class":1014},[877,1787,1025],{"class":1024},[877,1789,1077],{"class":1028},[877,1791,1129],{"class":1024},[877,1793,1132],{"class":1028},[862,1795,1136],{"id":1135},[1138,1797,1798,1810],{},[1141,1799,1800],{},[1144,1801,1802,1804,1806,1808],{},[1147,1803,1149],{},[1147,1805,1152],{},[1147,1807,1155],{},[1147,1809,1158],{},[1160,1811,1812,1826,1840,1854,1868],{},[1144,1813,1814,1818,1822,1824],{},[1165,1815,1816],{},[858,1817,1169],{},[1165,1819,1820],{},[858,1821,1054],{},[1165,1823,1176],{},[1165,1825,1179],{},[1144,1827,1828,1832,1836,1838],{},[1165,1829,1830],{},[858,1831,1186],{},[1165,1833,1834],{},[858,1835,1054],{},[1165,1837,1176],{},[1165,1839,1195],{},[1144,1841,1842,1846,1850,1852],{},[1165,1843,1844],{},[858,1845,1202],{},[1165,1847,1848],{},[858,1849,1207],{},[1165,1851,1176],{},[1165,1853,1212],{},[1144,1855,1856,1860,1864,1866],{},[1165,1857,1858],{},[858,1859,1219],{},[1165,1861,1862],{},[858,1863,1224],{},[1165,1865,1176],{},[1165,1867,1229],{},[1144,1869,1870,1874,1878,1880],{},[1165,1871,1872],{},[858,1873,1236],{},[1165,1875,1876],{},[858,1877,1241],{},[1165,1879,1244],{},[1165,1881,1247,1882,1251],{},[858,1883,1250],{},[862,1885,1255],{"id":1254},[854,1887,1258],{},[1260,1889,1890,1898],{},[1263,1891,1265,1892,1268,1894,1273,1896,1276],{},[858,1893,1072],{},[1270,1895,1272],{},[858,1897,1219],{},[1263,1899,1900,1282,1902,1285],{},[1270,1901,1281],{},[858,1903,1219],{},[862,1905,1289],{"id":1288},[854,1907,1292],{},[867,1909,1910],{"className":1295,"code":1296,"filename":1297,"language":1298,"meta":873,"style":873},[858,1911,1912,1930,1934,1944,1952,1960,1974,1986,1990,1994,1998,2002,2060,2064,2086,2100,2108,2112,2116],{"__ignoreMap":873},[877,1913,1914,1916,1918,1920,1922,1924,1926,1928],{"class":879,"line":880},[877,1915,1305],{"class":1003},[877,1917,1308],{"class":1014},[877,1919,166],{"class":1071},[877,1921,1313],{"class":1014},[877,1923,1316],{"class":1003},[877,1925,1320],{"class":1319},[877,1927,1324],{"class":1323},[877,1929,1327],{"class":1319},[877,1931,1932],{"class":879,"line":887},[877,1933,1332],{"emptyLinePlaceholder":8},[877,1935,1936,1938,1940,1942],{"class":879,"line":893},[877,1937,1337],{"class":905},[877,1939,1341],{"class":1340},[877,1941,1041],{"class":1024},[877,1943,1346],{"class":1014},[877,1945,1946,1948,1950],{"class":879,"line":899},[877,1947,1351],{"class":1071},[877,1949,1025],{"class":1354},[877,1951,1346],{"class":1014},[877,1953,1954,1956,1958],{"class":879,"line":916},[877,1955,1361],{"class":1071},[877,1957,1025],{"class":1354},[877,1959,1346],{"class":1014},[877,1961,1962,1964,1966,1968,1970,1972],{"class":879,"line":929},[877,1963,1370],{"class":1071},[877,1965,1025],{"class":1354},[877,1967,1375],{"class":1319},[877,1969,1378],{"class":1323},[877,1971,1381],{"class":1319},[877,1973,1032],{"class":1014},[877,1975,1976,1978,1980,1982,1984],{"class":879,"line":942},[877,1977,1388],{"class":1071},[877,1979,1025],{"class":1354},[877,1981,1375],{"class":1319},[877,1983,1395],{"class":1323},[877,1985,1398],{"class":1319},[877,1987,1988],{"class":879,"line":955},[877,1989,1403],{"class":1014},[877,1991,1992],{"class":879,"line":968},[877,1993,1408],{"class":1014},[877,1995,1996],{"class":879,"line":981},[877,1997,1413],{"class":1014},[877,1999,2000],{"class":879,"line":994},[877,2001,1332],{"emptyLinePlaceholder":8},[877,2003,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058],{"class":879,"line":1000},[877,2005,1337],{"class":905},[877,2007,1424],{"class":1340},[877,2009,1041],{"class":1024},[877,2011,1430],{"class":1429},[877,2013,1434],{"class":1433},[877,2015,1438],{"class":1437},[877,2017,1434],{"class":1441},[877,2019,1445],{"class":1444},[877,2021,1449],{"class":1448},[877,2023,1452],{"class":1437},[877,2025,1455],{"class":1024},[877,2027,1449],{"class":1448},[877,2029,1438],{"class":1437},[877,2031,1434],{"class":1441},[877,2033,1445],{"class":1444},[877,2035,1449],{"class":1448},[877,2037,1452],{"class":1437},[877,2039,1455],{"class":1024},[877,2041,1473],{"class":1472},[877,2043,1438],{"class":1437},[877,2045,1434],{"class":1441},[877,2047,1445],{"class":1444},[877,2049,1449],{"class":1448},[877,2051,1452],{"class":1437},[877,2053,1455],{"class":1024},[877,2055,1488],{"class":1433},[877,2057,1491],{"class":1429},[877,2059,1494],{"class":1014},[877,2061,2062],{"class":879,"line":1018},[877,2063,1332],{"emptyLinePlaceholder":8},[877,2065,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084],{"class":879,"line":1035},[877,2067,1337],{"class":905},[877,2069,1505],{"class":1340},[877,2071,1041],{"class":1024},[877,2073,1011],{"class":1010},[877,2075,1512],{"class":1014},[877,2077,1515],{"class":1071},[877,2079,1080],{"class":1014},[877,2081,1520],{"class":1044},[877,2083,1048],{"class":1010},[877,2085,1525],{"class":1014},[877,2087,2088,2090,2092,2094,2096,2098],{"class":879,"line":1060},[877,2089,1530],{"class":1071},[877,2091,1025],{"class":1354},[877,2093,1320],{"class":1319},[877,2095,1537],{"class":1323},[877,2097,1540],{"class":1319},[877,2099,1032],{"class":1014},[877,2101,2102,2104,2106],{"class":879,"line":1094},[877,2103,1547],{"class":1071},[877,2105,1025],{"class":1354},[877,2107,1552],{"class":1071},[877,2109,2110],{"class":879,"line":1108},[877,2111,1557],{"class":1014},[877,2113,2114],{"class":879,"line":1119},[877,2115,1332],{"emptyLinePlaceholder":8},[877,2117,2118,2120,2122,2124,2126,2128,2130],{"class":879,"line":1564},[877,2119,1567],{"class":1071},[877,2121,1570],{"class":1014},[877,2123,1573],{"class":1010},[877,2125,1512],{"class":1014},[877,2127,1537],{"class":1071},[877,2129,1580],{"class":1014},[877,2131,1583],{"class":883},[1585,2133,1587],{},{"title":873,"searchDepth":887,"depth":887,"links":2135},[2136,2137,2138,2139],{"id":864,"depth":887,"text":865},{"id":1135,"depth":887,"text":1136},{"id":1254,"depth":887,"text":1255},{"id":1288,"depth":887,"text":1289},{},{"title":166,"description":1594},1780436296970]