[{"data":1,"prerenderedAt":1708},["ShallowReactive",2],{"i-tabler:search":3,"i-tabler:brand-github":8,"instruo-catalogue":10,"i-tabler:circle-check":1690,"i-tabler:arrow-up-right":1692,"i-tabler:shield-lock":1694,"i-tabler:device-laptop":1696,"i-tabler:login-2":1698,"i-tabler:braces":1700,"i-tabler:photo-cog":1702,"i-tabler:key":1704,"i-tabler:arrows-exchange":1706},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21\"\u002F>",[11,28,46,58,74,89,105,120,133,150,166,181,193,205,221,236,251,267,284,294,307,320,331,345,357,369,382,393,407,421,431,444,454,468,482,495,509,521,533,547,561,574,587,601,612,623,636,649,660,671,683,695,706,717,728,742,752,765,775,790,803,816,828,840,853,865,876,890,903,915,927,939,951,963,974,988,998,1008,1019,1031,1043,1054,1068,1082,1094,1109,1122,1134,1147,1161,1174,1188,1199,1212,1223,1236,1247,1259,1273,1285,1295,1306,1318,1330,1342,1352,1362,1374,1383,1395,1407,1418,1432,1446,1458,1471,1483,1494,1507,1520,1534,1551,1563,1575,1586,1597,1610,1624,1637,1647,1658,1669,1679],{"id":12,"kind":13,"slug":14,"title":15,"description":16,"category":17,"icon":18,"route":19,"sourcePath":20,"artwork":-1,"processing":21,"tags":22,"aliases":27},"tool:env-formatter","tool","env-formatter",".env Formatter","Normalize environment-file spacing while preserving comments and values.","Developer","tabler:file-settings","\u002Ftools\u002Fenv-formatter","\u002Ftools\u002Fdeveloper\u002Fenv-formatter","local",[23,24,25,26],"env","formatter","configuration","developer",[],{"id":29,"kind":30,"slug":31,"title":32,"description":33,"category":34,"icon":35,"route":36,"sourcePath":37,"artwork":38,"processing":21,"tags":39,"aliases":45},"game:fifteen-puzzle","game","fifteen-puzzle","15 Puzzle","Slide numbered tiles into order with one empty square and a running timer.","Number","tabler:grid-4x4","\u002Fgames\u002Ffifteen-puzzle","\u002Fgames\u002Fnumber\u002Ffifteen-puzzle","\u002Fgame-arts\u002Ffifteen-puzzle.jpg",[40,41,42,43,44],"15-puzzle","sliding-puzzle","number-game","browser-game","puzzle",[],{"id":47,"kind":30,"slug":48,"title":48,"description":49,"category":34,"icon":50,"route":51,"sourcePath":52,"artwork":53,"processing":21,"tags":54,"aliases":57},"game:2048","2048","Slide and merge matching number tiles until you create 2048.","tabler:layout-grid","\u002Fgames\u002F2048","\u002Fgames\u002Fnumber\u002F2048","\u002Fgame-arts\u002F2048.jpg",[55,42,44,56,43],2048,"merge",[],{"id":59,"kind":13,"slug":60,"title":61,"description":62,"category":63,"icon":64,"route":65,"sourcePath":66,"artwork":-1,"processing":21,"tags":67,"aliases":73},"tool:aes-encryptor","aes-encryptor","AES Text Encryptor","Encrypt or decrypt text with AES-GCM and a password using Web Crypto.","Security","tabler:lock","\u002Ftools\u002Faes-encryptor","\u002Ftools\u002Fsecurity\u002Faes-encryptor",[68,69,70,71,72],"aes","encrypt","decrypt","cryptography","security",[],{"id":75,"kind":13,"slug":76,"title":77,"description":78,"category":79,"icon":80,"route":81,"sourcePath":82,"artwork":-1,"processing":21,"tags":83,"aliases":88},"tool:age-calculator","age-calculator","Age Calculator","Calculate current age and the next birthday from a birth date.","Everyday","tabler:cake","\u002Ftools\u002Fage-calculator","\u002Ftools\u002Feveryday\u002Fage-calculator",[84,85,86,87],"age","birthday","date","calculator",[],{"id":90,"kind":13,"slug":91,"title":92,"description":93,"category":17,"icon":94,"route":95,"sourcePath":96,"artwork":-1,"processing":21,"tags":97,"aliases":104},"tool:api-request-builder","api-request-builder","API Request Builder","Compose browser-local HTTP requests and export them as cURL, Fetch, Axios, or HTTPie.","tabler:api","\u002Ftools\u002Fapi-request-builder","\u002Ftools\u002Fdeveloper\u002Fapi-request-builder",[98,99,100,101,102,103],"api","http","curl","fetch","axios","request",[],{"id":106,"kind":13,"slug":107,"title":108,"description":109,"category":110,"icon":111,"route":112,"sourcePath":113,"artwork":-1,"processing":21,"tags":114,"aliases":119},"tool:base64","base64","Base64","Encode text to Base64 or decode Base64 to plain text.","Encoder Decoder","tabler:file-certificate","\u002Ftools\u002Fbase64","\u002Ftools\u002Fencoder-decoder\u002Fbase64",[115,116,117,118,107],"encoder","decoder","base64-to-text","text-to-base64",[],{"id":121,"kind":13,"slug":122,"title":123,"description":124,"category":110,"icon":125,"route":126,"sourcePath":127,"artwork":-1,"processing":21,"tags":128,"aliases":132},"tool:binary-text","binary-text","Binary","Convert text to binary or binary to text with ease.","tabler:binary","\u002Ftools\u002Fbinary-text","\u002Ftools\u002Fencoder-decoder\u002Fbinary-text",[115,116,129,130,131],"binary-to-text","text-to-binary","binary",[],{"id":134,"kind":30,"slug":135,"title":136,"description":137,"category":138,"icon":139,"route":140,"sourcePath":141,"artwork":142,"processing":21,"tags":143,"aliases":149},"game:blackjack-lite","blackjack-lite","Blackjack","Play a tactile local hand against a dealer and get closest to 21.","Strategy","tabler:cards","\u002Fgames\u002Fblackjack-lite","\u002Fgames\u002Fstrategy\u002Fblackjack-lite","\u002Fgame-arts\u002Fblackjack-lite.jpg",[144,145,146,147,148],"blackjack","cards","twenty-one","strategy","card-game",[],{"id":151,"kind":30,"slug":152,"title":153,"description":154,"category":155,"icon":156,"route":157,"sourcePath":158,"artwork":159,"processing":21,"tags":160,"aliases":165},"game:breakout","breakout","Breakout","Clear continuously generated brick patterns, survive the speed ramp, and chase a clean local high score.","Arcade","tabler:ball-basketball","\u002Fgames\u002Fbreakout","\u002Fgames\u002Farcade\u002Fbreakout","\u002Fgame-arts\u002Fbreakout.jpg",[152,161,162,163,164,43],"paddle","bricks","physics","arcade",[],{"id":167,"kind":13,"slug":168,"title":169,"description":170,"category":79,"icon":171,"route":172,"sourcePath":173,"artwork":-1,"processing":21,"tags":174,"aliases":180},"tool:slug-bulk","slug-bulk","Bulk Slug Generator","Turn one title per line into clean URL-safe slugs.","tabler:link","\u002Ftools\u002Fslug-bulk","\u002Ftools\u002Feveryday\u002Fslug-bulk",[175,176,177,178,179],"slug","url","text","seo","bulk",[],{"id":182,"kind":13,"slug":183,"title":184,"description":185,"category":79,"icon":186,"route":187,"sourcePath":188,"artwork":-1,"processing":21,"tags":189,"aliases":192},"tool:business-days","business-days","Business Days Calculator","Count working days with custom weekends, holidays, and inclusive date controls.","tabler:calendar-check","\u002Ftools\u002Fbusiness-days","\u002Ftools\u002Feveryday\u002Fbusiness-days",[190,191,86,87],"business days","calendar",[],{"id":194,"kind":13,"slug":195,"title":196,"description":197,"category":79,"icon":198,"route":199,"sourcePath":200,"artwork":-1,"processing":21,"tags":201,"aliases":204},"tool:calendar-duration","calendar-duration","Calendar Duration Calculator","Calculate elapsed hours and minutes between two date-times.","tabler:calendar-time","\u002Ftools\u002Fcalendar-duration","\u002Ftools\u002Feveryday\u002Fcalendar-duration",[191,202,203,87],"duration","time",[],{"id":206,"kind":30,"slug":207,"title":208,"description":209,"category":210,"icon":211,"route":212,"sourcePath":213,"artwork":214,"processing":21,"tags":215,"aliases":220},"game:capital-quiz","capital-quiz","Capital Quiz","Play rotating ten-question geography rounds from a larger local bank of world capitals.","Quiz","tabler:world","\u002Fgames\u002Fcapital-quiz","\u002Fgames\u002Fquiz\u002Fcapital-quiz","\u002Fgame-arts\u002Fcapital-quiz.jpg",[207,216,217,218,219],"geography","trivia","capitals","quiz",[],{"id":222,"kind":13,"slug":223,"title":224,"description":225,"category":226,"icon":227,"route":228,"sourcePath":229,"artwork":-1,"processing":21,"tags":230,"aliases":235},"tool:case-changer","case-changer","Case Changer","Change the case of the entered text.","Text","tabler:letter-case","\u002Ftools\u002Fcase-changer","\u002Ftools\u002Ftext\u002Fcase-changer",[177,223,231,232,233,234],"lowercase","uppercase","sentence-case","capitalize",[],{"id":237,"kind":30,"slug":238,"title":239,"description":240,"category":155,"icon":241,"route":242,"sourcePath":243,"artwork":244,"processing":21,"tags":245,"aliases":250},"game:coin-flip","coin-flip","Coin Flip","Flip a local virtual coin whenever you need a quick random choice.","tabler:coins","\u002Fgames\u002Fcoin-flip","\u002Fgames\u002Farcade\u002Fcoin-flip","\u002Fgame-arts\u002Fcoin-flip.jpg",[238,246,247,248,249],"random","choice","heads","tails",[],{"id":252,"kind":13,"slug":253,"title":254,"description":255,"category":256,"icon":257,"route":258,"sourcePath":259,"artwork":-1,"processing":21,"tags":260,"aliases":266},"tool:color-contrast","color-contrast","Color Contrast Checker","Check foreground and background contrast against WCAG text guidance.","Image","tabler:contrast-2","\u002Ftools\u002Fcolor-contrast","\u002Ftools\u002Fimage\u002Fcolor-contrast",[261,262,263,264,265],"color","contrast","wcag","accessibility","design",[],{"id":268,"kind":13,"slug":269,"title":270,"description":271,"category":17,"icon":272,"route":273,"sourcePath":274,"artwork":-1,"processing":21,"tags":275,"aliases":283},"tool:color-converter","color-converter","Color Converter","Preview and convert CSS colors across HEX, RGB, HSL, OKLCH, LCH, Lab, and Display P3.","tabler:palette","\u002Ftools\u002Fcolor-converter","\u002Ftools\u002Fdeveloper\u002Fcolor-converter",[261,276,277,278,279,280,281,282,26],"hex","rgb","hsl","oklch","lch","lab","css",[],{"id":285,"kind":13,"slug":286,"title":287,"description":288,"category":256,"icon":272,"route":289,"sourcePath":290,"artwork":-1,"processing":21,"tags":291,"aliases":293},"tool:palette-generator","palette-generator","Color Palette Generator","Create a five-step light-to-dark palette from one hex color.","\u002Ftools\u002Fpalette-generator","\u002Ftools\u002Fimage\u002Fpalette-generator",[261,292,265,276],"palette",[],{"id":295,"kind":13,"slug":296,"title":297,"description":298,"category":79,"icon":299,"route":300,"sourcePath":301,"artwork":-1,"processing":21,"tags":302,"aliases":306},"tool:compound-interest","compound-interest","Compound Interest Calculator","Estimate long-term growth with recurring contributions and selectable compounding.","tabler:chart-line","\u002Ftools\u002Fcompound-interest","\u002Ftools\u002Feveryday\u002Fcompound-interest",[303,304,305,87],"money","savings","interest",[],{"id":308,"kind":30,"slug":309,"title":310,"description":311,"category":138,"icon":312,"route":313,"sourcePath":314,"artwork":315,"processing":21,"tags":316,"aliases":319},"game:connect-four","connect-four","Connect Four","Drop discs into a classic seven-column board and make four in a row.","tabler:circle-dot","\u002Fgames\u002Fconnect-four","\u002Fgames\u002Fstrategy\u002Fconnect-four","\u002Fgame-arts\u002Fconnect-four.jpg",[309,317,147,318,43],"four-in-a-row","two-player",[],{"id":321,"kind":13,"slug":322,"title":323,"description":324,"category":63,"icon":211,"route":325,"sourcePath":326,"artwork":-1,"processing":21,"tags":327,"aliases":330},"tool:cors-builder","cors-builder","CORS Header Builder","Compose explicit CORS response headers for browser APIs and preflight requests.","\u002Ftools\u002Fcors-builder","\u002Ftools\u002Fsecurity\u002Fcors-builder",[328,329,99,98,72],"cors","headers",[],{"id":332,"kind":13,"slug":333,"title":334,"description":335,"category":17,"icon":336,"route":337,"sourcePath":338,"artwork":-1,"processing":21,"tags":339,"aliases":344},"tool:cron-builder","cron-builder","Cron Expression Builder","Build a five-field cron schedule from familiar minute, hour, day, month, and weekday fields.","tabler:clock-cog","\u002Ftools\u002Fcron-builder","\u002Ftools\u002Fdeveloper\u002Fcron-builder",[340,341,342,343,26],"cron","schedule","linux","automation",[],{"id":346,"kind":13,"slug":347,"title":348,"description":349,"category":63,"icon":350,"route":351,"sourcePath":352,"artwork":-1,"processing":21,"tags":353,"aliases":356},"tool:csp-builder","csp-builder","CSP Header Builder","Build a readable Content-Security-Policy header from directive fields.","tabler:shield-check","\u002Ftools\u002Fcsp-builder","\u002Ftools\u002Fsecurity\u002Fcsp-builder",[354,329,355,72],"csp","web-security",[],{"id":358,"kind":13,"slug":359,"title":360,"description":361,"category":256,"icon":362,"route":363,"sourcePath":364,"artwork":-1,"processing":21,"tags":365,"aliases":368},"tool:css-gradient","css-gradient","CSS Gradient Generator","Build a copy-ready linear-gradient declaration with a live preview.","tabler:gradienter","\u002Ftools\u002Fcss-gradient","\u002Ftools\u002Fimage\u002Fcss-gradient",[282,366,265,367],"gradient","generator",[],{"id":370,"kind":13,"slug":371,"title":372,"description":373,"category":17,"icon":374,"route":375,"sourcePath":376,"artwork":-1,"processing":21,"tags":377,"aliases":381},"tool:css-minifier","css-minifier","CSS Minifier","Remove comments and unnecessary whitespace from CSS in your browser.","tabler:brackets","\u002Ftools\u002Fcss-minifier","\u002Ftools\u002Fdeveloper\u002Fcss-minifier",[282,378,379,380,26],"minifier","stylesheet","frontend",[],{"id":383,"kind":13,"slug":384,"title":385,"description":386,"category":256,"icon":387,"route":388,"sourcePath":389,"artwork":-1,"processing":21,"tags":390,"aliases":392},"tool:css-shadow","css-shadow","CSS Shadow Generator","Build a copy-ready box-shadow declaration with a live preview.","tabler:shadow","\u002Ftools\u002Fcss-shadow","\u002Ftools\u002Fimage\u002Fcss-shadow",[282,391,265,367],"shadow",[],{"id":394,"kind":13,"slug":395,"title":396,"description":397,"category":17,"icon":398,"route":399,"sourcePath":400,"artwork":-1,"processing":21,"tags":401,"aliases":406},"tool:csv-json","csv-json","CSV to JSON","Convert CSV, TSV, or delimited rows into JSON with header and value-type controls.","tabler:file-spreadsheet","\u002Ftools\u002Fcsv-json","\u002Ftools\u002Fdeveloper\u002Fcsv-json",[402,403,404,405,26],"csv","json","converter","data",[],{"id":408,"kind":30,"slug":409,"title":410,"description":411,"category":412,"icon":413,"route":414,"sourcePath":415,"artwork":416,"processing":21,"tags":417,"aliases":420},"game:crossword","crossword","Daily Crossword","Solve a traditional 15×15 blocked crossword with numbered clues, keyboard controls, and dictionary-backed definitions.","Word","tabler:puzzle-2","\u002Fgames\u002Fcrossword","\u002Fgames\u002Fword\u002Fcrossword","\u002Fgame-arts\u002Fcrossword.jpg",[409,44,418,419,43],"clues","vocabulary",[],{"id":422,"kind":13,"slug":423,"title":424,"description":425,"category":79,"icon":211,"route":426,"sourcePath":427,"artwork":-1,"processing":21,"tags":428,"aliases":430},"tool:date-timezone","date-timezone","Date and Timezone Converter","Convert a local date-time into a readable time in another timezone.","\u002Ftools\u002Fdate-timezone","\u002Ftools\u002Feveryday\u002Fdate-timezone",[86,203,429,404],"timezone",[],{"id":432,"kind":13,"slug":433,"title":434,"description":435,"category":17,"icon":436,"route":437,"sourcePath":438,"artwork":-1,"processing":21,"tags":439,"aliases":443},"tool:dockerfile-formatter","dockerfile-formatter","Dockerfile Formatter","Normalize Dockerfile instruction casing without changing shell content.","tabler:brand-docker","\u002Ftools\u002Fdockerfile-formatter","\u002Ftools\u002Fdeveloper\u002Fdockerfile-formatter",[440,441,24,442,26],"docker","dockerfile","containers",[],{"id":445,"kind":13,"slug":446,"title":447,"description":448,"category":226,"icon":449,"route":450,"sourcePath":451,"artwork":-1,"processing":21,"tags":452,"aliases":453},"tool:duplicate-line-remover","duplicate-line-remover","Duplicate Line Remover","Remove duplicate lines from your text quickly and efficiently.","tabler:playlist-x","\u002Ftools\u002Fduplicate-line-remover","\u002Ftools\u002Ftext\u002Fduplicate-line-remover",[177,446],[],{"id":455,"kind":13,"slug":456,"title":457,"description":458,"category":256,"icon":459,"route":460,"sourcePath":461,"artwork":-1,"processing":21,"tags":462,"aliases":467},"tool:exif-viewer","exif-viewer","EXIF Viewer","Inspect common image metadata and download a cleaned copy in your browser.","tabler:photo-scan","\u002Ftools\u002Fexif-viewer","\u002Ftools\u002Fimage\u002Fexif-viewer",[463,464,465,466],"exif","metadata","image","privacy",[],{"id":469,"kind":13,"slug":470,"title":471,"description":472,"category":256,"icon":473,"route":474,"sourcePath":475,"artwork":-1,"processing":21,"tags":476,"aliases":481},"tool:favicon-generator","favicon-generator","Favicon Generator","Create a 64-pixel favicon PNG from any image locally.","tabler:brand-html5","\u002Ftools\u002Ffavicon-generator","\u002Ftools\u002Fimage\u002Ffavicon-generator",[477,478,479,465,480],"favicon","icon","png","web",[],{"id":483,"kind":30,"slug":484,"title":485,"description":486,"category":155,"icon":487,"route":488,"sourcePath":489,"artwork":490,"processing":21,"tags":491,"aliases":494},"game:flappy-bird","flappy-bird","Flappy Bird","A one-button arcade run where timing matters more than speed.","tabler:feather","\u002Fgames\u002Fflappy-bird","\u002Fgames\u002Farcade\u002Fflappy-bird","\u002Fgame-arts\u002Fflappy-bird.jpg",[484,164,492,493,43],"reflex","phaser",[],{"id":496,"kind":13,"slug":497,"title":498,"description":499,"category":17,"icon":500,"route":501,"sourcePath":502,"artwork":-1,"processing":21,"tags":503,"aliases":508},"tool:git-command","git-command","Git Command Builder","Build common commit, branch, push, and log commands without remembering every flag.","tabler:brand-git","\u002Ftools\u002Fgit-command","\u002Ftools\u002Fdeveloper\u002Fgit-command",[504,505,506,507,26],"git","command","commit","branch",[],{"id":510,"kind":13,"slug":511,"title":512,"description":513,"category":17,"icon":500,"route":514,"sourcePath":515,"artwork":-1,"processing":21,"tags":516,"aliases":520},"tool:gitignore-generator","gitignore-generator","Gitignore Generator","Compose a practical .gitignore from common project templates.","\u002Ftools\u002Fgitignore-generator","\u002Ftools\u002Fdeveloper\u002Fgitignore-generator",[504,517,518,519,26],"gitignore","node","nuxt",[],{"id":522,"kind":13,"slug":523,"title":524,"description":525,"category":17,"icon":526,"route":527,"sourcePath":528,"artwork":-1,"processing":21,"tags":529,"aliases":532},"tool:graphql-formatter","graphql-formatter","GraphQL Formatter","Format GraphQL queries, mutations and schema documents with syntax-aware indentation.","tabler:graph","\u002Ftools\u002Fgraphql-formatter","\u002Ftools\u002Fdeveloper\u002Fgraphql-formatter",[530,24,531,26],"graphql","query",[],{"id":534,"kind":30,"slug":535,"title":536,"description":537,"category":412,"icon":538,"route":539,"sourcePath":540,"artwork":541,"processing":21,"tags":542,"aliases":546},"game:hangman","hangman","Hangman","Guess letters, reveal a hidden word, and avoid six misses.","tabler:cursor-text","\u002Fgames\u002Fhangman","\u002Fgames\u002Fword\u002Fhangman","\u002Fgame-arts\u002Fhangman.jpg",[535,543,544,43,545],"word-game","spelling","classic-game",[],{"id":548,"kind":13,"slug":549,"title":550,"description":551,"category":63,"icon":552,"route":553,"sourcePath":554,"artwork":-1,"processing":21,"tags":555,"aliases":560},"tool:hash-compare","hash-compare","Hash Comparison Tool","Compare two strings with a browser cryptographic digest.","tabler:git-compare","\u002Ftools\u002Fhash-compare","\u002Ftools\u002Fsecurity\u002Fhash-compare",[556,557,558,559,72],"hash","compare","sha","integrity",[],{"id":562,"kind":30,"slug":563,"title":564,"description":565,"category":34,"icon":299,"route":566,"sourcePath":567,"artwork":568,"processing":21,"tags":569,"aliases":573},"game:higher-lower","higher-lower","Higher or Lower","Predict whether each new number will be higher or lower than the last.","\u002Fgames\u002Fhigher-lower","\u002Fgames\u002Fnumber\u002Fhigher-lower","\u002Fgame-arts\u002Fhigher-lower.jpg",[563,570,571,572,42],"number","prediction","score",[],{"id":575,"kind":13,"slug":576,"title":577,"description":578,"category":63,"icon":579,"route":580,"sourcePath":581,"artwork":-1,"processing":21,"tags":582,"aliases":586},"tool:hmac-generator","hmac-generator","HMAC Generator","Create or verify HMAC signatures with SHA-256, SHA-384, or SHA-512 locally.","tabler:key","\u002Ftools\u002Fhmac-generator","\u002Ftools\u002Fsecurity\u002Fhmac-generator",[583,556,584,585,72],"hmac","signature","web-crypto",[],{"id":588,"kind":13,"slug":589,"title":590,"description":591,"category":17,"icon":592,"route":593,"sourcePath":594,"artwork":-1,"processing":21,"tags":595,"aliases":600},"tool:html-a11y-checker","html-a11y-checker","HTML Accessibility Checker","Catch common HTML accessibility issues before running deeper automated and manual tests.","tabler:accessible","\u002Ftools\u002Fhtml-a11y-checker","\u002Ftools\u002Fdeveloper\u002Fhtml-a11y-checker",[596,264,597,598,599],"html","aria","audit","a11y",[],{"id":602,"kind":13,"slug":603,"title":604,"description":605,"category":17,"icon":606,"route":607,"sourcePath":608,"artwork":-1,"processing":21,"tags":609,"aliases":611},"tool:html-formatter","html-formatter","HTML Formatter and Minifier","Format readable HTML or remove unnecessary whitespace before shipping it.","tabler:code","\u002Ftools\u002Fhtml-formatter","\u002Ftools\u002Fdeveloper\u002Fhtml-formatter",[596,24,378,610,26],"markup",[],{"id":613,"kind":13,"slug":614,"title":615,"description":616,"category":17,"icon":617,"route":618,"sourcePath":619,"artwork":-1,"processing":21,"tags":620,"aliases":622},"tool:http-status","http-status","HTTP Status Code Lookup","Search common HTTP response codes by number or meaning.","tabler:status-change","\u002Ftools\u002Fhttp-status","\u002Ftools\u002Fdeveloper\u002Fhttp-status",[99,621,98,480,26],"status",[],{"id":624,"kind":13,"slug":625,"title":626,"description":627,"category":256,"icon":628,"route":629,"sourcePath":630,"artwork":-1,"processing":21,"tags":631,"aliases":635},"tool:image-compressor","image-compressor","Image Compressor","Compress JPEG, PNG, or WebP images locally with Canvas.","tabler:photo-down","\u002Ftools\u002Fimage-compressor","\u002Ftools\u002Fimage\u002Fimage-compressor",[465,632,633,634,465],"compressor","optimize","webp",[],{"id":637,"kind":13,"slug":638,"title":639,"description":640,"category":256,"icon":641,"route":642,"sourcePath":643,"artwork":-1,"processing":21,"tags":644,"aliases":648},"tool:image-cropper","image-cropper","Image Cropper","Crop an image by pixel coordinates in your browser.","tabler:crop","\u002Ftools\u002Fimage-cropper","\u002Ftools\u002Fimage\u002Fimage-cropper",[465,645,646,647],"crop","resize","canvas",[],{"id":650,"kind":13,"slug":651,"title":652,"description":653,"category":256,"icon":654,"route":655,"sourcePath":656,"artwork":-1,"processing":21,"tags":657,"aliases":659},"tool:image-format-converter","image-format-converter","Image Format Converter","Convert images between PNG, JPEG, and WebP without uploading them.","tabler:photo-cog","\u002Ftools\u002Fimage-format-converter","\u002Ftools\u002Fimage\u002Fimage-format-converter",[465,404,479,658,634],"jpeg",[],{"id":661,"kind":13,"slug":662,"title":663,"description":664,"category":256,"icon":628,"route":665,"sourcePath":666,"artwork":-1,"processing":21,"tags":667,"aliases":670},"tool:image-resizer","image-resizer","Image Resizer & Compressor","Resize JPEG, PNG, or WebP images and adjust their output format and quality.","\u002Ftools\u002Fimage-resizer","\u002Ftools\u002Fimage\u002Fimage-resizer",[465,646,668,658,479,634,669],"compress","photo",[],{"id":672,"kind":13,"slug":673,"title":674,"description":675,"category":17,"icon":676,"route":677,"sourcePath":678,"artwork":-1,"processing":21,"tags":679,"aliases":682},"tool:javascript-formatter","javascript-formatter","JavaScript Formatter and Minifier","Quickly format or compact small JavaScript snippets without uploading source code.","tabler:brand-javascript","\u002Ftools\u002Fjavascript-formatter","\u002Ftools\u002Fdeveloper\u002Fjavascript-formatter",[680,24,378,681,26],"javascript","js",[],{"id":684,"kind":13,"slug":685,"title":686,"description":687,"category":17,"icon":688,"route":689,"sourcePath":690,"artwork":-1,"processing":21,"tags":691,"aliases":694},"tool:json-formatter","json-formatter","JSON Formatter","Format, validate, and indent JSON directly in your browser.","tabler:braces","\u002Ftools\u002Fjson-formatter","\u002Ftools\u002Fdeveloper\u002Fjson-formatter",[403,24,692,693,26],"validator","pretty-print",[],{"id":696,"kind":13,"slug":697,"title":698,"description":699,"category":17,"icon":700,"route":701,"sourcePath":702,"artwork":-1,"processing":21,"tags":703,"aliases":705},"tool:json-minifier","json-minifier","JSON Minifier","Remove unnecessary whitespace from valid JSON.","tabler:arrows-diagonal-minimize","\u002Ftools\u002Fjson-minifier","\u002Ftools\u002Fdeveloper\u002Fjson-minifier",[403,378,704,692,26],"compact-json",[],{"id":707,"kind":13,"slug":708,"title":709,"description":710,"category":17,"icon":688,"route":711,"sourcePath":712,"artwork":-1,"processing":21,"tags":713,"aliases":716},"tool:json-schema-studio","json-schema-studio","JSON Schema Studio","Generate and validate JSON Schema locally with readable path-specific feedback.","\u002Ftools\u002Fjson-schema-studio","\u002Ftools\u002Fdeveloper\u002Fjson-schema-studio",[403,714,715,98,26],"schema","validation",[],{"id":718,"kind":13,"slug":719,"title":720,"description":721,"category":17,"icon":688,"route":722,"sourcePath":723,"artwork":-1,"processing":21,"tags":724,"aliases":727},"tool:json-yaml","json-yaml","JSON to YAML Converter","Convert JSON and YAML locally, with clear errors and copyable or downloadable output.","\u002Ftools\u002Fjson-yaml","\u002Ftools\u002Fdeveloper\u002Fjson-yaml",[403,725,404,726,26],"yaml","config",[],{"id":729,"kind":13,"slug":730,"title":731,"description":732,"category":17,"icon":733,"route":734,"sourcePath":735,"artwork":-1,"processing":21,"tags":736,"aliases":741},"tool:type-generator","type-generator","JSON Type Generator","Turn sample JSON into TypeScript, Zod, Valibot, or TypeBox definitions.","tabler:brand-typescript","\u002Ftools\u002Ftype-generator","\u002Ftools\u002Fdeveloper\u002Ftype-generator",[403,737,738,739,740],"typescript","zod","valibot","typebox",[],{"id":743,"kind":13,"slug":744,"title":745,"description":746,"category":17,"icon":374,"route":747,"sourcePath":748,"artwork":-1,"processing":21,"tags":749,"aliases":751},"tool:jsonpath-tester","jsonpath-tester","JSONPath Tester","Query JSON using properties, recursive descent, slices, wildcards and filters.","\u002Ftools\u002Fjsonpath-tester","\u002Ftools\u002Fdeveloper\u002Fjsonpath-tester",[750,403,531,26],"jsonpath",[],{"id":753,"kind":13,"slug":754,"title":755,"description":756,"category":17,"icon":579,"route":757,"sourcePath":758,"artwork":-1,"processing":21,"tags":759,"aliases":764},"tool:jwt-decoder","jwt-decoder","JWT Decoder","Decode a JSON Web Token header and payload without verifying or uploading it.","\u002Ftools\u002Fjwt-decoder","\u002Ftools\u002Fdeveloper\u002Fjwt-decoder",[760,761,762,763,26],"jwt","token","json-web-token","decode",[],{"id":766,"kind":13,"slug":767,"title":768,"description":769,"category":17,"icon":579,"route":770,"sourcePath":771,"artwork":-1,"processing":21,"tags":772,"aliases":774},"tool:jwt-lab","jwt-lab","JWT Encoder and Inspector","Inspect JWT header and payload claims or create an unsigned token-shaped value locally.","\u002Ftools\u002Fjwt-lab","\u002Ftools\u002Fdeveloper\u002Fjwt-lab",[760,761,403,773,26],"auth",[],{"id":776,"kind":30,"slug":777,"title":778,"description":779,"category":780,"icon":781,"route":782,"sourcePath":783,"artwork":784,"processing":21,"tags":785,"aliases":789},"game:lights-out","lights-out","Lights Out","Solve a seeded daily light circuit, or practise on classic five-by-five and larger boards.","Logic","tabler:bulb","\u002Fgames\u002Flights-out","\u002Fgames\u002Flogic\u002Flights-out","\u002Fgame-arts\u002Flights-out.jpg",[777,786,44,787,788],"logic","toggle","brain-teaser",[],{"id":791,"kind":13,"slug":792,"title":793,"description":794,"category":79,"icon":795,"route":796,"sourcePath":797,"artwork":-1,"processing":21,"tags":798,"aliases":802},"tool:loan-calculator","loan-calculator","Loan and EMI Calculator","Estimate monthly payment, total repayment, and interest for a fixed-rate loan.","tabler:calculator","\u002Ftools\u002Floan-calculator","\u002Ftools\u002Feveryday\u002Floan-calculator",[799,800,305,87,801],"loan","emi","finance",[],{"id":804,"kind":13,"slug":805,"title":806,"description":807,"category":17,"icon":808,"route":809,"sourcePath":810,"artwork":-1,"processing":21,"tags":811,"aliases":815},"tool:markdown-preview","markdown-preview","Markdown Preview","Preview GitHub-flavored Markdown locally and export sanitized HTML.","tabler:file-text","\u002Ftools\u002Fmarkdown-preview","\u002Ftools\u002Fdeveloper\u002Fmarkdown-preview",[812,813,814,26],"markdown","preview","writing",[],{"id":817,"kind":13,"slug":818,"title":819,"description":820,"category":17,"icon":821,"route":822,"sourcePath":823,"artwork":-1,"processing":21,"tags":824,"aliases":827},"tool:markdown-table","markdown-table","Markdown Table Generator","Turn tab-separated rows into a clean Markdown table.","tabler:table","\u002Ftools\u002Fmarkdown-table","\u002Ftools\u002Fdeveloper\u002Fmarkdown-table",[812,825,826,26],"table","documentation",[],{"id":829,"kind":30,"slug":830,"title":831,"description":832,"category":780,"icon":64,"route":833,"sourcePath":834,"artwork":835,"processing":21,"tags":836,"aliases":839},"game:mastermind","mastermind","Mastermind","Crack a four-color code using exact and close-match clues.","\u002Fgames\u002Fmastermind","\u002Fgames\u002Flogic\u002Fmastermind","\u002Fgame-arts\u002Fmastermind.jpg",[830,837,838,44,786],"code","deduction",[],{"id":841,"kind":30,"slug":842,"title":843,"description":844,"category":155,"icon":845,"route":846,"sourcePath":847,"artwork":848,"processing":21,"tags":849,"aliases":852},"game:maze-chase","maze-chase","Maze Chase","Clear ten seeded neon mazes, eat power pellets, and outrun the ghosts.","tabler:ghost","\u002Fgames\u002Fmaze-chase","\u002Fgames\u002Farcade\u002Fmaze-chase","\u002Fgame-arts\u002Fmaze-chase.jpg",[842,850,851,164,493,43],"pac-man","ghosts",[],{"id":854,"kind":13,"slug":855,"title":856,"description":857,"category":79,"icon":211,"route":858,"sourcePath":859,"artwork":-1,"processing":21,"tags":860,"aliases":864},"tool:meeting-planner","meeting-planner","Meeting Planner","Compare one reference time across four time zones and spot working-hour overlaps.","\u002Ftools\u002Fmeeting-planner","\u002Ftools\u002Feveryday\u002Fmeeting-planner",[861,429,862,863],"meeting","world clock","planning",[],{"id":866,"kind":30,"slug":867,"title":868,"description":869,"category":155,"icon":139,"route":870,"sourcePath":871,"artwork":872,"processing":21,"tags":873,"aliases":875},"game:memory-match","memory-match","Memory Match","Turn over cards, remember their positions, and clear every matching pair.","\u002Fgames\u002Fmemory-match","\u002Fgames\u002Farcade\u002Fmemory-match","\u002Fgame-arts\u002Fmemory-match.jpg",[867,874,148,43,44],"concentration",[],{"id":877,"kind":13,"slug":878,"title":879,"description":880,"category":17,"icon":881,"route":882,"sourcePath":883,"artwork":-1,"processing":21,"tags":884,"aliases":889},"tool:mermaid-editor","mermaid-editor","Mermaid Diagram Editor","Render Mermaid diagrams locally and export a clean SVG.","tabler:chart-dots-3","\u002Ftools\u002Fmermaid-editor","\u002Ftools\u002Fdeveloper\u002Fmermaid-editor",[885,886,887,888],"mermaid","diagram","flowchart","editor",[],{"id":891,"kind":30,"slug":892,"title":893,"description":894,"category":780,"icon":895,"route":896,"sourcePath":897,"artwork":898,"processing":21,"tags":899,"aliases":902},"game:minesweeper","minesweeper","Minesweeper","Clear a classic minefield with first-click safety, three levels, flags, and a timer.","tabler:bomb","\u002Fgames\u002Fminesweeper","\u002Fgames\u002Flogic\u002Fminesweeper","\u002Fgame-arts\u002Fminesweeper.jpg",[892,900,44,901,545],"logic-game","timer",[],{"id":904,"kind":13,"slug":905,"title":906,"description":907,"category":110,"icon":908,"route":909,"sourcePath":910,"artwork":-1,"processing":21,"tags":911,"aliases":914},"tool:morse-code","morse-code","Morse Code","Encode text to Morse Code or decode Morse Code to plain text.","tabler:radio","\u002Ftools\u002Fmorse-code","\u002Ftools\u002Fencoder-decoder\u002Fmorse-code",[115,116,912,913,905],"morse-code-to-text","text-to-morse-code",[],{"id":916,"kind":13,"slug":917,"title":918,"description":919,"category":17,"icon":920,"route":921,"sourcePath":922,"artwork":-1,"processing":21,"tags":923,"aliases":926},"tool:nginx-formatter","nginx-formatter","Nginx Configuration Formatter","Format Nginx server blocks for easier review, copying, and version control.","tabler:server","\u002Ftools\u002Fnginx-formatter","\u002Ftools\u002Fdeveloper\u002Fnginx-formatter",[924,726,24,925],"nginx","server",[],{"id":928,"kind":30,"slug":929,"title":930,"description":931,"category":780,"icon":932,"route":933,"sourcePath":934,"artwork":935,"processing":21,"tags":936,"aliases":938},"game:nim","nim","Nim","Take stones from one pile and force the last move in this classic strategy game.","tabler:stack-2","\u002Fgames\u002Fnim","\u002Fgames\u002Flogic\u002Fnim","\u002Fgame-arts\u002Fnim.jpg",[929,147,937,318,786],"stones",[],{"id":940,"kind":30,"slug":941,"title":942,"description":943,"category":155,"icon":944,"route":945,"sourcePath":946,"artwork":947,"processing":21,"tags":948,"aliases":950},"game:number-guess","number-guess","Number Guess","Find the hidden number from 1 to 100 in seven guesses.","tabler:list-numbers","\u002Fgames\u002Fnumber-guess","\u002Fgames\u002Farcade\u002Fnumber-guess","\u002Fgame-arts\u002Fnumber-guess.jpg",[941,563,949,164],"guessing",[],{"id":952,"kind":13,"slug":953,"title":954,"description":955,"category":256,"icon":956,"route":957,"sourcePath":958,"artwork":-1,"processing":21,"tags":959,"aliases":962},"tool:open-graph-preview","open-graph-preview","Open Graph Preview","Preview a social sharing card title, description, and color before publishing.","tabler:brand-openai","\u002Ftools\u002Fopen-graph-preview","\u002Ftools\u002Fimage\u002Fopen-graph-preview",[960,961,813,178,265],"open-graph","social",[],{"id":964,"kind":13,"slug":965,"title":966,"description":967,"category":17,"icon":94,"route":968,"sourcePath":969,"artwork":-1,"processing":21,"tags":970,"aliases":973},"tool:openapi-viewer","openapi-viewer","OpenAPI Viewer","Explore complete OpenAPI JSON or YAML documents, including operations, schemas, and responses.","\u002Ftools\u002Fopenapi-viewer","\u002Ftools\u002Fdeveloper\u002Fopenapi-viewer",[971,972,98,26],"openapi","swagger",[],{"id":975,"kind":13,"slug":976,"title":977,"description":978,"category":17,"icon":979,"route":980,"sourcePath":981,"artwork":-1,"processing":21,"tags":982,"aliases":987},"tool:package-json-scripts","package-json-scripts","Package.json Script Builder","Build a clean package.json scripts block from editable commands.","tabler:package","\u002Ftools\u002Fpackage-json-scripts","\u002Ftools\u002Fdeveloper\u002Fpackage-json-scripts",[983,984,985,986,26],"package-json","npm","pnpm","scripts",[],{"id":989,"kind":13,"slug":990,"title":991,"description":992,"category":63,"icon":579,"route":993,"sourcePath":994,"artwork":-1,"processing":21,"tags":995,"aliases":997},"tool:password-generator","password-generator","Password Generator","Create strong, customizable passwords with secure randomness from your browser.","\u002Ftools\u002Fpassword-generator","\u002Ftools\u002Fsecurity\u002Fpassword-generator",[996,990,72,246,466],"password",[],{"id":999,"kind":13,"slug":1000,"title":1001,"description":1002,"category":63,"icon":350,"route":1003,"sourcePath":1004,"artwork":-1,"processing":21,"tags":1005,"aliases":1007},"tool:password-strength","password-strength","Password Strength Checker","Check password length and character variety locally without storing the value.","\u002Ftools\u002Fpassword-strength","\u002Ftools\u002Fsecurity\u002Fpassword-strength",[996,1006,72,466],"strength",[],{"id":1009,"kind":13,"slug":1010,"title":1011,"description":1012,"category":63,"icon":64,"route":1013,"sourcePath":1014,"artwork":-1,"processing":21,"tags":1015,"aliases":1018},"tool:pbkdf2-derivation","pbkdf2-derivation","PBKDF2 Password Derivation","Derive a 256-bit key from a password and salt using browser Web Crypto.","\u002Ftools\u002Fpbkdf2-derivation","\u002Ftools\u002Fsecurity\u002Fpbkdf2-derivation",[1016,996,1017,72],"pbkdf2","key derivation",[],{"id":1020,"kind":13,"slug":1021,"title":1022,"description":1023,"category":63,"icon":111,"route":1024,"sourcePath":1025,"artwork":-1,"processing":21,"tags":1026,"aliases":1030},"tool:pem-inspector","pem-inspector","PEM Certificate Inspector","Inspect PEM block type, decoded size, and a local SHA-256 fingerprint.","\u002Ftools\u002Fpem-inspector","\u002Ftools\u002Fsecurity\u002Fpem-inspector",[1027,1028,1029,72],"pem","certificate","fingerprint",[],{"id":1032,"kind":13,"slug":1033,"title":1034,"description":1035,"category":79,"icon":1036,"route":1037,"sourcePath":1038,"artwork":-1,"processing":21,"tags":1039,"aliases":1042},"tool:percentage-calculator","percentage-calculator","Percentage Calculator","Calculate a percentage of any base value in your browser.","tabler:percentage","\u002Ftools\u002Fpercentage-calculator","\u002Ftools\u002Feveryday\u002Fpercentage-calculator",[1040,87,1041],"percentage","math",[],{"id":1044,"kind":13,"slug":1045,"title":1046,"description":1047,"category":256,"icon":1048,"route":1049,"sourcePath":1050,"artwork":-1,"processing":21,"tags":1051,"aliases":1053},"tool:pixel-art","pixel-art","Pixel Art Converter","Convert images into crisp pixel art with adjustable block size and local canvas rendering.","tabler:grid-dots","\u002Ftools\u002Fpixel-art","\u002Ftools\u002Fimage\u002Fpixel-art",[1052,465,404,265],"pixel art",[],{"id":1055,"kind":13,"slug":1056,"title":1057,"description":1058,"category":63,"icon":1059,"route":1060,"sourcePath":1061,"artwork":-1,"processing":21,"tags":1062,"aliases":1067},"tool:pkce-generator","pkce-generator","PKCE Generator","Generate an OAuth PKCE verifier and S256 challenge locally.","tabler:shield-lock","\u002Ftools\u002Fpkce-generator","\u002Ftools\u002Fsecurity\u002Fpkce-generator",[1063,1064,1065,1066,72],"pkce","oauth","verifier","challenge",[],{"id":1069,"kind":13,"slug":1070,"title":1071,"description":1072,"category":17,"icon":1073,"route":1074,"sourcePath":1075,"artwork":-1,"processing":21,"tags":1076,"aliases":1081},"tool:lorem-generator","lorem-generator","Placeholder Copy Generator","Generate short, neutral placeholder sentences for prototypes and drafts.","tabler:text-plus","\u002Ftools\u002Florem-generator","\u002Ftools\u002Fdeveloper\u002Florem-generator",[1077,1078,1079,1080,814],"lorem","placeholder","copy","prototype",[],{"id":1083,"kind":13,"slug":1084,"title":1085,"description":1086,"category":79,"icon":1087,"route":1088,"sourcePath":1089,"artwork":-1,"processing":21,"tags":1090,"aliases":1093},"tool:pomodoro","pomodoro","Pomodoro Timer","A focused work timer with short and long break presets.","tabler:stopwatch","\u002Ftools\u002Fpomodoro","\u002Ftools\u002Feveryday\u002Fpomodoro",[1084,901,1091,1092],"focus","productivity",[],{"id":1095,"kind":13,"slug":1096,"title":1097,"description":1098,"category":63,"icon":1099,"route":1100,"sourcePath":1101,"artwork":-1,"processing":21,"tags":1102,"aliases":1108},"tool:qr-generator","qr-generator","QR Code Generator","Customize QR codes for links, text, Wi-Fi, or email, then export PNG or SVG locally.","tabler:qrcode","\u002Ftools\u002Fqr-generator","\u002Ftools\u002Fsecurity\u002Fqr-generator",[1103,1104,367,1105,1106,1107,466,72],"qr","qrcode","wifi","email","svg",[],{"id":1110,"kind":13,"slug":1111,"title":1112,"description":1113,"category":79,"icon":1114,"route":1115,"sourcePath":1116,"artwork":-1,"processing":21,"tags":1117,"aliases":1121},"tool:qr-scanner","qr-scanner","QR Scanner","Decode QR images or scan with your camera, then inspect and copy the content locally.","tabler:scan","\u002Ftools\u002Fqr-scanner","\u002Ftools\u002Feveryday\u002Fqr-scanner",[1103,1118,1119,1120],"scanner","barcode","camera",[],{"id":1123,"kind":13,"slug":1124,"title":1125,"description":1126,"category":17,"icon":171,"route":1127,"sourcePath":1128,"artwork":-1,"processing":21,"tags":1129,"aliases":1133},"tool:query-builder","query-builder","Query String Builder","Build URL-encoded query parameters from editable key and value rows.","\u002Ftools\u002Fquery-builder","\u002Ftools\u002Fdeveloper\u002Fquery-builder",[1130,176,1131,1132,26],"query-string","parameters","encode",[],{"id":1135,"kind":30,"slug":1136,"title":1137,"description":1138,"category":210,"icon":1139,"route":1140,"sourcePath":1141,"artwork":1142,"processing":21,"tags":1143,"aliases":1146},"game:quick-trivia","quick-trivia","Quick Trivia","Play a rotating ten-question round from the Open Trivia DB question library.","tabler:help-circle","\u002Fgames\u002Fquick-trivia","\u002Fgames\u002Fquiz\u002Fquick-trivia","\u002Fgame-arts\u002Fquick-trivia.jpg",[217,219,1144,43,1145],"general-knowledge","learning",[],{"id":1148,"kind":13,"slug":1149,"title":1150,"description":1151,"category":1152,"icon":1153,"route":1154,"sourcePath":1155,"artwork":-1,"processing":21,"tags":1156,"aliases":1160},"tool:random-picker","random-picker","Random Picker","Pick a fair name, task, or decision locally with optional no-repeat history.","Productivity","tabler:dice-5","\u002Ftools\u002Frandom-picker","\u002Ftools\u002Fproductivity\u002Frandom-picker",[1157,1158,1159,1092],"random picker","decision wheel","choices",[],{"id":1162,"kind":30,"slug":1163,"title":1164,"description":1165,"category":155,"icon":1166,"route":1167,"sourcePath":1168,"artwork":1169,"processing":21,"tags":1170,"aliases":1173},"game:reaction-timer","reaction-timer","Reaction Timer","Test your reflexes by clicking the instant the panel turns green.","tabler:bolt","\u002Fgames\u002Freaction-timer","\u002Fgames\u002Farcade\u002Freaction-timer","\u002Fgame-arts\u002Freaction-timer.jpg",[1171,492,901,1172,164],"reaction","speed",[],{"id":1175,"kind":13,"slug":1176,"title":1177,"description":1178,"category":17,"icon":1179,"route":1180,"sourcePath":1181,"artwork":-1,"processing":21,"tags":1182,"aliases":1187},"tool:regex-lab","regex-lab","Regex Escape and Pattern Lab","Escape literal text or copy useful starter patterns for email and URL matching.","tabler:regex","\u002Ftools\u002Fregex-lab","\u002Ftools\u002Fdeveloper\u002Fregex-lab",[1183,1184,1185,1186,26],"regex","regular-expression","escape","tester",[],{"id":1189,"kind":13,"slug":1190,"title":1191,"description":1192,"category":17,"icon":606,"route":1193,"sourcePath":1194,"artwork":-1,"processing":21,"tags":1195,"aliases":1198},"tool:regex-tester","regex-tester","Regex Tester","Check JavaScript regular expressions against sample text with instant local feedback.","\u002Ftools\u002Fregex-tester","\u002Ftools\u002Fdeveloper\u002Fregex-tester",[1183,1184,680,1196,1197,26],"pattern","testing",[],{"id":1200,"kind":30,"slug":1201,"title":1202,"description":1203,"category":155,"icon":1204,"route":1205,"sourcePath":1206,"artwork":1207,"processing":21,"tags":1208,"aliases":1211},"game:rock-paper-scissors","rock-paper-scissors","Rock Paper Scissors","Make a hand, beat the computer, and take a first-to-five match.","tabler:hand-click","\u002Fgames\u002Frock-paper-scissors","\u002Fgames\u002Farcade\u002Frock-paper-scissors","\u002Fgame-arts\u002Frock-paper-scissors.jpg",[1201,1209,1210,43,164],"roshambo","hand-game",[],{"id":1213,"kind":13,"slug":1214,"title":1215,"description":1216,"category":63,"icon":579,"route":1217,"sourcePath":1218,"artwork":-1,"processing":21,"tags":1219,"aliases":1222},"tool:rsa-key-generator","rsa-key-generator","RSA Key Pair Generator","Generate an RSA-OAEP 2048-bit public and private key pair locally.","\u002Ftools\u002Frsa-key-generator","\u002Ftools\u002Fsecurity\u002Frsa-key-generator",[1220,1221,71,1027,72],"rsa","keys",[],{"id":1224,"kind":13,"slug":1225,"title":1226,"description":1227,"category":256,"icon":1228,"route":1229,"sourcePath":1230,"artwork":-1,"processing":21,"tags":1231,"aliases":1235},"tool:screenshot-redactor","screenshot-redactor","Screenshot Redactor","Blur, pixelate, highlight, or redact sensitive screenshot areas locally.","tabler:photo-edit","\u002Ftools\u002Fscreenshot-redactor","\u002Ftools\u002Fimage\u002Fscreenshot-redactor",[1232,1233,1234,466,465],"screenshot","redaction","blur",[],{"id":1237,"kind":13,"slug":1238,"title":1239,"description":1240,"category":63,"icon":1114,"route":1241,"sourcePath":1242,"artwork":-1,"processing":21,"tags":1243,"aliases":1246},"tool:secret-scanner","secret-scanner","Secret Scanner","Find likely credentials and private keys in pasted code before sharing or committing it.","\u002Ftools\u002Fsecret-scanner","\u002Ftools\u002Fsecurity\u002Fsecret-scanner",[1244,1118,1245,72,837],"secrets","api keys",[],{"id":1248,"kind":13,"slug":1249,"title":1250,"description":1251,"category":63,"icon":1252,"route":1253,"sourcePath":1254,"artwork":-1,"processing":21,"tags":1255,"aliases":1258},"tool:secure-random","secure-random","Secure Random String Generator","Generate random strings using the browser Web Crypto API.","tabler:dice","\u002Ftools\u002Fsecure-random","\u002Ftools\u002Fsecurity\u002Fsecure-random",[246,761,1256,1257,72],"secret","crypto",[],{"id":1260,"kind":13,"slug":1261,"title":1262,"description":1263,"category":17,"icon":1264,"route":1265,"sourcePath":1266,"artwork":-1,"processing":21,"tags":1267,"aliases":1272},"tool:hash-generator","hash-generator","SHA Hash Generator","Create SHA-256, SHA-384, SHA-512, or legacy SHA-1 digests from text.","tabler:hash","\u002Ftools\u002Fhash-generator","\u002Ftools\u002Fdeveloper\u002Fhash-generator",[558,1268,1269,556,1270,1271,26],"sha-256","sha-512","digest","checksum",[],{"id":1274,"kind":30,"slug":1275,"title":1276,"description":1277,"category":155,"icon":1278,"route":1279,"sourcePath":1280,"artwork":1281,"processing":21,"tags":1282,"aliases":1284},"game:simon-says","simon-says","Simon Says","Watch the color pattern, then repeat it from memory as it grows.","tabler:brain","\u002Fgames\u002Fsimon-says","\u002Fgames\u002Farcade\u002Fsimon-says","\u002Fgame-arts\u002Fsimon-says.jpg",[1275,1283,1196,492,164],"memory",[],{"id":1286,"kind":13,"slug":1287,"title":1288,"description":1289,"category":226,"icon":171,"route":1290,"sourcePath":1291,"artwork":-1,"processing":21,"tags":1292,"aliases":1294},"tool:slug-generator","slug-generator","Slug Generator","Convert a title or phrase into a clean URL slug.","\u002Ftools\u002Fslug-generator","\u002Ftools\u002Ftext\u002Fslug-generator",[175,1293,178,177,231],"url-slug",[],{"id":1296,"kind":30,"slug":1297,"title":1298,"description":1299,"category":155,"icon":1300,"route":1301,"sourcePath":1302,"artwork":1303,"processing":21,"tags":1304,"aliases":1305},"game:snake","snake","Snake","Guide a growing snake to its food without hitting a wall or its own tail.","tabler:vector-spline","\u002Fgames\u002Fsnake","\u002Fgames\u002Farcade\u002Fsnake","\u002Fgame-arts\u002Fsnake.jpg",[1297,164,545,43,492],[],{"id":1307,"kind":30,"slug":1308,"title":1309,"description":1310,"category":780,"icon":1311,"route":1312,"sourcePath":1313,"artwork":1314,"processing":21,"tags":1315,"aliases":1317},"game:sokoban","sokoban","Sokoban","Push every crate onto a goal across fifty seeded warehouse puzzles.","tabler:box","\u002Fgames\u002Fsokoban","\u002Fgames\u002Flogic\u002Fsokoban","\u002Fgame-arts\u002Fsokoban.jpg",[1308,1316,786,44,43],"box-pushing",[],{"id":1319,"kind":30,"slug":1320,"title":1321,"description":1322,"category":138,"icon":139,"route":1323,"sourcePath":1324,"artwork":1325,"processing":21,"tags":1326,"aliases":1329},"game:solitaire","solitaire","Solitaire","Build four suit stacks from ace to king in a tactile local Klondike game with hints, undo, and two deal styles.","\u002Fgames\u002Fsolitaire","\u002Fgames\u002Fstrategy\u002Fsolitaire","\u002Fgame-arts\u002Fsolitaire.jpg",[1320,1327,145,1328,147,43],"klondike","patience",[],{"id":1331,"kind":13,"slug":1332,"title":1333,"description":1334,"category":17,"icon":1335,"route":1336,"sourcePath":1337,"artwork":-1,"processing":21,"tags":1338,"aliases":1341},"tool:sql-formatter","sql-formatter","SQL Formatter","Turn a compact SQL query into a readable layout with local, predictable formatting.","tabler:database","\u002Ftools\u002Fsql-formatter","\u002Ftools\u002Fdeveloper\u002Fsql-formatter",[1339,24,531,1340,26],"sql","database",[],{"id":1343,"kind":13,"slug":1344,"title":1345,"description":1346,"category":17,"icon":1335,"route":1347,"sourcePath":1348,"artwork":-1,"processing":21,"tags":1349,"aliases":1351},"tool:sql-builder","sql-builder","SQL Query Builder","Compose a readable SELECT query with columns, filters, ordering, and a limit.","\u002Ftools\u002Fsql-builder","\u002Ftools\u002Fdeveloper\u002Fsql-builder",[1339,531,1350,1340,26],"select",[],{"id":1353,"kind":13,"slug":1354,"title":1355,"description":1356,"category":63,"icon":350,"route":1357,"sourcePath":1358,"artwork":-1,"processing":21,"tags":1359,"aliases":1361},"tool:sri-generator","sri-generator","SRI Hash Generator","Hash pasted content or exact local-file bytes and generate integrity markup.","\u002Ftools\u002Fsri-generator","\u002Ftools\u002Fsecurity\u002Fsri-generator",[1360,559,72,556,480],"sri",[],{"id":1363,"kind":13,"slug":1364,"title":1365,"description":1366,"category":63,"icon":1367,"route":1368,"sourcePath":1369,"artwork":-1,"processing":21,"tags":1370,"aliases":1373},"tool:ssh-fingerprint","ssh-fingerprint","SSH Key Fingerprint Calculator","Calculate an OpenSSH public-key SHA-256 fingerprint locally.","tabler:fingerprint","\u002Ftools\u002Fssh-fingerprint","\u002Ftools\u002Fsecurity\u002Fssh-fingerprint",[1371,1029,1372,72],"ssh","public key",[],{"id":1375,"kind":13,"slug":1376,"title":1377,"description":1378,"category":79,"icon":1087,"route":1379,"sourcePath":1380,"artwork":-1,"processing":21,"tags":1381,"aliases":1382},"tool:stopwatch","stopwatch","Stopwatch","Time a session, compare lap splits, pause and resume, and export your laps as CSV.","\u002Ftools\u002Fstopwatch","\u002Ftools\u002Feveryday\u002Fstopwatch",[1376,901,203],[],{"id":1384,"kind":30,"slug":1385,"title":1386,"description":1387,"category":34,"icon":1388,"route":1389,"sourcePath":1390,"artwork":1391,"processing":21,"tags":1392,"aliases":1394},"game:sudoku","sudoku","Sudoku","Complete a classic 9×9 number puzzle directly in your browser.","tabler:grid-3x3","\u002Fgames\u002Fsudoku","\u002Fgames\u002Fnumber\u002Fsudoku","\u002Fgame-arts\u002Fsudoku.jpg",[1385,42,786,1393,44],"daily-game",[],{"id":1396,"kind":13,"slug":1397,"title":1398,"description":1399,"category":256,"icon":1400,"route":1401,"sourcePath":1402,"artwork":-1,"processing":21,"tags":1403,"aliases":1406},"tool:svg-optimizer","svg-optimizer","SVG Optimizer","Optimize SVG markup locally with SVGO while preserving viewBox, IDs, and descriptions.","tabler:vector","\u002Ftools\u002Fsvg-optimizer","\u002Ftools\u002Fimage\u002Fsvg-optimizer",[1107,633,1404,1405],"minify","vector",[],{"id":1408,"kind":13,"slug":1409,"title":1410,"description":1411,"category":256,"icon":1400,"route":1412,"sourcePath":1413,"artwork":-1,"processing":21,"tags":1414,"aliases":1417},"tool:svg-sprite","svg-sprite","SVG Sprite Generator","Combine standalone SVG elements into a reusable symbol sprite locally.","\u002Ftools\u002Fsvg-sprite","\u002Ftools\u002Fimage\u002Fsvg-sprite",[1107,1415,1416,380],"sprite","icons",[],{"id":1419,"kind":30,"slug":1420,"title":1421,"description":1422,"category":34,"icon":1423,"route":1424,"sourcePath":1425,"artwork":1426,"processing":21,"tags":1427,"aliases":1431},"game:target-sum","target-sum","Target Sum","Select two number tiles that add up to the target.","tabler:target","\u002Fgames\u002Ftarget-sum","\u002Fgames\u002Fnumber\u002Ftarget-sum","\u002Fgame-arts\u002Ftarget-sum.jpg",[1420,1428,1429,44,1430],"arithmetic","numbers","mental-math",[],{"id":1433,"kind":30,"slug":1434,"title":1435,"description":1436,"category":155,"icon":1437,"route":1438,"sourcePath":1439,"artwork":1440,"processing":21,"tags":1441,"aliases":1445},"game:tetris","tetris","Tetris","Stack falling pieces, clear lines, and chase a higher level.","tabler:blocks","\u002Fgames\u002Ftetris","\u002Fgames\u002Farcade\u002Ftetris","\u002Fgame-arts\u002Ftetris.jpg",[1434,1442,44,1443,1444,43],"falling-block","keyboard","touch",[],{"id":1447,"kind":13,"slug":1448,"title":1449,"description":1450,"category":17,"icon":1451,"route":1452,"sourcePath":1453,"artwork":-1,"processing":21,"tags":1454,"aliases":1457},"tool:text-diff","text-diff","Text Diff","Compare two short text blocks line by line with clear local change states.","tabler:arrows-diff","\u002Ftools\u002Ftext-diff","\u002Ftools\u002Fdeveloper\u002Ftext-diff",[1455,557,177,1456,26],"diff","changes",[],{"id":1459,"kind":13,"slug":1460,"title":1461,"description":1462,"category":226,"icon":1463,"route":1464,"sourcePath":1465,"artwork":-1,"processing":21,"tags":1466,"aliases":1470},"tool:text-reverser","text-reverser","Text Reverser","Reverse characters in any text while preserving Unicode characters.","tabler:arrow-iteration","\u002Ftools\u002Ftext-reverser","\u002Ftools\u002Ftext\u002Ftext-reverser",[1467,1468,177,1469],"reverse-text","backwards-text","unicode",[],{"id":1472,"kind":13,"slug":1473,"title":1474,"description":1475,"category":226,"icon":1476,"route":1477,"sourcePath":1478,"artwork":-1,"processing":21,"tags":1479,"aliases":1482},"tool:text-sorter","text-sorter","Text Sorter","Sort your text alphabetically, by length, or numerically.","tabler:sort-ascending-letters","\u002Ftools\u002Ftext-sorter","\u002Ftools\u002Ftext\u002Ftext-sorter",[177,1480,1481],"sorter","text-sort",[],{"id":1484,"kind":30,"slug":1485,"title":1486,"description":1487,"category":138,"icon":50,"route":1488,"sourcePath":1489,"artwork":1490,"processing":21,"tags":1491,"aliases":1493},"game:tic-tac-toe","tic-tac-toe","Tic Tac Toe","Make three in a row against a friend or an unbeatable computer opponent.","\u002Fgames\u002Ftic-tac-toe","\u002Fgames\u002Fstrategy\u002Ftic-tac-toe","\u002Fgame-arts\u002Ftic-tac-toe.jpg",[1485,1492,147,318,44],"noughts-and-crosses",[],{"id":1495,"kind":13,"slug":1496,"title":1497,"description":1498,"category":79,"icon":1499,"route":1500,"sourcePath":1501,"artwork":-1,"processing":21,"tags":1502,"aliases":1506},"tool:tip-splitter","tip-splitter","Tip Splitter","Split a bill with tip presets, currency formatting, a clear breakdown, and exact rounding allocation.","tabler:receipt","\u002Ftools\u002Ftip-splitter","\u002Ftools\u002Feveryday\u002Ftip-splitter",[1503,1504,1505,87],"tip","bill","split",[],{"id":1508,"kind":13,"slug":1509,"title":1510,"description":1511,"category":63,"icon":1512,"route":1513,"sourcePath":1514,"artwork":-1,"processing":21,"tags":1515,"aliases":1519},"tool:totp-generator","totp-generator","TOTP Generator","Generate six-digit authenticator codes from a Base32 secret or otpauth URI.","tabler:device-mobile-star","\u002Ftools\u002Ftotp-generator","\u002Ftools\u002Fsecurity\u002Ftotp-generator",[1516,1517,1518,72],"totp","otp","authenticator",[],{"id":1521,"kind":30,"slug":1522,"title":1523,"description":1524,"category":412,"icon":1525,"route":1526,"sourcePath":1527,"artwork":1528,"processing":21,"tags":1529,"aliases":1533},"game:typing-test","typing-test","Typing Test","Type a short sentence for thirty seconds and track your words.","tabler:keyboard","\u002Fgames\u002Ftyping-test","\u002Fgames\u002Fword\u002Ftyping-test","\u002Fgame-arts\u002Ftyping-test.jpg",[1530,1172,1531,1443,1532],"typing","words","test",[],{"id":1535,"kind":13,"slug":1536,"title":1537,"description":1538,"category":79,"icon":1539,"route":1540,"sourcePath":1541,"artwork":-1,"processing":21,"tags":1542,"aliases":1550},"tool:unit-converter","unit-converter","Unit Converter","Convert measurements across eight categories, swap units, and compare equivalent values instantly.","tabler:arrows-exchange","\u002Ftools\u002Funit-converter","\u002Ftools\u002Feveryday\u002Funit-converter",[1543,1544,1545,1546,1547,1548,1172,203,1549,404],"units","length","weight","temperature","area","volume","storage",[],{"id":1552,"kind":13,"slug":1553,"title":1554,"description":1555,"category":17,"icon":64,"route":1556,"sourcePath":1557,"artwork":-1,"processing":21,"tags":1558,"aliases":1562},"tool:unix-permissions","unix-permissions","Unix Permissions","Translate three-digit octal file permissions into symbolic notation and chmod syntax.","\u002Ftools\u002Funix-permissions","\u002Ftools\u002Fdeveloper\u002Funix-permissions",[1559,1560,1561,342,26],"unix","chmod","permissions",[],{"id":1564,"kind":13,"slug":1565,"title":1566,"description":1567,"category":17,"icon":1568,"route":1569,"sourcePath":1570,"artwork":-1,"processing":21,"tags":1571,"aliases":1574},"tool:timestamp-converter","timestamp-converter","Unix Timestamp Converter","Convert Unix timestamps to readable dates and local dates back to timestamps.","tabler:clock","\u002Ftools\u002Ftimestamp-converter","\u002Ftools\u002Fdeveloper\u002Ftimestamp-converter",[1559,1572,1573,86,203,26],"timestamp","epoch",[],{"id":1576,"kind":13,"slug":1577,"title":1578,"description":1579,"category":110,"icon":171,"route":1580,"sourcePath":1581,"artwork":-1,"processing":21,"tags":1582,"aliases":1585},"tool:url-encode-decode","url-encode-decode","URL","Encode or decode URL.","\u002Ftools\u002Furl-encode-decode","\u002Ftools\u002Fencoder-decoder\u002Furl-encode-decode",[115,116,1583,1584,176],"url-encode","url-decode",[],{"id":1587,"kind":13,"slug":1588,"title":1589,"description":1590,"category":17,"icon":171,"route":1591,"sourcePath":1592,"artwork":-1,"processing":21,"tags":1593,"aliases":1596},"tool:url-parser","url-parser","URL Parser","Break a URL into protocol, origin, host, path, query, and hash without leaving your browser.","\u002Ftools\u002Furl-parser","\u002Ftools\u002Fdeveloper\u002Furl-parser",[176,1594,531,1595,26],"parser","hostname",[],{"id":1598,"kind":13,"slug":1599,"title":1600,"description":1601,"category":17,"icon":1367,"route":1602,"sourcePath":1603,"artwork":-1,"processing":21,"tags":1604,"aliases":1609},"tool:uuid-generator","uuid-generator","UUID Generator","Generate one or more random UUID v4 identifiers.","\u002Ftools\u002Fuuid-generator","\u002Ftools\u002Fdeveloper\u002Fuuid-generator",[1605,1606,1607,1608,26],"uuid","guid","uuid-v4","random-id",[],{"id":1611,"kind":13,"slug":1612,"title":1613,"description":1614,"category":226,"icon":1615,"route":1616,"sourcePath":1617,"artwork":-1,"processing":21,"tags":1618,"aliases":1623},"tool:whitespace-cleaner","whitespace-cleaner","Whitespace Cleaner","Remove repeated spaces and excessive blank lines from text.","tabler:arrows-join","\u002Ftools\u002Fwhitespace-cleaner","\u002Ftools\u002Ftext\u002Fwhitespace-cleaner",[1619,1620,1621,1622,177],"whitespace","remove-spaces","blank-lines","clean-text",[],{"id":1625,"kind":13,"slug":1626,"title":1627,"description":1628,"category":226,"icon":538,"route":1629,"sourcePath":1630,"artwork":-1,"processing":21,"tags":1631,"aliases":1636},"tool:word-char-counter","word-char-counter","Word Character Counter","Count the number of words and characters (with or without spaces) in your text.","\u002Ftools\u002Fword-char-counter","\u002Ftools\u002Ftext\u002Fword-char-counter",[177,1632,1633,1634,1635],"word-frequency","word-character-counter","character-counter","text-length",[],{"id":1638,"kind":13,"slug":1639,"title":1640,"description":1641,"category":226,"icon":944,"route":1642,"sourcePath":1643,"artwork":-1,"processing":21,"tags":1644,"aliases":1646},"tool:word-frequency-finder","word-frequency-finder","Word Frequency Finder","Analyze the frequency of specified words in your input text.","\u002Ftools\u002Fword-frequency-finder","\u002Ftools\u002Ftext\u002Fword-frequency-finder",[177,1632,1645],"word-counter",[],{"id":1648,"kind":30,"slug":1649,"title":1650,"description":1651,"category":412,"icon":227,"route":1652,"sourcePath":1653,"artwork":1654,"processing":21,"tags":1655,"aliases":1657},"game:word-scramble","word-scramble","Word Scramble","Rearrange a shuffled word in four tries with a little help from your vocabulary.","\u002Fgames\u002Fword-scramble","\u002Fgames\u002Fword\u002Fword-scramble","\u002Fgame-arts\u002Fword-scramble.jpg",[1649,1656,419,544,543],"anagram",[],{"id":1659,"kind":30,"slug":1660,"title":1661,"description":1662,"category":412,"icon":1663,"route":1664,"sourcePath":1665,"artwork":1666,"processing":21,"tags":1667,"aliases":1668},"game:wordle","wordle","Wordle","Guess a five-letter word in six tries with a fresh daily starting word.","tabler:text-spellcheck","\u002Fgames\u002Fwordle","\u002Fgames\u002Fword\u002Fwordle","\u002Fgame-arts\u002Fwordle.jpg",[1660,543,1393,44],[],{"id":1670,"kind":13,"slug":1671,"title":1672,"description":1673,"category":79,"icon":211,"route":1674,"sourcePath":1675,"artwork":-1,"processing":21,"tags":1676,"aliases":1678},"tool:world-clock","world-clock","World Clock","Compare the current time in four important time zones at a glance.","\u002Ftools\u002Fworld-clock","\u002Ftools\u002Feveryday\u002Fworld-clock",[1677,429,203,1092],"clock",[],{"id":1680,"kind":13,"slug":1681,"title":1682,"description":1683,"category":17,"icon":1684,"route":1685,"sourcePath":1686,"artwork":-1,"processing":21,"tags":1687,"aliases":1689},"tool:xml-formatter","xml-formatter","XML Formatter","Add indentation and line breaks to compact XML locally.","tabler:file-code","\u002Ftools\u002Fxml-formatter","\u002Ftools\u002Fdeveloper\u002Fxml-formatter",[1688,24,610,26],"xml",[],{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1691},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1693},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 7L7 17M8 7h9v9\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1695},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 3a12 12 0 0 0 8.5 3A12 12 0 0 1 12 21A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3\"\u002F>\u003Cpath d=\"M11 11a1 1 0 1 0 2 0a1 1 0 1 0-2 0m1 1v2.5\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1697},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 19h18M5 7a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1699},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M9 8V6a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2\"\u002F>\u003Cpath d=\"M3 12h13l-3-3m0 6l3-3\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1701},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 4a2 2 0 0 0-2 2v3a2 3 0 0 1-2 3a2 3 0 0 1 2 3v3a2 2 0 0 0 2 2M17 4a2 2 0 0 1 2 2v3a2 3 0 0 0 2 3a2 3 0 0 0-2 3v3a2 2 0 0 1-2 2\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1703},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 8h.01M12 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v6\"\u002F>\u003Cpath d=\"m3 16l5-5c.928-.893 2.072-.893 3 0l3 3m0 0l1-1c.48-.461 1.016-.684 1.551-.67m.45 6.67a2 2 0 1 0 4 0a2 2 0 1 0-4 0m2-3.5V17m0 4v1.5m3.031-5.25l-1.299.75m-3.463 2l-1.3.75m0-3.5l1.3.75m3.463 2l1.3.75\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1705},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1-4.069 0l-.301-.301l-6.558 6.558a2 2 0 0 1-1.239.578L5.172 21H4a1 1 0 0 1-.993-.883L3 20v-1.172a2 2 0 0 1 .467-1.284l.119-.13L4 17h2v-2h2v-2l2.144-2.144l-.301-.301a2.877 2.877 0 0 1 0-4.069l2.643-2.643a2.877 2.877 0 0 1 4.069 0M15 9h.01\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1707},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 10h14l-4-4m0 8H3l4 4\"\u002F>",1793429976014]