openvibers/openvibe.shared Commits
37 more glyphs for the Font Awesome names still in use, and the glyphs' own motion (4.63.0) (#215)
Changes
@@@ -6,6 +6,23 @@ A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).## Unreleased++## 4.63.0 — 2026-10-31++++- **37 more glyphs, for the Font Awesome names the network still used most** (plan L32 I4; openvibe.design/icons'++ "Still Font Awesome" list, counted 10-31):++ - restroom, shelter, hot-tub, umbrella, parking, skull, group, medical, shapes, headphones, drive, check-double, tv,++ toolbox, table, scale, road, money, heart-pulse, heading, fist, fast-forward, rewind, file-code, dice, contrast,++ briefcase, timeline, seedling, rocket, list-ordered, lifebuoy, infinity, inbox, door, card and storm, drawn in the++ mark's hand;++ - 75 more Font Awesome names map to glyphs (aliases include `info-circle`, `people-arrows`, `right-left`,++ `microphone-lines`, `folder-open` and `money-bill-*`).++ - 192 glyphs for 311 Font Awesome names. The fonts gain the new glyphs at U+E09C–U+E0C0; no code point moved.++- **The glyphs' own motion** (L32 I9):++ - `ovg-draw` draws a glyph's lines in once (`--ovg-draw-duration`, `--ovg-draw-delay`), the way the mark's tick does;++ - `ovg-once` plays any animation a single time (`fa-shake ovg-once`: a bell that rings once);++ - under reduced motion, a drawn-in glyph is simply there.++- `ov-glyphs.js` is 11.1 KB brotli and still loads after first paint.++## 4.62.0 — 2026-10-31- **Font Awesome's features, kept, on the glyphs** (plan L32 I6; the owner: "basically want to keep Font Awesome, so all@@@ -2,7 +2,7 @@> Versioned UI, the OpenVibe Frame (the navbar, footer and "shipped" views every site sits in), SEO, legal and release-client packages every OpenVibe site renders.--**Status:** alpha, v4.62.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed++**Status:** alpha, v4.63.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployedconsumer installs a tagged release and none keeps a vendored copy([docs/migration-plan.md](docs/migration-plan.md) is done); each repository's `package.json` namesthe tag it pins.@@@ -4,7 +4,7 @@"code": true,"wave": "W2","package": "openvibe-shared",-- "version": "4.62.0",++ "version": "4.63.0","plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)","deployed": false,"deployment": "none of its own: a package released as git tags; OpenVibe.Network serves /shared/* from its pinned tag, and a site can serve its own pinned copy (openvibe-shared/serve)",@@@ -155,6 +155,43 @@"wifi": "E098","wrench": "E099","x-circle": "E09A",-- "zap": "E09B"++ "zap": "E09B",++ "briefcase": "E09C",++ "card": "E09D",++ "check-double": "E09E",++ "contrast": "E09F",++ "dice": "E0A0",++ "door": "E0A1",++ "drive": "E0A2",++ "fast-forward": "E0A3",++ "file-code": "E0A4",++ "fist": "E0A5",++ "group": "E0A6",++ "heading": "E0A7",++ "headphones": "E0A8",++ "heart-pulse": "E0A9",++ "hot-tub": "E0AA",++ "inbox": "E0AB",++ "infinity": "E0AC",++ "lifebuoy": "E0AD",++ "list-ordered": "E0AE",++ "medical": "E0AF",++ "money": "E0B0",++ "parking": "E0B1",++ "restroom": "E0B2",++ "rewind": "E0B3",++ "road": "E0B4",++ "rocket": "E0B5",++ "scale": "E0B6",++ "seedling": "E0B7",++ "shapes": "E0B8",++ "shelter": "E0B9",++ "skull": "E0BA",++ "storm": "E0BB",++ "table": "E0BC",++ "timeline": "E0BD",++ "toolbox": "E0BE",++ "tv": "E0BF",++ "umbrella": "E0C0"}}@@@ -1,10 +1,10 @@{"family": "OV Glyphs",-- "glyphs": 155,-- "source_sha256": "fb052064fcb5279c7c291230e2e5389d164613d278969ad437f975b26ab40bdc",++ "glyphs": 192,++ "source_sha256": "66688f3cc922cc2ab13ffd7d11400308e8fde3891affed4055fa122eb66de4ac","files": {-- "ov-glyphs.woff2": 12320,-- "glyph-fonts/ov-glyphs.ttf": 28500,-- "glyph-fonts/ov-glyphs.otf": 35816++ "ov-glyphs.woff2": 15704,++ "glyph-fonts/ov-glyphs.ttf": 36352,++ "glyph-fonts/ov-glyphs.otf": 45740}}BBinary files a/glyph-fonts/ov-glyphs.otf and b/glyph-fonts/ov-glyphs.otf differBBinary files a/glyph-fonts/ov-glyphs.ttf and b/glyph-fonts/ov-glyphs.ttf differ@@@ -94,6 +94,44 @@drop: '<path d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z"/>',wifi: '<path d="M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01"/>',branch: '<circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9c0 5.5-6.5 4-11 8.5"/>',++ // 4.63.0: the Font Awesome names the network still used most (openvibe.design/icons' "Still Font Awesome", 10-31).++ restroom: '<circle cx="7" cy="4.8" r="1.8"/><circle cx="17" cy="4.8" r="1.8"/><path d="M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4"/>',++ shelter: '<path d="M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12"/><circle cx="12" cy="11" r="1.8"/><path d="M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21"/>',++ 'hot-tub': '<circle cx="8" cy="5.5" r="1.8"/><path d="M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3"/>',++ umbrella: '<path d="M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01"/>',++ parking: '<rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5"/>',++ skull: '<path d="M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z"/><circle cx="9.5" cy="10.5" r="1.4"/><circle cx="14.5" cy="10.5" r="1.4"/><path d="M10.5 18v3M13.5 18v3"/>',++ group: '<path d="M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4"/><rect x="7" y="7" width="6" height="5" rx="1"/><rect x="11" y="12" width="6" height="5" rx="1"/>',++ medical: '<rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6"/>',++ shapes: '<circle cx="7.5" cy="7.5" r="3.5"/><path d="m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z"/>',++ headphones: '<path d="M4 15v-3a8 8 0 0 1 16 0v3"/><rect x="3" y="14" width="4.5" height="6.5" rx="1.5"/><rect x="16.5" y="14" width="4.5" height="6.5" rx="1.5"/>',++ drive: '<rect x="3" y="13" width="18" height="7" rx="2"/><path d="M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01"/>',++ 'check-double': '<path d="m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8"/>',++ tv: '<rect x="2.5" y="7" width="19" height="13" rx="2"/><path d="m8 3 4 4 4-4"/>',++ toolbox: '<rect x="3" y="8" width="18" height="12" rx="2"/><path d="M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3"/>',++ table: '<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20"/>',++ scale: '<path d="M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0"/>',++ road: '<path d="M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20"/>',++ money: '<rect x="2.5" y="6" width="19" height="12" rx="2"/><circle cx="12" cy="12" r="2.5"/><path d="M6 9.5v.01M18 14.5v.01"/>',++ 'heart-pulse': '<path d="M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5"/><path d="M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5"/>',++ heading: '<path d="M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4"/>',++ fist: '<path d="M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9"/>',++ 'fast-forward': '<path d="M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z"/>',++ rewind: '<path d="M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z"/>',++ 'file-code': '<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z"/><path d="M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2"/>',++ dice: '<rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01" stroke-width="2.6"/>',++ contrast: '<circle cx="12" cy="12" r="9"/><path d="M12 3v18M12 7.5h7M12 12h9M12 16.5h7"/>',++ briefcase: '<rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z"/>',++ timeline: '<path d="M3 12h1M8 12h2M14 12h2M20 12h1"/><circle cx="6" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="18" cy="12" r="2"/><path d="M6 10V5.5M12 14v4.5M18 10V5.5"/>',++ seedling: '<path d="M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z"/>',++ rocket: '<path d="M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z"/><circle cx="15.5" cy="8.5" r="1.5"/>',++ 'list-ordered': '<path d="M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2"/>',++ lifebuoy: '<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/><path d="m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6"/>',++ infinity: '<path d="M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z"/>',++ inbox: '<path d="M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5"/>',++ door: '<path d="M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01"/>',++ card: '<rect x="2.5" y="5" width="19" height="14" rx="2"/><path d="M2.5 10h19M6 15h4"/>',++ storm: '<path d="M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5"/><path d="m13 13-2.5 4h3L11 21"/>',// A spinner is never drawn as one (the owner, 2026-10-31: nothing spins): three dots that take turns (ov-glyphs.js).busy: '<path d="M6 12h.01M12 12h.01M18 12h.01" stroke-width="3.4"/>',};@@@ -137,6 +175,20 @@'face-smile': 'smile', 'box-archive': 'archive', ticket: 'ticket', thumbtack: 'tack', store: 'store', keyboard: 'keyboard', gavel: 'gavel', droplet: 'drop',flag: 'flag', calendar: 'calendar', 'calendar-days': 'calendar', phone: 'phone', 'mobile-screen': 'phone', 'hand': 'hand', 'hand-pointer': 'hand', grid: 'grid','table-cells': 'grid', 'chart-simple': 'chart', 'chart-bar': 'chart', 'filter': 'filter', 'ellipsis': 'more', 'ellipsis-vertical': 'more', 'share-nodes': 'nodes',++ // 4.63.0++ restroom: 'restroom', 'person-shelter': 'shelter', 'hot-tub-person': 'hot-tub', 'hot-tub': 'hot-tub', umbrella: 'umbrella', 'umbrella-beach': 'umbrella',++ 'square-parking': 'parking', parking: 'parking', 'skull-crossbones': 'skull', skull: 'skull', 'object-group': 'group', 'kit-medical': 'medical',++ 'briefcase-medical': 'medical', 'suitcase-medical': 'medical', 'info-circle': 'info', icons: 'shapes', shapes: 'shapes', headphones: 'headphones',++ 'headphones-simple': 'headphones', headset: 'headphones', 'hard-drive': 'drive', hdd: 'drive', 'check-double': 'check-double', tv: 'tv',++ television: 'tv', toolbox: 'toolbox', table: 'table', 'table-list': 'table', 'scale-balanced': 'scale', 'balance-scale': 'scale',++ road: 'road', 'people-arrows': 'members', 'money-bill': 'money', 'money-bill-1': 'money', 'money-bill-wave': 'money', 'money-bill-transfer': 'money',++ 'money-check': 'money', 'heart-pulse': 'heart-pulse', heartbeat: 'heart-pulse', heading: 'heading', 'hand-fist': 'fist', 'fist-raised': 'fist',++ forward: 'fast-forward', 'forward-fast': 'fast-forward', backward: 'rewind', 'backward-fast': 'rewind', 'file-code': 'file-code', dice: 'dice',++ 'dice-five': 'dice', 'dice-six': 'dice', 'circle-half-stroke': 'contrast', adjust: 'contrast', briefcase: 'briefcase', suitcase: 'briefcase',++ timeline: 'timeline', seedling: 'seedling', rocket: 'rocket', 'right-left': 'swap', 'arrow-right-arrow-left': 'swap', 'exchange-alt': 'swap',++ 'person-hiking': 'mountain', hiking: 'mountain', 'microphone-lines': 'mic', 'list-ol': 'list-ordered', 'life-ring': 'lifebuoy', infinity: 'infinity',++ inbox: 'inbox', 'folder-open': 'folder', 'faucet-drip': 'drop', faucet: 'drop', 'face-grin-stars': 'smile', 'door-open': 'door',++ 'door-closed': 'door', 'credit-card': 'card', 'cloud-bolt': 'storm',});const path = (name) => (Object.prototype.hasOwnProperty.call(ALL, name) ? ALL[name] : '');@@@ -475,7 +475,7 @@const NAV_ICONS_REV = '2a303c60dc83'; // sha256(nav-icons.js), first 12 hex: its ?v= (cacheable forever)// END generated// The files loaded from beside this one, by content (scripts/sibling-revs.js): a release changes their URLs.-- const SIBLING_REV = { 'ov-mark.js': 'd53438811552', 'ov-glyphs.js': 'ba57d6e1f417', 'ov-brand.woff2': '3b4e6a8a5878' };++ const SIBLING_REV = { 'ov-mark.js': 'd53438811552', 'ov-glyphs.js': '2b97058350a5', 'ov-brand.woff2': '3b4e6a8a5878' };// The navbar's icons are filled paths (no Font Awesome CSS needed): the ones above ship here, the rest// (nav-icons.js) load after first paint when a link, chip or menu row names one, into an empty <svg> of their// size. Anything unknown, or nav-icons.js failing, falls back to <i class="fa-solid">.@@@ -21,11 +21,14 @@.fa-code-branch::before{content:"\e00d"}.fa-code-fork::before{content:"\e00d"}.fa-bridge::before{content:"\e00e"}++.fa-briefcase::before{content:"\e09c"}++.fa-suitcase::before{content:"\e09c"}.fa-circle-notch::before{content:"\e00f"}.fa-spinner::before{content:"\e00f"}.fa-calendar::before{content:"\e010"}.fa-calendar-days::before{content:"\e010"}.fa-camera::before{content:"\e011"}++.fa-credit-card::before{content:"\e09d"}.fa-hand-holding-heart::before{content:"\e012"}.fa-cart::before{content:"\e013"}.fa-cart-shopping::before{content:"\e013"}@@@ -39,6 +42,7 @@.fa-check::before{content:"\e016"}.fa-check-circle::before{content:"\e017"}.fa-circle-check::before{content:"\e017"}++.fa-check-double::before{content:"\e09e"}.fa-angle-right::before{content:"\e018"}.fa-chevron-right::before{content:"\e018"}.fa-microchip::before{content:"\e019"}@@@ -62,31 +66,48 @@.fa-desktop::before{content:"\e023"}.fa-display::before{content:"\e023"}.fa-laptop::before{content:"\e023"}++.fa-adjust::before{content:"\e09f"}++.fa-circle-half-stroke::before{content:"\e09f"}.fa-copy::before{content:"\e024"}.fa-crown::before{content:"\e025"}.fa-database::before{content:"\e026"}++.fa-dice::before{content:"\e0a0"}++.fa-dice-five::before{content:"\e0a0"}++.fa-dice-six::before{content:"\e0a0"}.fa-satellite-dish::before{content:"\e027"}.fa-dollar-sign::before{content:"\e028"}++.fa-door-closed::before{content:"\e0a1"}++.fa-door-open::before{content:"\e0a1"}.fa-angle-down::before{content:"\e029"}.fa-chevron-down::before{content:"\e029"}.fa-download::before{content:"\e02a"}++.fa-hard-drive::before{content:"\e0a2"}++.fa-hdd::before{content:"\e0a2"}.fa-droplet::before{content:"\e02b"}++.fa-faucet::before{content:"\e02b"}++.fa-faucet-drip::before{content:"\e02b"}.fa-arrow-right-to-bracket::before{content:"\e02c"}.fa-right-to-bracket::before{content:"\e02c"}.fa-expand::before{content:"\e02d"}.fa-up-right-and-down-left-from-center::before{content:"\e02d"}.fa-eye::before{content:"\e02e"}.fa-eye-slash::before{content:"\e02f"}++.fa-forward::before{content:"\e0a3"}++.fa-forward-fast::before{content:"\e0a3"}.fa-file::before{content:"\e030"}.fa-file-audio::before{content:"\e030"}.fa-file-lines::before{content:"\e030"}.fa-file-pdf::before{content:"\e030"}++.fa-file-code::before{content:"\e0a4"}.fa-film::before{content:"\e031"}.fa-photo-film::before{content:"\e031"}.fa-filter::before{content:"\e032"}.fa-fire::before{content:"\e033"}++.fa-fist-raised::before{content:"\e0a5"}++.fa-hand-fist::before{content:"\e0a5"}.fa-flag::before{content:"\e034"}.fa-folder::before{content:"\e035"}++.fa-folder-open::before{content:"\e035"}.fa-utensils::before{content:"\e036"}.fa-gamepad::before{content:"\e038"}.fa-gauge::before{content:"\e039"}@@@ -100,21 +121,33 @@.fa-globe::before{content:"\e03d"}.fa-grid::before{content:"\e03e"}.fa-table-cells::before{content:"\e03e"}++.fa-object-group::before{content:"\e0a6"}.fa-hand::before{content:"\e03f"}.fa-hand-pointer::before{content:"\e03f"}.fa-hashtag::before{content:"\e040"}++.fa-heading::before{content:"\e0a7"}++.fa-headphones::before{content:"\e0a8"}++.fa-headphones-simple::before{content:"\e0a8"}++.fa-headset::before{content:"\e0a8"}.fa-heart::before{content:"\e041"}++.fa-heart-pulse::before{content:"\e0a9"}++.fa-heartbeat::before{content:"\e0a9"}.fa-circle-question::before{content:"\e042"}.fa-question::before{content:"\e042"}.fa-clock-rotate-left::before{content:"\e043"}.fa-house::before{content:"\e044"}.fa-house-chimney::before{content:"\e044"}++.fa-hot-tub::before{content:"\e0aa"}++.fa-hot-tub-person::before{content:"\e0aa"}.fa-id-card::before{content:"\e045"}.fa-lightbulb::before{content:"\e046"}.fa-file-image::before{content:"\e047"}.fa-image::before{content:"\e047"}.fa-images::before{content:"\e047"}++.fa-inbox::before{content:"\e0ab"}++.fa-infinity::before{content:"\e0ac"}.fa-circle-info::before{content:"\e048"}++.fa-info-circle::before{content:"\e048"}.fa-user-plus::before{content:"\e049"}.fa-key::before{content:"\e04a"}.fa-keyboard::before{content:"\e04b"}@@@ -123,9 +156,11 @@.fa-leaf::before{content:"\e04e"}.fa-arrow-right-from-bracket::before{content:"\e04f"}.fa-right-from-bracket::before{content:"\e04f"}++.fa-life-ring::before{content:"\e0ad"}.fa-link::before{content:"\e050"}.fa-list::before{content:"\e051"}.fa-list-ul::before{content:"\e051"}++.fa-list-ol::before{content:"\e0ae"}.fa-broadcast-tower::before{content:"\e052"}.fa-tower-broadcast::before{content:"\e052"}.fa-tower-cell::before{content:"\e052"}@@@ -133,18 +168,30 @@.fa-unlock::before{content:"\e053"}.fa-envelope::before{content:"\e054"}.fa-map::before{content:"\e055"}++.fa-briefcase-medical::before{content:"\e0af"}++.fa-kit-medical::before{content:"\e0af"}++.fa-suitcase-medical::before{content:"\e0af"}++.fa-people-arrows::before{content:"\e056"}.fa-people-group::before{content:"\e056"}.fa-user-group::before{content:"\e056"}.fa-users::before{content:"\e056"}.fa-bars::before{content:"\e057"}.fa-microphone::before{content:"\e058"}++.fa-microphone-lines::before{content:"\e058"}.fa-microphone-slash::before{content:"\e059"}.fa-minus::before{content:"\e05a"}++.fa-money-bill::before{content:"\e0b0"}++.fa-money-bill-1::before{content:"\e0b0"}++.fa-money-bill-transfer::before{content:"\e0b0"}++.fa-money-bill-wave::before{content:"\e0b0"}++.fa-money-check::before{content:"\e0b0"}.fa-moon::before{content:"\e05b"}.fa-ellipsis::before{content:"\e05c"}.fa-ellipsis-vertical::before{content:"\e05c"}++.fa-hiking::before{content:"\e05d"}.fa-mountain::before{content:"\e05d"}.fa-mountain-sun::before{content:"\e05d"}++.fa-person-hiking::before{content:"\e05d"}.fa-music::before{content:"\e05e"}.fa-volume-off::before{content:"\e05f"}.fa-volume-xmark::before{content:"\e05f"}@@@ -158,6 +205,8 @@.fa-external-link::before{content:"\e062"}.fa-up-right-from-square::before{content:"\e062"}.fa-palette::before{content:"\e063"}++.fa-parking::before{content:"\e0b1"}++.fa-square-parking::before{content:"\e0b1"}.fa-pause::before{content:"\e064"}.fa-pen::before{content:"\e065"}.fa-pen-nib::before{content:"\e065"}@@@ -174,25 +223,39 @@.fa-plug::before{content:"\e06a"}.fa-plus::before{content:"\e06b"}.fa-reply::before{content:"\e06c"}++.fa-restroom::before{content:"\e0b2"}.fa-arrow-rotate-right::before{content:"\e06d"}.fa-arrows-rotate::before{content:"\e06d"}.fa-rotate::before{content:"\e06d"}.fa-rotate-left::before{content:"\e06d"}.fa-rotate-right::before{content:"\e06d"}++.fa-backward::before{content:"\e0b3"}++.fa-backward-fast::before{content:"\e0b3"}++.fa-road::before{content:"\e0b4"}.fa-robot::before{content:"\e06e"}++.fa-rocket::before{content:"\e0b5"}.fa-route::before{content:"\e06f"}.fa-floppy-disk::before{content:"\e070"}++.fa-balance-scale::before{content:"\e0b6"}++.fa-scale-balanced::before{content:"\e0b6"}.fa-cut::before{content:"\e071"}.fa-scissors::before{content:"\e071"}.fa-magnifying-glass::before{content:"\e072"}.fa-search::before{content:"\e072"}++.fa-seedling::before{content:"\e0b7"}.fa-server::before{content:"\e074"}++.fa-icons::before{content:"\e0b8"}++.fa-shapes::before{content:"\e0b8"}++.fa-person-shelter::before{content:"\e0b9"}.fa-shield::before{content:"\e075"}.fa-shield-halved::before{content:"\e075"}.fa-user-shield::before{content:"\e075"}.fa-shirt::before{content:"\e076"}++.fa-skull::before{content:"\e0ba"}++.fa-skull-crossbones::before{content:"\e0ba"}.fa-sliders::before{content:"\e079"}.fa-sliders-h::before{content:"\e079"}++.fa-face-grin-stars::before{content:"\e07a"}.fa-face-smile::before{content:"\e07a"}.fa-snowflake::before{content:"\e07b"}.fa-sparkles::before{content:"\e07c"}@@@ -203,7 +266,13 @@.fa-list-check::before{content:"\e07e"}.fa-stop::before{content:"\e07f"}.fa-store::before{content:"\e080"}++.fa-cloud-bolt::before{content:"\e0bb"}.fa-sun::before{content:"\e081"}++.fa-arrow-right-arrow-left::before{content:"\e082"}++.fa-exchange-alt::before{content:"\e082"}++.fa-right-left::before{content:"\e082"}++.fa-table::before{content:"\e0bc"}++.fa-table-list::before{content:"\e0bc"}.fa-thumbtack::before{content:"\e083"}.fa-tag::before{content:"\e084"}.fa-tags::before{content:"\e084"}@@@ -213,11 +282,17 @@.fa-font::before{content:"\e089"}.fa-text-height::before{content:"\e089"}.fa-ticket::before{content:"\e08a"}++.fa-timeline::before{content:"\e0bd"}++.fa-toolbox::before{content:"\e0be"}.fa-train::before{content:"\e08b"}.fa-trash::before{content:"\e08c"}.fa-trash-can::before{content:"\e08c"}.fa-tree::before{content:"\e08d"}.fa-trophy::before{content:"\e08e"}++.fa-television::before{content:"\e0bf"}++.fa-tv::before{content:"\e0bf"}++.fa-umbrella::before{content:"\e0c0"}++.fa-umbrella-beach::before{content:"\e0c0"}.fa-chevron-up::before{content:"\e08f"}.fa-cloud-arrow-up::before{content:"\e090"}.fa-upload::before{content:"\e090"}@@@ -17,15 +17,18 @@.ovi-brain::before{content:"\e00c"}.ovi-branch::before{content:"\e00d"}.ovi-bridge::before{content:"\e00e"}++.ovi-briefcase::before{content:"\e09c"}.ovi-busy::before{content:"\e00f"}.ovi-calendar::before{content:"\e010"}.ovi-camera::before{content:"\e011"}++.ovi-card::before{content:"\e09d"}.ovi-care::before{content:"\e012"}.ovi-cart::before{content:"\e013"}.ovi-chart::before{content:"\e014"}.ovi-chat::before{content:"\e015"}.ovi-check::before{content:"\e016"}.ovi-check-circle::before{content:"\e017"}++.ovi-check-double::before{content:"\e09e"}.ovi-chevron::before{content:"\e018"}.ovi-chip::before{content:"\e019"}.ovi-circle::before{content:"\e01a"}@@@ -38,22 +41,29 @@.ovi-coin::before{content:"\e021"}.ovi-compress::before{content:"\e022"}.ovi-computer::before{content:"\e023"}++.ovi-contrast::before{content:"\e09f"}.ovi-copy::before{content:"\e024"}.ovi-crown::before{content:"\e025"}.ovi-database::before{content:"\e026"}++.ovi-dice::before{content:"\e0a0"}.ovi-dish::before{content:"\e027"}.ovi-dollar::before{content:"\e028"}++.ovi-door::before{content:"\e0a1"}.ovi-down::before{content:"\e029"}.ovi-download::before{content:"\e02a"}++.ovi-drive::before{content:"\e0a2"}.ovi-drop::before{content:"\e02b"}.ovi-enter::before{content:"\e02c"}.ovi-expand::before{content:"\e02d"}.ovi-eye::before{content:"\e02e"}.ovi-eye-off::before{content:"\e02f"}++.ovi-fast-forward::before{content:"\e0a3"}.ovi-file::before{content:"\e030"}++.ovi-file-code::before{content:"\e0a4"}.ovi-film::before{content:"\e031"}.ovi-filter::before{content:"\e032"}.ovi-fire::before{content:"\e033"}++.ovi-fist::before{content:"\e0a5"}.ovi-flag::before{content:"\e034"}.ovi-folder::before{content:"\e035"}.ovi-food::before{content:"\e036"}@@@ -65,15 +75,22 @@.ovi-gift::before{content:"\e03c"}.ovi-globe::before{content:"\e03d"}.ovi-grid::before{content:"\e03e"}++.ovi-group::before{content:"\e0a6"}.ovi-hand::before{content:"\e03f"}.ovi-hash::before{content:"\e040"}++.ovi-heading::before{content:"\e0a7"}++.ovi-headphones::before{content:"\e0a8"}.ovi-heart::before{content:"\e041"}++.ovi-heart-pulse::before{content:"\e0a9"}.ovi-help::before{content:"\e042"}.ovi-history::before{content:"\e043"}.ovi-home::before{content:"\e044"}++.ovi-hot-tub::before{content:"\e0aa"}.ovi-id::before{content:"\e045"}.ovi-idea::before{content:"\e046"}.ovi-image::before{content:"\e047"}++.ovi-inbox::before{content:"\e0ab"}++.ovi-infinity::before{content:"\e0ac"}.ovi-info::before{content:"\e048"}.ovi-invite::before{content:"\e049"}.ovi-key::before{content:"\e04a"}@@@ -82,17 +99,21 @@.ovi-layers::before{content:"\e04d"}.ovi-leaf::before{content:"\e04e"}.ovi-leave::before{content:"\e04f"}++.ovi-lifebuoy::before{content:"\e0ad"}.ovi-link::before{content:"\e050"}.ovi-list::before{content:"\e051"}++.ovi-list-ordered::before{content:"\e0ae"}.ovi-live::before{content:"\e052"}.ovi-lock::before{content:"\e053"}.ovi-mail::before{content:"\e054"}.ovi-map::before{content:"\e055"}++.ovi-medical::before{content:"\e0af"}.ovi-members::before{content:"\e056"}.ovi-menu::before{content:"\e057"}.ovi-mic::before{content:"\e058"}.ovi-mic-off::before{content:"\e059"}.ovi-minus::before{content:"\e05a"}++.ovi-money::before{content:"\e0b0"}.ovi-moon::before{content:"\e05b"}.ovi-more::before{content:"\e05c"}.ovi-mountain::before{content:"\e05d"}@@@ -102,6 +123,7 @@.ovi-nodes::before{content:"\e061"}.ovi-open::before{content:"\e062"}.ovi-palette::before{content:"\e063"}++.ovi-parking::before{content:"\e0b1"}.ovi-pause::before{content:"\e064"}.ovi-pencil::before{content:"\e065"}.ovi-phone::before{content:"\e066"}@@@ -111,18 +133,27 @@.ovi-plug::before{content:"\e06a"}.ovi-plus::before{content:"\e06b"}.ovi-reply::before{content:"\e06c"}++.ovi-restroom::before{content:"\e0b2"}.ovi-retry::before{content:"\e06d"}++.ovi-rewind::before{content:"\e0b3"}++.ovi-road::before{content:"\e0b4"}.ovi-robot::before{content:"\e06e"}++.ovi-rocket::before{content:"\e0b5"}.ovi-route::before{content:"\e06f"}.ovi-save::before{content:"\e070"}++.ovi-scale::before{content:"\e0b6"}.ovi-scissors::before{content:"\e071"}.ovi-search::before{content:"\e072"}++.ovi-seedling::before{content:"\e0b7"}.ovi-send::before{content:"\e073"}.ovi-server::before{content:"\e074"}++.ovi-shapes::before{content:"\e0b8"}++.ovi-shelter::before{content:"\e0b9"}.ovi-shield::before{content:"\e075"}.ovi-shirt::before{content:"\e076"}.ovi-shoe::before{content:"\e077"}.ovi-sidebar::before{content:"\e078"}++.ovi-skull::before{content:"\e0ba"}.ovi-sliders::before{content:"\e079"}.ovi-smile::before{content:"\e07a"}.ovi-snow::before{content:"\e07b"}@@@ -131,8 +162,10 @@.ovi-steps::before{content:"\e07e"}.ovi-stop::before{content:"\e07f"}.ovi-store::before{content:"\e080"}++.ovi-storm::before{content:"\e0bb"}.ovi-sun::before{content:"\e081"}.ovi-swap::before{content:"\e082"}++.ovi-table::before{content:"\e0bc"}.ovi-tack::before{content:"\e083"}.ovi-tag::before{content:"\e084"}.ovi-target::before{content:"\e085"}@@@ -141,10 +174,14 @@.ovi-terminal::before{content:"\e088"}.ovi-text::before{content:"\e089"}.ovi-ticket::before{content:"\e08a"}++.ovi-timeline::before{content:"\e0bd"}++.ovi-toolbox::before{content:"\e0be"}.ovi-train::before{content:"\e08b"}.ovi-trash::before{content:"\e08c"}.ovi-tree::before{content:"\e08d"}.ovi-trophy::before{content:"\e08e"}++.ovi-tv::before{content:"\e0bf"}++.ovi-umbrella::before{content:"\e0c0"}.ovi-up::before{content:"\e08f"}.ovi-upload::before{content:"\e090"}.ovi-user::before{content:"\e091"}@@@ -9,23 +9,24 @@* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the* animations (fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake; fa-spin breathes), fa-thin and fa-light* as thinner strokes, data-fa-transform (grow, shrink, up, down, left, right, rotate, flip-h, flip-v), and a title that-- * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured.++ * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured. The glyphs'++ * own motion: ovg-draw draws the lines in once, ovg-once plays an animation a single time (4.63.0).** <script src="/shared/ov-glyphs.js" defer></script> swaps what is in the page, then anything added later* OVGlyphs.swap(rootEl) swaps inside one element now* OVGlyphs.fromFa('fa-eye') → 'eye' the glyph a Font Awesome name maps to, or null*-- * 149 glyphs for 236 Font Awesome names (openvibe.design/icons shows them).++ * 187 glyphs for 311 Font Awesome names (openvibe.design/icons shows them).*/(function () {'use strict';if (typeof window === 'undefined' || window.OVGlyphs) return;-- const G = {"alert":"<path d=\"M12 4 2.8 19.5h18.4Z\"/><path d=\"M12 10v4M12 17h.01\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","archive":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9M10 13h4\"/>","arrow-down":"<path d=\"M12 4v16M6 14l6 6 6-6\"/>","arrow-left":"<path d=\"M20 12H4M10 6l-6 6 6 6\"/>","arrow-right":"<path d=\"M4 12h16M14 6l6 6-6 6\"/>","arrow-up":"<path d=\"M12 20V4M6 10l6-6 6 6\"/>","back":"<path d=\"M15 5l-7 7 7 7\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0\"/>","book":"<path d=\"M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z\"/><path d=\"M4 19V5\"/>","brain":"<path d=\"M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2\"/>","branch":"<circle cx=\"6\" cy=\"5\" r=\"2\"/><circle cx=\"6\" cy=\"19\" r=\"2\"/><circle cx=\"18\" cy=\"7\" r=\"2\"/><path d=\"M6 7v10M18 9c0 5.5-6.5 4-11 8.5\"/>","bridge":"<path d=\"M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8\"/>","busy":"<path d=\"M6 12h.01M12 12h.01M18 12h.01\" stroke-width=\"3.4\"/>","calendar":"<rect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10h16M9 3v4M15 3v4\"/>","camera":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/>","care":"<path d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/><path d=\"M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z\"/>","cart":"<path d=\"M3 4h2l2.4 11h11L21 7H6.2\"/><circle cx=\"9\" cy=\"19.5\" r=\"1.3\"/><circle cx=\"17\" cy=\"19.5\" r=\"1.3\"/>","chart":"<path d=\"M4 4v16h16\"/><path d=\"m7.5 14.5 3.5-4 3 2.5 5-6\"/>","chat":"<path d=\"M4 5h16v11H8l-4 4Z\"/>","check":"<path d=\"m5 12.5 4.5 4.5L19 7.5\"/>","check-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8 12.4 2.8 2.8L16 9.6\"/>","chevron":"<path d=\"m9 6 6 6-6 6\"/>","chip":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\"/><path d=\"M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3 21h18M5 21V9h5v12M10 21V4h6v17M16 21v-8h3.5v8M7.5 12h.01M7.5 15.5h.01M13 7.5h.01M13 11h.01M13 14.5h.01\"/>","clipboard":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 11h6M9 15h4\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M6 6l12 12M18 6 6 18\"/>","cloud":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/>","code":"<path d=\"m8 8-4 4 4 4M16 8l4 4-4 4M14 5l-4 14\"/>","coin":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11\"/>","compress":"<path d=\"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5\"/>","computer":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M8 20h8M12 16v4\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2\"/>","crown":"<path d=\"M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7\" ry=\"3\"/><path d=\"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3\"/>","dish":"<path d=\"M5 9.5A9.5 9.5 0 0 0 14.5 19Z\"/><path d=\"m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","dollar":"<path d=\"M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18\"/>","down":"<path d=\"m6 9 6 6 6-6\"/>","download":"<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/>","drop":"<path d=\"M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z\"/>","enter":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4\"/>","expand":"<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/>","eye":"<path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","eye-off":"<path d=\"M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/>","file":"<path d=\"M6 3h8l4 4v14H6Z\"/><path d=\"M14 3v4h4\"/>","film":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21\"/>","filter":"<path d=\"M4 6h16M7 12h10M10 18h4\"/>","fire":"<path d=\"M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z\"/>","flag":"<path d=\"M5 21V4M5 4h11l-2 4 2 4H5\"/>","folder":"<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>","food":"<path d=\"M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17\"/>","game":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"11\" rx=\"5\"/><path d=\"M7 11v3M5.5 12.5h3M15.5 12h.01M18 13.5h.01\"/>","gauge":"<path d=\"M4 18a8 8 0 1 1 16 0\"/><path d=\"m12 14.5 4-5.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"1.3\"/>","gavel":"<path d=\"m14 4.5 5.5 5.5M10.5 8l5.5 5.5M12.3 6.3l-6 6 5.4 5.4 6-6M3 21l6.3-6.3M14 21h7\"/>","gear":"<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z\"/>","gift":"<rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"1\"/><path d=\"M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9\"/>","globe":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18\"/>","grid":"<rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/>","hand":"<path d=\"M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heart":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/>","help":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01\"/>","history":"<path d=\"M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1\"/><path d=\"M12 8v4.2l3 1.8\"/>","home":"<path d=\"M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z\"/>","id":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><circle cx=\"9\" cy=\"11\" r=\"2\"/><path d=\"M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3\"/>","idea":"<path d=\"M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z\"/>","image":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><circle cx=\"9\" cy=\"10\" r=\"1.6\"/><path d=\"m21 16-5-5-8 8\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6\"/>","key":"<circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2\"/>","keyboard":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><path d=\"M6 10h.01M9 10h.01M12 10h.01M15 10h.01M18 10h.01M8 14h8\"/>","language":"<path d=\"M4 5h9M8.5 3v2M6 5c.5 3 2.5 6 6 7.5M11 5c-.6 3.4-2.8 6.8-6.5 8.5M12 21l4-9 4 9M13.4 18h5.2\"/>","layers":"<path d=\"m12 3.5 9 5-9 5-9-5Z\"/><path d=\"m3 13 9 5 9-5\"/>","leaf":"<path d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8\"/>","leave":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10\"/>","link":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>","list":"<path d=\"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>","mail":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 7 8 6 8-6\"/>","map":"<path d=\"M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z\"/><path d=\"M9 4v14M15 6v14\"/>","members":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2\"/>","menu":"<path d=\"M4 7h16M4 12h16M4 17h16\"/>","mic":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0M12 18v3\"/>","mic-off":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","minus":"<path d=\"M5 12h14\"/>","moon":"<path d=\"M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z\"/>","more":"<circle cx=\"5\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"19\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z\"/>","music":"<path d=\"M9 18V6l11-2v12\"/><circle cx=\"6.5\" cy=\"18\" r=\"2.5\"/><circle cx=\"17.5\" cy=\"16\" r=\"2.5\"/>","mute":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"m16 10 4 4M20 10l-4 4\"/>","news":"<path d=\"M4 5h13v14a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2Z\"/><path d=\"M17 9h3v10a2 2 0 0 1-2 2M7.5 9h6M7.5 12.5h6M7.5 16h3.5\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"2.2\"/><circle cx=\"5.5\" cy=\"18\" r=\"2.2\"/><circle cx=\"18.5\" cy=\"18\" r=\"2.2\"/><path d=\"M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6\"/>","open":"<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"/>","palette":"<path d=\"M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z\"/><circle cx=\"7.5\" cy=\"11\" r=\"1.2\"/><circle cx=\"10\" cy=\"7.3\" r=\"1.2\"/><circle cx=\"14.5\" cy=\"7.3\" r=\"1.2\"/>","pause":"<path d=\"M8 5v14M16 5v14\"/>","pencil":"<path d=\"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"/>","phone":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/>","pin":"<path d=\"M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.4\"/>","plane":"<path d=\"M20.5 3.5 3.5 10.5l6.8 3.2 3.2 6.8Z\"/><path d=\"m10.3 13.7 10.2-10.2\"/>","play":"<path d=\"M8 5v14l11-7Z\"/>","plug":"<path d=\"M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21\"/>","plus":"<path d=\"M12 5v14M5 12h14\"/>","reply":"<path d=\"M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1\"/>","retry":"<path d=\"M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5\"/>","robot":"<rect x=\"5\" y=\"8\" width=\"14\" height=\"11\" rx=\"3\"/><path d=\"M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2\"/>","route":"<circle cx=\"6\" cy=\"18\" r=\"2.4\"/><circle cx=\"18\" cy=\"6\" r=\"2.4\"/><path d=\"M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6\"/>","save":"<path d=\"M5 4h11l3 3v13H5Z\"/><path d=\"M8 4v5h7V4M8 20v-6h8v6\"/>","scissors":"<circle cx=\"6\" cy=\"7\" r=\"2.6\"/><circle cx=\"6\" cy=\"17\" r=\"2.6\"/><path d=\"M8.2 8.6 20 18M8.2 15.4 20 6\"/>","search":"<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m20 20-4.2-4.2\"/>","server":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"7\" rx=\"2\"/><rect x=\"4\" y=\"13\" width=\"16\" height=\"7\" rx=\"2\"/><path d=\"M8 7.5h.01M8 16.5h.01\"/>","shield":"<path d=\"M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z\"/>","shirt":"<path d=\"M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z\"/>","sliders":"<path d=\"M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"2.3\"/><circle cx=\"10\" cy=\"17\" r=\"2.3\"/>","smile":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01\"/>","snow":"<path d=\"M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5\"/>","spark":"<path d=\"M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8Z\"/>","star":"<path d=\"m12 4 2.4 5 5.4.6-4 3.7 1.1 5.4L12 16l-4.9 2.7 1.1-5.4-4-3.7 5.4-.6Z\"/>","steps":"<path d=\"M9 6h11M9 12h11M9 18h11\"/><path d=\"m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/>","tack":"<path d=\"M9 3h6l-1 5 3 3H7l3-3ZM12 11v10\"/>","tag":"<path d=\"M3 12V4h8l10 10-8 8Z\"/><circle cx=\"7.5\" cy=\"8.5\" r=\"1.3\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","tent":"<path d=\"M2.5 20h19M12 5 4 20M12 5l8 15M12 13.5 9 20M12 13.5l3 6.5\"/>","terminal":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 9 3 3-3 3M13 15h4\"/>","text":"<path d=\"M5.5 20 11 4h2l5.5 16M7.6 14h8.8\"/>","ticket":"<path d=\"M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z\"/><path d=\"M14 7v10\"/>","train":"<rect x=\"6\" y=\"3\" width=\"12\" height=\"13\" rx=\"3\"/><path d=\"M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3\"/>","tree":"<path d=\"M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4\"/>","trophy":"<path d=\"M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8\"/>","up":"<path d=\"m6 15 6-6 6 6\"/>","upload":"<path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/>","user-check":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 11l2 2 4-4\"/>","video":"<rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"/><path d=\"m16 10 5-3v10l-5-3\"/>","volume":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"M15.5 9.5a3.5 3.5 0 0 1 0 5M18 7a7 7 0 0 1 0 10\"/>","wallet":"<path d=\"M4 7.5A2.5 2.5 0 0 1 6.5 5H18v4M4 7.5V18a2 2 0 0 0 2 2h14V9H6.5A2.5 2.5 0 0 1 4 7.5Z\"/><path d=\"M16 14.5h.01\"/>","water":"<path d=\"M2.5 9c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2M2.5 15c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2\"/>","wave":"<path d=\"M2 16c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2\"/><path d=\"M5.5 11.5A7 7 0 0 1 18 8.6c-2.3-.5-4.2.4-4.8 2.4\"/>","wifi":"<path d=\"M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01\"/>","wrench":"<path d=\"M14.5 4a5 5 0 0 0-4.4 7L4 17.1V20h2.9l6.1-6.1a5 5 0 0 0 7-4.4l-3 1.1-2.4-2.4 1.1-3Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13 3 5 13h6l-1 8 8-10h-6Z\"/>"};-- const FA = {"angle-down":"down","angle-right":"chevron","arrow-down":"arrow-down","arrow-left":"arrow-left","arrow-right":"arrow-right","arrow-right-from-bracket":"leave","arrow-right-to-bracket":"enter","arrow-rotate-right":"retry","arrow-up":"arrow-up","arrow-up-right-from-square":"open","arrows-rotate":"retry","ban":"ban","bars":"menu","bell":"bell","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book","box-archive":"archive","brain":"brain","bridge":"bridge","broadcast-tower":"live","bullseye":"target","calendar":"calendar","calendar-days":"calendar","camera":"camera","campground":"tent","cart":"cart","cart-shopping":"cart","chart-bar":"chart","chart-line":"chart","chart-simple":"chart","check":"check","check-circle":"check-circle","chevron-down":"down","chevron-left":"back","chevron-right":"chevron","chevron-up":"up","circle":"circle","circle-check":"check-circle","circle-exclamation":"alert-circle","circle-info":"info","circle-nodes":"nodes","circle-notch":"busy","circle-play":"play","circle-question":"help","circle-xmark":"x-circle","city":"city","clipboard":"clipboard","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","cloud":"cloud","cloud-arrow-up":"upload","cloud-rain":"cloud","cloud-showers-heavy":"cloud","cloud-sun":"cloud","code":"code","code-branch":"branch","code-fork":"branch","coin":"coin","coins":"coin","comment":"chat","comment-dots":"chat","comments":"chat","compress":"compress","copy":"copy","crown":"crown","cut":"scissors","database":"database","desktop":"computer","diagram-project":"nodes","display":"computer","dollar-sign":"dollar","download":"download","droplet":"drop","earth-americas":"globe","earth-europe":"globe","ellipsis":"more","ellipsis-vertical":"more","envelope":"mail","expand":"expand","external-link":"open","eye":"eye","eye-slash":"eye-off","face-smile":"smile","file":"file","file-audio":"file","file-image":"image","file-lines":"file","file-pdf":"file","film":"film","filter":"filter","fire":"fire","flag":"flag","floppy-disk":"save","folder":"folder","font":"text","gamepad":"game","gauge":"gauge","gauge-high":"gauge","gavel":"gavel","gear":"gear","gears":"gear","gift":"gift","globe":"globe","grid":"grid","hand":"hand","hand-holding-dollar":"coin","hand-holding-heart":"care","hand-pointer":"hand","hashtag":"hash","heart":"heart","house":"home","house-chimney":"home","id-card":"id","image":"image","images":"image","key":"key","keyboard":"keyboard","language":"language","laptop":"computer","layer-group":"layers","leaf":"leaf","lightbulb":"idea","link":"link","list":"list","list-check":"steps","list-ul":"list","location-dot":"pin","location-pin":"pin","lock":"lock","magnifying-glass":"search","map":"map","map-pin":"pin","message":"chat","microchip":"chip","microphone":"mic","microphone-slash":"mic-off","minus":"minus","mobile-screen":"phone","moon":"moon","mountain":"mountain","mountain-sun":"mountain","music":"music","network-wired":"nodes","newspaper":"news","palette":"palette","paper-plane":"plane","paste":"clipboard","pause":"pause","pen":"pencil","pen-nib":"pencil","pen-to-square":"pencil","pencil":"pencil","people-group":"members","person-swimming":"water","phone":"phone","photo-film":"film","play":"play","plug":"plug","plus":"plus","question":"help","reply":"reply","right-from-bracket":"leave","right-to-bracket":"enter","robot":"robot","rotate":"retry","rotate-left":"retry","rotate-right":"retry","route":"route","satellite-dish":"dish","scissors":"scissors","screwdriver-wrench":"wrench","search":"search","server":"server","share-nodes":"nodes","shield":"shield","shield-halved":"shield","shirt":"shirt","signal":"wifi","sitemap":"nodes","sliders":"sliders","sliders-h":"sliders","snowflake":"snow","sparkles":"spark","spinner":"busy","star":"star","star-of-life":"spark","stop":"stop","store":"store","sun":"sun","table-cells":"grid","tag":"tag","tags":"tag","terminal":"terminal","text-height":"text","thumbtack":"tack","ticket":"ticket","times":"close","tower-broadcast":"live","tower-cell":"live","train":"train","trash":"trash","trash-can":"trash","tree":"tree","triangle-exclamation":"alert","trophy":"trophy","unlock":"lock","up-right-and-down-left-from-center":"expand","up-right-from-square":"open","upload":"upload","user":"user","user-astronaut":"user","user-check":"user-check","user-group":"members","user-plus":"invite","user-secret":"user","user-shield":"shield","users":"members","utensils":"food","video":"video","video-slash":"video","volume-high":"volume","volume-low":"volume","volume-off":"mute","volume-xmark":"mute","wallet":"wallet","wand-magic":"spark","wand-magic-sparkles":"spark","water":"water","wave-square":"wave","wifi":"wifi","wrench":"wrench","xmark":"close","xmark-circle":"x-circle"};++ const G = {"alert":"<path d=\"M12 4 2.8 19.5h18.4Z\"/><path d=\"M12 10v4M12 17h.01\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","archive":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9M10 13h4\"/>","arrow-down":"<path d=\"M12 4v16M6 14l6 6 6-6\"/>","arrow-left":"<path d=\"M20 12H4M10 6l-6 6 6 6\"/>","arrow-right":"<path d=\"M4 12h16M14 6l6 6-6 6\"/>","arrow-up":"<path d=\"M12 20V4M6 10l6-6 6 6\"/>","back":"<path d=\"M15 5l-7 7 7 7\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0\"/>","book":"<path d=\"M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z\"/><path d=\"M4 19V5\"/>","brain":"<path d=\"M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2\"/>","branch":"<circle cx=\"6\" cy=\"5\" r=\"2\"/><circle cx=\"6\" cy=\"19\" r=\"2\"/><circle cx=\"18\" cy=\"7\" r=\"2\"/><path d=\"M6 7v10M18 9c0 5.5-6.5 4-11 8.5\"/>","bridge":"<path d=\"M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8\"/>","briefcase":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z\"/>","busy":"<path d=\"M6 12h.01M12 12h.01M18 12h.01\" stroke-width=\"3.4\"/>","calendar":"<rect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10h16M9 3v4M15 3v4\"/>","camera":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/>","card":"<rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2\"/><path d=\"M2.5 10h19M6 15h4\"/>","care":"<path d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/><path d=\"M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z\"/>","cart":"<path d=\"M3 4h2l2.4 11h11L21 7H6.2\"/><circle cx=\"9\" cy=\"19.5\" r=\"1.3\"/><circle cx=\"17\" cy=\"19.5\" r=\"1.3\"/>","chart":"<path d=\"M4 4v16h16\"/><path d=\"m7.5 14.5 3.5-4 3 2.5 5-6\"/>","chat":"<path d=\"M4 5h16v11H8l-4 4Z\"/>","check":"<path d=\"m5 12.5 4.5 4.5L19 7.5\"/>","check-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8 12.4 2.8 2.8L16 9.6\"/>","check-double":"<path d=\"m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8\"/>","chevron":"<path d=\"m9 6 6 6-6 6\"/>","chip":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\"/><path d=\"M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3 21h18M5 21V9h5v12M10 21V4h6v17M16 21v-8h3.5v8M7.5 12h.01M7.5 15.5h.01M13 7.5h.01M13 11h.01M13 14.5h.01\"/>","clipboard":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 11h6M9 15h4\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M6 6l12 12M18 6 6 18\"/>","cloud":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/>","code":"<path d=\"m8 8-4 4 4 4M16 8l4 4-4 4M14 5l-4 14\"/>","coin":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11\"/>","compress":"<path d=\"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5\"/>","computer":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M8 20h8M12 16v4\"/>","contrast":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3v18M12 7.5h7M12 12h9M12 16.5h7\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2\"/>","crown":"<path d=\"M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7\" ry=\"3\"/><path d=\"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3\"/>","dice":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01\" stroke-width=\"2.6\"/>","dish":"<path d=\"M5 9.5A9.5 9.5 0 0 0 14.5 19Z\"/><path d=\"m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","dollar":"<path d=\"M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18\"/>","door":"<path d=\"M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01\"/>","down":"<path d=\"m6 9 6 6 6-6\"/>","download":"<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/>","drive":"<rect x=\"3\" y=\"13\" width=\"18\" height=\"7\" rx=\"2\"/><path d=\"M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01\"/>","drop":"<path d=\"M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z\"/>","enter":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4\"/>","expand":"<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/>","eye":"<path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","eye-off":"<path d=\"M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/>","fast-forward":"<path d=\"M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z\"/>","file":"<path d=\"M6 3h8l4 4v14H6Z\"/><path d=\"M14 3v4h4\"/>","file-code":"<path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z\"/><path d=\"M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2\"/>","film":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21\"/>","filter":"<path d=\"M4 6h16M7 12h10M10 18h4\"/>","fire":"<path d=\"M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z\"/>","fist":"<path d=\"M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9\"/>","flag":"<path d=\"M5 21V4M5 4h11l-2 4 2 4H5\"/>","folder":"<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>","food":"<path d=\"M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17\"/>","game":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"11\" rx=\"5\"/><path d=\"M7 11v3M5.5 12.5h3M15.5 12h.01M18 13.5h.01\"/>","gauge":"<path d=\"M4 18a8 8 0 1 1 16 0\"/><path d=\"m12 14.5 4-5.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"1.3\"/>","gavel":"<path d=\"m14 4.5 5.5 5.5M10.5 8l5.5 5.5M12.3 6.3l-6 6 5.4 5.4 6-6M3 21l6.3-6.3M14 21h7\"/>","gear":"<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z\"/>","gift":"<rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"1\"/><path d=\"M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9\"/>","globe":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18\"/>","grid":"<rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/>","group":"<path d=\"M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4\"/><rect x=\"7\" y=\"7\" width=\"6\" height=\"5\" rx=\"1\"/><rect x=\"11\" y=\"12\" width=\"6\" height=\"5\" rx=\"1\"/>","hand":"<path d=\"M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heading":"<path d=\"M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4\"/>","headphones":"<path d=\"M4 15v-3a8 8 0 0 1 16 0v3\"/><rect x=\"3\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/><rect x=\"16.5\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/>","heart":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/>","heart-pulse":"<path d=\"M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5\"/><path d=\"M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5\"/>","help":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01\"/>","history":"<path d=\"M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1\"/><path d=\"M12 8v4.2l3 1.8\"/>","home":"<path d=\"M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8\" cy=\"5.5\" r=\"1.8\"/><path d=\"M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3\"/>","id":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><circle cx=\"9\" cy=\"11\" r=\"2\"/><path d=\"M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3\"/>","idea":"<path d=\"M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z\"/>","image":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><circle cx=\"9\" cy=\"10\" r=\"1.6\"/><path d=\"m21 16-5-5-8 8\"/>","inbox":"<path d=\"M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5\"/>","infinity":"<path d=\"M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6\"/>","key":"<circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2\"/>","keyboard":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><path d=\"M6 10h.01M9 10h.01M12 10h.01M15 10h.01M18 10h.01M8 14h8\"/>","language":"<path d=\"M4 5h9M8.5 3v2M6 5c.5 3 2.5 6 6 7.5M11 5c-.6 3.4-2.8 6.8-6.5 8.5M12 21l4-9 4 9M13.4 18h5.2\"/>","layers":"<path d=\"m12 3.5 9 5-9 5-9-5Z\"/><path d=\"m3 13 9 5 9-5\"/>","leaf":"<path d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8\"/>","leave":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10\"/>","lifebuoy":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6\"/>","link":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>","list":"<path d=\"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01\"/>","list-ordered":"<path d=\"M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>","mail":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 7 8 6 8-6\"/>","map":"<path d=\"M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z\"/><path d=\"M9 4v14M15 6v14\"/>","medical":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6\"/>","members":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2\"/>","menu":"<path d=\"M4 7h16M4 12h16M4 17h16\"/>","mic":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0M12 18v3\"/>","mic-off":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","minus":"<path d=\"M5 12h14\"/>","money":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M6 9.5v.01M18 14.5v.01\"/>","moon":"<path d=\"M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z\"/>","more":"<circle cx=\"5\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"19\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z\"/>","music":"<path d=\"M9 18V6l11-2v12\"/><circle cx=\"6.5\" cy=\"18\" r=\"2.5\"/><circle cx=\"17.5\" cy=\"16\" r=\"2.5\"/>","mute":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"m16 10 4 4M20 10l-4 4\"/>","news":"<path d=\"M4 5h13v14a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2Z\"/><path d=\"M17 9h3v10a2 2 0 0 1-2 2M7.5 9h6M7.5 12.5h6M7.5 16h3.5\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"2.2\"/><circle cx=\"5.5\" cy=\"18\" r=\"2.2\"/><circle cx=\"18.5\" cy=\"18\" r=\"2.2\"/><path d=\"M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6\"/>","open":"<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"/>","palette":"<path d=\"M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z\"/><circle cx=\"7.5\" cy=\"11\" r=\"1.2\"/><circle cx=\"10\" cy=\"7.3\" r=\"1.2\"/><circle cx=\"14.5\" cy=\"7.3\" r=\"1.2\"/>","parking":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5\"/>","pause":"<path d=\"M8 5v14M16 5v14\"/>","pencil":"<path d=\"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"/>","phone":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/>","pin":"<path d=\"M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.4\"/>","plane":"<path d=\"M20.5 3.5 3.5 10.5l6.8 3.2 3.2 6.8Z\"/><path d=\"m10.3 13.7 10.2-10.2\"/>","play":"<path d=\"M8 5v14l11-7Z\"/>","plug":"<path d=\"M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21\"/>","plus":"<path d=\"M12 5v14M5 12h14\"/>","reply":"<path d=\"M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1\"/>","restroom":"<circle cx=\"7\" cy=\"4.8\" r=\"1.8\"/><circle cx=\"17\" cy=\"4.8\" r=\"1.8\"/><path d=\"M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4\"/>","retry":"<path d=\"M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5\"/>","rewind":"<path d=\"M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z\"/>","road":"<path d=\"M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20\"/>","robot":"<rect x=\"5\" y=\"8\" width=\"14\" height=\"11\" rx=\"3\"/><path d=\"M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2\"/>","rocket":"<path d=\"M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z\"/><circle cx=\"15.5\" cy=\"8.5\" r=\"1.5\"/>","route":"<circle cx=\"6\" cy=\"18\" r=\"2.4\"/><circle cx=\"18\" cy=\"6\" r=\"2.4\"/><path d=\"M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6\"/>","save":"<path d=\"M5 4h11l3 3v13H5Z\"/><path d=\"M8 4v5h7V4M8 20v-6h8v6\"/>","scale":"<path d=\"M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0\"/>","scissors":"<circle cx=\"6\" cy=\"7\" r=\"2.6\"/><circle cx=\"6\" cy=\"17\" r=\"2.6\"/><path d=\"M8.2 8.6 20 18M8.2 15.4 20 6\"/>","search":"<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m20 20-4.2-4.2\"/>","seedling":"<path d=\"M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z\"/>","server":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"7\" rx=\"2\"/><rect x=\"4\" y=\"13\" width=\"16\" height=\"7\" rx=\"2\"/><path d=\"M8 7.5h.01M8 16.5h.01\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.5\" r=\"3.5\"/><path d=\"m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z\"/>","shelter":"<path d=\"M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12\"/><circle cx=\"12\" cy=\"11\" r=\"1.8\"/><path d=\"M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21\"/>","shield":"<path d=\"M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z\"/>","shirt":"<path d=\"M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z\"/>","skull":"<path d=\"M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.4\"/><circle cx=\"14.5\" cy=\"10.5\" r=\"1.4\"/><path d=\"M10.5 18v3M13.5 18v3\"/>","sliders":"<path d=\"M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"2.3\"/><circle cx=\"10\" cy=\"17\" r=\"2.3\"/>","smile":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01\"/>","snow":"<path d=\"M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5\"/>","spark":"<path d=\"M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8Z\"/>","star":"<path d=\"m12 4 2.4 5 5.4.6-4 3.7 1.1 5.4L12 16l-4.9 2.7 1.1-5.4-4-3.7 5.4-.6Z\"/>","steps":"<path d=\"M9 6h11M9 12h11M9 18h11\"/><path d=\"m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4\"/>","storm":"<path d=\"M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5\"/><path d=\"m13 13-2.5 4h3L11 21\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/>","swap":"<path d=\"M4 8h14l-3.5-3.5M20 16H6l3.5 3.5\"/>","table":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20\"/>","tack":"<path d=\"M9 3h6l-1 5 3 3H7l3-3ZM12 11v10\"/>","tag":"<path d=\"M3 12V4h8l10 10-8 8Z\"/><circle cx=\"7.5\" cy=\"8.5\" r=\"1.3\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","tent":"<path d=\"M2.5 20h19M12 5 4 20M12 5l8 15M12 13.5 9 20M12 13.5l3 6.5\"/>","terminal":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 9 3 3-3 3M13 15h4\"/>","text":"<path d=\"M5.5 20 11 4h2l5.5 16M7.6 14h8.8\"/>","ticket":"<path d=\"M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z\"/><path d=\"M14 7v10\"/>","timeline":"<path d=\"M3 12h1M8 12h2M14 12h2M20 12h1\"/><circle cx=\"6\" cy=\"12\" r=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"18\" cy=\"12\" r=\"2\"/><path d=\"M6 10V5.5M12 14v4.5M18 10V5.5\"/>","toolbox":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3\"/>","train":"<rect x=\"6\" y=\"3\" width=\"12\" height=\"13\" rx=\"3\"/><path d=\"M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3\"/>","tree":"<path d=\"M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4\"/>","trophy":"<path d=\"M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8\"/>","tv":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"13\" rx=\"2\"/><path d=\"m8 3 4 4 4-4\"/>","umbrella":"<path d=\"M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01\"/>","up":"<path d=\"m6 15 6-6 6 6\"/>","upload":"<path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/>","user-check":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 11l2 2 4-4\"/>","video":"<rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"/><path d=\"m16 10 5-3v10l-5-3\"/>","volume":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"M15.5 9.5a3.5 3.5 0 0 1 0 5M18 7a7 7 0 0 1 0 10\"/>","wallet":"<path d=\"M4 7.5A2.5 2.5 0 0 1 6.5 5H18v4M4 7.5V18a2 2 0 0 0 2 2h14V9H6.5A2.5 2.5 0 0 1 4 7.5Z\"/><path d=\"M16 14.5h.01\"/>","water":"<path d=\"M2.5 9c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2M2.5 15c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2\"/>","wave":"<path d=\"M2 16c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2\"/><path d=\"M5.5 11.5A7 7 0 0 1 18 8.6c-2.3-.5-4.2.4-4.8 2.4\"/>","wifi":"<path d=\"M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01\"/>","wrench":"<path d=\"M14.5 4a5 5 0 0 0-4.4 7L4 17.1V20h2.9l6.1-6.1a5 5 0 0 0 7-4.4l-3 1.1-2.4-2.4 1.1-3Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13 3 5 13h6l-1 8 8-10h-6Z\"/>"};++ const FA = {"adjust":"contrast","angle-down":"down","angle-right":"chevron","arrow-down":"arrow-down","arrow-left":"arrow-left","arrow-right":"arrow-right","arrow-right-arrow-left":"swap","arrow-right-from-bracket":"leave","arrow-right-to-bracket":"enter","arrow-rotate-right":"retry","arrow-up":"arrow-up","arrow-up-right-from-square":"open","arrows-rotate":"retry","backward":"rewind","backward-fast":"rewind","balance-scale":"scale","ban":"ban","bars":"menu","bell":"bell","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book","box-archive":"archive","brain":"brain","bridge":"bridge","briefcase":"briefcase","briefcase-medical":"medical","broadcast-tower":"live","bullseye":"target","calendar":"calendar","calendar-days":"calendar","camera":"camera","campground":"tent","cart":"cart","cart-shopping":"cart","chart-bar":"chart","chart-line":"chart","chart-simple":"chart","check":"check","check-circle":"check-circle","check-double":"check-double","chevron-down":"down","chevron-left":"back","chevron-right":"chevron","chevron-up":"up","circle":"circle","circle-check":"check-circle","circle-exclamation":"alert-circle","circle-half-stroke":"contrast","circle-info":"info","circle-nodes":"nodes","circle-notch":"busy","circle-play":"play","circle-question":"help","circle-xmark":"x-circle","city":"city","clipboard":"clipboard","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","cloud":"cloud","cloud-arrow-up":"upload","cloud-bolt":"storm","cloud-rain":"cloud","cloud-showers-heavy":"cloud","cloud-sun":"cloud","code":"code","code-branch":"branch","code-fork":"branch","coin":"coin","coins":"coin","comment":"chat","comment-dots":"chat","comments":"chat","compress":"compress","copy":"copy","credit-card":"card","crown":"crown","cut":"scissors","database":"database","desktop":"computer","diagram-project":"nodes","dice":"dice","dice-five":"dice","dice-six":"dice","display":"computer","dollar-sign":"dollar","door-closed":"door","door-open":"door","download":"download","droplet":"drop","earth-americas":"globe","earth-europe":"globe","ellipsis":"more","ellipsis-vertical":"more","envelope":"mail","exchange-alt":"swap","expand":"expand","external-link":"open","eye":"eye","eye-slash":"eye-off","face-grin-stars":"smile","face-smile":"smile","faucet":"drop","faucet-drip":"drop","file":"file","file-audio":"file","file-code":"file-code","file-image":"image","file-lines":"file","file-pdf":"file","film":"film","filter":"filter","fire":"fire","fist-raised":"fist","flag":"flag","floppy-disk":"save","folder":"folder","folder-open":"folder","font":"text","forward":"fast-forward","forward-fast":"fast-forward","gamepad":"game","gauge":"gauge","gauge-high":"gauge","gavel":"gavel","gear":"gear","gears":"gear","gift":"gift","globe":"globe","grid":"grid","hand":"hand","hand-fist":"fist","hand-holding-dollar":"coin","hand-holding-heart":"care","hand-pointer":"hand","hard-drive":"drive","hashtag":"hash","hdd":"drive","heading":"heading","headphones":"headphones","headphones-simple":"headphones","headset":"headphones","heart":"heart","heart-pulse":"heart-pulse","heartbeat":"heart-pulse","hiking":"mountain","hot-tub":"hot-tub","hot-tub-person":"hot-tub","house":"home","house-chimney":"home","icons":"shapes","id-card":"id","image":"image","images":"image","inbox":"inbox","infinity":"infinity","info-circle":"info","key":"key","keyboard":"keyboard","kit-medical":"medical","language":"language","laptop":"computer","layer-group":"layers","leaf":"leaf","life-ring":"lifebuoy","lightbulb":"idea","link":"link","list":"list","list-check":"steps","list-ol":"list-ordered","list-ul":"list","location-dot":"pin","location-pin":"pin","lock":"lock","magnifying-glass":"search","map":"map","map-pin":"pin","message":"chat","microchip":"chip","microphone":"mic","microphone-lines":"mic","microphone-slash":"mic-off","minus":"minus","mobile-screen":"phone","money-bill":"money","money-bill-1":"money","money-bill-transfer":"money","money-bill-wave":"money","money-check":"money","moon":"moon","mountain":"mountain","mountain-sun":"mountain","music":"music","network-wired":"nodes","newspaper":"news","object-group":"group","palette":"palette","paper-plane":"plane","parking":"parking","paste":"clipboard","pause":"pause","pen":"pencil","pen-nib":"pencil","pen-to-square":"pencil","pencil":"pencil","people-arrows":"members","people-group":"members","person-hiking":"mountain","person-shelter":"shelter","person-swimming":"water","phone":"phone","photo-film":"film","play":"play","plug":"plug","plus":"plus","question":"help","reply":"reply","restroom":"restroom","right-from-bracket":"leave","right-left":"swap","right-to-bracket":"enter","road":"road","robot":"robot","rocket":"rocket","rotate":"retry","rotate-left":"retry","rotate-right":"retry","route":"route","satellite-dish":"dish","scale-balanced":"scale","scissors":"scissors","screwdriver-wrench":"wrench","search":"search","seedling":"seedling","server":"server","shapes":"shapes","share-nodes":"nodes","shield":"shield","shield-halved":"shield","shirt":"shirt","signal":"wifi","sitemap":"nodes","skull":"skull","skull-crossbones":"skull","sliders":"sliders","sliders-h":"sliders","snowflake":"snow","sparkles":"spark","spinner":"busy","square-parking":"parking","star":"star","star-of-life":"spark","stop":"stop","store":"store","suitcase":"briefcase","suitcase-medical":"medical","sun":"sun","table":"table","table-cells":"grid","table-list":"table","tag":"tag","tags":"tag","television":"tv","terminal":"terminal","text-height":"text","thumbtack":"tack","ticket":"ticket","timeline":"timeline","times":"close","toolbox":"toolbox","tower-broadcast":"live","tower-cell":"live","train":"train","trash":"trash","trash-can":"trash","tree":"tree","triangle-exclamation":"alert","trophy":"trophy","tv":"tv","umbrella":"umbrella","umbrella-beach":"umbrella","unlock":"lock","up-right-and-down-left-from-center":"expand","up-right-from-square":"open","upload":"upload","user":"user","user-astronaut":"user","user-check":"user-check","user-group":"members","user-plus":"invite","user-secret":"user","user-shield":"shield","users":"members","utensils":"food","video":"video","video-slash":"video","volume-high":"volume","volume-low":"volume","volume-off":"mute","volume-xmark":"mute","wallet":"wallet","wand-magic":"spark","wand-magic-sparkles":"spark","water":"water","wave-square":"wave","wifi":"wifi","wrench":"wrench","xmark":"close","xmark-circle":"x-circle"};// Font Awesome's style, size, layout and animation classes: they say how, not what.const MOD = /^fa-(solid|regular|light|thin|duotone|sharp|sharp-duotone|classic|brands|fw|lg|xl|xs|sm|2xs|2xl|[0-9]+x|spin|spin-pulse|spin-reverse|pulse|beat|beat-fade|bounce|fade|flip|shake|border|inverse|li|ul|stack|stack-1x|stack-2x|layers|layers-text|layers-counter|pull-left|pull-right|rotate-[0-9]+|rotate-by|flip-horizontal|flip-vertical|flip-both|swap-opacity|width-auto|width-fixed)$/;const BUSY = '<circle cx="6" cy="12" r="1.8"/><circle cx="12" cy="12" r="1.8"/><circle cx="18" cy="12" r="1.8"/>';-- const CSS = ".ovg::before,.ovg::after{content:none!important;display:none!important}.ovg{display:inline-block;width:1.15em;height:1.15em;line-height:1;vertical-align:-.18em;font-family:inherit!important;font-style:normal!important}.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:var(--ovg-stroke,2);stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.fa-duotone>svg{stroke:var(--fa-primary-color,currentColor)}.ovg.fa-2xs{font-size:.625em}.ovg.fa-xs{font-size:.75em}.ovg.fa-sm{font-size:.875em}.ovg.fa-lg{font-size:1.25em}.ovg.fa-xl{font-size:1.5em}.ovg.fa-2xl{font-size:2em}.ovg.fa-1x{font-size:1em}.ovg.fa-2x{font-size:2em}.ovg.fa-3x{font-size:3em}.ovg.fa-4x{font-size:4em}.ovg.fa-5x{font-size:5em}.ovg.fa-6x{font-size:6em}.ovg.fa-7x{font-size:7em}.ovg.fa-8x{font-size:8em}.ovg.fa-9x{font-size:9em}.ovg.fa-10x{font-size:10em}.ovg.fa-fw{width:1.25em;text-align:center}.ovg.fa-border{box-sizing:content-box;border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);padding:var(--fa-border-padding,.2em .25em .15em)}.ovg.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.ovg.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.ovg.fa-rotate-90>svg{transform:rotate(90deg)}.ovg.fa-rotate-180>svg{transform:rotate(180deg)}.ovg.fa-rotate-270>svg{transform:rotate(270deg)}.ovg.fa-rotate-by>svg{transform:rotate(var(--fa-rotate-angle,0))}.ovg.fa-flip-horizontal>svg{transform:scale(-1,1)}.ovg.fa-flip-vertical>svg{transform:scale(1,-1)}.ovg.fa-flip-both>svg{transform:scale(-1,-1)}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{position:absolute;left:calc(var(--fa-li-width,2em)*-1);width:var(--fa-li-width,2em);text-align:center;line-height:inherit}.fa-stack{display:inline-block;position:relative;width:2.5em;height:2em;line-height:2em;vertical-align:middle}.fa-stack>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-stack>.ovg.fa-stack-2x{font-size:2em}.ovg.fa-inverse{color:var(--fa-inverse,#fff)}.fa-layers{display:inline-block;position:relative;width:1em;height:1em;text-align:center;vertical-align:-.125em}.fa-layers>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-layers-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-block}.fa-layers-counter{position:absolute;top:var(--fa-top,0);right:var(--fa-right,0);display:inline-block;box-sizing:border-box;min-width:var(--fa-counter-min-width,1.5em);max-width:var(--fa-counter-max-width,5em);padding:var(--fa-counter-padding,.25em .5em);border-radius:var(--fa-counter-border-radius,1em);background:var(--fa-counter-background-color,#ff253a);color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.ovg.fa-beat{animation:ovgBeat var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-bounce{animation:ovgBounce var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-fade{animation:ovgFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-beat-fade{animation:ovgBeatFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-flip{animation:ovgFlip var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-shake{animation:ovgShake var(--fa-animation-duration,1s) var(--fa-animation-timing,linear) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-spin,.ovg.fa-pulse,.ovg.fa-spin-pulse{animation:ovgBreathe var(--fa-animation-duration,1.6s) ease-in-out var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite)!important}.ovg[data-ovg=busy].fa-spin,.ovg[data-ovg=busy].fa-pulse,.ovg[data-ovg=busy].fa-spin-pulse{animation:none!important}@keyframes ovgBeat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes ovgBounce{0%{transform:scale(1,1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%,100%{transform:scale(1,1) translateY(0)}}@keyframes ovgFade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes ovgBeatFade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle{animation:none!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle{animation:none!important}";++ const CSS = ".ovg::before,.ovg::after{content:none!important;display:none!important}.ovg{display:inline-block;width:1.15em;height:1.15em;line-height:1;vertical-align:-.18em;font-family:inherit!important;font-style:normal!important}.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:var(--ovg-stroke,2);stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.fa-duotone>svg{stroke:var(--fa-primary-color,currentColor)}.ovg.fa-2xs{font-size:.625em}.ovg.fa-xs{font-size:.75em}.ovg.fa-sm{font-size:.875em}.ovg.fa-lg{font-size:1.25em}.ovg.fa-xl{font-size:1.5em}.ovg.fa-2xl{font-size:2em}.ovg.fa-1x{font-size:1em}.ovg.fa-2x{font-size:2em}.ovg.fa-3x{font-size:3em}.ovg.fa-4x{font-size:4em}.ovg.fa-5x{font-size:5em}.ovg.fa-6x{font-size:6em}.ovg.fa-7x{font-size:7em}.ovg.fa-8x{font-size:8em}.ovg.fa-9x{font-size:9em}.ovg.fa-10x{font-size:10em}.ovg.fa-fw{width:1.25em;text-align:center}.ovg.fa-border{box-sizing:content-box;border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);padding:var(--fa-border-padding,.2em .25em .15em)}.ovg.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.ovg.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.ovg.fa-rotate-90>svg{transform:rotate(90deg)}.ovg.fa-rotate-180>svg{transform:rotate(180deg)}.ovg.fa-rotate-270>svg{transform:rotate(270deg)}.ovg.fa-rotate-by>svg{transform:rotate(var(--fa-rotate-angle,0))}.ovg.fa-flip-horizontal>svg{transform:scale(-1,1)}.ovg.fa-flip-vertical>svg{transform:scale(1,-1)}.ovg.fa-flip-both>svg{transform:scale(-1,-1)}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{position:absolute;left:calc(var(--fa-li-width,2em)*-1);width:var(--fa-li-width,2em);text-align:center;line-height:inherit}.fa-stack{display:inline-block;position:relative;width:2.5em;height:2em;line-height:2em;vertical-align:middle}.fa-stack>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-stack>.ovg.fa-stack-2x{font-size:2em}.ovg.fa-inverse{color:var(--fa-inverse,#fff)}.fa-layers{display:inline-block;position:relative;width:1em;height:1em;text-align:center;vertical-align:-.125em}.fa-layers>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-layers-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-block}.fa-layers-counter{position:absolute;top:var(--fa-top,0);right:var(--fa-right,0);display:inline-block;box-sizing:border-box;min-width:var(--fa-counter-min-width,1.5em);max-width:var(--fa-counter-max-width,5em);padding:var(--fa-counter-padding,.25em .5em);border-radius:var(--fa-counter-border-radius,1em);background:var(--fa-counter-background-color,#ff253a);color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.ovg.fa-beat{animation:ovgBeat var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-bounce{animation:ovgBounce var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-fade{animation:ovgFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-beat-fade{animation:ovgBeatFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-flip{animation:ovgFlip var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-shake{animation:ovgShake var(--fa-animation-duration,1s) var(--fa-animation-timing,linear) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-spin,.ovg.fa-pulse,.ovg.fa-spin-pulse{animation:ovgBreathe var(--fa-animation-duration,1.6s) ease-in-out var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite)!important}.ovg[data-ovg=busy].fa-spin,.ovg[data-ovg=busy].fa-pulse,.ovg[data-ovg=busy].fa-spin-pulse{animation:none!important}@keyframes ovgBeat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes ovgBounce{0%{transform:scale(1,1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%,100%{transform:scale(1,1) translateY(0)}}@keyframes ovgFade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes ovgBeatFade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}.ovg.ovg-draw>svg>*{stroke-dasharray:1;stroke-dashoffset:1;animation:ovgDraw var(--ovg-draw-duration,.6s) cubic-bezier(.4,0,.2,1) var(--ovg-draw-delay,0s) forwards}.ovg.ovg-draw>svg>*:nth-child(2){animation-delay:calc(var(--ovg-draw-delay,0s) + .12s)}.ovg.ovg-draw>svg>*:nth-child(n+3){animation-delay:calc(var(--ovg-draw-delay,0s) + .24s)}@keyframes ovgDraw{to{stroke-dashoffset:0}}.ovg.ovg-once{--fa-animation-iteration-count:1}.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle,html[data-ov-motion=reduced] .ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}";const nameOf = (el) => { for (const c of el.classList) if (c.startsWith('fa-') && !MOD.test(c)) return c.slice(3); return null; };const fromFa = (fa) => { const n = String(fa || '').replace(/^fa-/, ''); return Object.prototype.hasOwnProperty.call(FA, n) ? FA[n] : null; };// data-fa-transform, in Font Awesome's units (a sixteenth of the icon).@@@ -60,6 +61,8 @@else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');const t = transformOf(tf);el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';++ // ovg-draw draws each line in: every shape measures 1 along its length.++ if (el.classList.contains('ovg-draw')) el.firstChild.childNodes.forEach((n) => { if (n.setAttribute) n.setAttribute('pathLength', '1'); });}const SEL = 'i[class*="fa-"],span[class*="fa-"]';function swap(root) {@@@ -14,15 +14,18 @@<symbol id="ovg-brain" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2"/></symbol><symbol id="ovg-branch" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9c0 5.5-6.5 4-11 8.5"/></symbol><symbol id="ovg-bridge" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8"/></symbol>++<symbol id="ovg-briefcase" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z"/></symbol><symbol id="ovg-busy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 12h.01M12 12h.01M18 12h.01" stroke-width="3.4"/></symbol><symbol id="ovg-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="5" width="16" height="15" rx="2"/><path d="M4 10h16M9 3v4M15 3v4"/></symbol><symbol id="ovg-camera" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z"/><circle cx="12" cy="13.3" r="3.4"/></symbol>++<symbol id="ovg-card" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="5" width="19" height="14" rx="2"/><path d="M2.5 10h19M6 15h4"/></symbol><symbol id="ovg-care" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3"/><path d="M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z"/></symbol><symbol id="ovg-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2l2.4 11h11L21 7H6.2"/><circle cx="9" cy="19.5" r="1.3"/><circle cx="17" cy="19.5" r="1.3"/></symbol><symbol id="ovg-chart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4v16h16"/><path d="m7.5 14.5 3.5-4 3 2.5 5-6"/></symbol><symbol id="ovg-chat" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16v11H8l-4 4Z"/></symbol><symbol id="ovg-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 12.5 4.5 4.5L19 7.5"/></symbol><symbol id="ovg-check-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m8 12.4 2.8 2.8L16 9.6"/></symbol>++<symbol id="ovg-check-double" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8"/></symbol><symbol id="ovg-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></symbol><symbol id="ovg-chip" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="7" width="10" height="10" rx="1.5"/><path d="M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4"/></symbol><symbol id="ovg-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/></symbol>@@@ -35,22 +38,29 @@<symbol id="ovg-coin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11"/></symbol><symbol id="ovg-compress" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5"/></symbol><symbol id="ovg-computer" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="12" rx="2"/><path d="M8 20h8M12 16v4"/></symbol>++<symbol id="ovg-contrast" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 3v18M12 7.5h7M12 12h9M12 16.5h7"/></symbol><symbol id="ovg-copy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"/></symbol><symbol id="ovg-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z"/></symbol><symbol id="ovg-database" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="6" rx="7" ry="3"/><path d="M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3"/></symbol>++<symbol id="ovg-dice" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01" stroke-width="2.6"/></symbol><symbol id="ovg-dish" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9.5A9.5 9.5 0 0 0 14.5 19Z"/><path d="m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5"/></symbol><symbol id="ovg-dollar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18"/></symbol>++<symbol id="ovg-door" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01"/></symbol><symbol id="ovg-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></symbol><symbol id="ovg-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v11M7 10l5 5 5-5M5 20h14"/></symbol>++<symbol id="ovg-drive" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="13" width="18" height="7" rx="2"/><path d="M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01"/></symbol><symbol id="ovg-drop" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z"/></symbol><symbol id="ovg-enter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4"/></symbol><symbol id="ovg-expand" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5"/></symbol><symbol id="ovg-eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z"/><circle cx="12" cy="12" r="3"/></symbol><symbol id="ovg-eye-off" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2"/><path d="M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16"/></symbol>++<symbol id="ovg-fast-forward" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z"/></symbol><symbol id="ovg-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 3h8l4 4v14H6Z"/><path d="M14 3v4h4"/></symbol>++<symbol id="ovg-file-code" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z"/><path d="M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2"/></symbol><symbol id="ovg-film" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21"/></symbol><symbol id="ovg-filter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M7 12h10M10 18h4"/></symbol><symbol id="ovg-fire" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z"/></symbol>++<symbol id="ovg-fist" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9"/></symbol><symbol id="ovg-flag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 21V4M5 4h11l-2 4 2 4H5"/></symbol><symbol id="ovg-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"/></symbol><symbol id="ovg-food" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17"/></symbol>@@@ -62,15 +72,22 @@<symbol id="ovg-gift" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="9" width="16" height="11" rx="1"/><path d="M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9"/></symbol><symbol id="ovg-globe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18"/></symbol><symbol id="ovg-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="7" height="7" rx="1.5"/><rect x="13" y="4" width="7" height="7" rx="1.5"/><rect x="4" y="13" width="7" height="7" rx="1.5"/><rect x="13" y="13" width="7" height="7" rx="1.5"/></symbol>++<symbol id="ovg-group" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4"/><rect x="7" y="7" width="6" height="5" rx="1"/><rect x="11" y="12" width="6" height="5" rx="1"/></symbol><symbol id="ovg-hand" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15"/></symbol><symbol id="ovg-hash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17"/></symbol>++<symbol id="ovg-heading" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4"/></symbol>++<symbol id="ovg-headphones" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 15v-3a8 8 0 0 1 16 0v3"/><rect x="3" y="14" width="4.5" height="6.5" rx="1.5"/><rect x="16.5" y="14" width="4.5" height="6.5" rx="1.5"/></symbol><symbol id="ovg-heart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z"/></symbol>++<symbol id="ovg-heart-pulse" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5"/><path d="M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5"/></symbol><symbol id="ovg-help" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01"/></symbol><symbol id="ovg-history" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1"/><path d="M12 8v4.2l3 1.8"/></symbol><symbol id="ovg-home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z"/></symbol>++<symbol id="ovg-hot-tub" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="5.5" r="1.8"/><path d="M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3"/></symbol><symbol id="ovg-id" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><circle cx="9" cy="11" r="2"/><path d="M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3"/></symbol><symbol id="ovg-idea" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z"/></symbol><symbol id="ovg-image" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="3"/><circle cx="9" cy="10" r="1.6"/><path d="m21 16-5-5-8 8"/></symbol>++<symbol id="ovg-inbox" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5"/></symbol>++<symbol id="ovg-infinity" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z"/></symbol><symbol id="ovg-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 11v5M12 8h.01"/></symbol><symbol id="ovg-invite" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><path d="M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6"/></symbol><symbol id="ovg-key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="15" r="4"/><path d="m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2"/></symbol>@@@ -79,17 +96,21 @@<symbol id="ovg-layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3.5 9 5-9 5-9-5Z"/><path d="m3 13 9 5 9-5"/></symbol><symbol id="ovg-leaf" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8"/></symbol><symbol id="ovg-leave" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10"/></symbol>++<symbol id="ovg-lifebuoy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/><path d="m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6"/></symbol><symbol id="ovg-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1"/></symbol><symbol id="ovg-list" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/></symbol>++<symbol id="ovg-list-ordered" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2"/></symbol><symbol id="ovg-live" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="2.5"/><path d="M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14"/></symbol><symbol id="ovg-lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></symbol><symbol id="ovg-mail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m4 7 8 6 8-6"/></symbol><symbol id="ovg-map" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z"/><path d="M9 4v14M15 6v14"/></symbol>++<symbol id="ovg-medical" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6"/></symbol><symbol id="ovg-members" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><path d="M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2"/></symbol><symbol id="ovg-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M4 12h16M4 17h16"/></symbol><symbol id="ovg-mic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="3" width="6" height="11" rx="3"/><path d="M5 11a7 7 0 0 0 14 0M12 18v3"/></symbol><symbol id="ovg-mic-off" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="3" width="6" height="11" rx="3"/><path d="M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16"/></symbol><symbol id="ovg-minus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/></symbol>++<symbol id="ovg-money" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="6" width="19" height="12" rx="2"/><circle cx="12" cy="12" r="2.5"/><path d="M6 9.5v.01M18 14.5v.01"/></symbol><symbol id="ovg-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z"/></symbol><symbol id="ovg-more" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="5" cy="12" r="1.6"/><circle cx="12" cy="12" r="1.6"/><circle cx="19" cy="12" r="1.6"/></symbol><symbol id="ovg-mountain" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z"/></symbol>@@@ -99,6 +120,7 @@<symbol id="ovg-nodes" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="2.2"/><circle cx="5.5" cy="18" r="2.2"/><circle cx="18.5" cy="18" r="2.2"/><path d="M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6"/></symbol><symbol id="ovg-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4"/></symbol><symbol id="ovg-palette" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z"/><circle cx="7.5" cy="11" r="1.2"/><circle cx="10" cy="7.3" r="1.2"/><circle cx="14.5" cy="7.3" r="1.2"/></symbol>++<symbol id="ovg-parking" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5"/></symbol><symbol id="ovg-pause" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 5v14M16 5v14"/></symbol><symbol id="ovg-pencil" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"/></symbol><symbol id="ovg-phone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></symbol>@@@ -108,18 +130,27 @@<symbol id="ovg-plug" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21"/></symbol><symbol id="ovg-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"/></symbol><symbol id="ovg-reply" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1"/></symbol>++<symbol id="ovg-restroom" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="7" cy="4.8" r="1.8"/><circle cx="17" cy="4.8" r="1.8"/><path d="M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4"/></symbol><symbol id="ovg-retry" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5"/></symbol>++<symbol id="ovg-rewind" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z"/></symbol>++<symbol id="ovg-road" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20"/></symbol><symbol id="ovg-robot" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="8" width="14" height="11" rx="3"/><path d="M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2"/></symbol>++<symbol id="ovg-rocket" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z"/><circle cx="15.5" cy="8.5" r="1.5"/></symbol><symbol id="ovg-route" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="18" r="2.4"/><circle cx="18" cy="6" r="2.4"/><path d="M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6"/></symbol><symbol id="ovg-save" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h11l3 3v13H5Z"/><path d="M8 4v5h7V4M8 20v-6h8v6"/></symbol>++<symbol id="ovg-scale" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0"/></symbol><symbol id="ovg-scissors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="7" r="2.6"/><circle cx="6" cy="17" r="2.6"/><path d="M8.2 8.6 20 18M8.2 15.4 20 6"/></symbol><symbol id="ovg-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="6.5"/><path d="m20 20-4.2-4.2"/></symbol>++<symbol id="ovg-seedling" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z"/></symbol><symbol id="ovg-send" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"/></symbol><symbol id="ovg-server" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="7" rx="2"/><rect x="4" y="13" width="16" height="7" rx="2"/><path d="M8 7.5h.01M8 16.5h.01"/></symbol>++<symbol id="ovg-shapes" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="7.5" cy="7.5" r="3.5"/><path d="m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z"/></symbol>++<symbol id="ovg-shelter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12"/><circle cx="12" cy="11" r="1.8"/><path d="M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21"/></symbol><symbol id="ovg-shield" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z"/></symbol><symbol id="ovg-shirt" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z"/></symbol><symbol id="ovg-shoe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 17v-5.5l4-.5 3-4 3.2 1.4-.9 2.6 4 2.2 4.7 1a2 2 0 0 1 1.5 1.9V17Z"/><path d="M2.5 20h19"/></symbol><symbol id="ovg-sidebar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="4.5" width="17" height="15" rx="2.5"/><path d="M9.5 4.5v15"/></symbol>++<symbol id="ovg-skull" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z"/><circle cx="9.5" cy="10.5" r="1.4"/><circle cx="14.5" cy="10.5" r="1.4"/><path d="M10.5 18v3M13.5 18v3"/></symbol><symbol id="ovg-sliders" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20"/><circle cx="16" cy="7" r="2.3"/><circle cx="10" cy="17" r="2.3"/></symbol><symbol id="ovg-smile" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01"/></symbol><symbol id="ovg-snow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5"/></symbol>@@@ -128,8 +159,10 @@<symbol id="ovg-steps" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6h11M9 12h11M9 18h11"/><path d="m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17"/></symbol><symbol id="ovg-stop" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m8.5 8.5 7 7"/></symbol><symbol id="ovg-store" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4"/></symbol>++<symbol id="ovg-storm" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5"/><path d="m13 13-2.5 4h3L11 21"/></symbol><symbol id="ovg-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></symbol><symbol id="ovg-swap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8h14l-3.5-3.5M20 16H6l3.5 3.5"/></symbol>++<symbol id="ovg-table" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20"/></symbol><symbol id="ovg-tack" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3h6l-1 5 3 3H7l3-3ZM12 11v10"/></symbol><symbol id="ovg-tag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12V4h8l10 10-8 8Z"/><circle cx="7.5" cy="8.5" r="1.3"/></symbol><symbol id="ovg-target" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.5"/></symbol>@@@ -138,10 +171,14 @@<symbol id="ovg-terminal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="m7 9 3 3-3 3M13 15h4"/></symbol><symbol id="ovg-text" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5.5 20 11 4h2l5.5 16M7.6 14h8.8"/></symbol><symbol id="ovg-ticket" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z"/><path d="M14 7v10"/></symbol>++<symbol id="ovg-timeline" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h1M8 12h2M14 12h2M20 12h1"/><circle cx="6" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="18" cy="12" r="2"/><path d="M6 10V5.5M12 14v4.5M18 10V5.5"/></symbol>++<symbol id="ovg-toolbox" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="8" width="18" height="12" rx="2"/><path d="M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3"/></symbol><symbol id="ovg-train" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="3" width="12" height="13" rx="3"/><path d="M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5"/></symbol><symbol id="ovg-trash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3"/></symbol><symbol id="ovg-tree" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4"/></symbol><symbol id="ovg-trophy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8"/></symbol>++<symbol id="ovg-tv" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="7" width="19" height="13" rx="2"/><path d="m8 3 4 4 4-4"/></symbol>++<symbol id="ovg-umbrella" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01"/></symbol><symbol id="ovg-up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 15 6-6 6 6"/></symbol><symbol id="ovg-upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20V9M7 14l5-5 5 5M5 4h14"/></symbol><symbol id="ovg-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="3.5"/><path d="M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6"/></symbol>BBinary files a/ov-glyphs.woff2 and b/ov-glyphs.woff2 differ@@@ -1,6 +1,6 @@{"name": "openvibe-shared",-- "version": "4.62.0",++ "version": "4.63.0","description": "Shared navbar, footer, themes, icons, legal pages, SEO, auth and analytics for every OpenVibe site","main": "index.js","bin": {@@@ -53,12 +53,18 @@ const CSS = ['@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}','@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}','@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}',++ // The glyphs' own motion (4.63.0, L32 I9): ovg-draw draws the lines in once, the way the mark's tick does; ovg-once++ // plays any animation above a single time (a bell that rings once: fa-shake ovg-once).++ '.ovg.ovg-draw>svg>*{stroke-dasharray:1;stroke-dashoffset:1;animation:ovgDraw var(--ovg-draw-duration,.6s) cubic-bezier(.4,0,.2,1) var(--ovg-draw-delay,0s) forwards}',++ '.ovg.ovg-draw>svg>*:nth-child(2){animation-delay:calc(var(--ovg-draw-delay,0s) + .12s)}.ovg.ovg-draw>svg>*:nth-child(n+3){animation-delay:calc(var(--ovg-draw-delay,0s) + .24s)}',++ '@keyframes ovgDraw{to{stroke-dashoffset:0}}',++ '.ovg.ovg-once{--fa-animation-iteration-count:1}',// The busy dots take turns.'.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}','.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}','@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}',// Reduced motion: nothing moves.-- '@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle{animation:none!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle{animation:none!important}',++ '@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle,html[data-ov-motion=reduced] .ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}',].join('');const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those, then run it. */@@@ -72,7 +78,8 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the* animations (fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake; fa-spin breathes), fa-thin and fa-light* as thinner strokes, data-fa-transform (grow, shrink, up, down, left, right, rotate, flip-h, flip-v), and a title that-- * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured.++ * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured. The glyphs'++ * own motion: ovg-draw draws the lines in once, ovg-once plays an animation a single time (4.63.0).** <script src="/shared/ov-glyphs.js" defer></script> swaps what is in the page, then anything added later* OVGlyphs.swap(rootEl) swaps inside one element now@@@ -123,6 +130,8 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');const t = transformOf(tf);el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';++ // ovg-draw draws each line in: every shape measures 1 along its length.++ if (el.classList.contains('ovg-draw')) el.firstChild.childNodes.forEach((n) => { if (n.setAttribute) n.setAttribute('pathLength', '1'); });}const SEL = 'i[class*="fa-"],span[class*="fa-"]';function swap(root) {@@@ -11,7 +11,7 @@ const glyphs = require('../glyphs');const kit = require('../kit');// ── The registry ──--assert.ok(glyphs.NAMES.length >= 150, `${glyphs.NAMES.length} glyphs`);++assert.ok(glyphs.NAMES.length >= 190, `${glyphs.NAMES.length} glyphs`);for (const name of kit.ICONS) assert.ok(glyphs.NAMES.includes(name), `the kit's ${name} is a glyph`);for (const [fa, g] of Object.entries(glyphs.FA)) assert.ok(glyphs.path(g), `fa-${fa} → ${g}, a glyph that exists`);for (const name of glyphs.NAMES) {@@@ -52,7 +52,7 @@ ON_ICON.forEach((cls) => assert.ok(CSS.includes(`.ovg.${cls}{`) || CSS.includes(['--fa-beat-scale', '--fa-bounce-height', '--fa-fade-opacity', '--fa-flip-angle', '--fa-rotate-angle', '--fa-animation-duration', '--fa-li-width','--fa-border-color', '--fa-counter-background-color', '--fa-primary-color', '--fa-inverse'].forEach((v) => assert.ok(CSS.includes(v), `Font Awesome's ${v}`));assert.ok(!CSS.includes('360deg') && /\.ovg\.fa-spin[^{]*\{animation:ovgBreathe/.test(CSS), 'fa-spin breathes: nothing spins (L27)');--assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle{animation:none!important}}'), 'reduced motion stops every animation');++assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}'), 'reduced motion stops every animation, and a drawn-in glyph is simply there');// ── In a page ──(async () => {@@@ -66,6 +66,8 @@ assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ov<i class="fa-solid fa-heart fa-2x fa-beat" data-fa-transform="grow-4 up-2 rotate-90 flip-h" id="tf"></i><i class="fa-solid fa-bell" title="Notifications" id="titled"></i><span class="fa-layers"><i class="fa-solid fa-envelope"></i><span class="fa-layers-counter" id="counter">12</span></span>++<i class="fa-solid fa-circle-check ovg-draw" id="drawn"></i>++<i class="fa-solid fa-bell fa-shake ovg-once" id="once"></i></body></html>`);window.MutationObserver = MutationObserver;new Function('window', 'document', 'MutationObserver', SRC)(window, document, MutationObserver);@@@ -87,6 +89,11 @@ assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ov// A layer's counter is text, not an icon.assert.ok(!$('#counter').classList.contains('ovg') && $('#counter').textContent === '12');assert.ok($('.fa-layers > i').dataset.ovg, 'the layer\'s icon is swapped');++ // The glyphs' own motion (4.63.0): ovg-draw measures every line as 1, so the CSS can draw it in once.++ const drawn = $('#drawn').querySelector('svg');++ assert.ok(drawn.children.length >= 2 && [...drawn.children].every((c) => c.getAttribute('pathLength') === '1'), 'every shape of a drawn-in glyph has pathLength 1');++ assert.ok(css.includes('@keyframes ovgDraw{to{stroke-dashoffset:0}}') && css.includes('.ovg.ovg-once{--fa-animation-iteration-count:1}'), 'draw-in and play-once');++ assert.ok(!$('#once').querySelector('[pathLength]'), 'only ovg-draw measures its lines');// A page that changes an icon by its class (play ↔ pause) gets the new glyph.const t = $('#toggle');assert.strictEqual(t.dataset.ovg, 'play');
@@ -6,6 +6,23 @@ A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).
@@ -6,6 +6,23 @@ A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).
## Unreleased
## Unreleased
+## 4.63.0 — 2026-10-31
+
+- **37 more glyphs, for the Font Awesome names the network still used most** (plan L32 I4; openvibe.design/icons'
+ "Still Font Awesome" list, counted 10-31):
+ - restroom, shelter, hot-tub, umbrella, parking, skull, group, medical, shapes, headphones, drive, check-double, tv,
+ toolbox, table, scale, road, money, heart-pulse, heading, fist, fast-forward, rewind, file-code, dice, contrast,
+ briefcase, timeline, seedling, rocket, list-ordered, lifebuoy, infinity, inbox, door, card and storm, drawn in the
+ mark's hand;
+ - 75 more Font Awesome names map to glyphs (aliases include `info-circle`, `people-arrows`, `right-left`,
+ `microphone-lines`, `folder-open` and `money-bill-*`).
+ - 192 glyphs for 311 Font Awesome names. The fonts gain the new glyphs at U+E09C–U+E0C0; no code point moved.
+- **The glyphs' own motion** (L32 I9):
+ - `ovg-draw` draws a glyph's lines in once (`--ovg-draw-duration`, `--ovg-draw-delay`), the way the mark's tick does;
+ - `ovg-once` plays any animation a single time (`fa-shake ovg-once`: a bell that rings once);
+ - under reduced motion, a drawn-in glyph is simply there.
+- `ov-glyphs.js` is 11.1 KB brotli and still loads after first paint.
+
## 4.62.0 — 2026-10-31
## 4.62.0 — 2026-10-31
- **Font Awesome's features, kept, on the glyphs** (plan L32 I6; the owner: "basically want to keep Font Awesome, so all
- **Font Awesome's features, kept, on the glyphs** (plan L32 I6; the owner: "basically want to keep Font Awesome, so all
@@ -2,7 +2,7 @@
@@ -2,7 +2,7 @@
> Versioned UI, the OpenVibe Frame (the navbar, footer and "shipped" views every site sits in), SEO, legal and release-client packages every OpenVibe site renders.
> Versioned UI, the OpenVibe Frame (the navbar, footer and "shipped" views every site sits in), SEO, legal and release-client packages every OpenVibe site renders.
-**Status:** alpha, v4.62.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed
+**Status:** alpha, v4.63.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed
consumer installs a tagged release and none keeps a vendored copy
consumer installs a tagged release and none keeps a vendored copy
([docs/migration-plan.md](docs/migration-plan.md) is done); each repository's `package.json` names
([docs/migration-plan.md](docs/migration-plan.md) is done); each repository's `package.json` names
the tag it pins.
the tag it pins.
@@ -4,7 +4,7 @@
@@ -4,7 +4,7 @@
"code": true,
"code": true,
"wave": "W2",
"wave": "W2",
"package": "openvibe-shared",
"package": "openvibe-shared",
- "version": "4.62.0",
+ "version": "4.63.0",
"plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)",
"plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)",
"deployed": false,
"deployed": false,
"deployment": "none of its own: a package released as git tags; OpenVibe.Network serves /shared/* from its pinned tag, and a site can serve its own pinned copy (openvibe-shared/serve)",
"deployment": "none of its own: a package released as git tags; OpenVibe.Network serves /shared/* from its pinned tag, and a site can serve its own pinned copy (openvibe-shared/serve)",
@@ -155,6 +155,43 @@
@@ -155,6 +155,43 @@
"wifi": "E098",
"wifi": "E098",
"wrench": "E099",
"wrench": "E099",
"x-circle": "E09A",
"x-circle": "E09A",
- "zap": "E09B"
+ "zap": "E09B",
+ "briefcase": "E09C",
+ "card": "E09D",
+ "check-double": "E09E",
+ "contrast": "E09F",
+ "dice": "E0A0",
+ "door": "E0A1",
+ "drive": "E0A2",
+ "fast-forward": "E0A3",
+ "file-code": "E0A4",
+ "fist": "E0A5",
+ "group": "E0A6",
+ "heading": "E0A7",
+ "headphones": "E0A8",
+ "heart-pulse": "E0A9",
+ "hot-tub": "E0AA",
+ "inbox": "E0AB",
+ "infinity": "E0AC",
+ "lifebuoy": "E0AD",
+ "list-ordered": "E0AE",
+ "medical": "E0AF",
+ "money": "E0B0",
+ "parking": "E0B1",
+ "restroom": "E0B2",
+ "rewind": "E0B3",
+ "road": "E0B4",
+ "rocket": "E0B5",
+ "scale": "E0B6",
+ "seedling": "E0B7",
+ "shapes": "E0B8",
+ "shelter": "E0B9",
+ "skull": "E0BA",
+ "storm": "E0BB",
+ "table": "E0BC",
+ "timeline": "E0BD",
+ "toolbox": "E0BE",
+ "tv": "E0BF",
+ "umbrella": "E0C0"
}
}
}
}
@@ -1,10 +1,10 @@
@@ -1,10 +1,10 @@
{
{
"family": "OV Glyphs",
"family": "OV Glyphs",
- "glyphs": 155,
- "source_sha256": "fb052064fcb5279c7c291230e2e5389d164613d278969ad437f975b26ab40bdc",
+ "glyphs": 192,
+ "source_sha256": "66688f3cc922cc2ab13ffd7d11400308e8fde3891affed4055fa122eb66de4ac",
"files": {
"files": {
- "ov-glyphs.woff2": 12320,
- "glyph-fonts/ov-glyphs.ttf": 28500,
- "glyph-fonts/ov-glyphs.otf": 35816
+ "ov-glyphs.woff2": 15704,
+ "glyph-fonts/ov-glyphs.ttf": 36352,
+ "glyph-fonts/ov-glyphs.otf": 45740
}
}
}
}
Binary files a/glyph-fonts/ov-glyphs.otf and b/glyph-fonts/ov-glyphs.otf differ
Binary files a/glyph-fonts/ov-glyphs.otf and b/glyph-fonts/ov-glyphs.otf differ
Binary files a/glyph-fonts/ov-glyphs.ttf and b/glyph-fonts/ov-glyphs.ttf differ
Binary files a/glyph-fonts/ov-glyphs.ttf and b/glyph-fonts/ov-glyphs.ttf differ
@@ -94,6 +94,44 @@
@@ -94,6 +94,44 @@
drop: '<path d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z"/>',
drop: '<path d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z"/>',
wifi: '<path d="M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01"/>',
wifi: '<path d="M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01"/>',
branch: '<circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9c0 5.5-6.5 4-11 8.5"/>',
branch: '<circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9c0 5.5-6.5 4-11 8.5"/>',
+ // 4.63.0: the Font Awesome names the network still used most (openvibe.design/icons' "Still Font Awesome", 10-31).
+ restroom: '<circle cx="7" cy="4.8" r="1.8"/><circle cx="17" cy="4.8" r="1.8"/><path d="M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4"/>',
+ shelter: '<path d="M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12"/><circle cx="12" cy="11" r="1.8"/><path d="M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21"/>',
+ 'hot-tub': '<circle cx="8" cy="5.5" r="1.8"/><path d="M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3"/>',
+ umbrella: '<path d="M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01"/>',
+ parking: '<rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5"/>',
+ skull: '<path d="M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z"/><circle cx="9.5" cy="10.5" r="1.4"/><circle cx="14.5" cy="10.5" r="1.4"/><path d="M10.5 18v3M13.5 18v3"/>',
+ group: '<path d="M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4"/><rect x="7" y="7" width="6" height="5" rx="1"/><rect x="11" y="12" width="6" height="5" rx="1"/>',
+ medical: '<rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6"/>',
+ shapes: '<circle cx="7.5" cy="7.5" r="3.5"/><path d="m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z"/>',
+ headphones: '<path d="M4 15v-3a8 8 0 0 1 16 0v3"/><rect x="3" y="14" width="4.5" height="6.5" rx="1.5"/><rect x="16.5" y="14" width="4.5" height="6.5" rx="1.5"/>',
+ drive: '<rect x="3" y="13" width="18" height="7" rx="2"/><path d="M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01"/>',
+ 'check-double': '<path d="m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8"/>',
+ tv: '<rect x="2.5" y="7" width="19" height="13" rx="2"/><path d="m8 3 4 4 4-4"/>',
+ toolbox: '<rect x="3" y="8" width="18" height="12" rx="2"/><path d="M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3"/>',
+ table: '<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20"/>',
+ scale: '<path d="M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0"/>',
+ road: '<path d="M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20"/>',
+ money: '<rect x="2.5" y="6" width="19" height="12" rx="2"/><circle cx="12" cy="12" r="2.5"/><path d="M6 9.5v.01M18 14.5v.01"/>',
+ 'heart-pulse': '<path d="M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5"/><path d="M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5"/>',
+ heading: '<path d="M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4"/>',
+ fist: '<path d="M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9"/>',
+ 'fast-forward': '<path d="M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z"/>',
+ rewind: '<path d="M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z"/>',
+ 'file-code': '<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z"/><path d="M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2"/>',
+ dice: '<rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01" stroke-width="2.6"/>',
+ contrast: '<circle cx="12" cy="12" r="9"/><path d="M12 3v18M12 7.5h7M12 12h9M12 16.5h7"/>',
+ briefcase: '<rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z"/>',
+ timeline: '<path d="M3 12h1M8 12h2M14 12h2M20 12h1"/><circle cx="6" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="18" cy="12" r="2"/><path d="M6 10V5.5M12 14v4.5M18 10V5.5"/>',
+ seedling: '<path d="M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z"/>',
+ rocket: '<path d="M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z"/><circle cx="15.5" cy="8.5" r="1.5"/>',
+ 'list-ordered': '<path d="M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2"/>',
+ lifebuoy: '<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/><path d="m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6"/>',
+ infinity: '<path d="M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z"/>',
+ inbox: '<path d="M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5"/>',
+ door: '<path d="M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01"/>',
+ card: '<rect x="2.5" y="5" width="19" height="14" rx="2"/><path d="M2.5 10h19M6 15h4"/>',
+ storm: '<path d="M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5"/><path d="m13 13-2.5 4h3L11 21"/>',
// A spinner is never drawn as one (the owner, 2026-10-31: nothing spins): three dots that take turns (ov-glyphs.js).
// A spinner is never drawn as one (the owner, 2026-10-31: nothing spins): three dots that take turns (ov-glyphs.js).
busy: '<path d="M6 12h.01M12 12h.01M18 12h.01" stroke-width="3.4"/>',
busy: '<path d="M6 12h.01M12 12h.01M18 12h.01" stroke-width="3.4"/>',
};
};
@@ -137,6 +175,20 @@
@@ -137,6 +175,20 @@
'face-smile': 'smile', 'box-archive': 'archive', ticket: 'ticket', thumbtack: 'tack', store: 'store', keyboard: 'keyboard', gavel: 'gavel', droplet: 'drop',
'face-smile': 'smile', 'box-archive': 'archive', ticket: 'ticket', thumbtack: 'tack', store: 'store', keyboard: 'keyboard', gavel: 'gavel', droplet: 'drop',
flag: 'flag', calendar: 'calendar', 'calendar-days': 'calendar', phone: 'phone', 'mobile-screen': 'phone', 'hand': 'hand', 'hand-pointer': 'hand', grid: 'grid',
flag: 'flag', calendar: 'calendar', 'calendar-days': 'calendar', phone: 'phone', 'mobile-screen': 'phone', 'hand': 'hand', 'hand-pointer': 'hand', grid: 'grid',
'table-cells': 'grid', 'chart-simple': 'chart', 'chart-bar': 'chart', 'filter': 'filter', 'ellipsis': 'more', 'ellipsis-vertical': 'more', 'share-nodes': 'nodes',
'table-cells': 'grid', 'chart-simple': 'chart', 'chart-bar': 'chart', 'filter': 'filter', 'ellipsis': 'more', 'ellipsis-vertical': 'more', 'share-nodes': 'nodes',
+ // 4.63.0
+ restroom: 'restroom', 'person-shelter': 'shelter', 'hot-tub-person': 'hot-tub', 'hot-tub': 'hot-tub', umbrella: 'umbrella', 'umbrella-beach': 'umbrella',
+ 'square-parking': 'parking', parking: 'parking', 'skull-crossbones': 'skull', skull: 'skull', 'object-group': 'group', 'kit-medical': 'medical',
+ 'briefcase-medical': 'medical', 'suitcase-medical': 'medical', 'info-circle': 'info', icons: 'shapes', shapes: 'shapes', headphones: 'headphones',
+ 'headphones-simple': 'headphones', headset: 'headphones', 'hard-drive': 'drive', hdd: 'drive', 'check-double': 'check-double', tv: 'tv',
+ television: 'tv', toolbox: 'toolbox', table: 'table', 'table-list': 'table', 'scale-balanced': 'scale', 'balance-scale': 'scale',
+ road: 'road', 'people-arrows': 'members', 'money-bill': 'money', 'money-bill-1': 'money', 'money-bill-wave': 'money', 'money-bill-transfer': 'money',
+ 'money-check': 'money', 'heart-pulse': 'heart-pulse', heartbeat: 'heart-pulse', heading: 'heading', 'hand-fist': 'fist', 'fist-raised': 'fist',
+ forward: 'fast-forward', 'forward-fast': 'fast-forward', backward: 'rewind', 'backward-fast': 'rewind', 'file-code': 'file-code', dice: 'dice',
+ 'dice-five': 'dice', 'dice-six': 'dice', 'circle-half-stroke': 'contrast', adjust: 'contrast', briefcase: 'briefcase', suitcase: 'briefcase',
+ timeline: 'timeline', seedling: 'seedling', rocket: 'rocket', 'right-left': 'swap', 'arrow-right-arrow-left': 'swap', 'exchange-alt': 'swap',
+ 'person-hiking': 'mountain', hiking: 'mountain', 'microphone-lines': 'mic', 'list-ol': 'list-ordered', 'life-ring': 'lifebuoy', infinity: 'infinity',
+ inbox: 'inbox', 'folder-open': 'folder', 'faucet-drip': 'drop', faucet: 'drop', 'face-grin-stars': 'smile', 'door-open': 'door',
+ 'door-closed': 'door', 'credit-card': 'card', 'cloud-bolt': 'storm',
});
});
const path = (name) => (Object.prototype.hasOwnProperty.call(ALL, name) ? ALL[name] : '');
const path = (name) => (Object.prototype.hasOwnProperty.call(ALL, name) ? ALL[name] : '');
@@ -475,7 +475,7 @@
@@ -475,7 +475,7 @@
const NAV_ICONS_REV = '2a303c60dc83'; // sha256(nav-icons.js), first 12 hex: its ?v= (cacheable forever)
const NAV_ICONS_REV = '2a303c60dc83'; // sha256(nav-icons.js), first 12 hex: its ?v= (cacheable forever)
// END generated
// END generated
// The files loaded from beside this one, by content (scripts/sibling-revs.js): a release changes their URLs.
// The files loaded from beside this one, by content (scripts/sibling-revs.js): a release changes their URLs.
- const SIBLING_REV = { 'ov-mark.js': 'd53438811552', 'ov-glyphs.js': 'ba57d6e1f417', 'ov-brand.woff2': '3b4e6a8a5878' };
+ const SIBLING_REV = { 'ov-mark.js': 'd53438811552', 'ov-glyphs.js': '2b97058350a5', 'ov-brand.woff2': '3b4e6a8a5878' };
// The navbar's icons are filled paths (no Font Awesome CSS needed): the ones above ship here, the rest
// The navbar's icons are filled paths (no Font Awesome CSS needed): the ones above ship here, the rest
// (nav-icons.js) load after first paint when a link, chip or menu row names one, into an empty <svg> of their
// (nav-icons.js) load after first paint when a link, chip or menu row names one, into an empty <svg> of their
// size. Anything unknown, or nav-icons.js failing, falls back to <i class="fa-solid">.
// size. Anything unknown, or nav-icons.js failing, falls back to <i class="fa-solid">.
@@ -21,11 +21,14 @@
@@ -21,11 +21,14 @@
.fa-code-branch::before{content:"\e00d"}
.fa-code-branch::before{content:"\e00d"}
.fa-code-fork::before{content:"\e00d"}
.fa-code-fork::before{content:"\e00d"}
.fa-bridge::before{content:"\e00e"}
.fa-bridge::before{content:"\e00e"}
+.fa-briefcase::before{content:"\e09c"}
+.fa-suitcase::before{content:"\e09c"}
.fa-circle-notch::before{content:"\e00f"}
.fa-circle-notch::before{content:"\e00f"}
.fa-spinner::before{content:"\e00f"}
.fa-spinner::before{content:"\e00f"}
.fa-calendar::before{content:"\e010"}
.fa-calendar::before{content:"\e010"}
.fa-calendar-days::before{content:"\e010"}
.fa-calendar-days::before{content:"\e010"}
.fa-camera::before{content:"\e011"}
.fa-camera::before{content:"\e011"}
+.fa-credit-card::before{content:"\e09d"}
.fa-hand-holding-heart::before{content:"\e012"}
.fa-hand-holding-heart::before{content:"\e012"}
.fa-cart::before{content:"\e013"}
.fa-cart::before{content:"\e013"}
.fa-cart-shopping::before{content:"\e013"}
.fa-cart-shopping::before{content:"\e013"}
@@ -39,6 +42,7 @@
@@ -39,6 +42,7 @@
.fa-check::before{content:"\e016"}
.fa-check::before{content:"\e016"}
.fa-check-circle::before{content:"\e017"}
.fa-check-circle::before{content:"\e017"}
.fa-circle-check::before{content:"\e017"}
.fa-circle-check::before{content:"\e017"}
+.fa-check-double::before{content:"\e09e"}
.fa-angle-right::before{content:"\e018"}
.fa-angle-right::before{content:"\e018"}
.fa-chevron-right::before{content:"\e018"}
.fa-chevron-right::before{content:"\e018"}
.fa-microchip::before{content:"\e019"}
.fa-microchip::before{content:"\e019"}
@@ -62,31 +66,48 @@
@@ -62,31 +66,48 @@
.fa-desktop::before{content:"\e023"}
.fa-desktop::before{content:"\e023"}
.fa-display::before{content:"\e023"}
.fa-display::before{content:"\e023"}
.fa-laptop::before{content:"\e023"}
.fa-laptop::before{content:"\e023"}
+.fa-adjust::before{content:"\e09f"}
+.fa-circle-half-stroke::before{content:"\e09f"}
.fa-copy::before{content:"\e024"}
.fa-copy::before{content:"\e024"}
.fa-crown::before{content:"\e025"}
.fa-crown::before{content:"\e025"}
.fa-database::before{content:"\e026"}
.fa-database::before{content:"\e026"}
+.fa-dice::before{content:"\e0a0"}
+.fa-dice-five::before{content:"\e0a0"}
+.fa-dice-six::before{content:"\e0a0"}
.fa-satellite-dish::before{content:"\e027"}
.fa-satellite-dish::before{content:"\e027"}
.fa-dollar-sign::before{content:"\e028"}
.fa-dollar-sign::before{content:"\e028"}
+.fa-door-closed::before{content:"\e0a1"}
+.fa-door-open::before{content:"\e0a1"}
.fa-angle-down::before{content:"\e029"}
.fa-angle-down::before{content:"\e029"}
.fa-chevron-down::before{content:"\e029"}
.fa-chevron-down::before{content:"\e029"}
.fa-download::before{content:"\e02a"}
.fa-download::before{content:"\e02a"}
+.fa-hard-drive::before{content:"\e0a2"}
+.fa-hdd::before{content:"\e0a2"}
.fa-droplet::before{content:"\e02b"}
.fa-droplet::before{content:"\e02b"}
+.fa-faucet::before{content:"\e02b"}
+.fa-faucet-drip::before{content:"\e02b"}
.fa-arrow-right-to-bracket::before{content:"\e02c"}
.fa-arrow-right-to-bracket::before{content:"\e02c"}
.fa-right-to-bracket::before{content:"\e02c"}
.fa-right-to-bracket::before{content:"\e02c"}
.fa-expand::before{content:"\e02d"}
.fa-expand::before{content:"\e02d"}
.fa-up-right-and-down-left-from-center::before{content:"\e02d"}
.fa-up-right-and-down-left-from-center::before{content:"\e02d"}
.fa-eye::before{content:"\e02e"}
.fa-eye::before{content:"\e02e"}
.fa-eye-slash::before{content:"\e02f"}
.fa-eye-slash::before{content:"\e02f"}
+.fa-forward::before{content:"\e0a3"}
+.fa-forward-fast::before{content:"\e0a3"}
.fa-file::before{content:"\e030"}
.fa-file::before{content:"\e030"}
.fa-file-audio::before{content:"\e030"}
.fa-file-audio::before{content:"\e030"}
.fa-file-lines::before{content:"\e030"}
.fa-file-lines::before{content:"\e030"}
.fa-file-pdf::before{content:"\e030"}
.fa-file-pdf::before{content:"\e030"}
+.fa-file-code::before{content:"\e0a4"}
.fa-film::before{content:"\e031"}
.fa-film::before{content:"\e031"}
.fa-photo-film::before{content:"\e031"}
.fa-photo-film::before{content:"\e031"}
.fa-filter::before{content:"\e032"}
.fa-filter::before{content:"\e032"}
.fa-fire::before{content:"\e033"}
.fa-fire::before{content:"\e033"}
+.fa-fist-raised::before{content:"\e0a5"}
+.fa-hand-fist::before{content:"\e0a5"}
.fa-flag::before{content:"\e034"}
.fa-flag::before{content:"\e034"}
.fa-folder::before{content:"\e035"}
.fa-folder::before{content:"\e035"}
+.fa-folder-open::before{content:"\e035"}
.fa-utensils::before{content:"\e036"}
.fa-utensils::before{content:"\e036"}
.fa-gamepad::before{content:"\e038"}
.fa-gamepad::before{content:"\e038"}
.fa-gauge::before{content:"\e039"}
.fa-gauge::before{content:"\e039"}
@@ -100,21 +121,33 @@
@@ -100,21 +121,33 @@
.fa-globe::before{content:"\e03d"}
.fa-globe::before{content:"\e03d"}
.fa-grid::before{content:"\e03e"}
.fa-grid::before{content:"\e03e"}
.fa-table-cells::before{content:"\e03e"}
.fa-table-cells::before{content:"\e03e"}
+.fa-object-group::before{content:"\e0a6"}
.fa-hand::before{content:"\e03f"}
.fa-hand::before{content:"\e03f"}
.fa-hand-pointer::before{content:"\e03f"}
.fa-hand-pointer::before{content:"\e03f"}
.fa-hashtag::before{content:"\e040"}
.fa-hashtag::before{content:"\e040"}
+.fa-heading::before{content:"\e0a7"}
+.fa-headphones::before{content:"\e0a8"}
+.fa-headphones-simple::before{content:"\e0a8"}
+.fa-headset::before{content:"\e0a8"}
.fa-heart::before{content:"\e041"}
.fa-heart::before{content:"\e041"}
+.fa-heart-pulse::before{content:"\e0a9"}
+.fa-heartbeat::before{content:"\e0a9"}
.fa-circle-question::before{content:"\e042"}
.fa-circle-question::before{content:"\e042"}
.fa-question::before{content:"\e042"}
.fa-question::before{content:"\e042"}
.fa-clock-rotate-left::before{content:"\e043"}
.fa-clock-rotate-left::before{content:"\e043"}
.fa-house::before{content:"\e044"}
.fa-house::before{content:"\e044"}
.fa-house-chimney::before{content:"\e044"}
.fa-house-chimney::before{content:"\e044"}
+.fa-hot-tub::before{content:"\e0aa"}
+.fa-hot-tub-person::before{content:"\e0aa"}
.fa-id-card::before{content:"\e045"}
.fa-id-card::before{content:"\e045"}
.fa-lightbulb::before{content:"\e046"}
.fa-lightbulb::before{content:"\e046"}
.fa-file-image::before{content:"\e047"}
.fa-file-image::before{content:"\e047"}
.fa-image::before{content:"\e047"}
.fa-image::before{content:"\e047"}
.fa-images::before{content:"\e047"}
.fa-images::before{content:"\e047"}
+.fa-inbox::before{content:"\e0ab"}
+.fa-infinity::before{content:"\e0ac"}
.fa-circle-info::before{content:"\e048"}
.fa-circle-info::before{content:"\e048"}
+.fa-info-circle::before{content:"\e048"}
.fa-user-plus::before{content:"\e049"}
.fa-user-plus::before{content:"\e049"}
.fa-key::before{content:"\e04a"}
.fa-key::before{content:"\e04a"}
.fa-keyboard::before{content:"\e04b"}
.fa-keyboard::before{content:"\e04b"}
@@ -123,9 +156,11 @@
@@ -123,9 +156,11 @@
.fa-leaf::before{content:"\e04e"}
.fa-leaf::before{content:"\e04e"}
.fa-arrow-right-from-bracket::before{content:"\e04f"}
.fa-arrow-right-from-bracket::before{content:"\e04f"}
.fa-right-from-bracket::before{content:"\e04f"}
.fa-right-from-bracket::before{content:"\e04f"}
+.fa-life-ring::before{content:"\e0ad"}
.fa-link::before{content:"\e050"}
.fa-link::before{content:"\e050"}
.fa-list::before{content:"\e051"}
.fa-list::before{content:"\e051"}
.fa-list-ul::before{content:"\e051"}
.fa-list-ul::before{content:"\e051"}
+.fa-list-ol::before{content:"\e0ae"}
.fa-broadcast-tower::before{content:"\e052"}
.fa-broadcast-tower::before{content:"\e052"}
.fa-tower-broadcast::before{content:"\e052"}
.fa-tower-broadcast::before{content:"\e052"}
.fa-tower-cell::before{content:"\e052"}
.fa-tower-cell::before{content:"\e052"}
@@ -133,18 +168,30 @@
@@ -133,18 +168,30 @@
.fa-unlock::before{content:"\e053"}
.fa-unlock::before{content:"\e053"}
.fa-envelope::before{content:"\e054"}
.fa-envelope::before{content:"\e054"}
.fa-map::before{content:"\e055"}
.fa-map::before{content:"\e055"}
+.fa-briefcase-medical::before{content:"\e0af"}
+.fa-kit-medical::before{content:"\e0af"}
+.fa-suitcase-medical::before{content:"\e0af"}
+.fa-people-arrows::before{content:"\e056"}
.fa-people-group::before{content:"\e056"}
.fa-people-group::before{content:"\e056"}
.fa-user-group::before{content:"\e056"}
.fa-user-group::before{content:"\e056"}
.fa-users::before{content:"\e056"}
.fa-users::before{content:"\e056"}
.fa-bars::before{content:"\e057"}
.fa-bars::before{content:"\e057"}
.fa-microphone::before{content:"\e058"}
.fa-microphone::before{content:"\e058"}
+.fa-microphone-lines::before{content:"\e058"}
.fa-microphone-slash::before{content:"\e059"}
.fa-microphone-slash::before{content:"\e059"}
.fa-minus::before{content:"\e05a"}
.fa-minus::before{content:"\e05a"}
+.fa-money-bill::before{content:"\e0b0"}
+.fa-money-bill-1::before{content:"\e0b0"}
+.fa-money-bill-transfer::before{content:"\e0b0"}
+.fa-money-bill-wave::before{content:"\e0b0"}
+.fa-money-check::before{content:"\e0b0"}
.fa-moon::before{content:"\e05b"}
.fa-moon::before{content:"\e05b"}
.fa-ellipsis::before{content:"\e05c"}
.fa-ellipsis::before{content:"\e05c"}
.fa-ellipsis-vertical::before{content:"\e05c"}
.fa-ellipsis-vertical::before{content:"\e05c"}
+.fa-hiking::before{content:"\e05d"}
.fa-mountain::before{content:"\e05d"}
.fa-mountain::before{content:"\e05d"}
.fa-mountain-sun::before{content:"\e05d"}
.fa-mountain-sun::before{content:"\e05d"}
+.fa-person-hiking::before{content:"\e05d"}
.fa-music::before{content:"\e05e"}
.fa-music::before{content:"\e05e"}
.fa-volume-off::before{content:"\e05f"}
.fa-volume-off::before{content:"\e05f"}
.fa-volume-xmark::before{content:"\e05f"}
.fa-volume-xmark::before{content:"\e05f"}
@@ -158,6 +205,8 @@
@@ -158,6 +205,8 @@
.fa-external-link::before{content:"\e062"}
.fa-external-link::before{content:"\e062"}
.fa-up-right-from-square::before{content:"\e062"}
.fa-up-right-from-square::before{content:"\e062"}
.fa-palette::before{content:"\e063"}
.fa-palette::before{content:"\e063"}
+.fa-parking::before{content:"\e0b1"}
+.fa-square-parking::before{content:"\e0b1"}
.fa-pause::before{content:"\e064"}
.fa-pause::before{content:"\e064"}
.fa-pen::before{content:"\e065"}
.fa-pen::before{content:"\e065"}
.fa-pen-nib::before{content:"\e065"}
.fa-pen-nib::before{content:"\e065"}
@@ -174,25 +223,39 @@
@@ -174,25 +223,39 @@
.fa-plug::before{content:"\e06a"}
.fa-plug::before{content:"\e06a"}
.fa-plus::before{content:"\e06b"}
.fa-plus::before{content:"\e06b"}
.fa-reply::before{content:"\e06c"}
.fa-reply::before{content:"\e06c"}
+.fa-restroom::before{content:"\e0b2"}
.fa-arrow-rotate-right::before{content:"\e06d"}
.fa-arrow-rotate-right::before{content:"\e06d"}
.fa-arrows-rotate::before{content:"\e06d"}
.fa-arrows-rotate::before{content:"\e06d"}
.fa-rotate::before{content:"\e06d"}
.fa-rotate::before{content:"\e06d"}
.fa-rotate-left::before{content:"\e06d"}
.fa-rotate-left::before{content:"\e06d"}
.fa-rotate-right::before{content:"\e06d"}
.fa-rotate-right::before{content:"\e06d"}
+.fa-backward::before{content:"\e0b3"}
+.fa-backward-fast::before{content:"\e0b3"}
+.fa-road::before{content:"\e0b4"}
.fa-robot::before{content:"\e06e"}
.fa-robot::before{content:"\e06e"}
+.fa-rocket::before{content:"\e0b5"}
.fa-route::before{content:"\e06f"}
.fa-route::before{content:"\e06f"}
.fa-floppy-disk::before{content:"\e070"}
.fa-floppy-disk::before{content:"\e070"}
+.fa-balance-scale::before{content:"\e0b6"}
+.fa-scale-balanced::before{content:"\e0b6"}
.fa-cut::before{content:"\e071"}
.fa-cut::before{content:"\e071"}
.fa-scissors::before{content:"\e071"}
.fa-scissors::before{content:"\e071"}
.fa-magnifying-glass::before{content:"\e072"}
.fa-magnifying-glass::before{content:"\e072"}
.fa-search::before{content:"\e072"}
.fa-search::before{content:"\e072"}
+.fa-seedling::before{content:"\e0b7"}
.fa-server::before{content:"\e074"}
.fa-server::before{content:"\e074"}
+.fa-icons::before{content:"\e0b8"}
+.fa-shapes::before{content:"\e0b8"}
+.fa-person-shelter::before{content:"\e0b9"}
.fa-shield::before{content:"\e075"}
.fa-shield::before{content:"\e075"}
.fa-shield-halved::before{content:"\e075"}
.fa-shield-halved::before{content:"\e075"}
.fa-user-shield::before{content:"\e075"}
.fa-user-shield::before{content:"\e075"}
.fa-shirt::before{content:"\e076"}
.fa-shirt::before{content:"\e076"}
+.fa-skull::before{content:"\e0ba"}
+.fa-skull-crossbones::before{content:"\e0ba"}
.fa-sliders::before{content:"\e079"}
.fa-sliders::before{content:"\e079"}
.fa-sliders-h::before{content:"\e079"}
.fa-sliders-h::before{content:"\e079"}
+.fa-face-grin-stars::before{content:"\e07a"}
.fa-face-smile::before{content:"\e07a"}
.fa-face-smile::before{content:"\e07a"}
.fa-snowflake::before{content:"\e07b"}
.fa-snowflake::before{content:"\e07b"}
.fa-sparkles::before{content:"\e07c"}
.fa-sparkles::before{content:"\e07c"}
@@ -203,7 +266,13 @@
@@ -203,7 +266,13 @@
.fa-list-check::before{content:"\e07e"}
.fa-list-check::before{content:"\e07e"}
.fa-stop::before{content:"\e07f"}
.fa-stop::before{content:"\e07f"}
.fa-store::before{content:"\e080"}
.fa-store::before{content:"\e080"}
+.fa-cloud-bolt::before{content:"\e0bb"}
.fa-sun::before{content:"\e081"}
.fa-sun::before{content:"\e081"}
+.fa-arrow-right-arrow-left::before{content:"\e082"}
+.fa-exchange-alt::before{content:"\e082"}
+.fa-right-left::before{content:"\e082"}
+.fa-table::before{content:"\e0bc"}
+.fa-table-list::before{content:"\e0bc"}
.fa-thumbtack::before{content:"\e083"}
.fa-thumbtack::before{content:"\e083"}
.fa-tag::before{content:"\e084"}
.fa-tag::before{content:"\e084"}
.fa-tags::before{content:"\e084"}
.fa-tags::before{content:"\e084"}
@@ -213,11 +282,17 @@
@@ -213,11 +282,17 @@
.fa-font::before{content:"\e089"}
.fa-font::before{content:"\e089"}
.fa-text-height::before{content:"\e089"}
.fa-text-height::before{content:"\e089"}
.fa-ticket::before{content:"\e08a"}
.fa-ticket::before{content:"\e08a"}
+.fa-timeline::before{content:"\e0bd"}
+.fa-toolbox::before{content:"\e0be"}
.fa-train::before{content:"\e08b"}
.fa-train::before{content:"\e08b"}
.fa-trash::before{content:"\e08c"}
.fa-trash::before{content:"\e08c"}
.fa-trash-can::before{content:"\e08c"}
.fa-trash-can::before{content:"\e08c"}
.fa-tree::before{content:"\e08d"}
.fa-tree::before{content:"\e08d"}
.fa-trophy::before{content:"\e08e"}
.fa-trophy::before{content:"\e08e"}
+.fa-television::before{content:"\e0bf"}
+.fa-tv::before{content:"\e0bf"}
+.fa-umbrella::before{content:"\e0c0"}
+.fa-umbrella-beach::before{content:"\e0c0"}
.fa-chevron-up::before{content:"\e08f"}
.fa-chevron-up::before{content:"\e08f"}
.fa-cloud-arrow-up::before{content:"\e090"}
.fa-cloud-arrow-up::before{content:"\e090"}
.fa-upload::before{content:"\e090"}
.fa-upload::before{content:"\e090"}
@@ -17,15 +17,18 @@
@@ -17,15 +17,18 @@
.ovi-brain::before{content:"\e00c"}
.ovi-brain::before{content:"\e00c"}
.ovi-branch::before{content:"\e00d"}
.ovi-branch::before{content:"\e00d"}
.ovi-bridge::before{content:"\e00e"}
.ovi-bridge::before{content:"\e00e"}
+.ovi-briefcase::before{content:"\e09c"}
.ovi-busy::before{content:"\e00f"}
.ovi-busy::before{content:"\e00f"}
.ovi-calendar::before{content:"\e010"}
.ovi-calendar::before{content:"\e010"}
.ovi-camera::before{content:"\e011"}
.ovi-camera::before{content:"\e011"}
+.ovi-card::before{content:"\e09d"}
.ovi-care::before{content:"\e012"}
.ovi-care::before{content:"\e012"}
.ovi-cart::before{content:"\e013"}
.ovi-cart::before{content:"\e013"}
.ovi-chart::before{content:"\e014"}
.ovi-chart::before{content:"\e014"}
.ovi-chat::before{content:"\e015"}
.ovi-chat::before{content:"\e015"}
.ovi-check::before{content:"\e016"}
.ovi-check::before{content:"\e016"}
.ovi-check-circle::before{content:"\e017"}
.ovi-check-circle::before{content:"\e017"}
+.ovi-check-double::before{content:"\e09e"}
.ovi-chevron::before{content:"\e018"}
.ovi-chevron::before{content:"\e018"}
.ovi-chip::before{content:"\e019"}
.ovi-chip::before{content:"\e019"}
.ovi-circle::before{content:"\e01a"}
.ovi-circle::before{content:"\e01a"}
@@ -38,22 +41,29 @@
@@ -38,22 +41,29 @@
.ovi-coin::before{content:"\e021"}
.ovi-coin::before{content:"\e021"}
.ovi-compress::before{content:"\e022"}
.ovi-compress::before{content:"\e022"}
.ovi-computer::before{content:"\e023"}
.ovi-computer::before{content:"\e023"}
+.ovi-contrast::before{content:"\e09f"}
.ovi-copy::before{content:"\e024"}
.ovi-copy::before{content:"\e024"}
.ovi-crown::before{content:"\e025"}
.ovi-crown::before{content:"\e025"}
.ovi-database::before{content:"\e026"}
.ovi-database::before{content:"\e026"}
+.ovi-dice::before{content:"\e0a0"}
.ovi-dish::before{content:"\e027"}
.ovi-dish::before{content:"\e027"}
.ovi-dollar::before{content:"\e028"}
.ovi-dollar::before{content:"\e028"}
+.ovi-door::before{content:"\e0a1"}
.ovi-down::before{content:"\e029"}
.ovi-down::before{content:"\e029"}
.ovi-download::before{content:"\e02a"}
.ovi-download::before{content:"\e02a"}
+.ovi-drive::before{content:"\e0a2"}
.ovi-drop::before{content:"\e02b"}
.ovi-drop::before{content:"\e02b"}
.ovi-enter::before{content:"\e02c"}
.ovi-enter::before{content:"\e02c"}
.ovi-expand::before{content:"\e02d"}
.ovi-expand::before{content:"\e02d"}
.ovi-eye::before{content:"\e02e"}
.ovi-eye::before{content:"\e02e"}
.ovi-eye-off::before{content:"\e02f"}
.ovi-eye-off::before{content:"\e02f"}
+.ovi-fast-forward::before{content:"\e0a3"}
.ovi-file::before{content:"\e030"}
.ovi-file::before{content:"\e030"}
+.ovi-file-code::before{content:"\e0a4"}
.ovi-film::before{content:"\e031"}
.ovi-film::before{content:"\e031"}
.ovi-filter::before{content:"\e032"}
.ovi-filter::before{content:"\e032"}
.ovi-fire::before{content:"\e033"}
.ovi-fire::before{content:"\e033"}
+.ovi-fist::before{content:"\e0a5"}
.ovi-flag::before{content:"\e034"}
.ovi-flag::before{content:"\e034"}
.ovi-folder::before{content:"\e035"}
.ovi-folder::before{content:"\e035"}
.ovi-food::before{content:"\e036"}
.ovi-food::before{content:"\e036"}
@@ -65,15 +75,22 @@
@@ -65,15 +75,22 @@
.ovi-gift::before{content:"\e03c"}
.ovi-gift::before{content:"\e03c"}
.ovi-globe::before{content:"\e03d"}
.ovi-globe::before{content:"\e03d"}
.ovi-grid::before{content:"\e03e"}
.ovi-grid::before{content:"\e03e"}
+.ovi-group::before{content:"\e0a6"}
.ovi-hand::before{content:"\e03f"}
.ovi-hand::before{content:"\e03f"}
.ovi-hash::before{content:"\e040"}
.ovi-hash::before{content:"\e040"}
+.ovi-heading::before{content:"\e0a7"}
+.ovi-headphones::before{content:"\e0a8"}
.ovi-heart::before{content:"\e041"}
.ovi-heart::before{content:"\e041"}
+.ovi-heart-pulse::before{content:"\e0a9"}
.ovi-help::before{content:"\e042"}
.ovi-help::before{content:"\e042"}
.ovi-history::before{content:"\e043"}
.ovi-history::before{content:"\e043"}
.ovi-home::before{content:"\e044"}
.ovi-home::before{content:"\e044"}
+.ovi-hot-tub::before{content:"\e0aa"}
.ovi-id::before{content:"\e045"}
.ovi-id::before{content:"\e045"}
.ovi-idea::before{content:"\e046"}
.ovi-idea::before{content:"\e046"}
.ovi-image::before{content:"\e047"}
.ovi-image::before{content:"\e047"}
+.ovi-inbox::before{content:"\e0ab"}
+.ovi-infinity::before{content:"\e0ac"}
.ovi-info::before{content:"\e048"}
.ovi-info::before{content:"\e048"}
.ovi-invite::before{content:"\e049"}
.ovi-invite::before{content:"\e049"}
.ovi-key::before{content:"\e04a"}
.ovi-key::before{content:"\e04a"}
@@ -82,17 +99,21 @@
@@ -82,17 +99,21 @@
.ovi-layers::before{content:"\e04d"}
.ovi-layers::before{content:"\e04d"}
.ovi-leaf::before{content:"\e04e"}
.ovi-leaf::before{content:"\e04e"}
.ovi-leave::before{content:"\e04f"}
.ovi-leave::before{content:"\e04f"}
+.ovi-lifebuoy::before{content:"\e0ad"}
.ovi-link::before{content:"\e050"}
.ovi-link::before{content:"\e050"}
.ovi-list::before{content:"\e051"}
.ovi-list::before{content:"\e051"}
+.ovi-list-ordered::before{content:"\e0ae"}
.ovi-live::before{content:"\e052"}
.ovi-live::before{content:"\e052"}
.ovi-lock::before{content:"\e053"}
.ovi-lock::before{content:"\e053"}
.ovi-mail::before{content:"\e054"}
.ovi-mail::before{content:"\e054"}
.ovi-map::before{content:"\e055"}
.ovi-map::before{content:"\e055"}
+.ovi-medical::before{content:"\e0af"}
.ovi-members::before{content:"\e056"}
.ovi-members::before{content:"\e056"}
.ovi-menu::before{content:"\e057"}
.ovi-menu::before{content:"\e057"}
.ovi-mic::before{content:"\e058"}
.ovi-mic::before{content:"\e058"}
.ovi-mic-off::before{content:"\e059"}
.ovi-mic-off::before{content:"\e059"}
.ovi-minus::before{content:"\e05a"}
.ovi-minus::before{content:"\e05a"}
+.ovi-money::before{content:"\e0b0"}
.ovi-moon::before{content:"\e05b"}
.ovi-moon::before{content:"\e05b"}
.ovi-more::before{content:"\e05c"}
.ovi-more::before{content:"\e05c"}
.ovi-mountain::before{content:"\e05d"}
.ovi-mountain::before{content:"\e05d"}
@@ -102,6 +123,7 @@
@@ -102,6 +123,7 @@
.ovi-nodes::before{content:"\e061"}
.ovi-nodes::before{content:"\e061"}
.ovi-open::before{content:"\e062"}
.ovi-open::before{content:"\e062"}
.ovi-palette::before{content:"\e063"}
.ovi-palette::before{content:"\e063"}
+.ovi-parking::before{content:"\e0b1"}
.ovi-pause::before{content:"\e064"}
.ovi-pause::before{content:"\e064"}
.ovi-pencil::before{content:"\e065"}
.ovi-pencil::before{content:"\e065"}
.ovi-phone::before{content:"\e066"}
.ovi-phone::before{content:"\e066"}
@@ -111,18 +133,27 @@
@@ -111,18 +133,27 @@
.ovi-plug::before{content:"\e06a"}
.ovi-plug::before{content:"\e06a"}
.ovi-plus::before{content:"\e06b"}
.ovi-plus::before{content:"\e06b"}
.ovi-reply::before{content:"\e06c"}
.ovi-reply::before{content:"\e06c"}
+.ovi-restroom::before{content:"\e0b2"}
.ovi-retry::before{content:"\e06d"}
.ovi-retry::before{content:"\e06d"}
+.ovi-rewind::before{content:"\e0b3"}
+.ovi-road::before{content:"\e0b4"}
.ovi-robot::before{content:"\e06e"}
.ovi-robot::before{content:"\e06e"}
+.ovi-rocket::before{content:"\e0b5"}
.ovi-route::before{content:"\e06f"}
.ovi-route::before{content:"\e06f"}
.ovi-save::before{content:"\e070"}
.ovi-save::before{content:"\e070"}
+.ovi-scale::before{content:"\e0b6"}
.ovi-scissors::before{content:"\e071"}
.ovi-scissors::before{content:"\e071"}
.ovi-search::before{content:"\e072"}
.ovi-search::before{content:"\e072"}
+.ovi-seedling::before{content:"\e0b7"}
.ovi-send::before{content:"\e073"}
.ovi-send::before{content:"\e073"}
.ovi-server::before{content:"\e074"}
.ovi-server::before{content:"\e074"}
+.ovi-shapes::before{content:"\e0b8"}
+.ovi-shelter::before{content:"\e0b9"}
.ovi-shield::before{content:"\e075"}
.ovi-shield::before{content:"\e075"}
.ovi-shirt::before{content:"\e076"}
.ovi-shirt::before{content:"\e076"}
.ovi-shoe::before{content:"\e077"}
.ovi-shoe::before{content:"\e077"}
.ovi-sidebar::before{content:"\e078"}
.ovi-sidebar::before{content:"\e078"}
+.ovi-skull::before{content:"\e0ba"}
.ovi-sliders::before{content:"\e079"}
.ovi-sliders::before{content:"\e079"}
.ovi-smile::before{content:"\e07a"}
.ovi-smile::before{content:"\e07a"}
.ovi-snow::before{content:"\e07b"}
.ovi-snow::before{content:"\e07b"}
@@ -131,8 +162,10 @@
@@ -131,8 +162,10 @@
.ovi-steps::before{content:"\e07e"}
.ovi-steps::before{content:"\e07e"}
.ovi-stop::before{content:"\e07f"}
.ovi-stop::before{content:"\e07f"}
.ovi-store::before{content:"\e080"}
.ovi-store::before{content:"\e080"}
+.ovi-storm::before{content:"\e0bb"}
.ovi-sun::before{content:"\e081"}
.ovi-sun::before{content:"\e081"}
.ovi-swap::before{content:"\e082"}
.ovi-swap::before{content:"\e082"}
+.ovi-table::before{content:"\e0bc"}
.ovi-tack::before{content:"\e083"}
.ovi-tack::before{content:"\e083"}
.ovi-tag::before{content:"\e084"}
.ovi-tag::before{content:"\e084"}
.ovi-target::before{content:"\e085"}
.ovi-target::before{content:"\e085"}
@@ -141,10 +174,14 @@
@@ -141,10 +174,14 @@
.ovi-terminal::before{content:"\e088"}
.ovi-terminal::before{content:"\e088"}
.ovi-text::before{content:"\e089"}
.ovi-text::before{content:"\e089"}
.ovi-ticket::before{content:"\e08a"}
.ovi-ticket::before{content:"\e08a"}
+.ovi-timeline::before{content:"\e0bd"}
+.ovi-toolbox::before{content:"\e0be"}
.ovi-train::before{content:"\e08b"}
.ovi-train::before{content:"\e08b"}
.ovi-trash::before{content:"\e08c"}
.ovi-trash::before{content:"\e08c"}
.ovi-tree::before{content:"\e08d"}
.ovi-tree::before{content:"\e08d"}
.ovi-trophy::before{content:"\e08e"}
.ovi-trophy::before{content:"\e08e"}
+.ovi-tv::before{content:"\e0bf"}
+.ovi-umbrella::before{content:"\e0c0"}
.ovi-up::before{content:"\e08f"}
.ovi-up::before{content:"\e08f"}
.ovi-upload::before{content:"\e090"}
.ovi-upload::before{content:"\e090"}
.ovi-user::before{content:"\e091"}
.ovi-user::before{content:"\e091"}
@@ -9,23 +9,24 @@
@@ -9,23 +9,24 @@
* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the
* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the
* animations (fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake; fa-spin breathes), fa-thin and fa-light
* animations (fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake; fa-spin breathes), fa-thin and fa-light
* as thinner strokes, data-fa-transform (grow, shrink, up, down, left, right, rotate, flip-h, flip-v), and a title that
* as thinner strokes, data-fa-transform (grow, shrink, up, down, left, right, rotate, flip-h, flip-v), and a title that
- * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured.
+ * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured. The glyphs'
+ * own motion: ovg-draw draws the lines in once, ovg-once plays an animation a single time (4.63.0).
*
*
* <script src="/shared/ov-glyphs.js" defer></script> swaps what is in the page, then anything added later
* <script src="/shared/ov-glyphs.js" defer></script> swaps what is in the page, then anything added later
* OVGlyphs.swap(rootEl) swaps inside one element now
* OVGlyphs.swap(rootEl) swaps inside one element now
* OVGlyphs.fromFa('fa-eye') → 'eye' the glyph a Font Awesome name maps to, or null
* OVGlyphs.fromFa('fa-eye') → 'eye' the glyph a Font Awesome name maps to, or null
*
*
- * 149 glyphs for 236 Font Awesome names (openvibe.design/icons shows them).
+ * 187 glyphs for 311 Font Awesome names (openvibe.design/icons shows them).
*/
*/
(function () {
(function () {
'use strict';
'use strict';
if (typeof window === 'undefined' || window.OVGlyphs) return;
if (typeof window === 'undefined' || window.OVGlyphs) return;
- const G = {"alert":"<path d=\"M12 4 2.8 19.5h18.4Z\"/><path d=\"M12 10v4M12 17h.01\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","archive":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9M10 13h4\"/>","arrow-down":"<path d=\"M12 4v16M6 14l6 6 6-6\"/>","arrow-left":"<path d=\"M20 12H4M10 6l-6 6 6 6\"/>","arrow-right":"<path d=\"M4 12h16M14 6l6 6-6 6\"/>","arrow-up":"<path d=\"M12 20V4M6 10l6-6 6 6\"/>","back":"<path d=\"M15 5l-7 7 7 7\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0\"/>","book":"<path d=\"M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z\"/><path d=\"M4 19V5\"/>","brain":"<path d=\"M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2\"/>","branch":"<circle cx=\"6\" cy=\"5\" r=\"2\"/><circle cx=\"6\" cy=\"19\" r=\"2\"/><circle cx=\"18\" cy=\"7\" r=\"2\"/><path d=\"M6 7v10M18 9c0 5.5-6.5 4-11 8.5\"/>","bridge":"<path d=\"M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8\"/>","busy":"<path d=\"M6 12h.01M12 12h.01M18 12h.01\" stroke-width=\"3.4\"/>","calendar":"<rect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10h16M9 3v4M15 3v4\"/>","camera":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/>","care":"<path d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/><path d=\"M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z\"/>","cart":"<path d=\"M3 4h2l2.4 11h11L21 7H6.2\"/><circle cx=\"9\" cy=\"19.5\" r=\"1.3\"/><circle cx=\"17\" cy=\"19.5\" r=\"1.3\"/>","chart":"<path d=\"M4 4v16h16\"/><path d=\"m7.5 14.5 3.5-4 3 2.5 5-6\"/>","chat":"<path d=\"M4 5h16v11H8l-4 4Z\"/>","check":"<path d=\"m5 12.5 4.5 4.5L19 7.5\"/>","check-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8 12.4 2.8 2.8L16 9.6\"/>","chevron":"<path d=\"m9 6 6 6-6 6\"/>","chip":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\"/><path d=\"M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3 21h18M5 21V9h5v12M10 21V4h6v17M16 21v-8h3.5v8M7.5 12h.01M7.5 15.5h.01M13 7.5h.01M13 11h.01M13 14.5h.01\"/>","clipboard":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 11h6M9 15h4\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M6 6l12 12M18 6 6 18\"/>","cloud":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/>","code":"<path d=\"m8 8-4 4 4 4M16 8l4 4-4 4M14 5l-4 14\"/>","coin":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11\"/>","compress":"<path d=\"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5\"/>","computer":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M8 20h8M12 16v4\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2\"/>","crown":"<path d=\"M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7\" ry=\"3\"/><path d=\"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3\"/>","dish":"<path d=\"M5 9.5A9.5 9.5 0 0 0 14.5 19Z\"/><path d=\"m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","dollar":"<path d=\"M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18\"/>","down":"<path d=\"m6 9 6 6 6-6\"/>","download":"<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/>","drop":"<path d=\"M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z\"/>","enter":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4\"/>","expand":"<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/>","eye":"<path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","eye-off":"<path d=\"M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/>","file":"<path d=\"M6 3h8l4 4v14H6Z\"/><path d=\"M14 3v4h4\"/>","film":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21\"/>","filter":"<path d=\"M4 6h16M7 12h10M10 18h4\"/>","fire":"<path d=\"M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z\"/>","flag":"<path d=\"M5 21V4M5 4h11l-2 4 2 4H5\"/>","folder":"<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>","food":"<path d=\"M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17\"/>","game":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"11\" rx=\"5\"/><path d=\"M7 11v3M5.5 12.5h3M15.5 12h.01M18 13.5h.01\"/>","gauge":"<path d=\"M4 18a8 8 0 1 1 16 0\"/><path d=\"m12 14.5 4-5.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"1.3\"/>","gavel":"<path d=\"m14 4.5 5.5 5.5M10.5 8l5.5 5.5M12.3 6.3l-6 6 5.4 5.4 6-6M3 21l6.3-6.3M14 21h7\"/>","gear":"<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z\"/>","gift":"<rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"1\"/><path d=\"M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9\"/>","globe":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18\"/>","grid":"<rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/>","hand":"<path d=\"M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heart":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/>","help":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01\"/>","history":"<path d=\"M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1\"/><path d=\"M12 8v4.2l3 1.8\"/>","home":"<path d=\"M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z\"/>","id":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><circle cx=\"9\" cy=\"11\" r=\"2\"/><path d=\"M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3\"/>","idea":"<path d=\"M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z\"/>","image":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><circle cx=\"9\" cy=\"10\" r=\"1.6\"/><path d=\"m21 16-5-5-8 8\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6\"/>","key":"<circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2\"/>","keyboard":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><path d=\"M6 10h.01M9 10h.01M12 10h.01M15 10h.01M18 10h.01M8 14h8\"/>","language":"<path d=\"M4 5h9M8.5 3v2M6 5c.5 3 2.5 6 6 7.5M11 5c-.6 3.4-2.8 6.8-6.5 8.5M12 21l4-9 4 9M13.4 18h5.2\"/>","layers":"<path d=\"m12 3.5 9 5-9 5-9-5Z\"/><path d=\"m3 13 9 5 9-5\"/>","leaf":"<path d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8\"/>","leave":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10\"/>","link":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>","list":"<path d=\"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>","mail":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 7 8 6 8-6\"/>","map":"<path d=\"M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z\"/><path d=\"M9 4v14M15 6v14\"/>","members":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2\"/>","menu":"<path d=\"M4 7h16M4 12h16M4 17h16\"/>","mic":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0M12 18v3\"/>","mic-off":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","minus":"<path d=\"M5 12h14\"/>","moon":"<path d=\"M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z\"/>","more":"<circle cx=\"5\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"19\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z\"/>","music":"<path d=\"M9 18V6l11-2v12\"/><circle cx=\"6.5\" cy=\"18\" r=\"2.5\"/><circle cx=\"17.5\" cy=\"16\" r=\"2.5\"/>","mute":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"m16 10 4 4M20 10l-4 4\"/>","news":"<path d=\"M4 5h13v14a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2Z\"/><path d=\"M17 9h3v10a2 2 0 0 1-2 2M7.5 9h6M7.5 12.5h6M7.5 16h3.5\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"2.2\"/><circle cx=\"5.5\" cy=\"18\" r=\"2.2\"/><circle cx=\"18.5\" cy=\"18\" r=\"2.2\"/><path d=\"M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6\"/>","open":"<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"/>","palette":"<path d=\"M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z\"/><circle cx=\"7.5\" cy=\"11\" r=\"1.2\"/><circle cx=\"10\" cy=\"7.3\" r=\"1.2\"/><circle cx=\"14.5\" cy=\"7.3\" r=\"1.2\"/>","pause":"<path d=\"M8 5v14M16 5v14\"/>","pencil":"<path d=\"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"/>","phone":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/>","pin":"<path d=\"M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.4\"/>","plane":"<path d=\"M20.5 3.5 3.5 10.5l6.8 3.2 3.2 6.8Z\"/><path d=\"m10.3 13.7 10.2-10.2\"/>","play":"<path d=\"M8 5v14l11-7Z\"/>","plug":"<path d=\"M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21\"/>","plus":"<path d=\"M12 5v14M5 12h14\"/>","reply":"<path d=\"M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1\"/>","retry":"<path d=\"M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5\"/>","robot":"<rect x=\"5\" y=\"8\" width=\"14\" height=\"11\" rx=\"3\"/><path d=\"M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2\"/>","route":"<circle cx=\"6\" cy=\"18\" r=\"2.4\"/><circle cx=\"18\" cy=\"6\" r=\"2.4\"/><path d=\"M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6\"/>","save":"<path d=\"M5 4h11l3 3v13H5Z\"/><path d=\"M8 4v5h7V4M8 20v-6h8v6\"/>","scissors":"<circle cx=\"6\" cy=\"7\" r=\"2.6\"/><circle cx=\"6\" cy=\"17\" r=\"2.6\"/><path d=\"M8.2 8.6 20 18M8.2 15.4 20 6\"/>","search":"<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m20 20-4.2-4.2\"/>","server":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"7\" rx=\"2\"/><rect x=\"4\" y=\"13\" width=\"16\" height=\"7\" rx=\"2\"/><path d=\"M8 7.5h.01M8 16.5h.01\"/>","shield":"<path d=\"M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z\"/>","shirt":"<path d=\"M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z\"/>","sliders":"<path d=\"M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"2.3\"/><circle cx=\"10\" cy=\"17\" r=\"2.3\"/>","smile":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01\"/>","snow":"<path d=\"M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5\"/>","spark":"<path d=\"M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8Z\"/>","star":"<path d=\"m12 4 2.4 5 5.4.6-4 3.7 1.1 5.4L12 16l-4.9 2.7 1.1-5.4-4-3.7 5.4-.6Z\"/>","steps":"<path d=\"M9 6h11M9 12h11M9 18h11\"/><path d=\"m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/>","tack":"<path d=\"M9 3h6l-1 5 3 3H7l3-3ZM12 11v10\"/>","tag":"<path d=\"M3 12V4h8l10 10-8 8Z\"/><circle cx=\"7.5\" cy=\"8.5\" r=\"1.3\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","tent":"<path d=\"M2.5 20h19M12 5 4 20M12 5l8 15M12 13.5 9 20M12 13.5l3 6.5\"/>","terminal":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 9 3 3-3 3M13 15h4\"/>","text":"<path d=\"M5.5 20 11 4h2l5.5 16M7.6 14h8.8\"/>","ticket":"<path d=\"M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z\"/><path d=\"M14 7v10\"/>","train":"<rect x=\"6\" y=\"3\" width=\"12\" height=\"13\" rx=\"3\"/><path d=\"M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3\"/>","tree":"<path d=\"M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4\"/>","trophy":"<path d=\"M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8\"/>","up":"<path d=\"m6 15 6-6 6 6\"/>","upload":"<path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/>","user-check":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 11l2 2 4-4\"/>","video":"<rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"/><path d=\"m16 10 5-3v10l-5-3\"/>","volume":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"M15.5 9.5a3.5 3.5 0 0 1 0 5M18 7a7 7 0 0 1 0 10\"/>","wallet":"<path d=\"M4 7.5A2.5 2.5 0 0 1 6.5 5H18v4M4 7.5V18a2 2 0 0 0 2 2h14V9H6.5A2.5 2.5 0 0 1 4 7.5Z\"/><path d=\"M16 14.5h.01\"/>","water":"<path d=\"M2.5 9c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2M2.5 15c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2\"/>","wave":"<path d=\"M2 16c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2\"/><path d=\"M5.5 11.5A7 7 0 0 1 18 8.6c-2.3-.5-4.2.4-4.8 2.4\"/>","wifi":"<path d=\"M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01\"/>","wrench":"<path d=\"M14.5 4a5 5 0 0 0-4.4 7L4 17.1V20h2.9l6.1-6.1a5 5 0 0 0 7-4.4l-3 1.1-2.4-2.4 1.1-3Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13 3 5 13h6l-1 8 8-10h-6Z\"/>"};
- const FA = {"angle-down":"down","angle-right":"chevron","arrow-down":"arrow-down","arrow-left":"arrow-left","arrow-right":"arrow-right","arrow-right-from-bracket":"leave","arrow-right-to-bracket":"enter","arrow-rotate-right":"retry","arrow-up":"arrow-up","arrow-up-right-from-square":"open","arrows-rotate":"retry","ban":"ban","bars":"menu","bell":"bell","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book","box-archive":"archive","brain":"brain","bridge":"bridge","broadcast-tower":"live","bullseye":"target","calendar":"calendar","calendar-days":"calendar","camera":"camera","campground":"tent","cart":"cart","cart-shopping":"cart","chart-bar":"chart","chart-line":"chart","chart-simple":"chart","check":"check","check-circle":"check-circle","chevron-down":"down","chevron-left":"back","chevron-right":"chevron","chevron-up":"up","circle":"circle","circle-check":"check-circle","circle-exclamation":"alert-circle","circle-info":"info","circle-nodes":"nodes","circle-notch":"busy","circle-play":"play","circle-question":"help","circle-xmark":"x-circle","city":"city","clipboard":"clipboard","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","cloud":"cloud","cloud-arrow-up":"upload","cloud-rain":"cloud","cloud-showers-heavy":"cloud","cloud-sun":"cloud","code":"code","code-branch":"branch","code-fork":"branch","coin":"coin","coins":"coin","comment":"chat","comment-dots":"chat","comments":"chat","compress":"compress","copy":"copy","crown":"crown","cut":"scissors","database":"database","desktop":"computer","diagram-project":"nodes","display":"computer","dollar-sign":"dollar","download":"download","droplet":"drop","earth-americas":"globe","earth-europe":"globe","ellipsis":"more","ellipsis-vertical":"more","envelope":"mail","expand":"expand","external-link":"open","eye":"eye","eye-slash":"eye-off","face-smile":"smile","file":"file","file-audio":"file","file-image":"image","file-lines":"file","file-pdf":"file","film":"film","filter":"filter","fire":"fire","flag":"flag","floppy-disk":"save","folder":"folder","font":"text","gamepad":"game","gauge":"gauge","gauge-high":"gauge","gavel":"gavel","gear":"gear","gears":"gear","gift":"gift","globe":"globe","grid":"grid","hand":"hand","hand-holding-dollar":"coin","hand-holding-heart":"care","hand-pointer":"hand","hashtag":"hash","heart":"heart","house":"home","house-chimney":"home","id-card":"id","image":"image","images":"image","key":"key","keyboard":"keyboard","language":"language","laptop":"computer","layer-group":"layers","leaf":"leaf","lightbulb":"idea","link":"link","list":"list","list-check":"steps","list-ul":"list","location-dot":"pin","location-pin":"pin","lock":"lock","magnifying-glass":"search","map":"map","map-pin":"pin","message":"chat","microchip":"chip","microphone":"mic","microphone-slash":"mic-off","minus":"minus","mobile-screen":"phone","moon":"moon","mountain":"mountain","mountain-sun":"mountain","music":"music","network-wired":"nodes","newspaper":"news","palette":"palette","paper-plane":"plane","paste":"clipboard","pause":"pause","pen":"pencil","pen-nib":"pencil","pen-to-square":"pencil","pencil":"pencil","people-group":"members","person-swimming":"water","phone":"phone","photo-film":"film","play":"play","plug":"plug","plus":"plus","question":"help","reply":"reply","right-from-bracket":"leave","right-to-bracket":"enter","robot":"robot","rotate":"retry","rotate-left":"retry","rotate-right":"retry","route":"route","satellite-dish":"dish","scissors":"scissors","screwdriver-wrench":"wrench","search":"search","server":"server","share-nodes":"nodes","shield":"shield","shield-halved":"shield","shirt":"shirt","signal":"wifi","sitemap":"nodes","sliders":"sliders","sliders-h":"sliders","snowflake":"snow","sparkles":"spark","spinner":"busy","star":"star","star-of-life":"spark","stop":"stop","store":"store","sun":"sun","table-cells":"grid","tag":"tag","tags":"tag","terminal":"terminal","text-height":"text","thumbtack":"tack","ticket":"ticket","times":"close","tower-broadcast":"live","tower-cell":"live","train":"train","trash":"trash","trash-can":"trash","tree":"tree","triangle-exclamation":"alert","trophy":"trophy","unlock":"lock","up-right-and-down-left-from-center":"expand","up-right-from-square":"open","upload":"upload","user":"user","user-astronaut":"user","user-check":"user-check","user-group":"members","user-plus":"invite","user-secret":"user","user-shield":"shield","users":"members","utensils":"food","video":"video","video-slash":"video","volume-high":"volume","volume-low":"volume","volume-off":"mute","volume-xmark":"mute","wallet":"wallet","wand-magic":"spark","wand-magic-sparkles":"spark","water":"water","wave-square":"wave","wifi":"wifi","wrench":"wrench","xmark":"close","xmark-circle":"x-circle"};
+ const G = {"alert":"<path d=\"M12 4 2.8 19.5h18.4Z\"/><path d=\"M12 10v4M12 17h.01\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","archive":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9M10 13h4\"/>","arrow-down":"<path d=\"M12 4v16M6 14l6 6 6-6\"/>","arrow-left":"<path d=\"M20 12H4M10 6l-6 6 6 6\"/>","arrow-right":"<path d=\"M4 12h16M14 6l6 6-6 6\"/>","arrow-up":"<path d=\"M12 20V4M6 10l6-6 6 6\"/>","back":"<path d=\"M15 5l-7 7 7 7\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0\"/>","book":"<path d=\"M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z\"/><path d=\"M4 19V5\"/>","brain":"<path d=\"M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2\"/>","branch":"<circle cx=\"6\" cy=\"5\" r=\"2\"/><circle cx=\"6\" cy=\"19\" r=\"2\"/><circle cx=\"18\" cy=\"7\" r=\"2\"/><path d=\"M6 7v10M18 9c0 5.5-6.5 4-11 8.5\"/>","bridge":"<path d=\"M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8\"/>","briefcase":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z\"/>","busy":"<path d=\"M6 12h.01M12 12h.01M18 12h.01\" stroke-width=\"3.4\"/>","calendar":"<rect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10h16M9 3v4M15 3v4\"/>","camera":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/>","card":"<rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2\"/><path d=\"M2.5 10h19M6 15h4\"/>","care":"<path d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/><path d=\"M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z\"/>","cart":"<path d=\"M3 4h2l2.4 11h11L21 7H6.2\"/><circle cx=\"9\" cy=\"19.5\" r=\"1.3\"/><circle cx=\"17\" cy=\"19.5\" r=\"1.3\"/>","chart":"<path d=\"M4 4v16h16\"/><path d=\"m7.5 14.5 3.5-4 3 2.5 5-6\"/>","chat":"<path d=\"M4 5h16v11H8l-4 4Z\"/>","check":"<path d=\"m5 12.5 4.5 4.5L19 7.5\"/>","check-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8 12.4 2.8 2.8L16 9.6\"/>","check-double":"<path d=\"m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8\"/>","chevron":"<path d=\"m9 6 6 6-6 6\"/>","chip":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\"/><path d=\"M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3 21h18M5 21V9h5v12M10 21V4h6v17M16 21v-8h3.5v8M7.5 12h.01M7.5 15.5h.01M13 7.5h.01M13 11h.01M13 14.5h.01\"/>","clipboard":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 11h6M9 15h4\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M6 6l12 12M18 6 6 18\"/>","cloud":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/>","code":"<path d=\"m8 8-4 4 4 4M16 8l4 4-4 4M14 5l-4 14\"/>","coin":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11\"/>","compress":"<path d=\"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5\"/>","computer":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M8 20h8M12 16v4\"/>","contrast":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3v18M12 7.5h7M12 12h9M12 16.5h7\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2\"/>","crown":"<path d=\"M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7\" ry=\"3\"/><path d=\"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3\"/>","dice":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01\" stroke-width=\"2.6\"/>","dish":"<path d=\"M5 9.5A9.5 9.5 0 0 0 14.5 19Z\"/><path d=\"m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","dollar":"<path d=\"M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18\"/>","door":"<path d=\"M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01\"/>","down":"<path d=\"m6 9 6 6 6-6\"/>","download":"<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/>","drive":"<rect x=\"3\" y=\"13\" width=\"18\" height=\"7\" rx=\"2\"/><path d=\"M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01\"/>","drop":"<path d=\"M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z\"/>","enter":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4\"/>","expand":"<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/>","eye":"<path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","eye-off":"<path d=\"M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/>","fast-forward":"<path d=\"M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z\"/>","file":"<path d=\"M6 3h8l4 4v14H6Z\"/><path d=\"M14 3v4h4\"/>","file-code":"<path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z\"/><path d=\"M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2\"/>","film":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21\"/>","filter":"<path d=\"M4 6h16M7 12h10M10 18h4\"/>","fire":"<path d=\"M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z\"/>","fist":"<path d=\"M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9\"/>","flag":"<path d=\"M5 21V4M5 4h11l-2 4 2 4H5\"/>","folder":"<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>","food":"<path d=\"M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17\"/>","game":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"11\" rx=\"5\"/><path d=\"M7 11v3M5.5 12.5h3M15.5 12h.01M18 13.5h.01\"/>","gauge":"<path d=\"M4 18a8 8 0 1 1 16 0\"/><path d=\"m12 14.5 4-5.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"1.3\"/>","gavel":"<path d=\"m14 4.5 5.5 5.5M10.5 8l5.5 5.5M12.3 6.3l-6 6 5.4 5.4 6-6M3 21l6.3-6.3M14 21h7\"/>","gear":"<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z\"/>","gift":"<rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"1\"/><path d=\"M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9\"/>","globe":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18\"/>","grid":"<rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/>","group":"<path d=\"M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4\"/><rect x=\"7\" y=\"7\" width=\"6\" height=\"5\" rx=\"1\"/><rect x=\"11\" y=\"12\" width=\"6\" height=\"5\" rx=\"1\"/>","hand":"<path d=\"M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heading":"<path d=\"M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4\"/>","headphones":"<path d=\"M4 15v-3a8 8 0 0 1 16 0v3\"/><rect x=\"3\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/><rect x=\"16.5\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/>","heart":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/>","heart-pulse":"<path d=\"M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5\"/><path d=\"M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5\"/>","help":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01\"/>","history":"<path d=\"M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1\"/><path d=\"M12 8v4.2l3 1.8\"/>","home":"<path d=\"M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8\" cy=\"5.5\" r=\"1.8\"/><path d=\"M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3\"/>","id":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><circle cx=\"9\" cy=\"11\" r=\"2\"/><path d=\"M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3\"/>","idea":"<path d=\"M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z\"/>","image":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><circle cx=\"9\" cy=\"10\" r=\"1.6\"/><path d=\"m21 16-5-5-8 8\"/>","inbox":"<path d=\"M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5\"/>","infinity":"<path d=\"M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6\"/>","key":"<circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2\"/>","keyboard":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><path d=\"M6 10h.01M9 10h.01M12 10h.01M15 10h.01M18 10h.01M8 14h8\"/>","language":"<path d=\"M4 5h9M8.5 3v2M6 5c.5 3 2.5 6 6 7.5M11 5c-.6 3.4-2.8 6.8-6.5 8.5M12 21l4-9 4 9M13.4 18h5.2\"/>","layers":"<path d=\"m12 3.5 9 5-9 5-9-5Z\"/><path d=\"m3 13 9 5 9-5\"/>","leaf":"<path d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8\"/>","leave":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10\"/>","lifebuoy":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6\"/>","link":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>","list":"<path d=\"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01\"/>","list-ordered":"<path d=\"M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>","mail":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 7 8 6 8-6\"/>","map":"<path d=\"M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z\"/><path d=\"M9 4v14M15 6v14\"/>","medical":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6\"/>","members":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2\"/>","menu":"<path d=\"M4 7h16M4 12h16M4 17h16\"/>","mic":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0M12 18v3\"/>","mic-off":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","minus":"<path d=\"M5 12h14\"/>","money":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M6 9.5v.01M18 14.5v.01\"/>","moon":"<path d=\"M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z\"/>","more":"<circle cx=\"5\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"19\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z\"/>","music":"<path d=\"M9 18V6l11-2v12\"/><circle cx=\"6.5\" cy=\"18\" r=\"2.5\"/><circle cx=\"17.5\" cy=\"16\" r=\"2.5\"/>","mute":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"m16 10 4 4M20 10l-4 4\"/>","news":"<path d=\"M4 5h13v14a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2Z\"/><path d=\"M17 9h3v10a2 2 0 0 1-2 2M7.5 9h6M7.5 12.5h6M7.5 16h3.5\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"2.2\"/><circle cx=\"5.5\" cy=\"18\" r=\"2.2\"/><circle cx=\"18.5\" cy=\"18\" r=\"2.2\"/><path d=\"M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6\"/>","open":"<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"/>","palette":"<path d=\"M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z\"/><circle cx=\"7.5\" cy=\"11\" r=\"1.2\"/><circle cx=\"10\" cy=\"7.3\" r=\"1.2\"/><circle cx=\"14.5\" cy=\"7.3\" r=\"1.2\"/>","parking":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5\"/>","pause":"<path d=\"M8 5v14M16 5v14\"/>","pencil":"<path d=\"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"/>","phone":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/>","pin":"<path d=\"M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.4\"/>","plane":"<path d=\"M20.5 3.5 3.5 10.5l6.8 3.2 3.2 6.8Z\"/><path d=\"m10.3 13.7 10.2-10.2\"/>","play":"<path d=\"M8 5v14l11-7Z\"/>","plug":"<path d=\"M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21\"/>","plus":"<path d=\"M12 5v14M5 12h14\"/>","reply":"<path d=\"M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1\"/>","restroom":"<circle cx=\"7\" cy=\"4.8\" r=\"1.8\"/><circle cx=\"17\" cy=\"4.8\" r=\"1.8\"/><path d=\"M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4\"/>","retry":"<path d=\"M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5\"/>","rewind":"<path d=\"M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z\"/>","road":"<path d=\"M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20\"/>","robot":"<rect x=\"5\" y=\"8\" width=\"14\" height=\"11\" rx=\"3\"/><path d=\"M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2\"/>","rocket":"<path d=\"M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z\"/><circle cx=\"15.5\" cy=\"8.5\" r=\"1.5\"/>","route":"<circle cx=\"6\" cy=\"18\" r=\"2.4\"/><circle cx=\"18\" cy=\"6\" r=\"2.4\"/><path d=\"M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6\"/>","save":"<path d=\"M5 4h11l3 3v13H5Z\"/><path d=\"M8 4v5h7V4M8 20v-6h8v6\"/>","scale":"<path d=\"M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0\"/>","scissors":"<circle cx=\"6\" cy=\"7\" r=\"2.6\"/><circle cx=\"6\" cy=\"17\" r=\"2.6\"/><path d=\"M8.2 8.6 20 18M8.2 15.4 20 6\"/>","search":"<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m20 20-4.2-4.2\"/>","seedling":"<path d=\"M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z\"/>","server":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"7\" rx=\"2\"/><rect x=\"4\" y=\"13\" width=\"16\" height=\"7\" rx=\"2\"/><path d=\"M8 7.5h.01M8 16.5h.01\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.5\" r=\"3.5\"/><path d=\"m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z\"/>","shelter":"<path d=\"M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12\"/><circle cx=\"12\" cy=\"11\" r=\"1.8\"/><path d=\"M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21\"/>","shield":"<path d=\"M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z\"/>","shirt":"<path d=\"M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z\"/>","skull":"<path d=\"M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.4\"/><circle cx=\"14.5\" cy=\"10.5\" r=\"1.4\"/><path d=\"M10.5 18v3M13.5 18v3\"/>","sliders":"<path d=\"M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"2.3\"/><circle cx=\"10\" cy=\"17\" r=\"2.3\"/>","smile":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01\"/>","snow":"<path d=\"M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5\"/>","spark":"<path d=\"M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8Z\"/>","star":"<path d=\"m12 4 2.4 5 5.4.6-4 3.7 1.1 5.4L12 16l-4.9 2.7 1.1-5.4-4-3.7 5.4-.6Z\"/>","steps":"<path d=\"M9 6h11M9 12h11M9 18h11\"/><path d=\"m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4\"/>","storm":"<path d=\"M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5\"/><path d=\"m13 13-2.5 4h3L11 21\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/>","swap":"<path d=\"M4 8h14l-3.5-3.5M20 16H6l3.5 3.5\"/>","table":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20\"/>","tack":"<path d=\"M9 3h6l-1 5 3 3H7l3-3ZM12 11v10\"/>","tag":"<path d=\"M3 12V4h8l10 10-8 8Z\"/><circle cx=\"7.5\" cy=\"8.5\" r=\"1.3\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","tent":"<path d=\"M2.5 20h19M12 5 4 20M12 5l8 15M12 13.5 9 20M12 13.5l3 6.5\"/>","terminal":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 9 3 3-3 3M13 15h4\"/>","text":"<path d=\"M5.5 20 11 4h2l5.5 16M7.6 14h8.8\"/>","ticket":"<path d=\"M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z\"/><path d=\"M14 7v10\"/>","timeline":"<path d=\"M3 12h1M8 12h2M14 12h2M20 12h1\"/><circle cx=\"6\" cy=\"12\" r=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"18\" cy=\"12\" r=\"2\"/><path d=\"M6 10V5.5M12 14v4.5M18 10V5.5\"/>","toolbox":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3\"/>","train":"<rect x=\"6\" y=\"3\" width=\"12\" height=\"13\" rx=\"3\"/><path d=\"M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3\"/>","tree":"<path d=\"M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4\"/>","trophy":"<path d=\"M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8\"/>","tv":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"13\" rx=\"2\"/><path d=\"m8 3 4 4 4-4\"/>","umbrella":"<path d=\"M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01\"/>","up":"<path d=\"m6 15 6-6 6 6\"/>","upload":"<path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/>","user-check":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 11l2 2 4-4\"/>","video":"<rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"/><path d=\"m16 10 5-3v10l-5-3\"/>","volume":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"M15.5 9.5a3.5 3.5 0 0 1 0 5M18 7a7 7 0 0 1 0 10\"/>","wallet":"<path d=\"M4 7.5A2.5 2.5 0 0 1 6.5 5H18v4M4 7.5V18a2 2 0 0 0 2 2h14V9H6.5A2.5 2.5 0 0 1 4 7.5Z\"/><path d=\"M16 14.5h.01\"/>","water":"<path d=\"M2.5 9c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2M2.5 15c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2\"/>","wave":"<path d=\"M2 16c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2\"/><path d=\"M5.5 11.5A7 7 0 0 1 18 8.6c-2.3-.5-4.2.4-4.8 2.4\"/>","wifi":"<path d=\"M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01\"/>","wrench":"<path d=\"M14.5 4a5 5 0 0 0-4.4 7L4 17.1V20h2.9l6.1-6.1a5 5 0 0 0 7-4.4l-3 1.1-2.4-2.4 1.1-3Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13 3 5 13h6l-1 8 8-10h-6Z\"/>"};
+ const FA = {"adjust":"contrast","angle-down":"down","angle-right":"chevron","arrow-down":"arrow-down","arrow-left":"arrow-left","arrow-right":"arrow-right","arrow-right-arrow-left":"swap","arrow-right-from-bracket":"leave","arrow-right-to-bracket":"enter","arrow-rotate-right":"retry","arrow-up":"arrow-up","arrow-up-right-from-square":"open","arrows-rotate":"retry","backward":"rewind","backward-fast":"rewind","balance-scale":"scale","ban":"ban","bars":"menu","bell":"bell","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book","box-archive":"archive","brain":"brain","bridge":"bridge","briefcase":"briefcase","briefcase-medical":"medical","broadcast-tower":"live","bullseye":"target","calendar":"calendar","calendar-days":"calendar","camera":"camera","campground":"tent","cart":"cart","cart-shopping":"cart","chart-bar":"chart","chart-line":"chart","chart-simple":"chart","check":"check","check-circle":"check-circle","check-double":"check-double","chevron-down":"down","chevron-left":"back","chevron-right":"chevron","chevron-up":"up","circle":"circle","circle-check":"check-circle","circle-exclamation":"alert-circle","circle-half-stroke":"contrast","circle-info":"info","circle-nodes":"nodes","circle-notch":"busy","circle-play":"play","circle-question":"help","circle-xmark":"x-circle","city":"city","clipboard":"clipboard","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","cloud":"cloud","cloud-arrow-up":"upload","cloud-bolt":"storm","cloud-rain":"cloud","cloud-showers-heavy":"cloud","cloud-sun":"cloud","code":"code","code-branch":"branch","code-fork":"branch","coin":"coin","coins":"coin","comment":"chat","comment-dots":"chat","comments":"chat","compress":"compress","copy":"copy","credit-card":"card","crown":"crown","cut":"scissors","database":"database","desktop":"computer","diagram-project":"nodes","dice":"dice","dice-five":"dice","dice-six":"dice","display":"computer","dollar-sign":"dollar","door-closed":"door","door-open":"door","download":"download","droplet":"drop","earth-americas":"globe","earth-europe":"globe","ellipsis":"more","ellipsis-vertical":"more","envelope":"mail","exchange-alt":"swap","expand":"expand","external-link":"open","eye":"eye","eye-slash":"eye-off","face-grin-stars":"smile","face-smile":"smile","faucet":"drop","faucet-drip":"drop","file":"file","file-audio":"file","file-code":"file-code","file-image":"image","file-lines":"file","file-pdf":"file","film":"film","filter":"filter","fire":"fire","fist-raised":"fist","flag":"flag","floppy-disk":"save","folder":"folder","folder-open":"folder","font":"text","forward":"fast-forward","forward-fast":"fast-forward","gamepad":"game","gauge":"gauge","gauge-high":"gauge","gavel":"gavel","gear":"gear","gears":"gear","gift":"gift","globe":"globe","grid":"grid","hand":"hand","hand-fist":"fist","hand-holding-dollar":"coin","hand-holding-heart":"care","hand-pointer":"hand","hard-drive":"drive","hashtag":"hash","hdd":"drive","heading":"heading","headphones":"headphones","headphones-simple":"headphones","headset":"headphones","heart":"heart","heart-pulse":"heart-pulse","heartbeat":"heart-pulse","hiking":"mountain","hot-tub":"hot-tub","hot-tub-person":"hot-tub","house":"home","house-chimney":"home","icons":"shapes","id-card":"id","image":"image","images":"image","inbox":"inbox","infinity":"infinity","info-circle":"info","key":"key","keyboard":"keyboard","kit-medical":"medical","language":"language","laptop":"computer","layer-group":"layers","leaf":"leaf","life-ring":"lifebuoy","lightbulb":"idea","link":"link","list":"list","list-check":"steps","list-ol":"list-ordered","list-ul":"list","location-dot":"pin","location-pin":"pin","lock":"lock","magnifying-glass":"search","map":"map","map-pin":"pin","message":"chat","microchip":"chip","microphone":"mic","microphone-lines":"mic","microphone-slash":"mic-off","minus":"minus","mobile-screen":"phone","money-bill":"money","money-bill-1":"money","money-bill-transfer":"money","money-bill-wave":"money","money-check":"money","moon":"moon","mountain":"mountain","mountain-sun":"mountain","music":"music","network-wired":"nodes","newspaper":"news","object-group":"group","palette":"palette","paper-plane":"plane","parking":"parking","paste":"clipboard","pause":"pause","pen":"pencil","pen-nib":"pencil","pen-to-square":"pencil","pencil":"pencil","people-arrows":"members","people-group":"members","person-hiking":"mountain","person-shelter":"shelter","person-swimming":"water","phone":"phone","photo-film":"film","play":"play","plug":"plug","plus":"plus","question":"help","reply":"reply","restroom":"restroom","right-from-bracket":"leave","right-left":"swap","right-to-bracket":"enter","road":"road","robot":"robot","rocket":"rocket","rotate":"retry","rotate-left":"retry","rotate-right":"retry","route":"route","satellite-dish":"dish","scale-balanced":"scale","scissors":"scissors","screwdriver-wrench":"wrench","search":"search","seedling":"seedling","server":"server","shapes":"shapes","share-nodes":"nodes","shield":"shield","shield-halved":"shield","shirt":"shirt","signal":"wifi","sitemap":"nodes","skull":"skull","skull-crossbones":"skull","sliders":"sliders","sliders-h":"sliders","snowflake":"snow","sparkles":"spark","spinner":"busy","square-parking":"parking","star":"star","star-of-life":"spark","stop":"stop","store":"store","suitcase":"briefcase","suitcase-medical":"medical","sun":"sun","table":"table","table-cells":"grid","table-list":"table","tag":"tag","tags":"tag","television":"tv","terminal":"terminal","text-height":"text","thumbtack":"tack","ticket":"ticket","timeline":"timeline","times":"close","toolbox":"toolbox","tower-broadcast":"live","tower-cell":"live","train":"train","trash":"trash","trash-can":"trash","tree":"tree","triangle-exclamation":"alert","trophy":"trophy","tv":"tv","umbrella":"umbrella","umbrella-beach":"umbrella","unlock":"lock","up-right-and-down-left-from-center":"expand","up-right-from-square":"open","upload":"upload","user":"user","user-astronaut":"user","user-check":"user-check","user-group":"members","user-plus":"invite","user-secret":"user","user-shield":"shield","users":"members","utensils":"food","video":"video","video-slash":"video","volume-high":"volume","volume-low":"volume","volume-off":"mute","volume-xmark":"mute","wallet":"wallet","wand-magic":"spark","wand-magic-sparkles":"spark","water":"water","wave-square":"wave","wifi":"wifi","wrench":"wrench","xmark":"close","xmark-circle":"x-circle"};
// Font Awesome's style, size, layout and animation classes: they say how, not what.
// Font Awesome's style, size, layout and animation classes: they say how, not what.
const MOD = /^fa-(solid|regular|light|thin|duotone|sharp|sharp-duotone|classic|brands|fw|lg|xl|xs|sm|2xs|2xl|[0-9]+x|spin|spin-pulse|spin-reverse|pulse|beat|beat-fade|bounce|fade|flip|shake|border|inverse|li|ul|stack|stack-1x|stack-2x|layers|layers-text|layers-counter|pull-left|pull-right|rotate-[0-9]+|rotate-by|flip-horizontal|flip-vertical|flip-both|swap-opacity|width-auto|width-fixed)$/;
const MOD = /^fa-(solid|regular|light|thin|duotone|sharp|sharp-duotone|classic|brands|fw|lg|xl|xs|sm|2xs|2xl|[0-9]+x|spin|spin-pulse|spin-reverse|pulse|beat|beat-fade|bounce|fade|flip|shake|border|inverse|li|ul|stack|stack-1x|stack-2x|layers|layers-text|layers-counter|pull-left|pull-right|rotate-[0-9]+|rotate-by|flip-horizontal|flip-vertical|flip-both|swap-opacity|width-auto|width-fixed)$/;
const BUSY = '<circle cx="6" cy="12" r="1.8"/><circle cx="12" cy="12" r="1.8"/><circle cx="18" cy="12" r="1.8"/>';
const BUSY = '<circle cx="6" cy="12" r="1.8"/><circle cx="12" cy="12" r="1.8"/><circle cx="18" cy="12" r="1.8"/>';
- const CSS = ".ovg::before,.ovg::after{content:none!important;display:none!important}.ovg{display:inline-block;width:1.15em;height:1.15em;line-height:1;vertical-align:-.18em;font-family:inherit!important;font-style:normal!important}.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:var(--ovg-stroke,2);stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.fa-duotone>svg{stroke:var(--fa-primary-color,currentColor)}.ovg.fa-2xs{font-size:.625em}.ovg.fa-xs{font-size:.75em}.ovg.fa-sm{font-size:.875em}.ovg.fa-lg{font-size:1.25em}.ovg.fa-xl{font-size:1.5em}.ovg.fa-2xl{font-size:2em}.ovg.fa-1x{font-size:1em}.ovg.fa-2x{font-size:2em}.ovg.fa-3x{font-size:3em}.ovg.fa-4x{font-size:4em}.ovg.fa-5x{font-size:5em}.ovg.fa-6x{font-size:6em}.ovg.fa-7x{font-size:7em}.ovg.fa-8x{font-size:8em}.ovg.fa-9x{font-size:9em}.ovg.fa-10x{font-size:10em}.ovg.fa-fw{width:1.25em;text-align:center}.ovg.fa-border{box-sizing:content-box;border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);padding:var(--fa-border-padding,.2em .25em .15em)}.ovg.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.ovg.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.ovg.fa-rotate-90>svg{transform:rotate(90deg)}.ovg.fa-rotate-180>svg{transform:rotate(180deg)}.ovg.fa-rotate-270>svg{transform:rotate(270deg)}.ovg.fa-rotate-by>svg{transform:rotate(var(--fa-rotate-angle,0))}.ovg.fa-flip-horizontal>svg{transform:scale(-1,1)}.ovg.fa-flip-vertical>svg{transform:scale(1,-1)}.ovg.fa-flip-both>svg{transform:scale(-1,-1)}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{position:absolute;left:calc(var(--fa-li-width,2em)*-1);width:var(--fa-li-width,2em);text-align:center;line-height:inherit}.fa-stack{display:inline-block;position:relative;width:2.5em;height:2em;line-height:2em;vertical-align:middle}.fa-stack>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-stack>.ovg.fa-stack-2x{font-size:2em}.ovg.fa-inverse{color:var(--fa-inverse,#fff)}.fa-layers{display:inline-block;position:relative;width:1em;height:1em;text-align:center;vertical-align:-.125em}.fa-layers>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-layers-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-block}.fa-layers-counter{position:absolute;top:var(--fa-top,0);right:var(--fa-right,0);display:inline-block;box-sizing:border-box;min-width:var(--fa-counter-min-width,1.5em);max-width:var(--fa-counter-max-width,5em);padding:var(--fa-counter-padding,.25em .5em);border-radius:var(--fa-counter-border-radius,1em);background:var(--fa-counter-background-color,#ff253a);color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.ovg.fa-beat{animation:ovgBeat var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-bounce{animation:ovgBounce var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-fade{animation:ovgFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-beat-fade{animation:ovgBeatFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-flip{animation:ovgFlip var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-shake{animation:ovgShake var(--fa-animation-duration,1s) var(--fa-animation-timing,linear) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-spin,.ovg.fa-pulse,.ovg.fa-spin-pulse{animation:ovgBreathe var(--fa-animation-duration,1.6s) ease-in-out var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite)!important}.ovg[data-ovg=busy].fa-spin,.ovg[data-ovg=busy].fa-pulse,.ovg[data-ovg=busy].fa-spin-pulse{animation:none!important}@keyframes ovgBeat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes ovgBounce{0%{transform:scale(1,1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%,100%{transform:scale(1,1) translateY(0)}}@keyframes ovgFade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes ovgBeatFade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle{animation:none!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle{animation:none!important}";
+ const CSS = ".ovg::before,.ovg::after{content:none!important;display:none!important}.ovg{display:inline-block;width:1.15em;height:1.15em;line-height:1;vertical-align:-.18em;font-family:inherit!important;font-style:normal!important}.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:var(--ovg-stroke,2);stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.fa-duotone>svg{stroke:var(--fa-primary-color,currentColor)}.ovg.fa-2xs{font-size:.625em}.ovg.fa-xs{font-size:.75em}.ovg.fa-sm{font-size:.875em}.ovg.fa-lg{font-size:1.25em}.ovg.fa-xl{font-size:1.5em}.ovg.fa-2xl{font-size:2em}.ovg.fa-1x{font-size:1em}.ovg.fa-2x{font-size:2em}.ovg.fa-3x{font-size:3em}.ovg.fa-4x{font-size:4em}.ovg.fa-5x{font-size:5em}.ovg.fa-6x{font-size:6em}.ovg.fa-7x{font-size:7em}.ovg.fa-8x{font-size:8em}.ovg.fa-9x{font-size:9em}.ovg.fa-10x{font-size:10em}.ovg.fa-fw{width:1.25em;text-align:center}.ovg.fa-border{box-sizing:content-box;border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);padding:var(--fa-border-padding,.2em .25em .15em)}.ovg.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.ovg.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.ovg.fa-rotate-90>svg{transform:rotate(90deg)}.ovg.fa-rotate-180>svg{transform:rotate(180deg)}.ovg.fa-rotate-270>svg{transform:rotate(270deg)}.ovg.fa-rotate-by>svg{transform:rotate(var(--fa-rotate-angle,0))}.ovg.fa-flip-horizontal>svg{transform:scale(-1,1)}.ovg.fa-flip-vertical>svg{transform:scale(1,-1)}.ovg.fa-flip-both>svg{transform:scale(-1,-1)}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{position:absolute;left:calc(var(--fa-li-width,2em)*-1);width:var(--fa-li-width,2em);text-align:center;line-height:inherit}.fa-stack{display:inline-block;position:relative;width:2.5em;height:2em;line-height:2em;vertical-align:middle}.fa-stack>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-stack>.ovg.fa-stack-2x{font-size:2em}.ovg.fa-inverse{color:var(--fa-inverse,#fff)}.fa-layers{display:inline-block;position:relative;width:1em;height:1em;text-align:center;vertical-align:-.125em}.fa-layers>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-layers-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-block}.fa-layers-counter{position:absolute;top:var(--fa-top,0);right:var(--fa-right,0);display:inline-block;box-sizing:border-box;min-width:var(--fa-counter-min-width,1.5em);max-width:var(--fa-counter-max-width,5em);padding:var(--fa-counter-padding,.25em .5em);border-radius:var(--fa-counter-border-radius,1em);background:var(--fa-counter-background-color,#ff253a);color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.ovg.fa-beat{animation:ovgBeat var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-bounce{animation:ovgBounce var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-fade{animation:ovgFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-beat-fade{animation:ovgBeatFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-flip{animation:ovgFlip var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-shake{animation:ovgShake var(--fa-animation-duration,1s) var(--fa-animation-timing,linear) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-spin,.ovg.fa-pulse,.ovg.fa-spin-pulse{animation:ovgBreathe var(--fa-animation-duration,1.6s) ease-in-out var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite)!important}.ovg[data-ovg=busy].fa-spin,.ovg[data-ovg=busy].fa-pulse,.ovg[data-ovg=busy].fa-spin-pulse{animation:none!important}@keyframes ovgBeat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes ovgBounce{0%{transform:scale(1,1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%,100%{transform:scale(1,1) translateY(0)}}@keyframes ovgFade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes ovgBeatFade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}.ovg.ovg-draw>svg>*{stroke-dasharray:1;stroke-dashoffset:1;animation:ovgDraw var(--ovg-draw-duration,.6s) cubic-bezier(.4,0,.2,1) var(--ovg-draw-delay,0s) forwards}.ovg.ovg-draw>svg>*:nth-child(2){animation-delay:calc(var(--ovg-draw-delay,0s) + .12s)}.ovg.ovg-draw>svg>*:nth-child(n+3){animation-delay:calc(var(--ovg-draw-delay,0s) + .24s)}@keyframes ovgDraw{to{stroke-dashoffset:0}}.ovg.ovg-once{--fa-animation-iteration-count:1}.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle,html[data-ov-motion=reduced] .ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}";
const nameOf = (el) => { for (const c of el.classList) if (c.startsWith('fa-') && !MOD.test(c)) return c.slice(3); return null; };
const nameOf = (el) => { for (const c of el.classList) if (c.startsWith('fa-') && !MOD.test(c)) return c.slice(3); return null; };
const fromFa = (fa) => { const n = String(fa || '').replace(/^fa-/, ''); return Object.prototype.hasOwnProperty.call(FA, n) ? FA[n] : null; };
const fromFa = (fa) => { const n = String(fa || '').replace(/^fa-/, ''); return Object.prototype.hasOwnProperty.call(FA, n) ? FA[n] : null; };
// data-fa-transform, in Font Awesome's units (a sixteenth of the icon).
// data-fa-transform, in Font Awesome's units (a sixteenth of the icon).
@@ -60,6 +61,8 @@
@@ -60,6 +61,8 @@
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
const t = transformOf(tf);
const t = transformOf(tf);
el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';
el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';
+ // ovg-draw draws each line in: every shape measures 1 along its length.
+ if (el.classList.contains('ovg-draw')) el.firstChild.childNodes.forEach((n) => { if (n.setAttribute) n.setAttribute('pathLength', '1'); });
}
}
const SEL = 'i[class*="fa-"],span[class*="fa-"]';
const SEL = 'i[class*="fa-"],span[class*="fa-"]';
function swap(root) {
function swap(root) {
@@ -14,15 +14,18 @@
@@ -14,15 +14,18 @@
<symbol id="ovg-brain" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2"/></symbol>
<symbol id="ovg-brain" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2"/></symbol>
<symbol id="ovg-branch" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9c0 5.5-6.5 4-11 8.5"/></symbol>
<symbol id="ovg-branch" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9c0 5.5-6.5 4-11 8.5"/></symbol>
<symbol id="ovg-bridge" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8"/></symbol>
<symbol id="ovg-bridge" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8"/></symbol>
+<symbol id="ovg-briefcase" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z"/></symbol>
<symbol id="ovg-busy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 12h.01M12 12h.01M18 12h.01" stroke-width="3.4"/></symbol>
<symbol id="ovg-busy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 12h.01M12 12h.01M18 12h.01" stroke-width="3.4"/></symbol>
<symbol id="ovg-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="5" width="16" height="15" rx="2"/><path d="M4 10h16M9 3v4M15 3v4"/></symbol>
<symbol id="ovg-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="5" width="16" height="15" rx="2"/><path d="M4 10h16M9 3v4M15 3v4"/></symbol>
<symbol id="ovg-camera" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z"/><circle cx="12" cy="13.3" r="3.4"/></symbol>
<symbol id="ovg-camera" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z"/><circle cx="12" cy="13.3" r="3.4"/></symbol>
+<symbol id="ovg-card" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="5" width="19" height="14" rx="2"/><path d="M2.5 10h19M6 15h4"/></symbol>
<symbol id="ovg-care" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3"/><path d="M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z"/></symbol>
<symbol id="ovg-care" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3"/><path d="M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z"/></symbol>
<symbol id="ovg-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2l2.4 11h11L21 7H6.2"/><circle cx="9" cy="19.5" r="1.3"/><circle cx="17" cy="19.5" r="1.3"/></symbol>
<symbol id="ovg-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2l2.4 11h11L21 7H6.2"/><circle cx="9" cy="19.5" r="1.3"/><circle cx="17" cy="19.5" r="1.3"/></symbol>
<symbol id="ovg-chart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4v16h16"/><path d="m7.5 14.5 3.5-4 3 2.5 5-6"/></symbol>
<symbol id="ovg-chart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4v16h16"/><path d="m7.5 14.5 3.5-4 3 2.5 5-6"/></symbol>
<symbol id="ovg-chat" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16v11H8l-4 4Z"/></symbol>
<symbol id="ovg-chat" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16v11H8l-4 4Z"/></symbol>
<symbol id="ovg-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 12.5 4.5 4.5L19 7.5"/></symbol>
<symbol id="ovg-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 12.5 4.5 4.5L19 7.5"/></symbol>
<symbol id="ovg-check-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m8 12.4 2.8 2.8L16 9.6"/></symbol>
<symbol id="ovg-check-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m8 12.4 2.8 2.8L16 9.6"/></symbol>
+<symbol id="ovg-check-double" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8"/></symbol>
<symbol id="ovg-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></symbol>
<symbol id="ovg-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></symbol>
<symbol id="ovg-chip" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="7" width="10" height="10" rx="1.5"/><path d="M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4"/></symbol>
<symbol id="ovg-chip" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="7" width="10" height="10" rx="1.5"/><path d="M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4"/></symbol>
<symbol id="ovg-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/></symbol>
<symbol id="ovg-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/></symbol>
@@ -35,22 +38,29 @@
@@ -35,22 +38,29 @@
<symbol id="ovg-coin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11"/></symbol>
<symbol id="ovg-coin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11"/></symbol>
<symbol id="ovg-compress" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5"/></symbol>
<symbol id="ovg-compress" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5"/></symbol>
<symbol id="ovg-computer" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="12" rx="2"/><path d="M8 20h8M12 16v4"/></symbol>
<symbol id="ovg-computer" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="12" rx="2"/><path d="M8 20h8M12 16v4"/></symbol>
+<symbol id="ovg-contrast" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 3v18M12 7.5h7M12 12h9M12 16.5h7"/></symbol>
<symbol id="ovg-copy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"/></symbol>
<symbol id="ovg-copy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"/></symbol>
<symbol id="ovg-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z"/></symbol>
<symbol id="ovg-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z"/></symbol>
<symbol id="ovg-database" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="6" rx="7" ry="3"/><path d="M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3"/></symbol>
<symbol id="ovg-database" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="6" rx="7" ry="3"/><path d="M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3"/></symbol>
+<symbol id="ovg-dice" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01" stroke-width="2.6"/></symbol>
<symbol id="ovg-dish" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9.5A9.5 9.5 0 0 0 14.5 19Z"/><path d="m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5"/></symbol>
<symbol id="ovg-dish" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9.5A9.5 9.5 0 0 0 14.5 19Z"/><path d="m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5"/></symbol>
<symbol id="ovg-dollar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18"/></symbol>
<symbol id="ovg-dollar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18"/></symbol>
+<symbol id="ovg-door" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01"/></symbol>
<symbol id="ovg-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></symbol>
<symbol id="ovg-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></symbol>
<symbol id="ovg-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v11M7 10l5 5 5-5M5 20h14"/></symbol>
<symbol id="ovg-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v11M7 10l5 5 5-5M5 20h14"/></symbol>
+<symbol id="ovg-drive" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="13" width="18" height="7" rx="2"/><path d="M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01"/></symbol>
<symbol id="ovg-drop" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z"/></symbol>
<symbol id="ovg-drop" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z"/></symbol>
<symbol id="ovg-enter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4"/></symbol>
<symbol id="ovg-enter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4"/></symbol>
<symbol id="ovg-expand" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5"/></symbol>
<symbol id="ovg-expand" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5"/></symbol>
<symbol id="ovg-eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z"/><circle cx="12" cy="12" r="3"/></symbol>
<symbol id="ovg-eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z"/><circle cx="12" cy="12" r="3"/></symbol>
<symbol id="ovg-eye-off" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2"/><path d="M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16"/></symbol>
<symbol id="ovg-eye-off" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2"/><path d="M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16"/></symbol>
+<symbol id="ovg-fast-forward" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z"/></symbol>
<symbol id="ovg-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 3h8l4 4v14H6Z"/><path d="M14 3v4h4"/></symbol>
<symbol id="ovg-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 3h8l4 4v14H6Z"/><path d="M14 3v4h4"/></symbol>
+<symbol id="ovg-file-code" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z"/><path d="M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2"/></symbol>
<symbol id="ovg-film" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21"/></symbol>
<symbol id="ovg-film" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21"/></symbol>
<symbol id="ovg-filter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M7 12h10M10 18h4"/></symbol>
<symbol id="ovg-filter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M7 12h10M10 18h4"/></symbol>
<symbol id="ovg-fire" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z"/></symbol>
<symbol id="ovg-fire" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z"/></symbol>
+<symbol id="ovg-fist" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9"/></symbol>
<symbol id="ovg-flag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 21V4M5 4h11l-2 4 2 4H5"/></symbol>
<symbol id="ovg-flag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 21V4M5 4h11l-2 4 2 4H5"/></symbol>
<symbol id="ovg-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"/></symbol>
<symbol id="ovg-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"/></symbol>
<symbol id="ovg-food" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17"/></symbol>
<symbol id="ovg-food" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17"/></symbol>
@@ -62,15 +72,22 @@
@@ -62,15 +72,22 @@
<symbol id="ovg-gift" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="9" width="16" height="11" rx="1"/><path d="M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9"/></symbol>
<symbol id="ovg-gift" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="9" width="16" height="11" rx="1"/><path d="M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9"/></symbol>
<symbol id="ovg-globe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18"/></symbol>
<symbol id="ovg-globe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18"/></symbol>
<symbol id="ovg-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="7" height="7" rx="1.5"/><rect x="13" y="4" width="7" height="7" rx="1.5"/><rect x="4" y="13" width="7" height="7" rx="1.5"/><rect x="13" y="13" width="7" height="7" rx="1.5"/></symbol>
<symbol id="ovg-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="7" height="7" rx="1.5"/><rect x="13" y="4" width="7" height="7" rx="1.5"/><rect x="4" y="13" width="7" height="7" rx="1.5"/><rect x="13" y="13" width="7" height="7" rx="1.5"/></symbol>
+<symbol id="ovg-group" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4"/><rect x="7" y="7" width="6" height="5" rx="1"/><rect x="11" y="12" width="6" height="5" rx="1"/></symbol>
<symbol id="ovg-hand" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15"/></symbol>
<symbol id="ovg-hand" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15"/></symbol>
<symbol id="ovg-hash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17"/></symbol>
<symbol id="ovg-hash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17"/></symbol>
+<symbol id="ovg-heading" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4"/></symbol>
+<symbol id="ovg-headphones" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 15v-3a8 8 0 0 1 16 0v3"/><rect x="3" y="14" width="4.5" height="6.5" rx="1.5"/><rect x="16.5" y="14" width="4.5" height="6.5" rx="1.5"/></symbol>
<symbol id="ovg-heart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z"/></symbol>
<symbol id="ovg-heart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z"/></symbol>
+<symbol id="ovg-heart-pulse" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5"/><path d="M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5"/></symbol>
<symbol id="ovg-help" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01"/></symbol>
<symbol id="ovg-help" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01"/></symbol>
<symbol id="ovg-history" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1"/><path d="M12 8v4.2l3 1.8"/></symbol>
<symbol id="ovg-history" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1"/><path d="M12 8v4.2l3 1.8"/></symbol>
<symbol id="ovg-home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z"/></symbol>
<symbol id="ovg-home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z"/></symbol>
+<symbol id="ovg-hot-tub" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="5.5" r="1.8"/><path d="M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3"/></symbol>
<symbol id="ovg-id" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><circle cx="9" cy="11" r="2"/><path d="M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3"/></symbol>
<symbol id="ovg-id" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><circle cx="9" cy="11" r="2"/><path d="M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3"/></symbol>
<symbol id="ovg-idea" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z"/></symbol>
<symbol id="ovg-idea" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z"/></symbol>
<symbol id="ovg-image" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="3"/><circle cx="9" cy="10" r="1.6"/><path d="m21 16-5-5-8 8"/></symbol>
<symbol id="ovg-image" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="3"/><circle cx="9" cy="10" r="1.6"/><path d="m21 16-5-5-8 8"/></symbol>
+<symbol id="ovg-inbox" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5"/></symbol>
+<symbol id="ovg-infinity" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z"/></symbol>
<symbol id="ovg-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 11v5M12 8h.01"/></symbol>
<symbol id="ovg-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 11v5M12 8h.01"/></symbol>
<symbol id="ovg-invite" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><path d="M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6"/></symbol>
<symbol id="ovg-invite" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><path d="M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6"/></symbol>
<symbol id="ovg-key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="15" r="4"/><path d="m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2"/></symbol>
<symbol id="ovg-key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="15" r="4"/><path d="m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2"/></symbol>
@@ -79,17 +96,21 @@
@@ -79,17 +96,21 @@
<symbol id="ovg-layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3.5 9 5-9 5-9-5Z"/><path d="m3 13 9 5 9-5"/></symbol>
<symbol id="ovg-layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3.5 9 5-9 5-9-5Z"/><path d="m3 13 9 5 9-5"/></symbol>
<symbol id="ovg-leaf" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8"/></symbol>
<symbol id="ovg-leaf" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8"/></symbol>
<symbol id="ovg-leave" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10"/></symbol>
<symbol id="ovg-leave" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10"/></symbol>
+<symbol id="ovg-lifebuoy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/><path d="m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6"/></symbol>
<symbol id="ovg-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1"/></symbol>
<symbol id="ovg-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1"/></symbol>
<symbol id="ovg-list" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/></symbol>
<symbol id="ovg-list" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/></symbol>
+<symbol id="ovg-list-ordered" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2"/></symbol>
<symbol id="ovg-live" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="2.5"/><path d="M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14"/></symbol>
<symbol id="ovg-live" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="2.5"/><path d="M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14"/></symbol>
<symbol id="ovg-lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></symbol>
<symbol id="ovg-lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></symbol>
<symbol id="ovg-mail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m4 7 8 6 8-6"/></symbol>
<symbol id="ovg-mail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m4 7 8 6 8-6"/></symbol>
<symbol id="ovg-map" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z"/><path d="M9 4v14M15 6v14"/></symbol>
<symbol id="ovg-map" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z"/><path d="M9 4v14M15 6v14"/></symbol>
+<symbol id="ovg-medical" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6"/></symbol>
<symbol id="ovg-members" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><path d="M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2"/></symbol>
<symbol id="ovg-members" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><path d="M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2"/></symbol>
<symbol id="ovg-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M4 12h16M4 17h16"/></symbol>
<symbol id="ovg-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M4 12h16M4 17h16"/></symbol>
<symbol id="ovg-mic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="3" width="6" height="11" rx="3"/><path d="M5 11a7 7 0 0 0 14 0M12 18v3"/></symbol>
<symbol id="ovg-mic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="3" width="6" height="11" rx="3"/><path d="M5 11a7 7 0 0 0 14 0M12 18v3"/></symbol>
<symbol id="ovg-mic-off" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="3" width="6" height="11" rx="3"/><path d="M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16"/></symbol>
<symbol id="ovg-mic-off" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="3" width="6" height="11" rx="3"/><path d="M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16"/></symbol>
<symbol id="ovg-minus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/></symbol>
<symbol id="ovg-minus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/></symbol>
+<symbol id="ovg-money" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="6" width="19" height="12" rx="2"/><circle cx="12" cy="12" r="2.5"/><path d="M6 9.5v.01M18 14.5v.01"/></symbol>
<symbol id="ovg-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z"/></symbol>
<symbol id="ovg-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z"/></symbol>
<symbol id="ovg-more" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="5" cy="12" r="1.6"/><circle cx="12" cy="12" r="1.6"/><circle cx="19" cy="12" r="1.6"/></symbol>
<symbol id="ovg-more" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="5" cy="12" r="1.6"/><circle cx="12" cy="12" r="1.6"/><circle cx="19" cy="12" r="1.6"/></symbol>
<symbol id="ovg-mountain" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z"/></symbol>
<symbol id="ovg-mountain" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z"/></symbol>
@@ -99,6 +120,7 @@
@@ -99,6 +120,7 @@
<symbol id="ovg-nodes" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="2.2"/><circle cx="5.5" cy="18" r="2.2"/><circle cx="18.5" cy="18" r="2.2"/><path d="M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6"/></symbol>
<symbol id="ovg-nodes" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="2.2"/><circle cx="5.5" cy="18" r="2.2"/><circle cx="18.5" cy="18" r="2.2"/><path d="M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6"/></symbol>
<symbol id="ovg-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4"/></symbol>
<symbol id="ovg-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4"/></symbol>
<symbol id="ovg-palette" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z"/><circle cx="7.5" cy="11" r="1.2"/><circle cx="10" cy="7.3" r="1.2"/><circle cx="14.5" cy="7.3" r="1.2"/></symbol>
<symbol id="ovg-palette" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z"/><circle cx="7.5" cy="11" r="1.2"/><circle cx="10" cy="7.3" r="1.2"/><circle cx="14.5" cy="7.3" r="1.2"/></symbol>
+<symbol id="ovg-parking" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="3.5" width="17" height="17" rx="3"/><path d="M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5"/></symbol>
<symbol id="ovg-pause" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 5v14M16 5v14"/></symbol>
<symbol id="ovg-pause" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 5v14M16 5v14"/></symbol>
<symbol id="ovg-pencil" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"/></symbol>
<symbol id="ovg-pencil" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"/></symbol>
<symbol id="ovg-phone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></symbol>
<symbol id="ovg-phone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></symbol>
@@ -108,18 +130,27 @@
@@ -108,18 +130,27 @@
<symbol id="ovg-plug" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21"/></symbol>
<symbol id="ovg-plug" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21"/></symbol>
<symbol id="ovg-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"/></symbol>
<symbol id="ovg-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"/></symbol>
<symbol id="ovg-reply" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1"/></symbol>
<symbol id="ovg-reply" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1"/></symbol>
+<symbol id="ovg-restroom" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="7" cy="4.8" r="1.8"/><circle cx="17" cy="4.8" r="1.8"/><path d="M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4"/></symbol>
<symbol id="ovg-retry" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5"/></symbol>
<symbol id="ovg-retry" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5"/></symbol>
+<symbol id="ovg-rewind" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z"/></symbol>
+<symbol id="ovg-road" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20"/></symbol>
<symbol id="ovg-robot" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="8" width="14" height="11" rx="3"/><path d="M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2"/></symbol>
<symbol id="ovg-robot" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="8" width="14" height="11" rx="3"/><path d="M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2"/></symbol>
+<symbol id="ovg-rocket" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z"/><circle cx="15.5" cy="8.5" r="1.5"/></symbol>
<symbol id="ovg-route" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="18" r="2.4"/><circle cx="18" cy="6" r="2.4"/><path d="M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6"/></symbol>
<symbol id="ovg-route" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="18" r="2.4"/><circle cx="18" cy="6" r="2.4"/><path d="M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6"/></symbol>
<symbol id="ovg-save" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h11l3 3v13H5Z"/><path d="M8 4v5h7V4M8 20v-6h8v6"/></symbol>
<symbol id="ovg-save" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h11l3 3v13H5Z"/><path d="M8 4v5h7V4M8 20v-6h8v6"/></symbol>
+<symbol id="ovg-scale" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0"/></symbol>
<symbol id="ovg-scissors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="7" r="2.6"/><circle cx="6" cy="17" r="2.6"/><path d="M8.2 8.6 20 18M8.2 15.4 20 6"/></symbol>
<symbol id="ovg-scissors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="7" r="2.6"/><circle cx="6" cy="17" r="2.6"/><path d="M8.2 8.6 20 18M8.2 15.4 20 6"/></symbol>
<symbol id="ovg-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="6.5"/><path d="m20 20-4.2-4.2"/></symbol>
<symbol id="ovg-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="6.5"/><path d="m20 20-4.2-4.2"/></symbol>
+<symbol id="ovg-seedling" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z"/></symbol>
<symbol id="ovg-send" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"/></symbol>
<symbol id="ovg-send" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"/></symbol>
<symbol id="ovg-server" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="7" rx="2"/><rect x="4" y="13" width="16" height="7" rx="2"/><path d="M8 7.5h.01M8 16.5h.01"/></symbol>
<symbol id="ovg-server" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="7" rx="2"/><rect x="4" y="13" width="16" height="7" rx="2"/><path d="M8 7.5h.01M8 16.5h.01"/></symbol>
+<symbol id="ovg-shapes" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="7.5" cy="7.5" r="3.5"/><path d="m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z"/></symbol>
+<symbol id="ovg-shelter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12"/><circle cx="12" cy="11" r="1.8"/><path d="M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21"/></symbol>
<symbol id="ovg-shield" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z"/></symbol>
<symbol id="ovg-shield" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z"/></symbol>
<symbol id="ovg-shirt" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z"/></symbol>
<symbol id="ovg-shirt" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z"/></symbol>
<symbol id="ovg-shoe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 17v-5.5l4-.5 3-4 3.2 1.4-.9 2.6 4 2.2 4.7 1a2 2 0 0 1 1.5 1.9V17Z"/><path d="M2.5 20h19"/></symbol>
<symbol id="ovg-shoe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 17v-5.5l4-.5 3-4 3.2 1.4-.9 2.6 4 2.2 4.7 1a2 2 0 0 1 1.5 1.9V17Z"/><path d="M2.5 20h19"/></symbol>
<symbol id="ovg-sidebar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="4.5" width="17" height="15" rx="2.5"/><path d="M9.5 4.5v15"/></symbol>
<symbol id="ovg-sidebar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="4.5" width="17" height="15" rx="2.5"/><path d="M9.5 4.5v15"/></symbol>
+<symbol id="ovg-skull" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z"/><circle cx="9.5" cy="10.5" r="1.4"/><circle cx="14.5" cy="10.5" r="1.4"/><path d="M10.5 18v3M13.5 18v3"/></symbol>
<symbol id="ovg-sliders" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20"/><circle cx="16" cy="7" r="2.3"/><circle cx="10" cy="17" r="2.3"/></symbol>
<symbol id="ovg-sliders" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20"/><circle cx="16" cy="7" r="2.3"/><circle cx="10" cy="17" r="2.3"/></symbol>
<symbol id="ovg-smile" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01"/></symbol>
<symbol id="ovg-smile" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01"/></symbol>
<symbol id="ovg-snow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5"/></symbol>
<symbol id="ovg-snow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5"/></symbol>
@@ -128,8 +159,10 @@
@@ -128,8 +159,10 @@
<symbol id="ovg-steps" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6h11M9 12h11M9 18h11"/><path d="m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17"/></symbol>
<symbol id="ovg-steps" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6h11M9 12h11M9 18h11"/><path d="m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17"/></symbol>
<symbol id="ovg-stop" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m8.5 8.5 7 7"/></symbol>
<symbol id="ovg-stop" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m8.5 8.5 7 7"/></symbol>
<symbol id="ovg-store" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4"/></symbol>
<symbol id="ovg-store" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4"/></symbol>
+<symbol id="ovg-storm" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5"/><path d="m13 13-2.5 4h3L11 21"/></symbol>
<symbol id="ovg-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></symbol>
<symbol id="ovg-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></symbol>
<symbol id="ovg-swap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8h14l-3.5-3.5M20 16H6l3.5 3.5"/></symbol>
<symbol id="ovg-swap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8h14l-3.5-3.5M20 16H6l3.5 3.5"/></symbol>
+<symbol id="ovg-table" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20"/></symbol>
<symbol id="ovg-tack" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3h6l-1 5 3 3H7l3-3ZM12 11v10"/></symbol>
<symbol id="ovg-tack" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3h6l-1 5 3 3H7l3-3ZM12 11v10"/></symbol>
<symbol id="ovg-tag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12V4h8l10 10-8 8Z"/><circle cx="7.5" cy="8.5" r="1.3"/></symbol>
<symbol id="ovg-tag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12V4h8l10 10-8 8Z"/><circle cx="7.5" cy="8.5" r="1.3"/></symbol>
<symbol id="ovg-target" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.5"/></symbol>
<symbol id="ovg-target" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.5"/></symbol>
@@ -138,10 +171,14 @@
@@ -138,10 +171,14 @@
<symbol id="ovg-terminal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="m7 9 3 3-3 3M13 15h4"/></symbol>
<symbol id="ovg-terminal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="m7 9 3 3-3 3M13 15h4"/></symbol>
<symbol id="ovg-text" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5.5 20 11 4h2l5.5 16M7.6 14h8.8"/></symbol>
<symbol id="ovg-text" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5.5 20 11 4h2l5.5 16M7.6 14h8.8"/></symbol>
<symbol id="ovg-ticket" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z"/><path d="M14 7v10"/></symbol>
<symbol id="ovg-ticket" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z"/><path d="M14 7v10"/></symbol>
+<symbol id="ovg-timeline" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h1M8 12h2M14 12h2M20 12h1"/><circle cx="6" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="18" cy="12" r="2"/><path d="M6 10V5.5M12 14v4.5M18 10V5.5"/></symbol>
+<symbol id="ovg-toolbox" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="8" width="18" height="12" rx="2"/><path d="M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3"/></symbol>
<symbol id="ovg-train" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="3" width="12" height="13" rx="3"/><path d="M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5"/></symbol>
<symbol id="ovg-train" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="3" width="12" height="13" rx="3"/><path d="M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5"/></symbol>
<symbol id="ovg-trash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3"/></symbol>
<symbol id="ovg-trash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3"/></symbol>
<symbol id="ovg-tree" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4"/></symbol>
<symbol id="ovg-tree" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4"/></symbol>
<symbol id="ovg-trophy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8"/></symbol>
<symbol id="ovg-trophy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8"/></symbol>
+<symbol id="ovg-tv" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="7" width="19" height="13" rx="2"/><path d="m8 3 4 4 4-4"/></symbol>
+<symbol id="ovg-umbrella" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01"/></symbol>
<symbol id="ovg-up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 15 6-6 6 6"/></symbol>
<symbol id="ovg-up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 15 6-6 6 6"/></symbol>
<symbol id="ovg-upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20V9M7 14l5-5 5 5M5 4h14"/></symbol>
<symbol id="ovg-upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20V9M7 14l5-5 5 5M5 4h14"/></symbol>
<symbol id="ovg-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="3.5"/><path d="M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6"/></symbol>
<symbol id="ovg-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="3.5"/><path d="M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6"/></symbol>
Binary files a/ov-glyphs.woff2 and b/ov-glyphs.woff2 differ
Binary files a/ov-glyphs.woff2 and b/ov-glyphs.woff2 differ
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"name": "openvibe-shared",
"name": "openvibe-shared",
- "version": "4.62.0",
+ "version": "4.63.0",
"description": "Shared navbar, footer, themes, icons, legal pages, SEO, auth and analytics for every OpenVibe site",
"description": "Shared navbar, footer, themes, icons, legal pages, SEO, auth and analytics for every OpenVibe site",
"main": "index.js",
"main": "index.js",
"bin": {
"bin": {
@@ -53,12 +53,18 @@ const CSS = [
@@ -53,12 +53,18 @@ const CSS = [
'@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}',
'@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}',
'@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}',
'@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}',
'@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}',
'@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}',
+ // The glyphs' own motion (4.63.0, L32 I9): ovg-draw draws the lines in once, the way the mark's tick does; ovg-once
+ // plays any animation above a single time (a bell that rings once: fa-shake ovg-once).
+ '.ovg.ovg-draw>svg>*{stroke-dasharray:1;stroke-dashoffset:1;animation:ovgDraw var(--ovg-draw-duration,.6s) cubic-bezier(.4,0,.2,1) var(--ovg-draw-delay,0s) forwards}',
+ '.ovg.ovg-draw>svg>*:nth-child(2){animation-delay:calc(var(--ovg-draw-delay,0s) + .12s)}.ovg.ovg-draw>svg>*:nth-child(n+3){animation-delay:calc(var(--ovg-draw-delay,0s) + .24s)}',
+ '@keyframes ovgDraw{to{stroke-dashoffset:0}}',
+ '.ovg.ovg-once{--fa-animation-iteration-count:1}',
// The busy dots take turns.
// The busy dots take turns.
'.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}',
'.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}',
'.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}',
'.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}',
'@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}',
'@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}',
// Reduced motion: nothing moves.
// Reduced motion: nothing moves.
- '@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle{animation:none!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle{animation:none!important}',
+ '@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle,html[data-ov-motion=reduced] .ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}',
].join('');
].join('');
const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those, then run it. */
const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those, then run it. */
@@ -72,7 +78,8 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
@@ -72,7 +78,8 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the
* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the
* animations (fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake; fa-spin breathes), fa-thin and fa-light
* animations (fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake; fa-spin breathes), fa-thin and fa-light
* as thinner strokes, data-fa-transform (grow, shrink, up, down, left, right, rotate, flip-h, flip-v), and a title that
* as thinner strokes, data-fa-transform (grow, shrink, up, down, left, right, rotate, flip-h, flip-v), and a title that
- * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured.
+ * names the icon to screen readers. Every variable Font Awesome documents (--fa-beat-scale …) is honoured. The glyphs'
+ * own motion: ovg-draw draws the lines in once, ovg-once plays an animation a single time (4.63.0).
*
*
* <script src="/shared/ov-glyphs.js" defer></script> swaps what is in the page, then anything added later
* <script src="/shared/ov-glyphs.js" defer></script> swaps what is in the page, then anything added later
* OVGlyphs.swap(rootEl) swaps inside one element now
* OVGlyphs.swap(rootEl) swaps inside one element now
@@ -123,6 +130,8 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
@@ -123,6 +130,8 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
const t = transformOf(tf);
const t = transformOf(tf);
el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';
el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';
+ // ovg-draw draws each line in: every shape measures 1 along its length.
+ if (el.classList.contains('ovg-draw')) el.firstChild.childNodes.forEach((n) => { if (n.setAttribute) n.setAttribute('pathLength', '1'); });
}
}
const SEL = 'i[class*="fa-"],span[class*="fa-"]';
const SEL = 'i[class*="fa-"],span[class*="fa-"]';
function swap(root) {
function swap(root) {
@@ -11,7 +11,7 @@ const glyphs = require('../glyphs');
@@ -11,7 +11,7 @@ const glyphs = require('../glyphs');
const kit = require('../kit');
const kit = require('../kit');
// ── The registry ──
// ── The registry ──
-assert.ok(glyphs.NAMES.length >= 150, `${glyphs.NAMES.length} glyphs`);
+assert.ok(glyphs.NAMES.length >= 190, `${glyphs.NAMES.length} glyphs`);
for (const name of kit.ICONS) assert.ok(glyphs.NAMES.includes(name), `the kit's ${name} is a glyph`);
for (const name of kit.ICONS) assert.ok(glyphs.NAMES.includes(name), `the kit's ${name} is a glyph`);
for (const [fa, g] of Object.entries(glyphs.FA)) assert.ok(glyphs.path(g), `fa-${fa} → ${g}, a glyph that exists`);
for (const [fa, g] of Object.entries(glyphs.FA)) assert.ok(glyphs.path(g), `fa-${fa} → ${g}, a glyph that exists`);
for (const name of glyphs.NAMES) {
for (const name of glyphs.NAMES) {
@@ -52,7 +52,7 @@ ON_ICON.forEach((cls) => assert.ok(CSS.includes(`.ovg.${cls}{`) || CSS.includes(
@@ -52,7 +52,7 @@ ON_ICON.forEach((cls) => assert.ok(CSS.includes(`.ovg.${cls}{`) || CSS.includes(
['--fa-beat-scale', '--fa-bounce-height', '--fa-fade-opacity', '--fa-flip-angle', '--fa-rotate-angle', '--fa-animation-duration', '--fa-li-width',
['--fa-beat-scale', '--fa-bounce-height', '--fa-fade-opacity', '--fa-flip-angle', '--fa-rotate-angle', '--fa-animation-duration', '--fa-li-width',
'--fa-border-color', '--fa-counter-background-color', '--fa-primary-color', '--fa-inverse'].forEach((v) => assert.ok(CSS.includes(v), `Font Awesome's ${v}`));
'--fa-border-color', '--fa-counter-background-color', '--fa-primary-color', '--fa-inverse'].forEach((v) => assert.ok(CSS.includes(v), `Font Awesome's ${v}`));
assert.ok(!CSS.includes('360deg') && /\.ovg\.fa-spin[^{]*\{animation:ovgBreathe/.test(CSS), 'fa-spin breathes: nothing spins (L27)');
assert.ok(!CSS.includes('360deg') && /\.ovg\.fa-spin[^{]*\{animation:ovgBreathe/.test(CSS), 'fa-spin breathes: nothing spins (L27)');
-assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle{animation:none!important}}'), 'reduced motion stops every animation');
+assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}'), 'reduced motion stops every animation, and a drawn-in glyph is simply there');
// ── In a page ──
// ── In a page ──
(async () => {
(async () => {
@@ -66,6 +66,8 @@ assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ov
@@ -66,6 +66,8 @@ assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ov
<i class="fa-solid fa-heart fa-2x fa-beat" data-fa-transform="grow-4 up-2 rotate-90 flip-h" id="tf"></i>
<i class="fa-solid fa-heart fa-2x fa-beat" data-fa-transform="grow-4 up-2 rotate-90 flip-h" id="tf"></i>
<i class="fa-solid fa-bell" title="Notifications" id="titled"></i>
<i class="fa-solid fa-bell" title="Notifications" id="titled"></i>
<span class="fa-layers"><i class="fa-solid fa-envelope"></i><span class="fa-layers-counter" id="counter">12</span></span>
<span class="fa-layers"><i class="fa-solid fa-envelope"></i><span class="fa-layers-counter" id="counter">12</span></span>
+<i class="fa-solid fa-circle-check ovg-draw" id="drawn"></i>
+<i class="fa-solid fa-bell fa-shake ovg-once" id="once"></i>
</body></html>`);
</body></html>`);
window.MutationObserver = MutationObserver;
window.MutationObserver = MutationObserver;
new Function('window', 'document', 'MutationObserver', SRC)(window, document, MutationObserver);
new Function('window', 'document', 'MutationObserver', SRC)(window, document, MutationObserver);
@@ -87,6 +89,11 @@ assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ov
@@ -87,6 +89,11 @@ assert.ok(CSS.includes('@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ov
// A layer's counter is text, not an icon.
// A layer's counter is text, not an icon.
assert.ok(!$('#counter').classList.contains('ovg') && $('#counter').textContent === '12');
assert.ok(!$('#counter').classList.contains('ovg') && $('#counter').textContent === '12');
assert.ok($('.fa-layers > i').dataset.ovg, 'the layer\'s icon is swapped');
assert.ok($('.fa-layers > i').dataset.ovg, 'the layer\'s icon is swapped');
+ // The glyphs' own motion (4.63.0): ovg-draw measures every line as 1, so the CSS can draw it in once.
+ const drawn = $('#drawn').querySelector('svg');
+ assert.ok(drawn.children.length >= 2 && [...drawn.children].every((c) => c.getAttribute('pathLength') === '1'), 'every shape of a drawn-in glyph has pathLength 1');
+ assert.ok(css.includes('@keyframes ovgDraw{to{stroke-dashoffset:0}}') && css.includes('.ovg.ovg-once{--fa-animation-iteration-count:1}'), 'draw-in and play-once');
+ assert.ok(!$('#once').querySelector('[pathLength]'), 'only ovg-draw measures its lines');
// A page that changes an icon by its class (play ↔ pause) gets the new glyph.
// A page that changes an icon by its class (play ↔ pause) gets the new glyph.
const t = $('#toggle');
const t = $('#toggle');
assert.strictEqual(t.dataset.ovg, 'play');
assert.strictEqual(t.dataset.ovg, 'play');