[{"data":1,"prerenderedAt":8287},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Fshield-base":64,"navigation":138,"navLinks_footer":802,"\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources_page":815,"\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources_surround":4795,"\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources":4798},{"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":40,"path":42,"stem":70,"children":71},"docs\u002Fshield-base\u002Findex",[72,73,76,80,122,126,130,134],{"title":40,"path":42,"stem":70},{"title":14,"path":74,"stem":75},"\u002Fdocs\u002Fshield-base\u002Fgetting-started","docs\u002Fshield-base\u002F00.getting-started",{"title":77,"path":78,"stem":79},"CLI Reference","\u002Fdocs\u002Fshield-base\u002Fcli","docs\u002Fshield-base\u002F01.cli",{"title":81,"path":82,"stem":83,"children":84},"Data Sources","\u002Fdocs\u002Fshield-base\u002Fdata-sources","docs\u002Fshield-base\u002F02.data-sources\u002Findex",[85,86,90,94,98,102,106,110,114,118],{"title":81,"path":82,"stem":83},{"title":87,"path":88,"stem":89},"BGP \u002F ASN","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fbgp","docs\u002Fshield-base\u002F02.data-sources\u002Fbgp",{"title":91,"path":92,"stem":93},"City Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcity","docs\u002Fshield-base\u002F02.data-sources\u002Fcity",{"title":95,"path":96,"stem":97},"Country Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry","docs\u002Fshield-base\u002F02.data-sources\u002Fcountry",{"title":99,"path":100,"stem":101},"Verified Crawlers","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcrawlers","docs\u002Fshield-base\u002F02.data-sources\u002Fcrawlers",{"title":103,"path":104,"stem":105},"Disposable Emails","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Femail","docs\u002Fshield-base\u002F02.data-sources\u002Femail",{"title":107,"path":108,"stem":109},"FireHOL Threat Intelligence","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ffirehol","docs\u002Fshield-base\u002F02.data-sources\u002Ffirehol",{"title":111,"path":112,"stem":113},"Proxy Detection","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fproxy","docs\u002Fshield-base\u002F02.data-sources\u002Fproxy",{"title":115,"path":116,"stem":117},"Tor Nodes","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ftor","docs\u002Fshield-base\u002F02.data-sources\u002Ftor",{"title":119,"path":120,"stem":121},"Suspicious User-Agents","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fuseragent","docs\u002Fshield-base\u002F02.data-sources\u002Fuseragent",{"title":123,"path":124,"stem":125},"Programmatic Usage","\u002Fdocs\u002Fshield-base\u002Fusage","docs\u002Fshield-base\u002F03.usage",{"title":127,"path":128,"stem":129},"Custom Data Sources","\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources","docs\u002Fshield-base\u002F04.custom-data-sources",{"title":131,"path":132,"stem":133},"TypeScript Types","\u002Fdocs\u002Fshield-base\u002Ftypes","docs\u002Fshield-base\u002F05.types",{"title":135,"path":136,"stem":137},"API Reference","\u002Fdocs\u002Fshield-base\u002Fapi","docs\u002Fshield-base\u002F06.api",[139],{"title":9,"path":66,"stem":67,"children":140,"page":53},[141,288,405,410,588,609],{"title":20,"path":22,"stem":142,"children":143},"docs\u002Fauth-h3client\u002Findex",[144,145,154,191,217,239,242,263,267],{"title":20,"path":22,"stem":142},{"title":14,"path":146,"stem":147,"children":148},"\u002Fdocs\u002Fauth-h3client\u002Fgetting-started","docs\u002Fauth-h3client\u002F00.getting-started\u002Findex",[149,150],{"title":14,"path":146,"stem":147},{"title":151,"path":152,"stem":153},"Nuxt Module","\u002Fdocs\u002Fauth-h3client\u002Fgetting-started\u002Fnuxt","docs\u002Fauth-h3client\u002F00.getting-started\u002F00.nuxt",{"title":155,"path":156,"stem":157,"children":158},"Essentials","\u002Fdocs\u002Fauth-h3client\u002Fessentials","docs\u002Fauth-h3client\u002F01.essentials\u002Findex",[159,160,164,168,172,176,180,183,187],{"title":155,"path":156,"stem":157},{"title":161,"path":162,"stem":163},"Session Management","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fsession","docs\u002Fauth-h3client\u002F01.essentials\u002F00.session",{"title":165,"path":166,"stem":167},"Route Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Froute-protection","docs\u002Fauth-h3client\u002F01.essentials\u002F01.route-protection",{"title":169,"path":170,"stem":171},"CSRF Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcsrf","docs\u002Fauth-h3client\u002F01.essentials\u002F02.csrf",{"title":173,"path":174,"stem":175},"Auth Flows","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fauth-flows","docs\u002Fauth-h3client\u002F01.essentials\u002F03.auth-flows",{"title":177,"path":178,"stem":179},"OAuth and OIDC","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Foauth","docs\u002Fauth-h3client\u002F01.essentials\u002F04.oauth",{"title":33,"path":181,"stem":182},"\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fbot-detection","docs\u002Fauth-h3client\u002F01.essentials\u002F05.bot-detection",{"title":184,"path":185,"stem":186},"Cookies","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcookies","docs\u002Fauth-h3client\u002F01.essentials\u002F06.cookies",{"title":188,"path":189,"stem":190},"Logging","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Flogging","docs\u002Fauth-h3client\u002F01.essentials\u002F07.logging",{"title":192,"path":193,"stem":194,"children":195},"MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa","docs\u002Fauth-h3client\u002F02.mfa\u002Findex",[196,197,201,205,209,213],{"title":192,"path":193,"stem":194},{"title":198,"path":199,"stem":200},"Built-in MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fbuilt-in-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F01.built-in-flow",{"title":202,"path":203,"stem":204},"Password Reset","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fpassword-reset","docs\u002Fauth-h3client\u002F02.mfa\u002F02.password-reset",{"title":206,"path":207,"stem":208},"Email Change","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Femail-change","docs\u002Fauth-h3client\u002F02.mfa\u002F03.email-change",{"title":210,"path":211,"stem":212},"Custom MFA Flow","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fcustom-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F04.custom-flow",{"title":214,"path":215,"stem":216},"Client-Side MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fclient-side","docs\u002Fauth-h3client\u002F02.mfa\u002F05.client-side",{"title":218,"path":219,"stem":220,"children":221},"Client-side","\u002Fdocs\u002Fauth-h3client\u002Fclient","docs\u002Fauth-h3client\u002F03.client\u002Findex",[222,223,227,231,235],{"title":218,"path":219,"stem":220},{"title":224,"path":225,"stem":226},"useAuthData","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-auth-data","docs\u002Fauth-h3client\u002F03.client\u002F00.use-auth-data",{"title":228,"path":229,"stem":230},"useMagicLink","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-magic-link","docs\u002Fauth-h3client\u002F03.client\u002F01.use-magic-link",{"title":232,"path":233,"stem":234},"executeRequest","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fexecute-request","docs\u002Fauth-h3client\u002F03.client\u002F02.execute-request",{"title":236,"path":237,"stem":238},"getCsrfToken","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fget-csrf-token","docs\u002Fauth-h3client\u002F03.client\u002F03.get-csrf-token",{"title":38,"path":240,"stem":241},"\u002Fdocs\u002Fauth-h3client\u002Fsecurity","docs\u002Fauth-h3client\u002F04.security",{"title":243,"path":244,"stem":245,"children":246,"page":53},"Guides","\u002Fdocs\u002Fauth-h3client\u002Fguides","docs\u002Fauth-h3client\u002F05.guides",[247,251,255,259],{"title":248,"path":249,"stem":250},"H3 and Nitro Setup","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fh3-nitro","docs\u002Fauth-h3client\u002F05.guides\u002F00.h3-nitro",{"title":252,"path":253,"stem":254},"HMAC Inter-service Auth","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fhmac","docs\u002Fauth-h3client\u002F05.guides\u002Fhmac",{"title":256,"path":257,"stem":258},"Image Upload","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fimage-upload","docs\u002Fauth-h3client\u002F05.guides\u002Fimage-upload",{"title":260,"path":261,"stem":262},"mTLS Configuration","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fmtls","docs\u002Fauth-h3client\u002F05.guides\u002Fmtls",{"title":264,"path":265,"stem":266},"Configuration","\u002Fdocs\u002Fauth-h3client\u002Fconfiguration","docs\u002Fauth-h3client\u002F06.configuration",{"title":135,"path":268,"stem":269,"children":270},"\u002Fdocs\u002Fauth-h3client\u002Fapi","docs\u002Fauth-h3client\u002F07.api\u002Findex",[271,272,276,280,284],{"title":135,"path":268,"stem":269},{"title":273,"path":274,"stem":275},"Routes Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcontrollers","docs\u002Fauth-h3client\u002F07.api\u002F00.controllers",{"title":277,"path":278,"stem":279},"Middleware Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fmiddleware","docs\u002Fauth-h3client\u002F07.api\u002F01.middleware",{"title":281,"path":282,"stem":283},"Client-side Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcomposables","docs\u002Fauth-h3client\u002F07.api\u002F02.composables",{"title":285,"path":286,"stem":287},"Utilities","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Futilities","docs\u002Fauth-h3client\u002F07.api\u002F03.utilities",{"title":289,"path":35,"stem":290,"children":291},"Bot Detector","docs\u002Fbot-detection\u002Findex",[292,293,296,300,303,322,396,399,402],{"title":289,"path":35,"stem":290},{"title":14,"path":294,"stem":295},"\u002Fdocs\u002Fbot-detection\u002Fgetting-started","docs\u002Fbot-detection\u002F00.getting-started",{"title":297,"path":298,"stem":299},"CLI","\u002Fdocs\u002Fbot-detection\u002Fcli","docs\u002Fbot-detection\u002F01.cli",{"title":81,"path":301,"stem":302},"\u002Fdocs\u002Fbot-detection\u002Fdata-sources","docs\u002Fbot-detection\u002F02.data-sources",{"title":243,"path":304,"stem":305,"children":306,"page":53},"\u002Fdocs\u002Fbot-detection\u002Fguides","docs\u002Fbot-detection\u002F03.guides",[307,311,315,318],{"title":308,"path":309,"stem":310},"Custom Checkers","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fcustom","docs\u002Fbot-detection\u002F03.guides\u002FCUSTOM",{"title":312,"path":313,"stem":314},"Scheduling Database Generation","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fgenerate","docs\u002Fbot-detection\u002F03.guides\u002FGENERATE",{"title":188,"path":316,"stem":317},"\u002Fdocs\u002Fbot-detection\u002Fguides\u002Flogging","docs\u002Fbot-detection\u002F03.guides\u002FLOGGING",{"title":319,"path":320,"stem":321},"Score Modes and Reputation Healing","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fscore","docs\u002Fbot-detection\u002F03.guides\u002FSCORE",{"title":323,"path":324,"stem":325,"children":326},"Checkers","\u002Fdocs\u002Fbot-detection\u002Fcheckers","docs\u002Fbot-detection\u002F04.checkers\u002Findex",[327,328,332,336,340,344,348,352,356,360,364,368,372,376,380,384,388,392],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331},"IP Validation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fip-validation","docs\u002Fbot-detection\u002F04.checkers\u002F01.ip-validation",{"title":333,"path":334,"stem":335},"Good \u002F Bad Bot Verification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgood-bots","docs\u002Fbot-detection\u002F04.checkers\u002F02.good-bots",{"title":337,"path":338,"stem":339},"Browser & Device Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbrowser-device","docs\u002Fbot-detection\u002F04.checkers\u002F03.browser-device",{"title":341,"path":342,"stem":343},"Locale Map","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Flocale-map","docs\u002Fbot-detection\u002F04.checkers\u002F04.locale-map",{"title":345,"path":346,"stem":347},"Known Threats","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-threats","docs\u002Fbot-detection\u002F04.checkers\u002F05.known-threats",{"title":349,"path":350,"stem":351},"ASN Classification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fasn-classification","docs\u002Fbot-detection\u002F04.checkers\u002F06.asn-classification",{"title":353,"path":354,"stem":355},"Tor Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftor-analysis","docs\u002Fbot-detection\u002F04.checkers\u002F07.tor-analysis",{"title":357,"path":358,"stem":359},"Timezone Consistency","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftimezone-consistency","docs\u002Fbot-detection\u002F04.checkers\u002F08.timezone-consistency",{"title":361,"path":362,"stem":363},"Honeypot","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fhoneypot","docs\u002Fbot-detection\u002F04.checkers\u002F09.honeypot",{"title":365,"path":366,"stem":367},"Known Bad IPs","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ips","docs\u002Fbot-detection\u002F04.checkers\u002F10.known-bad-ips",{"title":369,"path":370,"stem":371},"Behavior Rate","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbehavior-rate","docs\u002Fbot-detection\u002F04.checkers\u002F11.behavior-rate",{"title":373,"path":374,"stem":375},"Proxy \u002F ISP \u002F Cookie","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fproxy-isp-cookies","docs\u002Fbot-detection\u002F04.checkers\u002F12.proxy-isp-cookies",{"title":377,"path":378,"stem":379},"Session Coherence","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fsession-coherence","docs\u002Fbot-detection\u002F04.checkers\u002F13.session-coherence",{"title":381,"path":382,"stem":383},"Velocity Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fvelocity-fingerprint","docs\u002Fbot-detection\u002F04.checkers\u002F14.velocity-fingerprint",{"title":385,"path":386,"stem":387},"UA & Header Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fua-header","docs\u002Fbot-detection\u002F04.checkers\u002F15.ua-header",{"title":389,"path":390,"stem":391},"Geolocation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgeolocation","docs\u002Fbot-detection\u002F04.checkers\u002F16.geolocation",{"title":393,"path":394,"stem":395},"Known Bad User-Agents","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ua","docs\u002Fbot-detection\u002F04.checkers\u002F17.known-bad-ua",{"title":38,"path":397,"stem":398},"\u002Fdocs\u002Fbot-detection\u002Fsecurity","docs\u002Fbot-detection\u002F04.security",{"title":135,"path":400,"stem":401},"\u002Fdocs\u002Fbot-detection\u002Fapi","docs\u002Fbot-detection\u002F05.api",{"title":264,"path":403,"stem":404},"\u002Fdocs\u002Fbot-detection\u002Fconfiguration","docs\u002Fbot-detection\u002F06.configuration",{"title":406,"path":11,"stem":407,"children":408},"Introduction","docs\u002Fgetting-started\u002Findex",[409],{"title":406,"path":11,"stem":407},{"title":27,"path":29,"stem":411,"children":412},"docs\u002Fiam\u002Findex",[413,414,417,552,555,571,574],{"title":27,"path":29,"stem":411},{"title":14,"path":415,"stem":416},"\u002Fdocs\u002Fiam\u002Fgetting-started","docs\u002Fiam\u002F00.getting-started",{"title":155,"path":418,"stem":419,"children":420},"\u002Fdocs\u002Fiam\u002Fessentials","docs\u002Fiam\u002F01.essentials\u002Findex",[421,422,426,430,434,438,442,446,450,454,458,462,465,469,473,477,481,484,488,492,495,499,502],{"title":155,"path":418,"stem":419},{"title":423,"path":424,"stem":425},"Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Ftokens","docs\u002Fiam\u002F01.essentials\u002F00.tokens",{"title":427,"path":428,"stem":429},"Access Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Faccess-tokens","docs\u002Fiam\u002F01.essentials\u002F01.access-tokens",{"title":431,"path":432,"stem":433},"Refresh Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Frefresh-tokens","docs\u002Fiam\u002F01.essentials\u002F02.refresh-tokens",{"title":435,"path":436,"stem":437},"Anomaly Detection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fanomalies","docs\u002Fiam\u002F01.essentials\u002F03.anomalies",{"title":439,"path":440,"stem":441},"Signup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fsignup","docs\u002Fiam\u002F01.essentials\u002F04.signup",{"title":443,"path":444,"stem":445},"Login","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogin","docs\u002Fiam\u002F01.essentials\u002F05.login",{"title":447,"path":448,"stem":449},"Logout","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogout","docs\u002Fiam\u002F01.essentials\u002F06.logout",{"title":451,"path":452,"stem":453},"OAuth","\u002Fdocs\u002Fiam\u002Fessentials\u002Foauth","docs\u002Fiam\u002F01.essentials\u002F07.oauth",{"title":455,"path":456,"stem":457},"Magic Links","\u002Fdocs\u002Fiam\u002Fessentials\u002Fmagic-links","docs\u002Fiam\u002F01.essentials\u002F08.magic-links",{"title":459,"path":460,"stem":461},"Emails","\u002Fdocs\u002Fiam\u002Fessentials\u002Femails","docs\u002Fiam\u002F01.essentials\u002F09.emails",{"title":192,"path":463,"stem":464},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fmfa","docs\u002Fiam\u002F01.essentials\u002F10.mfa",{"title":466,"path":467,"stem":468},"Fingerprinting","\u002Fdocs\u002Fiam\u002Fessentials\u002Ffingerprinting","docs\u002Fiam\u002F01.essentials\u002F11.fingerprinting",{"title":470,"path":471,"stem":472},"Backend for Frontend","\u002Fdocs\u002Fiam\u002Fessentials\u002Fbff","docs\u002Fiam\u002F01.essentials\u002F12.bff",{"title":474,"path":475,"stem":476},"HMAC Authentication","\u002Fdocs\u002Fiam\u002Fessentials\u002Fhmac","docs\u002Fiam\u002F01.essentials\u002F13.hmac",{"title":478,"path":479,"stem":480},"XSS Protection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fxss","docs\u002Fiam\u002F01.essentials\u002F14.xss",{"title":188,"path":482,"stem":483},"\u002Fdocs\u002Fiam\u002Fessentials\u002Flogging","docs\u002Fiam\u002F01.essentials\u002F15.logging",{"title":485,"path":486,"stem":487},"Rate Limiting","\u002Fdocs\u002Fiam\u002Fessentials\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F16.rate-limiting",{"title":489,"path":490,"stem":491},"Database","\u002Fdocs\u002Fiam\u002Fessentials\u002Fdatabase","docs\u002Fiam\u002F01.essentials\u002F17.database",{"title":184,"path":493,"stem":494},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fcookies","docs\u002Fiam\u002F01.essentials\u002F18.cookies",{"title":496,"path":497,"stem":498},"Service Startup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fservice","docs\u002Fiam\u002F01.essentials\u002F19.service",{"title":202,"path":500,"stem":501},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fpassword-reset","docs\u002Fiam\u002F01.essentials\u002F20.password-reset",{"title":503,"path":504,"stem":505,"children":506},"API Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi","docs\u002Fiam\u002F01.essentials\u002F21.api\u002Findex",[507,508,512,516,546,549],{"title":503,"path":504,"stem":505},{"title":509,"path":510,"stem":511},"Creating Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fcreation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F00.creation",{"title":513,"path":514,"stem":515},"Verifying Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fverification","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F01.verification",{"title":517,"path":518,"stem":519,"children":520},"Manage Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002Findex",[521,522,526,530,534,538,542],{"title":517,"path":518,"stem":519},{"title":523,"path":524,"stem":525},"Privileges","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fprivilege","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F00.privilege",{"title":527,"path":528,"stem":529},"Revocation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frevocation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F01.revocation",{"title":531,"path":532,"stem":533},"Rotation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frotation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F02.rotation",{"title":535,"path":536,"stem":537},"IP Restriction","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fip-updates","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F03.ip-updates",{"title":539,"path":540,"stem":541},"Metadata","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fmetadata","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F04.metadata",{"title":543,"path":544,"stem":545},"Token Listing","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Flist","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F05.list",{"title":485,"path":547,"stem":548},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F03.rate-limiting",{"title":38,"path":550,"stem":551},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fsecurity","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F04.security",{"title":38,"path":553,"stem":554},"\u002Fdocs\u002Fiam\u002Fsecurity","docs\u002Fiam\u002F02.security",{"title":243,"path":556,"stem":557,"children":558,"page":53},"\u002Fdocs\u002Fiam\u002Fguides","docs\u002Fiam\u002F03.guides",[559,563,567],{"title":560,"path":561,"stem":562},"Deployment","\u002Fdocs\u002Fiam\u002Fguides\u002Fdeployment","docs\u002Fiam\u002F03.guides\u002Fdeployment",{"title":564,"path":565,"stem":566},"Operation Scripts","\u002Fdocs\u002Fiam\u002Fguides\u002Foperation-scripts","docs\u002Fiam\u002F03.guides\u002Foperation-scripts",{"title":568,"path":569,"stem":570},"Role-Based Access Control","\u002Fdocs\u002Fiam\u002Fguides\u002Frbac","docs\u002Fiam\u002F03.guides\u002Frbac",{"title":264,"path":572,"stem":573},"\u002Fdocs\u002Fiam\u002Fconfiguration","docs\u002Fiam\u002F04.configuration",{"title":575,"path":576,"stem":577,"children":578,"page":53},"Api","\u002Fdocs\u002Fiam\u002Fapi","docs\u002Fiam\u002F05.API",[579,582,585],{"title":135,"path":580,"stem":581},"\u002Fdocs\u002Fiam\u002Fapi\u002Fapi","docs\u002Fiam\u002F05.API\u002F00.api",{"title":277,"path":583,"stem":584},"\u002Fdocs\u002Fiam\u002Fapi\u002Fmiddlewares","docs\u002Fiam\u002F05.API\u002F02.middlewares",{"title":273,"path":586,"stem":587},"\u002Fdocs\u002Fiam\u002Fapi\u002Froutes","docs\u002Fiam\u002F05.API\u002F03.routes",{"title":40,"path":42,"stem":70,"children":589},[590,591,592,593,605,606,607,608],{"title":40,"path":42,"stem":70},{"title":14,"path":74,"stem":75},{"title":77,"path":78,"stem":79},{"title":81,"path":82,"stem":83,"children":594},[595,596,597,598,599,600,601,602,603,604],{"title":81,"path":82,"stem":83},{"title":87,"path":88,"stem":89},{"title":91,"path":92,"stem":93},{"title":95,"path":96,"stem":97},{"title":99,"path":100,"stem":101},{"title":103,"path":104,"stem":105},{"title":107,"path":108,"stem":109},{"title":111,"path":112,"stem":113},{"title":115,"path":116,"stem":117},{"title":119,"path":120,"stem":121},{"title":123,"path":124,"stem":125},{"title":127,"path":128,"stem":129},{"title":131,"path":132,"stem":133},{"title":135,"path":136,"stem":137},{"title":285,"path":48,"stem":610,"children":611},"docs\u002Futils\u002Findex",[612,613,630,663,760],{"title":285,"path":48,"stem":610},{"title":614,"path":615,"stem":616,"children":617,"page":53},"Eslint","\u002Fdocs\u002Futils\u002Feslint","docs\u002Futils\u002Feslint",[618,622,626],{"title":619,"path":620,"stem":621},"React Config","\u002Fdocs\u002Futils\u002Feslint\u002Freact","docs\u002Futils\u002Feslint\u002Freact",{"title":623,"path":624,"stem":625},"TypeScript Config","\u002Fdocs\u002Futils\u002Feslint\u002Ftypescript","docs\u002Futils\u002Feslint\u002Ftypescript",{"title":627,"path":628,"stem":629},"Vue Config","\u002Fdocs\u002Futils\u002Feslint\u002Fvue","docs\u002Futils\u002Feslint\u002Fvue",{"title":631,"path":632,"stem":633,"children":634,"page":53},"Server","\u002Fdocs\u002Futils\u002Fserver","docs\u002Futils\u002Fserver",[635,639,643,647,651,655,659],{"title":636,"path":637,"stem":638},"Encryption","\u002Fdocs\u002Futils\u002Fserver\u002Fencryption","docs\u002Futils\u002Fserver\u002Fencryption",{"title":640,"path":641,"stem":642},"Path Resolver","\u002Fdocs\u002Futils\u002Fserver\u002Fpathresolver","docs\u002Futils\u002Fserver\u002FpathResolver",{"title":644,"path":645,"stem":646},"File Replacements","\u002Fdocs\u002Futils\u002Fserver\u002Freplace","docs\u002Futils\u002Fserver\u002Freplace",{"title":648,"path":649,"stem":650},"run","\u002Fdocs\u002Futils\u002Fserver\u002Frun","docs\u002Futils\u002Fserver\u002Frun",{"title":652,"path":653,"stem":654},"scheduleTask","\u002Fdocs\u002Futils\u002Fserver\u002Fscheduletask","docs\u002Futils\u002Fserver\u002FscheduleTask",{"title":656,"path":657,"stem":658},"spawnRun","\u002Fdocs\u002Futils\u002Fserver\u002Fspawnrun","docs\u002Futils\u002Fserver\u002FspawnRun",{"title":660,"path":661,"stem":662},"uploadCsv","\u002Fdocs\u002Futils\u002Fserver\u002Fuploadcsv","docs\u002Futils\u002Fserver\u002FuploadCsv",{"title":664,"path":665,"stem":666,"children":667,"page":53},"Shared","\u002Fdocs\u002Futils\u002Fshared","docs\u002Futils\u002Fshared",[668,672,676,680,684,688,692,696,700,704,708,712,716,720,724,728,732,736,740,744,748,752,756],{"title":669,"path":670,"stem":671},"BatchQueue","\u002Fdocs\u002Futils\u002Fshared\u002Fbatchqueue","docs\u002Futils\u002Fshared\u002FbatchQueue",{"title":673,"path":674,"stem":675},"capitalize","\u002Fdocs\u002Futils\u002Fshared\u002Fcapitalize","docs\u002Futils\u002Fshared\u002Fcapitalize",{"title":677,"path":678,"stem":679},"chunkProcess","\u002Fdocs\u002Futils\u002Fshared\u002Fchunkprocess","docs\u002Futils\u002Fshared\u002FchunkProcess",{"title":681,"path":682,"stem":683},"cleanObject","\u002Fdocs\u002Futils\u002Fshared\u002Fcleanobject","docs\u002Futils\u002Fshared\u002FcleanObject",{"title":685,"path":686,"stem":687},"createConfigManager","\u002Fdocs\u002Futils\u002Fshared\u002Fconfigurationdefiner","docs\u002Futils\u002Fshared\u002FconfigurationDefiner",{"title":689,"path":690,"stem":691},"debounce","\u002Fdocs\u002Futils\u002Fshared\u002Fdebounce","docs\u002Futils\u002Fshared\u002Fdebounce",{"title":693,"path":694,"stem":695},"ensureArray","\u002Fdocs\u002Futils\u002Fshared\u002Fensurearray","docs\u002Futils\u002Fshared\u002FensureArray",{"title":697,"path":698,"stem":699},"fetchWithRetry","\u002Fdocs\u002Futils\u002Fshared\u002Ffetchwithretry","docs\u002Futils\u002Fshared\u002FfetchWithRetry",{"title":701,"path":702,"stem":703},"filterEmptyValues","\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues","docs\u002Futils\u002Fshared\u002FfilterEmptyValues",{"title":705,"path":706,"stem":707},"findStringsInObject","\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues","docs\u002Futils\u002Fshared\u002FfindObjectValues",{"title":709,"path":710,"stem":711},"fisherYatesShuffle","\u002Fdocs\u002Futils\u002Fshared\u002Ffisheryatesshuffle","docs\u002Futils\u002Fshared\u002FfisherYatesShuffle",{"title":713,"path":714,"stem":715},"getRandomImage","\u002Fdocs\u002Futils\u002Fshared\u002Fgetrandomimage","docs\u002Futils\u002Fshared\u002FgetRandomImage",{"title":717,"path":718,"stem":719},"isObjectHasValues","\u002Fdocs\u002Futils\u002Fshared\u002Fisobjecthasvalues","docs\u002Futils\u002Fshared\u002FisObjectHasValues",{"title":721,"path":722,"stem":723},"isAsyncOrPromise","\u002Fdocs\u002Futils\u002Fshared\u002Fispromise","docs\u002Futils\u002Fshared\u002FisPromise",{"title":725,"path":726,"stem":727},"MiniCache","\u002Fdocs\u002Futils\u002Fshared\u002Fminicache","docs\u002Futils\u002Fshared\u002FminiCache",{"title":729,"path":730,"stem":731},"parseCookies","\u002Fdocs\u002Futils\u002Fshared\u002Fparserawcookies","docs\u002Futils\u002Fshared\u002FparseRawCookies",{"title":733,"path":734,"stem":735},"safeAction","\u002Fdocs\u002Futils\u002Fshared\u002Fpromiselocker","docs\u002Futils\u002Fshared\u002FpromiseLocker",{"title":737,"path":738,"stem":739},"Random","\u002Fdocs\u002Futils\u002Fshared\u002Frandom","docs\u002Futils\u002Fshared\u002Frandom",{"title":741,"path":742,"stem":743},"range","\u002Fdocs\u002Futils\u002Fshared\u002Frange","docs\u002Futils\u002Fshared\u002Frange",{"title":745,"path":746,"stem":747},"rateLimiters","\u002Fdocs\u002Futils\u002Fshared\u002Fratelimiters","docs\u002Futils\u002Fshared\u002FrateLimiters",{"title":749,"path":750,"stem":751},"safeObjectMerge","\u002Fdocs\u002Futils\u002Fshared\u002Fsafemerge","docs\u002Futils\u002Fshared\u002FsafeMerge",{"title":753,"path":754,"stem":755},"textTruncation","\u002Fdocs\u002Futils\u002Fshared\u002Ftexttruncation","docs\u002Futils\u002Fshared\u002FtextTruncation",{"title":757,"path":758,"stem":759},"validateZodSchema","\u002Fdocs\u002Futils\u002Fshared\u002Fvalidatezodschema","docs\u002Futils\u002Fshared\u002FvalidateZodSchema",{"title":761,"path":762,"stem":763,"children":764},"Utility Types","\u002Fdocs\u002Futils\u002Ftypes","docs\u002Futils\u002Ftypes\u002Findex",[765,766,770,774,778,782,786,790,794,798],{"title":761,"path":762,"stem":763},{"title":767,"path":768,"stem":769},"Brand","\u002Fdocs\u002Futils\u002Ftypes\u002Fbrand","docs\u002Futils\u002Ftypes\u002FBrand",{"title":771,"path":772,"stem":773},"DeepPartial","\u002Fdocs\u002Futils\u002Ftypes\u002Fdeeppartial","docs\u002Futils\u002Ftypes\u002FDeepPartial",{"title":775,"path":776,"stem":777},"Merge","\u002Fdocs\u002Futils\u002Ftypes\u002Fmerge","docs\u002Futils\u002Ftypes\u002FMerge",{"title":779,"path":780,"stem":781},"NonNullable","\u002Fdocs\u002Futils\u002Ftypes\u002Fnonnullable","docs\u002Futils\u002Ftypes\u002FNonNullable",{"title":783,"path":784,"stem":785},"Prettify","\u002Fdocs\u002Futils\u002Ftypes\u002Fprettify","docs\u002Futils\u002Ftypes\u002FPrettify",{"title":787,"path":788,"stem":789},"PromiseType","\u002Fdocs\u002Futils\u002Ftypes\u002Fpromisetype","docs\u002Futils\u002Ftypes\u002FPromiseType",{"title":791,"path":792,"stem":793},"RequireKeys","\u002Fdocs\u002Futils\u002Ftypes\u002Frequirekeys","docs\u002Futils\u002Ftypes\u002FRequireKeys",{"title":795,"path":796,"stem":797},"StandardResponse","\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse","docs\u002Futils\u002Ftypes\u002FStandardResponse",{"title":799,"path":800,"stem":801},"ValueOf","\u002Fdocs\u002Futils\u002Ftypes\u002Fvalueof","docs\u002Futils\u002Ftypes\u002FValueOf",{"id":4,"extension":5,"links":803,"meta":814,"stem":62,"__hash__":63},[804,812,813],{"nested":8,"label":9,"icon":10,"to":11,"children":805},[806,807,808,809,810,811],{"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":816,"title":127,"body":817,"description":4787,"extension":4788,"icon":4789,"meta":4790,"module":4791,"navigation":8,"path":128,"rawbody":4792,"seo":4793,"stem":129,"__hash__":4794},"docs\u002Fdocs\u002Fshield-base\u002F04.custom-data-sources.md",{"type":818,"value":819,"toc":4777},"minimark",[820,844,847,852,907,909,913,1477,1480,1504,1511,1618,1620,1624,1631,1764,1778,1780,1784,1791,2139,2141,2145,2152,2529,2531,2535,2538,3036,3039,3154,3179,3682,3689,4143,4145,4149,4162,4355,4362,4364,4368,4763,4773],[821,822,823,824,828,829,832,833,835,836,839,840,843],"p",{},"Shield Base can compile any JSON data you provide into a fully typed MMDB or LMDB database. The ",[825,826,827],"code",{},"compile"," subcommand and the ",[825,830,831],{},"compiler"," function handle both formats. The only requirements are that MMDB records contain a ",[825,834,741],{}," field, and LMDB records contain a ",[825,837,838],{},"key"," or ",[825,841,842],{},"id"," field.",[845,846],"hr",{},[848,849,851],"h2",{"id":850},"choosing-a-format","Choosing a Format",[853,854,855,871],"table",{},[856,857,858],"thead",{},[859,860,861,865,868],"tr",{},[862,863,864],"th",{},"Format",[862,866,867],{},"Use when",[862,869,870],{},"Required field",[872,873,874,891],"tbody",{},[859,875,876,883,886],{},[877,878,879],"td",{},[880,881,882],"strong",{},"MMDB",[877,884,885],{},"Your data is keyed by IP address or CIDR range",[877,887,888,890],{},[825,889,741],{}," (IPv4\u002FIPv6 address or CIDR)",[859,892,893,898,901],{},[877,894,895],{},[880,896,897],{},"LMDB",[877,899,900],{},"Your data is keyed by any string identifier",[877,902,903,839,905],{},[825,904,838],{},[825,906,842],{},[845,908],{},[848,910,912],{"id":911},"cli-compile-a-single-file","CLI: Compile a Single File",[914,915,916,1012,1066,1117,1168],"code-group",{},[917,918,924],"pre",{"className":919,"code":920,"filename":921,"language":922,"meta":923,"style":923},"language-bash shiki shiki-themes light-plus light-plus dracula","# Compile an MMDB database from a JSON file\npnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\n\n# Compile an LMDB database from a JSON file\npnpm dlx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n","pnpm","bash","",[825,925,926,935,973,979,985],{"__ignoreMap":923},[927,928,931],"span",{"class":929,"line":930},"line",1,[927,932,934],{"class":933},"sghk6","# Compile an MMDB database from a JSON file\n",[927,936,938,941,945,948,951,955,958,961,964,967,970],{"class":929,"line":937},2,[927,939,921],{"class":940},"sHOzp",[927,942,944],{"class":943},"sFB1V"," dlx",[927,946,947],{"class":943}," @riavzon\u002Fshield-base",[927,949,950],{"class":943}," compile",[927,952,954],{"class":953},"sjR7W"," --type",[927,956,957],{"class":943}," mmdb",[927,959,960],{"class":953}," --name",[927,962,963],{"class":943}," myRanges",[927,965,966],{"class":953}," --outputDir",[927,968,969],{"class":943}," .\u002Fout",[927,971,972],{"class":943}," example.json\n",[927,974,976],{"class":929,"line":975},3,[927,977,978],{"emptyLinePlaceholder":8},"\n",[927,980,982],{"class":929,"line":981},4,[927,983,984],{"class":933},"# Compile an LMDB database from a JSON file\n",[927,986,988,990,992,994,996,998,1001,1003,1006,1008,1010],{"class":929,"line":987},5,[927,989,921],{"class":940},[927,991,944],{"class":943},[927,993,947],{"class":943},[927,995,950],{"class":943},[927,997,954],{"class":953},[927,999,1000],{"class":943}," lmdb",[927,1002,960],{"class":953},[927,1004,1005],{"class":943}," myKeys",[927,1007,966],{"class":953},[927,1009,969],{"class":943},[927,1011,972],{"class":943},[917,1013,1016],{"className":919,"code":1014,"filename":1015,"language":922,"meta":923,"style":923},"yarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\nyarn dlx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n","yarn",[825,1017,1018,1042],{"__ignoreMap":923},[927,1019,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040],{"class":929,"line":930},[927,1021,1015],{"class":940},[927,1023,944],{"class":943},[927,1025,947],{"class":943},[927,1027,950],{"class":943},[927,1029,954],{"class":953},[927,1031,957],{"class":943},[927,1033,960],{"class":953},[927,1035,963],{"class":943},[927,1037,966],{"class":953},[927,1039,969],{"class":943},[927,1041,972],{"class":943},[927,1043,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064],{"class":929,"line":937},[927,1045,1015],{"class":940},[927,1047,944],{"class":943},[927,1049,947],{"class":943},[927,1051,950],{"class":943},[927,1053,954],{"class":953},[927,1055,1000],{"class":943},[927,1057,960],{"class":953},[927,1059,1005],{"class":943},[927,1061,966],{"class":953},[927,1063,969],{"class":943},[927,1065,972],{"class":943},[917,1067,1070],{"className":919,"code":1068,"filename":1069,"language":922,"meta":923,"style":923},"npx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\nnpx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n","npm",[825,1071,1072,1095],{"__ignoreMap":923},[927,1073,1074,1077,1079,1081,1083,1085,1087,1089,1091,1093],{"class":929,"line":930},[927,1075,1076],{"class":940},"npx",[927,1078,947],{"class":943},[927,1080,950],{"class":943},[927,1082,954],{"class":953},[927,1084,957],{"class":943},[927,1086,960],{"class":953},[927,1088,963],{"class":943},[927,1090,966],{"class":953},[927,1092,969],{"class":943},[927,1094,972],{"class":943},[927,1096,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115],{"class":929,"line":937},[927,1098,1076],{"class":940},[927,1100,947],{"class":943},[927,1102,950],{"class":943},[927,1104,954],{"class":953},[927,1106,1000],{"class":943},[927,1108,960],{"class":953},[927,1110,1005],{"class":943},[927,1112,966],{"class":953},[927,1114,969],{"class":943},[927,1116,972],{"class":943},[917,1118,1121],{"className":919,"code":1119,"filename":1120,"language":922,"meta":923,"style":923},"bunx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\nbunx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n","bun",[825,1122,1123,1146],{"__ignoreMap":923},[927,1124,1125,1128,1130,1132,1134,1136,1138,1140,1142,1144],{"class":929,"line":930},[927,1126,1127],{"class":940},"bunx",[927,1129,947],{"class":943},[927,1131,950],{"class":943},[927,1133,954],{"class":953},[927,1135,957],{"class":943},[927,1137,960],{"class":953},[927,1139,963],{"class":943},[927,1141,966],{"class":953},[927,1143,969],{"class":943},[927,1145,972],{"class":943},[927,1147,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166],{"class":929,"line":937},[927,1149,1127],{"class":940},[927,1151,947],{"class":943},[927,1153,950],{"class":943},[927,1155,954],{"class":953},[927,1157,1000],{"class":943},[927,1159,960],{"class":953},[927,1161,1005],{"class":943},[927,1163,966],{"class":953},[927,1165,969],{"class":943},[927,1167,972],{"class":943},[917,1169,1174],{"className":1170,"code":1171,"filename":1172,"language":1173,"meta":923,"style":923},"language-ts shiki shiki-themes light-plus light-plus dracula","import { compiler } from '@riavzon\u002Fshield-base';\n\n\u002F\u002F MMDB (IP range data)\nawait compiler({\n  type: 'mmdb',\n  input: {\n    data: 'example.json',  \u002F\u002F file path, raw JSON string, or array of objects\n    dataBaseName: 'myRanges',\n    outputPath: '.\u002Fout',\n    mmdbPath: 'mmdbctl',   \u002F\u002F required for mmdb\n    generateTypes: true,\n  },\n});\n\n\u002F\u002F LMDB (key-value data)\nawait compiler({\n  type: 'lmdb',\n  input: {\n    data: 'example.json',\n    dataBaseName: 'myKeys',\n    outputPath: '.\u002Fout',\n    generateTypes: true,\n    \u002F\u002F no mmdbPath needed for lmdb\n  },\n});\n","Programmatic","ts",[825,1175,1176,1208,1212,1217,1228,1247,1258,1279,1296,1313,1334,1347,1353,1359,1364,1370,1379,1395,1404,1419,1435,1450,1461,1467,1472],{"__ignoreMap":923},[927,1177,1178,1182,1186,1189,1192,1195,1199,1202,1205],{"class":929,"line":930},[927,1179,1181],{"class":1180},"sZ328","import",[927,1183,1185],{"class":1184},"sDd4n"," { ",[927,1187,831],{"class":1188},"sjsA6",[927,1190,1191],{"class":1184}," } ",[927,1193,1194],{"class":1180},"from",[927,1196,1198],{"class":1197},"sFkSl"," '",[927,1200,1201],{"class":943},"@riavzon\u002Fshield-base",[927,1203,1204],{"class":1197},"'",[927,1206,1207],{"class":1184},";\n",[927,1209,1210],{"class":929,"line":937},[927,1211,978],{"emptyLinePlaceholder":8},[927,1213,1214],{"class":929,"line":975},[927,1215,1216],{"class":933},"\u002F\u002F MMDB (IP range data)\n",[927,1218,1219,1222,1225],{"class":929,"line":981},[927,1220,1221],{"class":1180},"await",[927,1223,1224],{"class":940}," compiler",[927,1226,1227],{"class":1184},"({\n",[927,1229,1230,1233,1237,1239,1242,1244],{"class":929,"line":987},[927,1231,1232],{"class":1188},"  type",[927,1234,1236],{"class":1235},"s34zl",":",[927,1238,1198],{"class":1197},[927,1240,1241],{"class":943},"mmdb",[927,1243,1204],{"class":1197},[927,1245,1246],{"class":1184},",\n",[927,1248,1250,1253,1255],{"class":929,"line":1249},6,[927,1251,1252],{"class":1188},"  input",[927,1254,1236],{"class":1235},[927,1256,1257],{"class":1184}," {\n",[927,1259,1261,1264,1266,1268,1271,1273,1276],{"class":929,"line":1260},7,[927,1262,1263],{"class":1188},"    data",[927,1265,1236],{"class":1235},[927,1267,1198],{"class":1197},[927,1269,1270],{"class":943},"example.json",[927,1272,1204],{"class":1197},[927,1274,1275],{"class":1184},",  ",[927,1277,1278],{"class":933},"\u002F\u002F file path, raw JSON string, or array of objects\n",[927,1280,1282,1285,1287,1289,1292,1294],{"class":929,"line":1281},8,[927,1283,1284],{"class":1188},"    dataBaseName",[927,1286,1236],{"class":1235},[927,1288,1198],{"class":1197},[927,1290,1291],{"class":943},"myRanges",[927,1293,1204],{"class":1197},[927,1295,1246],{"class":1184},[927,1297,1299,1302,1304,1306,1309,1311],{"class":929,"line":1298},9,[927,1300,1301],{"class":1188},"    outputPath",[927,1303,1236],{"class":1235},[927,1305,1198],{"class":1197},[927,1307,1308],{"class":943},".\u002Fout",[927,1310,1204],{"class":1197},[927,1312,1246],{"class":1184},[927,1314,1316,1319,1321,1323,1326,1328,1331],{"class":929,"line":1315},10,[927,1317,1318],{"class":1188},"    mmdbPath",[927,1320,1236],{"class":1235},[927,1322,1198],{"class":1197},[927,1324,1325],{"class":943},"mmdbctl",[927,1327,1204],{"class":1197},[927,1329,1330],{"class":1184},",   ",[927,1332,1333],{"class":933},"\u002F\u002F required for mmdb\n",[927,1335,1337,1340,1342,1345],{"class":929,"line":1336},11,[927,1338,1339],{"class":1188},"    generateTypes",[927,1341,1236],{"class":1235},[927,1343,1344],{"class":953}," true",[927,1346,1246],{"class":1184},[927,1348,1350],{"class":929,"line":1349},12,[927,1351,1352],{"class":1184},"  },\n",[927,1354,1356],{"class":929,"line":1355},13,[927,1357,1358],{"class":1184},"});\n",[927,1360,1362],{"class":929,"line":1361},14,[927,1363,978],{"emptyLinePlaceholder":8},[927,1365,1367],{"class":929,"line":1366},15,[927,1368,1369],{"class":933},"\u002F\u002F LMDB (key-value data)\n",[927,1371,1373,1375,1377],{"class":929,"line":1372},16,[927,1374,1221],{"class":1180},[927,1376,1224],{"class":940},[927,1378,1227],{"class":1184},[927,1380,1382,1384,1386,1388,1391,1393],{"class":929,"line":1381},17,[927,1383,1232],{"class":1188},[927,1385,1236],{"class":1235},[927,1387,1198],{"class":1197},[927,1389,1390],{"class":943},"lmdb",[927,1392,1204],{"class":1197},[927,1394,1246],{"class":1184},[927,1396,1398,1400,1402],{"class":929,"line":1397},18,[927,1399,1252],{"class":1188},[927,1401,1236],{"class":1235},[927,1403,1257],{"class":1184},[927,1405,1407,1409,1411,1413,1415,1417],{"class":929,"line":1406},19,[927,1408,1263],{"class":1188},[927,1410,1236],{"class":1235},[927,1412,1198],{"class":1197},[927,1414,1270],{"class":943},[927,1416,1204],{"class":1197},[927,1418,1246],{"class":1184},[927,1420,1422,1424,1426,1428,1431,1433],{"class":929,"line":1421},20,[927,1423,1284],{"class":1188},[927,1425,1236],{"class":1235},[927,1427,1198],{"class":1197},[927,1429,1430],{"class":943},"myKeys",[927,1432,1204],{"class":1197},[927,1434,1246],{"class":1184},[927,1436,1438,1440,1442,1444,1446,1448],{"class":929,"line":1437},21,[927,1439,1301],{"class":1188},[927,1441,1236],{"class":1235},[927,1443,1198],{"class":1197},[927,1445,1308],{"class":943},[927,1447,1204],{"class":1197},[927,1449,1246],{"class":1184},[927,1451,1453,1455,1457,1459],{"class":929,"line":1452},22,[927,1454,1339],{"class":1188},[927,1456,1236],{"class":1235},[927,1458,1344],{"class":953},[927,1460,1246],{"class":1184},[927,1462,1464],{"class":929,"line":1463},23,[927,1465,1466],{"class":933},"    \u002F\u002F no mmdbPath needed for lmdb\n",[927,1468,1470],{"class":929,"line":1469},24,[927,1471,1352],{"class":1184},[927,1473,1475],{"class":929,"line":1474},25,[927,1476,1358],{"class":1184},[821,1478,1479],{},"This produces:",[1481,1482,1483,1498],"ul",{},[1484,1485,1486,1489,1490,1493,1494,1497],"li",{},[825,1487,1488],{},".\u002Fout\u002FmyRanges.mmdb"," (or ",[825,1491,1492],{},"myKeys.mdb"," + ",[825,1495,1496],{},"myKeys.mdb-lock"," for LMDB)",[1484,1499,1500,1503],{},[825,1501,1502],{},".\u002Fout\u002FmyRangesTypes.ts"," (TypeScript types auto-generated from the data schema)",[821,1505,1506,1507,1510],{},"Pass ",[825,1508,1509],{},"--no-types"," to skip type generation:",[914,1512,1513,1541,1568,1593],{},[917,1514,1516],{"className":919,"code":1515,"filename":921,"language":922,"meta":923,"style":923},"pnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n",[825,1517,1518],{"__ignoreMap":923},[927,1519,1520,1522,1524,1526,1528,1530,1532,1534,1536,1539],{"class":929,"line":930},[927,1521,921],{"class":940},[927,1523,944],{"class":943},[927,1525,947],{"class":943},[927,1527,950],{"class":943},[927,1529,954],{"class":953},[927,1531,957],{"class":943},[927,1533,960],{"class":953},[927,1535,963],{"class":943},[927,1537,1538],{"class":953}," --no-types",[927,1540,972],{"class":943},[917,1542,1544],{"className":919,"code":1543,"filename":1015,"language":922,"meta":923,"style":923},"yarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n",[825,1545,1546],{"__ignoreMap":923},[927,1547,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566],{"class":929,"line":930},[927,1549,1015],{"class":940},[927,1551,944],{"class":943},[927,1553,947],{"class":943},[927,1555,950],{"class":943},[927,1557,954],{"class":953},[927,1559,957],{"class":943},[927,1561,960],{"class":953},[927,1563,963],{"class":943},[927,1565,1538],{"class":953},[927,1567,972],{"class":943},[917,1569,1571],{"className":919,"code":1570,"filename":1069,"language":922,"meta":923,"style":923},"npx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n",[825,1572,1573],{"__ignoreMap":923},[927,1574,1575,1577,1579,1581,1583,1585,1587,1589,1591],{"class":929,"line":930},[927,1576,1076],{"class":940},[927,1578,947],{"class":943},[927,1580,950],{"class":943},[927,1582,954],{"class":953},[927,1584,957],{"class":943},[927,1586,960],{"class":953},[927,1588,963],{"class":943},[927,1590,1538],{"class":953},[927,1592,972],{"class":943},[917,1594,1596],{"className":919,"code":1595,"filename":1120,"language":922,"meta":923,"style":923},"bunx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n",[825,1597,1598],{"__ignoreMap":923},[927,1599,1600,1602,1604,1606,1608,1610,1612,1614,1616],{"class":929,"line":930},[927,1601,1127],{"class":940},[927,1603,947],{"class":943},[927,1605,950],{"class":943},[927,1607,954],{"class":953},[927,1609,957],{"class":943},[927,1611,960],{"class":953},[927,1613,963],{"class":943},[927,1615,1538],{"class":953},[927,1617,972],{"class":943},[845,1619],{},[848,1621,1623],{"id":1622},"cli-batch-processing","CLI: Batch Processing",[821,1625,1626,1627,1630],{},"When you provide multiple input files, the first output uses your ",[825,1628,1629],{},"--name"," and subsequent files are indexed:",[914,1632,1633,1669,1702,1733],{},[917,1634,1636],{"className":919,"code":1635,"filename":921,"language":922,"meta":923,"style":923},"pnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n",[825,1637,1638],{"__ignoreMap":923},[927,1639,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1663,1666],{"class":929,"line":930},[927,1641,921],{"class":940},[927,1643,944],{"class":943},[927,1645,947],{"class":943},[927,1647,950],{"class":943},[927,1649,954],{"class":953},[927,1651,957],{"class":943},[927,1653,960],{"class":953},[927,1655,963],{"class":943},[927,1657,966],{"class":953},[927,1659,969],{"class":943},[927,1661,1662],{"class":943}," file1.json",[927,1664,1665],{"class":943}," file2.json",[927,1667,1668],{"class":943}," file3.json\n",[917,1670,1672],{"className":919,"code":1671,"filename":1015,"language":922,"meta":923,"style":923},"yarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n",[825,1673,1674],{"__ignoreMap":923},[927,1675,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700],{"class":929,"line":930},[927,1677,1015],{"class":940},[927,1679,944],{"class":943},[927,1681,947],{"class":943},[927,1683,950],{"class":943},[927,1685,954],{"class":953},[927,1687,957],{"class":943},[927,1689,960],{"class":953},[927,1691,963],{"class":943},[927,1693,966],{"class":953},[927,1695,969],{"class":943},[927,1697,1662],{"class":943},[927,1699,1665],{"class":943},[927,1701,1668],{"class":943},[917,1703,1705],{"className":919,"code":1704,"filename":1069,"language":922,"meta":923,"style":923},"npx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n",[825,1706,1707],{"__ignoreMap":923},[927,1708,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731],{"class":929,"line":930},[927,1710,1076],{"class":940},[927,1712,947],{"class":943},[927,1714,950],{"class":943},[927,1716,954],{"class":953},[927,1718,957],{"class":943},[927,1720,960],{"class":953},[927,1722,963],{"class":943},[927,1724,966],{"class":953},[927,1726,969],{"class":943},[927,1728,1662],{"class":943},[927,1730,1665],{"class":943},[927,1732,1668],{"class":943},[917,1734,1736],{"className":919,"code":1735,"filename":1120,"language":922,"meta":923,"style":923},"bunx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n",[825,1737,1738],{"__ignoreMap":923},[927,1739,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762],{"class":929,"line":930},[927,1741,1127],{"class":940},[927,1743,947],{"class":943},[927,1745,950],{"class":943},[927,1747,954],{"class":953},[927,1749,957],{"class":943},[927,1751,960],{"class":953},[927,1753,963],{"class":943},[927,1755,966],{"class":953},[927,1757,969],{"class":943},[927,1759,1662],{"class":943},[927,1761,1665],{"class":943},[927,1763,1668],{"class":943},[821,1765,1766,1767,1770,1771,1770,1774,1777],{},"Produces: ",[825,1768,1769],{},"myRanges.mmdb",", ",[825,1772,1773],{},"myRanges-1.mmdb",[825,1775,1776],{},"myRanges-2.mmdb"," and a matching set of type files.",[845,1779],{},[848,1781,1783],{"id":1782},"programmatic-input-formats","Programmatic: Input Formats",[821,1785,1786,1787,1790],{},"The ",[825,1788,1789],{},"data"," field in the compiler options accepts three forms:",[917,1792,1795],{"className":1170,"code":1793,"filename":1794,"language":1173,"meta":923,"style":923},"import { compiler } from '@riavzon\u002Fshield-base';\n\n\u002F\u002F 1. File path\nawait compiler({ type: 'mmdb', input: { data: '.\u002Fexample.json', dataBaseName: 'db', mmdbPath: 'mmdbctl', outputPath: '.\u002F', generateTypes: true } });\n\n\u002F\u002F 2. Raw JSON string\nawait compiler({ type: 'mmdb', input: { data: '[{\"range\":\"1.1.1.0\u002F24\"}]', dataBaseName: 'db', mmdbPath: 'mmdbctl', outputPath: '.\u002F', generateTypes: true } });\n\n\u002F\u002F 3. JavaScript array\nconst data = [{ range: '1.1.1.0\u002F24', name: 'Cloudflare' }];\nawait compiler({ type: 'mmdb', input: { data, dataBaseName: 'db', mmdbPath: 'mmdbctl', outputPath: '.\u002F', generateTypes: true } });\n","build.ts",[825,1796,1797,1817,1821,1826,1919,1923,1928,2011,2015,2020,2065],{"__ignoreMap":923},[927,1798,1799,1801,1803,1805,1807,1809,1811,1813,1815],{"class":929,"line":930},[927,1800,1181],{"class":1180},[927,1802,1185],{"class":1184},[927,1804,831],{"class":1188},[927,1806,1191],{"class":1184},[927,1808,1194],{"class":1180},[927,1810,1198],{"class":1197},[927,1812,1201],{"class":943},[927,1814,1204],{"class":1197},[927,1816,1207],{"class":1184},[927,1818,1819],{"class":929,"line":937},[927,1820,978],{"emptyLinePlaceholder":8},[927,1822,1823],{"class":929,"line":975},[927,1824,1825],{"class":933},"\u002F\u002F 1. File path\n",[927,1827,1828,1830,1832,1835,1838,1840,1842,1844,1846,1848,1851,1853,1855,1857,1859,1861,1864,1866,1868,1871,1873,1875,1878,1880,1882,1885,1887,1889,1891,1893,1895,1898,1900,1902,1905,1907,1909,1912,1914,1916],{"class":929,"line":981},[927,1829,1221],{"class":1180},[927,1831,1224],{"class":940},[927,1833,1834],{"class":1184},"({ ",[927,1836,1837],{"class":1188},"type",[927,1839,1236],{"class":1235},[927,1841,1198],{"class":1197},[927,1843,1241],{"class":943},[927,1845,1204],{"class":1197},[927,1847,1770],{"class":1184},[927,1849,1850],{"class":1188},"input",[927,1852,1236],{"class":1235},[927,1854,1185],{"class":1184},[927,1856,1789],{"class":1188},[927,1858,1236],{"class":1235},[927,1860,1198],{"class":1197},[927,1862,1863],{"class":943},".\u002Fexample.json",[927,1865,1204],{"class":1197},[927,1867,1770],{"class":1184},[927,1869,1870],{"class":1188},"dataBaseName",[927,1872,1236],{"class":1235},[927,1874,1198],{"class":1197},[927,1876,1877],{"class":943},"db",[927,1879,1204],{"class":1197},[927,1881,1770],{"class":1184},[927,1883,1884],{"class":1188},"mmdbPath",[927,1886,1236],{"class":1235},[927,1888,1198],{"class":1197},[927,1890,1325],{"class":943},[927,1892,1204],{"class":1197},[927,1894,1770],{"class":1184},[927,1896,1897],{"class":1188},"outputPath",[927,1899,1236],{"class":1235},[927,1901,1198],{"class":1197},[927,1903,1904],{"class":943},".\u002F",[927,1906,1204],{"class":1197},[927,1908,1770],{"class":1184},[927,1910,1911],{"class":1188},"generateTypes",[927,1913,1236],{"class":1235},[927,1915,1344],{"class":953},[927,1917,1918],{"class":1184}," } });\n",[927,1920,1921],{"class":929,"line":987},[927,1922,978],{"emptyLinePlaceholder":8},[927,1924,1925],{"class":929,"line":1249},[927,1926,1927],{"class":933},"\u002F\u002F 2. Raw JSON string\n",[927,1929,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009],{"class":929,"line":1260},[927,1931,1221],{"class":1180},[927,1933,1224],{"class":940},[927,1935,1834],{"class":1184},[927,1937,1837],{"class":1188},[927,1939,1236],{"class":1235},[927,1941,1198],{"class":1197},[927,1943,1241],{"class":943},[927,1945,1204],{"class":1197},[927,1947,1770],{"class":1184},[927,1949,1850],{"class":1188},[927,1951,1236],{"class":1235},[927,1953,1185],{"class":1184},[927,1955,1789],{"class":1188},[927,1957,1236],{"class":1235},[927,1959,1198],{"class":1197},[927,1961,1962],{"class":943},"[{\"range\":\"1.1.1.0\u002F24\"}]",[927,1964,1204],{"class":1197},[927,1966,1770],{"class":1184},[927,1968,1870],{"class":1188},[927,1970,1236],{"class":1235},[927,1972,1198],{"class":1197},[927,1974,1877],{"class":943},[927,1976,1204],{"class":1197},[927,1978,1770],{"class":1184},[927,1980,1884],{"class":1188},[927,1982,1236],{"class":1235},[927,1984,1198],{"class":1197},[927,1986,1325],{"class":943},[927,1988,1204],{"class":1197},[927,1990,1770],{"class":1184},[927,1992,1897],{"class":1188},[927,1994,1236],{"class":1235},[927,1996,1198],{"class":1197},[927,1998,1904],{"class":943},[927,2000,1204],{"class":1197},[927,2002,1770],{"class":1184},[927,2004,1911],{"class":1188},[927,2006,1236],{"class":1235},[927,2008,1344],{"class":953},[927,2010,1918],{"class":1184},[927,2012,2013],{"class":929,"line":1281},[927,2014,978],{"emptyLinePlaceholder":8},[927,2016,2017],{"class":929,"line":1298},[927,2018,2019],{"class":933},"\u002F\u002F 3. JavaScript array\n",[927,2021,2022,2026,2030,2034,2037,2039,2041,2043,2046,2048,2050,2053,2055,2057,2060,2062],{"class":929,"line":1315},[927,2023,2025],{"class":2024},"sl46w","const",[927,2027,2029],{"class":2028},"s3JHE"," data",[927,2031,2033],{"class":2032},"saOXh"," =",[927,2035,2036],{"class":1184}," [{ ",[927,2038,741],{"class":1188},[927,2040,1236],{"class":1235},[927,2042,1198],{"class":1197},[927,2044,2045],{"class":943},"1.1.1.0\u002F24",[927,2047,1204],{"class":1197},[927,2049,1770],{"class":1184},[927,2051,2052],{"class":1188},"name",[927,2054,1236],{"class":1235},[927,2056,1198],{"class":1197},[927,2058,2059],{"class":943},"Cloudflare",[927,2061,1204],{"class":1197},[927,2063,2064],{"class":1184}," }];\n",[927,2066,2067,2069,2071,2073,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137],{"class":929,"line":1336},[927,2068,1221],{"class":1180},[927,2070,1224],{"class":940},[927,2072,1834],{"class":1184},[927,2074,1837],{"class":1188},[927,2076,1236],{"class":1235},[927,2078,1198],{"class":1197},[927,2080,1241],{"class":943},[927,2082,1204],{"class":1197},[927,2084,1770],{"class":1184},[927,2086,1850],{"class":1188},[927,2088,1236],{"class":1235},[927,2090,1185],{"class":1184},[927,2092,1789],{"class":1188},[927,2094,1770],{"class":1184},[927,2096,1870],{"class":1188},[927,2098,1236],{"class":1235},[927,2100,1198],{"class":1197},[927,2102,1877],{"class":943},[927,2104,1204],{"class":1197},[927,2106,1770],{"class":1184},[927,2108,1884],{"class":1188},[927,2110,1236],{"class":1235},[927,2112,1198],{"class":1197},[927,2114,1325],{"class":943},[927,2116,1204],{"class":1197},[927,2118,1770],{"class":1184},[927,2120,1897],{"class":1188},[927,2122,1236],{"class":1235},[927,2124,1198],{"class":1197},[927,2126,1904],{"class":943},[927,2128,1204],{"class":1197},[927,2130,1770],{"class":1184},[927,2132,1911],{"class":1188},[927,2134,1236],{"class":1235},[927,2136,1344],{"class":953},[927,2138,1918],{"class":1184},[845,2140],{},[848,2142,2144],{"id":2143},"programmatic-batch-processing","Programmatic: Batch Processing",[821,2146,2147,2148,2151],{},"Provide a ",[825,2149,2150],{},"StringOfSources[]"," array to compile multiple JSON files into separate databases in one call:",[917,2153,2155],{"className":1170,"code":2154,"filename":1794,"language":1173,"meta":923,"style":923},"import { compiler } from '@riavzon\u002Fshield-base';\nimport type { StringOfSources } from '@riavzon\u002Fshield-base';\n\nconst sources: StringOfSources[] = [\n  { pathToJson: 'ranges1.json', dataBaseName: 'rangesA', outputPath: '.\u002Fout' },\n  { pathToJson: 'ranges2.json', dataBaseName: 'rangesB', outputPath: '.\u002Fout' },\n];\n\n\u002F\u002F MMDB batch\nawait compiler({\n  type: 'mmdb',\n  input: {\n    data: sources,\n    dataBaseName: 'rangesA',\n    mmdbPath: 'mmdbctl',\n    outputPath: '.\u002Fout',\n    generateTypes: true,\n  },\n});\n\n\u002F\u002F LMDB batch\nawait compiler({\n  type: 'lmdb',\n  input: {\n    data: sources,\n    dataBaseName: 'keysA',\n    outputPath: '.\u002Fout',\n    generateTypes: true,\n  },\n});\n",[825,2156,2157,2177,2201,2205,2227,2272,2314,2319,2323,2328,2336,2350,2358,2368,2382,2396,2410,2420,2424,2428,2432,2437,2445,2459,2467,2477,2493,2508,2519,2524],{"__ignoreMap":923},[927,2158,2159,2161,2163,2165,2167,2169,2171,2173,2175],{"class":929,"line":930},[927,2160,1181],{"class":1180},[927,2162,1185],{"class":1184},[927,2164,831],{"class":1188},[927,2166,1191],{"class":1184},[927,2168,1194],{"class":1180},[927,2170,1198],{"class":1197},[927,2172,1201],{"class":943},[927,2174,1204],{"class":1197},[927,2176,1207],{"class":1184},[927,2178,2179,2181,2184,2186,2189,2191,2193,2195,2197,2199],{"class":929,"line":937},[927,2180,1181],{"class":1180},[927,2182,2183],{"class":1180}," type",[927,2185,1185],{"class":1184},[927,2187,2188],{"class":1188},"StringOfSources",[927,2190,1191],{"class":1184},[927,2192,1194],{"class":1180},[927,2194,1198],{"class":1197},[927,2196,1201],{"class":943},[927,2198,1204],{"class":1197},[927,2200,1207],{"class":1184},[927,2202,2203],{"class":929,"line":975},[927,2204,978],{"emptyLinePlaceholder":8},[927,2206,2207,2209,2212,2214,2218,2221,2224],{"class":929,"line":981},[927,2208,2025],{"class":2024},[927,2210,2211],{"class":2028}," sources",[927,2213,1236],{"class":2032},[927,2215,2217],{"class":2216},"sFs1U"," StringOfSources",[927,2219,2220],{"class":1184},"[] ",[927,2222,2223],{"class":2032},"=",[927,2225,2226],{"class":1184}," [\n",[927,2228,2229,2232,2235,2237,2239,2242,2244,2246,2248,2250,2252,2255,2257,2259,2261,2263,2265,2267,2269],{"class":929,"line":987},[927,2230,2231],{"class":1184},"  { ",[927,2233,2234],{"class":1188},"pathToJson",[927,2236,1236],{"class":1235},[927,2238,1198],{"class":1197},[927,2240,2241],{"class":943},"ranges1.json",[927,2243,1204],{"class":1197},[927,2245,1770],{"class":1184},[927,2247,1870],{"class":1188},[927,2249,1236],{"class":1235},[927,2251,1198],{"class":1197},[927,2253,2254],{"class":943},"rangesA",[927,2256,1204],{"class":1197},[927,2258,1770],{"class":1184},[927,2260,1897],{"class":1188},[927,2262,1236],{"class":1235},[927,2264,1198],{"class":1197},[927,2266,1308],{"class":943},[927,2268,1204],{"class":1197},[927,2270,2271],{"class":1184}," },\n",[927,2273,2274,2276,2278,2280,2282,2285,2287,2289,2291,2293,2295,2298,2300,2302,2304,2306,2308,2310,2312],{"class":929,"line":1249},[927,2275,2231],{"class":1184},[927,2277,2234],{"class":1188},[927,2279,1236],{"class":1235},[927,2281,1198],{"class":1197},[927,2283,2284],{"class":943},"ranges2.json",[927,2286,1204],{"class":1197},[927,2288,1770],{"class":1184},[927,2290,1870],{"class":1188},[927,2292,1236],{"class":1235},[927,2294,1198],{"class":1197},[927,2296,2297],{"class":943},"rangesB",[927,2299,1204],{"class":1197},[927,2301,1770],{"class":1184},[927,2303,1897],{"class":1188},[927,2305,1236],{"class":1235},[927,2307,1198],{"class":1197},[927,2309,1308],{"class":943},[927,2311,1204],{"class":1197},[927,2313,2271],{"class":1184},[927,2315,2316],{"class":929,"line":1260},[927,2317,2318],{"class":1184},"];\n",[927,2320,2321],{"class":929,"line":1281},[927,2322,978],{"emptyLinePlaceholder":8},[927,2324,2325],{"class":929,"line":1298},[927,2326,2327],{"class":933},"\u002F\u002F MMDB batch\n",[927,2329,2330,2332,2334],{"class":929,"line":1315},[927,2331,1221],{"class":1180},[927,2333,1224],{"class":940},[927,2335,1227],{"class":1184},[927,2337,2338,2340,2342,2344,2346,2348],{"class":929,"line":1336},[927,2339,1232],{"class":1188},[927,2341,1236],{"class":1235},[927,2343,1198],{"class":1197},[927,2345,1241],{"class":943},[927,2347,1204],{"class":1197},[927,2349,1246],{"class":1184},[927,2351,2352,2354,2356],{"class":929,"line":1349},[927,2353,1252],{"class":1188},[927,2355,1236],{"class":1235},[927,2357,1257],{"class":1184},[927,2359,2360,2362,2364,2366],{"class":929,"line":1355},[927,2361,1263],{"class":1188},[927,2363,1236],{"class":1235},[927,2365,2211],{"class":1188},[927,2367,1246],{"class":1184},[927,2369,2370,2372,2374,2376,2378,2380],{"class":929,"line":1361},[927,2371,1284],{"class":1188},[927,2373,1236],{"class":1235},[927,2375,1198],{"class":1197},[927,2377,2254],{"class":943},[927,2379,1204],{"class":1197},[927,2381,1246],{"class":1184},[927,2383,2384,2386,2388,2390,2392,2394],{"class":929,"line":1366},[927,2385,1318],{"class":1188},[927,2387,1236],{"class":1235},[927,2389,1198],{"class":1197},[927,2391,1325],{"class":943},[927,2393,1204],{"class":1197},[927,2395,1246],{"class":1184},[927,2397,2398,2400,2402,2404,2406,2408],{"class":929,"line":1372},[927,2399,1301],{"class":1188},[927,2401,1236],{"class":1235},[927,2403,1198],{"class":1197},[927,2405,1308],{"class":943},[927,2407,1204],{"class":1197},[927,2409,1246],{"class":1184},[927,2411,2412,2414,2416,2418],{"class":929,"line":1381},[927,2413,1339],{"class":1188},[927,2415,1236],{"class":1235},[927,2417,1344],{"class":953},[927,2419,1246],{"class":1184},[927,2421,2422],{"class":929,"line":1397},[927,2423,1352],{"class":1184},[927,2425,2426],{"class":929,"line":1406},[927,2427,1358],{"class":1184},[927,2429,2430],{"class":929,"line":1421},[927,2431,978],{"emptyLinePlaceholder":8},[927,2433,2434],{"class":929,"line":1437},[927,2435,2436],{"class":933},"\u002F\u002F LMDB batch\n",[927,2438,2439,2441,2443],{"class":929,"line":1452},[927,2440,1221],{"class":1180},[927,2442,1224],{"class":940},[927,2444,1227],{"class":1184},[927,2446,2447,2449,2451,2453,2455,2457],{"class":929,"line":1463},[927,2448,1232],{"class":1188},[927,2450,1236],{"class":1235},[927,2452,1198],{"class":1197},[927,2454,1390],{"class":943},[927,2456,1204],{"class":1197},[927,2458,1246],{"class":1184},[927,2460,2461,2463,2465],{"class":929,"line":1469},[927,2462,1252],{"class":1188},[927,2464,1236],{"class":1235},[927,2466,1257],{"class":1184},[927,2468,2469,2471,2473,2475],{"class":929,"line":1474},[927,2470,1263],{"class":1188},[927,2472,1236],{"class":1235},[927,2474,2211],{"class":1188},[927,2476,1246],{"class":1184},[927,2478,2480,2482,2484,2486,2489,2491],{"class":929,"line":2479},26,[927,2481,1284],{"class":1188},[927,2483,1236],{"class":1235},[927,2485,1198],{"class":1197},[927,2487,2488],{"class":943},"keysA",[927,2490,1204],{"class":1197},[927,2492,1246],{"class":1184},[927,2494,2496,2498,2500,2502,2504,2506],{"class":929,"line":2495},27,[927,2497,1301],{"class":1188},[927,2499,1236],{"class":1235},[927,2501,1198],{"class":1197},[927,2503,1308],{"class":943},[927,2505,1204],{"class":1197},[927,2507,1246],{"class":1184},[927,2509,2511,2513,2515,2517],{"class":929,"line":2510},28,[927,2512,1339],{"class":1188},[927,2514,1236],{"class":1235},[927,2516,1344],{"class":953},[927,2518,1246],{"class":1184},[927,2520,2522],{"class":929,"line":2521},29,[927,2523,1352],{"class":1184},[927,2525,2527],{"class":929,"line":2526},30,[927,2528,1358],{"class":1184},[845,2530],{},[848,2532,2534],{"id":2533},"full-example-nested-mmdb-data","Full Example: Nested MMDB Data",[821,2536,2537],{},"Shield Base handles deeply nested JSON structures. Given this input:",[917,2539,2542],{"className":2540,"code":2541,"filename":1270,"language":5,"meta":923,"style":923},"language-json shiki shiki-themes light-plus light-plus dracula","[\n  {\n    \"range\": \"1.1.1.0\u002F24\",\n    \"metadata\": {\n      \"version\": \"1.0.0\",\n      \"author\": \"Person\",\n      \"tags\": [\"dns\", \"secure\", \"fast\"],\n      \"sub_data\": {\n        \"level_1\": { \n          \"level_2\": {\n            \"level_3\": {\n              \"level_4\": {\n                \"deep_value\": \"Success\",\n                \"array_of_objects\": [\n                  { \"index\": 0, \"active\": true },\n                  { \"index\": 1, \"active\": false }\n                ],\n                \"mixed_types\": [1, \"two\", { \"three\": 3 }]\n              }\n            }\n          }\n        }\n      }\n    },\n    \"organization\": {\n      \"name\": \"Cloudflare, Inc.\",\n      \"details\": {\n        \"headquarters\": \"San Francisco\",\n        \"employees\": 3000,\n        \"is_public\": true\n      }\n    }\n  },\n]\n",[825,2543,2544,2549,2554,2577,2590,2611,2631,2673,2686,2701,2715,2729,2743,2764,2777,2810,2841,2846,2889,2894,2899,2904,2909,2914,2919,2932,2951,2964,2984,3000,3014,3019,3025,3030],{"__ignoreMap":923},[927,2545,2546],{"class":929,"line":930},[927,2547,2548],{"class":1184},"[\n",[927,2550,2551],{"class":929,"line":937},[927,2552,2553],{"class":1184},"  {\n",[927,2555,2556,2560,2563,2566,2568,2571,2573,2575],{"class":929,"line":975},[927,2557,2559],{"class":2558},"saJyd","    \"",[927,2561,741],{"class":2562},"s_W10",[927,2564,2565],{"class":2558},"\"",[927,2567,1236],{"class":2032},[927,2569,2570],{"class":1197}," \"",[927,2572,2045],{"class":943},[927,2574,2565],{"class":1197},[927,2576,1246],{"class":1184},[927,2578,2579,2581,2584,2586,2588],{"class":929,"line":981},[927,2580,2559],{"class":2558},[927,2582,2583],{"class":2562},"metadata",[927,2585,2565],{"class":2558},[927,2587,1236],{"class":2032},[927,2589,1257],{"class":1184},[927,2591,2592,2595,2598,2600,2602,2604,2607,2609],{"class":929,"line":987},[927,2593,2594],{"class":2558},"      \"",[927,2596,2597],{"class":2562},"version",[927,2599,2565],{"class":2558},[927,2601,1236],{"class":2032},[927,2603,2570],{"class":1197},[927,2605,2606],{"class":943},"1.0.0",[927,2608,2565],{"class":1197},[927,2610,1246],{"class":1184},[927,2612,2613,2615,2618,2620,2622,2624,2627,2629],{"class":929,"line":1249},[927,2614,2594],{"class":2558},[927,2616,2617],{"class":2562},"author",[927,2619,2565],{"class":2558},[927,2621,1236],{"class":2032},[927,2623,2570],{"class":1197},[927,2625,2626],{"class":943},"Person",[927,2628,2565],{"class":1197},[927,2630,1246],{"class":1184},[927,2632,2633,2635,2638,2640,2642,2645,2647,2650,2652,2654,2656,2659,2661,2663,2665,2668,2670],{"class":929,"line":1260},[927,2634,2594],{"class":2558},[927,2636,2637],{"class":2562},"tags",[927,2639,2565],{"class":2558},[927,2641,1236],{"class":2032},[927,2643,2644],{"class":1184}," [",[927,2646,2565],{"class":1197},[927,2648,2649],{"class":943},"dns",[927,2651,2565],{"class":1197},[927,2653,1770],{"class":1184},[927,2655,2565],{"class":1197},[927,2657,2658],{"class":943},"secure",[927,2660,2565],{"class":1197},[927,2662,1770],{"class":1184},[927,2664,2565],{"class":1197},[927,2666,2667],{"class":943},"fast",[927,2669,2565],{"class":1197},[927,2671,2672],{"class":1184},"],\n",[927,2674,2675,2677,2680,2682,2684],{"class":929,"line":1281},[927,2676,2594],{"class":2558},[927,2678,2679],{"class":2562},"sub_data",[927,2681,2565],{"class":2558},[927,2683,1236],{"class":2032},[927,2685,1257],{"class":1184},[927,2687,2688,2691,2694,2696,2698],{"class":929,"line":1298},[927,2689,2690],{"class":2558},"        \"",[927,2692,2693],{"class":2562},"level_1",[927,2695,2565],{"class":2558},[927,2697,1236],{"class":2032},[927,2699,2700],{"class":1184}," { \n",[927,2702,2703,2706,2709,2711,2713],{"class":929,"line":1315},[927,2704,2705],{"class":2558},"          \"",[927,2707,2708],{"class":2562},"level_2",[927,2710,2565],{"class":2558},[927,2712,1236],{"class":2032},[927,2714,1257],{"class":1184},[927,2716,2717,2720,2723,2725,2727],{"class":929,"line":1336},[927,2718,2719],{"class":2558},"            \"",[927,2721,2722],{"class":2562},"level_3",[927,2724,2565],{"class":2558},[927,2726,1236],{"class":2032},[927,2728,1257],{"class":1184},[927,2730,2731,2734,2737,2739,2741],{"class":929,"line":1349},[927,2732,2733],{"class":2558},"              \"",[927,2735,2736],{"class":2562},"level_4",[927,2738,2565],{"class":2558},[927,2740,1236],{"class":2032},[927,2742,1257],{"class":1184},[927,2744,2745,2748,2751,2753,2755,2757,2760,2762],{"class":929,"line":1355},[927,2746,2747],{"class":2558},"                \"",[927,2749,2750],{"class":2562},"deep_value",[927,2752,2565],{"class":2558},[927,2754,1236],{"class":2032},[927,2756,2570],{"class":1197},[927,2758,2759],{"class":943},"Success",[927,2761,2565],{"class":1197},[927,2763,1246],{"class":1184},[927,2765,2766,2768,2771,2773,2775],{"class":929,"line":1361},[927,2767,2747],{"class":2558},[927,2769,2770],{"class":2562},"array_of_objects",[927,2772,2565],{"class":2558},[927,2774,1236],{"class":2032},[927,2776,2226],{"class":1184},[927,2778,2779,2782,2784,2787,2789,2791,2795,2797,2799,2802,2804,2806,2808],{"class":929,"line":1366},[927,2780,2781],{"class":1184},"                  { ",[927,2783,2565],{"class":2558},[927,2785,2786],{"class":2562},"index",[927,2788,2565],{"class":2558},[927,2790,1236],{"class":2032},[927,2792,2794],{"class":2793},"spgvN"," 0",[927,2796,1770],{"class":1184},[927,2798,2565],{"class":2558},[927,2800,2801],{"class":2562},"active",[927,2803,2565],{"class":2558},[927,2805,1236],{"class":2032},[927,2807,1344],{"class":953},[927,2809,2271],{"class":1184},[927,2811,2812,2814,2816,2818,2820,2822,2825,2827,2829,2831,2833,2835,2838],{"class":929,"line":1372},[927,2813,2781],{"class":1184},[927,2815,2565],{"class":2558},[927,2817,2786],{"class":2562},[927,2819,2565],{"class":2558},[927,2821,1236],{"class":2032},[927,2823,2824],{"class":2793}," 1",[927,2826,1770],{"class":1184},[927,2828,2565],{"class":2558},[927,2830,2801],{"class":2562},[927,2832,2565],{"class":2558},[927,2834,1236],{"class":2032},[927,2836,2837],{"class":953}," false",[927,2839,2840],{"class":1184}," }\n",[927,2842,2843],{"class":929,"line":1381},[927,2844,2845],{"class":1184},"                ],\n",[927,2847,2848,2850,2853,2855,2857,2859,2862,2864,2866,2869,2871,2874,2876,2879,2881,2883,2886],{"class":929,"line":1397},[927,2849,2747],{"class":2558},[927,2851,2852],{"class":2562},"mixed_types",[927,2854,2565],{"class":2558},[927,2856,1236],{"class":2032},[927,2858,2644],{"class":1184},[927,2860,2861],{"class":2793},"1",[927,2863,1770],{"class":1184},[927,2865,2565],{"class":1197},[927,2867,2868],{"class":943},"two",[927,2870,2565],{"class":1197},[927,2872,2873],{"class":1184},", { ",[927,2875,2565],{"class":2558},[927,2877,2878],{"class":2562},"three",[927,2880,2565],{"class":2558},[927,2882,1236],{"class":2032},[927,2884,2885],{"class":2793}," 3",[927,2887,2888],{"class":1184}," }]\n",[927,2890,2891],{"class":929,"line":1406},[927,2892,2893],{"class":1184},"              }\n",[927,2895,2896],{"class":929,"line":1421},[927,2897,2898],{"class":1184},"            }\n",[927,2900,2901],{"class":929,"line":1437},[927,2902,2903],{"class":1184},"          }\n",[927,2905,2906],{"class":929,"line":1452},[927,2907,2908],{"class":1184},"        }\n",[927,2910,2911],{"class":929,"line":1463},[927,2912,2913],{"class":1184},"      }\n",[927,2915,2916],{"class":929,"line":1469},[927,2917,2918],{"class":1184},"    },\n",[927,2920,2921,2923,2926,2928,2930],{"class":929,"line":1474},[927,2922,2559],{"class":2558},[927,2924,2925],{"class":2562},"organization",[927,2927,2565],{"class":2558},[927,2929,1236],{"class":2032},[927,2931,1257],{"class":1184},[927,2933,2934,2936,2938,2940,2942,2944,2947,2949],{"class":929,"line":2479},[927,2935,2594],{"class":2558},[927,2937,2052],{"class":2562},[927,2939,2565],{"class":2558},[927,2941,1236],{"class":2032},[927,2943,2570],{"class":1197},[927,2945,2946],{"class":943},"Cloudflare, Inc.",[927,2948,2565],{"class":1197},[927,2950,1246],{"class":1184},[927,2952,2953,2955,2958,2960,2962],{"class":929,"line":2495},[927,2954,2594],{"class":2558},[927,2956,2957],{"class":2562},"details",[927,2959,2565],{"class":2558},[927,2961,1236],{"class":2032},[927,2963,1257],{"class":1184},[927,2965,2966,2968,2971,2973,2975,2977,2980,2982],{"class":929,"line":2510},[927,2967,2690],{"class":2558},[927,2969,2970],{"class":2562},"headquarters",[927,2972,2565],{"class":2558},[927,2974,1236],{"class":2032},[927,2976,2570],{"class":1197},[927,2978,2979],{"class":943},"San Francisco",[927,2981,2565],{"class":1197},[927,2983,1246],{"class":1184},[927,2985,2986,2988,2991,2993,2995,2998],{"class":929,"line":2521},[927,2987,2690],{"class":2558},[927,2989,2990],{"class":2562},"employees",[927,2992,2565],{"class":2558},[927,2994,1236],{"class":2032},[927,2996,2997],{"class":2793}," 3000",[927,2999,1246],{"class":1184},[927,3001,3002,3004,3007,3009,3011],{"class":929,"line":2526},[927,3003,2690],{"class":2558},[927,3005,3006],{"class":2562},"is_public",[927,3008,2565],{"class":2558},[927,3010,1236],{"class":2032},[927,3012,3013],{"class":953}," true\n",[927,3015,3017],{"class":929,"line":3016},31,[927,3018,2913],{"class":1184},[927,3020,3022],{"class":929,"line":3021},32,[927,3023,3024],{"class":1184},"    }\n",[927,3026,3028],{"class":929,"line":3027},33,[927,3029,1352],{"class":1184},[927,3031,3033],{"class":929,"line":3032},34,[927,3034,3035],{"class":1184},"]\n",[821,3037,3038],{},"Compile and query it:",[914,3040,3041,3071,3100,3127],{},[917,3042,3044],{"className":919,"code":3043,"filename":921,"language":922,"meta":923,"style":923},"pnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n",[825,3045,3046],{"__ignoreMap":923},[927,3047,3048,3050,3052,3054,3056,3058,3060,3062,3065,3067,3069],{"class":929,"line":930},[927,3049,921],{"class":940},[927,3051,944],{"class":943},[927,3053,947],{"class":943},[927,3055,950],{"class":943},[927,3057,954],{"class":953},[927,3059,957],{"class":943},[927,3061,960],{"class":953},[927,3063,3064],{"class":943}," myDb",[927,3066,966],{"class":953},[927,3068,969],{"class":943},[927,3070,972],{"class":943},[917,3072,3074],{"className":919,"code":3073,"filename":1015,"language":922,"meta":923,"style":923},"yarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n",[825,3075,3076],{"__ignoreMap":923},[927,3077,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098],{"class":929,"line":930},[927,3079,1015],{"class":940},[927,3081,944],{"class":943},[927,3083,947],{"class":943},[927,3085,950],{"class":943},[927,3087,954],{"class":953},[927,3089,957],{"class":943},[927,3091,960],{"class":953},[927,3093,3064],{"class":943},[927,3095,966],{"class":953},[927,3097,969],{"class":943},[927,3099,972],{"class":943},[917,3101,3103],{"className":919,"code":3102,"filename":1069,"language":922,"meta":923,"style":923},"npx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n",[825,3104,3105],{"__ignoreMap":923},[927,3106,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125],{"class":929,"line":930},[927,3108,1076],{"class":940},[927,3110,947],{"class":943},[927,3112,950],{"class":943},[927,3114,954],{"class":953},[927,3116,957],{"class":943},[927,3118,960],{"class":953},[927,3120,3064],{"class":943},[927,3122,966],{"class":953},[927,3124,969],{"class":943},[927,3126,972],{"class":943},[917,3128,3130],{"className":919,"code":3129,"filename":1120,"language":922,"meta":923,"style":923},"bunx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n",[825,3131,3132],{"__ignoreMap":923},[927,3133,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152],{"class":929,"line":930},[927,3135,1127],{"class":940},[927,3137,947],{"class":943},[927,3139,950],{"class":943},[927,3141,954],{"class":953},[927,3143,957],{"class":943},[927,3145,960],{"class":953},[927,3147,3064],{"class":943},[927,3149,966],{"class":953},[927,3151,969],{"class":943},[927,3153,972],{"class":943},[917,3155,3158],{"className":919,"code":3156,"filename":3157,"language":922,"meta":923,"style":923},"mmdbctl read -f json-pretty 1.1.1.10 .\u002Fout\u002FmyDb.mmdb\n","Terminal",[825,3159,3160],{"__ignoreMap":923},[927,3161,3162,3164,3167,3170,3173,3176],{"class":929,"line":930},[927,3163,1325],{"class":940},[927,3165,3166],{"class":943}," read",[927,3168,3169],{"class":953}," -f",[927,3171,3172],{"class":943}," json-pretty",[927,3174,3175],{"class":2793}," 1.1.1.10",[927,3177,3178],{"class":943}," .\u002Fout\u002FmyDb.mmdb\n",[917,3180,3182],{"className":2540,"code":3181,"language":5,"meta":923,"style":923},"{\n  \"ip\": \"1.1.1.10\",\n  \"metadata\": {\n    \"author\": \"Person\",\n    \"sub_data\": {\n      \"level_1\": {\n        \"level_2\": {\n          \"level_3\": {\n            \"level_4\": {\n              \"array_of_objects\": [\n                {\n                  \"active\": true,\n                  \"index\": 0\n                },\n                {\n                  \"active\": false,\n                  \"index\": 1\n                }\n              ],\n              \"deep_value\": \"Success\",\n              \"mixed_types\": [\n                1,\n                \"two\",\n                {\n                  \"three\": 3\n                }\n              ]\n            }\n          }\n        }\n      }\n    },\n    \"tags\": [\n      \"dns\",\n      \"secure\",\n      \"fast\"\n    ],\n    \"version\": \"1.0.0\"\n  },\n  \"network\": \"1.1.1.0\u002F24\",\n  \"organization\": {\n    \"details\": {\n      \"employees\": 3000,\n      \"headquarters\": \"San Francisco\",\n      \"is_public\": true\n    },\n    \"name\": \"Cloudflare, Inc.\"\n  }\n}\n",[825,3183,3184,3189,3210,3222,3240,3252,3264,3276,3288,3300,3312,3317,3332,3345,3350,3354,3368,3381,3386,3391,3409,3421,3428,3438,3442,3455,3459,3464,3468,3472,3476,3480,3484,3496,3506,3517,3527,3533,3550,3555,3575,3588,3601,3616,3635,3648,3653,3670,3676],{"__ignoreMap":923},[927,3185,3186],{"class":929,"line":930},[927,3187,3188],{"class":1184},"{\n",[927,3190,3191,3194,3197,3199,3201,3203,3206,3208],{"class":929,"line":937},[927,3192,3193],{"class":2558},"  \"",[927,3195,3196],{"class":2562},"ip",[927,3198,2565],{"class":2558},[927,3200,1236],{"class":2032},[927,3202,2570],{"class":1197},[927,3204,3205],{"class":943},"1.1.1.10",[927,3207,2565],{"class":1197},[927,3209,1246],{"class":1184},[927,3211,3212,3214,3216,3218,3220],{"class":929,"line":975},[927,3213,3193],{"class":2558},[927,3215,2583],{"class":2562},[927,3217,2565],{"class":2558},[927,3219,1236],{"class":2032},[927,3221,1257],{"class":1184},[927,3223,3224,3226,3228,3230,3232,3234,3236,3238],{"class":929,"line":981},[927,3225,2559],{"class":2558},[927,3227,2617],{"class":2562},[927,3229,2565],{"class":2558},[927,3231,1236],{"class":2032},[927,3233,2570],{"class":1197},[927,3235,2626],{"class":943},[927,3237,2565],{"class":1197},[927,3239,1246],{"class":1184},[927,3241,3242,3244,3246,3248,3250],{"class":929,"line":987},[927,3243,2559],{"class":2558},[927,3245,2679],{"class":2562},[927,3247,2565],{"class":2558},[927,3249,1236],{"class":2032},[927,3251,1257],{"class":1184},[927,3253,3254,3256,3258,3260,3262],{"class":929,"line":1249},[927,3255,2594],{"class":2558},[927,3257,2693],{"class":2562},[927,3259,2565],{"class":2558},[927,3261,1236],{"class":2032},[927,3263,1257],{"class":1184},[927,3265,3266,3268,3270,3272,3274],{"class":929,"line":1260},[927,3267,2690],{"class":2558},[927,3269,2708],{"class":2562},[927,3271,2565],{"class":2558},[927,3273,1236],{"class":2032},[927,3275,1257],{"class":1184},[927,3277,3278,3280,3282,3284,3286],{"class":929,"line":1281},[927,3279,2705],{"class":2558},[927,3281,2722],{"class":2562},[927,3283,2565],{"class":2558},[927,3285,1236],{"class":2032},[927,3287,1257],{"class":1184},[927,3289,3290,3292,3294,3296,3298],{"class":929,"line":1298},[927,3291,2719],{"class":2558},[927,3293,2736],{"class":2562},[927,3295,2565],{"class":2558},[927,3297,1236],{"class":2032},[927,3299,1257],{"class":1184},[927,3301,3302,3304,3306,3308,3310],{"class":929,"line":1315},[927,3303,2733],{"class":2558},[927,3305,2770],{"class":2562},[927,3307,2565],{"class":2558},[927,3309,1236],{"class":2032},[927,3311,2226],{"class":1184},[927,3313,3314],{"class":929,"line":1336},[927,3315,3316],{"class":1184},"                {\n",[927,3318,3319,3322,3324,3326,3328,3330],{"class":929,"line":1349},[927,3320,3321],{"class":2558},"                  \"",[927,3323,2801],{"class":2562},[927,3325,2565],{"class":2558},[927,3327,1236],{"class":2032},[927,3329,1344],{"class":953},[927,3331,1246],{"class":1184},[927,3333,3334,3336,3338,3340,3342],{"class":929,"line":1355},[927,3335,3321],{"class":2558},[927,3337,2786],{"class":2562},[927,3339,2565],{"class":2558},[927,3341,1236],{"class":2032},[927,3343,3344],{"class":2793}," 0\n",[927,3346,3347],{"class":929,"line":1361},[927,3348,3349],{"class":1184},"                },\n",[927,3351,3352],{"class":929,"line":1366},[927,3353,3316],{"class":1184},[927,3355,3356,3358,3360,3362,3364,3366],{"class":929,"line":1372},[927,3357,3321],{"class":2558},[927,3359,2801],{"class":2562},[927,3361,2565],{"class":2558},[927,3363,1236],{"class":2032},[927,3365,2837],{"class":953},[927,3367,1246],{"class":1184},[927,3369,3370,3372,3374,3376,3378],{"class":929,"line":1381},[927,3371,3321],{"class":2558},[927,3373,2786],{"class":2562},[927,3375,2565],{"class":2558},[927,3377,1236],{"class":2032},[927,3379,3380],{"class":2793}," 1\n",[927,3382,3383],{"class":929,"line":1397},[927,3384,3385],{"class":1184},"                }\n",[927,3387,3388],{"class":929,"line":1406},[927,3389,3390],{"class":1184},"              ],\n",[927,3392,3393,3395,3397,3399,3401,3403,3405,3407],{"class":929,"line":1421},[927,3394,2733],{"class":2558},[927,3396,2750],{"class":2562},[927,3398,2565],{"class":2558},[927,3400,1236],{"class":2032},[927,3402,2570],{"class":1197},[927,3404,2759],{"class":943},[927,3406,2565],{"class":1197},[927,3408,1246],{"class":1184},[927,3410,3411,3413,3415,3417,3419],{"class":929,"line":1437},[927,3412,2733],{"class":2558},[927,3414,2852],{"class":2562},[927,3416,2565],{"class":2558},[927,3418,1236],{"class":2032},[927,3420,2226],{"class":1184},[927,3422,3423,3426],{"class":929,"line":1452},[927,3424,3425],{"class":2793},"                1",[927,3427,1246],{"class":1184},[927,3429,3430,3432,3434,3436],{"class":929,"line":1463},[927,3431,2747],{"class":1197},[927,3433,2868],{"class":943},[927,3435,2565],{"class":1197},[927,3437,1246],{"class":1184},[927,3439,3440],{"class":929,"line":1469},[927,3441,3316],{"class":1184},[927,3443,3444,3446,3448,3450,3452],{"class":929,"line":1474},[927,3445,3321],{"class":2558},[927,3447,2878],{"class":2562},[927,3449,2565],{"class":2558},[927,3451,1236],{"class":2032},[927,3453,3454],{"class":2793}," 3\n",[927,3456,3457],{"class":929,"line":2479},[927,3458,3385],{"class":1184},[927,3460,3461],{"class":929,"line":2495},[927,3462,3463],{"class":1184},"              ]\n",[927,3465,3466],{"class":929,"line":2510},[927,3467,2898],{"class":1184},[927,3469,3470],{"class":929,"line":2521},[927,3471,2903],{"class":1184},[927,3473,3474],{"class":929,"line":2526},[927,3475,2908],{"class":1184},[927,3477,3478],{"class":929,"line":3016},[927,3479,2913],{"class":1184},[927,3481,3482],{"class":929,"line":3021},[927,3483,2918],{"class":1184},[927,3485,3486,3488,3490,3492,3494],{"class":929,"line":3027},[927,3487,2559],{"class":2558},[927,3489,2637],{"class":2562},[927,3491,2565],{"class":2558},[927,3493,1236],{"class":2032},[927,3495,2226],{"class":1184},[927,3497,3498,3500,3502,3504],{"class":929,"line":3032},[927,3499,2594],{"class":1197},[927,3501,2649],{"class":943},[927,3503,2565],{"class":1197},[927,3505,1246],{"class":1184},[927,3507,3509,3511,3513,3515],{"class":929,"line":3508},35,[927,3510,2594],{"class":1197},[927,3512,2658],{"class":943},[927,3514,2565],{"class":1197},[927,3516,1246],{"class":1184},[927,3518,3520,3522,3524],{"class":929,"line":3519},36,[927,3521,2594],{"class":1197},[927,3523,2667],{"class":943},[927,3525,3526],{"class":1197},"\"\n",[927,3528,3530],{"class":929,"line":3529},37,[927,3531,3532],{"class":1184},"    ],\n",[927,3534,3536,3538,3540,3542,3544,3546,3548],{"class":929,"line":3535},38,[927,3537,2559],{"class":2558},[927,3539,2597],{"class":2562},[927,3541,2565],{"class":2558},[927,3543,1236],{"class":2032},[927,3545,2570],{"class":1197},[927,3547,2606],{"class":943},[927,3549,3526],{"class":1197},[927,3551,3553],{"class":929,"line":3552},39,[927,3554,1352],{"class":1184},[927,3556,3558,3560,3563,3565,3567,3569,3571,3573],{"class":929,"line":3557},40,[927,3559,3193],{"class":2558},[927,3561,3562],{"class":2562},"network",[927,3564,2565],{"class":2558},[927,3566,1236],{"class":2032},[927,3568,2570],{"class":1197},[927,3570,2045],{"class":943},[927,3572,2565],{"class":1197},[927,3574,1246],{"class":1184},[927,3576,3578,3580,3582,3584,3586],{"class":929,"line":3577},41,[927,3579,3193],{"class":2558},[927,3581,2925],{"class":2562},[927,3583,2565],{"class":2558},[927,3585,1236],{"class":2032},[927,3587,1257],{"class":1184},[927,3589,3591,3593,3595,3597,3599],{"class":929,"line":3590},42,[927,3592,2559],{"class":2558},[927,3594,2957],{"class":2562},[927,3596,2565],{"class":2558},[927,3598,1236],{"class":2032},[927,3600,1257],{"class":1184},[927,3602,3604,3606,3608,3610,3612,3614],{"class":929,"line":3603},43,[927,3605,2594],{"class":2558},[927,3607,2990],{"class":2562},[927,3609,2565],{"class":2558},[927,3611,1236],{"class":2032},[927,3613,2997],{"class":2793},[927,3615,1246],{"class":1184},[927,3617,3619,3621,3623,3625,3627,3629,3631,3633],{"class":929,"line":3618},44,[927,3620,2594],{"class":2558},[927,3622,2970],{"class":2562},[927,3624,2565],{"class":2558},[927,3626,1236],{"class":2032},[927,3628,2570],{"class":1197},[927,3630,2979],{"class":943},[927,3632,2565],{"class":1197},[927,3634,1246],{"class":1184},[927,3636,3638,3640,3642,3644,3646],{"class":929,"line":3637},45,[927,3639,2594],{"class":2558},[927,3641,3006],{"class":2562},[927,3643,2565],{"class":2558},[927,3645,1236],{"class":2032},[927,3647,3013],{"class":953},[927,3649,3651],{"class":929,"line":3650},46,[927,3652,2918],{"class":1184},[927,3654,3656,3658,3660,3662,3664,3666,3668],{"class":929,"line":3655},47,[927,3657,2559],{"class":2558},[927,3659,2052],{"class":2562},[927,3661,2565],{"class":2558},[927,3663,1236],{"class":2032},[927,3665,2570],{"class":1197},[927,3667,2946],{"class":943},[927,3669,3526],{"class":1197},[927,3671,3673],{"class":929,"line":3672},48,[927,3674,3675],{"class":1184},"  }\n",[927,3677,3679],{"class":929,"line":3678},49,[927,3680,3681],{"class":1184},"}\n",[821,3683,3684,3685,3688],{},"The generated ",[825,3686,3687],{},"mymmdbdbTypes.ts"," type file reflects the full structure:",[917,3690,3692],{"className":1170,"code":3691,"filename":3687,"language":1173,"meta":923,"style":923},"interface MyMmdbDb {\n  range: string;\n  metadata: Metadata;\n  organization: Organization;\n}\n\ninterface Organization {\n  name: string;\n  details: Details;\n}\n\ninterface Details {\n  headquarters: string;\n  employees: number;\n  is_public: boolean;\n}\n\ninterface Metadata {\n  version: string;\n  author: string;\n  tags: string[];\n  sub_data: Subdata;\n}\n\ninterface Subdata {\n  level_1: Level1;\n}\n\ninterface Level1 {\n  level_2: Level2;\n}\n\ninterface Level2 {\n  level_3: Level3;\n}\n\ninterface Level3 {\n  level_4: Level4;\n}\n\ninterface Level4 {\n  deep_value: string;\n  array_of_objects: Arrayofobject[];\n  mixed_types: (Mixedtype | number | string)[];\n}\n\ninterface Mixedtype {\n  three: number;\n}\n\ninterface Arrayofobject {\n  index: number;\n  active: boolean;\n}\n",[825,3693,3694,3704,3716,3728,3740,3744,3748,3756,3767,3779,3783,3787,3795,3806,3818,3830,3834,3838,3846,3857,3868,3880,3892,3896,3900,3908,3920,3924,3928,3936,3948,3952,3956,3964,3976,3980,3984,3992,4004,4008,4012,4020,4031,4043,4068,4072,4076,4085,4096,4100,4105,4114,4126,4138],{"__ignoreMap":923},[927,3695,3696,3699,3702],{"class":929,"line":930},[927,3697,3698],{"class":2024},"interface",[927,3700,3701],{"class":2216}," MyMmdbDb",[927,3703,1257],{"class":1184},[927,3705,3706,3709,3711,3714],{"class":929,"line":937},[927,3707,3708],{"class":1188},"  range",[927,3710,1236],{"class":2032},[927,3712,3713],{"class":2216}," string",[927,3715,1207],{"class":1184},[927,3717,3718,3721,3723,3726],{"class":929,"line":975},[927,3719,3720],{"class":1188},"  metadata",[927,3722,1236],{"class":2032},[927,3724,3725],{"class":2216}," Metadata",[927,3727,1207],{"class":1184},[927,3729,3730,3733,3735,3738],{"class":929,"line":981},[927,3731,3732],{"class":1188},"  organization",[927,3734,1236],{"class":2032},[927,3736,3737],{"class":2216}," Organization",[927,3739,1207],{"class":1184},[927,3741,3742],{"class":929,"line":987},[927,3743,3681],{"class":1184},[927,3745,3746],{"class":929,"line":1249},[927,3747,978],{"emptyLinePlaceholder":8},[927,3749,3750,3752,3754],{"class":929,"line":1260},[927,3751,3698],{"class":2024},[927,3753,3737],{"class":2216},[927,3755,1257],{"class":1184},[927,3757,3758,3761,3763,3765],{"class":929,"line":1281},[927,3759,3760],{"class":1188},"  name",[927,3762,1236],{"class":2032},[927,3764,3713],{"class":2216},[927,3766,1207],{"class":1184},[927,3768,3769,3772,3774,3777],{"class":929,"line":1298},[927,3770,3771],{"class":1188},"  details",[927,3773,1236],{"class":2032},[927,3775,3776],{"class":2216}," Details",[927,3778,1207],{"class":1184},[927,3780,3781],{"class":929,"line":1315},[927,3782,3681],{"class":1184},[927,3784,3785],{"class":929,"line":1336},[927,3786,978],{"emptyLinePlaceholder":8},[927,3788,3789,3791,3793],{"class":929,"line":1349},[927,3790,3698],{"class":2024},[927,3792,3776],{"class":2216},[927,3794,1257],{"class":1184},[927,3796,3797,3800,3802,3804],{"class":929,"line":1355},[927,3798,3799],{"class":1188},"  headquarters",[927,3801,1236],{"class":2032},[927,3803,3713],{"class":2216},[927,3805,1207],{"class":1184},[927,3807,3808,3811,3813,3816],{"class":929,"line":1361},[927,3809,3810],{"class":1188},"  employees",[927,3812,1236],{"class":2032},[927,3814,3815],{"class":2216}," number",[927,3817,1207],{"class":1184},[927,3819,3820,3823,3825,3828],{"class":929,"line":1366},[927,3821,3822],{"class":1188},"  is_public",[927,3824,1236],{"class":2032},[927,3826,3827],{"class":2216}," boolean",[927,3829,1207],{"class":1184},[927,3831,3832],{"class":929,"line":1372},[927,3833,3681],{"class":1184},[927,3835,3836],{"class":929,"line":1381},[927,3837,978],{"emptyLinePlaceholder":8},[927,3839,3840,3842,3844],{"class":929,"line":1397},[927,3841,3698],{"class":2024},[927,3843,3725],{"class":2216},[927,3845,1257],{"class":1184},[927,3847,3848,3851,3853,3855],{"class":929,"line":1406},[927,3849,3850],{"class":1188},"  version",[927,3852,1236],{"class":2032},[927,3854,3713],{"class":2216},[927,3856,1207],{"class":1184},[927,3858,3859,3862,3864,3866],{"class":929,"line":1421},[927,3860,3861],{"class":1188},"  author",[927,3863,1236],{"class":2032},[927,3865,3713],{"class":2216},[927,3867,1207],{"class":1184},[927,3869,3870,3873,3875,3877],{"class":929,"line":1437},[927,3871,3872],{"class":1188},"  tags",[927,3874,1236],{"class":2032},[927,3876,3713],{"class":2216},[927,3878,3879],{"class":1184},"[];\n",[927,3881,3882,3885,3887,3890],{"class":929,"line":1452},[927,3883,3884],{"class":1188},"  sub_data",[927,3886,1236],{"class":2032},[927,3888,3889],{"class":2216}," Subdata",[927,3891,1207],{"class":1184},[927,3893,3894],{"class":929,"line":1463},[927,3895,3681],{"class":1184},[927,3897,3898],{"class":929,"line":1469},[927,3899,978],{"emptyLinePlaceholder":8},[927,3901,3902,3904,3906],{"class":929,"line":1474},[927,3903,3698],{"class":2024},[927,3905,3889],{"class":2216},[927,3907,1257],{"class":1184},[927,3909,3910,3913,3915,3918],{"class":929,"line":2479},[927,3911,3912],{"class":1188},"  level_1",[927,3914,1236],{"class":2032},[927,3916,3917],{"class":2216}," Level1",[927,3919,1207],{"class":1184},[927,3921,3922],{"class":929,"line":2495},[927,3923,3681],{"class":1184},[927,3925,3926],{"class":929,"line":2510},[927,3927,978],{"emptyLinePlaceholder":8},[927,3929,3930,3932,3934],{"class":929,"line":2521},[927,3931,3698],{"class":2024},[927,3933,3917],{"class":2216},[927,3935,1257],{"class":1184},[927,3937,3938,3941,3943,3946],{"class":929,"line":2526},[927,3939,3940],{"class":1188},"  level_2",[927,3942,1236],{"class":2032},[927,3944,3945],{"class":2216}," Level2",[927,3947,1207],{"class":1184},[927,3949,3950],{"class":929,"line":3016},[927,3951,3681],{"class":1184},[927,3953,3954],{"class":929,"line":3021},[927,3955,978],{"emptyLinePlaceholder":8},[927,3957,3958,3960,3962],{"class":929,"line":3027},[927,3959,3698],{"class":2024},[927,3961,3945],{"class":2216},[927,3963,1257],{"class":1184},[927,3965,3966,3969,3971,3974],{"class":929,"line":3032},[927,3967,3968],{"class":1188},"  level_3",[927,3970,1236],{"class":2032},[927,3972,3973],{"class":2216}," Level3",[927,3975,1207],{"class":1184},[927,3977,3978],{"class":929,"line":3508},[927,3979,3681],{"class":1184},[927,3981,3982],{"class":929,"line":3519},[927,3983,978],{"emptyLinePlaceholder":8},[927,3985,3986,3988,3990],{"class":929,"line":3529},[927,3987,3698],{"class":2024},[927,3989,3973],{"class":2216},[927,3991,1257],{"class":1184},[927,3993,3994,3997,3999,4002],{"class":929,"line":3535},[927,3995,3996],{"class":1188},"  level_4",[927,3998,1236],{"class":2032},[927,4000,4001],{"class":2216}," Level4",[927,4003,1207],{"class":1184},[927,4005,4006],{"class":929,"line":3552},[927,4007,3681],{"class":1184},[927,4009,4010],{"class":929,"line":3557},[927,4011,978],{"emptyLinePlaceholder":8},[927,4013,4014,4016,4018],{"class":929,"line":3577},[927,4015,3698],{"class":2024},[927,4017,4001],{"class":2216},[927,4019,1257],{"class":1184},[927,4021,4022,4025,4027,4029],{"class":929,"line":3590},[927,4023,4024],{"class":1188},"  deep_value",[927,4026,1236],{"class":2032},[927,4028,3713],{"class":2216},[927,4030,1207],{"class":1184},[927,4032,4033,4036,4038,4041],{"class":929,"line":3603},[927,4034,4035],{"class":1188},"  array_of_objects",[927,4037,1236],{"class":2032},[927,4039,4040],{"class":2216}," Arrayofobject",[927,4042,3879],{"class":1184},[927,4044,4045,4048,4050,4053,4056,4059,4061,4063,4065],{"class":929,"line":3618},[927,4046,4047],{"class":1188},"  mixed_types",[927,4049,1236],{"class":2032},[927,4051,4052],{"class":1184}," (",[927,4054,4055],{"class":2216},"Mixedtype",[927,4057,4058],{"class":2032}," |",[927,4060,3815],{"class":2216},[927,4062,4058],{"class":2032},[927,4064,3713],{"class":2216},[927,4066,4067],{"class":1184},")[];\n",[927,4069,4070],{"class":929,"line":3637},[927,4071,3681],{"class":1184},[927,4073,4074],{"class":929,"line":3650},[927,4075,978],{"emptyLinePlaceholder":8},[927,4077,4078,4080,4083],{"class":929,"line":3655},[927,4079,3698],{"class":2024},[927,4081,4082],{"class":2216}," Mixedtype",[927,4084,1257],{"class":1184},[927,4086,4087,4090,4092,4094],{"class":929,"line":3672},[927,4088,4089],{"class":1188},"  three",[927,4091,1236],{"class":2032},[927,4093,3815],{"class":2216},[927,4095,1207],{"class":1184},[927,4097,4098],{"class":929,"line":3678},[927,4099,3681],{"class":1184},[927,4101,4103],{"class":929,"line":4102},50,[927,4104,978],{"emptyLinePlaceholder":8},[927,4106,4108,4110,4112],{"class":929,"line":4107},51,[927,4109,3698],{"class":2024},[927,4111,4040],{"class":2216},[927,4113,1257],{"class":1184},[927,4115,4117,4120,4122,4124],{"class":929,"line":4116},52,[927,4118,4119],{"class":1188},"  index",[927,4121,1236],{"class":2032},[927,4123,3815],{"class":2216},[927,4125,1207],{"class":1184},[927,4127,4129,4132,4134,4136],{"class":929,"line":4128},53,[927,4130,4131],{"class":1188},"  active",[927,4133,1236],{"class":2032},[927,4135,3827],{"class":2216},[927,4137,1207],{"class":1184},[927,4139,4141],{"class":929,"line":4140},54,[927,4142,3681],{"class":1184},[845,4144],{},[848,4146,4148],{"id":4147},"custom-crawler-providers","Custom Crawler Providers",[821,4150,4151,4157,4158,4161],{},[4152,4153,4154],"a",{"href":100},[825,4155,4156],{},"getCrawlersIps"," accepts a ",[825,4159,4160],{},"ProvidersLists[]"," array to merge your own IP range sources with the built-in crawler datasets:",[917,4163,4165],{"className":1170,"code":4164,"filename":1794,"language":1173,"meta":923,"style":923},"import { getCrawlersIps } from '@riavzon\u002Fshield-base';\nimport type { ProvidersLists } from '@riavzon\u002Fshield-base';\n\nconst customProviders: ProvidersLists[] = [\n  {\n    name: 'cloudflare',   \u002F\u002F Stored as the `provider` field in the database\n    type: 'JSON',         \u002F\u002F 'JSON' | 'CSV' | 'HTML'\n    urls: [\n      'https:\u002F\u002Fwww.cloudflare.com\u002Fips-v4',\n      'https:\u002F\u002Fwww.cloudflare.com\u002Fips-v6',\n    ],\n  },\n];\n\nawait getCrawlersIps('.\u002Fout', 'mmdbctl', customProviders);\n",[825,4166,4167,4187,4210,4214,4232,4236,4255,4275,4284,4296,4307,4311,4315,4319,4323],{"__ignoreMap":923},[927,4168,4169,4171,4173,4175,4177,4179,4181,4183,4185],{"class":929,"line":930},[927,4170,1181],{"class":1180},[927,4172,1185],{"class":1184},[927,4174,4156],{"class":1188},[927,4176,1191],{"class":1184},[927,4178,1194],{"class":1180},[927,4180,1198],{"class":1197},[927,4182,1201],{"class":943},[927,4184,1204],{"class":1197},[927,4186,1207],{"class":1184},[927,4188,4189,4191,4193,4195,4198,4200,4202,4204,4206,4208],{"class":929,"line":937},[927,4190,1181],{"class":1180},[927,4192,2183],{"class":1180},[927,4194,1185],{"class":1184},[927,4196,4197],{"class":1188},"ProvidersLists",[927,4199,1191],{"class":1184},[927,4201,1194],{"class":1180},[927,4203,1198],{"class":1197},[927,4205,1201],{"class":943},[927,4207,1204],{"class":1197},[927,4209,1207],{"class":1184},[927,4211,4212],{"class":929,"line":975},[927,4213,978],{"emptyLinePlaceholder":8},[927,4215,4216,4218,4221,4223,4226,4228,4230],{"class":929,"line":981},[927,4217,2025],{"class":2024},[927,4219,4220],{"class":2028}," customProviders",[927,4222,1236],{"class":2032},[927,4224,4225],{"class":2216}," ProvidersLists",[927,4227,2220],{"class":1184},[927,4229,2223],{"class":2032},[927,4231,2226],{"class":1184},[927,4233,4234],{"class":929,"line":987},[927,4235,2553],{"class":1184},[927,4237,4238,4241,4243,4245,4248,4250,4252],{"class":929,"line":1249},[927,4239,4240],{"class":1188},"    name",[927,4242,1236],{"class":1235},[927,4244,1198],{"class":1197},[927,4246,4247],{"class":943},"cloudflare",[927,4249,1204],{"class":1197},[927,4251,1330],{"class":1184},[927,4253,4254],{"class":933},"\u002F\u002F Stored as the `provider` field in the database\n",[927,4256,4257,4260,4262,4264,4267,4269,4272],{"class":929,"line":1260},[927,4258,4259],{"class":1188},"    type",[927,4261,1236],{"class":1235},[927,4263,1198],{"class":1197},[927,4265,4266],{"class":943},"JSON",[927,4268,1204],{"class":1197},[927,4270,4271],{"class":1184},",         ",[927,4273,4274],{"class":933},"\u002F\u002F 'JSON' | 'CSV' | 'HTML'\n",[927,4276,4277,4280,4282],{"class":929,"line":1281},[927,4278,4279],{"class":1188},"    urls",[927,4281,1236],{"class":1235},[927,4283,2226],{"class":1184},[927,4285,4286,4289,4292,4294],{"class":929,"line":1298},[927,4287,4288],{"class":1197},"      '",[927,4290,4291],{"class":943},"https:\u002F\u002Fwww.cloudflare.com\u002Fips-v4",[927,4293,1204],{"class":1197},[927,4295,1246],{"class":1184},[927,4297,4298,4300,4303,4305],{"class":929,"line":1315},[927,4299,4288],{"class":1197},[927,4301,4302],{"class":943},"https:\u002F\u002Fwww.cloudflare.com\u002Fips-v6",[927,4304,1204],{"class":1197},[927,4306,1246],{"class":1184},[927,4308,4309],{"class":929,"line":1336},[927,4310,3532],{"class":1184},[927,4312,4313],{"class":929,"line":1349},[927,4314,1352],{"class":1184},[927,4316,4317],{"class":929,"line":1355},[927,4318,2318],{"class":1184},[927,4320,4321],{"class":929,"line":1361},[927,4322,978],{"emptyLinePlaceholder":8},[927,4324,4325,4327,4330,4333,4335,4337,4339,4341,4343,4345,4347,4349,4352],{"class":929,"line":1366},[927,4326,1221],{"class":1180},[927,4328,4329],{"class":940}," getCrawlersIps",[927,4331,4332],{"class":1184},"(",[927,4334,1204],{"class":1197},[927,4336,1308],{"class":943},[927,4338,1204],{"class":1197},[927,4340,1770],{"class":1184},[927,4342,1204],{"class":1197},[927,4344,1325],{"class":943},[927,4346,1204],{"class":1197},[927,4348,1770],{"class":1184},[927,4350,4351],{"class":1188},"customProviders",[927,4353,4354],{"class":1184},");\n",[821,4356,4357,4358,4361],{},"This compiles the built-in provider datasets and your custom sources into a single ",[825,4359,4360],{},"goodBots.mmdb"," database.",[845,4363],{},[848,4365,4367],{"id":4366},"input-type-reference","Input Type Reference",[917,4369,4371],{"className":1170,"code":4370,"language":1173,"meta":923,"style":923},"type CompilerOptions\u003CT> = \n    | { type: 'lmdb'; input: LmdbInput\u003CT> }\n    | { type: 'mmdb'; input: Input\u003CT> };\n\n\ntype LmdbInput\u003CT> = Omit\u003CInput\u003CT>, 'mmdbPath'> & {\n    data: LmdbSources\u003CT>;   \n};\n\ninterface Input\u003CT> {\n    outputPath: string;\n    dataBaseName: string;\n    data: T[] | StringOfSources[] | string;\n    mmdbPath: string;\n    generateTypes: boolean;\n}\n\ninterface DatabaseRecord\u003CT> {\n    key: string,\n    data: T\n}\n\ninterface StringOfSources {\n    pathToJson: string,\n    dataBaseName: string;\n    outputPath: string;\n}\n\ntype LmdbSources\u003CT> = DatabaseRecord\u003CT>[] | StringOfSources[] | string | (T & {key: string})[];\n\n",[825,4372,4373,4395,4429,4461,4465,4469,4511,4527,4532,4536,4549,4559,4569,4593,4603,4613,4617,4621,4634,4645,4654,4658,4662,4670,4681,4691,4701,4705,4709],{"__ignoreMap":923},[927,4374,4375,4377,4380,4383,4387,4390,4392],{"class":929,"line":930},[927,4376,1837],{"class":2024},[927,4378,4379],{"class":2216}," CompilerOptions",[927,4381,4382],{"class":1184},"\u003C",[927,4384,4386],{"class":4385},"sW-rI","T",[927,4388,4389],{"class":1184},"> ",[927,4391,2223],{"class":2032},[927,4393,4394],{"class":1184}," \n",[927,4396,4397,4400,4402,4404,4406,4408,4410,4412,4415,4417,4419,4422,4424,4426],{"class":929,"line":937},[927,4398,4399],{"class":2032},"    |",[927,4401,1185],{"class":1184},[927,4403,1837],{"class":1188},[927,4405,1236],{"class":2032},[927,4407,1198],{"class":1197},[927,4409,1390],{"class":943},[927,4411,1204],{"class":1197},[927,4413,4414],{"class":1184},"; ",[927,4416,1850],{"class":1188},[927,4418,1236],{"class":2032},[927,4420,4421],{"class":2216}," LmdbInput",[927,4423,4382],{"class":1184},[927,4425,4386],{"class":4385},[927,4427,4428],{"class":1184},"> }\n",[927,4430,4431,4433,4435,4437,4439,4441,4443,4445,4447,4449,4451,4454,4456,4458],{"class":929,"line":975},[927,4432,4399],{"class":2032},[927,4434,1185],{"class":1184},[927,4436,1837],{"class":1188},[927,4438,1236],{"class":2032},[927,4440,1198],{"class":1197},[927,4442,1241],{"class":943},[927,4444,1204],{"class":1197},[927,4446,4414],{"class":1184},[927,4448,1850],{"class":1188},[927,4450,1236],{"class":2032},[927,4452,4453],{"class":2216}," Input",[927,4455,4382],{"class":1184},[927,4457,4386],{"class":4385},[927,4459,4460],{"class":1184},"> };\n",[927,4462,4463],{"class":929,"line":981},[927,4464,978],{"emptyLinePlaceholder":8},[927,4466,4467],{"class":929,"line":987},[927,4468,978],{"emptyLinePlaceholder":8},[927,4470,4471,4473,4475,4477,4479,4481,4483,4486,4488,4491,4493,4495,4498,4500,4502,4504,4506,4509],{"class":929,"line":1249},[927,4472,1837],{"class":2024},[927,4474,4421],{"class":2216},[927,4476,4382],{"class":1184},[927,4478,4386],{"class":4385},[927,4480,4389],{"class":1184},[927,4482,2223],{"class":2032},[927,4484,4485],{"class":2216}," Omit",[927,4487,4382],{"class":1184},[927,4489,4490],{"class":4385},"Input",[927,4492,4382],{"class":1184},[927,4494,4386],{"class":4385},[927,4496,4497],{"class":1184},">, ",[927,4499,1204],{"class":1197},[927,4501,1884],{"class":943},[927,4503,1204],{"class":1197},[927,4505,4389],{"class":1184},[927,4507,4508],{"class":2032},"&",[927,4510,1257],{"class":1184},[927,4512,4513,4515,4517,4520,4522,4524],{"class":929,"line":1260},[927,4514,1263],{"class":1188},[927,4516,1236],{"class":2032},[927,4518,4519],{"class":2216}," LmdbSources",[927,4521,4382],{"class":1184},[927,4523,4386],{"class":4385},[927,4525,4526],{"class":1184},">;   \n",[927,4528,4529],{"class":929,"line":1281},[927,4530,4531],{"class":1184},"};\n",[927,4533,4534],{"class":929,"line":1298},[927,4535,978],{"emptyLinePlaceholder":8},[927,4537,4538,4540,4542,4544,4546],{"class":929,"line":1315},[927,4539,3698],{"class":2024},[927,4541,4453],{"class":2216},[927,4543,4382],{"class":1184},[927,4545,4386],{"class":4385},[927,4547,4548],{"class":1184},"> {\n",[927,4550,4551,4553,4555,4557],{"class":929,"line":1336},[927,4552,1301],{"class":1188},[927,4554,1236],{"class":2032},[927,4556,3713],{"class":2216},[927,4558,1207],{"class":1184},[927,4560,4561,4563,4565,4567],{"class":929,"line":1349},[927,4562,1284],{"class":1188},[927,4564,1236],{"class":2032},[927,4566,3713],{"class":2216},[927,4568,1207],{"class":1184},[927,4570,4571,4573,4575,4578,4580,4583,4585,4587,4589,4591],{"class":929,"line":1355},[927,4572,1263],{"class":1188},[927,4574,1236],{"class":2032},[927,4576,4577],{"class":2216}," T",[927,4579,2220],{"class":1184},[927,4581,4582],{"class":2032},"|",[927,4584,2217],{"class":2216},[927,4586,2220],{"class":1184},[927,4588,4582],{"class":2032},[927,4590,3713],{"class":2216},[927,4592,1207],{"class":1184},[927,4594,4595,4597,4599,4601],{"class":929,"line":1361},[927,4596,1318],{"class":1188},[927,4598,1236],{"class":2032},[927,4600,3713],{"class":2216},[927,4602,1207],{"class":1184},[927,4604,4605,4607,4609,4611],{"class":929,"line":1366},[927,4606,1339],{"class":1188},[927,4608,1236],{"class":2032},[927,4610,3827],{"class":2216},[927,4612,1207],{"class":1184},[927,4614,4615],{"class":929,"line":1372},[927,4616,3681],{"class":1184},[927,4618,4619],{"class":929,"line":1381},[927,4620,978],{"emptyLinePlaceholder":8},[927,4622,4623,4625,4628,4630,4632],{"class":929,"line":1397},[927,4624,3698],{"class":2024},[927,4626,4627],{"class":2216}," DatabaseRecord",[927,4629,4382],{"class":1184},[927,4631,4386],{"class":4385},[927,4633,4548],{"class":1184},[927,4635,4636,4639,4641,4643],{"class":929,"line":1406},[927,4637,4638],{"class":1188},"    key",[927,4640,1236],{"class":2032},[927,4642,3713],{"class":2216},[927,4644,1246],{"class":1184},[927,4646,4647,4649,4651],{"class":929,"line":1421},[927,4648,1263],{"class":1188},[927,4650,1236],{"class":2032},[927,4652,4653],{"class":2216}," T\n",[927,4655,4656],{"class":929,"line":1437},[927,4657,3681],{"class":1184},[927,4659,4660],{"class":929,"line":1452},[927,4661,978],{"emptyLinePlaceholder":8},[927,4663,4664,4666,4668],{"class":929,"line":1463},[927,4665,3698],{"class":2024},[927,4667,2217],{"class":2216},[927,4669,1257],{"class":1184},[927,4671,4672,4675,4677,4679],{"class":929,"line":1469},[927,4673,4674],{"class":1188},"    pathToJson",[927,4676,1236],{"class":2032},[927,4678,3713],{"class":2216},[927,4680,1246],{"class":1184},[927,4682,4683,4685,4687,4689],{"class":929,"line":1474},[927,4684,1284],{"class":1188},[927,4686,1236],{"class":2032},[927,4688,3713],{"class":2216},[927,4690,1207],{"class":1184},[927,4692,4693,4695,4697,4699],{"class":929,"line":2479},[927,4694,1301],{"class":1188},[927,4696,1236],{"class":2032},[927,4698,3713],{"class":2216},[927,4700,1207],{"class":1184},[927,4702,4703],{"class":929,"line":2495},[927,4704,3681],{"class":1184},[927,4706,4707],{"class":929,"line":2510},[927,4708,978],{"emptyLinePlaceholder":8},[927,4710,4711,4713,4715,4717,4719,4721,4723,4725,4727,4729,4732,4734,4736,4738,4740,4742,4744,4746,4748,4751,4754,4756,4758,4760],{"class":929,"line":2521},[927,4712,1837],{"class":2024},[927,4714,4519],{"class":2216},[927,4716,4382],{"class":1184},[927,4718,4386],{"class":4385},[927,4720,4389],{"class":1184},[927,4722,2223],{"class":2032},[927,4724,4627],{"class":2216},[927,4726,4382],{"class":1184},[927,4728,4386],{"class":4385},[927,4730,4731],{"class":1184},">[] ",[927,4733,4582],{"class":2032},[927,4735,2217],{"class":2216},[927,4737,2220],{"class":1184},[927,4739,4582],{"class":2032},[927,4741,3713],{"class":2216},[927,4743,4058],{"class":2032},[927,4745,4052],{"class":1184},[927,4747,4386],{"class":2216},[927,4749,4750],{"class":2032}," &",[927,4752,4753],{"class":1184}," {",[927,4755,838],{"class":1188},[927,4757,1236],{"class":2032},[927,4759,3713],{"class":2216},[927,4761,4762],{"class":1184},"})[];\n",[4764,4765,4766],"tip",{},[821,4767,4768,4769,4772],{},"Use the ",[825,4770,4771],{},"types"," subcommand to generate TypeScript types from a JSON file without compiling a database. This is useful for previewing the type output before committing to a schema.",[4774,4775,4776],"style",{},"html pre.shiki code .sghk6, html code.shiki .sghk6{--shiki-light:#008000;--shiki-default:#008000;--shiki-dark:#6272A4}html pre.shiki code .sHOzp, html code.shiki .sHOzp{--shiki-light:#795E26;--shiki-default:#795E26;--shiki-dark:#50FA7B}html pre.shiki code .sFB1V, html code.shiki .sFB1V{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#F1FA8C}html pre.shiki code .sjR7W, html code.shiki .sjR7W{--shiki-light:#0000FF;--shiki-default:#0000FF;--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 .sZ328, html code.shiki .sZ328{--shiki-light:#AF00DB;--shiki-default:#AF00DB;--shiki-dark:#FF79C6}html pre.shiki code .sDd4n, html code.shiki .sDd4n{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#F8F8F2}html pre.shiki code .sjsA6, html code.shiki .sjsA6{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#F8F8F2}html pre.shiki code .sFkSl, html code.shiki .sFkSl{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#E9F284}html pre.shiki code .s34zl, html code.shiki .s34zl{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#FF79C6}html pre.shiki code .sl46w, html code.shiki .sl46w{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#FF79C6}html pre.shiki code .s3JHE, html code.shiki .s3JHE{--shiki-light:#0070C1;--shiki-default:#0070C1;--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 .spgvN, html code.shiki .spgvN{--shiki-light:#098658;--shiki-default:#098658;--shiki-dark:#BD93F9}html pre.shiki code .sW-rI, html code.shiki .sW-rI{--shiki-light:#267F99;--shiki-light-font-style:inherit;--shiki-default:#267F99;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic}html pre.shiki code .saJyd, html code.shiki .saJyd{--shiki-light:#0451A5;--shiki-default:#0451A5;--shiki-dark:#8BE9FE}html pre.shiki code .s_W10, html code.shiki .s_W10{--shiki-light:#0451A5;--shiki-default:#0451A5;--shiki-dark:#8BE9FD}",{"title":923,"searchDepth":937,"depth":937,"links":4778},[4779,4780,4781,4782,4783,4784,4785,4786],{"id":850,"depth":937,"text":851},{"id":911,"depth":937,"text":912},{"id":1622,"depth":937,"text":1623},{"id":1782,"depth":937,"text":1783},{"id":2143,"depth":937,"text":2144},{"id":2533,"depth":937,"text":2534},{"id":4147,"depth":937,"text":4148},{"id":4366,"depth":937,"text":4367},"Compile your own JSON data into MMDB or LMDB databases with automatic TypeScript type generation, using both the CLI and the programmatic API.","md","i-lucide-plus-circle",{},null,"---\ntitle: Custom Data Sources\ndescription: Compile your own JSON data into MMDB or LMDB databases with automatic TypeScript type generation, using both the CLI and the programmatic API.\nicon: i-lucide-plus-circle\n---\n\nShield Base can compile any JSON data you provide into a fully typed MMDB or LMDB database. The `compile` subcommand and the `compiler` function handle both formats. The only requirements are that MMDB records contain a `range` field, and LMDB records contain a `key` or `id` field.\n\n---\n\n## Choosing a Format\n\n| Format | Use when | Required field |\n| --- | --- | --- |\n| **MMDB** | Your data is keyed by IP address or CIDR range | `range` (IPv4\u002FIPv6 address or CIDR) |\n| **LMDB** | Your data is keyed by any string identifier | `key` or `id` |\n\n---\n\n## CLI: Compile a Single File\n\n::code-group\n```bash [pnpm]\n# Compile an MMDB database from a JSON file\npnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\n\n# Compile an LMDB database from a JSON file\npnpm dlx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n```\n\n```bash [yarn]\nyarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\nyarn dlx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n```\n\n```bash [npm]\nnpx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\nnpx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n```\n\n```bash [bun]\nbunx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout example.json\nbunx @riavzon\u002Fshield-base compile --type lmdb --name myKeys --outputDir .\u002Fout example.json\n```\n```ts [Programmatic]\nimport { compiler } from '@riavzon\u002Fshield-base';\n\n\u002F\u002F MMDB (IP range data)\nawait compiler({\n  type: 'mmdb',\n  input: {\n    data: 'example.json',  \u002F\u002F file path, raw JSON string, or array of objects\n    dataBaseName: 'myRanges',\n    outputPath: '.\u002Fout',\n    mmdbPath: 'mmdbctl',   \u002F\u002F required for mmdb\n    generateTypes: true,\n  },\n});\n\n\u002F\u002F LMDB (key-value data)\nawait compiler({\n  type: 'lmdb',\n  input: {\n    data: 'example.json',\n    dataBaseName: 'myKeys',\n    outputPath: '.\u002Fout',\n    generateTypes: true,\n    \u002F\u002F no mmdbPath needed for lmdb\n  },\n});\n```\n::\n\nThis produces:\n- `.\u002Fout\u002FmyRanges.mmdb` (or `myKeys.mdb` + `myKeys.mdb-lock` for LMDB)\n- `.\u002Fout\u002FmyRangesTypes.ts` (TypeScript types auto-generated from the data schema)\n\nPass `--no-types` to skip type generation:\n\n::code-group\n```bash [pnpm]\npnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n```\n\n```bash [yarn]\nyarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n```\n\n```bash [npm]\nnpx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n```\n\n```bash [bun]\nbunx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --no-types example.json\n```\n::\n\n---\n\n## CLI: Batch Processing\n\nWhen you provide multiple input files, the first output uses your `--name` and subsequent files are indexed:\n\n::code-group\n```bash [pnpm]\npnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n```\n\n```bash [yarn]\nyarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n```\n\n```bash [npm]\nnpx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n```\n\n```bash [bun]\nbunx @riavzon\u002Fshield-base compile --type mmdb --name myRanges --outputDir .\u002Fout file1.json file2.json file3.json\n```\n::\n\nProduces: `myRanges.mmdb`, `myRanges-1.mmdb`, `myRanges-2.mmdb` and a matching set of type files.\n\n---\n\n## Programmatic: Input Formats\n\nThe `data` field in the compiler options accepts three forms:\n\n```ts [build.ts]\nimport { compiler } from '@riavzon\u002Fshield-base';\n\n\u002F\u002F 1. File path\nawait compiler({ type: 'mmdb', input: { data: '.\u002Fexample.json', dataBaseName: 'db', mmdbPath: 'mmdbctl', outputPath: '.\u002F', generateTypes: true } });\n\n\u002F\u002F 2. Raw JSON string\nawait compiler({ type: 'mmdb', input: { data: '[{\"range\":\"1.1.1.0\u002F24\"}]', dataBaseName: 'db', mmdbPath: 'mmdbctl', outputPath: '.\u002F', generateTypes: true } });\n\n\u002F\u002F 3. JavaScript array\nconst data = [{ range: '1.1.1.0\u002F24', name: 'Cloudflare' }];\nawait compiler({ type: 'mmdb', input: { data, dataBaseName: 'db', mmdbPath: 'mmdbctl', outputPath: '.\u002F', generateTypes: true } });\n```\n\n---\n\n## Programmatic: Batch Processing\n\nProvide a `StringOfSources[]` array to compile multiple JSON files into separate databases in one call:\n\n```ts [build.ts]\nimport { compiler } from '@riavzon\u002Fshield-base';\nimport type { StringOfSources } from '@riavzon\u002Fshield-base';\n\nconst sources: StringOfSources[] = [\n  { pathToJson: 'ranges1.json', dataBaseName: 'rangesA', outputPath: '.\u002Fout' },\n  { pathToJson: 'ranges2.json', dataBaseName: 'rangesB', outputPath: '.\u002Fout' },\n];\n\n\u002F\u002F MMDB batch\nawait compiler({\n  type: 'mmdb',\n  input: {\n    data: sources,\n    dataBaseName: 'rangesA',\n    mmdbPath: 'mmdbctl',\n    outputPath: '.\u002Fout',\n    generateTypes: true,\n  },\n});\n\n\u002F\u002F LMDB batch\nawait compiler({\n  type: 'lmdb',\n  input: {\n    data: sources,\n    dataBaseName: 'keysA',\n    outputPath: '.\u002Fout',\n    generateTypes: true,\n  },\n});\n```\n\n---\n\n## Full Example: Nested MMDB Data\n\nShield Base handles deeply nested JSON structures. Given this input:\n\n```json [example.json]\n[\n  {\n    \"range\": \"1.1.1.0\u002F24\",\n    \"metadata\": {\n      \"version\": \"1.0.0\",\n      \"author\": \"Person\",\n      \"tags\": [\"dns\", \"secure\", \"fast\"],\n      \"sub_data\": {\n        \"level_1\": { \n          \"level_2\": {\n            \"level_3\": {\n              \"level_4\": {\n                \"deep_value\": \"Success\",\n                \"array_of_objects\": [\n                  { \"index\": 0, \"active\": true },\n                  { \"index\": 1, \"active\": false }\n                ],\n                \"mixed_types\": [1, \"two\", { \"three\": 3 }]\n              }\n            }\n          }\n        }\n      }\n    },\n    \"organization\": {\n      \"name\": \"Cloudflare, Inc.\",\n      \"details\": {\n        \"headquarters\": \"San Francisco\",\n        \"employees\": 3000,\n        \"is_public\": true\n      }\n    }\n  },\n]\n```\n\nCompile and query it:\n\n::code-group\n```bash [pnpm]\npnpm dlx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n```\n\n```bash [yarn]\nyarn dlx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n```\n\n```bash [npm]\nnpx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n```\n\n```bash [bun]\nbunx @riavzon\u002Fshield-base compile --type mmdb --name myDb --outputDir .\u002Fout example.json\n```\n::\n\n```bash [Terminal]\nmmdbctl read -f json-pretty 1.1.1.10 .\u002Fout\u002FmyDb.mmdb\n```\n\n```json\n{\n  \"ip\": \"1.1.1.10\",\n  \"metadata\": {\n    \"author\": \"Person\",\n    \"sub_data\": {\n      \"level_1\": {\n        \"level_2\": {\n          \"level_3\": {\n            \"level_4\": {\n              \"array_of_objects\": [\n                {\n                  \"active\": true,\n                  \"index\": 0\n                },\n                {\n                  \"active\": false,\n                  \"index\": 1\n                }\n              ],\n              \"deep_value\": \"Success\",\n              \"mixed_types\": [\n                1,\n                \"two\",\n                {\n                  \"three\": 3\n                }\n              ]\n            }\n          }\n        }\n      }\n    },\n    \"tags\": [\n      \"dns\",\n      \"secure\",\n      \"fast\"\n    ],\n    \"version\": \"1.0.0\"\n  },\n  \"network\": \"1.1.1.0\u002F24\",\n  \"organization\": {\n    \"details\": {\n      \"employees\": 3000,\n      \"headquarters\": \"San Francisco\",\n      \"is_public\": true\n    },\n    \"name\": \"Cloudflare, Inc.\"\n  }\n}\n```\n\nThe generated `mymmdbdbTypes.ts` type file reflects the full structure:\n\n```ts [mymmdbdbTypes.ts]\ninterface MyMmdbDb {\n  range: string;\n  metadata: Metadata;\n  organization: Organization;\n}\n\ninterface Organization {\n  name: string;\n  details: Details;\n}\n\ninterface Details {\n  headquarters: string;\n  employees: number;\n  is_public: boolean;\n}\n\ninterface Metadata {\n  version: string;\n  author: string;\n  tags: string[];\n  sub_data: Subdata;\n}\n\ninterface Subdata {\n  level_1: Level1;\n}\n\ninterface Level1 {\n  level_2: Level2;\n}\n\ninterface Level2 {\n  level_3: Level3;\n}\n\ninterface Level3 {\n  level_4: Level4;\n}\n\ninterface Level4 {\n  deep_value: string;\n  array_of_objects: Arrayofobject[];\n  mixed_types: (Mixedtype | number | string)[];\n}\n\ninterface Mixedtype {\n  three: number;\n}\n\ninterface Arrayofobject {\n  index: number;\n  active: boolean;\n}\n```\n\n---\n\n## Custom Crawler Providers\n\n[`getCrawlersIps`](\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcrawlers) accepts a `ProvidersLists[]` array to merge your own IP range sources with the built-in crawler datasets:\n\n```ts [build.ts]\nimport { getCrawlersIps } from '@riavzon\u002Fshield-base';\nimport type { ProvidersLists } from '@riavzon\u002Fshield-base';\n\nconst customProviders: ProvidersLists[] = [\n  {\n    name: 'cloudflare',   \u002F\u002F Stored as the `provider` field in the database\n    type: 'JSON',         \u002F\u002F 'JSON' | 'CSV' | 'HTML'\n    urls: [\n      'https:\u002F\u002Fwww.cloudflare.com\u002Fips-v4',\n      'https:\u002F\u002Fwww.cloudflare.com\u002Fips-v6',\n    ],\n  },\n];\n\nawait getCrawlersIps('.\u002Fout', 'mmdbctl', customProviders);\n```\n\nThis compiles the built-in provider datasets and your custom sources into a single `goodBots.mmdb` database.\n\n---\n\n## Input Type Reference\n\n```ts\ntype CompilerOptions\u003CT> = \n    | { type: 'lmdb'; input: LmdbInput\u003CT> }\n    | { type: 'mmdb'; input: Input\u003CT> };\n\n\ntype LmdbInput\u003CT> = Omit\u003CInput\u003CT>, 'mmdbPath'> & {\n    data: LmdbSources\u003CT>;   \n};\n\ninterface Input\u003CT> {\n    outputPath: string;\n    dataBaseName: string;\n    data: T[] | StringOfSources[] | string;\n    mmdbPath: string;\n    generateTypes: boolean;\n}\n\ninterface DatabaseRecord\u003CT> {\n    key: string,\n    data: T\n}\n\ninterface StringOfSources {\n    pathToJson: string,\n    dataBaseName: string;\n    outputPath: string;\n}\n\ntype LmdbSources\u003CT> = DatabaseRecord\u003CT>[] | StringOfSources[] | string | (T & {key: string})[];\n\n```\n\n::tip\nUse the `types` subcommand to generate TypeScript types from a JSON file without compiling a database. This is useful for previewing the type output before committing to a schema.\n::\n",{"title":127,"description":4787},"6i8ryWvpV3vQM3bNwhCvgaKfHZyo1lBRvVu9TFnwPLI",[4796,4797],{"title":123,"path":124,"stem":125,"children":-1},{"title":131,"path":132,"stem":133,"children":-1},{"id":816,"title":127,"body":4799,"description":4787,"extension":4788,"icon":4789,"meta":8285,"module":4791,"navigation":8,"path":128,"rawbody":4792,"seo":8286,"stem":129,"__hash__":4794},{"type":818,"value":4800,"toc":8275},[4801,4813,4815,4817,4857,4859,4861,5317,5319,5333,5337,5439,5441,5443,5447,5573,5581,5583,5585,5589,5909,5911,5913,5917,6269,6271,6273,6275,6701,6703,6813,6831,7299,7303,7709,7711,7713,7721,7895,7899,7901,7903,8267,8273],[821,4802,823,4803,828,4805,832,4807,835,4809,839,4811,843],{},[825,4804,827],{},[825,4806,831],{},[825,4808,741],{},[825,4810,838],{},[825,4812,842],{},[845,4814],{},[848,4816,851],{"id":850},[853,4818,4819,4829],{},[856,4820,4821],{},[859,4822,4823,4825,4827],{},[862,4824,864],{},[862,4826,867],{},[862,4828,870],{},[872,4830,4831,4843],{},[859,4832,4833,4837,4839],{},[877,4834,4835],{},[880,4836,882],{},[877,4838,885],{},[877,4840,4841,890],{},[825,4842,741],{},[859,4844,4845,4849,4851],{},[877,4846,4847],{},[880,4848,897],{},[877,4850,900],{},[877,4852,4853,839,4855],{},[825,4854,838],{},[825,4856,842],{},[845,4858],{},[848,4860,912],{"id":911},[914,4862,4863,4927,4979,5027,5075],{},[917,4864,4865],{"className":919,"code":920,"filename":921,"language":922,"meta":923,"style":923},[825,4866,4867,4871,4895,4899,4903],{"__ignoreMap":923},[927,4868,4869],{"class":929,"line":930},[927,4870,934],{"class":933},[927,4872,4873,4875,4877,4879,4881,4883,4885,4887,4889,4891,4893],{"class":929,"line":937},[927,4874,921],{"class":940},[927,4876,944],{"class":943},[927,4878,947],{"class":943},[927,4880,950],{"class":943},[927,4882,954],{"class":953},[927,4884,957],{"class":943},[927,4886,960],{"class":953},[927,4888,963],{"class":943},[927,4890,966],{"class":953},[927,4892,969],{"class":943},[927,4894,972],{"class":943},[927,4896,4897],{"class":929,"line":975},[927,4898,978],{"emptyLinePlaceholder":8},[927,4900,4901],{"class":929,"line":981},[927,4902,984],{"class":933},[927,4904,4905,4907,4909,4911,4913,4915,4917,4919,4921,4923,4925],{"class":929,"line":987},[927,4906,921],{"class":940},[927,4908,944],{"class":943},[927,4910,947],{"class":943},[927,4912,950],{"class":943},[927,4914,954],{"class":953},[927,4916,1000],{"class":943},[927,4918,960],{"class":953},[927,4920,1005],{"class":943},[927,4922,966],{"class":953},[927,4924,969],{"class":943},[927,4926,972],{"class":943},[917,4928,4929],{"className":919,"code":1014,"filename":1015,"language":922,"meta":923,"style":923},[825,4930,4931,4955],{"__ignoreMap":923},[927,4932,4933,4935,4937,4939,4941,4943,4945,4947,4949,4951,4953],{"class":929,"line":930},[927,4934,1015],{"class":940},[927,4936,944],{"class":943},[927,4938,947],{"class":943},[927,4940,950],{"class":943},[927,4942,954],{"class":953},[927,4944,957],{"class":943},[927,4946,960],{"class":953},[927,4948,963],{"class":943},[927,4950,966],{"class":953},[927,4952,969],{"class":943},[927,4954,972],{"class":943},[927,4956,4957,4959,4961,4963,4965,4967,4969,4971,4973,4975,4977],{"class":929,"line":937},[927,4958,1015],{"class":940},[927,4960,944],{"class":943},[927,4962,947],{"class":943},[927,4964,950],{"class":943},[927,4966,954],{"class":953},[927,4968,1000],{"class":943},[927,4970,960],{"class":953},[927,4972,1005],{"class":943},[927,4974,966],{"class":953},[927,4976,969],{"class":943},[927,4978,972],{"class":943},[917,4980,4981],{"className":919,"code":1068,"filename":1069,"language":922,"meta":923,"style":923},[825,4982,4983,5005],{"__ignoreMap":923},[927,4984,4985,4987,4989,4991,4993,4995,4997,4999,5001,5003],{"class":929,"line":930},[927,4986,1076],{"class":940},[927,4988,947],{"class":943},[927,4990,950],{"class":943},[927,4992,954],{"class":953},[927,4994,957],{"class":943},[927,4996,960],{"class":953},[927,4998,963],{"class":943},[927,5000,966],{"class":953},[927,5002,969],{"class":943},[927,5004,972],{"class":943},[927,5006,5007,5009,5011,5013,5015,5017,5019,5021,5023,5025],{"class":929,"line":937},[927,5008,1076],{"class":940},[927,5010,947],{"class":943},[927,5012,950],{"class":943},[927,5014,954],{"class":953},[927,5016,1000],{"class":943},[927,5018,960],{"class":953},[927,5020,1005],{"class":943},[927,5022,966],{"class":953},[927,5024,969],{"class":943},[927,5026,972],{"class":943},[917,5028,5029],{"className":919,"code":1119,"filename":1120,"language":922,"meta":923,"style":923},[825,5030,5031,5053],{"__ignoreMap":923},[927,5032,5033,5035,5037,5039,5041,5043,5045,5047,5049,5051],{"class":929,"line":930},[927,5034,1127],{"class":940},[927,5036,947],{"class":943},[927,5038,950],{"class":943},[927,5040,954],{"class":953},[927,5042,957],{"class":943},[927,5044,960],{"class":953},[927,5046,963],{"class":943},[927,5048,966],{"class":953},[927,5050,969],{"class":943},[927,5052,972],{"class":943},[927,5054,5055,5057,5059,5061,5063,5065,5067,5069,5071,5073],{"class":929,"line":937},[927,5056,1127],{"class":940},[927,5058,947],{"class":943},[927,5060,950],{"class":943},[927,5062,954],{"class":953},[927,5064,1000],{"class":943},[927,5066,960],{"class":953},[927,5068,1005],{"class":943},[927,5070,966],{"class":953},[927,5072,969],{"class":943},[927,5074,972],{"class":943},[917,5076,5077],{"className":1170,"code":1171,"filename":1172,"language":1173,"meta":923,"style":923},[825,5078,5079,5099,5103,5107,5115,5129,5137,5153,5167,5181,5197,5207,5211,5215,5219,5223,5231,5245,5253,5267,5281,5295,5305,5309,5313],{"__ignoreMap":923},[927,5080,5081,5083,5085,5087,5089,5091,5093,5095,5097],{"class":929,"line":930},[927,5082,1181],{"class":1180},[927,5084,1185],{"class":1184},[927,5086,831],{"class":1188},[927,5088,1191],{"class":1184},[927,5090,1194],{"class":1180},[927,5092,1198],{"class":1197},[927,5094,1201],{"class":943},[927,5096,1204],{"class":1197},[927,5098,1207],{"class":1184},[927,5100,5101],{"class":929,"line":937},[927,5102,978],{"emptyLinePlaceholder":8},[927,5104,5105],{"class":929,"line":975},[927,5106,1216],{"class":933},[927,5108,5109,5111,5113],{"class":929,"line":981},[927,5110,1221],{"class":1180},[927,5112,1224],{"class":940},[927,5114,1227],{"class":1184},[927,5116,5117,5119,5121,5123,5125,5127],{"class":929,"line":987},[927,5118,1232],{"class":1188},[927,5120,1236],{"class":1235},[927,5122,1198],{"class":1197},[927,5124,1241],{"class":943},[927,5126,1204],{"class":1197},[927,5128,1246],{"class":1184},[927,5130,5131,5133,5135],{"class":929,"line":1249},[927,5132,1252],{"class":1188},[927,5134,1236],{"class":1235},[927,5136,1257],{"class":1184},[927,5138,5139,5141,5143,5145,5147,5149,5151],{"class":929,"line":1260},[927,5140,1263],{"class":1188},[927,5142,1236],{"class":1235},[927,5144,1198],{"class":1197},[927,5146,1270],{"class":943},[927,5148,1204],{"class":1197},[927,5150,1275],{"class":1184},[927,5152,1278],{"class":933},[927,5154,5155,5157,5159,5161,5163,5165],{"class":929,"line":1281},[927,5156,1284],{"class":1188},[927,5158,1236],{"class":1235},[927,5160,1198],{"class":1197},[927,5162,1291],{"class":943},[927,5164,1204],{"class":1197},[927,5166,1246],{"class":1184},[927,5168,5169,5171,5173,5175,5177,5179],{"class":929,"line":1298},[927,5170,1301],{"class":1188},[927,5172,1236],{"class":1235},[927,5174,1198],{"class":1197},[927,5176,1308],{"class":943},[927,5178,1204],{"class":1197},[927,5180,1246],{"class":1184},[927,5182,5183,5185,5187,5189,5191,5193,5195],{"class":929,"line":1315},[927,5184,1318],{"class":1188},[927,5186,1236],{"class":1235},[927,5188,1198],{"class":1197},[927,5190,1325],{"class":943},[927,5192,1204],{"class":1197},[927,5194,1330],{"class":1184},[927,5196,1333],{"class":933},[927,5198,5199,5201,5203,5205],{"class":929,"line":1336},[927,5200,1339],{"class":1188},[927,5202,1236],{"class":1235},[927,5204,1344],{"class":953},[927,5206,1246],{"class":1184},[927,5208,5209],{"class":929,"line":1349},[927,5210,1352],{"class":1184},[927,5212,5213],{"class":929,"line":1355},[927,5214,1358],{"class":1184},[927,5216,5217],{"class":929,"line":1361},[927,5218,978],{"emptyLinePlaceholder":8},[927,5220,5221],{"class":929,"line":1366},[927,5222,1369],{"class":933},[927,5224,5225,5227,5229],{"class":929,"line":1372},[927,5226,1221],{"class":1180},[927,5228,1224],{"class":940},[927,5230,1227],{"class":1184},[927,5232,5233,5235,5237,5239,5241,5243],{"class":929,"line":1381},[927,5234,1232],{"class":1188},[927,5236,1236],{"class":1235},[927,5238,1198],{"class":1197},[927,5240,1390],{"class":943},[927,5242,1204],{"class":1197},[927,5244,1246],{"class":1184},[927,5246,5247,5249,5251],{"class":929,"line":1397},[927,5248,1252],{"class":1188},[927,5250,1236],{"class":1235},[927,5252,1257],{"class":1184},[927,5254,5255,5257,5259,5261,5263,5265],{"class":929,"line":1406},[927,5256,1263],{"class":1188},[927,5258,1236],{"class":1235},[927,5260,1198],{"class":1197},[927,5262,1270],{"class":943},[927,5264,1204],{"class":1197},[927,5266,1246],{"class":1184},[927,5268,5269,5271,5273,5275,5277,5279],{"class":929,"line":1421},[927,5270,1284],{"class":1188},[927,5272,1236],{"class":1235},[927,5274,1198],{"class":1197},[927,5276,1430],{"class":943},[927,5278,1204],{"class":1197},[927,5280,1246],{"class":1184},[927,5282,5283,5285,5287,5289,5291,5293],{"class":929,"line":1437},[927,5284,1301],{"class":1188},[927,5286,1236],{"class":1235},[927,5288,1198],{"class":1197},[927,5290,1308],{"class":943},[927,5292,1204],{"class":1197},[927,5294,1246],{"class":1184},[927,5296,5297,5299,5301,5303],{"class":929,"line":1452},[927,5298,1339],{"class":1188},[927,5300,1236],{"class":1235},[927,5302,1344],{"class":953},[927,5304,1246],{"class":1184},[927,5306,5307],{"class":929,"line":1463},[927,5308,1466],{"class":933},[927,5310,5311],{"class":929,"line":1469},[927,5312,1352],{"class":1184},[927,5314,5315],{"class":929,"line":1474},[927,5316,1358],{"class":1184},[821,5318,1479],{},[1481,5320,5321,5329],{},[1484,5322,5323,1489,5325,1493,5327,1497],{},[825,5324,1488],{},[825,5326,1492],{},[825,5328,1496],{},[1484,5330,5331,1503],{},[825,5332,1502],{},[821,5334,1506,5335,1510],{},[825,5336,1509],{},[914,5338,5339,5365,5391,5415],{},[917,5340,5341],{"className":919,"code":1515,"filename":921,"language":922,"meta":923,"style":923},[825,5342,5343],{"__ignoreMap":923},[927,5344,5345,5347,5349,5351,5353,5355,5357,5359,5361,5363],{"class":929,"line":930},[927,5346,921],{"class":940},[927,5348,944],{"class":943},[927,5350,947],{"class":943},[927,5352,950],{"class":943},[927,5354,954],{"class":953},[927,5356,957],{"class":943},[927,5358,960],{"class":953},[927,5360,963],{"class":943},[927,5362,1538],{"class":953},[927,5364,972],{"class":943},[917,5366,5367],{"className":919,"code":1543,"filename":1015,"language":922,"meta":923,"style":923},[825,5368,5369],{"__ignoreMap":923},[927,5370,5371,5373,5375,5377,5379,5381,5383,5385,5387,5389],{"class":929,"line":930},[927,5372,1015],{"class":940},[927,5374,944],{"class":943},[927,5376,947],{"class":943},[927,5378,950],{"class":943},[927,5380,954],{"class":953},[927,5382,957],{"class":943},[927,5384,960],{"class":953},[927,5386,963],{"class":943},[927,5388,1538],{"class":953},[927,5390,972],{"class":943},[917,5392,5393],{"className":919,"code":1570,"filename":1069,"language":922,"meta":923,"style":923},[825,5394,5395],{"__ignoreMap":923},[927,5396,5397,5399,5401,5403,5405,5407,5409,5411,5413],{"class":929,"line":930},[927,5398,1076],{"class":940},[927,5400,947],{"class":943},[927,5402,950],{"class":943},[927,5404,954],{"class":953},[927,5406,957],{"class":943},[927,5408,960],{"class":953},[927,5410,963],{"class":943},[927,5412,1538],{"class":953},[927,5414,972],{"class":943},[917,5416,5417],{"className":919,"code":1595,"filename":1120,"language":922,"meta":923,"style":923},[825,5418,5419],{"__ignoreMap":923},[927,5420,5421,5423,5425,5427,5429,5431,5433,5435,5437],{"class":929,"line":930},[927,5422,1127],{"class":940},[927,5424,947],{"class":943},[927,5426,950],{"class":943},[927,5428,954],{"class":953},[927,5430,957],{"class":943},[927,5432,960],{"class":953},[927,5434,963],{"class":943},[927,5436,1538],{"class":953},[927,5438,972],{"class":943},[845,5440],{},[848,5442,1623],{"id":1622},[821,5444,1626,5445,1630],{},[825,5446,1629],{},[914,5448,5449,5481,5513,5543],{},[917,5450,5451],{"className":919,"code":1635,"filename":921,"language":922,"meta":923,"style":923},[825,5452,5453],{"__ignoreMap":923},[927,5454,5455,5457,5459,5461,5463,5465,5467,5469,5471,5473,5475,5477,5479],{"class":929,"line":930},[927,5456,921],{"class":940},[927,5458,944],{"class":943},[927,5460,947],{"class":943},[927,5462,950],{"class":943},[927,5464,954],{"class":953},[927,5466,957],{"class":943},[927,5468,960],{"class":953},[927,5470,963],{"class":943},[927,5472,966],{"class":953},[927,5474,969],{"class":943},[927,5476,1662],{"class":943},[927,5478,1665],{"class":943},[927,5480,1668],{"class":943},[917,5482,5483],{"className":919,"code":1671,"filename":1015,"language":922,"meta":923,"style":923},[825,5484,5485],{"__ignoreMap":923},[927,5486,5487,5489,5491,5493,5495,5497,5499,5501,5503,5505,5507,5509,5511],{"class":929,"line":930},[927,5488,1015],{"class":940},[927,5490,944],{"class":943},[927,5492,947],{"class":943},[927,5494,950],{"class":943},[927,5496,954],{"class":953},[927,5498,957],{"class":943},[927,5500,960],{"class":953},[927,5502,963],{"class":943},[927,5504,966],{"class":953},[927,5506,969],{"class":943},[927,5508,1662],{"class":943},[927,5510,1665],{"class":943},[927,5512,1668],{"class":943},[917,5514,5515],{"className":919,"code":1704,"filename":1069,"language":922,"meta":923,"style":923},[825,5516,5517],{"__ignoreMap":923},[927,5518,5519,5521,5523,5525,5527,5529,5531,5533,5535,5537,5539,5541],{"class":929,"line":930},[927,5520,1076],{"class":940},[927,5522,947],{"class":943},[927,5524,950],{"class":943},[927,5526,954],{"class":953},[927,5528,957],{"class":943},[927,5530,960],{"class":953},[927,5532,963],{"class":943},[927,5534,966],{"class":953},[927,5536,969],{"class":943},[927,5538,1662],{"class":943},[927,5540,1665],{"class":943},[927,5542,1668],{"class":943},[917,5544,5545],{"className":919,"code":1735,"filename":1120,"language":922,"meta":923,"style":923},[825,5546,5547],{"__ignoreMap":923},[927,5548,5549,5551,5553,5555,5557,5559,5561,5563,5565,5567,5569,5571],{"class":929,"line":930},[927,5550,1127],{"class":940},[927,5552,947],{"class":943},[927,5554,950],{"class":943},[927,5556,954],{"class":953},[927,5558,957],{"class":943},[927,5560,960],{"class":953},[927,5562,963],{"class":943},[927,5564,966],{"class":953},[927,5566,969],{"class":943},[927,5568,1662],{"class":943},[927,5570,1665],{"class":943},[927,5572,1668],{"class":943},[821,5574,1766,5575,1770,5577,1770,5579,1777],{},[825,5576,1769],{},[825,5578,1773],{},[825,5580,1776],{},[845,5582],{},[848,5584,1783],{"id":1782},[821,5586,1786,5587,1790],{},[825,5588,1789],{},[917,5590,5591],{"className":1170,"code":1793,"filename":1794,"language":1173,"meta":923,"style":923},[825,5592,5593,5613,5617,5621,5703,5707,5711,5793,5797,5801,5835],{"__ignoreMap":923},[927,5594,5595,5597,5599,5601,5603,5605,5607,5609,5611],{"class":929,"line":930},[927,5596,1181],{"class":1180},[927,5598,1185],{"class":1184},[927,5600,831],{"class":1188},[927,5602,1191],{"class":1184},[927,5604,1194],{"class":1180},[927,5606,1198],{"class":1197},[927,5608,1201],{"class":943},[927,5610,1204],{"class":1197},[927,5612,1207],{"class":1184},[927,5614,5615],{"class":929,"line":937},[927,5616,978],{"emptyLinePlaceholder":8},[927,5618,5619],{"class":929,"line":975},[927,5620,1825],{"class":933},[927,5622,5623,5625,5627,5629,5631,5633,5635,5637,5639,5641,5643,5645,5647,5649,5651,5653,5655,5657,5659,5661,5663,5665,5667,5669,5671,5673,5675,5677,5679,5681,5683,5685,5687,5689,5691,5693,5695,5697,5699,5701],{"class":929,"line":981},[927,5624,1221],{"class":1180},[927,5626,1224],{"class":940},[927,5628,1834],{"class":1184},[927,5630,1837],{"class":1188},[927,5632,1236],{"class":1235},[927,5634,1198],{"class":1197},[927,5636,1241],{"class":943},[927,5638,1204],{"class":1197},[927,5640,1770],{"class":1184},[927,5642,1850],{"class":1188},[927,5644,1236],{"class":1235},[927,5646,1185],{"class":1184},[927,5648,1789],{"class":1188},[927,5650,1236],{"class":1235},[927,5652,1198],{"class":1197},[927,5654,1863],{"class":943},[927,5656,1204],{"class":1197},[927,5658,1770],{"class":1184},[927,5660,1870],{"class":1188},[927,5662,1236],{"class":1235},[927,5664,1198],{"class":1197},[927,5666,1877],{"class":943},[927,5668,1204],{"class":1197},[927,5670,1770],{"class":1184},[927,5672,1884],{"class":1188},[927,5674,1236],{"class":1235},[927,5676,1198],{"class":1197},[927,5678,1325],{"class":943},[927,5680,1204],{"class":1197},[927,5682,1770],{"class":1184},[927,5684,1897],{"class":1188},[927,5686,1236],{"class":1235},[927,5688,1198],{"class":1197},[927,5690,1904],{"class":943},[927,5692,1204],{"class":1197},[927,5694,1770],{"class":1184},[927,5696,1911],{"class":1188},[927,5698,1236],{"class":1235},[927,5700,1344],{"class":953},[927,5702,1918],{"class":1184},[927,5704,5705],{"class":929,"line":987},[927,5706,978],{"emptyLinePlaceholder":8},[927,5708,5709],{"class":929,"line":1249},[927,5710,1927],{"class":933},[927,5712,5713,5715,5717,5719,5721,5723,5725,5727,5729,5731,5733,5735,5737,5739,5741,5743,5745,5747,5749,5751,5753,5755,5757,5759,5761,5763,5765,5767,5769,5771,5773,5775,5777,5779,5781,5783,5785,5787,5789,5791],{"class":929,"line":1260},[927,5714,1221],{"class":1180},[927,5716,1224],{"class":940},[927,5718,1834],{"class":1184},[927,5720,1837],{"class":1188},[927,5722,1236],{"class":1235},[927,5724,1198],{"class":1197},[927,5726,1241],{"class":943},[927,5728,1204],{"class":1197},[927,5730,1770],{"class":1184},[927,5732,1850],{"class":1188},[927,5734,1236],{"class":1235},[927,5736,1185],{"class":1184},[927,5738,1789],{"class":1188},[927,5740,1236],{"class":1235},[927,5742,1198],{"class":1197},[927,5744,1962],{"class":943},[927,5746,1204],{"class":1197},[927,5748,1770],{"class":1184},[927,5750,1870],{"class":1188},[927,5752,1236],{"class":1235},[927,5754,1198],{"class":1197},[927,5756,1877],{"class":943},[927,5758,1204],{"class":1197},[927,5760,1770],{"class":1184},[927,5762,1884],{"class":1188},[927,5764,1236],{"class":1235},[927,5766,1198],{"class":1197},[927,5768,1325],{"class":943},[927,5770,1204],{"class":1197},[927,5772,1770],{"class":1184},[927,5774,1897],{"class":1188},[927,5776,1236],{"class":1235},[927,5778,1198],{"class":1197},[927,5780,1904],{"class":943},[927,5782,1204],{"class":1197},[927,5784,1770],{"class":1184},[927,5786,1911],{"class":1188},[927,5788,1236],{"class":1235},[927,5790,1344],{"class":953},[927,5792,1918],{"class":1184},[927,5794,5795],{"class":929,"line":1281},[927,5796,978],{"emptyLinePlaceholder":8},[927,5798,5799],{"class":929,"line":1298},[927,5800,2019],{"class":933},[927,5802,5803,5805,5807,5809,5811,5813,5815,5817,5819,5821,5823,5825,5827,5829,5831,5833],{"class":929,"line":1315},[927,5804,2025],{"class":2024},[927,5806,2029],{"class":2028},[927,5808,2033],{"class":2032},[927,5810,2036],{"class":1184},[927,5812,741],{"class":1188},[927,5814,1236],{"class":1235},[927,5816,1198],{"class":1197},[927,5818,2045],{"class":943},[927,5820,1204],{"class":1197},[927,5822,1770],{"class":1184},[927,5824,2052],{"class":1188},[927,5826,1236],{"class":1235},[927,5828,1198],{"class":1197},[927,5830,2059],{"class":943},[927,5832,1204],{"class":1197},[927,5834,2064],{"class":1184},[927,5836,5837,5839,5841,5843,5845,5847,5849,5851,5853,5855,5857,5859,5861,5863,5865,5867,5869,5871,5873,5875,5877,5879,5881,5883,5885,5887,5889,5891,5893,5895,5897,5899,5901,5903,5905,5907],{"class":929,"line":1336},[927,5838,1221],{"class":1180},[927,5840,1224],{"class":940},[927,5842,1834],{"class":1184},[927,5844,1837],{"class":1188},[927,5846,1236],{"class":1235},[927,5848,1198],{"class":1197},[927,5850,1241],{"class":943},[927,5852,1204],{"class":1197},[927,5854,1770],{"class":1184},[927,5856,1850],{"class":1188},[927,5858,1236],{"class":1235},[927,5860,1185],{"class":1184},[927,5862,1789],{"class":1188},[927,5864,1770],{"class":1184},[927,5866,1870],{"class":1188},[927,5868,1236],{"class":1235},[927,5870,1198],{"class":1197},[927,5872,1877],{"class":943},[927,5874,1204],{"class":1197},[927,5876,1770],{"class":1184},[927,5878,1884],{"class":1188},[927,5880,1236],{"class":1235},[927,5882,1198],{"class":1197},[927,5884,1325],{"class":943},[927,5886,1204],{"class":1197},[927,5888,1770],{"class":1184},[927,5890,1897],{"class":1188},[927,5892,1236],{"class":1235},[927,5894,1198],{"class":1197},[927,5896,1904],{"class":943},[927,5898,1204],{"class":1197},[927,5900,1770],{"class":1184},[927,5902,1911],{"class":1188},[927,5904,1236],{"class":1235},[927,5906,1344],{"class":953},[927,5908,1918],{"class":1184},[845,5910],{},[848,5912,2144],{"id":2143},[821,5914,2147,5915,2151],{},[825,5916,2150],{},[917,5918,5919],{"className":1170,"code":2154,"filename":1794,"language":1173,"meta":923,"style":923},[825,5920,5921,5941,5963,5967,5983,6023,6063,6067,6071,6075,6083,6097,6105,6115,6129,6143,6157,6167,6171,6175,6179,6183,6191,6205,6213,6223,6237,6251,6261,6265],{"__ignoreMap":923},[927,5922,5923,5925,5927,5929,5931,5933,5935,5937,5939],{"class":929,"line":930},[927,5924,1181],{"class":1180},[927,5926,1185],{"class":1184},[927,5928,831],{"class":1188},[927,5930,1191],{"class":1184},[927,5932,1194],{"class":1180},[927,5934,1198],{"class":1197},[927,5936,1201],{"class":943},[927,5938,1204],{"class":1197},[927,5940,1207],{"class":1184},[927,5942,5943,5945,5947,5949,5951,5953,5955,5957,5959,5961],{"class":929,"line":937},[927,5944,1181],{"class":1180},[927,5946,2183],{"class":1180},[927,5948,1185],{"class":1184},[927,5950,2188],{"class":1188},[927,5952,1191],{"class":1184},[927,5954,1194],{"class":1180},[927,5956,1198],{"class":1197},[927,5958,1201],{"class":943},[927,5960,1204],{"class":1197},[927,5962,1207],{"class":1184},[927,5964,5965],{"class":929,"line":975},[927,5966,978],{"emptyLinePlaceholder":8},[927,5968,5969,5971,5973,5975,5977,5979,5981],{"class":929,"line":981},[927,5970,2025],{"class":2024},[927,5972,2211],{"class":2028},[927,5974,1236],{"class":2032},[927,5976,2217],{"class":2216},[927,5978,2220],{"class":1184},[927,5980,2223],{"class":2032},[927,5982,2226],{"class":1184},[927,5984,5985,5987,5989,5991,5993,5995,5997,5999,6001,6003,6005,6007,6009,6011,6013,6015,6017,6019,6021],{"class":929,"line":987},[927,5986,2231],{"class":1184},[927,5988,2234],{"class":1188},[927,5990,1236],{"class":1235},[927,5992,1198],{"class":1197},[927,5994,2241],{"class":943},[927,5996,1204],{"class":1197},[927,5998,1770],{"class":1184},[927,6000,1870],{"class":1188},[927,6002,1236],{"class":1235},[927,6004,1198],{"class":1197},[927,6006,2254],{"class":943},[927,6008,1204],{"class":1197},[927,6010,1770],{"class":1184},[927,6012,1897],{"class":1188},[927,6014,1236],{"class":1235},[927,6016,1198],{"class":1197},[927,6018,1308],{"class":943},[927,6020,1204],{"class":1197},[927,6022,2271],{"class":1184},[927,6024,6025,6027,6029,6031,6033,6035,6037,6039,6041,6043,6045,6047,6049,6051,6053,6055,6057,6059,6061],{"class":929,"line":1249},[927,6026,2231],{"class":1184},[927,6028,2234],{"class":1188},[927,6030,1236],{"class":1235},[927,6032,1198],{"class":1197},[927,6034,2284],{"class":943},[927,6036,1204],{"class":1197},[927,6038,1770],{"class":1184},[927,6040,1870],{"class":1188},[927,6042,1236],{"class":1235},[927,6044,1198],{"class":1197},[927,6046,2297],{"class":943},[927,6048,1204],{"class":1197},[927,6050,1770],{"class":1184},[927,6052,1897],{"class":1188},[927,6054,1236],{"class":1235},[927,6056,1198],{"class":1197},[927,6058,1308],{"class":943},[927,6060,1204],{"class":1197},[927,6062,2271],{"class":1184},[927,6064,6065],{"class":929,"line":1260},[927,6066,2318],{"class":1184},[927,6068,6069],{"class":929,"line":1281},[927,6070,978],{"emptyLinePlaceholder":8},[927,6072,6073],{"class":929,"line":1298},[927,6074,2327],{"class":933},[927,6076,6077,6079,6081],{"class":929,"line":1315},[927,6078,1221],{"class":1180},[927,6080,1224],{"class":940},[927,6082,1227],{"class":1184},[927,6084,6085,6087,6089,6091,6093,6095],{"class":929,"line":1336},[927,6086,1232],{"class":1188},[927,6088,1236],{"class":1235},[927,6090,1198],{"class":1197},[927,6092,1241],{"class":943},[927,6094,1204],{"class":1197},[927,6096,1246],{"class":1184},[927,6098,6099,6101,6103],{"class":929,"line":1349},[927,6100,1252],{"class":1188},[927,6102,1236],{"class":1235},[927,6104,1257],{"class":1184},[927,6106,6107,6109,6111,6113],{"class":929,"line":1355},[927,6108,1263],{"class":1188},[927,6110,1236],{"class":1235},[927,6112,2211],{"class":1188},[927,6114,1246],{"class":1184},[927,6116,6117,6119,6121,6123,6125,6127],{"class":929,"line":1361},[927,6118,1284],{"class":1188},[927,6120,1236],{"class":1235},[927,6122,1198],{"class":1197},[927,6124,2254],{"class":943},[927,6126,1204],{"class":1197},[927,6128,1246],{"class":1184},[927,6130,6131,6133,6135,6137,6139,6141],{"class":929,"line":1366},[927,6132,1318],{"class":1188},[927,6134,1236],{"class":1235},[927,6136,1198],{"class":1197},[927,6138,1325],{"class":943},[927,6140,1204],{"class":1197},[927,6142,1246],{"class":1184},[927,6144,6145,6147,6149,6151,6153,6155],{"class":929,"line":1372},[927,6146,1301],{"class":1188},[927,6148,1236],{"class":1235},[927,6150,1198],{"class":1197},[927,6152,1308],{"class":943},[927,6154,1204],{"class":1197},[927,6156,1246],{"class":1184},[927,6158,6159,6161,6163,6165],{"class":929,"line":1381},[927,6160,1339],{"class":1188},[927,6162,1236],{"class":1235},[927,6164,1344],{"class":953},[927,6166,1246],{"class":1184},[927,6168,6169],{"class":929,"line":1397},[927,6170,1352],{"class":1184},[927,6172,6173],{"class":929,"line":1406},[927,6174,1358],{"class":1184},[927,6176,6177],{"class":929,"line":1421},[927,6178,978],{"emptyLinePlaceholder":8},[927,6180,6181],{"class":929,"line":1437},[927,6182,2436],{"class":933},[927,6184,6185,6187,6189],{"class":929,"line":1452},[927,6186,1221],{"class":1180},[927,6188,1224],{"class":940},[927,6190,1227],{"class":1184},[927,6192,6193,6195,6197,6199,6201,6203],{"class":929,"line":1463},[927,6194,1232],{"class":1188},[927,6196,1236],{"class":1235},[927,6198,1198],{"class":1197},[927,6200,1390],{"class":943},[927,6202,1204],{"class":1197},[927,6204,1246],{"class":1184},[927,6206,6207,6209,6211],{"class":929,"line":1469},[927,6208,1252],{"class":1188},[927,6210,1236],{"class":1235},[927,6212,1257],{"class":1184},[927,6214,6215,6217,6219,6221],{"class":929,"line":1474},[927,6216,1263],{"class":1188},[927,6218,1236],{"class":1235},[927,6220,2211],{"class":1188},[927,6222,1246],{"class":1184},[927,6224,6225,6227,6229,6231,6233,6235],{"class":929,"line":2479},[927,6226,1284],{"class":1188},[927,6228,1236],{"class":1235},[927,6230,1198],{"class":1197},[927,6232,2488],{"class":943},[927,6234,1204],{"class":1197},[927,6236,1246],{"class":1184},[927,6238,6239,6241,6243,6245,6247,6249],{"class":929,"line":2495},[927,6240,1301],{"class":1188},[927,6242,1236],{"class":1235},[927,6244,1198],{"class":1197},[927,6246,1308],{"class":943},[927,6248,1204],{"class":1197},[927,6250,1246],{"class":1184},[927,6252,6253,6255,6257,6259],{"class":929,"line":2510},[927,6254,1339],{"class":1188},[927,6256,1236],{"class":1235},[927,6258,1344],{"class":953},[927,6260,1246],{"class":1184},[927,6262,6263],{"class":929,"line":2521},[927,6264,1352],{"class":1184},[927,6266,6267],{"class":929,"line":2526},[927,6268,1358],{"class":1184},[845,6270],{},[848,6272,2534],{"id":2533},[821,6274,2537],{},[917,6276,6277],{"className":2540,"code":2541,"filename":1270,"language":5,"meta":923,"style":923},[825,6278,6279,6283,6287,6305,6317,6335,6353,6389,6401,6413,6425,6437,6449,6467,6479,6507,6535,6539,6575,6579,6583,6587,6591,6595,6599,6611,6629,6641,6659,6673,6685,6689,6693,6697],{"__ignoreMap":923},[927,6280,6281],{"class":929,"line":930},[927,6282,2548],{"class":1184},[927,6284,6285],{"class":929,"line":937},[927,6286,2553],{"class":1184},[927,6288,6289,6291,6293,6295,6297,6299,6301,6303],{"class":929,"line":975},[927,6290,2559],{"class":2558},[927,6292,741],{"class":2562},[927,6294,2565],{"class":2558},[927,6296,1236],{"class":2032},[927,6298,2570],{"class":1197},[927,6300,2045],{"class":943},[927,6302,2565],{"class":1197},[927,6304,1246],{"class":1184},[927,6306,6307,6309,6311,6313,6315],{"class":929,"line":981},[927,6308,2559],{"class":2558},[927,6310,2583],{"class":2562},[927,6312,2565],{"class":2558},[927,6314,1236],{"class":2032},[927,6316,1257],{"class":1184},[927,6318,6319,6321,6323,6325,6327,6329,6331,6333],{"class":929,"line":987},[927,6320,2594],{"class":2558},[927,6322,2597],{"class":2562},[927,6324,2565],{"class":2558},[927,6326,1236],{"class":2032},[927,6328,2570],{"class":1197},[927,6330,2606],{"class":943},[927,6332,2565],{"class":1197},[927,6334,1246],{"class":1184},[927,6336,6337,6339,6341,6343,6345,6347,6349,6351],{"class":929,"line":1249},[927,6338,2594],{"class":2558},[927,6340,2617],{"class":2562},[927,6342,2565],{"class":2558},[927,6344,1236],{"class":2032},[927,6346,2570],{"class":1197},[927,6348,2626],{"class":943},[927,6350,2565],{"class":1197},[927,6352,1246],{"class":1184},[927,6354,6355,6357,6359,6361,6363,6365,6367,6369,6371,6373,6375,6377,6379,6381,6383,6385,6387],{"class":929,"line":1260},[927,6356,2594],{"class":2558},[927,6358,2637],{"class":2562},[927,6360,2565],{"class":2558},[927,6362,1236],{"class":2032},[927,6364,2644],{"class":1184},[927,6366,2565],{"class":1197},[927,6368,2649],{"class":943},[927,6370,2565],{"class":1197},[927,6372,1770],{"class":1184},[927,6374,2565],{"class":1197},[927,6376,2658],{"class":943},[927,6378,2565],{"class":1197},[927,6380,1770],{"class":1184},[927,6382,2565],{"class":1197},[927,6384,2667],{"class":943},[927,6386,2565],{"class":1197},[927,6388,2672],{"class":1184},[927,6390,6391,6393,6395,6397,6399],{"class":929,"line":1281},[927,6392,2594],{"class":2558},[927,6394,2679],{"class":2562},[927,6396,2565],{"class":2558},[927,6398,1236],{"class":2032},[927,6400,1257],{"class":1184},[927,6402,6403,6405,6407,6409,6411],{"class":929,"line":1298},[927,6404,2690],{"class":2558},[927,6406,2693],{"class":2562},[927,6408,2565],{"class":2558},[927,6410,1236],{"class":2032},[927,6412,2700],{"class":1184},[927,6414,6415,6417,6419,6421,6423],{"class":929,"line":1315},[927,6416,2705],{"class":2558},[927,6418,2708],{"class":2562},[927,6420,2565],{"class":2558},[927,6422,1236],{"class":2032},[927,6424,1257],{"class":1184},[927,6426,6427,6429,6431,6433,6435],{"class":929,"line":1336},[927,6428,2719],{"class":2558},[927,6430,2722],{"class":2562},[927,6432,2565],{"class":2558},[927,6434,1236],{"class":2032},[927,6436,1257],{"class":1184},[927,6438,6439,6441,6443,6445,6447],{"class":929,"line":1349},[927,6440,2733],{"class":2558},[927,6442,2736],{"class":2562},[927,6444,2565],{"class":2558},[927,6446,1236],{"class":2032},[927,6448,1257],{"class":1184},[927,6450,6451,6453,6455,6457,6459,6461,6463,6465],{"class":929,"line":1355},[927,6452,2747],{"class":2558},[927,6454,2750],{"class":2562},[927,6456,2565],{"class":2558},[927,6458,1236],{"class":2032},[927,6460,2570],{"class":1197},[927,6462,2759],{"class":943},[927,6464,2565],{"class":1197},[927,6466,1246],{"class":1184},[927,6468,6469,6471,6473,6475,6477],{"class":929,"line":1361},[927,6470,2747],{"class":2558},[927,6472,2770],{"class":2562},[927,6474,2565],{"class":2558},[927,6476,1236],{"class":2032},[927,6478,2226],{"class":1184},[927,6480,6481,6483,6485,6487,6489,6491,6493,6495,6497,6499,6501,6503,6505],{"class":929,"line":1366},[927,6482,2781],{"class":1184},[927,6484,2565],{"class":2558},[927,6486,2786],{"class":2562},[927,6488,2565],{"class":2558},[927,6490,1236],{"class":2032},[927,6492,2794],{"class":2793},[927,6494,1770],{"class":1184},[927,6496,2565],{"class":2558},[927,6498,2801],{"class":2562},[927,6500,2565],{"class":2558},[927,6502,1236],{"class":2032},[927,6504,1344],{"class":953},[927,6506,2271],{"class":1184},[927,6508,6509,6511,6513,6515,6517,6519,6521,6523,6525,6527,6529,6531,6533],{"class":929,"line":1372},[927,6510,2781],{"class":1184},[927,6512,2565],{"class":2558},[927,6514,2786],{"class":2562},[927,6516,2565],{"class":2558},[927,6518,1236],{"class":2032},[927,6520,2824],{"class":2793},[927,6522,1770],{"class":1184},[927,6524,2565],{"class":2558},[927,6526,2801],{"class":2562},[927,6528,2565],{"class":2558},[927,6530,1236],{"class":2032},[927,6532,2837],{"class":953},[927,6534,2840],{"class":1184},[927,6536,6537],{"class":929,"line":1381},[927,6538,2845],{"class":1184},[927,6540,6541,6543,6545,6547,6549,6551,6553,6555,6557,6559,6561,6563,6565,6567,6569,6571,6573],{"class":929,"line":1397},[927,6542,2747],{"class":2558},[927,6544,2852],{"class":2562},[927,6546,2565],{"class":2558},[927,6548,1236],{"class":2032},[927,6550,2644],{"class":1184},[927,6552,2861],{"class":2793},[927,6554,1770],{"class":1184},[927,6556,2565],{"class":1197},[927,6558,2868],{"class":943},[927,6560,2565],{"class":1197},[927,6562,2873],{"class":1184},[927,6564,2565],{"class":2558},[927,6566,2878],{"class":2562},[927,6568,2565],{"class":2558},[927,6570,1236],{"class":2032},[927,6572,2885],{"class":2793},[927,6574,2888],{"class":1184},[927,6576,6577],{"class":929,"line":1406},[927,6578,2893],{"class":1184},[927,6580,6581],{"class":929,"line":1421},[927,6582,2898],{"class":1184},[927,6584,6585],{"class":929,"line":1437},[927,6586,2903],{"class":1184},[927,6588,6589],{"class":929,"line":1452},[927,6590,2908],{"class":1184},[927,6592,6593],{"class":929,"line":1463},[927,6594,2913],{"class":1184},[927,6596,6597],{"class":929,"line":1469},[927,6598,2918],{"class":1184},[927,6600,6601,6603,6605,6607,6609],{"class":929,"line":1474},[927,6602,2559],{"class":2558},[927,6604,2925],{"class":2562},[927,6606,2565],{"class":2558},[927,6608,1236],{"class":2032},[927,6610,1257],{"class":1184},[927,6612,6613,6615,6617,6619,6621,6623,6625,6627],{"class":929,"line":2479},[927,6614,2594],{"class":2558},[927,6616,2052],{"class":2562},[927,6618,2565],{"class":2558},[927,6620,1236],{"class":2032},[927,6622,2570],{"class":1197},[927,6624,2946],{"class":943},[927,6626,2565],{"class":1197},[927,6628,1246],{"class":1184},[927,6630,6631,6633,6635,6637,6639],{"class":929,"line":2495},[927,6632,2594],{"class":2558},[927,6634,2957],{"class":2562},[927,6636,2565],{"class":2558},[927,6638,1236],{"class":2032},[927,6640,1257],{"class":1184},[927,6642,6643,6645,6647,6649,6651,6653,6655,6657],{"class":929,"line":2510},[927,6644,2690],{"class":2558},[927,6646,2970],{"class":2562},[927,6648,2565],{"class":2558},[927,6650,1236],{"class":2032},[927,6652,2570],{"class":1197},[927,6654,2979],{"class":943},[927,6656,2565],{"class":1197},[927,6658,1246],{"class":1184},[927,6660,6661,6663,6665,6667,6669,6671],{"class":929,"line":2521},[927,6662,2690],{"class":2558},[927,6664,2990],{"class":2562},[927,6666,2565],{"class":2558},[927,6668,1236],{"class":2032},[927,6670,2997],{"class":2793},[927,6672,1246],{"class":1184},[927,6674,6675,6677,6679,6681,6683],{"class":929,"line":2526},[927,6676,2690],{"class":2558},[927,6678,3006],{"class":2562},[927,6680,2565],{"class":2558},[927,6682,1236],{"class":2032},[927,6684,3013],{"class":953},[927,6686,6687],{"class":929,"line":3016},[927,6688,2913],{"class":1184},[927,6690,6691],{"class":929,"line":3021},[927,6692,3024],{"class":1184},[927,6694,6695],{"class":929,"line":3027},[927,6696,1352],{"class":1184},[927,6698,6699],{"class":929,"line":3032},[927,6700,3035],{"class":1184},[821,6702,3038],{},[914,6704,6705,6733,6761,6787],{},[917,6706,6707],{"className":919,"code":3043,"filename":921,"language":922,"meta":923,"style":923},[825,6708,6709],{"__ignoreMap":923},[927,6710,6711,6713,6715,6717,6719,6721,6723,6725,6727,6729,6731],{"class":929,"line":930},[927,6712,921],{"class":940},[927,6714,944],{"class":943},[927,6716,947],{"class":943},[927,6718,950],{"class":943},[927,6720,954],{"class":953},[927,6722,957],{"class":943},[927,6724,960],{"class":953},[927,6726,3064],{"class":943},[927,6728,966],{"class":953},[927,6730,969],{"class":943},[927,6732,972],{"class":943},[917,6734,6735],{"className":919,"code":3073,"filename":1015,"language":922,"meta":923,"style":923},[825,6736,6737],{"__ignoreMap":923},[927,6738,6739,6741,6743,6745,6747,6749,6751,6753,6755,6757,6759],{"class":929,"line":930},[927,6740,1015],{"class":940},[927,6742,944],{"class":943},[927,6744,947],{"class":943},[927,6746,950],{"class":943},[927,6748,954],{"class":953},[927,6750,957],{"class":943},[927,6752,960],{"class":953},[927,6754,3064],{"class":943},[927,6756,966],{"class":953},[927,6758,969],{"class":943},[927,6760,972],{"class":943},[917,6762,6763],{"className":919,"code":3102,"filename":1069,"language":922,"meta":923,"style":923},[825,6764,6765],{"__ignoreMap":923},[927,6766,6767,6769,6771,6773,6775,6777,6779,6781,6783,6785],{"class":929,"line":930},[927,6768,1076],{"class":940},[927,6770,947],{"class":943},[927,6772,950],{"class":943},[927,6774,954],{"class":953},[927,6776,957],{"class":943},[927,6778,960],{"class":953},[927,6780,3064],{"class":943},[927,6782,966],{"class":953},[927,6784,969],{"class":943},[927,6786,972],{"class":943},[917,6788,6789],{"className":919,"code":3129,"filename":1120,"language":922,"meta":923,"style":923},[825,6790,6791],{"__ignoreMap":923},[927,6792,6793,6795,6797,6799,6801,6803,6805,6807,6809,6811],{"class":929,"line":930},[927,6794,1127],{"class":940},[927,6796,947],{"class":943},[927,6798,950],{"class":943},[927,6800,954],{"class":953},[927,6802,957],{"class":943},[927,6804,960],{"class":953},[927,6806,3064],{"class":943},[927,6808,966],{"class":953},[927,6810,969],{"class":943},[927,6812,972],{"class":943},[917,6814,6815],{"className":919,"code":3156,"filename":3157,"language":922,"meta":923,"style":923},[825,6816,6817],{"__ignoreMap":923},[927,6818,6819,6821,6823,6825,6827,6829],{"class":929,"line":930},[927,6820,1325],{"class":940},[927,6822,3166],{"class":943},[927,6824,3169],{"class":953},[927,6826,3172],{"class":943},[927,6828,3175],{"class":2793},[927,6830,3178],{"class":943},[917,6832,6833],{"className":2540,"code":3181,"language":5,"meta":923,"style":923},[825,6834,6835,6839,6857,6869,6887,6899,6911,6923,6935,6947,6959,6963,6977,6989,6993,6997,7011,7023,7027,7031,7049,7061,7067,7077,7081,7093,7097,7101,7105,7109,7113,7117,7121,7133,7143,7153,7161,7165,7181,7185,7203,7215,7227,7241,7259,7271,7275,7291,7295],{"__ignoreMap":923},[927,6836,6837],{"class":929,"line":930},[927,6838,3188],{"class":1184},[927,6840,6841,6843,6845,6847,6849,6851,6853,6855],{"class":929,"line":937},[927,6842,3193],{"class":2558},[927,6844,3196],{"class":2562},[927,6846,2565],{"class":2558},[927,6848,1236],{"class":2032},[927,6850,2570],{"class":1197},[927,6852,3205],{"class":943},[927,6854,2565],{"class":1197},[927,6856,1246],{"class":1184},[927,6858,6859,6861,6863,6865,6867],{"class":929,"line":975},[927,6860,3193],{"class":2558},[927,6862,2583],{"class":2562},[927,6864,2565],{"class":2558},[927,6866,1236],{"class":2032},[927,6868,1257],{"class":1184},[927,6870,6871,6873,6875,6877,6879,6881,6883,6885],{"class":929,"line":981},[927,6872,2559],{"class":2558},[927,6874,2617],{"class":2562},[927,6876,2565],{"class":2558},[927,6878,1236],{"class":2032},[927,6880,2570],{"class":1197},[927,6882,2626],{"class":943},[927,6884,2565],{"class":1197},[927,6886,1246],{"class":1184},[927,6888,6889,6891,6893,6895,6897],{"class":929,"line":987},[927,6890,2559],{"class":2558},[927,6892,2679],{"class":2562},[927,6894,2565],{"class":2558},[927,6896,1236],{"class":2032},[927,6898,1257],{"class":1184},[927,6900,6901,6903,6905,6907,6909],{"class":929,"line":1249},[927,6902,2594],{"class":2558},[927,6904,2693],{"class":2562},[927,6906,2565],{"class":2558},[927,6908,1236],{"class":2032},[927,6910,1257],{"class":1184},[927,6912,6913,6915,6917,6919,6921],{"class":929,"line":1260},[927,6914,2690],{"class":2558},[927,6916,2708],{"class":2562},[927,6918,2565],{"class":2558},[927,6920,1236],{"class":2032},[927,6922,1257],{"class":1184},[927,6924,6925,6927,6929,6931,6933],{"class":929,"line":1281},[927,6926,2705],{"class":2558},[927,6928,2722],{"class":2562},[927,6930,2565],{"class":2558},[927,6932,1236],{"class":2032},[927,6934,1257],{"class":1184},[927,6936,6937,6939,6941,6943,6945],{"class":929,"line":1298},[927,6938,2719],{"class":2558},[927,6940,2736],{"class":2562},[927,6942,2565],{"class":2558},[927,6944,1236],{"class":2032},[927,6946,1257],{"class":1184},[927,6948,6949,6951,6953,6955,6957],{"class":929,"line":1315},[927,6950,2733],{"class":2558},[927,6952,2770],{"class":2562},[927,6954,2565],{"class":2558},[927,6956,1236],{"class":2032},[927,6958,2226],{"class":1184},[927,6960,6961],{"class":929,"line":1336},[927,6962,3316],{"class":1184},[927,6964,6965,6967,6969,6971,6973,6975],{"class":929,"line":1349},[927,6966,3321],{"class":2558},[927,6968,2801],{"class":2562},[927,6970,2565],{"class":2558},[927,6972,1236],{"class":2032},[927,6974,1344],{"class":953},[927,6976,1246],{"class":1184},[927,6978,6979,6981,6983,6985,6987],{"class":929,"line":1355},[927,6980,3321],{"class":2558},[927,6982,2786],{"class":2562},[927,6984,2565],{"class":2558},[927,6986,1236],{"class":2032},[927,6988,3344],{"class":2793},[927,6990,6991],{"class":929,"line":1361},[927,6992,3349],{"class":1184},[927,6994,6995],{"class":929,"line":1366},[927,6996,3316],{"class":1184},[927,6998,6999,7001,7003,7005,7007,7009],{"class":929,"line":1372},[927,7000,3321],{"class":2558},[927,7002,2801],{"class":2562},[927,7004,2565],{"class":2558},[927,7006,1236],{"class":2032},[927,7008,2837],{"class":953},[927,7010,1246],{"class":1184},[927,7012,7013,7015,7017,7019,7021],{"class":929,"line":1381},[927,7014,3321],{"class":2558},[927,7016,2786],{"class":2562},[927,7018,2565],{"class":2558},[927,7020,1236],{"class":2032},[927,7022,3380],{"class":2793},[927,7024,7025],{"class":929,"line":1397},[927,7026,3385],{"class":1184},[927,7028,7029],{"class":929,"line":1406},[927,7030,3390],{"class":1184},[927,7032,7033,7035,7037,7039,7041,7043,7045,7047],{"class":929,"line":1421},[927,7034,2733],{"class":2558},[927,7036,2750],{"class":2562},[927,7038,2565],{"class":2558},[927,7040,1236],{"class":2032},[927,7042,2570],{"class":1197},[927,7044,2759],{"class":943},[927,7046,2565],{"class":1197},[927,7048,1246],{"class":1184},[927,7050,7051,7053,7055,7057,7059],{"class":929,"line":1437},[927,7052,2733],{"class":2558},[927,7054,2852],{"class":2562},[927,7056,2565],{"class":2558},[927,7058,1236],{"class":2032},[927,7060,2226],{"class":1184},[927,7062,7063,7065],{"class":929,"line":1452},[927,7064,3425],{"class":2793},[927,7066,1246],{"class":1184},[927,7068,7069,7071,7073,7075],{"class":929,"line":1463},[927,7070,2747],{"class":1197},[927,7072,2868],{"class":943},[927,7074,2565],{"class":1197},[927,7076,1246],{"class":1184},[927,7078,7079],{"class":929,"line":1469},[927,7080,3316],{"class":1184},[927,7082,7083,7085,7087,7089,7091],{"class":929,"line":1474},[927,7084,3321],{"class":2558},[927,7086,2878],{"class":2562},[927,7088,2565],{"class":2558},[927,7090,1236],{"class":2032},[927,7092,3454],{"class":2793},[927,7094,7095],{"class":929,"line":2479},[927,7096,3385],{"class":1184},[927,7098,7099],{"class":929,"line":2495},[927,7100,3463],{"class":1184},[927,7102,7103],{"class":929,"line":2510},[927,7104,2898],{"class":1184},[927,7106,7107],{"class":929,"line":2521},[927,7108,2903],{"class":1184},[927,7110,7111],{"class":929,"line":2526},[927,7112,2908],{"class":1184},[927,7114,7115],{"class":929,"line":3016},[927,7116,2913],{"class":1184},[927,7118,7119],{"class":929,"line":3021},[927,7120,2918],{"class":1184},[927,7122,7123,7125,7127,7129,7131],{"class":929,"line":3027},[927,7124,2559],{"class":2558},[927,7126,2637],{"class":2562},[927,7128,2565],{"class":2558},[927,7130,1236],{"class":2032},[927,7132,2226],{"class":1184},[927,7134,7135,7137,7139,7141],{"class":929,"line":3032},[927,7136,2594],{"class":1197},[927,7138,2649],{"class":943},[927,7140,2565],{"class":1197},[927,7142,1246],{"class":1184},[927,7144,7145,7147,7149,7151],{"class":929,"line":3508},[927,7146,2594],{"class":1197},[927,7148,2658],{"class":943},[927,7150,2565],{"class":1197},[927,7152,1246],{"class":1184},[927,7154,7155,7157,7159],{"class":929,"line":3519},[927,7156,2594],{"class":1197},[927,7158,2667],{"class":943},[927,7160,3526],{"class":1197},[927,7162,7163],{"class":929,"line":3529},[927,7164,3532],{"class":1184},[927,7166,7167,7169,7171,7173,7175,7177,7179],{"class":929,"line":3535},[927,7168,2559],{"class":2558},[927,7170,2597],{"class":2562},[927,7172,2565],{"class":2558},[927,7174,1236],{"class":2032},[927,7176,2570],{"class":1197},[927,7178,2606],{"class":943},[927,7180,3526],{"class":1197},[927,7182,7183],{"class":929,"line":3552},[927,7184,1352],{"class":1184},[927,7186,7187,7189,7191,7193,7195,7197,7199,7201],{"class":929,"line":3557},[927,7188,3193],{"class":2558},[927,7190,3562],{"class":2562},[927,7192,2565],{"class":2558},[927,7194,1236],{"class":2032},[927,7196,2570],{"class":1197},[927,7198,2045],{"class":943},[927,7200,2565],{"class":1197},[927,7202,1246],{"class":1184},[927,7204,7205,7207,7209,7211,7213],{"class":929,"line":3577},[927,7206,3193],{"class":2558},[927,7208,2925],{"class":2562},[927,7210,2565],{"class":2558},[927,7212,1236],{"class":2032},[927,7214,1257],{"class":1184},[927,7216,7217,7219,7221,7223,7225],{"class":929,"line":3590},[927,7218,2559],{"class":2558},[927,7220,2957],{"class":2562},[927,7222,2565],{"class":2558},[927,7224,1236],{"class":2032},[927,7226,1257],{"class":1184},[927,7228,7229,7231,7233,7235,7237,7239],{"class":929,"line":3603},[927,7230,2594],{"class":2558},[927,7232,2990],{"class":2562},[927,7234,2565],{"class":2558},[927,7236,1236],{"class":2032},[927,7238,2997],{"class":2793},[927,7240,1246],{"class":1184},[927,7242,7243,7245,7247,7249,7251,7253,7255,7257],{"class":929,"line":3618},[927,7244,2594],{"class":2558},[927,7246,2970],{"class":2562},[927,7248,2565],{"class":2558},[927,7250,1236],{"class":2032},[927,7252,2570],{"class":1197},[927,7254,2979],{"class":943},[927,7256,2565],{"class":1197},[927,7258,1246],{"class":1184},[927,7260,7261,7263,7265,7267,7269],{"class":929,"line":3637},[927,7262,2594],{"class":2558},[927,7264,3006],{"class":2562},[927,7266,2565],{"class":2558},[927,7268,1236],{"class":2032},[927,7270,3013],{"class":953},[927,7272,7273],{"class":929,"line":3650},[927,7274,2918],{"class":1184},[927,7276,7277,7279,7281,7283,7285,7287,7289],{"class":929,"line":3655},[927,7278,2559],{"class":2558},[927,7280,2052],{"class":2562},[927,7282,2565],{"class":2558},[927,7284,1236],{"class":2032},[927,7286,2570],{"class":1197},[927,7288,2946],{"class":943},[927,7290,3526],{"class":1197},[927,7292,7293],{"class":929,"line":3672},[927,7294,3675],{"class":1184},[927,7296,7297],{"class":929,"line":3678},[927,7298,3681],{"class":1184},[821,7300,3684,7301,3688],{},[825,7302,3687],{},[917,7304,7305],{"className":1170,"code":3691,"filename":3687,"language":1173,"meta":923,"style":923},[825,7306,7307,7315,7325,7335,7345,7349,7353,7361,7371,7381,7385,7389,7397,7407,7417,7427,7431,7435,7443,7453,7463,7473,7483,7487,7491,7499,7509,7513,7517,7525,7535,7539,7543,7551,7561,7565,7569,7577,7587,7591,7595,7603,7613,7623,7643,7647,7651,7659,7669,7673,7677,7685,7695,7705],{"__ignoreMap":923},[927,7308,7309,7311,7313],{"class":929,"line":930},[927,7310,3698],{"class":2024},[927,7312,3701],{"class":2216},[927,7314,1257],{"class":1184},[927,7316,7317,7319,7321,7323],{"class":929,"line":937},[927,7318,3708],{"class":1188},[927,7320,1236],{"class":2032},[927,7322,3713],{"class":2216},[927,7324,1207],{"class":1184},[927,7326,7327,7329,7331,7333],{"class":929,"line":975},[927,7328,3720],{"class":1188},[927,7330,1236],{"class":2032},[927,7332,3725],{"class":2216},[927,7334,1207],{"class":1184},[927,7336,7337,7339,7341,7343],{"class":929,"line":981},[927,7338,3732],{"class":1188},[927,7340,1236],{"class":2032},[927,7342,3737],{"class":2216},[927,7344,1207],{"class":1184},[927,7346,7347],{"class":929,"line":987},[927,7348,3681],{"class":1184},[927,7350,7351],{"class":929,"line":1249},[927,7352,978],{"emptyLinePlaceholder":8},[927,7354,7355,7357,7359],{"class":929,"line":1260},[927,7356,3698],{"class":2024},[927,7358,3737],{"class":2216},[927,7360,1257],{"class":1184},[927,7362,7363,7365,7367,7369],{"class":929,"line":1281},[927,7364,3760],{"class":1188},[927,7366,1236],{"class":2032},[927,7368,3713],{"class":2216},[927,7370,1207],{"class":1184},[927,7372,7373,7375,7377,7379],{"class":929,"line":1298},[927,7374,3771],{"class":1188},[927,7376,1236],{"class":2032},[927,7378,3776],{"class":2216},[927,7380,1207],{"class":1184},[927,7382,7383],{"class":929,"line":1315},[927,7384,3681],{"class":1184},[927,7386,7387],{"class":929,"line":1336},[927,7388,978],{"emptyLinePlaceholder":8},[927,7390,7391,7393,7395],{"class":929,"line":1349},[927,7392,3698],{"class":2024},[927,7394,3776],{"class":2216},[927,7396,1257],{"class":1184},[927,7398,7399,7401,7403,7405],{"class":929,"line":1355},[927,7400,3799],{"class":1188},[927,7402,1236],{"class":2032},[927,7404,3713],{"class":2216},[927,7406,1207],{"class":1184},[927,7408,7409,7411,7413,7415],{"class":929,"line":1361},[927,7410,3810],{"class":1188},[927,7412,1236],{"class":2032},[927,7414,3815],{"class":2216},[927,7416,1207],{"class":1184},[927,7418,7419,7421,7423,7425],{"class":929,"line":1366},[927,7420,3822],{"class":1188},[927,7422,1236],{"class":2032},[927,7424,3827],{"class":2216},[927,7426,1207],{"class":1184},[927,7428,7429],{"class":929,"line":1372},[927,7430,3681],{"class":1184},[927,7432,7433],{"class":929,"line":1381},[927,7434,978],{"emptyLinePlaceholder":8},[927,7436,7437,7439,7441],{"class":929,"line":1397},[927,7438,3698],{"class":2024},[927,7440,3725],{"class":2216},[927,7442,1257],{"class":1184},[927,7444,7445,7447,7449,7451],{"class":929,"line":1406},[927,7446,3850],{"class":1188},[927,7448,1236],{"class":2032},[927,7450,3713],{"class":2216},[927,7452,1207],{"class":1184},[927,7454,7455,7457,7459,7461],{"class":929,"line":1421},[927,7456,3861],{"class":1188},[927,7458,1236],{"class":2032},[927,7460,3713],{"class":2216},[927,7462,1207],{"class":1184},[927,7464,7465,7467,7469,7471],{"class":929,"line":1437},[927,7466,3872],{"class":1188},[927,7468,1236],{"class":2032},[927,7470,3713],{"class":2216},[927,7472,3879],{"class":1184},[927,7474,7475,7477,7479,7481],{"class":929,"line":1452},[927,7476,3884],{"class":1188},[927,7478,1236],{"class":2032},[927,7480,3889],{"class":2216},[927,7482,1207],{"class":1184},[927,7484,7485],{"class":929,"line":1463},[927,7486,3681],{"class":1184},[927,7488,7489],{"class":929,"line":1469},[927,7490,978],{"emptyLinePlaceholder":8},[927,7492,7493,7495,7497],{"class":929,"line":1474},[927,7494,3698],{"class":2024},[927,7496,3889],{"class":2216},[927,7498,1257],{"class":1184},[927,7500,7501,7503,7505,7507],{"class":929,"line":2479},[927,7502,3912],{"class":1188},[927,7504,1236],{"class":2032},[927,7506,3917],{"class":2216},[927,7508,1207],{"class":1184},[927,7510,7511],{"class":929,"line":2495},[927,7512,3681],{"class":1184},[927,7514,7515],{"class":929,"line":2510},[927,7516,978],{"emptyLinePlaceholder":8},[927,7518,7519,7521,7523],{"class":929,"line":2521},[927,7520,3698],{"class":2024},[927,7522,3917],{"class":2216},[927,7524,1257],{"class":1184},[927,7526,7527,7529,7531,7533],{"class":929,"line":2526},[927,7528,3940],{"class":1188},[927,7530,1236],{"class":2032},[927,7532,3945],{"class":2216},[927,7534,1207],{"class":1184},[927,7536,7537],{"class":929,"line":3016},[927,7538,3681],{"class":1184},[927,7540,7541],{"class":929,"line":3021},[927,7542,978],{"emptyLinePlaceholder":8},[927,7544,7545,7547,7549],{"class":929,"line":3027},[927,7546,3698],{"class":2024},[927,7548,3945],{"class":2216},[927,7550,1257],{"class":1184},[927,7552,7553,7555,7557,7559],{"class":929,"line":3032},[927,7554,3968],{"class":1188},[927,7556,1236],{"class":2032},[927,7558,3973],{"class":2216},[927,7560,1207],{"class":1184},[927,7562,7563],{"class":929,"line":3508},[927,7564,3681],{"class":1184},[927,7566,7567],{"class":929,"line":3519},[927,7568,978],{"emptyLinePlaceholder":8},[927,7570,7571,7573,7575],{"class":929,"line":3529},[927,7572,3698],{"class":2024},[927,7574,3973],{"class":2216},[927,7576,1257],{"class":1184},[927,7578,7579,7581,7583,7585],{"class":929,"line":3535},[927,7580,3996],{"class":1188},[927,7582,1236],{"class":2032},[927,7584,4001],{"class":2216},[927,7586,1207],{"class":1184},[927,7588,7589],{"class":929,"line":3552},[927,7590,3681],{"class":1184},[927,7592,7593],{"class":929,"line":3557},[927,7594,978],{"emptyLinePlaceholder":8},[927,7596,7597,7599,7601],{"class":929,"line":3577},[927,7598,3698],{"class":2024},[927,7600,4001],{"class":2216},[927,7602,1257],{"class":1184},[927,7604,7605,7607,7609,7611],{"class":929,"line":3590},[927,7606,4024],{"class":1188},[927,7608,1236],{"class":2032},[927,7610,3713],{"class":2216},[927,7612,1207],{"class":1184},[927,7614,7615,7617,7619,7621],{"class":929,"line":3603},[927,7616,4035],{"class":1188},[927,7618,1236],{"class":2032},[927,7620,4040],{"class":2216},[927,7622,3879],{"class":1184},[927,7624,7625,7627,7629,7631,7633,7635,7637,7639,7641],{"class":929,"line":3618},[927,7626,4047],{"class":1188},[927,7628,1236],{"class":2032},[927,7630,4052],{"class":1184},[927,7632,4055],{"class":2216},[927,7634,4058],{"class":2032},[927,7636,3815],{"class":2216},[927,7638,4058],{"class":2032},[927,7640,3713],{"class":2216},[927,7642,4067],{"class":1184},[927,7644,7645],{"class":929,"line":3637},[927,7646,3681],{"class":1184},[927,7648,7649],{"class":929,"line":3650},[927,7650,978],{"emptyLinePlaceholder":8},[927,7652,7653,7655,7657],{"class":929,"line":3655},[927,7654,3698],{"class":2024},[927,7656,4082],{"class":2216},[927,7658,1257],{"class":1184},[927,7660,7661,7663,7665,7667],{"class":929,"line":3672},[927,7662,4089],{"class":1188},[927,7664,1236],{"class":2032},[927,7666,3815],{"class":2216},[927,7668,1207],{"class":1184},[927,7670,7671],{"class":929,"line":3678},[927,7672,3681],{"class":1184},[927,7674,7675],{"class":929,"line":4102},[927,7676,978],{"emptyLinePlaceholder":8},[927,7678,7679,7681,7683],{"class":929,"line":4107},[927,7680,3698],{"class":2024},[927,7682,4040],{"class":2216},[927,7684,1257],{"class":1184},[927,7686,7687,7689,7691,7693],{"class":929,"line":4116},[927,7688,4119],{"class":1188},[927,7690,1236],{"class":2032},[927,7692,3815],{"class":2216},[927,7694,1207],{"class":1184},[927,7696,7697,7699,7701,7703],{"class":929,"line":4128},[927,7698,4131],{"class":1188},[927,7700,1236],{"class":2032},[927,7702,3827],{"class":2216},[927,7704,1207],{"class":1184},[927,7706,7707],{"class":929,"line":4140},[927,7708,3681],{"class":1184},[845,7710],{},[848,7712,4148],{"id":4147},[821,7714,7715,4157,7719,4161],{},[4152,7716,7717],{"href":100},[825,7718,4156],{},[825,7720,4160],{},[917,7722,7723],{"className":1170,"code":4164,"filename":1794,"language":1173,"meta":923,"style":923},[825,7724,7725,7745,7767,7771,7787,7791,7807,7823,7831,7841,7851,7855,7859,7863,7867],{"__ignoreMap":923},[927,7726,7727,7729,7731,7733,7735,7737,7739,7741,7743],{"class":929,"line":930},[927,7728,1181],{"class":1180},[927,7730,1185],{"class":1184},[927,7732,4156],{"class":1188},[927,7734,1191],{"class":1184},[927,7736,1194],{"class":1180},[927,7738,1198],{"class":1197},[927,7740,1201],{"class":943},[927,7742,1204],{"class":1197},[927,7744,1207],{"class":1184},[927,7746,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765],{"class":929,"line":937},[927,7748,1181],{"class":1180},[927,7750,2183],{"class":1180},[927,7752,1185],{"class":1184},[927,7754,4197],{"class":1188},[927,7756,1191],{"class":1184},[927,7758,1194],{"class":1180},[927,7760,1198],{"class":1197},[927,7762,1201],{"class":943},[927,7764,1204],{"class":1197},[927,7766,1207],{"class":1184},[927,7768,7769],{"class":929,"line":975},[927,7770,978],{"emptyLinePlaceholder":8},[927,7772,7773,7775,7777,7779,7781,7783,7785],{"class":929,"line":981},[927,7774,2025],{"class":2024},[927,7776,4220],{"class":2028},[927,7778,1236],{"class":2032},[927,7780,4225],{"class":2216},[927,7782,2220],{"class":1184},[927,7784,2223],{"class":2032},[927,7786,2226],{"class":1184},[927,7788,7789],{"class":929,"line":987},[927,7790,2553],{"class":1184},[927,7792,7793,7795,7797,7799,7801,7803,7805],{"class":929,"line":1249},[927,7794,4240],{"class":1188},[927,7796,1236],{"class":1235},[927,7798,1198],{"class":1197},[927,7800,4247],{"class":943},[927,7802,1204],{"class":1197},[927,7804,1330],{"class":1184},[927,7806,4254],{"class":933},[927,7808,7809,7811,7813,7815,7817,7819,7821],{"class":929,"line":1260},[927,7810,4259],{"class":1188},[927,7812,1236],{"class":1235},[927,7814,1198],{"class":1197},[927,7816,4266],{"class":943},[927,7818,1204],{"class":1197},[927,7820,4271],{"class":1184},[927,7822,4274],{"class":933},[927,7824,7825,7827,7829],{"class":929,"line":1281},[927,7826,4279],{"class":1188},[927,7828,1236],{"class":1235},[927,7830,2226],{"class":1184},[927,7832,7833,7835,7837,7839],{"class":929,"line":1298},[927,7834,4288],{"class":1197},[927,7836,4291],{"class":943},[927,7838,1204],{"class":1197},[927,7840,1246],{"class":1184},[927,7842,7843,7845,7847,7849],{"class":929,"line":1315},[927,7844,4288],{"class":1197},[927,7846,4302],{"class":943},[927,7848,1204],{"class":1197},[927,7850,1246],{"class":1184},[927,7852,7853],{"class":929,"line":1336},[927,7854,3532],{"class":1184},[927,7856,7857],{"class":929,"line":1349},[927,7858,1352],{"class":1184},[927,7860,7861],{"class":929,"line":1355},[927,7862,2318],{"class":1184},[927,7864,7865],{"class":929,"line":1361},[927,7866,978],{"emptyLinePlaceholder":8},[927,7868,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893],{"class":929,"line":1366},[927,7870,1221],{"class":1180},[927,7872,4329],{"class":940},[927,7874,4332],{"class":1184},[927,7876,1204],{"class":1197},[927,7878,1308],{"class":943},[927,7880,1204],{"class":1197},[927,7882,1770],{"class":1184},[927,7884,1204],{"class":1197},[927,7886,1325],{"class":943},[927,7888,1204],{"class":1197},[927,7890,1770],{"class":1184},[927,7892,4351],{"class":1188},[927,7894,4354],{"class":1184},[821,7896,4357,7897,4361],{},[825,7898,4360],{},[845,7900],{},[848,7902,4367],{"id":4366},[917,7904,7905],{"className":1170,"code":4370,"language":1173,"meta":923,"style":923},[825,7906,7907,7923,7953,7983,7987,7991,8029,8043,8047,8051,8063,8073,8083,8105,8115,8125,8129,8133,8145,8155,8163,8167,8171,8179,8189,8199,8209,8213,8217],{"__ignoreMap":923},[927,7908,7909,7911,7913,7915,7917,7919,7921],{"class":929,"line":930},[927,7910,1837],{"class":2024},[927,7912,4379],{"class":2216},[927,7914,4382],{"class":1184},[927,7916,4386],{"class":4385},[927,7918,4389],{"class":1184},[927,7920,2223],{"class":2032},[927,7922,4394],{"class":1184},[927,7924,7925,7927,7929,7931,7933,7935,7937,7939,7941,7943,7945,7947,7949,7951],{"class":929,"line":937},[927,7926,4399],{"class":2032},[927,7928,1185],{"class":1184},[927,7930,1837],{"class":1188},[927,7932,1236],{"class":2032},[927,7934,1198],{"class":1197},[927,7936,1390],{"class":943},[927,7938,1204],{"class":1197},[927,7940,4414],{"class":1184},[927,7942,1850],{"class":1188},[927,7944,1236],{"class":2032},[927,7946,4421],{"class":2216},[927,7948,4382],{"class":1184},[927,7950,4386],{"class":4385},[927,7952,4428],{"class":1184},[927,7954,7955,7957,7959,7961,7963,7965,7967,7969,7971,7973,7975,7977,7979,7981],{"class":929,"line":975},[927,7956,4399],{"class":2032},[927,7958,1185],{"class":1184},[927,7960,1837],{"class":1188},[927,7962,1236],{"class":2032},[927,7964,1198],{"class":1197},[927,7966,1241],{"class":943},[927,7968,1204],{"class":1197},[927,7970,4414],{"class":1184},[927,7972,1850],{"class":1188},[927,7974,1236],{"class":2032},[927,7976,4453],{"class":2216},[927,7978,4382],{"class":1184},[927,7980,4386],{"class":4385},[927,7982,4460],{"class":1184},[927,7984,7985],{"class":929,"line":981},[927,7986,978],{"emptyLinePlaceholder":8},[927,7988,7989],{"class":929,"line":987},[927,7990,978],{"emptyLinePlaceholder":8},[927,7992,7993,7995,7997,7999,8001,8003,8005,8007,8009,8011,8013,8015,8017,8019,8021,8023,8025,8027],{"class":929,"line":1249},[927,7994,1837],{"class":2024},[927,7996,4421],{"class":2216},[927,7998,4382],{"class":1184},[927,8000,4386],{"class":4385},[927,8002,4389],{"class":1184},[927,8004,2223],{"class":2032},[927,8006,4485],{"class":2216},[927,8008,4382],{"class":1184},[927,8010,4490],{"class":4385},[927,8012,4382],{"class":1184},[927,8014,4386],{"class":4385},[927,8016,4497],{"class":1184},[927,8018,1204],{"class":1197},[927,8020,1884],{"class":943},[927,8022,1204],{"class":1197},[927,8024,4389],{"class":1184},[927,8026,4508],{"class":2032},[927,8028,1257],{"class":1184},[927,8030,8031,8033,8035,8037,8039,8041],{"class":929,"line":1260},[927,8032,1263],{"class":1188},[927,8034,1236],{"class":2032},[927,8036,4519],{"class":2216},[927,8038,4382],{"class":1184},[927,8040,4386],{"class":4385},[927,8042,4526],{"class":1184},[927,8044,8045],{"class":929,"line":1281},[927,8046,4531],{"class":1184},[927,8048,8049],{"class":929,"line":1298},[927,8050,978],{"emptyLinePlaceholder":8},[927,8052,8053,8055,8057,8059,8061],{"class":929,"line":1315},[927,8054,3698],{"class":2024},[927,8056,4453],{"class":2216},[927,8058,4382],{"class":1184},[927,8060,4386],{"class":4385},[927,8062,4548],{"class":1184},[927,8064,8065,8067,8069,8071],{"class":929,"line":1336},[927,8066,1301],{"class":1188},[927,8068,1236],{"class":2032},[927,8070,3713],{"class":2216},[927,8072,1207],{"class":1184},[927,8074,8075,8077,8079,8081],{"class":929,"line":1349},[927,8076,1284],{"class":1188},[927,8078,1236],{"class":2032},[927,8080,3713],{"class":2216},[927,8082,1207],{"class":1184},[927,8084,8085,8087,8089,8091,8093,8095,8097,8099,8101,8103],{"class":929,"line":1355},[927,8086,1263],{"class":1188},[927,8088,1236],{"class":2032},[927,8090,4577],{"class":2216},[927,8092,2220],{"class":1184},[927,8094,4582],{"class":2032},[927,8096,2217],{"class":2216},[927,8098,2220],{"class":1184},[927,8100,4582],{"class":2032},[927,8102,3713],{"class":2216},[927,8104,1207],{"class":1184},[927,8106,8107,8109,8111,8113],{"class":929,"line":1361},[927,8108,1318],{"class":1188},[927,8110,1236],{"class":2032},[927,8112,3713],{"class":2216},[927,8114,1207],{"class":1184},[927,8116,8117,8119,8121,8123],{"class":929,"line":1366},[927,8118,1339],{"class":1188},[927,8120,1236],{"class":2032},[927,8122,3827],{"class":2216},[927,8124,1207],{"class":1184},[927,8126,8127],{"class":929,"line":1372},[927,8128,3681],{"class":1184},[927,8130,8131],{"class":929,"line":1381},[927,8132,978],{"emptyLinePlaceholder":8},[927,8134,8135,8137,8139,8141,8143],{"class":929,"line":1397},[927,8136,3698],{"class":2024},[927,8138,4627],{"class":2216},[927,8140,4382],{"class":1184},[927,8142,4386],{"class":4385},[927,8144,4548],{"class":1184},[927,8146,8147,8149,8151,8153],{"class":929,"line":1406},[927,8148,4638],{"class":1188},[927,8150,1236],{"class":2032},[927,8152,3713],{"class":2216},[927,8154,1246],{"class":1184},[927,8156,8157,8159,8161],{"class":929,"line":1421},[927,8158,1263],{"class":1188},[927,8160,1236],{"class":2032},[927,8162,4653],{"class":2216},[927,8164,8165],{"class":929,"line":1437},[927,8166,3681],{"class":1184},[927,8168,8169],{"class":929,"line":1452},[927,8170,978],{"emptyLinePlaceholder":8},[927,8172,8173,8175,8177],{"class":929,"line":1463},[927,8174,3698],{"class":2024},[927,8176,2217],{"class":2216},[927,8178,1257],{"class":1184},[927,8180,8181,8183,8185,8187],{"class":929,"line":1469},[927,8182,4674],{"class":1188},[927,8184,1236],{"class":2032},[927,8186,3713],{"class":2216},[927,8188,1246],{"class":1184},[927,8190,8191,8193,8195,8197],{"class":929,"line":1474},[927,8192,1284],{"class":1188},[927,8194,1236],{"class":2032},[927,8196,3713],{"class":2216},[927,8198,1207],{"class":1184},[927,8200,8201,8203,8205,8207],{"class":929,"line":2479},[927,8202,1301],{"class":1188},[927,8204,1236],{"class":2032},[927,8206,3713],{"class":2216},[927,8208,1207],{"class":1184},[927,8210,8211],{"class":929,"line":2495},[927,8212,3681],{"class":1184},[927,8214,8215],{"class":929,"line":2510},[927,8216,978],{"emptyLinePlaceholder":8},[927,8218,8219,8221,8223,8225,8227,8229,8231,8233,8235,8237,8239,8241,8243,8245,8247,8249,8251,8253,8255,8257,8259,8261,8263,8265],{"class":929,"line":2521},[927,8220,1837],{"class":2024},[927,8222,4519],{"class":2216},[927,8224,4382],{"class":1184},[927,8226,4386],{"class":4385},[927,8228,4389],{"class":1184},[927,8230,2223],{"class":2032},[927,8232,4627],{"class":2216},[927,8234,4382],{"class":1184},[927,8236,4386],{"class":4385},[927,8238,4731],{"class":1184},[927,8240,4582],{"class":2032},[927,8242,2217],{"class":2216},[927,8244,2220],{"class":1184},[927,8246,4582],{"class":2032},[927,8248,3713],{"class":2216},[927,8250,4058],{"class":2032},[927,8252,4052],{"class":1184},[927,8254,4386],{"class":2216},[927,8256,4750],{"class":2032},[927,8258,4753],{"class":1184},[927,8260,838],{"class":1188},[927,8262,1236],{"class":2032},[927,8264,3713],{"class":2216},[927,8266,4762],{"class":1184},[4764,8268,8269],{},[821,8270,4768,8271,4772],{},[825,8272,4771],{},[4774,8274,4776],{},{"title":923,"searchDepth":937,"depth":937,"links":8276},[8277,8278,8279,8280,8281,8282,8283,8284],{"id":850,"depth":937,"text":851},{"id":911,"depth":937,"text":912},{"id":1622,"depth":937,"text":1623},{"id":1782,"depth":937,"text":1783},{"id":2143,"depth":937,"text":2144},{"id":2533,"depth":937,"text":2534},{"id":4147,"depth":937,"text":4148},{"id":4366,"depth":937,"text":4367},{},{"title":127,"description":4787},1780436287671]