From 02c62f950666d2019e6e29d554f2eee18c20ddf8 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 14:12:20 +0200 Subject: [PATCH 01/65] chore: remove ATC/OpenEpaperLink scripts and tests --- scripts/fetch_tag_types.py | 85 ------ scripts/generate_tag_types.py | 157 ----------- tests/scripts/test_sync_tag_types.py | 377 --------------------------- 3 files changed, 619 deletions(-) delete mode 100644 scripts/fetch_tag_types.py delete mode 100644 scripts/generate_tag_types.py delete mode 100644 tests/scripts/test_sync_tag_types.py diff --git a/scripts/fetch_tag_types.py b/scripts/fetch_tag_types.py deleted file mode 100644 index b891cc8..0000000 --- a/scripts/fetch_tag_types.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python3 -"""Fetch tag type definitions from the OpenEPaperLink repository. - -Downloads all tag type JSON files from the OpenEPaperLink GitHub repository -and saves them as a consolidated JSON file for further processing. -""" - -import json -import re -import sys -import urllib.request - - -GITHUB_TREE_URL = ( - "https://github.com/OpenEPaperLink/OpenEPaperLink/tree/master/resources/tagtypes" -) -GITHUB_RAW_URL = ( - "https://raw.githubusercontent.com/OpenEPaperLink/OpenEPaperLink" - "/master/resources/tagtypes" -) - - -def fetch_file_list(): - """Fetch the list of tag type JSON files from the repository.""" - print("Fetching tag type files from OpenEPaperLink repository...") - headers = {"User-Agent": "Mozilla/5.0"} - req = urllib.request.Request(GITHUB_TREE_URL, headers=headers) - - with urllib.request.urlopen(req, timeout=30) as response: - html = response.read().decode("utf-8") - json_files = re.findall(r"([0-9a-fA-F]+\.json)", html) - json_files = sorted(set(json_files)) - print(f"Found {len(json_files)} tag type files") - return json_files - - -def fetch_tag_types(json_files): - """Fetch and parse all tag type definitions.""" - tag_types = {} - errors = [] - - for filename in json_files: - url = f"{GITHUB_RAW_URL}/{filename}" - try: - with urllib.request.urlopen(url, timeout=10) as response: - data = json.loads(response.read().decode("utf-8")) - type_id = int(filename.replace(".json", ""), 16) - - tag_types[type_id] = { - "version": data.get("version"), - "name": data.get("name"), - "width": data.get("width"), - "height": data.get("height"), - } - except Exception as e: - errors.append(f"Error fetching {filename}: {e}") - - if errors: - for error in errors: - print(error) - - print(f"Successfully fetched {len(tag_types)} tag type definitions") - return tag_types - - -def main(): - """Fetch tag type definitions and save to a JSON file.""" - output_file = sys.argv[1] if len(sys.argv) > 1 else "new_tag_types.json" - - try: - json_files = fetch_file_list() - except Exception as e: - print(f"Error fetching file list: {e}") - sys.exit(1) - - tag_types = fetch_tag_types(json_files) - - with open(output_file, "w") as f: - json.dump(tag_types, f, indent=2) - - print(f"Tag types saved to {output_file}") - - -if __name__ == "__main__": - main() diff --git a/scripts/generate_tag_types.py b/scripts/generate_tag_types.py deleted file mode 100644 index 07b7f60..0000000 --- a/scripts/generate_tag_types.py +++ /dev/null @@ -1,157 +0,0 @@ -#!/usr/bin/env python3 -"""Generate updated const.py from fetched tag type definitions. - -Reads a JSON file of tag type definitions (produced by fetch_tag_types.py), -compares them against the current fallback definitions in const.py, -and updates the file if there are changes. - -Sets GitHub Actions outputs for downstream workflow steps. -""" - -import json -import os -import re -import sys - - -CONST_PATH = "custom_components/opendisplay/const.py" -FALLBACK_PATTERN = re.compile( - r"(FALLBACK_TAG_DEFINITIONS = \{)\n(.*?)\n(\})", re.DOTALL -) -ENTRY_PATTERN = re.compile(r"\s+(\d+):") - - -def load_new_tag_types(input_file): - """Load new tag types from JSON, converting keys to integers.""" - with open(input_file, "r") as f: - raw = json.load(f) - return {int(k): v for k, v in raw.items()} - - -def parse_current_definitions(content): - """Extract current fallback definitions from const.py content.""" - match = FALLBACK_PATTERN.search(content) - if not match: - print("Error: Could not find FALLBACK_TAG_DEFINITIONS in const.py") - sys.exit(1) - - current_types = {} - for line in match.group(2).split("\n"): - m = ENTRY_PATTERN.match(line) - if m: - type_id = int(m.group(1)) - current_types[type_id] = line.strip() - - return current_types - - -def compute_changes(current_types, new_tag_types): - """Compute added, removed, and modified tag types.""" - added = [] - removed = [] - modified = [] - - for type_id in sorted(new_tag_types.keys()): - if type_id not in current_types: - added.append(type_id) - else: - new_line = f"{type_id}: {json.dumps(new_tag_types[type_id], ensure_ascii=False)}," - if new_line != current_types[type_id]: - modified.append(type_id) - - for type_id in sorted(current_types.keys()): - if type_id not in new_tag_types: - removed.append(type_id) - - return added, removed, modified - - -def generate_fallback_content(new_tag_types): - """Generate the new FALLBACK_TAG_DEFINITIONS dict content.""" - lines = [] - for type_id in sorted(new_tag_types.keys()): - type_data = new_tag_types[type_id] - line = f" {type_id}: {json.dumps(type_data, ensure_ascii=False)}," - lines.append(line) - return "\n".join(lines) - - -def update_tag_types_file(content, new_fallback): - """Replace FALLBACK_TAG_DEFINITIONS content in const.py.""" - match = FALLBACK_PATTERN.search(content) - if not match: - print("Error: Could not find FALLBACK_TAG_DEFINITIONS in const.py") - sys.exit(1) - - start = match.start(2) - end = match.end(2) - return content[:start] + new_fallback + content[end:] - - -def build_summary(added, removed, modified): - """Build a human-readable summary of changes.""" - summary = [] - if added: - ids = ", ".join(map(str, added[:5])) - suffix = "..." if len(added) > 5 else "" - summary.append(f"Added: {len(added)} types ({ids}{suffix})") - if removed: - ids = ", ".join(map(str, removed[:5])) - suffix = "..." if len(removed) > 5 else "" - summary.append(f"Removed: {len(removed)} types ({ids}{suffix})") - if modified: - ids = ", ".join(map(str, modified[:5])) - suffix = "..." if len(modified) > 5 else "" - summary.append(f"Modified: {len(modified)} types ({ids}{suffix})") - return summary - - -def set_github_output(changed, summary): - """Set GitHub Actions step outputs.""" - github_output = os.environ.get("GITHUB_OUTPUT") - if not github_output: - return - - with open(github_output, "a") as f: - f.write(f"changed={'true' if changed else 'false'}\n") - if summary: - f.write(f"summary={'|'.join(summary)}\n") - - -def main(): - """Generate updated const.py from fetched definitions.""" - input_file = sys.argv[1] if len(sys.argv) > 1 else "new_tag_types.json" - - new_tag_types = load_new_tag_types(input_file) - - with open(CONST_PATH, "r") as f: - content = f.read() - - current_types = parse_current_definitions(content) - - print(f"Current definitions: {len(current_types)} types") - print(f"New definitions: {len(new_tag_types)} types") - - added, removed, modified = compute_changes(current_types, new_tag_types) - changed = bool(added or removed or modified) - - new_fallback = generate_fallback_content(new_tag_types) - new_content = update_tag_types_file(content, new_fallback) - - with open(CONST_PATH, "w") as f: - f.write(new_content) - - summary = build_summary(added, removed, modified) - - if changed: - print("CHANGED=true") - print(f"SUMMARY={'|'.join(summary)}") - else: - print("CHANGED=false") - print("No changes detected") - - set_github_output(changed, summary) - - -if __name__ == "__main__": - main() diff --git a/tests/scripts/test_sync_tag_types.py b/tests/scripts/test_sync_tag_types.py deleted file mode 100644 index 71e4475..0000000 --- a/tests/scripts/test_sync_tag_types.py +++ /dev/null @@ -1,377 +0,0 @@ -"""Tests for the tag type sync scripts.""" - -import json -import os -import re -import textwrap -from unittest.mock import MagicMock, patch - -import pytest - -# Add scripts directory to path so we can import the modules -import sys - -REPO_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -sys.path.insert(0, os.path.join(REPO_ROOT, "scripts")) - -import fetch_tag_types -import generate_tag_types - - -# --------------------------------------------------------------------------- -# Fixtures -# --------------------------------------------------------------------------- - -SAMPLE_CONST_PY = textwrap.dedent("""\ - DOMAIN = "opendisplay" - - FALLBACK_TAG_DEFINITIONS = { - 0: {"version": 4, "name": "M2 1.54\\"", "width": 152, "height": 152}, - 1: {"version": 5, "name": "M2 2.9\\"", "width": 296, "height": 128}, - 240: {"version": 2, "name": "SLT\u2010EM007 Segmented", "width": 0, "height": 0}, - 250: {"version": 1, "name": "ConfigMode", "width": 0, "height": 0}, - } -""") - - -@pytest.fixture -def const_file(tmp_path): - """Write a minimal const.py and return its path.""" - p = tmp_path / "const.py" - p.write_text(SAMPLE_CONST_PY) - return p - - -@pytest.fixture -def new_types_json(tmp_path): - """Write a new_tag_types.json and return its path.""" - data = { - 0: {"version": 4, "name": 'M2 1.54"', "width": 152, "height": 152}, - 1: {"version": 5, "name": 'M2 2.9"', "width": 296, "height": 128}, - 240: {"version": 2, "name": "SLT\u2010EM007 Segmented", "width": 0, "height": 0}, - 250: {"version": 1, "name": "ConfigMode", "width": 0, "height": 0}, - } - p = tmp_path / "new_tag_types.json" - p.write_text(json.dumps(data, indent=2)) - return p - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – load_new_tag_types -# --------------------------------------------------------------------------- - -class TestLoadNewTagTypes: - """Tests for loading and converting JSON tag types.""" - - def test_keys_are_integers(self, new_types_json): - """JSON string keys must be converted to integers.""" - result = generate_tag_types.load_new_tag_types(str(new_types_json)) - assert all(isinstance(k, int) for k in result.keys()) - - def test_values_preserved(self, new_types_json): - """Tag type data values must be preserved after loading.""" - result = generate_tag_types.load_new_tag_types(str(new_types_json)) - assert result[0]["name"] == 'M2 1.54"' - assert result[250]["width"] == 0 - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – parse_current_definitions -# --------------------------------------------------------------------------- - -class TestParseCurrentDefinitions: - """Tests for parsing FALLBACK_TAG_DEFINITIONS from const.py.""" - - def test_parses_all_entries(self, const_file): - """Should parse all entries from the FALLBACK_TAG_DEFINITIONS block.""" - content = const_file.read_text() - result = generate_tag_types.parse_current_definitions(content) - assert len(result) == 4 - assert set(result.keys()) == {0, 1, 240, 250} - - def test_keys_are_integers(self, const_file): - """Parsed keys must be integers.""" - content = const_file.read_text() - result = generate_tag_types.parse_current_definitions(content) - assert all(isinstance(k, int) for k in result.keys()) - - def test_exits_on_missing_block(self): - """Should exit if FALLBACK_TAG_DEFINITIONS block is not found.""" - with pytest.raises(SystemExit): - generate_tag_types.parse_current_definitions("no such block here") - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – compute_changes -# --------------------------------------------------------------------------- - -class TestComputeChanges: - """Tests for computing diffs between current and new definitions.""" - - def test_no_changes(self): - """Identical data should produce no changes.""" - current = { - 0: '0: {"version": 4, "name": "Tag0", "width": 100, "height": 100},', - } - new = {0: {"version": 4, "name": "Tag0", "width": 100, "height": 100}} - added, removed, modified = generate_tag_types.compute_changes(current, new) - assert added == [] - assert removed == [] - assert modified == [] - - def test_added(self): - """New type IDs should be detected as added.""" - current = {} - new = {5: {"version": 1, "name": "New", "width": 10, "height": 10}} - added, removed, modified = generate_tag_types.compute_changes(current, new) - assert added == [5] - assert removed == [] - - def test_removed(self): - """Missing type IDs should be detected as removed.""" - current = { - 5: '5: {"version": 1, "name": "Old", "width": 10, "height": 10},', - } - new = {} - added, removed, modified = generate_tag_types.compute_changes(current, new) - assert removed == [5] - assert added == [] - - def test_modified(self): - """Changed values should be detected as modified.""" - current = { - 0: '0: {"version": 1, "name": "Tag0", "width": 100, "height": 100},', - } - new = {0: {"version": 2, "name": "Tag0", "width": 100, "height": 100}} - added, removed, modified = generate_tag_types.compute_changes(current, new) - assert modified == [0] - - def test_sorting(self): - """Results should be sorted numerically, not lexicographically.""" - current = {} - new = { - 100: {"version": 1, "name": "A", "width": 1, "height": 1}, - 2: {"version": 1, "name": "B", "width": 1, "height": 1}, - 17: {"version": 1, "name": "C", "width": 1, "height": 1}, - } - added, _, _ = generate_tag_types.compute_changes(current, new) - assert added == [2, 17, 100] - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – generate_fallback_content -# --------------------------------------------------------------------------- - -class TestGenerateFallbackContent: - """Tests for generating the FALLBACK_TAG_DEFINITIONS dict content.""" - - def test_format(self): - """Each line should have 4-space indent, type_id, JSON data, and trailing comma.""" - data = {0: {"version": 1, "name": "Tag", "width": 10, "height": 20}} - content = generate_tag_types.generate_fallback_content(data) - assert content.startswith(" 0:") - assert content.endswith(",") - - def test_sorted_numerically(self): - """Entries should be sorted by numeric type_id.""" - data = { - 100: {"version": 1, "name": "A", "width": 1, "height": 1}, - 2: {"version": 1, "name": "B", "width": 1, "height": 1}, - 17: {"version": 1, "name": "C", "width": 1, "height": 1}, - } - content = generate_tag_types.generate_fallback_content(data) - ids = [ - int(m.group(1)) - for line in content.split("\n") - if (m := re.match(r"\s+(\d+):", line)) - ] - assert ids == [2, 17, 100] - - def test_unicode_chars_preserved(self): - """Unicode characters should be preserved (not escaped) with ensure_ascii=False.""" - data = {240: {"version": 2, "name": "SLT\u2010EM007", "width": 0, "height": 0}} - content = generate_tag_types.generate_fallback_content(data) - # ensure_ascii=False preserves the actual Unicode character - assert "\u2010" in content - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – update_tag_types_file -# --------------------------------------------------------------------------- - -class TestUpdateTagTypesFile: - """Tests for replacing FALLBACK_TAG_DEFINITIONS in file content.""" - - def test_replaces_content(self, const_file): - """The fallback block should be replaced with new content.""" - content = const_file.read_text() - new_fallback = ' 999: {"version": 1, "name": "New", "width": 1, "height": 1},' - result = generate_tag_types.update_tag_types_file(content, new_fallback) - assert "999:" in result - # Old entries removed - assert "250:" not in result - - def test_preserves_surrounding_code(self, const_file): - """Code around FALLBACK_TAG_DEFINITIONS should be unchanged.""" - content = const_file.read_text() - new_fallback = ' 999: {"version": 1, "name": "New", "width": 1, "height": 1},' - result = generate_tag_types.update_tag_types_file(content, new_fallback) - assert "DOMAIN" in result - - def test_unicode_in_replacement(self, const_file): - """Unicode escape sequences in replacement must not cause regex errors. - - This is the primary bug that was fixed: json.dumps() produces \\uXXXX - sequences which re.sub() would interpret as bad regex escapes. - """ - content = const_file.read_text() - # This would fail with re.sub() because \u2010 is a bad regex escape - new_fallback = ' 240: {"version": 2, "name": "SLT\\u2010EM007", "width": 0, "height": 0},' - result = generate_tag_types.update_tag_types_file(content, new_fallback) - assert "\\u2010" in result - - def test_exits_on_missing_block(self): - """Should exit if FALLBACK_TAG_DEFINITIONS block is not found.""" - with pytest.raises(SystemExit): - generate_tag_types.update_tag_types_file("no such block", "replacement") - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – build_summary -# --------------------------------------------------------------------------- - -class TestBuildSummary: - """Tests for the human-readable change summary.""" - - def test_empty_on_no_changes(self): - assert generate_tag_types.build_summary([], [], []) == [] - - def test_added(self): - result = generate_tag_types.build_summary([1, 2], [], []) - assert len(result) == 1 - assert "Added: 2" in result[0] - - def test_truncated(self): - result = generate_tag_types.build_summary(list(range(10)), [], []) - assert "..." in result[0] - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – set_github_output -# --------------------------------------------------------------------------- - -class TestSetGithubOutput: - """Tests for writing GitHub Actions outputs.""" - - def test_writes_changed(self, tmp_path): - output_file = tmp_path / "output.txt" - output_file.write_text("") - with patch.dict(os.environ, {"GITHUB_OUTPUT": str(output_file)}): - generate_tag_types.set_github_output(True, ["Added: 1 types (5)"]) - content = output_file.read_text() - assert "changed=true" in content - assert "summary=" in content - - def test_no_op_without_env(self, tmp_path): - """Should not crash when GITHUB_OUTPUT is not set.""" - with patch.dict(os.environ, {}, clear=True): - generate_tag_types.set_github_output(False, []) # should not raise - - -# --------------------------------------------------------------------------- -# Tests for generate_tag_types – full main() integration -# --------------------------------------------------------------------------- - -class TestMainIntegration: - """Integration tests for the full generate_tag_types.main() flow.""" - - def test_no_change_run(self, const_file, new_types_json, tmp_path): - """When data matches, output changed=false.""" - output_file = tmp_path / "output.txt" - output_file.write_text("") - with patch.object(generate_tag_types, "CONST_PATH", str(const_file)), \ - patch.dict(os.environ, {"GITHUB_OUTPUT": str(output_file)}), \ - patch("sys.argv", ["prog", str(new_types_json)]): - generate_tag_types.main() - assert "changed=false" in output_file.read_text() - - def test_added_type_run(self, const_file, tmp_path): - """When a new type is added, output changed=true and file is updated.""" - data = { - 0: {"version": 4, "name": 'M2 1.54"', "width": 152, "height": 152}, - 1: {"version": 5, "name": 'M2 2.9"', "width": 296, "height": 128}, - 240: {"version": 2, "name": "SLT\u2010EM007 Segmented", "width": 0, "height": 0}, - 250: {"version": 1, "name": "ConfigMode", "width": 0, "height": 0}, - 999: {"version": 1, "name": "Brand New", "width": 100, "height": 200}, - } - json_file = tmp_path / "new.json" - json_file.write_text(json.dumps(data, indent=2)) - - output_file = tmp_path / "output.txt" - output_file.write_text("") - with patch.object(generate_tag_types, "CONST_PATH", str(const_file)), \ - patch.dict(os.environ, {"GITHUB_OUTPUT": str(output_file)}), \ - patch("sys.argv", ["prog", str(json_file)]): - generate_tag_types.main() - assert "changed=true" in output_file.read_text() - updated = const_file.read_text() - assert "999:" in updated - assert "Brand New" in updated - - -# --------------------------------------------------------------------------- -# Tests for fetch_tag_types -# --------------------------------------------------------------------------- - -class TestFetchTagTypes: - """Tests for the fetch_tag_types module.""" - - def test_fetch_file_list(self): - """fetch_file_list should parse JSON filenames from HTML.""" - fake_html = '00.json 0A.json other.txt' - mock_response = MagicMock() - mock_response.read.return_value = fake_html.encode("utf-8") - mock_response.__enter__ = MagicMock(return_value=mock_response) - mock_response.__exit__ = MagicMock(return_value=False) - - with patch("urllib.request.urlopen", return_value=mock_response): - result = fetch_tag_types.fetch_file_list() - assert result == ["00.json", "0A.json"] - - def test_fetch_tag_types_parses_hex_ids(self): - """Filenames should be converted from hex to decimal type IDs.""" - fake_json = json.dumps({ - "version": 1, "name": "Test", "width": 100, "height": 50 - }).encode("utf-8") - - mock_response = MagicMock() - mock_response.read.return_value = fake_json - mock_response.__enter__ = MagicMock(return_value=mock_response) - mock_response.__exit__ = MagicMock(return_value=False) - - with patch("urllib.request.urlopen", return_value=mock_response): - result = fetch_tag_types.fetch_tag_types(["0A.json"]) - # 0x0A = 10 - assert 10 in result - assert result[10]["name"] == "Test" - - def test_fetch_tag_types_handles_errors(self): - """Errors fetching individual files should not crash the whole run.""" - with patch("urllib.request.urlopen", side_effect=Exception("Network error")): - result = fetch_tag_types.fetch_tag_types(["00.json"]) - assert result == {} - - def test_main_writes_json(self, tmp_path): - """main() should write fetched data to the output JSON file.""" - output = tmp_path / "out.json" - - with patch.object(fetch_tag_types, "fetch_file_list", return_value=["01.json"]), \ - patch.object(fetch_tag_types, "fetch_tag_types", return_value={ - 1: {"version": 1, "name": "X", "width": 10, "height": 10} - }), \ - patch("sys.argv", ["prog", str(output)]): - fetch_tag_types.main() - - data = json.loads(output.read_text()) - assert "1" in data # JSON keys are strings - assert data["1"]["name"] == "X" From 2ffb9ce4c3cd2a80ddc6c5e26e211d64ad67463f Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 14:12:50 +0200 Subject: [PATCH 02/65] feat: replace custom integration with core opendisplay integration --- custom_components/opendisplay/__init__.py | 893 +- custom_components/opendisplay/ble/__init__.py | 53 - .../opendisplay/ble/color_scheme.py | 112 - .../opendisplay/ble/connection.py | 247 - .../opendisplay/ble/exceptions.py | 26 - .../opendisplay/ble/image_processing.py | 276 - .../opendisplay/ble/image_upload.py | 952 - custom_components/opendisplay/ble/metadata.py | 217 - .../opendisplay/ble/operations.py | 148 - .../opendisplay/ble/protocol_atc.py | 216 - .../opendisplay/ble/protocol_base.py | 122 - .../opendisplay/ble/protocol_factory.py | 65 - .../opendisplay/ble/protocol_open_display.py | 485 - .../opendisplay/ble/tlv_parser.py | 758 - custom_components/opendisplay/button.py | 587 - custom_components/opendisplay/config_flow.py | 804 +- custom_components/opendisplay/const.py | 114 +- custom_components/opendisplay/coordinator.py | 1519 +- .../opendisplay/device_trigger.py | 183 - custom_components/opendisplay/diagnostics.py | 117 +- custom_components/opendisplay/entity.py | 228 +- custom_components/opendisplay/event.py | 91 + custom_components/opendisplay/g5_decoder.py | 696 - custom_components/opendisplay/icons.json | 240 +- custom_components/opendisplay/image.py | 296 - .../opendisplay/image_decompressor.py | 258 - .../opendisplay/imagegen/__init__.py | 23 - .../assets/materialdesignicons-webfont.ttf | Bin 1279992 -> 0 bytes .../materialdesignicons-webfont_meta.json | 118127 --------------- .../opendisplay/imagegen/assets/ppb.ttf | Bin 153944 -> 0 bytes .../opendisplay/imagegen/assets/rbm.ttf | Bin 168644 -> 0 bytes .../opendisplay/imagegen/colors.py | 70 - .../opendisplay/imagegen/coordinates.py | 110 - .../opendisplay/imagegen/core.py | 405 - .../opendisplay/imagegen/debug.py | 75 - .../opendisplay/imagegen/fonts.py | 277 - .../opendisplay/imagegen/icons.py | 244 - .../opendisplay/imagegen/media.py | 200 - .../opendisplay/imagegen/registry.py | 41 - .../opendisplay/imagegen/shapes.py | 417 - .../opendisplay/imagegen/text.py | 465 - .../opendisplay/imagegen/types.py | 78 - .../opendisplay/imagegen/visualizations.py | 952 - custom_components/opendisplay/light.py | 169 - custom_components/opendisplay/manifest.json | 45 +- custom_components/opendisplay/runtime_data.py | 21 - custom_components/opendisplay/select.py | 476 - custom_components/opendisplay/sensor.py | 783 +- custom_components/opendisplay/services.py | 660 +- custom_components/opendisplay/services.yaml | 356 +- custom_components/opendisplay/strings.json | 466 +- custom_components/opendisplay/switch.py | 142 - custom_components/opendisplay/tag_types.py | 649 - custom_components/opendisplay/text.py | 235 - .../opendisplay/translations/de.json | 480 - .../opendisplay/translations/en.json | 485 +- .../opendisplay/translations/pl.json | 563 - .../opendisplay/translations/pt.json | 377 - custom_components/opendisplay/update.py | 214 - custom_components/opendisplay/upload.py | 559 - custom_components/opendisplay/util.py | 181 - 61 files changed, 1163 insertions(+), 136885 deletions(-) delete mode 100644 custom_components/opendisplay/ble/__init__.py delete mode 100644 custom_components/opendisplay/ble/color_scheme.py delete mode 100644 custom_components/opendisplay/ble/connection.py delete mode 100644 custom_components/opendisplay/ble/exceptions.py delete mode 100644 custom_components/opendisplay/ble/image_processing.py delete mode 100644 custom_components/opendisplay/ble/image_upload.py delete mode 100644 custom_components/opendisplay/ble/metadata.py delete mode 100644 custom_components/opendisplay/ble/operations.py delete mode 100644 custom_components/opendisplay/ble/protocol_atc.py delete mode 100644 custom_components/opendisplay/ble/protocol_base.py delete mode 100644 custom_components/opendisplay/ble/protocol_factory.py delete mode 100644 custom_components/opendisplay/ble/protocol_open_display.py delete mode 100644 custom_components/opendisplay/ble/tlv_parser.py delete mode 100644 custom_components/opendisplay/button.py delete mode 100644 custom_components/opendisplay/device_trigger.py create mode 100644 custom_components/opendisplay/event.py delete mode 100644 custom_components/opendisplay/g5_decoder.py delete mode 100644 custom_components/opendisplay/image.py delete mode 100644 custom_components/opendisplay/image_decompressor.py delete mode 100644 custom_components/opendisplay/imagegen/__init__.py delete mode 100644 custom_components/opendisplay/imagegen/assets/materialdesignicons-webfont.ttf delete mode 100644 custom_components/opendisplay/imagegen/assets/materialdesignicons-webfont_meta.json delete mode 100644 custom_components/opendisplay/imagegen/assets/ppb.ttf delete mode 100644 custom_components/opendisplay/imagegen/assets/rbm.ttf delete mode 100644 custom_components/opendisplay/imagegen/colors.py delete mode 100644 custom_components/opendisplay/imagegen/coordinates.py delete mode 100644 custom_components/opendisplay/imagegen/core.py delete mode 100644 custom_components/opendisplay/imagegen/debug.py delete mode 100644 custom_components/opendisplay/imagegen/fonts.py delete mode 100644 custom_components/opendisplay/imagegen/icons.py delete mode 100644 custom_components/opendisplay/imagegen/media.py delete mode 100644 custom_components/opendisplay/imagegen/registry.py delete mode 100644 custom_components/opendisplay/imagegen/shapes.py delete mode 100644 custom_components/opendisplay/imagegen/text.py delete mode 100644 custom_components/opendisplay/imagegen/types.py delete mode 100644 custom_components/opendisplay/imagegen/visualizations.py delete mode 100644 custom_components/opendisplay/light.py delete mode 100644 custom_components/opendisplay/runtime_data.py delete mode 100644 custom_components/opendisplay/select.py delete mode 100644 custom_components/opendisplay/switch.py delete mode 100644 custom_components/opendisplay/tag_types.py delete mode 100644 custom_components/opendisplay/text.py delete mode 100644 custom_components/opendisplay/translations/de.json delete mode 100644 custom_components/opendisplay/translations/pl.json delete mode 100644 custom_components/opendisplay/translations/pt.json delete mode 100644 custom_components/opendisplay/update.py delete mode 100644 custom_components/opendisplay/upload.py delete mode 100644 custom_components/opendisplay/util.py diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index db94cbd..4fcc7c9 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -1,788 +1,167 @@ -import asyncio -import logging -import os -from typing import Final +"""Integration for OpenDisplay BLE e-paper displays.""" -from homeassistant.helpers import issue_registry as ir +import asyncio +import contextlib +from dataclasses import dataclass +from typing import TYPE_CHECKING + +from opendisplay import ( + AuthenticationFailedError, + AuthenticationRequiredError, + BLEConnectionError, + BLETimeoutError, + GlobalConfig, + OpenDisplayDevice, + OpenDisplayError, +) + +from homeassistant.components.bluetooth import async_ble_device_from_address from homeassistant.config_entries import ConfigEntry -from homeassistant.const import Platform, EVENT_HOMEASSISTANT_STARTED, CONF_HOST +from homeassistant.const import Platform from homeassistant.core import HomeAssistant -from homeassistant.exceptions import ConfigEntryNotReady -from homeassistant.helpers import entity_registry as er, device_registry as dr, storage -from homeassistant.const import __version__ as HA_VERSION +from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady +from homeassistant.helpers import config_validation as cv, device_registry as dr +from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH from homeassistant.helpers.typing import ConfigType -from .ble import BLEDeviceMetadata -from .const import DOMAIN -from .coordinator import Hub -from .runtime_data import OpenDisplayConfigEntry, OpenDisplayBLERuntimeData -from .services import async_setup_services -from .tag_types import get_tag_types_manager -from .util import is_ble_entry - -_LOGGER: Final = logging.getLogger(__name__) - -PLATFORMS = [ - Platform.SENSOR, - Platform.BUTTON, - Platform.IMAGE, - Platform.SELECT, - Platform.SWITCH, - Platform.TEXT, -] - -# BLE devices use a subset of platforms -BLE_PLATFORMS = [ - Platform.SENSOR, # Battery, RSSI, last seen - Platform.LIGHT, # LED control - Platform.BUTTON, # Clock mode controls - Platform.IMAGE, # Display content (captured from drawcustom) - Platform.UPDATE -] - - -async def async_migrate_camera_entities(hass: HomeAssistant, entry: ConfigEntry) -> list[str]: - """Migrate old camera entities to image entities. - - Finds and removes camera entities that match our unique ID pattern, - returns a list of removed entity IDs for notification. - - Returns: - list[str]: List of removed camera entity IDs - """ - entity_registry = er.async_get(hass) - removed_entities = [] - - # Find camera entities with OpenDisplay domain and content in unique_id - camera_entities = [] - for entity in entity_registry.entities.values(): - if entity.platform == DOMAIN and entity.domain == "camera" and entity.unique_id.endswith("_content"): - camera_entities.append(entity) - - for entity in camera_entities: - _LOGGER.info("Removing old camera entity: %s", entity.entity_id) - entity_registry.async_remove(entity.entity_id) - removed_entities.append(entity.entity_id) - - return removed_entities - -async def async_remove_clock_mode_buttons(hass: HomeAssistant, entry: ConfigEntry) -> list[str]: - """Remove deprecated clock mode button entities. - - Clock mode was a tech demo feature that is no longer supported. - This removes the old button entities from the entity registry. - - Returns: - list[str]: List of removed button entity IDs - """ - entity_registry = er.async_get(hass) - removed_entities = [] - - # Find clock mode button entities for this config entry - for entity in er.async_entries_for_config_entry(entity_registry, entry.entry_id): - if entity.unique_id and ("_set_clock_mode" in entity.unique_id or "_disable_clock_mode" in entity.unique_id): - _LOGGER.info("Removing deprecated clock mode button: %s", entity.entity_id) - entity_registry.async_remove(entity.entity_id) - removed_entities.append(entity.entity_id) - - return removed_entities +if TYPE_CHECKING: + from opendisplay.models import FirmwareVersion +from .const import CONF_ENCRYPTION_KEY, DOMAIN +from .coordinator import OpenDisplayCoordinator +from .services import async_setup_services -async def async_remove_invalid_ble_entities( - hass: HomeAssistant, - entry: ConfigEntry, - device_metadata: dict -) -> list[str]: - """Remove BLE entities that are invalid for current device config. +CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN) - Checks device configuration and removes entities that shouldn't exist based on - current hardware/firmware capabilities: - - Battery sensors when power_mode == 2 (USB powered) - - Future: LED entities when LED config missing - - Future: Sensor entities based on sensor config +_BASE_PLATFORMS: list[Platform] = [] +_FLEX_PLATFORMS = [Platform.EVENT, Platform.SENSOR] - Args: - hass: Home Assistant instance - entry: Configuration entry - device_metadata: Current device metadata with OpenDisplay config - Returns: - list[str]: List of removed entity IDs - """ - entity_registry = er.async_get(hass) - removed_entities = [] - mac_address = entry.data.get("mac_address", "") +@dataclass +class OpenDisplayRuntimeData: + """Runtime data for an OpenDisplay config entry.""" - # Check power mode - remove battery sensors if not battery/solar powered - from .ble import BLEDeviceMetadata - metadata = BLEDeviceMetadata(device_metadata) - if metadata.power_mode not in (1, 3): # Not battery (1) or solar (3) - for entity in er.async_entries_for_config_entry(entity_registry, entry.entry_id): - if entity.unique_id and ( - f"opendisplay_ble_{mac_address}_battery_percentage" in entity.unique_id or - f"opendisplay_ble_{mac_address}_battery_voltage" in entity.unique_id - ): - _LOGGER.info("Removing battery sensor (power_mode=%s): %s", metadata.power_mode, entity.entity_id) - entity_registry.async_remove(entity.entity_id) - removed_entities.append(entity.entity_id) + coordinator: OpenDisplayCoordinator + firmware: FirmwareVersion + device_config: GlobalConfig + is_flex: bool + upload_task: asyncio.Task | None = None - # Future: Check LED config presence and remove LED entity if not present - # Future: Check sensor configs and remove/add sensor entities accordingly - return removed_entities +type OpenDisplayConfigEntry = ConfigEntry[OpenDisplayRuntimeData] -# async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: -# """ -# Migrate old config entries to new schema version. -# -# Version 2 -> 3: Add device type and protocol type fields to BLE entries and fix boolean rotate buffer. -# -# Version 3 -> 4: Fix color support. -# -# Returns: -# bool: True if migration was successful, False otherwise. -# """ -# _LOGGER.debug( -# "Migrating config entry from version %s.%s", -# config_entry.version, -# config_entry.minor_version, -# ) -# if config_entry.version == 2: -# new_data = {**config_entry.data} -# -# # Check if this is a BLE entry -# if "mac_address" in config_entry.data: -# if "device_type" not in config_entry.data: -# new_data["device_type"] = "ble" -# _LOGGER.info( -# "Adding device_type='ble' to BLE entry %s", -# new_data.get("name", new_data.get("mac_address")) -# ) -# -# if "protocol_type" not in config_entry.data: -# new_data["protocol_type"] = "atc" -# _LOGGER.info( -# "Adding protocol_type='atc' to BLE entry %s", -# new_data.get("name", new_data.get("mac_address")) -# ) -# -# if "device_metadata" in new_data: -# device_metadata = new_data["device_metadata"] -# -# if "oepl_config" in device_metadata and "open_display_config" not in device_metadata: -# device_metadata = { -# **device_metadata, -# "open_display_config": device_metadata["oepl_config"], -# } -# new_data["device_metadata"] = device_metadata -# -# if "open_display_config" not in device_metadata and "rotatebuffer" in device_metadata: -# rotatebuffer_value = device_metadata["rotatebuffer"] -# -# if isinstance(rotatebuffer_value, bool): -# new_metadata = {**device_metadata, "rotatebuffer": 1} -# new_data["device_metadata"] = new_metadata -# -# _LOGGER.info( -# "Converting rotatebuffer from %s (bool) to %s (int) for BLE entry %s", -# rotatebuffer_value, -# new_metadata["rotatebuffer"], -# new_data.get("name", new_data.get("mac_address")) -# ) -# -# # Update config entry with migrated data and new version -# hass.config_entries.async_update_entry( -# config_entry, -# data=new_data, -# version=3, -# minor_version=0 -# ) -# _LOGGER.info("Successfully migrated config entry to version 3") -# -# if config_entry.version == 3: -# new_data = {**config_entry.data} -# -# # Only migrate BLE entries -# if "mac_address" in config_entry.data: -# device_metadata = dict(new_data.get("device_metadata", {})) -# -# if "oepl_config" in device_metadata and "open_display_config" not in device_metadata: -# device_metadata["open_display_config"] = device_metadata["oepl_config"] -# new_data["device_metadata"] = device_metadata -# -# # OpenDisplay: No migration needed - color scheme is already in open_display_config.displays[0] -# # ATC: Need to add color_scheme at root level -# -# if "open_display_config" not in device_metadata and "color_scheme" not in device_metadata: -# hw_type = device_metadata.get("hw_type", 0) -# tag_types_manager = await get_tag_types_manager(hass) -# -# if tag_types_manager.is_in_hw_map(hw_type): -# tag_type = await tag_types_manager.get_tag_info(hw_type) -# color_table = tag_type.color_table -# -# _LOGGER.info( -# "Migrating color support for BLE entry %s based on hw_type=%s with colors: %s", -# new_data.get("name", new_data.get("mac_address")), -# hw_type, -# color_table -# ) -# -# if 'yellow' in color_table and 'red' in color_table: -# color_scheme = 3 # BWRY -# elif 'yellow' in color_table: -# color_scheme = 2 # BWY -# elif 'red' in color_table: -# color_scheme = 1 # BWR -# else: -# color_scheme = 0 # BW -# -# _LOGGER.info( -# "Determined color_scheme=%s for BLE entry %s", -# color_scheme, -# new_data.get("name", new_data.get("mac_address")) -# ) -# else: -# # Fallback from old color_support string -# cs = device_metadata.get("color_support", "mono") -# color_scheme = {"red": 1, "yellow": 2, "bwry": 3}.get(cs, 0) -# _LOGGER.info( -# "Fallback color_scheme=%s for BLE entry %s from color_support='%s'", -# color_scheme, -# new_data.get("name", new_data.get("mac_address")), -# cs -# ) -# -# device_metadata["color_scheme"] = color_scheme -# new_data["device_metadata"] = device_metadata -# -# _LOGGER.info( -# "Adding color_scheme=%s to BLE entry %s", -# color_scheme, -# new_data.get("name", new_data.get("mac_address")) -# ) -# -# hass.config_entries.async_update_entry( -# config_entry, -# data=new_data, -# version=4 -# ) -# _LOGGER.info("Successfully migrated config entry to version 4") -# -# return True +def _get_encryption_key(entry: OpenDisplayConfigEntry) -> bytes | None: + """Return the encryption key bytes from entry data, or None.""" + raw = entry.data.get(CONF_ENCRYPTION_KEY) + if raw is None: + return None + if len(raw) != 32: + raise ConfigEntryAuthFailed( + "Stored OpenDisplay encryption key is invalid; reauthentication required" + ) + try: + return bytes.fromhex(raw) + except ValueError as err: + raise ConfigEntryAuthFailed( + "Stored OpenDisplay encryption key is invalid; reauthentication required" + ) from err async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the OpenDisplay integration.""" - - # Services should be set up unconditionally - await async_setup_services(hass) + async_setup_services(hass) return True -async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) -> bool: - """Set up OpenDisplay integration from a config entry. - - This is the main entry point for integration initialization, which handles both: - - AP-based entries (traditional WebSocket-based integration) - - BLE-based entries (direct Bluetooth communication) - - Args: - hass: Home Assistant instance - entry: Configuration Entry object with connection details - - Returns: - bool: True if setup was successful, False otherwise - """ - # Detect BLE vs AP entry type - is_ble_device = entry.data.get("device_type") == "ble" - - if is_ble_device: - # BLE device setup using simple callback approach - _LOGGER.debug("Setting up BLE device entry: %s", entry.data.get("name")) - - from homeassistant.components import bluetooth - from .ble import get_protocol_by_name - from datetime import datetime, timezone - mac_address = entry.data.get("mac_address") - name = entry.data.get("name") - device_metadata = entry.data.get("device_metadata", {}) - protocol_type = entry.data.get("protocol_type", "atc") # Default to ATC for backward compatibility - - # Get protocol handler for this device - protocol = get_protocol_by_name(protocol_type) - _LOGGER.debug("Setting up BLE device with protocol: %s (manufacturer ID: 0x%04X)", - protocol_type, protocol.manufacturer_id) - - # Store BLE device config in runtime_data for entity access - ble_data = OpenDisplayBLERuntimeData( - mac_address=mac_address, - name=name, - device_metadata=device_metadata, - protocol_type=protocol_type, - sensors={}, +async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) -> bool: + """Set up OpenDisplay from a config entry.""" + address = entry.unique_id + if TYPE_CHECKING: + assert address is not None + + ble_device = async_ble_device_from_address(hass, address, connectable=True) + if ble_device is None: + raise ConfigEntryNotReady( + f"Could not find OpenDisplay device with address {address}" ) - entry.runtime_data = ble_data - - # Lightweight presence check - only checks cached advertisement data - if not bluetooth.async_address_present(hass, mac_address, connectable=False): - raise ConfigEntryNotReady( - translation_domain=DOMAIN, - translation_key="ble_device_not_detected", - translation_placeholders={"name": name, "mac_address": mac_address}, - ) - - if entry.data.get("send_welcome_image", False): - new_data = dict(entry.data) - new_data.pop("send_welcome_image", None) - hass.config_entries.async_update_entry(entry, data=new_data) - - hass.async_create_task( - _send_welcome_image( - hass, - entry.entry_id, - name, - ) - ) - - def _ble_device_found( - service_info: bluetooth.BluetoothServiceInfoBleak, - change: bluetooth.BluetoothChange, - ) -> None: - """Handle BLE advertising data updates. - - Uses protocol-specific parsing based on the device firmware type. - """ - # Only process the specific device - if service_info.address != mac_address: - return - - # Parse manufacturer data using protocol-specific parser - manufacturer_data = service_info.manufacturer_data.get(protocol.manufacturer_id) - if not manufacturer_data: - _LOGGER.debug( - "No manufacturer data for 0x%04X on %s (available: %s)", - protocol.manufacturer_id, - mac_address, - service_info.manufacturer_data.keys() - ) - return - - try: - advertising_data = protocol.parse_advertising_data(manufacturer_data) - if not advertising_data: - _LOGGER.debug("parse_advertising_data returned None for %s", mac_address) - return - except Exception as err: - _LOGGER.debug("Failed to parse advertising data for %s: %s", mac_address, err, exc_info=True) - return - - # Dynamically update device attributes (skip OpenDisplay fw to avoid incorrect value) - if advertising_data.fw_version and protocol_type != "open_display": - device_registry = dr.async_get(hass) - device_entry = device_registry.async_get_device( - identifiers={(DOMAIN, f"ble_{mac_address}")} - ) - new_fw_string = str(advertising_data.fw_version) - if device_entry and device_entry.sw_version != new_fw_string: - _LOGGER.debug( - "Device %s firmware updated from %s to %s", - mac_address, - device_entry.sw_version, - new_fw_string, - ) - device_registry.async_update_device( - device_entry.id, - sw_version=new_fw_string - ) - - # Build sensor data - sensor_data = { - "battery_percentage": advertising_data.battery_pct, - "battery_voltage": advertising_data.battery_mv if advertising_data.battery_mv > 0 else None, - "rssi": service_info.rssi, - "last_seen": datetime.now(timezone.utc), - "temperature": advertising_data.temperature, - } - - # Update all registered sensors - for sensor in ble_data.sensors.values(): - sensor.update_from_advertising_data(sensor_data) - - # Remove deprecated clock mode button entities - removed_clock_buttons = await async_remove_clock_mode_buttons(hass, entry) - if removed_clock_buttons: - _LOGGER.info("Removed deprecated clock mode buttons: %s", removed_clock_buttons) - # Remove invalid entities based on the current device config - removed_invalid = await async_remove_invalid_ble_entities(hass, entry, device_metadata) - if removed_invalid: - _LOGGER.info("Removed invalid BLE entities: %s", removed_invalid) + encryption_key = _get_encryption_key(entry) - # Set up BLE-specific platforms FIRST (before callback registration) - # This ensures sensor entities exist before any advertising callbacks fire - await hass.config_entries.async_forward_entry_setups(entry, BLE_PLATFORMS) - - # Register BLE advertising listener with protocol-specific manufacturer ID - # This must happen AFTER platforms are set up so sensors can receive updates - unregister_callback = bluetooth.async_register_callback( - hass, - _ble_device_found, - {"manufacturer_id": protocol.manufacturer_id}, - bluetooth.BluetoothScanningMode.ACTIVE, + try: + async with OpenDisplayDevice( + mac_address=address, ble_device=ble_device, encryption_key=encryption_key + ) as device: + fw = await device.read_firmware_version() + is_flex = device.is_flex + except (AuthenticationFailedError, AuthenticationRequiredError) as err: + raise ConfigEntryAuthFailed( + f"Encryption key rejected by OpenDisplay device: {err}" + ) from err + except (BLEConnectionError, BLETimeoutError, OpenDisplayError) as err: + raise ConfigEntryNotReady( + f"Failed to connect to OpenDisplay device: {err}" + ) from err + device_config = device.config + if TYPE_CHECKING: + assert device_config is not None + + coordinator = OpenDisplayCoordinator(hass, address) + + manufacturer = device_config.manufacturer + display = device_config.displays[0] + color_scheme_enum = display.color_scheme_enum + color_scheme = ( + str(color_scheme_enum) + if isinstance(color_scheme_enum, int) + else color_scheme_enum.name + ) + size = ( + f'{display.screen_diagonal_inches:.1f}"' + if display.screen_diagonal_inches is not None + else f"{display.pixel_width}x{display.pixel_height}" + ) + dr.async_get(hass).async_get_or_create( + config_entry_id=entry.entry_id, + connections={(CONNECTION_BLUETOOTH, address)}, + manufacturer=manufacturer.manufacturer_name, + model=f"{size} {color_scheme}", + sw_version=f"{fw['major']}.{fw['minor']}", + hw_version=( + f"{manufacturer.board_type_name or manufacturer.board_type}" + f" rev. {manufacturer.board_revision}" ) - - entry.async_on_unload(unregister_callback) - - else: - # Traditional AP setup - _LOGGER.debug("Setting up AP entry: %s", entry.data.get(CONF_HOST, "unknown")) - - hub = Hub(hass, entry) - - # Do basic setup without WebSocket connection - # Raises ConfigEntryNotReady if AP is unreachable - await hub.async_setup_initial() - - entry.runtime_data = hub - - removed_entities = await async_migrate_camera_entities(hass, entry) - if removed_entities: - # Inform users via repairs that camera entities were migrated and dashboards need updates - ir.async_create_issue( - hass, - DOMAIN, - f"camera_migration_{entry.entry_id}", - is_fixable=False, - severity=ir.IssueSeverity.WARNING, - translation_key="camera_migration_needed", - translation_placeholders={ - "count": str(len(removed_entities)), - "entities": ", ".join(removed_entities), - }, - ) - - await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) - - async def start_websocket(_): - """Start WebSocket connection after HA is fully started.""" - await hub.async_start_websocket() - - if hass.is_running: - # If HA is already running, start WebSocket immediately - await hub.async_start_websocket() - else: - # Otherwise wait for the started event - hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STARTED, start_websocket) - - - # Listen for changes to options - entry.async_on_unload(entry.add_update_listener(async_update_options)) + if is_flex + else None, + configuration_url="https://opendisplay.org/firmware/config/" + if is_flex + else None, + ) + + entry.runtime_data = OpenDisplayRuntimeData( + coordinator=coordinator, + firmware=fw, + device_config=device_config, + is_flex=is_flex, + ) + + await hass.config_entries.async_forward_entry_setups( + entry, _FLEX_PLATFORMS if is_flex else _BASE_PLATFORMS + ) + entry.async_on_unload(coordinator.async_start()) return True -async def async_update_options(hass: HomeAssistant, entry: OpenDisplayConfigEntry) -> None: - """Handle updates to integration options. - - Called when the user updates integration options through the UI. - Only applies to AP-based entries (BLE devices don't have configurable options). - - Args: - hass: Home Assistant instance - entry: Updated configuration entry - """ - entry_data = entry.runtime_data - - # Only AP entries have hub with reload_config method - if is_ble_entry(entry_data): - # BLE devices don't have configurable options yet - return - - # Traditional AP entry - hub = entry_data - await hub.async_reload_config() - - -async def async_unload_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) -> bool: - """Unload the integration when removed or restarted. - - Handles both BLE and AP entries with appropriate cleanup. - - Args: - hass: Home Assistant instance - entry: Configuration entry being unloaded - - Returns: - bool: True if unload was successful, False otherwise - """ - entry_data = entry.runtime_data - - # Determine if BLE or AP entry - is_ble_device = is_ble_entry(entry_data) - - if is_ble_device: - # BLE device cleanup - unload_ok = await hass.config_entries.async_unload_platforms(entry, BLE_PLATFORMS) - else: - # AP entry cleanup - hub = entry_data - unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS) - - if unload_ok: - await hub.shutdown() - - return unload_ok - -async def async_remove_config_entry_device( - hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry +async def async_unload_entry( + hass: HomeAssistant, entry: OpenDisplayConfigEntry ) -> bool: - """Allow manual removal of stale BLE devices.""" - mac_address = None - for domain, ident in device_entry.identifiers: - if domain == DOMAIN and ident.startswith("ble_"): - mac_address = ident[4:] - break - - if not mac_address: - return True # Not a BLE device; let HA delete it. - - # Lean option: always allow removal so users can clean up. - return True - - -async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: - """Handle complete removal of integration. - - Called when the integration is completely removed from Home Assistant - (not during restarts). Performs cleanup of persistent storage files. - - Args: - hass: Home Assistant instance - entry: Configuration entry being removed - """ - # Only remove shared storage files if this is the last config entry - remaining_entries = [ - config_entry for config_entry in hass.config_entries.async_entries(DOMAIN) - if config_entry.entry_id != entry.entry_id - ] - - if not remaining_entries: - # This was the last entry, safe to remove shared storage - await async_remove_storage_files(hass) - - -async def async_remove_storage_files(hass: HomeAssistant) -> None: - """Remove persistent storage files when removing integration. - - Cleans up files created by the integration: - - 1. Tag types file (open_display_tagtypes.json, legacy) - 2. Tag storage file (.storage/opendisplay_tags) - 3. Image directory (www/opendisplay) - - This prevents orphaned files when the integration is removed - and ensures a clean reinstallation if needed. - - Args: - hass: Home Assistant instance - """ - from .tag_types import reset_tag_types_manager - - storage_dir = hass.config.path(".storage") - - # Remove tag types file - tag_types_file = hass.config.path("open_display_tagtypes.json") - if await hass.async_add_executor_job(os.path.exists, tag_types_file): - try: - await hass.async_add_executor_job(os.remove, tag_types_file) - _LOGGER.debug("Removed tag types file") - except OSError as err: - _LOGGER.error("Error removing tag types file: %s", err) - - # Remove tag types storage entry - try: - await storage.async_remove_store(hass, "opendisplay_tagtypes") - await storage.async_remove_store(hass, "open_display_tagtypes") - _LOGGER.debug("Removed tag types storage file") - except Exception as err: - _LOGGER.error("Error removing tag types storage file: %s", err) - - # Remove tag storage file - tags_file = os.path.join(storage_dir, f"{DOMAIN}_tags") - if await hass.async_add_executor_job(os.path.exists, tags_file): - try: - await hass.async_add_executor_job(os.remove, tags_file) - _LOGGER.debug("Removed tag storage file") - except OSError as err: - _LOGGER.error("Error removing tag storage file: %s", err) - - # Remove image directory - image_dir = hass.config.path("www/opendisplay") - if await hass.async_add_executor_job(os.path.exists, image_dir): - try: - # Get file list in executor - files = await hass.async_add_executor_job(os.listdir, image_dir) - - # Remove each file in executor - for file in files: - file_path = os.path.join(image_dir, file) - await hass.async_add_executor_job(os.remove, file_path) - - # Remove directory in executor - await hass.async_add_executor_job(os.rmdir, image_dir) - _LOGGER.debug("Removed image directory") - except OSError as err: - _LOGGER.error("Error removing image directory: %s", err) - - # Reset the tag types manager singleton since its storage was deleted - reset_tag_types_manager() - _LOGGER.debug("Reset tag types manager singleton") - - - -async def _send_welcome_image( - hass: HomeAssistant, - entry_id: str, - device_name: str, -) -> None: - try: - for _ in range(10): - if hass.services.has_service(DOMAIN, "drawcustom"): - break - await asyncio.sleep(0.5) - else: - _LOGGER.debug("Welcome image: drawcustom service not available") - return - device_registry = dr.async_get(hass) - devices = [ - device - for device in device_registry.devices.values() - if entry_id in device.config_entries - ] - for _ in range(20): - devices = dr.async_entries_for_config_entry(device_registry, entry_id) - if devices: - device_id = devices[0].id - break - await asyncio.sleep(0.5) - - if not device_id: - _LOGGER.debug("Welcome image: No devices found for entry %s", entry_id) - return - - device_id = devices[0].id - - entry = hass.config_entries.async_get_entry(entry_id) - if not entry: - return - - device_metadata = entry.data.get("device_metadata", {}) - - metadata = BLEDeviceMetadata(device_metadata) - - width = metadata.width - height = metadata.height - color_scheme = metadata.color_scheme - - colors = list(color_scheme.palette.colors.keys()) - use_blue_logo = "blue" in colors - ha_logo_url = ( - "https://openepaperlink.org/HA_blue.png" - if use_blue_logo - else "https://openepaperlink.org/HA_black.png" - ) - od_logo_url = ( - "https://openepaperlink.org/OpenDisplay.png" - if use_blue_logo - else "https://openepaperlink.org/OpenDisplay_black.png" - ) - - title_y_pct = 10 - title_size = max(12, int(height * 0.08)) - logo_y_pct = 40 - logo_size = max(48, int(height * 0.25)) - ha_logo_size = max(32, int(logo_size * 0.8)) - color_box_y_pct = 80 - color_box_size = max(20, int(height * 0.12)) - - payload = [ - { - "type": "text", - "value": f"Connected to HA {HA_VERSION}", - "x": "50%", - "y": f"{title_y_pct}%", - "size": title_size, - "color": "black", - "anchor": "mt", - "font": "ppb.ttf", - }, - # Home Assistant logo (left side) - { - "type": "dlimg", - "url": ha_logo_url, - "x": int(width * 0.35 - ha_logo_size // 2), - "y": int(height * logo_y_pct / 100 - ha_logo_size // 2), - "xsize": ha_logo_size, - "ysize": ha_logo_size, - "resize_method": "contain", - }, - # Bluetooth icon (center) - { - "type": "icon", - "value": "mdi:bluetooth-connect", - "x": "50%", # Center - "y": f"{logo_y_pct}%", - "size": int(logo_size * 0.5), - "color": "black", - "anchor": "mm", - }, - # OpenDisplay logo (right side) - { - "type": "dlimg", - "url": od_logo_url, - "x": int(width * 0.65 - logo_size // 2), - "y": int(height * logo_y_pct / 100 - logo_size // 2), - "xsize": logo_size, - "ysize": logo_size, - "resize_method": "contain", - }, - ] - - num_colors = len(colors) - spacing = 5 - total_width = num_colors * color_box_size + (num_colors - 1) * spacing - start_x = (width - total_width) // 2 - box_y = int(height * color_box_y_pct / 100) - - for i, color in enumerate(colors): - box_x = start_x + i * (color_box_size + spacing) - payload.append({ - "type": "rectangle", - "x_start": box_x, - "y_start": box_y, - "x_end": box_x + color_box_size, - "y_end": box_y + color_box_size, - "fill": color, - "outline": "black", - "width": 1, - }) - - _LOGGER.debug("Sending welcome image to %s", device_name) - await hass.services.async_call( - DOMAIN, - "drawcustom", - { - "device_id": device_id, - "payload": payload, - "background": "white", - "rotate": 0, - "dither": 2, - "ttl": 60, - }, - blocking=False, - ) - - except Exception as err: - _LOGGER.debug("Welcome image failed: %s", err, exc_info=True) + """Unload a config entry.""" + if (task := entry.runtime_data.upload_task) and not task.done(): + task.cancel() + with contextlib.suppress(asyncio.CancelledError): + await task + + return await hass.config_entries.async_unload_platforms( + entry, _FLEX_PLATFORMS if entry.runtime_data.is_flex else _BASE_PLATFORMS + ) diff --git a/custom_components/opendisplay/ble/__init__.py b/custom_components/opendisplay/ble/__init__.py deleted file mode 100644 index f1b03f7..0000000 --- a/custom_components/opendisplay/ble/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -"""BLE protocol abstraction for OpenDisplay devices.""" -from .color_scheme import ColorScheme -# Re-export key classes and functions for backward compatibility -from .connection import BLEConnection -from .image_upload import BLEImageUploader -from .metadata import BLEDeviceMetadata -from .operations import ( - turn_led_on, - turn_led_off, - ping_device, -) -from .protocol_factory import ( - get_protocol_by_manufacturer_id, - get_protocol_by_name, - get_supported_manufacturer_ids, -) -from .protocol_base import AdvertisingData, DeviceCapabilities -from .exceptions import ( - BLEError, - BLEConnectionError, - BLEProtocolError, - BLETimeoutError, - UnsupportedProtocolError, - ConfigValidationError, -) - -__all__ = [ - # Connection - "BLEConnection", - # Image upload - "BLEImageUploader", - # Metadata - "BLEDeviceMetadata", - # Operations - "turn_led_on", - "turn_led_off", - "ping_device", - # Protocol factory - "get_protocol_by_manufacturer_id", - "get_protocol_by_name", - "get_supported_manufacturer_ids", - # Data structures - "AdvertisingData", - "DeviceCapabilities", - "ColorScheme", - # Exceptions - "BLEError", - "BLEConnectionError", - "BLEProtocolError", - "BLETimeoutError", - "UnsupportedProtocolError", - "ConfigValidationError", -] diff --git a/custom_components/opendisplay/ble/color_scheme.py b/custom_components/opendisplay/ble/color_scheme.py deleted file mode 100644 index 57a0432..0000000 --- a/custom_components/opendisplay/ble/color_scheme.py +++ /dev/null @@ -1,112 +0,0 @@ -from dataclasses import dataclass -from enum import Enum -from typing import Tuple, Dict - - -@dataclass(frozen=True) -class ColorPalette: - """Color palette for a display type.""" - colors: Dict[str, Tuple[int, int, int]] # name -> RGB tuple - accent: str - - -class ColorScheme(Enum): - """ - Display color scheme with associated palette. - - Usage: - scheme = ColorScheme.from_int(2) # Get BWY from firmware value - scheme.name # "BWY" - scheme.value # 2 - scheme.accent_color # "yellow" - scheme.palette.colors # {'black': ..., 'white': ..., 'yellow': ...} - """ - MONO = (0, ColorPalette( - colors={ - 'black': (0, 0, 0), - 'white': (255, 255, 255), - }, - accent='black' - )) - - BWR = (1, ColorPalette( - colors={ - 'black': (0, 0, 0), - 'white': (255, 255, 255), - 'red': (255, 0, 0), - }, - accent='red' - )) - - BWY = (2, ColorPalette( - colors={ - 'black': (0, 0, 0), - 'white': (255, 255, 255), - 'yellow': (255, 255, 0), - }, - accent='yellow' - )) - - BWRY = (3, ColorPalette( - colors={ - 'black': (0, 0, 0), - 'white': (255, 255, 255), - 'red': (255, 0, 0), - 'yellow': (255, 255, 0), - }, - accent='red' - )) - - BWGBRY = (4, ColorPalette( - colors={ - 'black': (0, 0, 0), - 'white': (255, 255, 255), - 'green': (0, 255, 0), - 'blue': (0, 0, 255), - 'red': (255, 0, 0), - 'yellow': (255, 255, 0), - }, - accent='red' - )) - - GRAYSCALE_4 = (5, ColorPalette( - colors={ - 'black': (0, 0, 0), - 'gray1': (85, 85, 85), - 'gray2': (170, 170, 170), - 'white': (255, 255, 255) - }, - accent='black' - )) - - def __init__(self, value: int, palette: ColorPalette): - self._value_ = value - self.palette = palette - - @classmethod - def from_int(cls, value: int) -> 'ColorScheme': - """Get ColorScheme from firmware int value.""" - for scheme in cls: - if scheme.value == value: - return scheme - return cls.MONO # Default fallback - - @property - def accent_color(self) -> str: - """Accent color name for this scheme.""" - return self.palette.accent - - @property - def has_red(self) -> bool: - """Check if red color is supported.""" - return 'red' in self.palette.colors - - @property - def has_yellow(self) -> bool: - """Check if yellow color is supported.""" - return 'yellow' in self.palette.colors - - @property - def is_multi_color(self) -> bool: - """Check if the scheme supports multiple colors.""" - return len(self.palette.colors) > 2 diff --git a/custom_components/opendisplay/ble/connection.py b/custom_components/opendisplay/ble/connection.py deleted file mode 100644 index 6bc4ed0..0000000 --- a/custom_components/opendisplay/ble/connection.py +++ /dev/null @@ -1,247 +0,0 @@ -"""BLE connection management.""" -import asyncio -import logging -from typing import TYPE_CHECKING - -from homeassistant.core import HomeAssistant -from homeassistant.components import bluetooth -from bleak import BleakClient -from bleak.exc import BleakError -from bleak_retry_connector import ( - BleakClientWithServiceCache, - BleakOutOfConnectionSlotsError, - establish_connection, -) - -from .exceptions import BLEConnectionError, BLEProtocolError, BLETimeoutError -from ..const import DOMAIN - - -if TYPE_CHECKING: - from .protocol_base import BLEProtocol - -_LOGGER = logging.getLogger(__name__) - -# Protocol initialization command for ATC protocol -CMD_INIT = bytes([0x01, 0x01]) - -INIT_DELAY_SECONDS = 2.0 - - -class BLEConnection: - """Context manager for BLE connections with protocol-specific service UUID. - - Manages BLE connection lifecycle including: - - Connection establishment with retry logic - - Service/characteristic resolution - - Notification handling - - Protocol initialization - - Graceful disconnection - """ - - def __init__(self, hass: HomeAssistant, mac_address: str, service_uuid: str, protocol: "BLEProtocol"): - """Initialize BLE connection manager. - - Args: - hass: Home Assistant instance - mac_address: Device MAC address - service_uuid: Protocol-specific BLE service UUID - protocol: Protocol instance for this device - """ - self.hass = hass - self.mac_address = mac_address - self.service_uuid = service_uuid - self.protocol = protocol - self.client: BleakClient | None = None - self.write_char = None - self._response_queue = asyncio.Queue() - self._notification_active = False - - async def __aenter__(self): - """Establish BLE connection and initialize protocol.""" - try: - device = bluetooth.async_ble_device_from_address( - self.hass, self.mac_address, connectable=True - ) - if not device: - raise BLEConnectionError( - translation_domain=DOMAIN, - translation_key="ble_device_not_found", - translation_placeholders={"mac_address": self.mac_address} - ) - - self.client = await establish_connection( - BleakClientWithServiceCache, - device, - f"BLE-{self.mac_address}", - self._disconnected_callback, - timeout=15.0, - ) - - # Resolve protocol-specific service characteristic - if not self._resolve_characteristic(): - await self.client.disconnect() - raise BLEConnectionError( - translation_domain=DOMAIN, - translation_key="ble_characteristic_not_resolved", - translation_placeholders={ "service_uuid": self.service_uuid} - ) - - # Enable notifications for protocol responses - await self.client.start_notify(self.write_char, self._notification_callback) - self._notification_active = True - - # Let protocol handle its own initialization requirements - await self.protocol.initialize_connection(self) - - return self - - except BleakOutOfConnectionSlotsError as e: - await self._cleanup() - raise BLEConnectionError( - translation_domain=DOMAIN, - translation_key="ble_slots_unavailable", - translation_placeholders={"mac_address": self.mac_address, "error": str(e)} - ) from e - - except (BleakError, asyncio.TimeoutError) as e: - await self._cleanup() - raise BLEConnectionError( - translation_domain=DOMAIN, - translation_key="ble_connection_failed", - translation_placeholders={"mac_address": self.mac_address, "error": str(e)} - ) from e - - async def __aexit__(self, exc_type, exc_val, exc_tb): - """Clean up BLE connection.""" - await self._cleanup() - - async def _cleanup(self): - """Clean up connection resources.""" - if self.client and self.client.is_connected: - if self._notification_active: - try: - await self.client.stop_notify(self.write_char) - except Exception: - _LOGGER.debug("Failed to stop notifications during cleanup") - finally: - self._notification_active = False - try: - await self.client.disconnect() - except Exception: - _LOGGER.debug("Failed to disconnect during cleanup") - - def _resolve_characteristic(self) -> bool: - """Resolve BLE characteristic for the protocol-specific service. - - Returns: - bool: True if characteristic was resolved successfully - """ - try: - if not self.client or not self.client.services: - return False - - # Find the protocol-specific service characteristic - char = self.client.services.get_characteristic(self.service_uuid) - if char: - self.write_char = char - _LOGGER.debug( - "Resolved characteristic for service %s on %s", - self.service_uuid, - self.mac_address, - ) - return True - - _LOGGER.error( - "Could not find characteristic for service %s on %s", - self.service_uuid, - self.mac_address, - ) - return False - - except Exception as e: - _LOGGER.error( - "Error resolving characteristic for %s: %s", self.mac_address, e - ) - return False - - def _notification_callback(self, sender, data: bytearray) -> None: - """Handle notification from device. - - Args: - sender: Notification sender - data: Notification data - """ - try: - self._response_queue.put_nowait(bytes(data)) - except asyncio.QueueFull: - _LOGGER.warning( - "Response queue full for %s, dropping notification", self.mac_address - ) - - async def _write_raw(self, data: bytes) -> None: - """Write raw data to device characteristic. - - Args: - data: Raw bytes to write - - Raises: - BLEProtocolError: If write characteristic is not available - """ - if not self.write_char: - raise BLEProtocolError( - translation_domain=DOMAIN, - translation_key="ble_write_char_missing", - ) - - await self.client.write_gatt_char(self.write_char, data, response=False) - - async def write_command_with_response( - self, command: bytes, timeout: float = 10.0 - ) -> bytes: - """Write command and wait for response. - - Args: - command: Command bytes to write - timeout: Response timeout in seconds - - Returns: - bytes: Response data from device - - Raises: - BLETimeoutError: If no response received within timeout - """ - # Clear any pending responses - while not self._response_queue.empty(): - try: - self._response_queue.get_nowait() - except asyncio.QueueEmpty: - break - - await self._write_raw(command) - - try: - response = await asyncio.wait_for(self._response_queue.get(), timeout=timeout) - return response - except asyncio.TimeoutError: - raise BLETimeoutError( - translation_domain=DOMAIN, - translation_key="ble_timeout", - translation_placeholders={"mac_address": self.mac_address, "timeout": timeout}, - ) from None - - async def write_command(self, data: bytes) -> None: - """Write command to device without expecting response. - - Args: - data: Command bytes to write - """ - await self._write_raw(data) - - def _disconnected_callback(self, client: BleakClient) -> None: - """Handle disconnection event. - - Args: - client: Disconnected BleakClient - """ - _LOGGER.debug("Device %s disconnected", self.mac_address) diff --git a/custom_components/opendisplay/ble/exceptions.py b/custom_components/opendisplay/ble/exceptions.py deleted file mode 100644 index 77c34a7..0000000 --- a/custom_components/opendisplay/ble/exceptions.py +++ /dev/null @@ -1,26 +0,0 @@ -"""BLE operation exceptions.""" -from homeassistant.exceptions import HomeAssistantError - - -class BLEError(HomeAssistantError): - """Base BLE operation error.""" - - -class BLEConnectionError(BLEError): - """Connection to device failed.""" - - -class BLEProtocolError(BLEError): - """Protocol communication error.""" - - -class BLETimeoutError(BLEError): - """Operation timed out.""" - - -class UnsupportedProtocolError(BLEError): - """Unknown manufacturer ID or unsupported firmware protocol.""" - - -class ConfigValidationError(BLEError): - """TLV config parsing or validation error.""" diff --git a/custom_components/opendisplay/ble/image_processing.py b/custom_components/opendisplay/ble/image_processing.py deleted file mode 100644 index a9d6b40..0000000 --- a/custom_components/opendisplay/ble/image_processing.py +++ /dev/null @@ -1,276 +0,0 @@ -import numpy as np -from PIL import Image - -from .color_scheme import ColorScheme - -QUANTIZE_CHUNK_PIXELS = 262_144 - - -def perceptual_color_distance(c1_rgb: tuple[int, int, int], c2_rgb: tuple[int, int, int]) -> float: - """ - Calculate weighted perceptual RGB distance with grayscale protection. - - Uses the formula from makeimage.cpp: 3×Δr² + 5.47×Δg² + 1.53×Δb² - This weights green heavily (human eyes are most sensitive to green). - - Grayscale protection prevents gray pixels from matching to colors, - which would cause unwanted color tinting in neutral areas. - - Args: - c1_rgb: Source pixel RGB tuple - c2_rgb: Palette color RGB tuple - - Returns: - Perceptual distance, or infinity if grayscale protection triggers - """ - - r1, g1, b1 = int(c1_rgb[0]), int(c1_rgb[1]), int(c1_rgb[2]) - r2, g2, b2 = int(c2_rgb[0]), int(c2_rgb[1]), int(c2_rgb[2]) - - # Grayscale protection: reject color matches for grayscale source pixels - # A pixel is considered grayscale if R, G, B are all within 20 of each other - is_source_gray = abs(r1 - g1) < 20 and abs(b1 - g1) < 20 - # A palette color is considered chromatic if any channel differs by >20 - is_target_color = abs(r2 - g2) > 20 or abs(b2 - g2) > 20 - - if is_source_gray and is_target_color: - return float('inf') - - # Perceptual weighting from makeimage.cpp - return 3.0 * (r1 - r2) ** 2 + 5.47 * (g1 - g2) ** 2 + 1.53 * (b1 - b2) ** 2 - - -def find_closest_color(pixel_rgb: tuple[int, int, int], palette: list[tuple[int, int, int]]) -> tuple[tuple[int, int, int], int]: - """ - Find the closest palette color using perceptual distance. - - Args: - pixel_rgb: Source pixel RGB tuple - palette: List of palette RGB tuples - - Returns: - Tuple of (closest_color_rgb, palette_index) - """ - - min_dist = float('inf') - closest = palette[0] - closest_idx = 0 - - for idx, color in enumerate(palette): - dist = perceptual_color_distance(pixel_rgb, color) - if dist < min_dist: - min_dist = dist - closest = color - closest_idx = idx - - return closest, closest_idx - - -def _palette_array(color_scheme: ColorScheme) -> np.ndarray: - """Return palette RGB values in display encoding order.""" - return np.array(list(color_scheme.palette.colors.values()), dtype=np.uint8) - - -def _has_only_palette_colors(image: Image.Image, color_scheme: ColorScheme) -> bool: - """Return true when all image pixels are exact colors from the display palette.""" - rgb_image = image if image.mode == 'RGB' else image.convert('RGB') - allowed = set(color_scheme.palette.colors.values()) - colors = rgb_image.getcolors(maxcolors=len(allowed)) - return colors is not None and all(rgb in allowed for _, rgb in colors) - - -def _quantize_pixels_to_palette( - pixels: np.ndarray, - palette: np.ndarray, - *, - chunk_pixels: int = QUANTIZE_CHUNK_PIXELS, -) -> np.ndarray: - """Map RGB pixels to their closest display palette color in bounded chunks.""" - flat = pixels.reshape(-1, 3).astype(np.int16, copy=False) - palette_i16 = palette.astype(np.int16) - target_is_color = ( - (np.abs(palette_i16[:, 0] - palette_i16[:, 1]) > 20) - | (np.abs(palette_i16[:, 2] - palette_i16[:, 1]) > 20) - ) - result = np.empty((flat.shape[0], 3), dtype=np.uint8) - - for start in range(0, flat.shape[0], chunk_pixels): - end = min(start + chunk_pixels, flat.shape[0]) - chunk = flat[start:end] - diff = chunk[:, None, :] - palette_i16[None, :, :] - dist = ( - 3.0 * (diff[:, :, 0].astype(np.float32) ** 2) - + 5.47 * (diff[:, :, 1].astype(np.float32) ** 2) - + 1.53 * (diff[:, :, 2].astype(np.float32) ** 2) - ) - source_is_gray = ( - (np.abs(chunk[:, 0] - chunk[:, 1]) < 20) - & (np.abs(chunk[:, 2] - chunk[:, 1]) < 20) - ) - if np.any(source_is_gray) and np.any(target_is_color): - dist[np.ix_(source_is_gray, target_is_color)] = np.inf - - result[start:end] = palette[np.argmin(dist, axis=1)] - - return result.reshape(pixels.shape) - - -def apply_direct_mapping(image: Image.Image, color_scheme: ColorScheme) -> Image.Image: - """ - Apply direct color mapping without dithering. - - Each pixel is mapped to its perceptually closest palette color. - Fast but can produce harsh banding on gradients. - - Args: - image: PIL Image in RGB mode - color_scheme: ColorScheme enum for palette - - Returns: - Quantized PIL Image - """ - if image.mode != 'RGB': - image = image.convert('RGB') - - if _has_only_palette_colors(image, color_scheme): - return image - - pixels = np.asarray(image) - result = _quantize_pixels_to_palette(pixels, _palette_array(color_scheme)) - return Image.fromarray(result, 'RGB') - -def apply_burkes_dithering(image: Image.Image, color_scheme: ColorScheme) -> Image.Image: - """ - Apply Burkes error diffusion dithering. - - Burkes dithering distributes quantization error to neighboring pixels, - creating smooth gradients. Best for photographs and images with gradients. - - Error diffusion pattern (Burkes): - X 8/32 4/32 - 2/32 4/32 8/32 4/32 2/32 - - Args: - image: PIL Image in RGB mode - color_scheme: ColorScheme enum for palette - - Returns: - Dithered PIL Image quantized to palette colors - """ - - # Convert to RGB if needed - if image.mode != 'RGB': - image = image.convert('RGB') - - # Get palette as list of RGB tuples - palette = list(color_scheme.palette.colors.values()) - - # Convert to float array for error accumulation - pixels = np.array(image, dtype=np.float32) - height, width = pixels.shape[:2] - - # Process each pixel - for y in range(height): - for x in range(width): - old_pixel = tuple(int(c) for c in np.clip(pixels[y, x], 0, 255)) - new_pixel, _ = find_closest_color(old_pixel, palette) - - # Calculate quantization error - error = np.array(old_pixel, dtype=np.float32) - np.array(new_pixel, dtype=np.float32) - - # Set the quantized pixel - pixels[y, x] = new_pixel - - # Distribute error using Burkes pattern - if x + 1 < width: - pixels[y, x + 1] += error * (8 / 32) - if x + 2 < width: - pixels[y, x + 2] += error * (4 / 32) - - if y + 1 < height: - if x - 2 >= 0: - pixels[y + 1, x - 2] += error * (2 / 32) - if x - 1 >= 0: - pixels[y + 1, x - 1] += error * (4 / 32) - pixels[y + 1, x] += error * (8 / 32) - if x + 1 < width: - pixels[y + 1, x + 1] += error * (4 / 32) - if x + 2 < width: - pixels[y + 1, x + 2] += error * (2 / 32) - - # Convert back to uint8 image - result = np.clip(pixels, 0, 255).astype(np.uint8) - return Image.fromarray(result, 'RGB') - - -def apply_ordered_dithering(image: Image.Image, color_scheme: ColorScheme) -> Image.Image: - """ - Apply ordered (Bayer) dithering with adaptive thresholds. - - Ordered dithering uses a fixed threshold pattern, creating regular - halftone-like patterns. Best for text, icons, and sharp edges. - - Uses a 4x4 Bayer matrix for threshold generation. - - Args: - image: PIL Image in RGB mode - color_scheme: ColorScheme enum for palette - - Returns: - Dithered PIL Image quantized to palette colors - """ - # Convert to RGB if needed - if image.mode != 'RGB': - image = image.convert('RGB') - - # 4x4 Bayer matrix (normalized to 0-1 range) - bayer_4x4 = np.array([ - [0, 8, 2, 10], - [12, 4, 14, 6], - [3, 11, 1, 9], - [15, 7, 13, 5] - ], dtype=np.float32) / 16.0 - - pixels = np.array(image, dtype=np.float32) - height, width = pixels.shape[:2] - - # Tile the Bayer matrix across the image - bayer_tiled = np.tile(bayer_4x4, (height // 4 + 1, width // 4 + 1))[:height, :width] - - # Apply threshold adjustment per channel - # Scale factor determines dithering intensity (32 is moderate) - scale = 32.0 - for c in range(3): - pixels[:, :, c] += (bayer_tiled - 0.5) * scale - - pixels = np.clip(pixels, 0, 255).astype(np.int16) - result = _quantize_pixels_to_palette(pixels, _palette_array(color_scheme)) - return Image.fromarray(result, 'RGB') - - -def process_image_for_device(image, color_scheme: int, dither: int = 2) -> Image.Image: - """ - Process image for BLE device display. - - Main entry point for image processing. Applies dithering and color - quantization based on device color scheme and dither mode. - - Args: - image: PIL Image to process - color_scheme: Color scheme int (0-5) matching ColorScheme enum values - dither: Dithering mode: - 0 = None (direct mapping) - 1 = Burkes error diffusion (best for photos) - 2 = Ordered/Bayer (best for text/icons, default) - - Returns: - Processed PIL Image with pixels quantized to palette colors - """ - scheme = ColorScheme.from_int(color_scheme) - - if dither == 1: - return apply_burkes_dithering(image, scheme) - elif dither == 2: - return apply_ordered_dithering(image, scheme) - else: - return apply_direct_mapping(image, scheme) diff --git a/custom_components/opendisplay/ble/image_upload.py b/custom_components/opendisplay/ble/image_upload.py deleted file mode 100644 index b239ae4..0000000 --- a/custom_components/opendisplay/ble/image_upload.py +++ /dev/null @@ -1,952 +0,0 @@ -"""Shared BLE image upload protocol (compatible with both ATC and OpenDisplay firmware).""" -import asyncio -import struct -import zlib -import logging -from enum import Enum -from time import perf_counter - -import numpy as np -from PIL import Image - -from .exceptions import BLEError -from .image_processing import process_image_for_device -from .metadata import BLEDeviceMetadata - -_LOGGER = logging.getLogger(__name__) - - -# BLE Protocol Sizes -BLE_BLOCK_SIZE = 4096 -BLE_MAX_PACKET_DATA_SIZE = 230 -DIRECT_WRITE_COMPRESSED_BUFFER_LIMIT = 50 * 1024 -DIRECT_WRITE_COMPRESSION_CHUNK_BYTES = 64 * 1024 - - -class BLEResponse(Enum): - """BLE upload response codes.""" - - BLOCK_REQUEST = "00C6" - BLOCK_PART_ACK = "00C4" - BLOCK_PART_CONTINUE = "00C5" - UPLOAD_COMPLETE = "00C7" - IMAGE_ALREADY_DISPLAYED = "00C8" - # Direct write responses - DIRECT_WRITE_START_ACK = "0070" - DIRECT_WRITE_START_ACK_ALT = "7000" # Alternative format - DIRECT_WRITE_DATA_ACK = "0071" - DIRECT_WRITE_DATA_ACK_ALT = "7100" # Alternative format - DIRECT_WRITE_END_ACK = "0072" - DIRECT_WRITE_END_ACK_ALT = "7200" # Alternative format - - -class BLECommand(Enum): - """BLE upload command codes.""" - - DATA_INFO = "0064" - BLOCK_PART = "0065" - # Direct write commands - DIRECT_WRITE_START = "0070" - DIRECT_WRITE_DATA = "0071" - DIRECT_WRITE_END = "0072" - - -class BLEDataType(Enum): - """BLE image data types.""" - - RAW_BW = 0x20 # Uncompressed monochrome - RAW_COLOR = 0x21 # Uncompressed color (BWR/BWY) - COMPRESSED = 0x30 # Compressed image - - -class RefreshMode(Enum): - """Epaper display refresh modes.""" - FULL = 0 - FAST = 1 - PARTIAL = 2 - PARTIAL2 = 3 - - -def _create_data_info( - checksum: int, - data_ver: int, - data_size: int, - data_type: int, - data_type_argument: int, - next_check_in: int, -) -> bytes: - """Create data info packet for image upload. - - Args: - checksum: Data checksum (usually 255 placeholder) - data_ver: CRC32 of image data - data_size: Image data size in bytes - data_type: Data type enum value (0x20, 0x21, 0x30) - data_type_argument: Additional argument (usually 0) - next_check_in: Next check-in time (usually 0) - - Returns: - bytes: Packed data info structure - """ - return struct.pack( - " bytearray: - """Create a block part packet for image upload. - - Args: - block_id: Block identifier - part_id: Part identifier within block - data: Packet data (max 230 bytes) - - Returns: - bytearray: Block part packet with checksum - - Raises: - ValueError: If data exceeds maximum size - """ - max_data_size = 230 - data_length = len(data) - if data_length > max_data_size: - raise ValueError("Data length exceeds maximum allowed size for a packet.") - - buffer = bytearray(3 + max_data_size) - buffer[1] = block_id & 0xFF - buffer[2] = part_id & 0xFF - buffer[3 : 3 + data_length] = data - buffer[0] = sum(buffer[1 : 3 + data_length]) & 0xFF - return buffer - - -def _convert_image_to_bytes( - image: Image.Image, - color_scheme: int = 0, - compressed: bool = False -) -> tuple[int, bytes]: - """ - Convert a PIL Image to device format. - - Expects image to be pre-quantized to exact palette colors (via dithering). - Uses exact color matching instead of luminance-based detection. - - Supports: - - Monochrome (1-bit) - - Color dual-plane (BWR/BWY/BWRY) - - Optional zlib compression - - Args: - image: PIL Image to convert (should be pre-quantized) - color_scheme: Color scheme int (0=mono, 1=BWR, 2=BWY, 3=BWRY) - compressed: Whether to compress the data - - Returns: - tuple: (data_type, pixel_array) - """ - pixel_array = np.array(image.convert("RGB")) - height, width, _ = pixel_array.shape - - # Get RGB channels - r = pixel_array[:, :, 0] - g = pixel_array[:, :, 1] - b = pixel_array[:, :, 2] - - # Exact color matching (image already quantized by dithering) - black_pixels = (r == 0) & (g == 0) & (b == 0) - # white_pixels = (r == 255) & (g == 255) & (b == 255) - red_pixels = (r == 255) & (g == 0) & (b == 0) - yellow_pixels = (r == 255) & (g == 255) & (b == 0) - - # Determine if multi-color mode - multi_color = color_scheme in (1, 2, 3) # BWR, BWY, or BWRY - - # Dual-plane encoding: - # Plane 1 (BW): 1 = black or yellow, 0 = white or red - # Plane 2 (color): 1 = red or yellow, 0 = black or white - bw_channel_bits = black_pixels | yellow_pixels - - byte_data = np.packbits(bw_channel_bits).tobytes() - bpp_array = bytearray(byte_data) - - if multi_color: - color_pixels = red_pixels | yellow_pixels - byte_data_color = np.packbits(color_pixels).tobytes() - bpp_array += byte_data_color - - if compressed: - buffer = bytearray(6) - buffer[0] = 6 - buffer[1] = width & 0xFF - buffer[2] = (width >> 8) & 0xFF - buffer[3] = height & 0xFF - buffer[4] = (height >> 8) & 0xFF - buffer[5] = 0x02 if multi_color else 0x01 - buffer += bpp_array - the_compressor = zlib.compressobj(wbits=12) - compressed_data = the_compressor.compress(buffer) - compressed_data += the_compressor.flush() - return ( - BLEDataType.COMPRESSED.value, - struct.pack(" str: - """Detect color from RGB values based on color scheme. - - Args: - r: Red component (0-255) - g: Green component (0-255) - b: Blue component (0-255) - color_scheme: Color scheme identifier - - Returns: - Color name: 'black', 'white', 'red', 'yellow', 'green', 'blue' - """ - if r < 128 and g < 128 and b < 128: - return 'black' - if r > 200 and g > 200 and b > 200: - return 'white' - - if color_scheme == 0: - return 'white' if (r + g + b) / 3 > 128 else 'black' - - if color_scheme in (1, 3, 4): - if r > 200 and g < 100 and b < 100: - return 'red' - - if color_scheme in (2, 3, 4): - if r > 200 and g > 200 and b < 100: - return 'yellow' - - if color_scheme == 4: - if r < 100 and g > 200 and b < 100: - return 'green' - if r < 100 and g < 100 and b > 200: - return 'blue' - - return 'white' if (r + g + b) / 3 > 128 else 'black' - - -def _direct_write_color_values(pixel_array: np.ndarray, color_scheme: int) -> np.ndarray: - """Return direct-write firmware color values using the same thresholds as _detect_color.""" - flat = pixel_array.reshape(-1, 3) - r = flat[:, 0] - g = flat[:, 1] - b = flat[:, 2] - average = (r.astype(np.uint16) + g.astype(np.uint16) + b.astype(np.uint16)) / 3.0 - - values = np.where(average > 128, 1, 0).astype(np.uint8) - values[(r < 128) & (g < 128) & (b < 128)] = 0 - values[(r > 200) & (g > 200) & (b > 200)] = 1 - - if color_scheme in (1, 3, 4): - values[(r > 200) & (g < 100) & (b < 100)] = 3 - - if color_scheme in (2, 3, 4): - values[(r > 200) & (g > 200) & (b < 100)] = 2 - - if color_scheme == 4: - values[(r < 100) & (g > 200) & (b < 100)] = 6 - values[(r < 100) & (g < 100) & (b > 200)] = 5 - - return values - - -def _encode_direct_write_1bpp(image: Image.Image) -> bytes: - """Encode image as 1BPP for direct write (monochrome). - - Args: - image: PIL Image to encode - - Returns: - bytes: 1BPP encoded data (white=1, black=0, NOT inverted) - """ - pixel_array = np.asarray(image.convert("RGB"), dtype=np.uint8).reshape(-1, 3) - gray = ( - pixel_array[:, 0].astype(np.uint16) - + pixel_array[:, 1].astype(np.uint16) - + pixel_array[:, 2].astype(np.uint16) - ) / 3.0 - return np.packbits(gray > 128).tobytes() - - -def _encode_direct_write_bitplanes(image: Image.Image, color_scheme: int) -> bytes: - """Encode image as bitplanes for direct write (BWR/BWY). - - Args: - image: PIL Image to encode - color_scheme: Color scheme (1=BWR, 2=BWY) - - Returns: - bytes: Plane 1 (B/W, NOT inverted) + Plane 2 (R/Y) - """ - pixel_array = np.asarray(image.convert("RGB"), dtype=np.uint8) - colors = _direct_write_color_values(pixel_array, color_scheme) - # Plane 1 is B/W: 1=white/red, 0=black/yellow. Plane 2 is color: 1=red/yellow. - plane1 = (colors == 1) | (colors == 3) - plane2 = (colors == 2) | (colors == 3) - return np.packbits(plane1).tobytes() + np.packbits(plane2).tobytes() - - -def _encode_direct_write_2bpp(image: Image.Image, color_scheme: int) -> bytes: - """Encode image as 2BPP for direct write (BWRY or 4 grayscale). - - Args: - image: PIL Image to encode - color_scheme: Color scheme (3=BWRY, 5=4 grayscale) - - Returns: - bytes: 2BPP encoded data (4 pixels per byte) - """ - pixel_array = np.asarray(image.convert("RGB"), dtype=np.uint8) - - if color_scheme == 5: - flat = pixel_array.reshape(-1, 3) - gray = ( - flat[:, 0].astype(np.uint16) - + flat[:, 1].astype(np.uint16) - + flat[:, 2].astype(np.uint16) - ) / 3.0 - # 4 grayscale: 00=black, 01=dark gray, 10=light gray, 11=white. - values = np.where(gray < 64, 0, np.where(gray < 128, 1, np.where(gray < 192, 2, 3))).astype(np.uint8) - else: - # BWRY: 00=black, 01=white, 10=yellow, 11=red. - colors = _direct_write_color_values(pixel_array, color_scheme) - values = np.zeros_like(colors) - values[colors == 1] = 1 - values[colors == 2] = 2 - values[colors == 3] = 3 - - pad = (-len(values)) % 4 - if pad: - values = np.pad(values, (0, pad)) - groups = values.reshape(-1, 4) - # Pack from MSB: pixel0 at bits 7-6, pixel1 at 5-4, pixel2 at 3-2, pixel3 at 1-0. - return ( - (groups[:, 0] << 6) - | (groups[:, 1] << 4) - | (groups[:, 2] << 2) - | groups[:, 3] - ).astype(np.uint8).tobytes() - - -def _encode_direct_write_4bpp(image: Image.Image) -> bytes: - """Encode image as 4BPP for direct write (6-color). - - Args: - image: PIL Image to encode - - Returns: - bytes: 4BPP encoded data (2 pixels per byte) - """ - pixel_array = np.asarray(image.convert("RGB"), dtype=np.uint8) - # Firmware expects: black=0, white=1, yellow=2, red=3, blue=5, green=6. - values = _direct_write_color_values(pixel_array, 4) - pad = (-len(values)) % 2 - if pad: - values = np.pad(values, (0, pad)) - pairs = values.reshape(-1, 2) - # Pack two pixels per byte: first pixel in the high nibble, second in the low nibble. - return ((pairs[:, 0] << 4) | pairs[:, 1]).astype(np.uint8).tobytes() - - -def _encode_direct_write(image: Image.Image, color_scheme: int) -> bytes: - """Encode image for direct write based on color scheme. - - Args: - image: PIL Image to encode - color_scheme: Color scheme (0=b/w, 1=bwr, 2=bwy, 3=bwry, 4=bwgbry, 5=bw4) - - Returns: - bytes: Encoded image data - """ - if color_scheme == 0: - return _encode_direct_write_1bpp(image) - elif color_scheme in (1, 2): - return _encode_direct_write_bitplanes(image, color_scheme) - elif color_scheme == 3: - return _encode_direct_write_2bpp(image, color_scheme) - elif color_scheme == 4: - return _encode_direct_write_4bpp(image) - elif color_scheme == 5: - return _encode_direct_write_2bpp(image, color_scheme) - else: - # Fallback to 1BPP - return _encode_direct_write_1bpp(image) - - -def _prepare_block_upload( - image: Image.Image, - metadata: BLEDeviceMetadata, - protocol_type: str, - dither: int, -) -> tuple[Image.Image, int, bytes, float]: - """Prepare block-based BLE upload bytes off the event loop.""" - # ATC stores rotated image memory client-side; OpenDisplay handles rotation firmware-side. - if protocol_type == "atc" and metadata.rotatebuffer == 1: - image = image.transpose(Image.Transpose.ROTATE_90) - _LOGGER.debug("Applied 90° ATC memory rotation: %dx%d", image.width, image.height) - - quantize_start = perf_counter() - processed_image = process_image_for_device( - image, - metadata.color_scheme.value, - dither, - ) - quantize_duration = perf_counter() - quantize_start - data_type, pixel_array = _convert_image_to_bytes( - processed_image, - metadata.color_scheme.value, - compressed=True, - ) - return processed_image, data_type, pixel_array, quantize_duration - - -def _prepare_direct_write_upload( - image: Image.Image, - metadata: BLEDeviceMetadata, - allow_compression: bool, - dither: int, -) -> tuple[Image.Image, bytes, list[bytes], int, int, bool, float]: - """Prepare direct-write BLE upload bytes off the event loop.""" - quantize_start = perf_counter() - processed_image = process_image_for_device( - image, - metadata.color_scheme.value, - dither, - ) - quantize_duration = perf_counter() - quantize_start - encoded_data = _encode_direct_write(processed_image, metadata.color_scheme.value) - compressed_data = ( - _compress_direct_write_if_fits(encoded_data, DIRECT_WRITE_COMPRESSED_BUFFER_LIMIT) - if allow_compression - else None - ) - - if compressed_data is not None: - data_to_send = compressed_data - uncompressed_size = len(encoded_data) - compressed = True - else: - data_to_send = encoded_data - uncompressed_size = 0 - compressed = False - - chunks = [ - data_to_send[i:i + BLE_MAX_PACKET_DATA_SIZE] - for i in range(0, len(data_to_send), BLE_MAX_PACKET_DATA_SIZE) - ] - return processed_image, data_to_send, chunks, uncompressed_size, len(encoded_data), compressed, quantize_duration - - -def _compress_direct_write_if_fits(data: bytes, max_size: int) -> bytes | None: - """Compress direct-write data, returning None once the compressed payload is too large.""" - compressor = zlib.compressobj(level=9) - data_view = memoryview(data) - compressed_parts = [] - compressed_size = 0 - - for start in range(0, len(data_view), DIRECT_WRITE_COMPRESSION_CHUNK_BYTES): - part = compressor.compress( - data_view[start:start + DIRECT_WRITE_COMPRESSION_CHUNK_BYTES] - ) - if part: - compressed_parts.append(part) - compressed_size += len(part) - if compressed_size >= max_size: - return None - - part = compressor.flush() - if part: - compressed_parts.append(part) - compressed_size += len(part) - if compressed_size >= max_size: - return None - - return b"".join(compressed_parts) - - -class BLEImageUploader: - """Handles BLE image upload with block-based protocol. - - This class is protocol-agnostic and works with both ATC and OpenDisplay firmware. - """ - - def __init__(self, connection, mac_address: str): - """Initialize image uploader. - - Args: - connection: Active BLEConnection instance - mac_address: Device MAC address - """ - self.connection = connection - self.mac_address = mac_address - self._img_array = b"" - self._img_array_len = 0 - self._packets = [] - self._packet_index = 0 - self._upload_complete = asyncio.Event() - self._upload_error = None - self._upload_task = None - # Direct write state - self._direct_write_chunks = [] - self._direct_write_chunk_index = 0 - self._direct_write_pending_acks = 0 - self._direct_write_compressed = False - self._direct_write_uncompressed_size = 0 - self.refresh_type: int = 0 - - async def _handle_response(self, data: bytes) -> bool: - """Handle upload responses from notification queue. - - Args: - data: Response data from device - - Returns: - bool: True if response was handled successfully - """ - if len(data) < 2: - return False - - response_code = data[:2].hex().upper() - _LOGGER.debug("Upload response for %s: %s", self.mac_address, response_code) - - try: - response_enum = BLEResponse(response_code) - match response_enum: - case BLEResponse.BLOCK_REQUEST: - _LOGGER.debug("Received block request") - block_id = data[11] - if len(data) >= 18: - requested_parts_hex = data[12:18].hex().upper() - _LOGGER.debug( - "Device requested block %d, parts bitmask: %s", - block_id, - requested_parts_hex, - ) - else: - _LOGGER.debug( - "Device requested block %d (partial block request data)", block_id - ) - await self._send_block_data(block_id) - return True - - case BLEResponse.BLOCK_PART_ACK: - _LOGGER.debug("Block part acknowledged") - await self._send_next_block_part() - return True - - case BLEResponse.BLOCK_PART_CONTINUE: - _LOGGER.debug("Block part acknowledged, continuing") - if self._packet_index >= len(self._packets): - _LOGGER.error("Packet index out of range") - return True - self._packet_index += 1 - await self._send_next_block_part() - return True - - case BLEResponse.UPLOAD_COMPLETE: - _LOGGER.debug("Image upload completed successfully") - self._upload_complete.set() - return True - - case BLEResponse.IMAGE_ALREADY_DISPLAYED: - _LOGGER.debug("Image already displayed") - self._upload_complete.set() - return True - - except ValueError: - return False # Unknown response code - - async def upload_image_block_based( - self, - image: Image.Image, - metadata: BLEDeviceMetadata, - protocol_type: str = "atc", - dither: int = 2, - render_duration: float | None = None, - ) -> tuple[bool, Image.Image | None]: - """Upload image using block-based protocol. - - Args: - image: Rendered image - metadata: Device metadata with dimensions and color support - protocol_type: Protocol type ("atc" or "open_display") - dither: 0=none, 1=ordered, 2=floyd-steinberg - render_duration: Time spent rendering the image before upload, in seconds - - Returns: - tuple: (success, processed_image) - processed_image is the dithered PIL Image - """ - try: - _LOGGER.debug( - "Block upload input for %s: %dx%d (protocol=%s, rotatebuffer=%d)", - self.mac_address, - image.width, - image.height, - protocol_type, - metadata.rotatebuffer, - ) - - processed_image, data_type, pixel_array, quantize_duration = await self.connection.hass.async_add_executor_job( - _prepare_block_upload, - image, - metadata, - protocol_type, - dither, - ) - - _LOGGER.debug( - "Upload for %s: DataType=0x%02x, DataLen=%d", - self.mac_address, - data_type, - len(pixel_array), - ) - _LOGGER.info( - "Starting BLE image upload to %s (%d bytes)", self.mac_address, len(pixel_array) - ) - - self._img_array = pixel_array - self._img_array_len = len(self._img_array) - - # Send data info to initiate upload - data_info = _create_data_info( - 255, zlib.crc32(self._img_array) & 0xFFFFFFF, self._img_array_len, data_type, 0, 0 - ) - send_refresh_start = perf_counter() - await self.connection._write_raw(bytes.fromhex(BLECommand.DATA_INFO.value) + data_info) - - # Wait for responses using request-response pattern - while not self._upload_complete.is_set(): - response = await self._wait_for_response() - if response and await self._handle_response(response): - continue - elif response is None: - # Timeout - this is a failure - _LOGGER.error("Upload failed for %s: timeout waiting for response", self.mac_address) - return False, None - - if self._upload_error: - raise BLEError(f"Upload failed: {self._upload_error}") - - # Only reach here if upload_complete was set by a success response - send_refresh_duration = perf_counter() - send_refresh_start - _LOGGER.info( - "BLE block upload completed for %s: render=%.3fs dither_quantize=%.3fs send_refresh=%.3fs bytes=%d data_type=0x%02x", - self.mac_address, - render_duration or 0.0, - quantize_duration, - send_refresh_duration, - len(pixel_array), - data_type, - ) - return True, processed_image - - except Exception as e: - _LOGGER.error("Image upload failed for %s: %s", self.mac_address, e) - return False, None - - async def _wait_for_response(self, timeout: float = 10.0) -> bytes | None: - """Wait for next upload response with timeout. - - Args: - timeout: Timeout in seconds - - Returns: - bytes: Response data or None if timeout - """ - try: - response = await asyncio.wait_for( - self.connection._response_queue.get(), timeout=timeout - ) - - # Basic validation only - if not response or len(response) < 2: - return None - - return response - - except asyncio.TimeoutError: - return None - - async def _send_block_data(self, block_id: int): - """Send block data for specified block ID. - - Args: - block_id: Block identifier to send - """ - _LOGGER.debug("Building block %d for %s", block_id, self.mac_address) - block_start = block_id * BLE_BLOCK_SIZE - block_end = block_start + BLE_BLOCK_SIZE - block_data = self._img_array[block_start:block_end] - - _LOGGER.debug( - "Sending block %d: %d bytes (offset %d-%d)", - block_id, - len(block_data), - block_start, - min(block_end, len(self._img_array)), - ) - - crc_block = sum(block_data) & 0xFFFF - buffer = bytearray(4) - buffer[0] = len(block_data) & 0xFF - buffer[1] = (len(block_data) >> 8) & 0xFF - buffer[2] = crc_block & 0xFF - buffer[3] = (crc_block >> 8) & 0xFF - block_data = buffer + block_data - - # Create packets - packet_count = (len(block_data) + BLE_MAX_PACKET_DATA_SIZE - 1) // BLE_MAX_PACKET_DATA_SIZE - self._packets = [] - for i in range(packet_count): - start = i * BLE_MAX_PACKET_DATA_SIZE - end = start + BLE_MAX_PACKET_DATA_SIZE - slice_data = block_data[start:end] - packet = _create_block_part(block_id, i, slice_data) - self._packets.append(packet) - - _LOGGER.debug("Created %d packets for block %d", len(self._packets), block_id) - self._packet_index = 0 - if self._packets: - await self._send_next_block_part() - - async def _send_next_block_part(self): - """Send next block part packet.""" - if not self._packets or self._packet_index >= len(self._packets): - _LOGGER.debug("No more packets to send") - return - - _LOGGER.debug("Sending packet %d/%d", self._packet_index + 1, len(self._packets)) - await self.connection._write_raw( - bytes.fromhex(BLECommand.BLOCK_PART.value) + self._packets[self._packet_index] - ) - - async def upload_direct_write( - self, - image: Image.Image, - metadata: BLEDeviceMetadata, - allow_compression: bool = False, - dither: int = 2, - refresh_type: int = 0, - render_duration: float | None = None, - ) -> tuple[bool, Image.Image | None]: - """Upload image using direct write protocol (OpenDisplay only). - - Args: - image: Rendered image - metadata: Device metadata with dimensions and color scheme - allow_compression: Whether zip compression may be used if the result fits - dither: 0=none, 1=ordered, 2=floyd-steinberg - refresh_type: Display refresh mode (0=full, 1=fast, 2=partial, 3=partial2) - render_duration: Time spent rendering the image before upload, in seconds - - Returns: - bool: True if upload succeeded, False otherwise - """ - # Reset upload state - self._upload_complete.clear() - self._upload_error = None - - self.refresh_type = refresh_type - - try: - _LOGGER.debug("Direct write: image size %dx%d", image.width, image.height) - - ( - processed_image, - data_to_send, - chunks, - uncompressed_size, - encoded_size, - compressed, - quantize_duration, - ) = await self.connection.hass.async_add_executor_job( - _prepare_direct_write_upload, - image, - metadata, - allow_compression, - dither, - ) - - if compressed: - _LOGGER.debug( - "Direct write compressed: %d bytes -> %d bytes", - encoded_size, - len(data_to_send) - ) - elif allow_compression: - _LOGGER.debug( - "Direct write compression skipped: compressed payload exceeded %d bytes", - DIRECT_WRITE_COMPRESSED_BUFFER_LIMIT, - ) - - _LOGGER.info( - "Starting direct write upload to %s (%d bytes%s, refresh type %d)", - self.mac_address, - len(data_to_send), - " compressed" if compressed else "", - refresh_type - ) - - # Initialize direct write state - self._direct_write_chunks = [] - self._direct_write_chunk_index = 0 - self._direct_write_pending_acks = 0 - self._direct_write_compressed = compressed - self._direct_write_uncompressed_size = uncompressed_size - self._direct_write_chunks = chunks - - _LOGGER.debug("Split into %d chunks", len(self._direct_write_chunks)) - - # Send start command - send_refresh_start = perf_counter() - if compressed: - # Compressed: send 4-byte header + initial data if it fits - header = struct.pack(" bool: - """Handle direct write responses. - - Args: - data: Response data from device - - Returns: - bool: True if response was handled successfully - """ - if len(data) < 2: - return False - - response_code = data[:2].hex().upper() - _LOGGER.debug("Direct write response for %s: %s", self.mac_address, response_code) - - try: - # Handle both formats: "0070" and "7000" - if response_code in ("0070", "7000"): - # Start ACK - _LOGGER.debug("Direct write start acknowledged") - self._direct_write_pending_acks = 0 - await self._send_next_direct_write_chunks() - return True - elif response_code in ("0071", "7100"): - # Data ACK - self._direct_write_pending_acks = max(0, self._direct_write_pending_acks - 1) - await self._send_next_direct_write_chunks() - return True - elif response_code in ("0072", "7200"): - # End ACK - _LOGGER.debug("Direct write end acknowledged") - self._upload_complete.set() - return True - elif response_code == "FFFF": - # Error - _LOGGER.error("Direct write error response (FFFF)") - self._upload_error = "Device returned error (FFFF)" - self._upload_complete.set() - return True - except Exception as e: - _LOGGER.error("Error handling direct write response: %s", e) - return False - - return False # Unknown response code - - async def _send_next_direct_write_chunks(self): - """Send next direct write data chunks with pipelining.""" - DIRECT_WRITE_PIPELINE_SIZE = 1 # Send up to 1 chunk without waiting for ACK - - while (self._direct_write_chunk_index < len(self._direct_write_chunks) and - self._direct_write_pending_acks < DIRECT_WRITE_PIPELINE_SIZE): - - chunk = self._direct_write_chunks[self._direct_write_chunk_index] - _LOGGER.debug( - "Sending direct write chunk %d/%d (%d bytes)", - self._direct_write_chunk_index + 1, - len(self._direct_write_chunks), - len(chunk) - ) - - await self.connection._write_raw( - bytes.fromhex(BLECommand.DIRECT_WRITE_DATA.value) + chunk - ) - - self._direct_write_chunk_index += 1 - self._direct_write_pending_acks += 1 - - # If all chunks sent and no pending ACKs, send end command - if (self._direct_write_chunk_index >= len(self._direct_write_chunks) and - self._direct_write_pending_acks == 0): - _LOGGER.debug("All chunks sent, ending direct write") - await self.connection._write_raw( - bytes.fromhex(BLECommand.DIRECT_WRITE_END.value) + bytes([self.refresh_type]) - ) diff --git a/custom_components/opendisplay/ble/metadata.py b/custom_components/opendisplay/ble/metadata.py deleted file mode 100644 index 1e3a3af..0000000 --- a/custom_components/opendisplay/ble/metadata.py +++ /dev/null @@ -1,217 +0,0 @@ -"""BLE Device Metadata Abstraction. - -Provides a clean interface for accessing device metadata that transparently -handles differences between ATC (flat structure) and OpenDisplay (nested config) formats. -""" -from __future__ import annotations - -from typing import Any - -from .color_scheme import ColorScheme - -class BLEDeviceMetadata: - """Abstraction for BLE device metadata. - - Wraps raw metadata dictionary and provides clean property-based access - to device capabilities, handling both ATC and OpenDisplay metadata formats. - - Args: - raw_metadata: Dictionary containing device metadata - """ - - def __init__(self, raw_metadata: dict[str, Any]) -> None: - """Initialize BLE device metadata wrapper. - - Args: - raw_metadata: Device metadata dictionary from config entry - """ - if "open_display_config" not in raw_metadata and "oepl_config" in raw_metadata: - self._metadata = {**raw_metadata, "open_display_config": raw_metadata["oepl_config"]} - else: - self._metadata = raw_metadata - self._is_open_display = "open_display_config" in self._metadata - - @property - def width(self) -> int: - """Get display width in pixels. - - Returns: - Display width, or 0 if not available - """ - if self._is_open_display: - displays = self._metadata["open_display_config"].get("displays", []) - return displays[0]["pixel_width"] if displays else 0 - return self._metadata.get("width", 0) - - @property - def height(self) -> int: - """Get display height in pixels. - - Returns: - Display height, or 0 if not available - """ - if self._is_open_display: - displays = self._metadata["open_display_config"].get("displays", []) - return displays[0]["pixel_height"] if displays else 0 - return self._metadata.get("height", 0) - - @property - def model_name(self) -> str: - """Get device model name. - - Returns: - Model name string, or "Unknown" if not available - """ - return self._metadata.get("model_name", "Unknown") - - @property - def fw_version(self) -> int | str: - """Get firmware version. - - Returns: - Firmware version number or string, or 0/"" if not available - """ - if self._is_open_display: - # Prefer explicit string/parsed version saved from interrogation - if "fw_version" in self._metadata: - return self._metadata.get("fw_version", "") - major = self._metadata.get("fw_version_major") - minor = self._metadata.get("fw_version_minor") - if major is not None and minor is not None: - return f"{major}.{minor}" - return self._metadata.get("fw_version", 0) - - def formatted_fw_version(self) -> str | None: - """Return firmware version formatted for display.""" - fw = self.fw_version - if fw in (None, ""): - return None - if isinstance(fw, int): - return f"0x{fw:04x}" - return str(fw) - - - @property - def rotatebuffer(self) -> int: - """Get rotation setting. - - For OpenDisplay devices, returns the rotation value from display config. - For ATC devices, returns the rotatebuffer flag. - - Returns: - Rotation value (0, 1, 2, or 3) or rotatebuffer flag (0 or 1) - """ - if self._is_open_display: - displays = self._metadata["open_display_config"].get("displays", []) - return displays[0].get("rotation", 0) if displays else 0 - return self._metadata.get("rotatebuffer", 0) - - @property - def hw_type(self) -> int: - """Get hardware type identifier. - - Returns: - Hardware type code, or 0 if not available - """ - if self._is_open_display: - displays = self._metadata["open_display_config"].get("displays", []) - return displays[0].get("open_display_tagtype", 0) if displays else 0 - return self._metadata.get("hw_type", 0) - - @property - def power_mode(self) -> int: - """Get power mode setting. - - Returns: - Power mode: 1=battery, 2=USB, 3=solar - ATC devices always return 1 (battery) - """ - if self._is_open_display: - power = self._metadata["open_display_config"].get("power") - if power: - return power.get("power_mode", 1) - return 1 # ATC devices always have batteries - - @property - def is_open_display(self) -> bool: - """Check if this is an OpenDisplay device. - - Returns: - True if OpenDisplay device, False if ATC device - """ - return self._is_open_display - - @property - def color_scheme(self) -> ColorScheme: - """ - Get ColorScheme enum for this device. - - ATC: Reads from root level device_metadata["color_scheme"] - - OpenDisplay: Reads from display config device_metadata["open_display_config"]["displays"][0]["color_scheme"] - """ - if self._is_open_display: - displays = self._metadata["open_display_config"].get("displays", []) - raw_scheme = displays[0].get("color_scheme", 0) if displays else 0 - else: - raw_scheme = self._metadata.get("color_scheme", 0) - return ColorScheme.from_int(raw_scheme) - - @property - def accent_color(self) -> str: - """Get accent color name. - - Returns: - Accent color name from color scheme palette - """ - return self.color_scheme.accent_color - - @property - def is_multi_color(self) -> bool: - """Check if device supports multiple colors. - - Returns: - True if color scheme has more than 2 colors, False otherwise - """ - return self.color_scheme.is_multi_color - - @property - def transmission_modes(self) -> int: - """Get supported transmission modes (bitfield). - - Bit flags: - - Bit 0 (0x01): raw transfer (block-based uncompressed) - - Bit 1 (0x02): zip compressed transfer (block-based compressed) - - Bit 3 (0x08): direct_write mode - - Returns: - Transmission modes bitfield, or 0 if not available - ATC devices return 0 (assume block-based only for backward compatibility) - """ - if self._is_open_display: - displays = self._metadata["open_display_config"].get("displays", []) - return displays[0].get("transmission_modes", 0) if displays else 0 - return 0 # ATC devices don't support direct_write - - @property - def supports_zip_compression(self) -> bool: - """Return true if the device advertises zip-compressed transfer support.""" - return (self.transmission_modes & 0x02) != 0 - - def get_best_upload_method(self) -> str: - """Determine the best upload method based on device capabilities. - - Priority order: - 1. direct_write: If direct_write (0x08) is supported - 2. block: Fallback to block-based upload (always supported) - - Returns: - Upload method string: "direct_write" or "block" - """ - modes = self.transmission_modes - has_direct_write = (modes & 0x08) != 0 - - if has_direct_write: - return "direct_write" - else: - return "block" diff --git a/custom_components/opendisplay/ble/operations.py b/custom_components/opendisplay/ble/operations.py deleted file mode 100644 index 191ab08..0000000 --- a/custom_components/opendisplay/ble/operations.py +++ /dev/null @@ -1,148 +0,0 @@ -"""BLE operations with decorator for automatic retry and locking.""" -import asyncio -import logging -from functools import wraps -from typing import Dict - -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import HomeAssistantError -from bleak.exc import BleakError - -from .connection import BLEConnection -from .exceptions import BLEConnectionError -from ..const import DOMAIN - -_LOGGER = logging.getLogger(__name__) - -# Per-device async locks for preventing concurrent operations -_device_locks: Dict[str, asyncio.Lock] = {} - -# LED control commands (common to all protocols) -CMD_LED_ON = bytes.fromhex("000103") -CMD_LED_OFF = bytes.fromhex("000100") -CMD_LED_OFF_FINAL = bytes.fromhex("0000") - - -def ble_device_operation(func): - """Decorator for BLE operations with automatic connection, retry, and locking. - - Provides: - - Per-device async locking (prevents concurrent operations on same device) - - 3 retry attempts with exponential backoff (0.25s, 0.5s, 0.75s) - - Automatic connection creation with protocol-specific service UUID - - Error handling and logging - - The decorated function receives a BLEConnection as first argument. - Requires 'hass', 'mac_address', 'service_uuid', and 'protocol' in function arguments/kwargs. - """ - - @wraps(func) - async def wrapper(hass: HomeAssistant, mac_address: str, service_uuid: str, protocol, *args, **kwargs): - # Get or create lock for this device - lock = _device_locks.setdefault(mac_address, asyncio.Lock()) - - async with lock: - max_attempts = 3 - for attempt in range(max_attempts): - try: - # Create connection with protocol-specific service UUID - async with BLEConnection(hass, mac_address, service_uuid, protocol) as conn: - # Inject connection as first argument to decorated function - return await func(conn, *args, **kwargs) - - except BLEConnectionError as e: - # Check if it's a connection slots error - don't retry these - if "No available Bluetooth connection slots" in str(e): - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ble_slots_unavailable", - translation_placeholders={"mac_address": mac_address, "error": str(e)}, - ) from e - - # For other connection errors, retry - if attempt == max_attempts - 1: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ble_operation_failed", - translation_placeholders={ - "operation": func.__name__, - "attempts": max_attempts, - "error": str(e), - }, - ) from e - - backoff_time = 0.25 * (attempt + 1) - _LOGGER.warning( - "BLE operation %s failed on attempt %d: %s. Retrying in %.2f seconds...", - func.__name__, - attempt + 1, - e, - backoff_time, - ) - await asyncio.sleep(backoff_time) - - except BleakError as e: - if attempt == max_attempts - 1: - _LOGGER.error( - "BLE operation %s failed after %d attempts: %s", - func.__name__, - max_attempts, - e, - ) - raise - backoff_time = 0.25 * (attempt + 1) - _LOGGER.warning( - "BLE operation %s failed on attempt %d: %s. Retrying in %.2f seconds...", - func.__name__, - attempt + 1, - e, - backoff_time, - ) - await asyncio.sleep(backoff_time) - - return None - - return wrapper - - -@ble_device_operation -async def turn_led_on(conn: BLEConnection) -> bool: - """Turn on LED for specified device. - - Args: - conn: Active BLE connection - - Returns: - bool: True if command sent successfully - """ - await conn.write_command(CMD_LED_ON) - return True - - -@ble_device_operation -async def turn_led_off(conn: BLEConnection) -> bool: - """Turn off LED for specified device. - - Args: - conn: Active BLE connection - - Returns: - bool: True if command sent successfully - """ - await conn.write_command(CMD_LED_OFF) - await conn.write_command(CMD_LED_OFF_FINAL) # Required finalization command - return True - - -@ble_device_operation -async def ping_device(conn: BLEConnection) -> bool: - """Test device connectivity. - - Args: - conn: Active BLE connection - - Returns: - bool: True if device is reachable - """ - # If connection and initialization succeed, device is reachable - return True diff --git a/custom_components/opendisplay/ble/protocol_atc.py b/custom_components/opendisplay/ble/protocol_atc.py deleted file mode 100644 index 70de92a..0000000 --- a/custom_components/opendisplay/ble/protocol_atc.py +++ /dev/null @@ -1,216 +0,0 @@ -"""ATC firmware protocol implementation.""" -import struct -import logging -from typing import TYPE_CHECKING - -from .protocol_base import BLEProtocol, AdvertisingData, DeviceCapabilities -from .exceptions import BLEProtocolError -from ..const import DOMAIN - -if TYPE_CHECKING: - from .connection import BLEConnection - -_LOGGER = logging.getLogger(__name__) - -# ATC protocol constants -CMD_GET_DISPLAY_INFO = bytes([0x00, 0x05]) -BLE_MIN_RESPONSE_LENGTH = 33 - - -class ATCProtocol(BLEProtocol): - """ATC firmware protocol implementation. - - Supports the original ATC BLE firmware protocol with: - - Manufacturer ID: 0x1337 (4919) - - Service UUID: 00001337-0000-1000-8000-00805f9b34fb - - Interrogation: CMD_GET_DISPLAY_INFO (0x0005) - - Advertising: Version 1 (10 bytes) and Version 2 (11 bytes with temperature) - """ - - @property - def manufacturer_id(self) -> int: - """Bluetooth manufacturer ID for ATC firmware.""" - return 0x1337 # 4919 decimal - - @property - def service_uuid(self) -> str: - """BLE GATT service UUID for ATC firmware.""" - return "00001337-0000-1000-8000-00805f9b34fb" - - @property - def protocol_name(self) -> str: - """Protocol identifier.""" - return "atc" - - def parse_advertising_data(self, data: bytes) -> AdvertisingData: - """Parse ATC manufacturer data for device state updates. - - Supports two advertising formats: - - Version 1: 10 bytes (no temperature) - - Version 2: 11 bytes (with temperature) - - Args: - data: Manufacturer-specific advertising data - - Returns: - AdvertisingData: Parsed advertising information - - Raises: - ValueError: If data format is invalid - """ - if not data: - raise ValueError("Empty advertising data") - - try: - version = data[0] - - if version == 1: - if len(data) < 10: - raise ValueError(f"Version 1 requires 10 bytes, got {len(data)}") - - hw_type = int.from_bytes(data[1:3], "little") - fw_version = int.from_bytes(data[3:5], "little") - battery_mv = int.from_bytes(data[7:9], "little") - battery_pct = self._calculate_battery_percentage(battery_mv) - - return AdvertisingData( - battery_mv=battery_mv, - battery_pct=battery_pct, - temperature=None, # Not available in version 1 - hw_type=hw_type, - fw_version=fw_version, - version=version, - ) - - elif version == 2: - if len(data) < 11: - raise ValueError(f"Version 2 requires 11 bytes, got {len(data)}") - - hw_type = int.from_bytes(data[1:3], "little") - fw_version = int.from_bytes(data[3:5], "little") - battery_mv = int.from_bytes(data[7:9], "little") - battery_pct = self._calculate_battery_percentage(battery_mv) - temperature = struct.unpack(" DeviceCapabilities: - """Query device using CMD_GET_DISPLAY_INFO (0x0005). - - Connects to device and retrieves display specifications including: - - Display dimensions (width, height) - - Color support capabilities - - Buffer rotation requirement - - Args: - connection: Active BLE connection to device - - Returns: - DeviceCapabilities: Minimal device information - - Raises: - BLEProtocolError: If interrogation fails or response is invalid - """ - # Request display information using protocol command 0005 - response = await connection.write_command_with_response(CMD_GET_DISPLAY_INFO) - - _LOGGER.debug( - "ATC device interrogation for %s: received %d bytes", - connection.mac_address, - len(response), - ) - - # Verify response format: 00 05 + payload - if len(response) < BLE_MIN_RESPONSE_LENGTH: - raise BLEProtocolError( - translation_domain=DOMAIN, - translation_key="ble_protocol_invalid_response_length", - translation_placeholders={ - "length": str(len(response)), - "expected_length": str(BLE_MIN_RESPONSE_LENGTH) - } - ) - - # Verify command ID (should be 0x0005) - if response[0] != 0x00 or response[1] != 0x05: - raise BLEProtocolError( - translation_domain=DOMAIN, - translation_key="ble_protocol_invalid_command_id", - translation_placeholders={ - "command_id": f"{response[0]:02x}{response[1]:02x}" - } - ) - - # Skip command ID (first 2 bytes) and parse payload - payload = response[2:] - - if len(payload) < 31: - raise BLEProtocolError( - translation_domain=DOMAIN, - translation_key="ble_protocol_invalid_response_payload", - ) - - # Parse display specifications from 0005 response: - - # Offset 19: Width/Height inversion flag - wh_inverted = payload[19] == 1 - - # Offset 22-23: Height (uint16, little-endian) - height = struct.unpack("= 3: - color_scheme = 3 # BWRY - elif colors >= 2: - color_scheme = 1 # BWR (default for 2-color, refined later) - else: - color_scheme = 0 # MONO - - _LOGGER.debug( - "ATC device %s dimensions: %dx%d, colors=%d, inverted=%s", - connection.mac_address, - width, - height, - colors, - wh_inverted, - ) - - return DeviceCapabilities( - width=width if wh_inverted else height, - height=height if wh_inverted else width, - color_scheme=color_scheme, - rotatebuffer=1, # ATC devices always need 90° rotation - ) - - async def initialize_connection(self, connection: "BLEConnection") -> None: - """ATC protocol requires CMD_INIT command before use.""" - import asyncio - from .connection import CMD_INIT, INIT_DELAY_SECONDS - - _LOGGER.debug( - "Sending CMD_INIT to ATC device %s, waiting %ss", - connection.mac_address, - INIT_DELAY_SECONDS - ) - await connection.write_command(CMD_INIT) - await asyncio.sleep(INIT_DELAY_SECONDS) - diff --git a/custom_components/opendisplay/ble/protocol_base.py b/custom_components/opendisplay/ble/protocol_base.py deleted file mode 100644 index 081f281..0000000 --- a/custom_components/opendisplay/ble/protocol_base.py +++ /dev/null @@ -1,122 +0,0 @@ -"""Base protocol abstraction for BLE firmware types.""" -from abc import ABC, abstractmethod -from dataclasses import dataclass -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from .connection import BLEConnection - - -@dataclass -class AdvertisingData: - """Parsed BLE advertising data.""" - - battery_mv: int - battery_pct: int - temperature: float | None - hw_type: int - fw_version: int - version: int # Config/protocol version - - -@dataclass -class DeviceCapabilities: - """Minimal device information needed for Home Assistant setup.""" - - width: int - height: int - color_scheme: int # 0=MONO, 1=BWR, 2=BWY, 3=BWRY, 4=BWGBRY, 5=GRAYSCALE - rotatebuffer: int - - -class BLEProtocol(ABC): - """Abstract base class for BLE firmware protocols. - - Each firmware type (ATC, OpenDisplay) implements this interface to provide - protocol-specific behavior while sharing common infrastructure. - """ - - @staticmethod - def _calculate_battery_percentage(voltage_mv: int) -> int: - """Convert battery voltage (mV) to percentage estimate. - - Args: - voltage_mv: Battery voltage in millivolts - - Returns: - int: Battery percentage (0-100) - """ - if voltage_mv == 0: - return 0 # Unknown battery level - - voltage = voltage_mv / 1000.0 - min_voltage, max_voltage = 2.6, 3.2 # Battery voltage range - percentage = min( - 100, max(0, int((voltage - min_voltage) * 100 / (max_voltage - min_voltage))) - ) - return percentage - - @property - @abstractmethod - def manufacturer_id(self) -> int: - """Bluetooth manufacturer ID for device discovery.""" - - @property - @abstractmethod - def service_uuid(self) -> str: - """BLE GATT service UUID for communication.""" - - @property - @abstractmethod - def protocol_name(self) -> str: - """Protocol identifier: 'atc' or 'open_display'.""" - - @abstractmethod - def parse_advertising_data(self, data: bytes) -> AdvertisingData: - """Parse manufacturer-specific advertising data. - - Args: - data: Raw manufacturer-specific data from BLE advertisement - - Returns: - AdvertisingData: Parsed advertising information - - Raises: - ValueError: If data format is invalid - """ - - @abstractmethod - async def interrogate_device( - self, connection: "BLEConnection" - ) -> DeviceCapabilities: - """Query device capabilities during setup. - - Returns minimal information needed for Home Assistant entity creation. - - For OpenDisplay: Reads full config via 0x0040, extracts display dimensions. - For ATC: Uses legacy 0x0005 command. - - Args: - connection: Active BLE connection to device - - Returns: - DeviceCapabilities: Minimal device information - - Raises: - BLEError: If interrogation fails - ConfigValidationError: If device returns invalid data - """ - - async def initialize_connection(self, connection: "BLEConnection") -> None: - """Perform protocol-specific connection initialization. - - Called after BLE connection is established and notifications are enabled. - Protocols can override this to send initialization commands if needed. - - Args: - connection: Active BLE connection - - Default implementation does nothing - protocols requiring initialization - should override this method. - """ - pass # Default: no initialization needed diff --git a/custom_components/opendisplay/ble/protocol_factory.py b/custom_components/opendisplay/ble/protocol_factory.py deleted file mode 100644 index 03b434c..0000000 --- a/custom_components/opendisplay/ble/protocol_factory.py +++ /dev/null @@ -1,65 +0,0 @@ -"""Protocol factory for detecting and managing BLE firmware protocols.""" -from .protocol_base import BLEProtocol -from .protocol_atc import ATCProtocol -from .protocol_open_display import OpenDisplayProtocol -from .exceptions import UnsupportedProtocolError - - -# Singleton protocol instances -_PROTOCOLS: dict[int, BLEProtocol] = { - 0x1337: ATCProtocol(), # ATC firmware (4919 decimal) - 0x2446: OpenDisplayProtocol(), # OpenDisplay firmware (9286 decimal) -} - - -def get_protocol_by_manufacturer_id(mfg_id: int) -> BLEProtocol: - """Get protocol instance by Bluetooth manufacturer ID. - - Args: - mfg_id: Manufacturer ID from BLE advertisement - - Returns: - BLEProtocol: Protocol instance for the given manufacturer ID - - Raises: - UnsupportedProtocolError: If manufacturer ID is not supported - """ - protocol = _PROTOCOLS.get(mfg_id) - if not protocol: - supported_ids = [f"{mid:#06x} ({mid})" for mid in _PROTOCOLS.keys()] - raise UnsupportedProtocolError( - f"Unknown manufacturer ID: {mfg_id:#06x} ({mfg_id}). " - f"Supported IDs: {', '.join(supported_ids)}" - ) - return protocol - - -def get_protocol_by_name(name: str) -> BLEProtocol: - """Get protocol instance by protocol name. - - Args: - name: Protocol name ('atc' or 'open_display') - - Returns: - BLEProtocol: Protocol instance for the given name - - Raises: - UnsupportedProtocolError: If protocol name is not recognized - """ - for protocol in _PROTOCOLS.values(): - if protocol.protocol_name == name: - return protocol - - supported_names = [p.protocol_name for p in _PROTOCOLS.values()] - raise UnsupportedProtocolError( - f"Unknown protocol: '{name}'. Supported protocols: {', '.join(supported_names)}" - ) - - -def get_supported_manufacturer_ids() -> list[int]: - """Get list of supported manufacturer IDs for discovery. - - Returns: - list[int]: List of manufacturer IDs that can be auto-discovered - """ - return list(_PROTOCOLS.keys()) diff --git a/custom_components/opendisplay/ble/protocol_open_display.py b/custom_components/opendisplay/ble/protocol_open_display.py deleted file mode 100644 index 1556cdc..0000000 --- a/custom_components/opendisplay/ble/protocol_open_display.py +++ /dev/null @@ -1,485 +0,0 @@ -"""OpenDisplay firmware protocol implementation.""" -import logging -from typing import TYPE_CHECKING - -from .protocol_base import BLEProtocol, AdvertisingData, DeviceCapabilities -from .tlv_parser import ( - GlobalConfig, - describe_color_scheme, - extract_display_capabilities, - parse_tlv_config, -) -from .exceptions import ConfigValidationError -from ..const import DOMAIN - -if TYPE_CHECKING: - from .connection import BLEConnection - -_LOGGER = logging.getLogger(__name__) - -# OpenDisplay protocol constants -CMD_READ_CONFIG = bytes([0x00, 0x40]) -CMD_READ_FW_VERSION = bytes([0x00, 0x43]) - - -def _format_config_summary(config: GlobalConfig, mac_address: str) -> str: - """Format OpenDisplay configuration as human-readable debug output. - - Args: - config: Parsed OpenDisplay device configuration - mac_address: Device MAC address for reference - - Returns: - Multi-line formatted configuration summary - """ - lines = [f"\nOpenDisplay Configuration for {mac_address}:"] - - # Device Identity - lines.append(" Device:") - if config.system: - ic_names = {1: "nRF52840", 2: "ESP32-S3", 3: "ESP32-C3", 4: "ESP32-C6"} - ic_type = ic_names.get(config.system.ic_type, f"Unknown ({config.system.ic_type})") - lines.append(f" - IC Type: {ic_type}") - lines.append(f" - Communication Modes: 0x{config.system.communication_modes:02x}") - lines.append(f" - Device Flags: 0x{config.system.device_flags:02x}") - - if config.manufacturer: - lines.append(f" - Manufacturer ID: 0x{config.manufacturer.manufacturer_id:04x}") - lines.append(f" - Board Type: {config.manufacturer.board_type}") - lines.append(f" - Board Revision: {config.manufacturer.board_revision}") - - # Display Configuration (primary display) - if config.displays: - display = config.displays[0] # Primary display - lines.append(" Display (primary):") - - # Calculate diagonal size if physical dimensions available - size_info = f"{display.pixel_width}x{display.pixel_height} pixels" - if display.active_width_mm > 0 and display.active_height_mm > 0: - import math - diagonal_mm = math.sqrt(display.active_width_mm ** 2 + display.active_height_mm ** 2) - diagonal_inches = diagonal_mm / 25.4 - size_info += f" ({display.active_width_mm}x{display.active_height_mm}mm, {diagonal_inches:.1f}\")" - lines.append(f" - Dimensions: {size_info}") - - color_scheme = describe_color_scheme(display.color_scheme) - lines.append(f" - Color Scheme: {color_scheme}") - lines.append(f" - Rotation: {display.rotation}°") - lines.append(f" - Panel IC: {display.panel_ic_type}") - - if len(config.displays) > 1: - lines.append(f" - Additional Displays: {len(config.displays) - 1}") - - # Power Configuration - if config.power: - lines.append(" Power:") - lines.append(f" - Battery Capacity: {config.power.battery_capacity_mah} mAh") - lines.append(f" - Power Mode: {config.power.power_mode}") - - # Convert sleep timeout to human-readable format - sleep_sec = config.power.sleep_timeout_ms / 1000 - if sleep_sec >= 60: - lines.append(f" - Sleep Timeout: {sleep_sec / 60:.1f} minutes") - else: - lines.append(f" - Sleep Timeout: {sleep_sec:.1f} seconds") - - lines.append(f" - TX Power: {config.power.tx_power:+d} dBm") - lines.append(f" - Deep Sleep Current: {config.power.deep_sleep_current_ua} µA") - - # Optional Hardware Summary - hardware_summary = [] - if config.leds: - led_types = ", ".join([f"#{led.instance_number} type {led.led_type}" for led in config.leds]) - hardware_summary.append(f"LEDs: {len(config.leds)} ({led_types})") - - if config.sensors: - sensor_types = ", ".join([f"#{sensor.instance_number} type {sensor.sensor_type}" for sensor in config.sensors]) - hardware_summary.append(f"Sensors: {len(config.sensors)} ({sensor_types})") - - if config.buses: - bus_types = {0: "I2C", 1: "SPI"} - bus_list = ", ".join([f"#{bus.instance_number} {bus_types.get(bus.bus_type, 'Unknown')}" for bus in config.buses]) - hardware_summary.append(f"Buses: {len(config.buses)} ({bus_list})") - - if config.inputs: - hardware_summary.append(f"Digital Inputs: {len(config.inputs)}") - - if hardware_summary: - lines.append(" Optional Hardware:") - for hw in hardware_summary: - lines.append(f" - {hw}") - - return "\n".join(lines) - - -class OpenDisplayProtocol(BLEProtocol): - """OpenDisplay firmware protocol implementation. - - Supports the new OpenDisplay BLE firmware protocol with: - - Manufacturer ID: 0x2446 (9286) - - Service UUID: 00002446-0000-1000-8000-00805f9b34fb - - Interrogation: CMD_READ_CONFIG (0x0040) with TLV parsing - - Advertising: 13-byte format (sensor data currently placeholder) - - Complete TLV configuration system - """ - - def __init__(self): - """Initialize OpenDisplay protocol.""" - self._last_config: GlobalConfig | None = None - self._last_fw_version: dict | None = None - - @property - def manufacturer_id(self) -> int: - """Bluetooth manufacturer ID for OpenDisplay firmware.""" - return 0x2446 # 9286 decimal - - @property - def service_uuid(self) -> str: - """BLE GATT service UUID for OpenDisplay firmware.""" - return "00002446-0000-1000-8000-00805f9b34fb" - - @property - def protocol_name(self) -> str: - """Protocol identifier.""" - return "open_display" - - def parse_advertising_data(self, data: bytes) -> AdvertisingData: - """Parse OpenDisplay manufacturer data for device state updates. - - OpenDisplay firmware has two advertising formats: - - Legacy (11 bytes): Same layout as ATC (battery at 7-8, temp at 9) - - Current/v1 (14 bytes): Firmware 1.0+ (temp at 11, battery at 12-13) - - Args: - data: Manufacturer-specific advertising data - - Returns: - AdvertisingData: Parsed advertising information - - Raises: - ValueError: If data format is invalid - """ - if not data: - raise ValueError("Empty advertising data") - - # Minimum required: version(1) + hw_type(2) + fw_version(2) = 5 bytes - if len(data) < 5: - raise ValueError(f"OpenDisplay advertising requires at least 5 bytes, got {len(data)}") - - # Parse core fields - version = data[0] - hw_type = int.from_bytes(data[1:3], "little") - fw_version = int.from_bytes(data[3:5], "little") - - # Parse optional sensor data if present - battery_mv = 0 - battery_pct = 0 - temperature = None - - if len(data) >= 14: - # Current v1 format (Firmware 1.0+) - # Temperature at index 11: 0.5 C resolution, -40 C offset - temperature = (data[11] / 2.0) - 40.0 - - # Battery at index 12 and 13: 10mV resolution, 9-bit value - battery_mv = ((data[13] & 0x01) << 8 | data[12]) * 10 - if battery_mv > 0: - battery_pct = self._calculate_battery_percentage(battery_mv) - else: - # Legacy format: Battery voltage at bytes 7-8 (same as ATC) - if len(data) >= 9: - battery_mv = int.from_bytes(data[7:9], "little") - - if battery_mv > 0: - battery_pct = self._calculate_battery_percentage(battery_mv) - - # Temperature at byte 9 (signed int8, same as ATC) - if len(data) >= 10: - import struct - temperature = float(struct.unpack(" DeviceCapabilities: - """Query device during setup using CMD_READ_CONFIG (0x0040). - - Reads the complete device TLV configuration but returns only the - minimal display information needed for Home Assistant entity setup. - - This replaces the legacy 0x0005 command used by ATC firmware. - - The OpenDisplay firmware sends config data in chunks: - - Chunk 0: [cmd_echo:2][chunk_num:2][total_len:2][tlv_data:~94] - - Chunk N: [cmd_echo:2][chunk_num:2][tlv_data:~96] - - Args: - connection: Active BLE connection to device - - Returns: - DeviceCapabilities: Minimal device information for HA setup - - Raises: - ConfigValidationError: If config is invalid or missing display data - """ - import asyncio - - _LOGGER.debug("OpenDisplay device interrogation for %s", connection.mac_address) - - # Read first chunk - response = await connection.write_command_with_response(CMD_READ_CONFIG) - - _LOGGER.debug( - "OpenDisplay config response for %s: received %d bytes", - connection.mac_address, - len(response), - ) - - # Debug: log first 20 bytes to understand response format - _LOGGER.debug( - "OpenDisplay config first 20 bytes: %s", - response[:20].hex() if len(response) >= 20 else response.hex() - ) - - # Strip command echo (first 2 bytes are the command 0x0040 echoed back) - if len(response) >= 2 and response[0:2] == CMD_READ_CONFIG: - chunk_data = response[2:] - _LOGGER.debug("Stripped command echo, chunk data is %d bytes", len(chunk_data)) - else: - chunk_data = response - _LOGGER.warning("Expected command echo not found, using full response") - - # Parse chunk header - if len(chunk_data) < 4: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="opendisplay_config_chunk_short", - translation_placeholders={"length": str(len(chunk_data))} - ) - - chunk_num = int.from_bytes(chunk_data[0:2], "little") - _LOGGER.debug("Received chunk number: %d", chunk_num) - - if chunk_num != 0: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="opendisplay_expected_chunk_zero", - translation_placeholders={"chunk_num": str(chunk_num)} - ) - - # Parse total length from chunk 0 - total_length = int.from_bytes(chunk_data[2:4], "little") - _LOGGER.debug("Total config length: %d bytes", total_length) - - # Extract TLV data from chunk 0 (skip 4-byte chunk header) - tlv_data = bytearray(chunk_data[4:]) - _LOGGER.debug("Chunk 0 TLV data: %d bytes", len(tlv_data)) - - # Collect remaining chunks if needed - # Firmware sends all chunks automatically with 50ms delay between them - max_chunks = 10 # Safety limit to prevent infinite loops - current_chunk = 1 - - while len(tlv_data) < total_length and current_chunk < max_chunks: - _LOGGER.debug( - "Waiting for chunk %d (have %d of %d bytes)", - current_chunk, - len(tlv_data), - total_length, - ) - - try: - # Read next chunk from queue (firmware sends them automatically) - next_response = await asyncio.wait_for( - connection._response_queue.get(), timeout=2.0 - ) - except asyncio.TimeoutError: - _LOGGER.warning( - "Timeout waiting for chunk %d (have %d of %d bytes)", - current_chunk, - len(tlv_data), - total_length, - ) - break - - _LOGGER.debug("Received chunk response: %d bytes", len(next_response)) - - # Strip command echo from next chunk - if len(next_response) >= 2 and next_response[0:2] == CMD_READ_CONFIG: - next_chunk_data = next_response[2:] - else: - next_chunk_data = next_response - - # Parse chunk header - if len(next_chunk_data) >= 2: - next_chunk_num = int.from_bytes(next_chunk_data[0:2], "little") - _LOGGER.debug("Received chunk %d", next_chunk_num) - - if next_chunk_num != current_chunk: - _LOGGER.warning( - "Expected chunk %d, got chunk %d", - current_chunk, - next_chunk_num, - ) - - # Subsequent chunks don't have total_length, just chunk_num - tlv_data.extend(next_chunk_data[2:]) - _LOGGER.debug( - "Chunk %d TLV data: %d bytes (total: %d/%d)", - next_chunk_num, - len(next_chunk_data[2:]), - len(tlv_data), - total_length, - ) - - current_chunk += 1 - - _LOGGER.debug("Collected %d bytes of TLV data in %d chunks", len(tlv_data), current_chunk) - _LOGGER.debug("Complete TLV data (hex): %s", tlv_data.hex()) - - # Strip OpenDisplay config header: [length:2][version:1] - # The firmware sends: [length:2][version:1][packets...][crc:2] - if len(tlv_data) < 3: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="opendisplay_config_too_short", - translation_placeholders={"length": str(len(tlv_data))} - ) - - config_length = int.from_bytes(tlv_data[0:2], "little") - config_version = tlv_data[2] - - _LOGGER.debug( - "OpenDisplay config header: length=%d bytes, version=%d", - config_length, - config_version, - ) - - # Extract packet data (skip 3-byte header) - packet_data = tlv_data[3:] - - _LOGGER.debug("Packet data after stripping header: %d bytes", len(packet_data)) - - # Parse complete TLV config (OpenDisplay format: [packet_number:1][packet_id:1][fixed_data]) - try: - full_config = parse_tlv_config(bytes(packet_data)) - except ConfigValidationError as e: - _LOGGER.error("Failed to parse OpenDisplay config for %s: %s", connection.mac_address, e) - raise - - # Store for potential future use (optional - for config management features) - self._last_config = full_config - - # Log complete configuration in human-readable format - _LOGGER.debug(_format_config_summary(full_config, connection.mac_address)) - - _LOGGER.debug( - "OpenDisplay device %s config: %d displays, %d LEDs, %d sensors", - connection.mac_address, - len(full_config.displays), - len(full_config.leds), - len(full_config.sensors), - ) - - # Extract and return only what Home Assistant needs right now - return extract_display_capabilities(full_config) - - async def read_config(self, connection: "BLEConnection") -> GlobalConfig: - """Read complete device configuration (FUTURE - for config management service). - - This is different from interrogate_device(): - - interrogate_device(): Automatic during setup, returns 4 fields - - read_config(): Manual service call, returns everything - - Both send command 0x0040 but return different data structures. - - Args: - connection: Active BLE connection to device - - Returns: - GlobalConfig: Complete device configuration - - Raises: - ConfigValidationError: If config parsing fails - """ - response = await connection.write_command_with_response(CMD_READ_CONFIG) - - # Strip command echo (first 2 bytes are the command 0x0040 echoed back) - if len(response) >= 2 and response[0:2] == CMD_READ_CONFIG: - config_data = response[2:] - else: - config_data = response - - config = parse_tlv_config(config_data) - self._last_config = config - return config - - def get_last_config(self) -> GlobalConfig | None: - """Return last read config (for potential future features). - - Returns: - GlobalConfig: Last config read via interrogate_device() or read_config(), - or None if no config has been read yet - """ - return self._last_config - - async def read_firmware_version(self, connection: "BLEConnection") -> dict: - """Read firmware version using command 0x0043. - - Returns: - dict: Firmware version info with keys: major, minor, sha, version, raw - """ - response = await connection.write_command_with_response(CMD_READ_FW_VERSION) - - # Strip command echo if present - if response.startswith(CMD_READ_FW_VERSION): - payload = response[2:] - else: - payload = response - - if len(payload) < 2: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="opendisplay_fw_response_short", - translation_placeholders={"length": str(len(payload))} - ) - - major = payload[0] - minor = payload[1] - sha = "" - - if len(payload) >= 3: - sha_length = payload[2] - if sha_length > 0: - if len(payload) < 3 + sha_length: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="opendisplay_fw_version_format", - translation_placeholders={ "sha_length": str(sha_length)} - ) - sha_bytes = payload[3:3 + sha_length] - sha = bytes(sha_bytes).decode("ascii", errors="ignore") - - version_str = f"{major}.{minor}" - self._last_fw_version = { - "major": major, - "minor": minor, - "sha": sha, - "version": version_str, - "raw": (major << 8) | minor, - } - - _LOGGER.debug( - "OpenDisplay firmware version for %s: %s (sha=%s)", - connection.mac_address, - version_str, - sha[:8] if sha else "n/a", - ) - - return self._last_fw_version diff --git a/custom_components/opendisplay/ble/tlv_parser.py b/custom_components/opendisplay/ble/tlv_parser.py deleted file mode 100644 index e4a7d55..0000000 --- a/custom_components/opendisplay/ble/tlv_parser.py +++ /dev/null @@ -1,758 +0,0 @@ -"""TLV configuration parser for OpenDisplay BLE firmware. - -Parses the complete device configuration from 0x0040 (Read Config) response. -Based on structs.h from OpenDisplay_BLE firmware. -""" -import struct -import zlib -from dataclasses import asdict, dataclass, field -from typing import Any, ClassVar - -from .exceptions import ConfigValidationError -from .protocol_base import DeviceCapabilities -from .color_scheme import ColorScheme -from ..const import DOMAIN - -# TLV packet type constants -PACKET_TYPE_SYSTEM_CONFIG = 0x01 -PACKET_TYPE_MANUFACTURER_DATA = 0x02 -PACKET_TYPE_POWER_OPTION = 0x04 -PACKET_TYPE_DISPLAY_CONFIG = 0x20 -PACKET_TYPE_LED_CONFIG = 0x21 -PACKET_TYPE_SENSOR_DATA = 0x23 -PACKET_TYPE_DATA_BUS = 0x24 -PACKET_TYPE_BINARY_INPUTS = 0x25 - - -@dataclass -class SystemConfig: - """Packet type 0x01 - System configuration (22 bytes).""" - - SIZE: ClassVar[int] = 22 - - ic_type: int # IC type: 0=nRF52840, 1=ESP32-S3 - communication_modes: int # Supported communication modes (bitfield) - device_flags: int # Misc device flags (bitfield) - pwr_pin: int # Power pin number (0xFF = not present) - reserved: bytes # 17 reserved bytes - - @classmethod - def from_bytes(cls, data: bytes) -> "SystemConfig": - """Parse SystemConfig from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "SystemConfig", "expected": cls.SIZE, "actual": len(data)} - ) - ic_type, comm_modes, dev_flags, pwr_pin = struct.unpack_from(" "ManufacturerData": - """Parse ManufacturerData from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "ManufacturerData", "expected": cls.SIZE, "actual": len(data)} - ) - mfg_id, board_type, board_rev = struct.unpack_from(" "PowerOption": - """Parse PowerOption from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "PowerOption", "expected": cls.SIZE, "actual": len(data)} - ) - - # Battery capacity is 3 bytes (little-endian) - battery_capacity = int.from_bytes(data[1:4], byteorder="little") - - ( - power_mode, - sleep_timeout, - tx_power, - sleep_flags, - bat_sense_pin, - bat_sense_en_pin, - bat_sense_flags, - capacity_est, - voltage_scale, - deep_sleep_ua, - ) = struct.unpack_from(" "DisplayConfig": - """Parse DisplayConfig from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "DisplayConfig", "expected": cls.SIZE, "actual": len(data)} - ) - - ( - instance_num, - display_tech, - panel_ic, - pixel_w, - pixel_h, - active_w_mm, - active_h_mm, - tagtype, - rotation, - reset_pin, - busy_pin, - dc_pin, - cs_pin, - data_pin, - partial_update, - color_scheme, - trans_modes, - clk_pin, - ) = struct.unpack_from(" "LedConfig": - """Parse LedConfig from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "LedConfig", "expected": cls.SIZE, "actual": len(data)} - ) - - instance_num, led_type, led_1, led_2, led_3, led_4, led_flags = struct.unpack_from( - " "SensorData": - """Parse SensorData from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "SensorData", "expected": cls.SIZE, "actual": len(data)} - ) - - instance_num, sensor_type, bus_id = struct.unpack_from(" "DataBus": - """Parse DataBus from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "DataBus", "expected": cls.SIZE, "actual": len(data)} - ) - - ( - instance_num, - bus_type, - pin_1, - pin_2, - pin_3, - pin_4, - pin_5, - pin_6, - pin_7, - bus_speed, - bus_flags, - pullups, - pulldowns, - ) = struct.unpack_from(" "BinaryInputs": - """Parse BinaryInputs from bytes.""" - if len(data) < cls.SIZE: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_section_too_short", - translation_placeholders={"section": "BinaryInputs", "expected": cls.SIZE, "actual": len(data)} - ) - - instance_num, input_type, display_as = struct.unpack_from(" GlobalConfig: - """Parse complete TLV config from 0x0040 response. - - Auto-detects format: - - File format: [magic:4][version:4][crc32:4][data_len:4][TLV packets...] - - BLE format: [TLV packets...] (raw TLV data only) - - Each TLV packet: - [type:1][length:1][data:N] - - Args: - data: Raw config data from device - - Returns: - GlobalConfig: Parsed configuration structure - - Raises: - ConfigValidationError: If data is invalid or CRC check fails - """ - if len(data) < 2: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_data_too_short", - translation_placeholders={ "length": str(len(data))} - ) - - # Auto-detect format by checking for magic number - has_header = False - if len(data) >= 16: - potential_magic = struct.unpack_from(" len(data): - break # Not enough data for packet header - - _packet_number = data[offset] # Packet instance number (not used in parsing) - packet_id = data[offset + 1] - offset += 2 - - # Determine packet size based on packet ID (fixed sizes from structs.h) - packet_size = 0 - if packet_id == PACKET_TYPE_SYSTEM_CONFIG: - packet_size = SystemConfig.SIZE - elif packet_id == PACKET_TYPE_MANUFACTURER_DATA: - packet_size = ManufacturerData.SIZE - elif packet_id == PACKET_TYPE_POWER_OPTION: - packet_size = PowerOption.SIZE - elif packet_id == PACKET_TYPE_DISPLAY_CONFIG: - packet_size = DisplayConfig.SIZE - elif packet_id == PACKET_TYPE_LED_CONFIG: - packet_size = LedConfig.SIZE - elif packet_id == PACKET_TYPE_SENSOR_DATA: - packet_size = SensorData.SIZE - elif packet_id == PACKET_TYPE_DATA_BUS: - packet_size = DataBus.SIZE - elif packet_id == PACKET_TYPE_BINARY_INPUTS: - packet_size = BinaryInputs.SIZE - else: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_unknown_packet", - translation_placeholders={ - "packet_id": f"{packet_id:#04x}", - "offset": offset - 2 - } - ) - - if offset + packet_size > len(data): - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_packet_too_short", - translation_placeholders={ - "packet_id": f"{packet_id:#04x}", - "packet_size": packet_size, - "remaining_bytes": len(data) - offset, - "offset": offset - } - ) - - packet_data = data[offset : offset + packet_size] - offset += packet_size - - # Parse based on packet ID - try: - if packet_id == PACKET_TYPE_SYSTEM_CONFIG: - config.system = SystemConfig.from_bytes(packet_data) - - elif packet_id == PACKET_TYPE_MANUFACTURER_DATA: - config.manufacturer = ManufacturerData.from_bytes(packet_data) - - elif packet_id == PACKET_TYPE_POWER_OPTION: - config.power = PowerOption.from_bytes(packet_data) - - elif packet_id == PACKET_TYPE_DISPLAY_CONFIG: - config.displays.append(DisplayConfig.from_bytes(packet_data)) - - elif packet_id == PACKET_TYPE_LED_CONFIG: - config.leds.append(LedConfig.from_bytes(packet_data)) - - elif packet_id == PACKET_TYPE_SENSOR_DATA: - config.sensors.append(SensorData.from_bytes(packet_data)) - - elif packet_id == PACKET_TYPE_DATA_BUS: - config.buses.append(DataBus.from_bytes(packet_data)) - - elif packet_id == PACKET_TYPE_BINARY_INPUTS: - config.inputs.append(BinaryInputs.from_bytes(packet_data)) - - # Silently ignore unknown packet types for forward compatibility - - except Exception as e: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_packet_parse_failed", - translation_placeholders={ - "packet_id": f"{packet_id:#04x}", - "offset": offset - 2, - "error": str(e) - } - ) from e - - return config - - -def _color_scheme_from_value(value: int) -> ColorScheme | None: - """Return ColorScheme enum for value or None if unknown.""" - for scheme in ColorScheme: - if scheme.value == value: - return scheme - return None - - -def describe_color_scheme(value: int) -> str: - """Convert color scheme int to human-readable description.""" - scheme = _color_scheme_from_value(value) - if scheme is None: - return f"Unknown ({value})" - - descriptions = { - ColorScheme.MONO: "Monochrome", - ColorScheme.BWR: "BWR (black/white/red)", - ColorScheme.BWY: "BWY (black/white/yellow)", - ColorScheme.BWRY: "BWRY (black/white/red/yellow)", - ColorScheme.BWGBRY: "BWGBRY (6-color)", - ColorScheme.GRAYSCALE_4: "Grayscale (4-level)", - } - return descriptions.get(scheme, scheme.name) - - -def extract_display_capabilities(config: GlobalConfig) -> DeviceCapabilities: - """Extract minimal display info from full config for interrogation. - - Used by OpenDisplayProtocol.interrogate_device() to return only what HA needs. - - Args: - config: Complete parsed configuration - - Returns: - DeviceCapabilities: Minimal device information for HA setup - - Raises: - ConfigValidationError: If no display configuration found - """ - if not config.displays: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_no_display_config" - ) - - # Use first display - display = config.displays[0] - - # Swap dimensions when rotation is 90/270 (consistent with ATC wh_inverted behavior) - if display.rotation in (90, 270): - return DeviceCapabilities( - width=display.pixel_height, # Swapped for portrait rotation - height=display.pixel_width, # Swapped for portrait rotation - color_scheme=display.color_scheme, - rotatebuffer=1, - ) - else: - return DeviceCapabilities( - width=display.pixel_width, - height=display.pixel_height, - color_scheme=display.color_scheme, - rotatebuffer=0, - ) - - -def generate_model_name(display: DisplayConfig) -> str: - """Generate human-readable model name from display configuration. - - Creates concise names based on physical dimensions and color capabilities. - Uses diagonal size in inches calculated from millimeter dimensions. - - Examples: - - "2.9\"" (monochrome 2.9" display) - - "7.5\" BWR" (7.5" color display) - - "800x480 BWR" (fallback when physical dimensions unavailable) - - Args: - display: DisplayConfig with physical and pixel dimensions - - Returns: - str: Human-readable model name - - Raises: - ConfigValidationError: If display dimensions are invalid - """ - import math - - # Validate pixel dimensions - if display.pixel_width <= 0 or display.pixel_height <= 0: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="tlv_invalid_dimensions", - translation_placeholders={ - "width": str(display.pixel_width), - "height": str(display.pixel_height) - } - ) - - # Calculate diagonal size from physical dimensions (mm) - if display.active_width_mm > 0 and display.active_height_mm > 0: - diagonal_mm = math.sqrt( - display.active_width_mm ** 2 + display.active_height_mm ** 2 - ) - diagonal_inches = diagonal_mm / 25.4 - size_str = f"{diagonal_inches:.1f}\"" - else: - # Fallback if physical dimensions not available - # Use pixel dimensions as identifier - size_str = f"{display.pixel_width}x{display.pixel_height}" - - # Add color capability suffix - scheme = _color_scheme_from_value(display.color_scheme) - if scheme is None: - color_suffix = f" color={display.color_scheme}" - elif scheme is ColorScheme.MONO: - color_suffix = " BW" - else: - color_suffix = f" {scheme.name}" - - # Build model name: "7.5\" BWR" or "800x480 BWR" - model_name = f"{size_str}{color_suffix}" - - return model_name - - -def encode_tlv_config(config: GlobalConfig) -> bytes: - """Encode GlobalConfig to TLV binary format (for future write support). - - NOT IMPLEMENTED YET - reserved for future config management features. - - Args: - config: Configuration to encode - - Returns: - bytes: Complete TLV config binary data - - Raises: - NotImplementedError: This function is not yet implemented - """ - raise NotImplementedError("Config encoding not yet implemented") - - -def config_to_dict(config: GlobalConfig) -> dict[str, Any]: - """Convert GlobalConfig to JSON-serializable dictionary. - - Converts the complete OpenDisplay configuration structure to a nested dictionary - that can be stored in Home Assistant config entries. Bytes fields are - converted to hex strings for serialization. - - Args: - config: GlobalConfig instance to convert - - Returns: - dict: JSON-serializable nested dictionary representation - """ - def _convert_bytes(obj: Any) -> Any: - """Recursively convert bytes objects to hex strings.""" - if isinstance(obj, bytes): - return obj.hex() - elif isinstance(obj, dict): - return {k: _convert_bytes(v) for k, v in obj.items()} - elif isinstance(obj, list): - return [_convert_bytes(item) for item in obj] - else: - return obj - - # Convert dataclass to dict, then convert all bytes fields - config_dict = asdict(config) - return _convert_bytes(config_dict) diff --git a/custom_components/opendisplay/button.py b/custom_components/opendisplay/button.py deleted file mode 100644 index ec2c4bd..0000000 --- a/custom_components/opendisplay/button.py +++ /dev/null @@ -1,587 +0,0 @@ -PARALLEL_UPDATES = 1 - -from dataclasses import dataclass - -from homeassistant.components.button import ButtonEntity, ButtonEntityDescription -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.entity_platform import AddEntitiesCallback -from homeassistant.helpers.entity import EntityCategory -from homeassistant.helpers import device_registry as dr -from homeassistant.helpers import entity_registry as er -import logging - -from .ble import get_protocol_by_name -from .entity import OpenDisplayTagEntity, OpenDisplayAPEntity, OpenDisplayBLEEntity -from .runtime_data import OpenDisplayConfigEntry -from .tag_types import get_tag_types_manager -from .util import is_ble_entry -from .const import DOMAIN - -_LOGGER = logging.getLogger(__name__) - - -def _compare_configs(old: any, new: any, path: str = "") -> list[tuple[str, any, any]]: - """Recursively compare two configs and return a list of changes. - - Compares two configuration structures (dicts, lists, or values) and identifies - all fields that have changed between them. Handles nested structures by building - dot-notation paths (e.g., "power.power_mode") and list indices (e.g., "displays[0].width"). - - Args: - old: Old configuration value (dict, list, or primitive) - new: New configuration value (dict, list, or primitive) - path: Current path in the configuration tree (used for recursion) - - Returns: - List of tuples: (field_path, old_value, new_value) for each changed field - """ - changes = [] - - # Handle None cases - if old is None and new is None: - return changes - if old is None: - changes.append((path or "root", None, new)) - return changes - if new is None: - changes.append((path or "root", old, None)) - return changes - - # If types differ, treat as changed value - if type(old) is not type(new): - changes.append((path or "root", old, new)) - return changes - - # Handle dict comparison - if isinstance(old, dict) and isinstance(new, dict): - all_keys = set(old.keys()) | set(new.keys()) - for key in all_keys: - new_path = f"{path}.{key}" if path else key - - if key not in old: - # Key added - changes.append((new_path, None, new[key])) - elif key not in new: - # Key removed - changes.append((new_path, old[key], None)) - else: - # Key exists in both, recurse - changes.extend(_compare_configs(old[key], new[key], new_path)) - return changes - - # Handle list comparison - if isinstance(old, list) and isinstance(new, list): - max_len = max(len(old), len(new)) - for i in range(max_len): - new_path = f"{path}[{i}]" if path else f"[{i}]" - - if i >= len(old): - # Item added - changes.append((new_path, None, new[i])) - elif i >= len(new): - # Item removed - changes.append((new_path, old[i], None)) - else: - # Item exists in both, recurse - changes.extend(_compare_configs(old[i], new[i], new_path)) - return changes - - # Handle primitive values (str, int, float, bool, bytes) - if old != new: - changes.append((path or "root", old, new)) - - return changes - - -def _format_value(value: any) -> str: - """Format a configuration value for logging. - - Converts configuration values to human-readable strings for log output. - Handles special cases like None, bytes, and large nested structures. - - Args: - value: Configuration value to format - - Returns: - Formatted string representation of the value - """ - if value is None: - return "None" - if isinstance(value, bytes): - # Show hex for bytes, truncate if too long - hex_str = value.hex() - return f"0x{hex_str[:16]}..." if len(hex_str) > 16 else f"0x{hex_str}" - if isinstance(value, (dict, list)): - # For complex structures, show type and length - if isinstance(value, dict): - return f"{{...}} ({len(value)} keys)" - return f"[...] ({len(value)} items)" - # For primitives, just convert to string - return str(value) - - -async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry, - async_add_entities: AddEntitiesCallback) -> None: - """Set up button entities from a config entry. - - Creates button entities based on device type: - - For BLE devices: - - Set clock mode button - - Disable clock mode button - - For AP devices and tags: - - Clear pending updates button - - Force refresh button - - Reboot tag button - - Scan channels button - - Deep sleep button - - Reboot AP button - - Refresh tag types button - - Also sets up listeners for new tag discovery and blacklist updates - to dynamically add and remove buttons as needed. - - Args: - hass: Home Assistant instance - entry: Configuration entry - async_add_entities: Callback to register new entities - """ - entry_data = entry.runtime_data - - # Check if this is a BLE device - is_ble_device = is_ble_entry(entry_data) - - if is_ble_device: - # BLE device setup - create clock mode buttons - mac_address = entry_data.mac_address - name = entry_data.name - device_metadata = entry_data.device_metadata - protocol_type = entry_data.protocol_type # Default to ATC for backward compatibility - - ble_buttons = [] - - # Add refresh config button for OpenDisplay devices only - if protocol_type == "open_display": - ble_buttons.append( - RefreshConfigButton(mac_address, name, device_metadata, protocol_type, entry) - ) - - async_add_entities(ble_buttons) - return - - # AP device setup (original logic) - hub = entry_data - - # Track added tags to prevent duplicates - added_tags = set() - - async def async_add_tag_buttons(tag_mac: str) -> None: - """Add buttons for a newly discovered tag. - - Creates and registers button entities for a specific tag: - - - Clear pending updates button - - Force refresh button - - Reboot tag button - - Scan channels button - - Deep sleep button - - This function is called both during initial setup for existing - tags and dynamically when new tags are discovered. - - The function includes deduplication logic to prevent creating - multiple button sets for the same tag, and filtering to avoid - creating buttons for blacklisted tags. - - Args: - tag_mac: MAC address of the tag to create buttons for - """ - - # Skip if tag is blacklisted - if tag_mac in hub.get_blacklisted_tags(): - _LOGGER.debug("Skipping button creation for blacklisted tag: %s", tag_mac) - return - - if tag_mac in added_tags: - return - - added_tags.add(tag_mac) - new_buttons = [ - OpenDisplayTagButton(hass, tag_mac, hub, description) - for description in TAG_BUTTON_TYPES - ] - async_add_entities(new_buttons) - - # Add buttons for existing tags - for tag_mac in hub.tags: - await async_add_tag_buttons(tag_mac) - - # Add AP-level buttons - async_add_entities([ - RebootAPButton(hass, hub), - RefreshTagTypesButton(hass, hub), - ]) - - # Listen for new tag discoveries - entry.async_on_unload( - async_dispatcher_connect( - hass, - f"{DOMAIN}_tag_discovered", - async_add_tag_buttons - ) - ) - - # Listen for blacklist updates - async def handle_blacklist_update() -> None: - """Handle blacklist updates by removing buttons for blacklisted tags. - - When tags are added to the blacklist, this removes their - associated button entities and devices from Home Assistant. - - This ensures that blacklisted tags don't appear in the UI - and don't consume resources in Home Assistant. - """ - # Get all buttons registered for this entry - device_registry = dr.async_get(hass) - entity_registry = er.async_get(hass) - - # Track which devices need to be removed - devices_to_remove = set() - - # Find and remove entities for blacklisted tags - entities_to_remove = [] - for entity in entity_registry.entities.values(): - if entity.config_entry_id == entry.entry_id: - # Check if this entity belongs to a blacklisted tag - device = device_registry.async_get(entity.device_id) if entity.device_id else None - if device: - for identifier in device.identifiers: - if identifier[0] == DOMAIN and identifier[1] in hub.get_blacklisted_tags(): - entities_to_remove.append(entity.entity_id) - # Add device to removal list - devices_to_remove.add(device.id) - break - - # Remove the entities - for entity_id in entities_to_remove: - entity_registry.async_remove(entity_id) - _LOGGER.debug("Removed entity %s for blacklisted tag", entity_id) - - # Remove the devices - for device_id in devices_to_remove: - device_registry.async_remove_device(device_id) - _LOGGER.debug("Removed device %s for blacklisted tag", device_id) - - entry.async_on_unload( - async_dispatcher_connect( - hass, - f"{DOMAIN}_blacklist_update", - handle_blacklist_update - ) - ) - - -@dataclass(frozen=True, kw_only=True) -class OpenDisplayTagButtonDescription(ButtonEntityDescription): - """Describes an OpenDisplay tag button.""" - command: str - - -TAG_BUTTON_TYPES: tuple[OpenDisplayTagButtonDescription, ...] = ( - OpenDisplayTagButtonDescription( - key="clear_pending", - translation_key="clear_pending", - entity_category=EntityCategory.DIAGNOSTIC, - command="clear", - entity_registry_enabled_default=True - ), - OpenDisplayTagButtonDescription( - key="force_refresh", - translation_key="force_refresh", - entity_category=EntityCategory.DIAGNOSTIC, - command="refresh", - entity_registry_enabled_default=True - ), - OpenDisplayTagButtonDescription( - key="reboot_tag", - translation_key="reboot_tag", - entity_category=EntityCategory.DIAGNOSTIC, - command="reboot", - ), - OpenDisplayTagButtonDescription( - key="scan_channels", - translation_key="scan_channels", - entity_category=EntityCategory.DIAGNOSTIC, - command="scan", - ), - OpenDisplayTagButtonDescription( - key="deep_sleep", - translation_key="deep_sleep", - entity_category=EntityCategory.DIAGNOSTIC, - command="deepsleep", - ), -) - - -class OpenDisplayTagButton(OpenDisplayTagEntity, ButtonEntity): - """Generic tag button entity.""" - - entity_description: OpenDisplayTagButtonDescription - - def __init__(self, hass: HomeAssistant, tag_mac: str, hub, description: OpenDisplayTagButtonDescription) -> None: - """Initialize the button entity.""" - super().__init__(hub, tag_mac) - self.hass = hass - self._entity_id = f"{DOMAIN}.{tag_mac}" - self.entity_description = description - self._attr_unique_id = f"{tag_mac}_{description.key}" - - async def async_press(self) -> None: - """Handle the button press.""" - await self._hub.send_tag_cmd(self._entity_id, self.entity_description.command) - - -class RebootAPButton(OpenDisplayAPEntity, ButtonEntity): - """Button to reboot the Access Point.""" - - _attr_entity_registry_enabled_default = True - - def __init__(self, hass: HomeAssistant, hub) -> None: - """Initialize the button entity.""" - super().__init__(hub) - self.hass = hass - self._attr_translation_key = "reboot_ap" - self._attr_unique_id = f"{hub.entry.entry_id}_reboot_ap" - - async def async_press(self) -> None: - """Handle the button press.""" - await self._hub.reboot_ap() - - -class RefreshTagTypesButton(OpenDisplayAPEntity, ButtonEntity): - """Button to manually refresh tag types from GitHub.""" - - def __init__(self, hass: HomeAssistant, hub) -> None: - """Initialize the button entity.""" - super().__init__(hub) - self._hass = hass - self._attr_translation_key = "refresh_tag_types" - self._attr_unique_id = f"{hub.entry.entry_id}_refresh_tag_types" - self._attr_entity_category = EntityCategory.DIAGNOSTIC - - async def async_press(self) -> None: - """Handle the button press. - - Triggers a refresh of tag type definitions from GitHub - and displays a notification with the result. - - The refresh process: - - 1. Clears the cache timestamp to force a new GitHub fetch - 2. Calls the tag types manager to load the latest definitions - 3. Shows a notification with the number of tag types loaded - """ - manager = await get_tag_types_manager(self._hass) - # Force a refresh by clearing the last update timestamp - manager._last_update = None - await manager.ensure_types_loaded() - tag_types_len = len(manager.get_all_types()) - message = f"Successfully refreshed {tag_types_len} tag types from GitHub" - await self.hass.services.async_call( - "persistent_notification", - "create", - { - "title": "Tag Types Refreshed", - "message": message, - "notification_id": "tag_types_refresh_notification", - }, - ) - - -class RefreshConfigButton(OpenDisplayBLEEntity, ButtonEntity): - """ - Button to refresh OpenDisplay device configuration. - - Creates a button entity that re-interrogates an OpenDisplay device to fetch - updated configuration and update the device metadata in Home Assistant. - This is useful when the device configuration has been changed externally. - """ - - _attr_entity_registry_enabled_default = True - - def __init__(self, - mac_address: str, - name: str, - device_metadata: dict, - protocol_type: str, - entry: OpenDisplayConfigEntry - ) -> None: - """Initialize the button entity. - - Args: - mac_address: MAC address of the BLE device - name: Human-readable name for the device - device_metadata: Device metadata dictionary - protocol_type: BLE protocol type (should be "open_display") - entry: Configuration entry for the device - """ - super().__init__(mac_address, name, entry) - - self._device_metadata = device_metadata - self._entry_id = entry.entry_id - self._protocol_type = protocol_type - self._attr_translation_key = "refresh_config" - self._attr_unique_id = f"ble_{mac_address}_refresh_config" - self._attr_entity_category = EntityCategory.DIAGNOSTIC - - # Get protocol handler for service UUID - self._protocol = get_protocol_by_name(protocol_type) - self._service_uuid = self._protocol.service_uuid - - async def async_press(self) -> None: - """Re-interrogate device and update configuration.""" - from .ble import BLEConnection, get_protocol_by_name - from .ble.tlv_parser import config_to_dict, generate_model_name - from homeassistant.helpers import device_registry as dr - - _LOGGER.info("Refreshing configuration for OpenDisplay device %s", self._mac_address) - - try: - # Get protocol handler - protocol = get_protocol_by_name(self._protocol_type) - fw_info = None - - # Connect and interrogate device - async with BLEConnection(self.hass, self._mac_address, self._service_uuid, protocol) as conn: - capabilities = await protocol.interrogate_device(conn) - try: - fw_info = await protocol.read_firmware_version(conn) - except Exception as fw_err: - _LOGGER.warning( - "Failed to read firmware version for %s: %s", - self._mac_address, - fw_err, - ) - - if not capabilities: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="config_flow_invalid_config" - ) - - # Get updated config from protocol - config = protocol._last_config - - if not config: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="config_flow_missing_config" - ) - - # Store complete OpenDisplay config - new_metadata = { - "open_display_config": config_to_dict(config), - } - if fw_info: - new_metadata["fw_version"] = fw_info.get("version") - new_metadata["fw_version_raw"] = fw_info.get("raw") - if fw_info.get("sha"): - new_metadata["fw_sha"] = fw_info["sha"] - elif "fw_version" in self._device_metadata: - # Preserve the previously known firmware version if read fails - new_metadata["fw_version"] = self._device_metadata.get("fw_version") - if "fw_version_raw" in self._device_metadata: - new_metadata["fw_version_raw"] = self._device_metadata.get("fw_version_raw") - if "fw_sha" in self._device_metadata: - new_metadata["fw_sha"] = self._device_metadata.get("fw_sha") - - # Generate and store model name - if config.displays: - model_name = generate_model_name(config.displays[0]) - new_metadata["model_name"] = model_name - else: - model_name = self._device_metadata.get('model_name', 'Unknown') - new_metadata["model_name"] = model_name - - # Log configuration changes - old_config = self._device_metadata.get("open_display_config", {}) - new_config_data = new_metadata.get("open_display_config", {}) - - if old_config != new_config_data: - changes = _compare_configs(old_config, new_config_data) - - if changes: - # Build complete log message as multi-line string - log_lines = [f"Configuration changes for {self._mac_address}:"] - - # Group changes by top-level section - sections = {} - for field_path, old_val, new_val in changes: - section = field_path.split('.')[0].split('[')[0] - if section not in sections: - sections[section] = [] - sections[section].append((field_path, old_val, new_val)) - - # Build section change lines - for section in ["power", "displays", "leds", "sensors", "buses", "inputs", "system", - "manufacturer"]: - if section in sections: - log_lines.append(f" {section.title()}:") - for field_path, old_val, new_val in sections[section]: - # Format values for readability - old_str = _format_value(old_val) - new_str = _format_value(new_val) - log_lines.append(f" {field_path}: {old_str} → {new_str}") - - # Log complete message in a single statement - _LOGGER.info("\n".join(log_lines)) - else: - _LOGGER.info("No configuration changes for %s", self._mac_address) - - # Update config entry (persisted data) - self.hass.config_entries.async_update_entry( - self._entry, - data={**self._entry.data, "device_metadata": new_metadata} - ) - - # Update runtime_data so existing entities pick up new metadata - self._entry.runtime_data.device_metadata = new_metadata - self._device_metadata = new_metadata - - # Update device registry attributes - device_registry = dr.async_get(self.hass) - device = device_registry.async_get_device( - identifiers={(DOMAIN, f"ble_{self._mac_address}")} - ) - - if device: - sw_version = fw_info.get("version") if fw_info else device.sw_version - device_registry.async_update_device( - device.id, - hw_version=f"{capabilities.width}x{capabilities.height}", - model=model_name, - sw_version=str(sw_version) if sw_version else None, - ) - - # Remove entities that will become invalid with the new config - from . import async_remove_invalid_ble_entities - removed = await async_remove_invalid_ble_entities(self.hass, self._entry, new_metadata) - if removed: - _LOGGER.info("Removed invalid entities: %s", removed) - - # Reload integration to re-create entities based on the new config - _LOGGER.info("Reloading integration to apply config changes for %s", self._mac_address) - await self.hass.config_entries.async_reload(self._entry_id) - - _LOGGER.info("Successfully refreshed configuration for %s", self._mac_address) - - except Exception as e: - _LOGGER.error("Failed to refresh configuration for %s: %s", self._mac_address, e) - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="refresh_config_failed", - translation_placeholders={"error": str(e)}, - ) from e diff --git a/custom_components/opendisplay/config_flow.py b/custom_components/opendisplay/config_flow.py index 9c73192..bcd93e4 100644 --- a/custom_components/opendisplay/config_flow.py +++ b/custom_components/opendisplay/config_flow.py @@ -1,676 +1,240 @@ """Config flow for OpenDisplay integration.""" -from __future__ import annotations -from typing import Any, Final, Mapping -import asyncio +from collections.abc import Mapping +import logging +from typing import TYPE_CHECKING, Any -import aiohttp -import voluptuous as vol -from habluetooth.models import BluetoothServiceInfoBleak -from homeassistant import config_entries -from homeassistant.config_entries import ConfigEntry, OptionsFlow, ConfigFlowResult -from homeassistant.const import CONF_HOST -from homeassistant.core import callback -from homeassistant.data_entry_flow import FlowResult -from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo -from homeassistant.helpers import selector -from homeassistant.helpers.aiohttp_client import async_get_clientsession -from homeassistant.helpers.selector import TextSelectorType - -from .const import DOMAIN -from .ble import ( - get_protocol_by_manufacturer_id, - BLEConnection, - UnsupportedProtocolError, - ConfigValidationError, +from opendisplay import ( + MANUFACTURER_ID, + AuthenticationFailedError, + AuthenticationRequiredError, BLEConnectionError, - BLEProtocolError, + OpenDisplayDevice, + OpenDisplayError, ) -from .tag_types import get_tag_types_manager, get_hw_string -from .util import is_ble_entry -import logging - -_LOGGER: Final = logging.getLogger(__name__) +import voluptuous as vol -STEP_USER_DATA_SCHEMA = vol.Schema( - { - vol.Required(CONF_HOST): str, - } +from homeassistant.components.bluetooth import ( + BluetoothServiceInfoBleak, + async_ble_device_from_address, + async_discovered_service_info, ) +from homeassistant.config_entries import ConfigFlow, ConfigFlowResult +from homeassistant.const import CONF_ADDRESS +from .const import CONF_ENCRYPTION_KEY, DOMAIN -def _format_ble_protocol_label(protocol_type: str) -> str: - """Return a user-facing label for a BLE protocol.""" - if protocol_type == "open_display": - return "OpenDisplay (OD)" - if protocol_type == "atc": - return "OEPL / ATC" - return protocol_type - +_LOGGER = logging.getLogger(__name__) -class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): - """Handle a config flow for OpenDisplay. - Implements the flow for initial integration setup. - The flow validates that the provided AP host is reachable and responds - correctly before creating a configuration entry. +_ENCRYPTION_KEY_VALIDATOR = vol.All(str.strip, str.lower, vol.Match(r"^[0-9a-f]{32}$")) - The class stores connection state throughout the flow steps to maintain - context between user interactions. - """ - VERSION = 1 +class OpenDisplayConfigFlow(ConfigFlow, domain=DOMAIN): + """Handle a config flow for OpenDisplay.""" def __init__(self) -> None: - """Initialize flow.""" - self._host: str | None = None + """Initialize the config flow.""" self._discovery_info: BluetoothServiceInfoBleak | None = None - self._discovered_device: dict[str, Any] | None = {} - self._dhcp_discovery_info: DhcpServiceInfo | None = None + self._discovered_devices: dict[str, BluetoothServiceInfoBleak] = {} - def _bluetooth_description_placeholders( - self, - error: str | None = None, - ) -> dict[str, str]: - """Build placeholders for the Bluetooth confirmation dialog.""" - device = self._discovered_device - advertised_details = "" - if device["protocol_type"] == "atc": - battery = f"{device['battery_mv']/1000:.2f}V" if device["battery_mv"] > 0 else "Unknown" - fw_version = str(device["fw_version"]) if device["fw_version"] > 0 else "Unknown" - config_version = str(device["version"]) if device["version"] > 0 else "Unknown" - advertised_details = ( - f"\n- Battery: {battery}" - f"\n- Firmware: {fw_version}" - f"\n- Config Version: {config_version}" - ) + async def _async_test_connection( + self, address: str, encryption_key: bytes | None = None + ) -> None: + """Connect to the device and verify it responds.""" + ble_device = async_ble_device_from_address(self.hass, address, connectable=True) + if ble_device is None: + raise BLEConnectionError(f"Could not find connectable device for {address}") - placeholders = { - "name": device["name"], - "device_type": device["protocol_display"], - "address": device["address"], - "rssi": str(device["rssi"]), - "advertised_details": advertised_details, - } - if error is not None: - placeholders["error"] = error - return placeholders - - async def _validate_input(self, host: str) -> tuple[dict[str, str], str | None]: - """Validate the user input allows us to connect. - - Data has the keys from STEP_USER_DATA_SCHEMA with values provided by the user. - """ - errors = {} - - # Remove any http:// or https:// prefix - host = host.replace("http://", "").replace("https://", "") - # Remove any trailing slashes - host = host.rstrip("/") + async with OpenDisplayDevice( + mac_address=address, ble_device=ble_device, encryption_key=encryption_key + ) as device: + await device.read_firmware_version() + + async def async_step_bluetooth( + self, discovery_info: BluetoothServiceInfoBleak + ) -> ConfigFlowResult: + """Handle the Bluetooth discovery step.""" + await self.async_set_unique_id(discovery_info.address) + self._abort_if_unique_id_configured() + self._discovery_info = discovery_info + self.context["title_placeholders"] = {"name": discovery_info.name} try: - session = async_get_clientsession(self.hass) - async with asyncio.timeout(10): - async with session.get(f"http://{host}") as response: - if response.status != 200: - errors["base"] = "cannot_connect" - else: - # Store version info for later display - self._host = host - return {"title": f"OEPL AP ({host})"}, None + await self._async_test_connection(discovery_info.address) + except AuthenticationRequiredError: + return await self.async_step_encryption_key() + except OpenDisplayError: + return self.async_abort(reason="cannot_connect") + except Exception: + _LOGGER.exception("Unexpected error") + return self.async_abort(reason="unknown") - except asyncio.TimeoutError: - errors["base"] = "timeout" - except aiohttp.ClientError: - errors["base"] = "cannot_connect" - except Exception: # pylint: disable=broad-except - _LOGGER.exception("Unexpected exception") - errors["base"] = "unknown" + return await self.async_step_bluetooth_confirm() + + async def async_step_bluetooth_confirm( + self, user_input: dict[str, Any] | None = None + ) -> ConfigFlowResult: + """Confirm discovery.""" + assert self._discovery_info is not None + + if user_input is None: + self._set_confirm_only() + return self.async_show_form( + step_id="bluetooth_confirm", + description_placeholders=self.context["title_placeholders"], + ) - return {}, errors.get("base", "unknown") + return self.async_create_entry(title=self._discovery_info.name, data={}) async def async_step_user( - self, user_input: dict[str, Any] | None = None - ): - """Handle the initial step of the config flow. - - Presents a form for the user to enter the AP host address, - validates the connection, and creates a config entry if successful. - - Args: - user_input: User-provided configuration data, or None if the - form is being shown for the first time - - Returns: - FlowResult: Result of the flow step, either showing the form - again (with errors if applicable) or creating an entry - """ - # Check for existing AP hub entries immediately (before showing form) - for entry_id, entry_data in self.hass.data.get(DOMAIN, {}).items(): - if not is_ble_entry(entry_data): # This is an AP (Hub object) - return self.async_abort(reason="single_instance_allowed") - + self, user_input: dict[str, Any] | None = None + ) -> ConfigFlowResult: + """Handle the user step to pick discovered device.""" errors: dict[str, str] = {} if user_input is not None: - info, error = await self._validate_input(user_input[CONF_HOST]) - if not error: - await self.async_set_unique_id(self._host) - self._abort_if_unique_id_configured() + address = user_input[CONF_ADDRESS] + await self.async_set_unique_id(address, raise_on_progress=False) + self._abort_if_unique_id_configured() + try: + await self._async_test_connection(address) + except AuthenticationRequiredError: + self.context["title_placeholders"] = { + "name": self._discovered_devices[address].name + } + return await self.async_step_encryption_key() + except OpenDisplayError: + errors["base"] = "cannot_connect" + except Exception: + _LOGGER.exception("Unexpected error") + errors["base"] = "unknown" + else: return self.async_create_entry( - title=info["title"], - data={CONF_HOST: self._host} + title=self._discovered_devices[address].name, + data={}, ) - - errors["base"] = error + else: + current_addresses = self._async_current_ids(include_ignore=False) + for discovery_info in async_discovered_service_info(self.hass): + address = discovery_info.address + if address in current_addresses or address in self._discovered_devices: + continue + if MANUFACTURER_ID in discovery_info.manufacturer_data: + self._discovered_devices[address] = discovery_info + + if not self._discovered_devices: + return self.async_abort(reason="no_devices_found") return self.async_show_form( step_id="user", - data_schema=STEP_USER_DATA_SCHEMA, - errors=errors, - ) - - async def async_step_reconfigure( - self, user_input: dict[str, Any] | None = None - ): - """Handle reconfiguration of the AP host.""" - entry = self._get_reconfigure_entry() - - # BLE entries do not expose reconfiguration - if entry.data.get("device_type") == "ble": - return self.async_abort(reason="no_reconfigure_ble") - - errors: dict[str, str] = {} - - if user_input is not None: - info, error = await self._validate_input(user_input[CONF_HOST]) - if not error: - return self.async_update_reload_and_abort( - entry, - unique_id=self._host, - title=info.get("title"), - data_updates={CONF_HOST: self._host}, - ) - errors["base"] = error - - return self.async_show_form( - step_id="reconfigure", data_schema=vol.Schema( { - vol.Required( - CONF_HOST, - default=entry.data.get(CONF_HOST, ""), - ): str + vol.Required(CONF_ADDRESS): vol.In( + { + addr: f"{info.name} ({addr})" + for addr, info in self._discovered_devices.items() + } + ) } ), errors=errors, ) - async def async_step_bluetooth( - self, discovery_info: BluetoothServiceInfoBleak - ): - """Handle bluetooth discovery.""" - _LOGGER.debug("BLE Discovery - Name: '%s', Address: %s", - discovery_info.name, discovery_info.address) - - await self.async_set_unique_id(f"opendisplay_ble_{discovery_info.address}") - self._abort_if_unique_id_configured() - - self._discovery_info = discovery_info - - # Detect protocol from manufacturer data - manufacturer_id = None - manufacturer_data = b'' - - # Check for known manufacturer IDs (ATC: 4919, OpenDisplay: 9286) - for mfg_id, mfg_data in discovery_info.manufacturer_data.items(): - if mfg_id in (4919, 9286): - manufacturer_id = mfg_id - manufacturer_data = mfg_data - break - - if manufacturer_id is None: - _LOGGER.error("No supported manufacturer ID found in advertising data") - return self.async_abort(reason="unsupported_protocol") - - # Get protocol handler - try: - protocol = get_protocol_by_manufacturer_id(manufacturer_id) - _LOGGER.debug("Detected protocol: %s (manufacturer ID: 0x%04X)", - protocol.protocol_name, manufacturer_id) - except UnsupportedProtocolError: - _LOGGER.error("Unsupported manufacturer ID: 0x%04X", manufacturer_id) - return self.async_abort(reason="unsupported_protocol") - - # Parse advertising data using protocol-specific parser + async def _async_try_connection( + self, + address: str, + encryption_key: bytes | None, + errors: dict[str, str], + ) -> bool: + """Test connection, populate errors, and return True on success.""" try: - advertising_data = protocol.parse_advertising_data(manufacturer_data) - if not advertising_data: - raise ValueError("Failed to parse advertising data") - except Exception as e: - _LOGGER.error("Failed to parse advertising data: %s", e) - return self.async_abort(reason="invalid_advertising_data") - - device_name = discovery_info.name or f"OpenDisplay_BLE_{discovery_info.address[-8:].replace(':', '')}" - - self._discovered_device = { - "address": discovery_info.address, - "name": device_name, - "rssi": discovery_info.rssi, - "hw_type": advertising_data.hw_type, - "battery_mv": advertising_data.battery_mv, - "fw_version": advertising_data.fw_version, - "version": advertising_data.version, - "protocol_type": protocol.protocol_name, # Store protocol type - "protocol_display": _format_ble_protocol_label(protocol.protocol_name), - } - _LOGGER.debug("Discovered device info: %s", self._discovered_device) - - # Set discovery context for proper display in UI - self.context["title_placeholders"] = { - "name": self._discovered_device["name"], - } + await self._async_test_connection(address, encryption_key) + except AuthenticationFailedError, AuthenticationRequiredError: + errors[CONF_ENCRYPTION_KEY] = "invalid_auth" + except OpenDisplayError: + errors["base"] = "cannot_connect" + except Exception: + _LOGGER.exception("Unexpected error") + errors["base"] = "unknown" + else: + return True + return False - return await self.async_step_bluetooth_confirm() + async def async_step_encryption_key( + self, user_input: dict[str, Any] | None = None + ) -> ConfigFlowResult: + """Handle the encryption key step.""" + errors: dict[str, str] = {} + name: str = self.context["title_placeholders"]["name"] - async def async_step_bluetooth_confirm( - self, user_input: dict[str, Any] | None = None - ): - """Confirm discovery of Bluetooth device.""" if user_input is not None: - - # Perform device interrogation to get real metadata - _LOGGER.debug("Interrogating device %s for metadata", self._discovered_device["address"]) - try: - # Get protocol handler for this device - protocol = get_protocol_by_manufacturer_id( - 9286 if self._discovered_device["protocol_type"] == "open_display" else 4919 - ) - - # Interrogate device using protocol-specific method - fw_info: dict[str, Any] | None = None - - async with BLEConnection( - self.hass, - self._discovered_device["address"], - protocol.service_uuid, - protocol - ) as conn: - capabilities = await protocol.interrogate_device(conn) - # OpenDisplay devices expose firmware version via 0x0043 - if self._discovered_device["protocol_type"] == "open_display": - try: - fw_info = await protocol.read_firmware_version(conn) - except Exception as fw_err: - _LOGGER.warning( - "Failed to read firmware version for %s: %s", - self._discovered_device["address"], - fw_err, - ) - - _LOGGER.debug("Device capabilities: %s", capabilities) - - # Interrogation must succeed - no fallback - if not capabilities: - raise ConfigValidationError( - translation_domain=DOMAIN, - translation_key="config_flow_invalid_config" + key: str = _ENCRYPTION_KEY_VALIDATOR(user_input[CONF_ENCRYPTION_KEY]) + except vol.Invalid: + errors[CONF_ENCRYPTION_KEY] = "invalid_key_format" + else: + if TYPE_CHECKING: + assert self.unique_id is not None + if await self._async_try_connection( + self.unique_id, bytes.fromhex(key), errors + ): + return self.async_create_entry( + title=name, + data={CONF_ENCRYPTION_KEY: key}, ) - # Generate model name based on protocol type - hw_type = self._discovered_device["hw_type"] - - if self._discovered_device["protocol_type"] == "open_display": - # OpenDisplay devices: Store complete config, generate model name from DisplayConfig - from .ble.tlv_parser import config_to_dict, generate_model_name - - if hasattr(protocol, '_last_config') and protocol._last_config: - # Store complete OpenDisplay config for future use - device_metadata = { - "open_display_config": config_to_dict(protocol._last_config), - } - if fw_info: - device_metadata["fw_version"] = fw_info.get("version") - device_metadata["fw_version_raw"] = fw_info.get("raw") - if fw_info.get("sha"): - device_metadata["fw_sha"] = fw_info["sha"] - - # Generate model name from display config - if protocol._last_config.displays: - model_name = generate_model_name(protocol._last_config.displays[0]) - device_metadata["model_name"] = model_name - _LOGGER.debug("Generated model name from config: %s", model_name) - else: - _LOGGER.warning("OpenDisplay config has no display config") - else: - # Fallback if config unavailable (shouldn't happen for OpenDisplay) - model_name = get_hw_string(hw_type) if hw_type else "Unknown" - _LOGGER.warning("OpenDisplay config unavailable, using tagtypes fallback: %s", model_name) - # Store individual fields as fallback - device_metadata = { - "hw_type": hw_type, - "fw_version": self._discovered_device["fw_version"], - "width": capabilities.width, - "height": capabilities.height, - "rotatebuffer": capabilities.rotatebuffer, - "color_scheme": capabilities.color_scheme, - "model_name": model_name, - } - else: - # ATC devices: Use tagtypes.json lookup and store individual fields - # Try to get tag types manager, but don't fail if unavailable - tag_types_manager = None - try: - tag_types_manager = await get_tag_types_manager(self.hass) - _LOGGER.debug("Tag types manager loaded successfully") - except Exception as tag_err: - _LOGGER.warning( - "Could not load tag types during config flow, will use fallback values: %s", - tag_err - ) - - model_name = get_hw_string(hw_type) if hw_type else "Unknown" - _LOGGER.debug("Resolved hw_type %s to model: %s", hw_type, model_name) - - # Refine color_scheme using TagTypes db if available - if tag_types_manager and tag_types_manager.is_in_hw_map(hw_type): - tag_type = await tag_types_manager.get_tag_info(hw_type) - color_table = tag_type.color_table - - if 'yellow' in color_table and 'red' in color_table: - color_scheme = 3 # BWRY - elif 'yellow' in color_table: - color_scheme = 2 # BWY - elif 'red' in color_table: - color_scheme = 1 # BWR - else: - color_scheme = 0 # BW - else: - # Fallback to protocol detection - color_scheme = capabilities.color_scheme - if not tag_types_manager: - _LOGGER.info( - "Tag types not available, using protocol-detected color_scheme: %d", - color_scheme - ) - else: - _LOGGER.warning( - "hw_type %s not in TagTypes, using protocol color_scheme: %d", - hw_type, color_scheme - ) - - # Build device metadata from capabilities - device_metadata = { - "hw_type": hw_type, - "fw_version": self._discovered_device["fw_version"], - "width": capabilities.width, - "height": capabilities.height, - "rotatebuffer": capabilities.rotatebuffer, - "color_scheme": color_scheme, - "model_name": model_name, - } - - return self.async_create_entry( - title=self._discovered_device['name'], - data={ - "mac_address": self._discovered_device["address"], - "name": self._discovered_device["name"], - "device_metadata": device_metadata, - "device_type": "ble", - "protocol_type": self._discovered_device["protocol_type"], # Store protocol - "send_welcome_image": True, - } - ) - - except ConfigValidationError as e: - _LOGGER.error("Invalid device configuration: %s", e) - return self.async_show_form( - step_id="bluetooth_confirm", - errors={"base": "invalid_device_config"}, - description_placeholders=self._bluetooth_description_placeholders(), - ) - - except (BLEConnectionError, BLEProtocolError) as e: - _LOGGER.error("Error during device interrogation: %s", e) - return self.async_show_form( - step_id="bluetooth_confirm", - errors={"base": "interrogation_failed"}, - description_placeholders=self._bluetooth_description_placeholders(str(e)), - ) - - except Exception as e: - _LOGGER.error("Unexpected error during device interrogation: %s", e) - return self.async_show_form( - step_id="bluetooth_confirm", - errors={"base": "interrogation_failed"}, - description_placeholders=self._bluetooth_description_placeholders(str(e)), - ) - - # Build description placeholders from advertising data - description_placeholders = self._bluetooth_description_placeholders() - - return self.async_show_form( - step_id="bluetooth_confirm", - description_placeholders=description_placeholders, - ) - - async def async_step_dhcp( - self, discovery_info: DhcpServiceInfo - ): - """Handle DHCP discovery of OEPL AP.""" - _LOGGER.debug( - "DHCP Discovery - Hostname: '%s', IP: %s, MAC: %s", - discovery_info.hostname, - discovery_info.ip, - discovery_info.macaddress, - ) - - # Extract host IP from discovery info - host = discovery_info.ip - - # Check for existing AP entries in config entries - # AP entries have CONF_HOST in data, BLE entries have device_type - for entry in self._async_current_entries(): - if CONF_HOST in entry.data: - return self.async_abort(reason="single_instance_allowed") - - # Set unique_id to IP address (same as manual setup) - # This ensures DHCP and manual discoveries are treated as the same entry - await self.async_set_unique_id(host) - - # Check if this IP was already configured - self._abort_if_unique_id_configured() - - # Store discovery info for confirmation step - self._dhcp_discovery_info = discovery_info - self._host = host - - # Validate connectivity before showing confirmation - info, error = await self._validate_input(host) - - if error: - _LOGGER.warning( - "DHCP discovered AP at %s failed validation: %s", - host, - error, - ) - return self.async_abort(reason="cannot_connect") - - # Set discovery context for proper display in UI - self.context["title_placeholders"] = { - "name": f"OEPL AP ({host})", - } - - return await self.async_step_dhcp_confirm() - - async def async_step_dhcp_confirm( - self, user_input: dict[str, Any] | None = None - ): - """Confirm DHCP discovery of OEPL AP.""" - if user_input is not None: - # User confirmed - create the config entry - return self.async_create_entry( - title=f"OEPL AP ({self._host})", - data={CONF_HOST: self._host}, - ) - - # Build description placeholders for the confirmation form - description_placeholders = { - "hostname": self._dhcp_discovery_info.hostname, - "ip": self._host, - "mac": self._dhcp_discovery_info.macaddress, - } - return self.async_show_form( - step_id="dhcp_confirm", - description_placeholders=description_placeholders, + step_id="encryption_key", + data_schema=vol.Schema({vol.Required(CONF_ENCRYPTION_KEY): str}), + description_placeholders={"name": name}, + errors=errors, ) + async def async_step_reauth( + self, entry_data: Mapping[str, Any] + ) -> ConfigFlowResult: + """Handle re-authentication.""" + return await self.async_step_reauth_confirm() - @staticmethod - @callback - def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: - """Create the options flow handler. - - Returns an instance of the OptionsFlowHandler to manage the - integration's configuration options. - - Args: - config_entry: The current configuration entry - - Returns: - OptionsFlow: The options flow handler - """ - return OptionsFlowHandler() - -class OptionsFlowHandler(config_entries.OptionsFlow): - """Handle OpenDisplay integration options. - - Provides a UI for configuring integration options including: - - - Tag blacklisting to hide unwanted devices - - Button and NFC debounce intervals to prevent duplicate triggers - - Custom font directories for the image generation system - - The options flow fetches current tag data from the hub to - populate the selection fields with accurate information. - """ - - def __init__(self) -> None: - """Initialize options flow. - - The config_entry is now provided automatically by the base OptionsFlow class. - Option values will be extracted in async_step_init when needed. - """ - # Option values will be initialized when needed in async_step_init - self._blacklisted_tags = [] - self._button_debounce = 0.5 - self._nfc_debounce = 1.0 - self._custom_font_dirs = "" - - async def async_step_init(self, user_input=None): - """Manage OpenDisplay options. - - Presents a form with configuration options for the integration. - When submitted, updates the config entry with the new options. - - This step retrieves a list of available tags from the hub to - allow selection of tags to blacklist. - - Args: - user_input: User-provided input data, or None on first display - - Returns: - FlowResult: Flow result showing the form or saving options - """ - self._blacklisted_tags = self.config_entry.options.get("blacklisted_tags", []) - self._button_debounce = self.config_entry.options.get("button_debounce", 0.5) - self._nfc_debounce = self.config_entry.options.get("nfc_debounce", 1.0) - self._custom_font_dirs = self.config_entry.options.get("custom_font_dirs", "") - - # Check if this is a BLE device - entry_data = self.config_entry.runtime_data - is_ble_device = is_ble_entry(entry_data) - - if is_ble_device: - # BLE devices don't have configurable options - return self.async_abort(reason="no_options_ble") + async def async_step_reauth_confirm( + self, user_input: dict[str, Any] | None = None + ) -> ConfigFlowResult: + """Handle reauth confirmation.""" + reauth_entry = self._get_reauth_entry() + errors: dict[str, str] = {} if user_input is not None: - # Update blacklisted tags - return self.async_create_entry( - title="", - data={ - "blacklisted_tags": user_input.get("blacklisted_tags", []), - "button_debounce": user_input.get("button_debounce", 0.5), - "nfc_debounce": user_input.get("nfc_debounce", 1.0), - "custom_font_dirs": user_input.get("custom_font_dirs", ""), - } - ) - - # Get list of all known tags from the hub (AP devices only) - hub = entry_data - tags = [] - for tag_mac in hub.tags: - tag_data = hub.get_tag_data(tag_mac) - tag_name = tag_data.get("tag_name", tag_mac) - tags.append( - selector.SelectOptionDict( - value=tag_mac, - label=f"{tag_name} ({tag_mac})" - ) - ) + key: str | None = None + if user_input[CONF_ENCRYPTION_KEY].strip(): + try: + key = _ENCRYPTION_KEY_VALIDATOR(user_input[CONF_ENCRYPTION_KEY]) + except vol.Invalid: + errors[CONF_ENCRYPTION_KEY] = "invalid_key_format" + + if not errors: + address = reauth_entry.unique_id + if TYPE_CHECKING: + assert address is not None + if await self._async_try_connection( + address, bytes.fromhex(key) if key is not None else None, errors + ): + new_data = dict(reauth_entry.data) + if key is not None: + new_data[CONF_ENCRYPTION_KEY] = key + else: + new_data.pop(CONF_ENCRYPTION_KEY, None) + return self.async_update_reload_and_abort( + reauth_entry, + data=new_data, + ) return self.async_show_form( - step_id="init", - data_schema=vol.Schema({ - vol.Optional( - "blacklisted_tags", - default=self._blacklisted_tags, - ): selector.SelectSelector( - selector.SelectSelectorConfig( - options=tags, - multiple=True, - mode=selector.SelectSelectorMode.DROPDOWN - ) - ), - vol.Optional( - "button_debounce", - default=self._button_debounce, - ): selector.NumberSelector( - selector.NumberSelectorConfig( - min=0.0, - max=5.0, - step=0.1, - unit_of_measurement="s", - mode=selector.NumberSelectorMode.SLIDER - ) - ), - vol.Optional( - "nfc_debounce", - default=self._nfc_debounce, - ): selector.NumberSelector( - selector.NumberSelectorConfig( - min=0.0, - max=5.0, - step=0.1, - unit_of_measurement="s", - mode=selector.NumberSelectorMode.SLIDER - ) - ), - vol.Optional( - "custom_font_dirs", - default=self._custom_font_dirs, - description={ - "suggested_value": None - } - ): selector.TextSelector( - selector.TextSelectorConfig( - type=TextSelectorType.TEXT, - autocomplete="path" - ) - ), - }), + step_id="reauth_confirm", + data_schema=vol.Schema( + {vol.Optional(CONF_ENCRYPTION_KEY, default=""): str} + ), + description_placeholders={"name": reauth_entry.title}, + errors=errors, ) diff --git a/custom_components/opendisplay/const.py b/custom_components/opendisplay/const.py index 4f58b5d..664f7e8 100644 --- a/custom_components/opendisplay/const.py +++ b/custom_components/opendisplay/const.py @@ -1,112 +1,4 @@ -DOMAIN = "opendisplay" -SIGNAL_TAG_UPDATE = f"{DOMAIN}_tag_update" -SIGNAL_TAG_IMAGE_UPDATE = f"{DOMAIN}_tag_image_update" -SIGNAL_AP_UPDATE = f"{DOMAIN}_ap_update" -OPENDISPLAY_CONFIG_URL = "https://opendisplay.org/firmware/config/" -ATC_CONFIG_URL = "https://atc1441.github.io/ATC_BLE_OEPL_Image_Upload.html" +"""Constants for the OpenDisplay integration.""" -# Fallback tag type definitions -# These definitions are automatically synced from OpenEPaperLink repository -# See: https://github.com/OpenEPaperLink/OpenEPaperLink/tree/master/resources/tagtypes -FALLBACK_TAG_DEFINITIONS = { - 0: {"version": 4, "name": "M2 1.54\"", "width": 152, "height": 152}, - 1: {"version": 5, "name": "M2 2.9\"", "width": 296, "height": 128}, - 2: {"version": 5, "name": "M2 4.2\"", "width": 400, "height": 300}, - 3: {"version": 7, "name": "M2 2.2\"", "width": 212, "height": 104}, - 4: {"version": 4, "name": "M2 2.6\"", "width": 296, "height": 152}, - 5: {"version": 4, "name": "M2 7.4\"", "width": 640, "height": 384}, - 6: {"version": 4, "name": "Opticon 2.2\"", "width": 250, "height": 128}, - 7: {"version": 4, "name": "Opticon 2.9\"", "width": 296, "height": 128}, - 8: {"version": 2, "name": "Opticon 4.2\"", "width": 400, "height": 300}, - 9: {"version": 2, "name": "Opticon 7.5\"", "width": 640, "height": 384}, - 17: {"version": 3, "name": "M2 2.9\" (UC8151)", "width": 296, "height": 128}, - 18: {"version": 3, "name": "M2 4.2\" UC", "width": 400, "height": 300}, - 33: {"version": 2, "name": "ST‐GM29XXF 2.9\"", "width": 296, "height": 128}, - 34: {"version": 2, "name": "M2 2.7\"", "width": 264, "height": 176}, - 38: {"version": 1, "name": "M2 7.5\" BW", "width": 640, "height": 384}, - 39: {"version": 3, "name": "ST‐GM29MT1 2.9\"", "width": 296, "height": 128}, - 40: {"version": 2, "name": "M3 1.6\" BWRY", "width": 168, "height": 168}, - 41: {"version": 1, "name": "M3 2.4\" BWRY", "width": 296, "height": 168}, - 42: {"version": 1, "name": "M3 3.0\" BWRY", "width": 400, "height": 168}, - 43: {"version": 1, "name": "M3 2.9\" BWRY", "width": 384, "height": 168}, - 44: {"version": 1, "name": "M3 4.3\" BWRY", "width": 522, "height": 152}, - 45: {"version": 2, "name": "M3 12.2\"", "width": 960, "height": 768}, - 46: {"version": 5, "name": "M3 9.7\"", "width": 960, "height": 672}, - 47: {"version": 4, "name": "M3 4.3\"", "width": 522, "height": 152}, - 48: {"version": 2, "name": "M3 1.6\"", "width": 200, "height": 200}, - 49: {"version": 1, "name": "M3 2.2\"", "width": 296, "height": 160}, - 50: {"version": 1, "name": "M3 2.6\"", "width": 360, "height": 184}, - 51: {"version": 3, "name": "M3 2.9\"", "width": 384, "height": 168}, - 52: {"version": 2, "name": "M3 4.2\"", "width": 400, "height": 300}, - 53: {"version": 2, "name": "M3 6.0\"", "width": 600, "height": 448}, - 54: {"version": 5, "name": "M3 7.5\"", "width": 800, "height": 480}, - 55: {"version": 3, "name": "M3 11.6\"", "width": 960, "height": 640}, - 56: {"version": 1, "name": "M3 8.2\" BWRY", "width": 1024, "height": 576}, - 60: {"version": 4, "name": "M3 4.2\" BWY", "width": 400, "height": 300}, - 64: {"version": 1, "name": "M3 2.9\" BW", "width": 384, "height": 168}, - 65: {"version": 1, "name": "M3 5.85\"", "width": 792, "height": 272}, - 66: {"version": 1, "name": "M3 5.85\" BW", "width": 792, "height": 272}, - 67: {"version": 2, "name": "M3 1.3\" Peghook", "width": 144, "height": 200}, - 68: {"version": 2, "name": "M3 5.81\" BW", "width": 720, "height": 256}, - 69: {"version": 3, "name": "M3 2.2 Lite\"", "width": 250, "height": 128}, - 70: {"version": 1, "name": "M3 2.2\" BW", "width": 296, "height": 160}, - 71: {"version": 4, "name": "M3 2.7\"", "width": 300, "height": 200}, - 72: {"version": 1, "name": "M3 5.81\" BWR", "width": 720, "height": 256}, - 73: {"version": 2, "name": "M3 5.81\" V2 BWR", "width": 720, "height": 256}, - 74: {"version": 1, "name": "M3 1.6\" 200px BWRY", "width": 200, "height": 200}, - 75: {"version": 1, "name": "M3 2.2\" BWRY", "width": 296, "height": 160}, - 76: {"version": 1, "name": "M3 7.5\" BWRY", "width": 800, "height": 480}, - 77: {"version": 3, "name": "M3 11.6\" BWRY", "width": 960, "height": 640}, - 78: {"version": 2, "name": "M3 2.6\" BW", "width": 360, "height": 184}, - 79: {"version": 1, "name": "M3 2.6\" BWRY", "width": 360, "height": 184}, - 80: {"version": 4, "name": "HD150 5.83\" BWR", "width": 648, "height": 480}, - 83: {"version": 3, "name": "M3 3.5\" BWRY RTL", "width": 480, "height": 224}, - 84: {"version": 4, "name": "HS BW 2.13\"", "width": 256, "height": 128}, - 85: {"version": 5, "name": "HS BWR 2.13\"", "width": 256, "height": 128}, - 86: {"version": 6, "name": "HS BWR 2.66\"", "width": 296, "height": 152}, - 87: {"version": 3, "name": "TLSR BWR 1.54\"", "width": 200, "height": 200}, - 88: {"version": 3, "name": "TLSR BW 2.13\"", "width": 256, "height": 128}, - 89: {"version": 3, "name": "TLSR BWR 2.13\"", "width": 264, "height": 136}, - 90: {"version": 1, "name": "HS BW 2.13\" LowRes", "width": 212, "height": 104}, - 96: {"version": 6, "name": "HS BWY 3.5\"", "width": 384, "height": 184}, - 97: {"version": 4, "name": "HS BWR 3.5\"", "width": 384, "height": 184}, - 98: {"version": 4, "name": "HS BW 3.5\"", "width": 384, "height": 184}, - 99: {"version": 6, "name": "TLSR BWR 4.2\"", "width": 400, "height": 300}, - 102: {"version": 2, "name": "HS BWY 7,5\"", "width": 800, "height": 480}, - 103: {"version": 3, "name": "HS 2.00\" BWY", "width": 152, "height": 200}, - 104: {"version": 4, "name": "HS BWY 3.46\"", "width": 480, "height": 176}, - 105: {"version": 4, "name": "TLSR BW 2.13\"", "width": 250, "height": 136}, - 106: {"version": 1, "name": "HS BWR 5,83\"", "width": 648, "height": 480}, - 107: {"version": 3, "name": "HS BWRY 7,5\"", "width": 800, "height": 480}, - 108: {"version": 3, "name": "HS BWRY 2,00\"", "width": 152, "height": 200}, - 109: {"version": 3, "name": "HS BWRY 3,5\"", "width": 384, "height": 184}, - 110: {"version": 3, "name": "HS BWRY 2,9\"", "width": 296, "height": 128}, - 111: {"version": 2, "name": "HS BWRY 2,60\"", "width": 296, "height": 152}, - 112: {"version": 1, "name": "HS 2.9\" HighRes", "width": 384, "height": 168}, - 113: {"version": 1, "name": "HS 2.13\" BWR High Res", "width": 296, "height": 144}, - 128: {"version": 1, "name": "Chroma 7.4\"", "width": 640, "height": 384}, - 129: {"version": 2, "name": "Chroma Aeon 74 7.4\"", "width": 800, "height": 480}, - 130: {"version": 2, "name": "Chroma29 2.9\"", "width": 296, "height": 128}, - 131: {"version": 2, "name": "Chroma42 4.2\"", "width": 400, "height": 300}, - 144: {"version": 3, "name": "M3 4.2\" BWRY", "width": 400, "height": 300}, - 145: {"version": 1, "name": "M3 1.6\" 200px BWRY", "width": 200, "height": 200}, - 176: {"version": 5, "name": "Gicisky BLE EPD BW 2.13\"", "width": 250, "height": 128}, - 177: {"version": 5, "name": "Gicisky BLE EPD BWR 2.13\"", "width": 250, "height": 128}, - 178: {"version": 2, "name": "Gicisky BLE EPD BW 2.9\"", "width": 296, "height": 128}, - 179: {"version": 2, "name": "Gicisky BLE EPD BWR 2.9\"", "width": 296, "height": 128}, - 181: {"version": 2, "name": "Gicisky BLE EPD BWR 4.2\"", "width": 400, "height": 300}, - 186: {"version": 5, "name": "Gicisky BLE TFT 2.13\"", "width": 250, "height": 136}, - 189: {"version": 2, "name": "BLE EPD BWR 2.9\" Silabs", "width": 384, "height": 168}, - 190: {"version": 1, "name": "ATC MiThermometer BLE", "width": 6, "height": 8}, - 192: {"version": 2, "name": "BWRY example", "width": 360, "height": 184}, - 193: {"version": 1, "name": "ACeP 4.01", "width": 640, "height": 400}, - 194: {"version": 1, "name": "Spectra 7.3", "width": 800, "height": 480}, - 224: {"version": 2, "name": "TFT 320x172", "width": 320, "height": 172}, - 225: {"version": 2, "name": "TFT 160x80", "width": 160, "height": 80}, - 226: {"version": 1, "name": "LILYGO TPANEL 4\"", "width": 480, "height": 480}, - 227: {"version": 1, "name": "GDEM1085Z51 10.85\"", "width": 1360, "height": 480}, - 228: {"version": 1, "name": "BLE TFT 128x128", "width": 128, "height": 128}, - 229: {"version": 1, "name": "TFT 240x320", "width": 320, "height": 172}, - 240: {"version": 2, "name": "SLT‐EM007 Segmented", "width": 0, "height": 0}, - 250: {"version": 1, "name": "ConfigMode", "width": 0, "height": 0}, -} +DOMAIN = "opendisplay" +CONF_ENCRYPTION_KEY = "encryption_key" diff --git a/custom_components/opendisplay/coordinator.py b/custom_components/opendisplay/coordinator.py index a83408d..ab65f0e 100644 --- a/custom_components/opendisplay/coordinator.py +++ b/custom_components/opendisplay/coordinator.py @@ -1,1469 +1,88 @@ -import asyncio -import inspect -from datetime import datetime, timedelta, timezone -from typing import Final, Dict, Any, Callable, Awaitable +"""Passive BLE coordinator for OpenDisplay devices.""" -import json -import requests -import aiohttp -import async_timeout -import websockets -from homeassistant.config_entries import ConfigEntry -from homeassistant.const import EVENT_HOMEASSISTANT_STOP -from homeassistant.core import HomeAssistant, CALLBACK_TYPE -from homeassistant.exceptions import ConfigEntryNotReady, HomeAssistantError -from homeassistant.helpers.aiohttp_client import async_get_clientsession -from homeassistant.helpers.dispatcher import async_dispatcher_send -from homeassistant.helpers.storage import Store -from homeassistant.helpers import device_registry as dr -from homeassistant.helpers import entity_registry as er +from dataclasses import dataclass, field import logging -from .const import DOMAIN, SIGNAL_AP_UPDATE, SIGNAL_TAG_UPDATE, SIGNAL_TAG_IMAGE_UPDATE -from .tag_types import get_tag_types_manager, get_hw_string +from opendisplay import MANUFACTURER_ID, AdvertisementTracker, parse_advertisement +from opendisplay.models.advertisement import AdvertisementData, ButtonChangeEvent -_LOGGER: Final = logging.getLogger(__name__) +from homeassistant.components.bluetooth import ( + BluetoothChange, + BluetoothScanningMode, + BluetoothServiceInfoBleak, +) +from homeassistant.components.bluetooth.passive_update_coordinator import ( + PassiveBluetoothDataUpdateCoordinator, +) +from homeassistant.core import HomeAssistant, callback +_LOGGER: logging.Logger = logging.getLogger(__package__) -STORAGE_VERSION = 1 -STORAGE_KEY = f"{DOMAIN}_tags" -RECONNECT_INTERVAL = 30 -SAVE_DELAY = 10 -WEBSOCKET_TIMEOUT = 60 -CONNECTION_TIMEOUT = 10 +@dataclass +class OpenDisplayUpdate: + """Parsed advertisement data for one OpenDisplay device.""" + address: str + advertisement: AdvertisementData + button_events: list[ButtonChangeEvent] = field(default_factory=list) -class Hub: - """Central communication manager for OpenDisplay integration. +class OpenDisplayCoordinator(PassiveBluetoothDataUpdateCoordinator): + """Coordinator for passive BLE advertisement updates from an OpenDisplay device.""" - This class manages all interaction with the OEPL Access Point (AP), - including: - - - WebSocket connection for real-time updates - - Tag data management and state tracking - - AP configuration and status monitoring - - Event handling for tag interactions (buttons, NFC) - - Persistent storage of tag data - - The Hub maintains the primary state for all tags and the AP itself, - serving as the data source for all entities in the integration. - - It serves as a coordinator for all tag related updates, - but it does not make sense converting it to a DataUpdateCoordinator, - which would be pulling, not pushing. - - Attributes: - hass: Home Assistant instance - entry: Config entry containing connection details - host: Hostname or IP of the OEPL AP - online: Boolean indicating if the AP is currently connected - tags: List of known tag MAC addresses - ap_config: Dictionary of current AP configuration settings - ap_status: Dictionary of current AP status information - """ - def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: - """Handle WebSocket connection and process incoming messages. - - Manages the lifecycle of the WebSocket connection, including: - - - Establishing initial connection to the AP - - Processing incoming messages (tag updates, AP status, etc.) - - Handling connection errors and implementing reconnection logic - - Broadcasting connection state changes to entities - - This is a long-running task that continues until shutdown is triggered. - When connection errors occur, it implements a reconnection strategy - with a fixed interval defined by RECONNECT_INTERVAL. - - Raises: - No exceptions are raised as they are caught and logged internally. - """ - self.hass = hass - self.entry = entry - self.host = entry.data["host"] - self._ws_task: asyncio.Task | None = None - self._ws_client: websockets.WebSocketClientProtocol | None = None - self._cleanup_task: asyncio.Task | None = None - self._shutdown = asyncio.Event() - self._session = async_get_clientsession(hass) - self._shutdown_handler: CALLBACK_TYPE | None = None - self._shutdown = asyncio.Event() - self._store = Store[dict[str, any]]( - hass, STORAGE_VERSION, STORAGE_KEY, private=True, atomic_writes=True - ) - self._data: dict[str, dict] = {} - self._ap_data: dict[str, any] = {} - self.ap_config: dict[str, any] = {} - self._known_tags: set[str] = set() - self._last_record_count = None - self.ap_env = None - self.ap_model = "ESP32" - - self._unsub_callbacks: list[CALLBACK_TYPE] = [] - self.online = False - self._reconnect_task: asyncio.Task | None = None - self._tag_manager = None - self._tag_manager_ready = asyncio.Event() - self._blacklisted_tags = entry.options.get("blacklisted_tags", []) - self._last_button_press: Dict[str, datetime] = {} - self._button_debounce_interval = timedelta(seconds=0.5) - self._nfc_last_scan: Dict[str, datetime] = {} - self._nfc_debounce_interval = timedelta(seconds=1) - self._update_debounce_interval() - self._ap_cmd_sem = asyncio.Semaphore(1) - self._ap_cmd_cooldown = 0.5 - - def _update_debounce_interval(self) -> None: - """Update event debounce intervals from integration options. - - Reads the button_debounce and nfc_debounce values from the - integration's configuration options and updates the internal - debounce interval time deltas accordingly. - - This prevents rapid duplicate events from buttons or NFC scans - by setting minimum time intervals between consecutive events. - """ - button_debounce_seconds = self.entry.options.get("button_debounce", 0.5) - nfc_debounce_seconds = self.entry.options.get("nfc_debounce", 1.0) - self._button_debounce_interval = timedelta(seconds=button_debounce_seconds) - self._nfc_debounce_interval = timedelta(seconds=nfc_debounce_seconds) - - async def async_reload_config(self) -> None: - """Reload configuration from config entry. - - Updates hub settings based on changes to the config entry options: - - - Reloads the tag blacklist - - Updates debounce intervals for buttons and NFC - - This is called when the integration options are updated through - the configuration flow. - """ - await self.async_reload_blacklist() - self._update_debounce_interval() - - async def async_setup_initial(self) -> None: - """Set up hub without establishing a WebSocket connection. - - Performs the initial setup tasks: - - - Loads stored tag data from persistent storage - - Initializes the tag type manager - - Registers the shutdown handler - - Fetches AP info and loads tags from the AP - - This is called during integration setup before the platforms - are loaded, allowing entities to be created with initial state. - - Raises: - ConfigEntryNotReady: If AP is unreachable or tag loading fails - """ - # Load stored data - stored = await self._store.async_load() - if stored: - self._data = stored.get("tags", {}) - self._known_tags = set(self._data.keys()) - _LOGGER.debug("Restored %d tags from storage", len(self._known_tags)) - - # Initialize tag manager - self._tag_manager = await get_tag_types_manager(self.hass) - self._tag_manager_ready.set() - - # Register shutdown handler only once - if self._shutdown_handler is None: - self._shutdown_handler = self.hass.bus.async_listen_once( - EVENT_HOMEASSISTANT_STOP, - self._handle_shutdown - ) - - # Fetch AP info - raises on failure (timeout, connection error, HTTP error) - try: - await self.async_update_ap_info() - except (aiohttp.ClientError, asyncio.TimeoutError) as err: - raise ConfigEntryNotReady( - translation_domain=DOMAIN, - translation_key="ap_cannot_connect", - translation_placeholders={"host": self.host, "err": str(err)}, - ) from err - - # Load tags from AP - already has 10 retries built-in - # If this fails after retries, something is wrong with the AP - try: - await self.async_load_all_tags() - except Exception as err: - raise ConfigEntryNotReady( - translation_domain=DOMAIN, - translation_key="ap_failed_load_tags", - translation_placeholders={"host": self.host, "err": str(err)}, - ) from err - - async def async_start_websocket(self) -> bool: - """Start WebSocket connection to the AP. - - Establishes the WebSocket connection for real-time updates from the AP. - If a previous connection exists, it's cancelled before starting a new one. - - The method waits for the connection to be established or for the - CONNECTION_TIMEOUT to expire before returning. - - Returns: - bool: True if connection was successfully established, False otherwise - """ - if self._ws_task and not self._ws_task.done(): - self._ws_task.cancel() - try: - await self._ws_task - except asyncio.CancelledError: - pass - - # Clear the shutdown flag when starting - self._shutdown.clear() - - self._ws_task = self.hass.async_create_task( - self._websocket_handler(), - "opendisplay_websocket" + def __init__(self, hass: HomeAssistant, address: str) -> None: + """Initialize the coordinator.""" + super().__init__( + hass, + _LOGGER, + address, + BluetoothScanningMode.PASSIVE, + connectable=True, ) - - # Wait briefly to ensure connection is established - try: - async with async_timeout.timeout(CONNECTION_TIMEOUT): - while not self.online and not self._shutdown.is_set(): - await asyncio.sleep(0.1) - - if not self.online: - _LOGGER.error("Failed to establish WebSocket connection") - return False - - _LOGGER.info("WebSocket connection established successfully") - return True - - except asyncio.TimeoutError: - _LOGGER.error("Timeout while establishing WebSocket connection") - return False - - - async def _handle_shutdown(self, _) -> None: - """Handle Home Assistant shutdown event. - - Called when Home Assistant is shutting down, this method: - - - Triggers a clean shutdown of the Hub - - Clears the shutdown handler reference - - Args: - _: Event object (unused) - """ - _LOGGER.debug("Processing shutdown for OEPL hub") - await self.shutdown() - self._shutdown_handler = None - - async def shutdown(self) -> None: - """Shut down the hub and clean up resources. - - Performs a graceful shutdown of the hub: - - - Sets shutdown flag to prevent new connection attempts - - Cancels any active WebSocket connection task - - Removes event listeners and callbacks - - Updates connection status for dependent entities - - This should be called when unloading the integration. - """ - _LOGGER.debug("Shutting down OEPL hub") - - # Set shutdown flag first - self._shutdown.set() - - # Cancel WebSocket task - if self._ws_task and not self._ws_task.done(): - self._ws_task.cancel() - try: - await self._ws_task - except asyncio.CancelledError: - pass - - # Clean up other callbacks - while self._unsub_callbacks: - try: - unsub = self._unsub_callbacks.pop() - unsub() - except Exception as err: - _LOGGER.debug("Error cleaning up callback: %s", err) - - # Mark as offline - self.online = False - async_dispatcher_send(self.hass, f"{DOMAIN}_connection_status", False) - - _LOGGER.debug("OEPL hub shutdown complete") - - async def _websocket_handler(self) -> None: - """Handle WebSocket connection lifecycle and process messages. - - This is a long-running task that manages all aspects of the WebSocket - connection to the OEPL Access Point, including: - - - Establishing and maintaining the connection - - Processing incoming real-time messages from the AP - - Detecting connection failures and implementing reconnection logic - - Broadcasting connection state changes to dependent entities - - The handler implements error resilience through nested try/except blocks: - - - Outer block: Handles connection establishment and reconnection - - Inner block: Processes individual messages within an active connection - - When connection errors occur, the handler waits for RECONNECT_INTERVAL - seconds before attempting to reconnect, continuing until the hub - shutdown is signaled via the self._shutdown Event. - - Note: This method should be run as a background task and not awaited - directly, as it runs indefinitely until shutdown is triggered. - """ - while not self._shutdown.is_set(): - try: - ws_url = f"ws://{self.host}/ws" - async with self._session.ws_connect(ws_url, heartbeat=30) as ws: - self.online = True - _LOGGER.debug("Connected to websocket at %s", ws_url) - async_dispatcher_send(self.hass, f"{DOMAIN}_connection_status", True) - - # Run verification on each connection to catch deletions that happened while offline - await self._verify_and_cleanup_tags() - - while not self._shutdown.is_set(): - try: - msg = await ws.receive() - - if msg.type == aiohttp.WSMsgType.TEXT: - await self._handle_message(msg.data) - elif msg.type == aiohttp.WSMsgType.ERROR: - _LOGGER.info("WebSocket error: %s", ws) - break - elif msg.type == aiohttp.WSMsgType.CLOSING: - _LOGGER.debug("WebSocket closing") - break - elif msg.type == aiohttp.WSMsgType.CLOSED: - _LOGGER.debug("WebSocket closed") - break - except asyncio.CancelledError: - _LOGGER.debug("WebSocket task cancelled") - raise - except Exception as err: - _LOGGER.error("Error handling message: %s", err) - - except asyncio.CancelledError: - _LOGGER.debug("WebSocket connection cancelled") - raise - except aiohttp.ClientError as err: - self.online = False - _LOGGER.error("WebSocket connection error: %s", err) - async_dispatcher_send(self.hass, f"{DOMAIN}_connection_status", False) - except Exception as err: - self.online = False - _LOGGER.error("Unexpected WebSocket error: %s", err) - async_dispatcher_send(self.hass, f"{DOMAIN}_connection_status", False) - - if not self._shutdown.is_set(): - await asyncio.sleep(RECONNECT_INTERVAL) - - - def _schedule_reconnect(self) -> None: - """Schedule a WebSocket reconnection attempt. - - Creates a task to reconnect after RECONNECT_INTERVAL seconds. - If a reconnection task is already scheduled, it's cancelled first - to avoid multiple concurrent reconnection attempts. - """ - async def reconnect(): - await asyncio.sleep(RECONNECT_INTERVAL) - if not self._shutdown.is_set(): - self._ws_task = self.hass.async_create_task( - self._websocket_handler(), - f"{DOMAIN}_websocket", - ) - - if self._reconnect_task and not self._reconnect_task.done(): - self._reconnect_task.cancel() - - self._reconnect_task = self.hass.async_create_task( - reconnect(), - f"{DOMAIN}_reconnect", - ) - - async def _handle_message(self, message: str) -> None: - """Process an incoming WebSocket message from the AP. - - Parses the message JSON and routes it to the appropriate handler - based on the message type: - - - "sys" messages: AP system status updates - - "tags" messages: Individual tag status updates - - "logMsg" messages: Log information from the AP - - "errMsg" messages: Error notifications - - "apitem" messages: Configuration change notifications - - Args: - message: Raw WebSocket message string from the AP - - Raises: - No exceptions are raised as they are caught and logged internally. - """ - try: - data = json.loads("{" + message.split("{", 1)[-1]) - - if "sys" in data: - _LOGGER.debug("System message: %s", data["sys"]) - await self._handle_system_message(data["sys"]) - elif "tags" in data: - _LOGGER.debug("Tag message: %s", data["tags"][0]) - await self._handle_tag_message(data["tags"][0]) - elif "logMsg" in data: - _LOGGER.debug("OpenDisplay Log message: %s", data["logMsg"]) - await self._handle_log_message(data["logMsg"]) - elif "errMsg" in data and data["errMsg"] == "REBOOTING": - _LOGGER.debug("AP is rebooting") - self._ap_data["ap_state"] = "Offline" - async_dispatcher_send(self.hass, SIGNAL_AP_UPDATE) - self.online = False - async_dispatcher_send(self.hass, f"{DOMAIN}_connection_status", False) - - # Close WebSocket connection immediately - if self._ws_task and not self._ws_task.done(): - self._ws_task.cancel() - - # Schedule reconnection attempt after brief delay - async def delayed_reconnect(): - await asyncio.sleep(5) - if not self._shutdown.is_set(): - self._ws_task = self.hass.async_create_task( - self._websocket_handler(), - f"{DOMAIN}_websocket" - ) - - self.hass.async_create_task(delayed_reconnect(), f"{DOMAIN}_reconnect") - return - elif "apitem" in data: - # Check if this is actually a config change message - if data.get("apitem", {}).get("type") == "change": - await self._handle_ap_config_message(data) - else: - _LOGGER.debug("Ignoring non-change AP message") - else: - _LOGGER.debug("Unknown message type: %s", data) - - except json.JSONDecodeError: - _LOGGER.error("Failed to decode message: %s", message) - except Exception as err: - _LOGGER.exception("Error handling message: %s", err) - - async def _handle_system_message(self, sys_data: dict) -> None: - """Process a system message from the AP. - - Updates the AP status information based on system data, including: - - - IP address and Wi-Fi settings - - Memory usage (heap, database size) - - Tag counts and AP state - - Runtime information - - This method is called when the AP sends a "sys" WebSocket message, - which typically happens periodically or after state changes. - - Args: - sys_data: Dictionary containing AP system status information - """ - - # Preserve existing values for fields that are not in every message - current_low_batt = self._ap_data.get("low_battery_count", 0) - current_timeout = self._ap_data.get("timeout_count", 0) - - self._ap_data = { - "ip": self.host, - "sys_time": sys_data.get("currtime"), - "heap": sys_data.get("heap"), - "record_count": sys_data.get("recordcount"), - "db_size": sys_data.get("dbsize"), - "little_fs_free": sys_data.get("littlefsfree"), - "ps_ram_free": sys_data.get("psfree"), - "rssi": sys_data.get("rssi"), - "ap_state": self._get_ap_state_string(sys_data.get("apstate")), - "run_state": self._get_ap_run_state_string(sys_data.get("runstate")), - "temp": sys_data.get("temp"), - "wifi_status": sys_data.get("wifistatus"), - "wifi_ssid": sys_data.get("wifissid"), - "uptime": sys_data.get("uptime"), - "low_battery_count": sys_data.get("lowbattcount", current_low_batt), - "timeout_count": sys_data.get("timeoutcount", current_timeout), - } - - if "recordcount" in sys_data: - self._track_record_count_changes(sys_data.get("recordcount", 0)) - - async_dispatcher_send(self.hass, SIGNAL_AP_UPDATE) - - async def _handle_tag_message(self, tag_data: dict) -> None: - """Process a tag update message from the AP. - - Updates the stored information for a specific tag based on the - data received from the AP. This includes: - - - Tag status (battery, temperature, etc.) - - Scheduling information (next update, next check-in) - - Signal quality information (RSSI, LQI) - - Args: - tag_data: Dictionary containing tag properties from the AP - """ - tag_mac = tag_data.get("mac") - if not tag_mac: + self.data: OpenDisplayUpdate | None = None + self._tracker: AdvertisementTracker = AdvertisementTracker() + + @callback + def _async_handle_unavailable( + self, service_info: BluetoothServiceInfoBleak + ) -> None: + """Handle the device going unavailable.""" + if self._available: + _LOGGER.info("%s: Device is unavailable", service_info.address) + super()._async_handle_unavailable(service_info) + + @callback + def _async_handle_bluetooth_event( + self, + service_info: BluetoothServiceInfoBleak, + change: BluetoothChange, + ) -> None: + """Handle a Bluetooth advertisement event.""" + if not self._available: + _LOGGER.info("%s: Device is available again", service_info.address) + + if MANUFACTURER_ID not in service_info.manufacturer_data: + super()._async_handle_bluetooth_event(service_info, change) return - # Process tag data - is_new_tag = await self._process_tag_data(tag_mac, tag_data) - # Save to storage if this was a new tag - if is_new_tag: - await self._store.async_save({"tags": self._data}) - else: - # Schedule a save with a delay to avoid constant writes - # Will be implemented in the future - await self._store.async_save({"tags": self._data}) - - - async def _handle_log_message(self, log_msg: str) -> None: - """Process a log message from the AP. - - Parses log messages for specific events that require action: - - Block transfer requests: Updates the block_requests counter - - Transfer completion: Triggers image update notification - - Args: - log_msg: Raw log message string from the AP - """ - if "block request" in log_msg: - # Extract MAC address from block request message - # Example: "0000000000123456 block request /current/0000000000123456_452783.pending block 0" - parts = log_msg.split() - if len(parts) > 0: - tag_mac = parts[0].upper() - if tag_mac in self._data: - block_requests = self._data[tag_mac].get("block_requests", 0) + 1 - self._data[tag_mac]["block_requests"] = block_requests - # Notify of update - async_dispatcher_send(self.hass, f"{SIGNAL_TAG_UPDATE}_{tag_mac}") - if "reports xfer complete" in log_msg: - # Extract MAC address from block request message - parts = log_msg.split() - if len(parts) > 0: - tag_mac = parts[0].upper() - if tag_mac in self._data: - # Notify of update - async_dispatcher_send(self.hass, f"{SIGNAL_TAG_IMAGE_UPDATE}_{tag_mac}", True) - - async def _process_tag_data(self, tag_mac: str, tag_data: dict, is_initial_load: bool = False) -> bool: - """Process tag data and update internal state. - - Handles updates for a single tag, including: - - - Updating stored tag information - - Calculating runtime and update counters - - Managing tag discovery events - - Broadcasting update events to entities - - Triggering device events for buttons/NFC (with debouncing) - - Args: - tag_mac: MAC address of the tag - tag_data: Dictionary containing tag properties from the AP - is_initial_load: True if this is part of initial loading at startup, - which affects event triggering behavior - - Returns: - bool: True if this was a newly discovered tag, False for an update - - Raises: - No exceptions are raised as they are caught and logged internally. - """ - - # Skip blacklisted tags - if tag_mac in self._blacklisted_tags: - _LOGGER.debug("Ignoring blacklisted tag: %s", tag_mac) - return False - - # Check if this is a new tag - is_new_tag = tag_mac not in self._known_tags - - # Get existing data to calculate runtime and update counters - existing_data = self._data.get(tag_mac, {}) - - tag_name = tag_data.get("alias") or tag_mac - last_seen = tag_data.get("lastseen") - next_update = tag_data.get("nextupdate") - next_checkin = tag_data.get("nextcheckin") - lqi = tag_data.get("LQI") - rssi = tag_data.get("RSSI") - temperature = tag_data.get("temperature") - battery_mv = tag_data.get("batteryMv") - pending = tag_data.get("pending") - hw_type = tag_data.get("hwType") - hw_string = get_hw_string(hw_type) - width, height = self._tag_manager.get_hw_dimensions(hw_type) - content_mode = tag_data.get("contentMode") - wakeup_reason = self._get_wakeup_reason_string(tag_data.get("wakeupReason")) - capabilities = tag_data.get("capabilities") - hashv = tag_data.get("hash") - modecfgjson = tag_data.get("modecfgjson") - is_external = tag_data.get("isexternal") - rotate = tag_data.get("rotate") - lut = tag_data.get("lut") - channel = tag_data.get("ch") - version = tag_data.get("ver") - update_count = tag_data.get("updatecount") - - # Check if name has changed - old_name = existing_data.get("tag_name") - if old_name and old_name != tag_name: - _LOGGER.debug("Tag name changed from '%s' to '%s'", old_name, tag_name) - # Update device name in device registry - device_registry = dr.async_get(self.hass) - device = device_registry.async_get_device( - identifiers={(DOMAIN, tag_mac)} - ) - if device: - device_registry.async_update_device( - device.id, - name=tag_name - ) - - # Calculate runtime delta (only if this is not the initial load) - runtime_delta = 0 - runtime_total = existing_data.get("runtime", 0) - if not is_initial_load and existing_data: - runtime_delta = self._calculate_runtime_delta(tag_data, existing_data) - runtime_total += runtime_delta - - # Update boot count if this is a power-on event - boot_count = existing_data.get("boot_count", 1) - if not is_initial_load and wakeup_reason in [1, 252, 254]: # BOOT, FIRSTBOOT, WDT_RESET - boot_count += 1 - runtime_total = 0 # Reset runtime on boot - - # Update check-in counter - checkin_count = existing_data.get("checkin_count", 0) - if not is_initial_load: - checkin_count += 1 - - # Get existing block request count - block_requests = existing_data.get("block_requests", 0) - - # Update tag data - self._data[tag_mac] = { - "tag_mac": tag_mac, - "tag_name": tag_name, - "last_seen": last_seen, - "next_update": next_update, - "next_checkin": next_checkin, - "lqi": lqi, - "rssi": rssi, - "temperature": temperature, - "battery_mv": battery_mv, - "pending": pending, - "hw_type": hw_type, - "width": width, - "height": height, - "hw_string": hw_string, - "content_mode": self._get_content_mode_string(content_mode), - "wakeup_reason": wakeup_reason, - "capabilities": capabilities, - "hash": hashv, - "modecfgjson": modecfgjson, - "is_external": is_external, - "rotate": rotate, - "lut": lut, - "channel": channel, - "version": version, - "update_count": update_count, - "runtime": runtime_total, - "boot_count": boot_count, - "checkin_count": checkin_count, - "block_requests": block_requests, - } - - # Handle new tag discovery - if is_new_tag: - self._known_tags.add(tag_mac) - _LOGGER.debug("Discovered new tag: %s", tag_mac) - # Fire discovery event before saving - async_dispatcher_send(self.hass, f"{DOMAIN}_tag_discovered", tag_mac) - - # Fire state update event - async_dispatcher_send(self.hass, f"{SIGNAL_TAG_UPDATE}_{tag_mac}") - - # Handle wakeup event if needed and not initial load - wakeup_reason = tag_data.get("wakeupReason") - if not is_initial_load and wakeup_reason is not None: - reason_string = self._get_wakeup_reason_string(wakeup_reason) - - should_fire = True - current_time = datetime.now() - - # Apply debouncing based on event type - if reason_string in ["BUTTON1", "BUTTON2", "BUTTON3", "BUTTON4", "BUTTON5", "BUTTON6", "BUTTON7", "BUTTON8", "BUTTON9", "BUTTON10"]: - # Button debouncing - debounce_key = f"{tag_mac}_{reason_string}" - last_event = self._last_button_press.get(debounce_key) - if last_event and (current_time - last_event) <= self._button_debounce_interval: - should_fire = False - else: - self._last_button_press[debounce_key] = current_time - - elif reason_string == "NFC": - # NFC debouncing - debounce_key = f"{tag_mac}_NFC" - last_event = self._nfc_last_scan.get(debounce_key) - if last_event and (current_time - last_event) <= self._nfc_debounce_interval: - should_fire = False - else: - self._nfc_last_scan[debounce_key] = current_time - - if should_fire: - device_registry = dr.async_get(self.hass) - device = device_registry.async_get_device( - identifiers={(DOMAIN, tag_mac)} - ) - if device: - self.hass.bus.async_fire(f"{DOMAIN}_event", { - "device_id": device.id, - "type": reason_string - }) - - return is_new_tag - - async def _run_ap_command(self, func: Callable[[], Any | Awaitable[Any]]) -> Any: - async with self._ap_cmd_sem: - if self._ap_cmd_cooldown: - await asyncio.sleep(self._ap_cmd_cooldown) - # If it’s a coroutine function, await it; otherwise run in executor - if inspect.iscoroutinefunction(func): - return await func() - return await self.hass.async_add_executor_job(func) - - async def _ap_request(self, method: str, path: str, *, data=None, timeout=10, action: str) -> requests.Response: - url = f"http://{self.host}/{path.lstrip('/')}" - def call(): - return requests.request(method, url, data=data, timeout=timeout) try: - resp = await self._run_ap_command(call) - except requests.exceptions.Timeout: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_timeout_action", - translation_placeholders={"action": action}, - ) from None - except requests.exceptions.RequestException as err: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_network_error_action", - translation_placeholders={"action": action, "error": str(err)} - ) from err - if resp.status_code != 200: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_failed_action_http", - translation_placeholders={"action": action, "status": resp.status_code, "text": resp.text}, + advertisement = parse_advertisement( + service_info.manufacturer_data[MANUFACTURER_ID] + ) + except ValueError as err: + _LOGGER.debug( + "%s: Failed to parse advertisement data: %s", + service_info.address, + err, + exc_info=True, ) - return resp - - async def set_led_pattern(self, entity_id: str, pattern: str) -> None: - mac = entity_id.split(".")[1].upper() - await self._ap_request("get", f"led_flash?mac={mac}&pattern={pattern}", action=f"update LED for {entity_id}") - _LOGGER.info("Updated LED pattern for %s", entity_id) - - async def send_tag_cmd(self, entity_id: str, cmd: str) -> bool: - mac = entity_id.split(".")[1].upper() - await self._ap_request("post", "tag_cmd", data={"mac": mac, "cmd": cmd}, action=f"send {cmd} to {entity_id}") - _LOGGER.info("Sent %s command to %s", cmd, entity_id) - return True - - async def reboot_ap(self) -> bool: - await self._ap_request("post", "reboot", action="reboot OEPL AP") - _LOGGER.info("Rebooted OEPL AP") - return True - - async def set_ap_config_item(self, key: str, value: str | int) -> bool: # TODO listen to apitem for changes? - if key in ("sleeptime1", "sleeptime2"): - data = {"sleeptime1": self.ap_config.get("sleeptime1", 0), - "sleeptime2": self.ap_config.get("sleeptime2", 0), key: value} else: - data = {key: value} - - await self._ap_request( - "post", - "save_apcfg", - data=data, - action=f"set AP config {key}", - ) - for k, v in data.items(): - self.ap_config[k] = v - _LOGGER.info("Set AP config %s = %s", key, value) - return True - - async def _fetch_all_tags_from_ap(self) -> dict: - """Fetch complete list of tags from the AP database. - - Retrieves all tag data using the AP's HTTP API, handling pagination - to ensure all tags are retrieved even when there are many tags. - - The API returns tags in batches, with a continuation token - to fetch the next batch until all tags have been retrieved. - - Returns: - dict: Dictionary mapping tag MAC addresses to their complete data - - Raises: - Exception: If HTTP requests fail or return unexpected data - """ - result = {} - position = 0 - retries_left = 10 - - while True: - url = f"http://{self.host}/get_db" - if position > 0: - url += f"?pos={position}" - - try: - response = await self.hass.async_add_executor_job( - lambda: requests.get(url, timeout=10) - ) - - if response.status_code != 200: - _LOGGER.error("Failed to fetch all tags from AP: %s", response.text) - retries_left -= 1 - if retries_left <= 0: - raise Exception(f"Failed to fetch tags after multiple retries: {response.text}") - await asyncio.sleep(1) - continue - - data = response.json() - - # Add tags to set - for tag in data.get("tags", []): - if "mac" in tag: - result[tag["mac"]] = tag - - # Check for pagination - if "continu" in data and data["continu"] > 0: - position = data["continu"] - else: - break - - except Exception as err: - _LOGGER.error("Failed to fetch all tags from AP: %s", str(err)) - retries_left -= 1 - if retries_left <= 0: - raise - await asyncio.sleep(1) - continue - - return result - - async def async_load_all_tags(self) -> None: - """Load all tags from the AP at startup. - - Fetches the complete list of tags from the AP's database and: - - - Processes each tag to update internal state - - Counts new and updated tags for logging purposes - - Saves updated data to persistent storage - - This provides a complete initial state for the integration - without waiting for individual tag check-ins. - - Raises: - Exception: If fetching or processing tags fails - """ - try: - _LOGGER.info("Loading existing tags from AP...") - - # Track the number of processed tags - new_tags_count = 0 - updated_tags_count = 0 - - # Get all tag data from AP - all_tags = await self._fetch_all_tags_from_ap() - - # Process each tag using the common helper function - for tag_mac, tag_data in all_tags.items(): - # Process tag with the initial load flag set - is_new = await self._process_tag_data(tag_mac, tag_data, is_initial_load=True) - - # Update counters - if is_new: - new_tags_count += 1 - else: - updated_tags_count += 1 - - # Save to persistent storage - await self._store.async_save({"tags": self._data}) - - if new_tags_count > 0 or updated_tags_count > 0: - _LOGGER.info("Loaded %d new tags and updated %d existing tags from AP", - new_tags_count, updated_tags_count) - - except Exception as err: - _LOGGER.error("Failed to load tags from AP: %s", err) - raise - - def _track_record_count_changes(self, new_record_count: int) -> None: - """Track changes in record count to detect tag deletions. - - When the AP's record count decreases, it indicates that one or more - tags have been deleted from the AP. This method detects such changes - and schedules a verification task to identify and remove deleted tags. - - Args: - new_record_count: New record count reported by the AP - """ - if self._last_record_count is not None and new_record_count < self._last_record_count: - # Record count has decreased, indicating a possible tag deletion - _LOGGER.info(f"AP record count decreased from {self._last_record_count} to {new_record_count}. Checking for deleted tags...") - - # Cancel existing cleanup task if any - if self._cleanup_task and not self._cleanup_task.done(): - self._cleanup_task.cancel() - - # Schedule cleanup task to verify and clean up any deleted tags - self._cleanup_task = self.hass.async_create_task( - self._verify_and_cleanup_tags(), - f"{DOMAIN}_tag_verification" + button_events = self._tracker.update(service_info.address, advertisement) + self.data = OpenDisplayUpdate( + address=service_info.address, + advertisement=advertisement, + button_events=button_events, ) - # Update the last known record count - self._last_record_count = new_record_count - - async def _verify_and_cleanup_tags(self) -> None: - """Verify which tags exist on the AP and clean up deleted ones. - - Checks if any locally known tags have been deleted from the AP - and removes them from: - - - Internal data structures - - Home Assistant device and entity registries - - Persistent storage - - This ensures Home Assistant's state matches the actual AP state - when tags are removed from the AP directly. - - Raises: - No exceptions are raised as they are caught and logged internally. - """ - try: - # Get current tags from AP - ap_tags = await self._fetch_all_tags_from_ap() - - # Map tags to mac addresses - ap_macs = set(ap_tags.keys()) - - ap_macs_upper = {mac.upper() for mac in ap_macs} - known_macs_upper = {mac.upper() for mac in self._known_tags} - - # Find locally known tags that are missing from the AP - deleted_tags = known_macs_upper - ap_macs_upper - - if deleted_tags: - _LOGGER.info(f"Detected {len(deleted_tags)} deleted tags from AP: {deleted_tags}") - - # Map back to original case if needed - for tag_mac in list(self._known_tags): # Create a copy for safe iteration - if tag_mac.upper() in deleted_tags: - await self._remove_tag(tag_mac) - - except Exception as err: - _LOGGER.error(f"Error while verifying AP tags: {err}") - - async def _remove_tag(self, tag_mac: str) -> None: - """Remove a tag from HA. - - Args: - tag_mac: The MAC address of the tag to remove. - """ - _LOGGER.info(f"Removing tag {tag_mac} as it no longer exists on the AP") - - # Remove from known tags and data - if tag_mac in self._known_tags: - self._known_tags.remove(tag_mac) - self._data.pop(tag_mac, None) - - # Notify that this tag has been removed - async_dispatcher_send(self.hass, f"{SIGNAL_TAG_UPDATE}_{tag_mac}") - - # Remove related devices and entities - device_registry = dr.async_get(self.hass) - entity_registry = er.async_get(self.hass) - - # Find and remove entities for this tag - entities_to_remove = [] - devices_to_remove = set() - - for entity in entity_registry.entities.values(): - if entity.config_entry_id == self.entry.entry_id: - device = device_registry.async_get(entity.device_id) if entity.device_id else None - if device: - for identifier in device.identifiers: - if identifier[0] == DOMAIN and identifier[1] == tag_mac: - entities_to_remove.append(entity.entity_id) - devices_to_remove.add(device.id) - break - - # Remove entities - for entity_id in entities_to_remove: - entity_registry.async_remove(entity_id) - _LOGGER.debug(f"Removed entity {entity_id} for deleted tag {tag_mac}") - - # Remove devices - for device_id in devices_to_remove: - device_registry.async_remove_device(device_id) - _LOGGER.debug(f"Removed device {device_id} for deleted tag {tag_mac}") - - # Update storage - await self._store.async_save({"tags": self._data}) - - async def async_reload_blacklist(self) -> None: - """Reload the tag blacklist from config entry options. - - Updates the blacklist based on current integration options and: - - - Removes blacklisted tags from active tracking - - Triggers entity and device removal for blacklisted tags - - Updates persistent storage to reflect changes - - This is called when the integration options are updated. - """ - entry = self.entry - old_blacklist = self._blacklisted_tags.copy() - self._blacklisted_tags = entry.options.get("blacklisted_tags", []) - - # Remove blacklisted tags from known tags and data - for tag_mac in self._blacklisted_tags: - if tag_mac in self._known_tags: - self._known_tags.remove(tag_mac) - self._data.pop(tag_mac, None) - # Notify that this tag's state has changed - async_dispatcher_send(self.hass, f"{SIGNAL_TAG_UPDATE}_{tag_mac}") - - # If the blacklist has changed, trigger cleanup - if set(old_blacklist) != set(self._blacklisted_tags): - # Trigger entity and device removal - async_dispatcher_send(self.hass, f"{DOMAIN}_blacklist_update") - - # Give Home Assistant time to process removals - await asyncio.sleep(0.1) - - # Force a state refresh for all remaining tags - for tag_mac in self._known_tags: - if tag_mac not in self._blacklisted_tags: - async_dispatcher_send(self.hass, f"{SIGNAL_TAG_UPDATE}_{tag_mac}") - - # Save updated data to storage - await self._store.async_save({ - "tags": self._data - }) - - async def _handle_ap_config_message(self,dict) -> None: - """Handle AP configuration updates. - - Fetches the current AP configuration via HTTP and updates the - internal configuration state. This triggers when the AP sends - a configuration change notification. - - The method uses a hash comparison to only trigger entity updates - when the configuration actually changes. - - Args: - message: The configuration message from the AP - """ - try: - if self._shutdown.is_set(): - return - - async with aiohttp.ClientSession() as session: - async with async_timeout.timeout(10): - async with session.get(f"http://{self.host}/get_ap_config") as response: - if response.status != 200: - _LOGGER.error("Failed to fetch AP config: HTTP %s", response.status) - return - - new_config = await response.json() - - # Compare with existing config - if not hasattr(self, '_last_config_hash'): - self._last_config_hash = None - - # Create hash of new config for comparison - new_hash = hash(frozenset(new_config.items())) - - if new_hash != self._last_config_hash: - self.ap_config = new_config - self._last_config_hash = new_hash - _LOGGER.debug("AP config updated: %s", self.ap_config) - async_dispatcher_send(self.hass, f"{DOMAIN}_ap_config_update") - else: - _LOGGER.debug("AP config unchanged, skipping update") - - except asyncio.TimeoutError: - _LOGGER.error("Timeout fetching AP config") - except Exception as err: - _LOGGER.error("Failed to fetch AP config: %s", err) - - @staticmethod - def _get_wakeup_reason_string(reason: int) -> str: - """Convert numeric wakeup reason code to human-readable string. - - Maps the numeric reasons received from the AP to descriptive strings: - - - 0: "TIMED" (normal timed wakeup) - - 1: "BOOT" (device boot) - - 2: "GPIO" (GPIO trigger) - - 3: "NFC" (NFC scan) - - 4: "BUTTON1" (button 1 pressed) - - 5: "BUTTON2" (button 2 pressed) - - 6: "BUTTON3" (button 3 pressed) - - 7: "BUTTON4" (button 4 pressed) - - 8: "BUTTON5" (button 5 pressed) - - 9: "BUTTON6" (button 6 pressed) - - 10: "BUTTON7" (button 7 pressed) - - 11: "BUTTON8" (button 8 pressed) - - 12: "BUTTON9" (button 9 pressed) - - 13: "BUTTON10" (button 10 pressed) - - 252: "FIRSTBOOT" (first boot) - - 253: "NETWORK_SCAN" (network scan) - - 254: "WDT_RESET" (watchdog reset) - - Args: - reason: Numeric wakeup reason code from the tag - - Returns: - str: Human-readable reason or "UNKNOWN_{code}" if not recognized - """ - reasons = { - 0: "TIMED", - 1: "BOOT", - 2: "GPIO", - 3: "NFC", - 4: "BUTTON1", - 5: "BUTTON2", - 6: "BUTTON3", - 7: "BUTTON4", - 8: "BUTTON5", - 9: "BUTTON6", - 10: "BUTTON7", - 11: "BUTTON8", - 12: "BUTTON9", - 13: "BUTTON10", - 252: "FIRSTBOOT", - 253: "NETWORK_SCAN", - 254: "WDT_RESET" - } - return reasons.get(reason, f"UNKNOWN_{reason}") - - @staticmethod - def _get_ap_state_string(state: int) -> str: - """Convert AP state code to human-readable string. - - Maps the numeric state codes received from the AP to descriptive strings: - - - 0: "Offline" - - 1: "Online" - - 2: "Flashing" - - 3: "Waiting for reset" - - etc. - - Args: - state: Numeric AP state code - - Returns: - str: Human-readable state or "Unknown: {code}" if not recognized - """ - states = { - 0: "Offline", - 1: "Online", - 2: "Flashing", - 3: "Waiting for reset", - 4: "Requires power cycle", - 5: "Failed", - 6: "Coming online", - 7: "No radio" - } - return states.get(state, f"Unknown: {state}") - - @staticmethod - def _get_ap_run_state_string(state: int) -> str: - """Convert AP run state code to human-readable string. - - Maps the numeric run state codes received from the AP to descriptive strings: - - - 0: "Stopped" - - 1: "Paused" - - 2: "Running" - - 3: "Initializing" - - The run state indicates the operational mode of the AP's tag update system. - - Args: - state: Numeric AP run state code - - Returns: - str: Human-readable run state or "Unknown: {state}" if not recognized - """ - states = { - 0: "Stopped", - 1: "Paused", - 2: "Running", - 3: "Initializing", - } - return states.get(state, f"Unknown: {state}") - - @staticmethod - def _get_content_mode_string(mode: int) -> str: - """Convert content mode code to human-readable string. - - Maps the numeric content mode codes to descriptive strings indicating - what type of content the tag is displaying: - - - 0: "Not configured" - - 1: "Current date" - - 7: "Image URL" - - 25: "Home Assistant" - - etc. - - Args: - mode: Numeric content mode code - - Returns: - str: Human-readable content mode or "Unknown: {mode}" if not recognized - """ - modes = { - 0: "Not configured", - 1: "Current date", - 2: "Count days", - 3: "Count hours", - 4: "Current weather", - 5: "Firmware update", - 7: "Image URL", - 8: "Weather forecast", - 9: "RSS Feed", - 10: "QR Code", - 11: "Google calendar", - 12: "Remote content", - 14: "Set NFC URL", - 15: "Custom LUT", - 16: "Buienradar", - 18: "Tag Config", - 19: "JSON template", - 20: "Display a copy", - 21: "AP Info", - 22: "Static image", - 23: "Image preload", - 24: "External image", - 25: "Home Assistant", - 26: "Timestamp", - 27: "Dayahead prices", - - - } - return modes.get(mode, f"Unknown: {mode}") - - @property - def tags(self) -> list[str]: - """Return list of known tag MAC addresses. - - Provides access to the current set of tracked tag MAC addresses, - excluding those that have been blacklisted. - - Returns: - list[str]: List of MAC addresses for all known, non-blacklisted tags - """ - return list(self._known_tags) - - def get_tag_data(self, tag_mac: str) -> dict: - """Get the current data for a specific tag. - - Retrieves the complete tag data dictionary for the specified - tag MAC address, containing all properties like battery level, - temperature, status, etc. - - Args: - tag_mac: MAC address of the tag - - Returns: - dict: Complete tag data dictionary or empty dict if tag not found - """ - return self._data.get(tag_mac, {}) - - def get_blacklisted_tags(self) -> list[str]: - """Return the list of blacklisted tag MAC addresses. - - Blacklisted tags are known to the AP but ignored by Home Assistant. - This is configured through the integration's options flow. - - Returns: - list[str]: List of blacklisted tag MAC addresses - """ - return self._blacklisted_tags - - @property - def ap_status(self) -> dict: - """Get current AP status information. - - Returns a copy of the current AP status dictionary containing: - - - Connection information (IP, Wi-Fi settings) - - System metrics (heap, database size) - - Operational state (uptime, run state) - - Tag statistics (record count, low battery count) - - Returns: - dict: Copy of the current AP status dictionary - """ - return self._ap_data.copy() - - async def async_update_ap_config(self) -> None: - """Force an update of AP configuration from the AP. - - Fetches the current AP configuration settings via HTTP and - updates the internal configuration state. This will trigger - updates for any entities that display configuration values. - - Raises: - HomeAssistantError: If the AP is offline or returns an error. - """ - await self._handle_ap_config_message({"apitem": {"type": "change"}}) - - @staticmethod - def _calculate_runtime_delta(new_data: dict, existing_data: dict) -> int: - """Calculate a tag's runtime delta between check-ins. - - Determines how much runtime to add based on the difference - between last_seen timestamps, taking into account: - - - Power cycles (resets runtime counter) - - Invalid intervals (exceeding max_valid_interval) - - Args: - new_data: New tag data received from AP - existing_data: Previously stored tag data - - Returns: - int: Runtime in seconds to add to the tag's total runtime, - or 0 if the interval is invalid or a power cycle occurred - """ - last_seen_old = existing_data.get("last_seen", 0) - last_seen_new = new_data.get("lastseen", 0) - - if last_seen_old == 0: - return 0 - - time_diff = last_seen_new - last_seen_old - max_valid_interval = 600 # 10 minutes - max expected interval between check-ins - - wake_reason = new_data.get("wakeupReason") - is_power_cycle = wake_reason in [1, 252, 254] # BOOT, FIRSTBOOT, WDT_RESET - - if is_power_cycle or time_diff > max_valid_interval: - return 0 - - return time_diff - - async def async_update_ap_info(self) -> None: - """Force update of AP configuration. - - Fetches the current configuration from the AP via HTTP - and updates the internal state. This will trigger updates - for any entities that display configuration values. - - This can be called manually to refresh configuration or - is triggered automatically when the AP sends a configuration - change notification. - - Raises: - aiohttp.ClientError: If connection fails or HTTP error occurs - asyncio.TimeoutError: If request times out - """ - async with async_timeout.timeout(10): - async with self._session.get(f"http://{self.host}/sysinfo") as response: - response.raise_for_status() # Raises ClientResponseError on non-2xx - - data = await response.json() - self.ap_env = data.get("env") - self.ap_model = self._format_ap_model(self.ap_env) - - @staticmethod - def _format_ap_model(ap_env: str) -> str: - """Format the build string to a user-friendly display name. - - Converts technical model identifiers received from the AP - into human-readable device model names for display in the UI. - - For example: - - - "OpenEPaper_Mini_AP_v4" becomes "Mini AP v4" - - "ESP32_S3_16_8_YELLOW_AP" becomes "Yellow AP" - - Args: - ap_env: The raw build environment string from the AP - - Returns: - str: Human-friendly model name if known, or the original - string if no mapping exists. Returns "ESP32" if input is empty. - """ - if not ap_env: - return "ESP32" - - model_mapping = { - "ESP32_S3_C6_NANO_AP": "Nano AP", - "OpenDisplay_Mini_AP_v4": "Mini AP v4", - "OpenDisplay_ESP32-PoE-ISO_AP": "PoE ISO AP", - "ESP32_S3_16_8_LILYGO_AP": "LilyGo T-Panel S3", - "OpenDisplay_AP_and_Flasher": "AP and Flasher", - "OpenDisplay_PoE_AP": "PoE AP", - "BLE_ONLY_AP": "BLE only AP", - "OpenDisplay_Nano_TLSR": "Nano TLSR AP", - "ESP32_S3_16_8_YELLOW_AP": "Yellow AP", - } - - if ap_env in model_mapping: - return model_mapping[ap_env] - - return ap_env - - def is_tag_online(self, tag_mac: str) -> bool: - """Check if a tag is online based on AP's timeout logic. - - Uses AP timeout formula: maxsleep * 60 + 300 seconds. - - Args: - tag_mac: MAC address of the tag. - - Returns: - True if the tag is online, False if timed out or not found. - """ - if tag_mac not in self.tags: - return False - - tag_data = self.get_tag_data(tag_mac) - last_seen = tag_data.get("last_seen", 0) - - if last_seen == 0: - return False - - modecfgjson = tag_data.get("modecfgjson") - maxsleep = 60 # Default - - if modecfgjson and isinstance(modecfgjson, dict): - maxsleep = modecfgjson.get("maxsleep", 60) - - timeout_threshold = (maxsleep * 60) + 300 - current_time = datetime.now(timezone.utc).timestamp() - - return (current_time - last_seen) < timeout_threshold + super()._async_handle_bluetooth_event(service_info, change) diff --git a/custom_components/opendisplay/device_trigger.py b/custom_components/opendisplay/device_trigger.py deleted file mode 100644 index 793dcca..0000000 --- a/custom_components/opendisplay/device_trigger.py +++ /dev/null @@ -1,183 +0,0 @@ -from __future__ import annotations - -from typing import Final - -import voluptuous as vol -import logging -from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA -from homeassistant.components.homeassistant.triggers import event as event_trigger -from homeassistant.const import ( - CONF_DEVICE_ID, - CONF_DOMAIN, - CONF_PLATFORM, - CONF_TYPE, -) -from homeassistant.helpers import device_registry as dr -from .const import DOMAIN - -_LOGGER: Final = logging.getLogger(__name__) - -TRIGGER_TYPES = {"GPIO", "NFC", "BUTTON1", "BUTTON2", "BUTTON3", "BUTTON4", "BUTTON5", "BUTTON6", "BUTTON7", "BUTTON8", "BUTTON9", "BUTTON10"} - -TRIGGER_SCHEMA = DEVICE_TRIGGER_BASE_SCHEMA.extend( - { - vol.Required(CONF_TYPE): vol.In(TRIGGER_TYPES), - } -) - - -async def async_get_triggers(hass, device_id): - """Return a list of triggers for OpenDisplay devices. - - Defines all the available triggers for a specific device. - This function is called by Home Assistant when setting up - automations to let users choose which triggers to use. - - All supported trigger types (BUTTON1, BUTTON2, BUTTON3, NFC, GPIO) are - presented for each device, regardless of hardware capability. - - TODO Tag specific triggers will be implemented later. - - Args: - hass: Home Assistant instance - device_id: ID of the device to get triggers for - - Returns: - list: List of trigger dictionaries, each defining a specific - trigger that can be used in automations - """ - # device_registry = dr.async_get(hass) - # device = device_registry.async_get(device_id) - triggers = [] - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON1", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON2", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON3", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON4", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON5", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON6", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON7", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON8", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON9", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "BUTTON10", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "NFC", - }) - triggers.append({ - # Required fields of TRIGGER_BASE_SCHEMA - CONF_PLATFORM: "device", - CONF_DOMAIN: DOMAIN, - CONF_DEVICE_ID: device_id, - # Required fields of TRIGGER_SCHEMA - CONF_TYPE: "GPIO", - }) - return triggers - - -async def async_attach_trigger(hass, config, action, trigger_info): - """Attach a trigger to a specific OpenDisplay device. - - Sets up an event listener that will call the provided action - when the specified trigger event occurs. The trigger is implemented - as an event listener for the 'opendisplay_event' event type - with filtering for the specific device ID and trigger type. - - When a tag reports an event (e.g., button press), the hub converts - it to a Home Assistant event that this listener can respond to. - - Args: - hass: Home Assistant instance - config: Trigger configuration dictionary containing device_id and type - action: Action to perform when the trigger fires - trigger_info: Information about the trigger - - Returns: - function: A function that removes the listener when called - """ - event_config = event_trigger.TRIGGER_SCHEMA( - { - event_trigger.CONF_PLATFORM: "event", - event_trigger.CONF_EVENT_TYPE: "opendisplay_event", - event_trigger.CONF_EVENT_DATA: { - CONF_DEVICE_ID: config[CONF_DEVICE_ID], - CONF_TYPE: config[CONF_TYPE], - }, - } - ) - return await event_trigger.async_attach_trigger( - hass, event_config, action, trigger_info, platform_type="device" - ) diff --git a/custom_components/opendisplay/diagnostics.py b/custom_components/opendisplay/diagnostics.py index fdcce66..0fd89c3 100644 --- a/custom_components/opendisplay/diagnostics.py +++ b/custom_components/opendisplay/diagnostics.py @@ -1,111 +1,40 @@ """Diagnostics support for OpenDisplay.""" -from __future__ import annotations +import dataclasses from typing import Any from homeassistant.components.diagnostics import async_redact_data -from homeassistant.const import CONF_HOST from homeassistant.core import HomeAssistant -from .const import DOMAIN -from .coordinator import Hub -from .runtime_data import OpenDisplayConfigEntry, OpenDisplayBLERuntimeData +from . import OpenDisplayConfigEntry -# Sensitive fields to redact -TO_REDACT = { - CONF_HOST, # AP IP address - "wifi_ssid", # WiFi network name - "ip", # AP IP in status -} +TO_REDACT = {"ssid", "password", "server_url"} -# Partial redaction for MAC addresses (show last 4 chars) -def _clean_mac(mac: str) -> str: - return mac.replace(":", "").replace("-", "").upper() - - -def _redact_mac(mac: str) -> str: - if not mac: - return "**REDACTED**" - clean = _clean_mac(mac) - suffix = clean[-4:] if len(clean) >= 4 else clean - return f"**REDACTED**{suffix}" - - -def _redact_name_if_mac(name: str | None, mac: str) -> str | None: - if not name: - return name - if _clean_mac(name) == _clean_mac(mac): - return _redact_mac(mac) - return name - - -def _redact_tag_data(tags: dict[str, dict]) -> dict[str, dict]: - result = {} - for mac, data in tags.items(): - redacted_mac = _redact_mac(mac) - redacted_data = dict(data) - redacted_data["tag_mac"] = redacted_mac - if "tag_name" in redacted_data: - redacted_data["tag_name"] = _redact_name_if_mac(redacted_data["tag_name"], mac) - if "modecfgjson" in redacted_data: - redacted_data["modecfgjson"] = "**REDACTED**" - result[redacted_mac] = redacted_data - return result +def _asdict(obj: Any) -> Any: + """Recursively convert a dataclass to a dict, encoding bytes as hex strings.""" + if dataclasses.is_dataclass(obj) and not isinstance(obj, type): + return {f.name: _asdict(getattr(obj, f.name)) for f in dataclasses.fields(obj)} + if isinstance(obj, bytes): + return obj.hex() + if isinstance(obj, list): + return [_asdict(item) for item in obj] + return obj async def async_get_config_entry_diagnostics( - hass: HomeAssistant, entry: OpenDisplayConfigEntry + hass: HomeAssistant, entry: OpenDisplayConfigEntry ) -> dict[str, Any]: """Return diagnostics for a config entry.""" - - title = entry.title - host = entry.data.get(CONF_HOST) - if host and host in title: - title = title.replace(host, "**REDACTED**") - - # Common entry info - diag: dict[str, Any] = { - "config_entry": { - "title": title, - "version": entry.version, - "minor_version": entry.minor_version, - "data": async_redact_data(dict(entry.data), TO_REDACT), - "options": async_redact_data(dict(entry.options), TO_REDACT), + runtime = entry.runtime_data + fw = runtime.firmware + + return { + "firmware": { + "major": fw["major"], + "minor": fw["minor"], + "sha": fw["sha"], }, + "is_flex": runtime.is_flex, + "device_config": async_redact_data(_asdict(runtime.device_config), TO_REDACT), } - - runtime_data = entry.runtime_data - - if isinstance(runtime_data, Hub): - # AP-based entry - hub = runtime_data - diag["device_type"] = "ap" - diag["ap"] = { - "online": hub.online, - "model": hub.ap_model, - "environment": hub.ap_env, - "status": async_redact_data(hub.ap_status, TO_REDACT), - "config": async_redact_data(hub.ap_config, TO_REDACT), - } - diag["tags"] = { - "count": len(hub.tags), - "blacklisted_count": len(hub.get_blacklisted_tags()), - "data": _redact_tag_data({ - mac: hub.get_tag_data(mac) for mac in hub.tags - }), - } - - elif isinstance(runtime_data, OpenDisplayBLERuntimeData): - # BLE device entry - ble_data = runtime_data - diag["device_type"] = "ble" - diag["ble"] = { - "mac_address": _redact_mac(ble_data.mac_address), - "name": _redact_name_if_mac(ble_data.name, ble_data.mac_address), - "protocol_type": ble_data.protocol_type, - "device_metadata": ble_data.device_metadata, # Hardware specs (not sensitive) - "sensor_count": len(ble_data.sensors), - } - - return diag diff --git a/custom_components/opendisplay/entity.py b/custom_components/opendisplay/entity.py index 828b1ea..6220218 100644 --- a/custom_components/opendisplay/entity.py +++ b/custom_components/opendisplay/entity.py @@ -1,219 +1,29 @@ -from __future__ import annotations +"""Base entity for OpenDisplay devices.""" -from typing import TYPE_CHECKING +from homeassistant.components.bluetooth.passive_update_coordinator import ( + PassiveBluetoothCoordinatorEntity, +) +from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH, DeviceInfo +from homeassistant.helpers.entity import EntityDescription -from homeassistant.components import bluetooth -from homeassistant.core import callback -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.entity import DeviceInfo, Entity -from .ble import BLEDeviceMetadata +from .coordinator import OpenDisplayCoordinator -from .const import DOMAIN, OPENDISPLAY_CONFIG_URL, ATC_CONFIG_URL -from .tag_types import get_hw_string, get_hw_dimensions -if TYPE_CHECKING: - from .coordinator import Hub - from .runtime_data import OpenDisplayConfigEntry +class OpenDisplayEntity(PassiveBluetoothCoordinatorEntity[OpenDisplayCoordinator]): + """Base class for all OpenDisplay entities.""" - -def _format_tag_firmware_version(firmware_version) -> str: - """Format AP tag firmware versions without raising on malformed data.""" - if firmware_version in (None, ""): - return "Unknown" - - firmware_version_str = str(firmware_version) - try: - return f"0x{int(firmware_version_str, 16):X}" - except ValueError: - return firmware_version_str - - -class OpenDisplayAPEntity(Entity): - """ - Base entity for AP-level entities (switch, select, text, AP sensors). - - Provides: - - device_info for AP device - - available property (hub.online) - - Signal registration for connection status updates - - Common callbacks for state updates - - Subclasses must set: - - _attr_unique_id - - _attr_translation_key - """ - _attr_has_entity_name = True - _attr_entity_registry_enabled_default = False - - def __init__(self, hub: Hub) -> None: - self._hub = hub - - @property - def device_info(self) -> DeviceInfo: - """Return device info for the AP.""" - return DeviceInfo( - identifiers={(DOMAIN, "ap")}, - name="OEPL AP", - model=self._hub.ap_model, - manufacturer="OpenEPaperLink", - configuration_url=f"http://{self._hub.host}" - ) - - @property - def available(self) -> bool: - """Return if the entity is available.""" - return self._hub.online - - async def async_added_to_hass(self) -> None: - """Register the connection status signal handler.""" - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_connection_status", - self._handle_connection_status, - ) - ) - - @callback - def _handle_connection_status(self, is_online: bool) -> None: - """Handle connection status updates.""" - self.async_write_ha_state() - - @callback - def _handle_update(self) -> None: - """Handle data updates.""" - self.async_write_ha_state() - - -class OpenDisplayTagEntity(Entity): - """ - Base entity for tag-level entities (sensors, buttons, text, image). - - Provides: - - device_info for tag device - - available property (hub.online + tag online + not blacklisted) - - Signal registration for tag updates and connection status - - Common callbacks for state updates - - Subclasses must set: - - _attr_unique_id - - _attr_translation_key - """ - _attr_has_entity_name = True - _attr_entity_registry_enabled_default = False - - def __init__(self, hub: Hub, tag_mac: str) -> None: - """Initialize the tag entity.""" - self._hub = hub - self._tag_mac = tag_mac - - @property - def device_info(self) -> DeviceInfo: - """Return device info for the tag.""" - tag_data = self._hub.get_tag_data(self._tag_mac) - tag_name = tag_data.get("tag_name", self._tag_mac) - hw_type = tag_data.get("hw_type", 0) - hw_string = get_hw_string(hw_type) - width, height = get_hw_dimensions(hw_type) - firmware_version = tag_data.get("version") - - return DeviceInfo( - identifiers={(DOMAIN, self._tag_mac)}, - name=tag_name, - manufacturer="OpenEPaperLink", - model=hw_string, - via_device=(DOMAIN, "ap"), - sw_version=_format_tag_firmware_version(firmware_version), - serial_number=self._tag_mac, - hw_version=f"{width}x{height}", - ) - - @property - def available(self) -> bool: - """Return if the entity is available.""" - return ( - self._hub.online - and self._hub.is_tag_online(self._tag_mac) - and self._tag_mac not in self._hub.get_blacklisted_tags() - ) - - async def async_added_to_hass(self) -> None: - """Register update signal handlers.""" - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_tag_update_{self._tag_mac}", - self._handle_update, - ) - ) - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_connection_status", - self._handle_connection_status, - ) - ) - - @callback - def _handle_update(self) -> None: - """Handle tag data updates.""" - self.async_write_ha_state() - - @callback - def _handle_connection_status(self, is_online: bool) -> None: - """Handle connection status updates.""" - self.async_write_ha_state() - -class OpenDisplayBLEEntity(Entity): - """ - Base entity for BLE device entities (sensors, light, button, image). - - Provides: - - device_info for BLE device (using BLEDeviceMetadata) - - available property (bluetooth.async_address_present) - - Subclasses must set: - - _attr_unique_id - - _attr_translation_key - """ _attr_has_entity_name = True - _attr_entity_registry_enabled_default = False def __init__( - self, - mac_address: str, - name: str, - entry: OpenDisplayConfigEntry, + self, + coordinator: OpenDisplayCoordinator, + description: EntityDescription, ) -> None: - """Initialize the BLE entity.""" - self._mac_address = mac_address - self._name = name - self._entry = entry - - @property - def device_info(self) -> DeviceInfo: - """Return device info for the BLE device.""" + """Initialize the entity.""" + super().__init__(coordinator) + self.entity_description = description + self._attr_unique_id = f"{coordinator.address}-{description.key}" - current_metadata = self._entry.runtime_data.device_metadata - metadata = BLEDeviceMetadata(current_metadata) - - device_info = { - "identifiers": {(DOMAIN, f"ble_{self._mac_address}")}, - "name": self._name, - "manufacturer": "OpenDisplay", - "model": metadata.model_name, - "sw_version": metadata.formatted_fw_version(), - "hw_version": f"{metadata.width}x{metadata.height}" if metadata.width and metadata.height else None, - } - - if metadata.is_open_display: - device_info["configuration_url"] = OPENDISPLAY_CONFIG_URL - else: - device_info["configuration_url"] = ATC_CONFIG_URL - - return DeviceInfo(**device_info) - - @property - def available(self) -> bool: - """Return if the entity is available.""" - return bluetooth.async_address_present(self.hass, self._mac_address) + self._attr_device_info = DeviceInfo( + connections={(CONNECTION_BLUETOOTH, coordinator.address)}, + ) diff --git a/custom_components/opendisplay/event.py b/custom_components/opendisplay/event.py new file mode 100644 index 0000000..df3d05c --- /dev/null +++ b/custom_components/opendisplay/event.py @@ -0,0 +1,91 @@ +"""Event platform for OpenDisplay devices — button press/release events.""" + +from dataclasses import dataclass + +from homeassistant.components.event import ( + EventDeviceClass, + EventEntity, + EventEntityDescription, +) +from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers import entity_registry as er +from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback + +from . import OpenDisplayConfigEntry +from .entity import OpenDisplayEntity + +PARALLEL_UPDATES = 0 + + +@dataclass(frozen=True, kw_only=True) +class OpenDisplayEventEntityDescription(EventEntityDescription): + """Describes an OpenDisplay button event entity.""" + + byte_index: int + button_id: int + + +async def async_setup_entry( + hass: HomeAssistant, + entry: OpenDisplayConfigEntry, + async_add_entities: AddConfigEntryEntitiesCallback, +) -> None: + """Set up OpenDisplay event entities from binary_inputs device config.""" + coordinator = entry.runtime_data.coordinator + + descriptions: list[OpenDisplayEventEntityDescription] = [] + button_number = 0 + for bi in entry.runtime_data.device_config.binary_inputs: + for button_id in range(8): # input_flags is a bitmask over 8 pin slots + if bi.input_flags & (1 << button_id): + button_number += 1 + descriptions.append( + OpenDisplayEventEntityDescription( + key=f"button_{bi.instance_number}_{button_id}", + translation_key="button", + translation_placeholders={"number": str(button_number)}, + device_class=EventDeviceClass.BUTTON, + event_types=["button_down", "button_up"], + byte_index=bi.button_data_byte_index, + button_id=button_id, + ) + ) + + active_unique_ids = {f"{coordinator.address}-{d.key}" for d in descriptions} + button_unique_id_prefix = f"{coordinator.address}-button_" + entity_registry = er.async_get(hass) + for entity_entry in er.async_entries_for_config_entry( + entity_registry, entry.entry_id + ): + if ( + entity_entry.domain == "event" + and entity_entry.unique_id.startswith(button_unique_id_prefix) + and entity_entry.unique_id not in active_unique_ids + ): + entity_registry.async_remove(entity_entry.entity_id) + + async_add_entities( + OpenDisplayEventEntity(coordinator, description) for description in descriptions + ) + + +class OpenDisplayEventEntity(OpenDisplayEntity, EventEntity): + """A button event entity for an OpenDisplay device.""" + + entity_description: OpenDisplayEventEntityDescription + _last_processed_data: object | None = None + + @callback + def _handle_coordinator_update(self) -> None: + """Fire events for button transitions reported by this coordinator update.""" + data = self.coordinator.data + if data is not None and data is not self._last_processed_data: + for event in data.button_events: + if ( + event.byte_index == self.entity_description.byte_index + and event.button_id == self.entity_description.button_id + and event.event_type in self.event_types + ): + self._trigger_event(event.event_type) + self._last_processed_data = data + self.async_write_ha_state() diff --git a/custom_components/opendisplay/g5_decoder.py b/custom_components/opendisplay/g5_decoder.py deleted file mode 100644 index dd00699..0000000 --- a/custom_components/opendisplay/g5_decoder.py +++ /dev/null @@ -1,696 +0,0 @@ -#!/usr/bin/env python3 -""" -G5 Image Decoder - Python port of JavaScript G5 decoder -A 1-bpp image decoder for OpenDisplay displays - -Original JavaScript version by Larry Bank, Nic Limper -Python port with complete image assembly pipeline -""" - -import ctypes -import numpy as np -from PIL import Image -from typing import Union, Tuple, Dict, Any -import json - - -# ============================================================================ -# Exception Classes -# ============================================================================ - -class G5DecoderError(Exception): - """Base exception for G5 decoder errors""" - pass - - -class G5InvalidParameterError(G5DecoderError): - """Invalid parameters provided to decoder""" - pass - - -class G5DecodeError(G5DecoderError): - """Error during G5 decoding process""" - pass - - -class G5UnsupportedFeatureError(G5DecoderError): - """Unsupported G5 feature encountered""" - pass - - -class G5DataOverflowError(G5DecoderError): - """Data overflow during decoding""" - pass - - -class G5MaxFlipsExceededError(G5DecoderError): - """Maximum flips exceeded during decoding""" - pass - - -# ============================================================================ -# Constants -# ============================================================================ - -# Return codes (matching JavaScript) -G5_SUCCESS = 0 -G5_INVALID_PARAMETER = 1 -G5_DECODE_ERROR = 2 -G5_UNSUPPORTED_FEATURE = 3 -G5_ENCODE_COMPLETE = 4 -G5_DECODE_COMPLETE = 5 -G5_NOT_INITIALIZED = 6 -G5_DATA_OVERFLOW = 7 -G5_MAX_FLIPS_EXCEEDED = 8 - -# Decoder configuration -MAX_IMAGE_FLIPS = 640 -REGISTER_WIDTH = 32 - -# Horizontal prefix bits -HORIZ_SHORT_SHORT = 0 -HORIZ_SHORT_LONG = 1 -HORIZ_LONG_SHORT = 2 -HORIZ_LONG_LONG = 3 - -# Code table for Group 4 (MMR) decoding -# Format: code, bit_length pairs -CODE_TABLE = [ - 0x90, 0, 0x40, 0, # trash, uncompressed mode - codes 0 and 1 - 3, 7, # V(-3) pos = 2 - 0x13, 7, # V(3) pos = 3 - 2, 6, 2, 6, # V(-2) pos = 4,5 - 0x12, 6, 0x12, 6, # V(2) pos = 6,7 - 0x30, 4, 0x30, 4, 0x30, 4, 0x30, 4, # pass pos = 8->F - 0x30, 4, 0x30, 4, 0x30, 4, 0x30, 4, - 0x20, 3, 0x20, 3, 0x20, 3, 0x20, 3, # horiz pos = 10->1F - 0x20, 3, 0x20, 3, 0x20, 3, 0x20, 3, - 0x20, 3, 0x20, 3, 0x20, 3, 0x20, 3, - 0x20, 3, 0x20, 3, 0x20, 3, 0x20, 3, # V(-1) pos = 20->2F - 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 3, - 0x11, 3, 0x11, 3, 0x11, 3, 0x11, 3, # V(1) pos = 30->3F - 0x11, 3, 0x11, 3, 0x11, 3, 0x11, 3, - 0x11, 3, 0x11, 3, 0x11, 3, 0x11, 3, - 0x11, 3, 0x11, 3, 0x11, 3, 0x11, 3 -] - - -# ============================================================================ -# Utility Functions -# ============================================================================ - -def read_motorola_long(data: bytes, offset: int) -> int: - """ - Read 32-bit big-endian integer from bytes, equivalent to TIFFMOTOLONG - Handles partial reads when near end of data - """ - value = 0 - for i in range(4): - if offset + i < len(data): - value |= data[offset + i] << (24 - i * 8) - return value - - -def parse_g5_header(data: bytes) -> Tuple[int, int, int, int]: - """ - Parse G5 header and return (header_size, width, height, compression_mode) - - Header format (matching JavaScript drawCanvas.js): - - data[0]: header size - - data[1:3]: width (data[2] << 8 | data[1]) - - data[3:5]: height (data[4] << 8 | data[3]) - - data[5]: compression mode (0-3) - """ - if len(data) < 6: - raise G5InvalidParameterError("Data too short for G5 header") - - header_size = data[0] - width = (data[2] << 8) | data[1] # Matching JavaScript: (data[2] << 8) | data[1] - height = (data[4] << 8) | data[3] # Matching JavaScript: (data[4] << 8) | data[3] - compression_mode = data[5] - - if compression_mode > 3: - raise G5UnsupportedFeatureError(f"Unsupported compression mode: {compression_mode}") - - # Note: compression mode 2 doubling is handled AFTER validation in process_g5() - return header_size, width, height, compression_mode - - -def validate_header_against_tagtype(width: int, height: int, tagtype: Dict[str, Any]) -> None: - """Validate parsed header against tagtype specifications""" - tagtype_width = tagtype.get('width', 0) - tagtype_height = tagtype.get('height', 0) - - width_valid = (width == tagtype_width or width == tagtype_height) - height_valid = (height == tagtype_width or height == tagtype_height) - - if not (width_valid and height_valid): - raise G5InvalidParameterError( - f"Header dimensions {width}x{height} don't match tagtype {tagtype_width}x{tagtype_height}" - ) - - -# ============================================================================ -# G5 Decoder Class -# ============================================================================ - -class G5Decoder: - """Main G5 decoder class with precise 32-bit arithmetic""" - - def __init__(self): - self.width = 0 - self.height = 0 - self.error = 0 - self.y = 0 - self.vlc_size = 0 - self.h_len = 0 - self.pitch = 0 - - # Use ctypes for precise 32-bit arithmetic - self.u32_accum = ctypes.c_uint32(0) - self.bit_off = ctypes.c_uint32(0) - self.bits = ctypes.c_uint32(0) - - # Buffer management - self.src_data: bytes = None - self.buf_index = 0 - - # Flip tracking arrays - self.cur_flips = np.zeros(MAX_IMAGE_FLIPS, dtype=np.int16) - self.ref_flips = np.zeros(MAX_IMAGE_FLIPS, dtype=np.int16) - - def init_decoder(self, width: int, height: int, data: bytes) -> int: - """Initialize decoder with image parameters""" - if not data or width < 1 or height < 1 or len(data) < 1: - return G5_INVALID_PARAMETER - - self.vlc_size = len(data) - self.src_data = data - self.bit_off = ctypes.c_uint32(0) - self.y = 0 - self.bits = ctypes.c_uint32(read_motorola_long(data, 0)) - self.width = width - self.height = height - - return G5_SUCCESS - - def decode_begin(self) -> None: - """Initialize internal structures for decoding""" - xsize = self.width - - # Seed current and reference lines with xsize for V(0) codes - # JavaScript: for (let i = 0; i < MAX_IMAGE_FLIPS - 2; i++) - for i in range(MAX_IMAGE_FLIPS - 2): - self.ref_flips[i] = xsize - self.cur_flips[i] = xsize - - # Prefill with 0x7fff to prevent walking off the end - self.cur_flips[MAX_IMAGE_FLIPS - 2] = 0x7fff - self.cur_flips[MAX_IMAGE_FLIPS - 1] = 0x7fff - self.ref_flips[MAX_IMAGE_FLIPS - 2] = 0x7fff - self.ref_flips[MAX_IMAGE_FLIPS - 1] = 0x7fff - - # Initialize buffer - self.buf_index = 0 - self.bits = ctypes.c_uint32(read_motorola_long(self.src_data, 0)) - self.bit_off = ctypes.c_uint32(0) - - # Calculate bits needed for long horizontal code (matching JavaScript) - # JavaScript: 32 - Math.clz32(width) = bit length needed to represent width - if self.width == 0: - self.h_len = 0 - else: - self.h_len = self.width.bit_length() - - def decode_line(self) -> int: - """Decode a single line of G5 data""" - a0 = -1 - cur_index = 0 - ref_index = 0 - xsize = self.width - h_len = self.h_len - h_mask = (1 << h_len) - 1 - - # Local copies - use Python ints for simpler arithmetic, wrap at the end - bits = self.bits.value - bit_off = self.bit_off.value - buf_index = self.buf_index - - while a0 < xsize: - # Refill buffer if needed - if bit_off > (REGISTER_WIDTH - 8): - buf_index += (bit_off >> 3) - bit_off &= 7 - if buf_index < len(self.src_data): - bits = read_motorola_long(self.src_data, buf_index) - - # Check for V(0) code (most significant bit after offset) - # JavaScript: ((ulBits << ulBitOff) & 0x80000000) !== 0 - # Ensure 32-bit arithmetic with proper wrapping - shifted_bits = (bits << bit_off) & 0xFFFFFFFF - test_bit = shifted_bits & 0x80000000 - if test_bit != 0: - # V(0) code - a0 = self.ref_flips[ref_index] - ref_index += 1 - self.cur_flips[cur_index] = a0 - cur_index += 1 - bit_off += 1 - else: - # Extract code from lookup table - # JavaScript: (ulBits >> (REGISTER_WIDTH - 8 - ulBitOff)) & 0xfe - l_bits = (bits >> (REGISTER_WIDTH - 8 - bit_off)) & 0xfe - s_code = CODE_TABLE[l_bits] - bit_off += CODE_TABLE[l_bits + 1] - - if s_code in [1, 2, 3]: # V(-1), V(-2), V(-3) - a0 = self.ref_flips[ref_index] - s_code - self.cur_flips[cur_index] = a0 - cur_index += 1 - if ref_index == 0: - ref_index += 2 - ref_index -= 1 - while a0 >= self.ref_flips[ref_index]: - ref_index += 2 - - elif s_code in [0x11, 0x12, 0x13]: # V(1), V(2), V(3) - a0 = self.ref_flips[ref_index] - ref_index += 1 - b1 = a0 - a0 += s_code & 7 - if b1 != xsize and a0 < xsize: - while a0 >= self.ref_flips[ref_index]: - ref_index += 2 - if a0 > xsize: - a0 = xsize - self.cur_flips[cur_index] = a0 - cur_index += 1 - - elif s_code == 0x20: # Horizontal codes - if bit_off > (REGISTER_WIDTH - 16): - buf_index += (bit_off >> 3) - bit_off &= 7 - if buf_index < len(self.src_data): - bits = read_motorola_long(self.src_data, buf_index) - - a0_p = max(0, a0) - l_bits = (bits >> ((REGISTER_WIDTH - 2) - bit_off)) & 0x3 - bit_off += 2 - - # Handle different horizontal code types - if l_bits == HORIZ_SHORT_SHORT: - tot_run = (bits >> ((REGISTER_WIDTH - 3) - bit_off)) & 0x7 - bit_off += 3 - tot_run1 = (bits >> ((REGISTER_WIDTH - 3) - bit_off)) & 0x7 - bit_off += 3 - elif l_bits == HORIZ_SHORT_LONG: - tot_run = (bits >> ((REGISTER_WIDTH - 3) - bit_off)) & 0x7 - bit_off += 3 - tot_run1 = (bits >> ((REGISTER_WIDTH - h_len) - bit_off)) & h_mask - bit_off += h_len - elif l_bits == HORIZ_LONG_SHORT: - tot_run = (bits >> ((REGISTER_WIDTH - h_len) - bit_off)) & h_mask - bit_off += h_len - tot_run1 = (bits >> ((REGISTER_WIDTH - 3) - bit_off)) & 0x7 - bit_off += 3 - else: # HORIZ_LONG_LONG - tot_run = (bits >> ((REGISTER_WIDTH - h_len) - bit_off)) & h_mask - bit_off += h_len - if bit_off > (REGISTER_WIDTH - 16): - buf_index += (bit_off >> 3) - bit_off &= 7 - if buf_index < len(self.src_data): - bits = read_motorola_long(self.src_data, buf_index) - tot_run1 = (bits >> ((REGISTER_WIDTH - h_len) - bit_off)) & h_mask - bit_off += h_len - - a0 = a0_p + tot_run - self.cur_flips[cur_index] = a0 - cur_index += 1 - a0 += tot_run1 - - if a0 < xsize: - while a0 >= self.ref_flips[ref_index]: - ref_index += 2 - self.cur_flips[cur_index] = a0 - cur_index += 1 - - elif s_code == 0x30: # Pass code - ref_index += 1 - a0 = self.ref_flips[ref_index] - ref_index += 1 - - else: # ERROR - self.error = G5_DECODE_ERROR - return self.error - - # Finalize line - self.cur_flips[cur_index] = xsize - self.cur_flips[cur_index + 1] = xsize - - # Update state - convert back to ctypes - self.bits = ctypes.c_uint32(bits & 0xFFFFFFFF) - self.bit_off = ctypes.c_uint32(bit_off) - self.buf_index = buf_index - - return self.error - - def draw_line(self, output_buffer: bytearray, line_offset: int) -> None: - """Draw decoded line to output buffer""" - xright = self.width - cur_index = 0 - - # Calculate line length in bytes - line_len = (xright + 7) >> 3 - - # Initialize line to white (0xff) - for i in range(line_len): - output_buffer[line_offset + i] = 0xff - - # Note: x is not incremented in the loop, like JavaScript - x = 0 - while x < xright: # This continues until break condition - start_x = self.cur_flips[cur_index] - cur_index += 1 - run = self.cur_flips[cur_index] - start_x - cur_index += 1 - - if start_x >= xright or run <= 0: - break - - # Calculate visible run - visible_x = max(0, start_x) - visible_run = min(xright, start_x + run) - visible_x - - if visible_run > 0: - start_byte = visible_x >> 3 - end_byte = (visible_x + visible_run) >> 3 - - l_bit = (0xff << (8 - (visible_x & 7))) & 0xff - r_bit = 0xff >> ((visible_x + visible_run) & 7) - - if end_byte == start_byte: - # Run fits in single byte - output_buffer[line_offset + start_byte] &= (l_bit | r_bit) - else: - # Mask left-most byte - output_buffer[line_offset + start_byte] &= l_bit - - # Set intermediate bytes to 0 - for i in range(start_byte + 1, end_byte): - output_buffer[line_offset + i] = 0x00 - - # Mask right-most byte if not fully aligned - if end_byte < line_len: - output_buffer[line_offset + end_byte] &= r_bit - - -# ============================================================================ -# Image Assembly Functions -# ============================================================================ - -def render_16bit_rgb565(data: bytes, width: int, height: int) -> Image.Image: - """Render 16-bit RGB565 format with scaling factors""" - is_16_bit = len(data) == width * height * 2 - img_array = np.zeros((height, width, 3), dtype=np.uint8) - - for i in range(min(width * height, len(data) // (2 if is_16_bit else 1))): - y, x = divmod(i, width) - - if is_16_bit: - data_index = i * 2 - rgb = (data[data_index] << 8) | data[data_index + 1] - - r = ((rgb >> 11) & 0x1F) << 3 - g = ((rgb >> 5) & 0x3F) << 2 - b = (rgb & 0x1F) << 3 - else: - rgb = data[i] - r = int((((rgb >> 5) & 0x07) << 5) * 1.13) - g = int((((rgb >> 2) & 0x07) << 5) * 1.13) - b = int(((rgb & 0x03) << 6) * 1.3) - - img_array[y, x] = [r, g, b] - - return Image.fromarray(img_array, 'RGB') - - -def render_indexed_color(data: bytes, width: int, height: int, bpp: int, colortable: Dict[str, Any]) -> Image.Image: - """Render 3-4 bit indexed color with bit-packed pixels""" - img_array = np.zeros((height, width, 3), dtype=np.uint8) - - # Convert colortable to list format for indexing - if isinstance(colortable, dict): - # Handle both string keys and direct color arrays - if 'white' in colortable: - # Named colors - color_list = [colortable.get('white', [255, 255, 255]), - colortable.get('black', [0, 0, 0]), - colortable.get('red', [255, 0, 0])] - else: - # Direct color arrays - color_list = list(colortable.values()) - else: - color_list = colortable - - pixel_index = 0 - bit_offset = 0 - - while bit_offset < len(data) * 8 and pixel_index < width * height: - byte_index = bit_offset >> 3 - start_bit = bit_offset & 7 - - # Extract pixel value - if byte_index + 1 < len(data): - word = (data[byte_index] << 8) | data[byte_index + 1] - else: - word = data[byte_index] << 8 - - pixel_value = (word >> (16 - bpp - start_bit)) & ((1 << bpp) - 1) - - # Map to color - if pixel_value < len(color_list): - color = color_list[pixel_value] - y, x = divmod(pixel_index, width) - img_array[y, x] = color[:3] - - pixel_index += 1 - bit_offset += bpp - - return Image.fromarray(img_array, 'RGB') - - -def render_monochrome_or_tricolor(data: bytes, width: int, height: int, bpp: int, colortable: Dict[str, Any]) -> Image.Image: - """Render 1-2 bit monochrome or tricolor (B/W/R) displays""" - img_array = np.zeros((height, width, 3), dtype=np.uint8) - - # Convert colortable to list format - if isinstance(colortable, dict): - if 'white' in colortable: - color_list = [colortable.get('white', [255, 255, 255]), - colortable.get('black', [0, 0, 0]), - colortable.get('red', [255, 0, 0])] - else: - color_list = list(colortable.values()) - else: - color_list = colortable - - # Detect dual-plane format - use DISPLAY dimensions like JavaScript - # JavaScript: (data.length >= (canvas.width * canvas.height / 8) * 2) - expected_size = (width * height) // 8 - offset_red = expected_size if len(data) >= expected_size * 2 else 0 - - # JavaScript: for (let i = 0; i < data.length; i++) - # But limit to canvas bounds like JavaScript imageData - for i in range(len(data)): - for j in range(8): - pixel_index = i * 8 + j - - # Bounds check - don't go beyond canvas - if pixel_index >= width * height: - continue - - y, x = divmod(pixel_index, width) - - if offset_red: - # Dual-plane: combine black and red planes - black_bit = 1 if (data[i] & (1 << (7 - j))) else 0 - red_bit = 1 if (data[i + offset_red] & (1 << (7 - j))) else 0 - pixel_value = black_bit | (red_bit << 1) - else: - # Single plane - pixel_value = 1 if (data[i] & (1 << (7 - j))) else 0 - - # Map to color - if pixel_value < len(color_list): - img_array[y, x] = color_list[pixel_value][:3] - - return Image.fromarray(img_array, 'RGB') - - - -def assemble_image_from_bitmap(bitmap_data: bytes, tagtype: Dict[str, Any]) -> Image.Image: - """ - Assemble final image from decoded bitmap data using tagtype specifications - Supports all rendering paths: 16-bit RGB565, 3-4 bit indexed, 1-2 bit B/W/R - """ - # JavaScript canvas dimension logic: - # [canvas.width, canvas.height] = [tagTypes[hwtype].width, tagTypes[hwtype].height] - canvas_width = tagtype['width'] - canvas_height = tagtype['height'] - - # if (tagTypes[hwtype].rotatebuffer % 2) [canvas.width, canvas.height] = [canvas.height, canvas.width] - rotatebuffer = tagtype.get('rotatebuffer', 0) - if rotatebuffer % 2: - canvas_width, canvas_height = canvas_height, canvas_width - - bpp = tagtype['bpp'] - colortable = tagtype.get('colortable', {}) - - if bpp == 16: - image = render_16bit_rgb565(bitmap_data, canvas_width, canvas_height) - elif bpp in [3, 4]: - image = render_indexed_color(bitmap_data, canvas_width, canvas_height, bpp, colortable) - else: # bpp in [1, 2] - image = render_monochrome_or_tricolor(bitmap_data, canvas_width, canvas_height, bpp, colortable) - - # Apply final rotation for display based on rotatebuffer - # JavaScript: if (doRotate == false && tagTypes[hwtype].rotatebuffer == 1) canvas.style.transform = 'rotate(90deg)' - if rotatebuffer == 1: - # 90 degrees clockwise (to the right) - image = image.transpose(Image.ROTATE_270) # PIL ROTATE_270 = 90° clockwise - elif rotatebuffer == 2: - # 180 degrees - image = image.transpose(Image.ROTATE_180) - elif rotatebuffer == 3: - # 270 degrees clockwise = 90 degrees counter-clockwise - image = image.transpose(Image.ROTATE_90) - - return image - - -# ============================================================================ -# Main Interface -# ============================================================================ - -def decode_g5_to_bitmap(data: bytes, width: int, height: int) -> bytes: - """Core G5 decoding function - returns raw bitmap bytes""" - decoder = G5Decoder() - - # Initialize decoder - init_result = decoder.init_decoder(width, height, data) - if init_result != G5_SUCCESS: - error_map = { - G5_INVALID_PARAMETER: G5InvalidParameterError("Invalid decoder parameters") - } - raise error_map.get(init_result, G5DecoderError(f"Decoder initialization failed: {init_result}")) - - # Begin decoding - decoder.decode_begin() - - # Calculate output buffer size (1 bit per pixel, padded to byte boundary) - bytes_per_line = (width + 7) // 8 - output_buffer = bytearray(height * bytes_per_line) - - # Decode each line - for y in range(height): - decoder.y = y - decode_result = decoder.decode_line() - - if decode_result != G5_SUCCESS: - raise G5DecodeError(f"Decoding error on line {y}: {decode_result}") - - decoder.draw_line(output_buffer, y * bytes_per_line) - - # Swap current and reference flip arrays - decoder.cur_flips, decoder.ref_flips = decoder.ref_flips, decoder.cur_flips - - return bytes(output_buffer) - - -def process_g5(data: bytes, tagtype: Dict[str, Any], output_format: str = 'pil') -> Union[Image.Image, bytes]: - """ - Main entry point for G5 decoding and image assembly - - Args: - data: Raw G5 compressed image data - tagtype: Tag type specification dictionary - output_format: 'pil' for PIL Image, 'bytes' for raw bitmap - - Returns: - PIL Image or raw bytes depending on output_format - """ - if not data or not tagtype: - raise G5InvalidParameterError("Data and tagtype must be provided") - - # Parse header - header_size, width, height, compression_mode = parse_g5_header(data) - - # Validate against tagtype (before doubling, matching JavaScript) - validate_header_against_tagtype(width, height, tagtype) - - # Apply compression mode 2 doubling AFTER validation (matching JavaScript) - if compression_mode == 2: - height *= 2 - - # Extract payload data (skip header) - payload_data = data[header_size:] - - # Decode G5 compressed data to bitmap - bitmap_data = decode_g5_to_bitmap(payload_data, width, height) - - if output_format == 'bytes': - return bitmap_data - elif output_format == 'pil': - # JavaScript uses tagtype dimensions for offsetRed calculation and display - return assemble_image_from_bitmap(bitmap_data, tagtype) - else: - raise G5InvalidParameterError(f"Unsupported output format: {output_format}") - - -def load_tagtype_from_file(filename: str) -> Dict[str, Any]: - """Load tagtype specification from JSON file""" - with open(filename, 'r') as f: - return json.load(f) - - -# ============================================================================ -# Testing/CLI Interface -# ============================================================================ - -def main(): - """Command-line interface for testing""" - import sys - - if len(sys.argv) != 3: - print("Usage: python g5_decoder.py ") - sys.exit(1) - - g5_file, tagtype_file = sys.argv[1], sys.argv[2] - - try: - # Load files - with open(g5_file, 'rb') as f: - g5_data = f.read() - - tagtype = load_tagtype_from_file(tagtype_file) - - # Process G5 image - image = process_g5(g5_data, tagtype) - - # Save result - output_file = f"{g5_file}_decoded.png" - image.save(output_file) - print(f"Decoded image saved as: {output_file}") - print(f"Image size: {image.size}") - - except Exception as e: - print(f"Error: {e}") - sys.exit(1) - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/custom_components/opendisplay/icons.json b/custom_components/opendisplay/icons.json index 51a31b3..e3e394c 100644 --- a/custom_components/opendisplay/icons.json +++ b/custom_components/opendisplay/icons.json @@ -1,241 +1,7 @@ { "services": { - "dlimg": { - "service": "mdi:download" - }, - "lines4": { - "service": "mdi:text-long" - }, - "lines5": { - "service": "mdi:text-long" - }, - "drawcustom": { - "service": "mdi:code-braces-box" - }, - "setled": { - "service": "mdi:wall-sconce-flat-variant" - }, - "clear_pending": { - "service": "mdi:broom" - }, - "force_refresh": { - "service": "mdi:refresh" - }, - "reboot_tag": { - "service": "mdi:restart" - }, - "scan_channels": { - "service": "mdi:wifi" - }, - "reboot_ap": { - "service": "mdi:restart" - }, - "refresh_tag_types": { - "service": "mdi:refresh" - }, - "set_content_mode": { - "service": "mdi:format-text" - } - }, - "entity": { - "sensor": { - "ip": { - "default": "mdi:ip" - }, - "wifi_ssid": { - "default": "mdi:wifi-settings" - }, - "record_count": { - "default": "mdi:tag-multiple" - }, - "db_size": { - "default": "mdi:database-settings" - }, - "little_fs_free": { - "default": "mdi:database-outline" - }, - "ap_state": { - "default": "mdi:access-point" - }, - "run_state": { - "default": "mdi:cog" - }, - "wifi_rssi": { - "default": "mdi:wifi-strength-4" - }, - "heap": { - "default": "mdi:chip" - }, - "sys_time": { - "default": "mdi:clock-outline" - }, - "uptime": { - "default": "mdi:timer" - }, - "low_battery_tag_count": { - "default": "mdi:battery-alert" - }, - "timeout_tag_count": { - "default": "mdi:tag-off" - }, - "ps_ram_free": { - "default": "mdi:memory" - }, - "temperature": { - "default": "mdi:thermometer" - }, - "battery_voltage": { - "default": "mdi:battery" - }, - "battery_percentage": { - "default": "mdi:battery" - }, - "last_seen": { - "default": "mdi:history" - }, - "next_update": { - "default": "mdi:update" - }, - "next_checkin": { - "default": "mdi:clock-check" - }, - "lqi": { - "default": "mdi:signal-cellular-outline" - }, - "rssi": { - "default": "mdi:signal-distance-variant" - }, - "pending_updates": { - "default": "mdi:sync-circle" - }, - "content_mode": { - "default": "mdi:view-grid-outline" - }, - "wakeup_reason": { - "default": "mdi:power" - }, - "capabilities": { - "default": "mdi:list-box-outline" - }, - "update_count": { - "default": "mdi:counter" - }, - "width": { - "default": "mdi:arrow-expand-horizontal" - }, - "height": { - "default": "mdi:arrow-expand-vertical" - }, - "runtime": { - "default": "mdi:timer-outline" - }, - "boot_count": { - "default": "mdi:restart" - }, - "checkin_count": { - "default": "mdi:clock-check" - }, - "block_requests": { - "default": "mdi:transfer" - } - }, - "button": { - "clear_pending": { - "default": "mdi:broom" - }, - "force_refresh": { - "default": "mdi:refresh" - }, - "reboot_tag": { - "default": "mdi:restart" - }, - "scan_channels": { - "default": "mdi:wifi" - }, - "deep_sleep": { - "default": "mdi:sleep" - }, - "reboot_ap": { - "default": "mdi:restart" - }, - "refresh_tag_types": { - "default": "mdi:refresh" - }, - "refresh_config": { - "default": "mdi:refresh" - } - }, - "switch": { - "preview": { - "default": "mdi:eye" - }, - "ble": { - "default": "mdi:bluetooth" - }, - "nightlyreboot": { - "default": "mdi:restart" - }, - "showtimestamp": { - "default": "mdi:clock" - } - }, - "select": { - "channel": { - "default": "mdi:wifi" - }, - "led": { - "default": "mdi:brightness-5" - }, - "tft": { - "default": "mdi:brightness-5" - }, - "maxsleep": { - "default": "mdi:sleep" - }, - "lock": { - "default": "mdi:lock" - }, - "wifipower": { - "default": "mdi:wifi-strength-4" - }, - "language": { - "default": "mdi:translate" - }, - "discovery": { - "default": "mdi:access-point-network" - }, - "subghzchannel": { - "default": "mdi:antenna" - }, - "sleeptime1": { - "default": "mdi:sleep" - }, - "sleeptime2": { - "default": "mdi:sleep" - } - }, - "text": { - "alias": { - "default": "mdi:rename-box" - }, - "repo": { - "default": "mdi:source-repository" - } - }, - "light": { - "led": { - "default": "mdi:lightbulb" - } - }, - "image": { - "content": { - "default": "mdi:monitor" - } - }, - "update": { - "firmware": { - "default": "mdi:update" - } + "upload_image": { + "service": "mdi:image-move" } } -} \ No newline at end of file +} diff --git a/custom_components/opendisplay/image.py b/custom_components/opendisplay/image.py deleted file mode 100644 index 776b9f8..0000000 --- a/custom_components/opendisplay/image.py +++ /dev/null @@ -1,296 +0,0 @@ -from __future__ import annotations - -PARALLEL_UPDATES = 0 - -import logging -from datetime import datetime -from typing import Final -import requests - -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from .util import is_ble_entry -from .entity import OpenDisplayTagEntity, OpenDisplayBLEEntity -from .runtime_data import OpenDisplayConfigEntry -from .const import DOMAIN, SIGNAL_TAG_IMAGE_UPDATE -from homeassistant.components.image import ImageEntity -from homeassistant.core import HomeAssistant, callback -from homeassistant.helpers.entity_platform import AddEntitiesCallback -from .image_decompressor import to_image -from .tag_types import TagType, get_tag_types_manager - -_LOGGER: Final = logging.getLogger(__name__) - -async def async_setup_entry( - hass: HomeAssistant, - entry: OpenDisplayConfigEntry, - async_add_entities: AddEntitiesCallback, -) -> bool: - """Set up the OpenDisplay image platform.""" - - entry_data = entry.runtime_data - - if is_ble_entry(entry_data): - mac_address = entry_data.mac_address - name = entry_data.name - device_metadata = entry_data.device_metadata - - image_entity = OpenDisplayBLEImage( - hass=hass, - mac_address=mac_address, - name=name, - device_metadata=device_metadata, - entry=entry, - ) - async_add_entities([image_entity], True) - return True - - hub = entry.runtime_data - - # Track added image entities to prevent duplicates - added_image_entities = set() - - async def async_add_image_entity(tag_mac: str) -> None: - - # Skip if image entity already exists - if tag_mac in added_image_entities: - return - - # Skip if tag is blacklisted - if tag_mac in hub.get_blacklisted_tags(): - _LOGGER.debug("Skipping image entity creation for blacklisted tag: %s", tag_mac) - return - - # Skip AP (it's not a tag) - if tag_mac == "ap": - return - - image_entity = ESLImage(hass, tag_mac, hub) - added_image_entities.add(tag_mac) - async_add_entities([image_entity], True) - - # Add image entity for existing tags - for tag_mac in hub.tags: - await async_add_image_entity(tag_mac) - - # Register callback for new tag discovery - entry.async_on_unload( - async_dispatcher_connect( - hass, - f"{DOMAIN}_tag_discovered", - async_add_image_entity - ) - ) - - # Register callback for blacklist updates - async def handle_blacklist_update() -> None: - """Handle updates to the tag blacklist. - - Processes changes to the blacklisted tags configuration by - removing image entities for tags that have been blacklisted. - - When a tag is added to the blacklist: - - 1. Its entry is removed from the 'added_image_entities' set - 2. Its corresponding image entity is removed from Home Assistant - 3. The image entity will automatically be excluded from future discoveries - - This ensures blacklisted tags don't appear in the UI and - don't consume resources with unnecessary image processing. - """ - for tag_mac in hub.get_blacklisted_tags(): - if tag_mac in added_image_entities: - added_image_entities.remove(tag_mac) - - entry.async_on_unload( - async_dispatcher_connect( - hass, - f"{DOMAIN}_blacklist_update", - handle_blacklist_update - ) - ) - - return True - -class ESLImage(OpenDisplayTagEntity, ImageEntity): - """Image entity class for OpenDisplay tags. - - Provides an image entity that shows the current content displayed - on a tag by fetching its raw image data from the AP and - converting it to a standard image format. - """ - - _attr_entity_registry_enabled_default = True - _attr_has_entity_name = True - - def __init__(self, hass: HomeAssistant, tag_mac: str, hub) -> None: - """Initialize the image entity.""" - ImageEntity.__init__(self, hass) - OpenDisplayTagEntity.__init__(self, hub, tag_mac) - self._attr_translation_key = "content" - self._attr_unique_id = f"{tag_mac}_display_content" - tag_data = hub.get_tag_data(tag_mac) - self._name = f"{tag_data.get('tag_name', tag_mac)}" - self._attr_content_type = "image/jpeg" - self._cached_image: bytes | None = None - self._last_updated: datetime | None = None - self._tag_type = None - self._last_error = None - - @property - def available(self) -> bool: - """Return if entity is available.""" - return ( - super().available - and self._tag_mac in self._hub.tags - ) - - @property - def image_last_updated(self) -> datetime | None: - """Return the last updated image timestamp.""" - return self._last_updated - - async def _fetch_raw_image(self) -> bytes | None: - """Fetch raw image data from AP.""" - url = f"http://{self._hub.host}/current/{self._tag_mac}.raw" - try: - result = await self.hass.async_add_executor_job(lambda: requests.get(url)) - if result.status_code == 200: - return result.content - if result.status_code == 404: - _LOGGER.debug("No image found for %s", self._tag_mac) - return None - _LOGGER.error("Failed to fetch image for %s: HTTP %d", self._tag_mac, result.status_code) - return None - except Exception as err: - _LOGGER.error("Error fetching image for %s: %s", self._tag_mac, str(err)) - return None - - async def _get_tag_def(self) -> TagType | None: - """Get tag definition for image decoding.""" - if self._tag_type is None: - try: - tag_data = self._hub.get_tag_data(self._tag_mac) - hw_type = tag_data.get("hw_type") - if hw_type is None: - return None - tag_manager = await get_tag_types_manager(self.hass) - tag_type = await tag_manager.get_tag_info(hw_type) - if tag_type is None: - return None - self._tag_type = tag_type - except Exception as err: - _LOGGER.error("Error getting tag definition for %s: %s", self._tag_mac, str(err)) - return None - return self._tag_type - - async def async_image(self) -> bytes | None: - """Return cached image bytes, fetching if needed.""" - if self._cached_image is None: - await self._refresh_image() - return self._cached_image - - async def _refresh_image(self) -> None: - """Refresh the cached image data.""" - try: - raw_data = await self._fetch_raw_image() - if raw_data: - tag_def = await self._get_tag_def() - if tag_def: - try: - jpeg_data = await self.hass.async_add_executor_job( - lambda: to_image(raw_data, tag_def) - ) - self._cached_image = jpeg_data - self._last_updated = datetime.now() - self.async_write_ha_state() - except Exception as err: - _LOGGER.error("Error decoding image for %s: %s", self._tag_mac, str(err)) - self._cached_image = None - else: - self._cached_image = None - except Exception as err: - _LOGGER.error("Error refreshing image for %s: %s", self._tag_mac, str(err)) - self._cached_image = None - - async def async_added_to_hass(self) -> None: - """Register callback when entity is added.""" - # Don't call super() - different signals are used for image updates - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{SIGNAL_TAG_IMAGE_UPDATE}_{self._tag_mac}", - self._handle_tag_image_update - ) - ) - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_connection_status", - self._handle_connection_status - ) - ) - - @callback - def _handle_tag_image_update(self, data) -> None: - """Handle tag image updates.""" - if isinstance(data, bytes): - self._cached_image = data - self._last_updated = datetime.now() - elif data: - self.hass.async_create_task(self._refresh_image()) - self.async_write_ha_state() - - -class OpenDisplayBLEImage(OpenDisplayBLEEntity, ImageEntity): - """Image entity for BLE OpenDisplay devices. - - Captures and displays the content generated by drawcustom service calls. - """ - - _attr_entity_registry_enabled_default = True - _attr_has_entity_name = True - - def __init__( - self, - hass: HomeAssistant, - mac_address: str, - name: str, - device_metadata: dict, - entry: OpenDisplayConfigEntry, - ): - """Initialize the BLE image entity.""" - ImageEntity.__init__(self, hass) - OpenDisplayBLEEntity.__init__(self, mac_address, name, entry) - self._device_metadata = device_metadata - self._attr_translation_key = "content" - self._attr_unique_id = f"opendisplay_ble_{mac_address}_display_content" - self._attr_content_type = "image/jpeg" - self._cached_image: bytes | None = None - self._last_updated: datetime | None = None - - @property - def image_last_updated(self) -> datetime | None: - """Return the last updated image timestamp.""" - return self._last_updated - - async def async_image(self) -> bytes | None: - """Return cached image bytes.""" - return self._cached_image - - async def async_added_to_hass(self) -> None: - """Register callback when entity is added.""" - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{SIGNAL_TAG_IMAGE_UPDATE}_{self._mac_address}", - self._handle_image_update - ) - ) - - @callback - def _handle_image_update(self, data) -> None: - """Handle image data updates.""" - if isinstance(data, bytes): - self._cached_image = data - self._last_updated = datetime.now() - self.async_write_ha_state() diff --git a/custom_components/opendisplay/image_decompressor.py b/custom_components/opendisplay/image_decompressor.py deleted file mode 100644 index 873c2d3..0000000 --- a/custom_components/opendisplay/image_decompressor.py +++ /dev/null @@ -1,258 +0,0 @@ -"""Image decoder for OpenDisplay raw image format.""" -from __future__ import annotations - -import io -import logging -import zlib - -from PIL import Image - -from .tag_types import TagType -from .g5_decoder import parse_g5_header, process_g5 -_LOGGER = logging.getLogger(__name__) - - -def decode_esl_raw(data: bytes, tag_type: TagType) -> bytes: - """Decode an OpenDisplay raw file. - - Processes raw image data from the OEPL AP, handling: - - - G5 compression detection and decompression - - Zlib compression detection and decompression - - BWR/BWY dual-plane formats for 2-bit displays - - Packed pixel formats for higher color depths - - Buffer rotation settings from tag type - - The function detects the data format based on the tag type - information and header data, then processes accordingly. - - Args: - data: Raw image data bytes from the AP - tag_type: TagType object containing display specifications - - Returns: - bytes: Decoded raw bitmap data ready for rendering - - Raises: - Exception: For decompression errors or invalid data format - """ - _LOGGER.debug(f"decode_esl_raw received data (first 16 bytes): {data[:16].hex()}") - - # Check for G5 compression using our working decoder - if len(data) >= 6: - try: - header_size, width, height, compression_mode = parse_g5_header(data) - if compression_mode in [1, 2]: # Valid G5 compression modes - _LOGGER.debug(f"Found G5 compressed data: {width}x{height}, mode {compression_mode}") - tagtype_dict = { - 'width': tag_type.width, - 'height': tag_type.height, - 'bpp': tag_type.bpp, - 'rotatebuffer': tag_type.rotatebuffer, - 'colortable': tag_type.color_table - } - bitmap_data = process_g5(data, tagtype_dict, output_format='bytes') - return bitmap_data - except Exception as e: - _LOGGER.debug(f"Not G5 format: {e}") - # Fall through to other decompression methods - - _LOGGER.debug(f"Input size: {len(data)} bytes") - _LOGGER.debug(f"Tag type: {tag_type.name}") - _LOGGER.debug(f"Dimensions: {tag_type.width}x{tag_type.height}") - _LOGGER.debug(f"BPP: {tag_type.bpp}") - _LOGGER.debug(f"Rotate buffer: {tag_type.rotatebuffer}") - - # Calculate expected sizes - width = tag_type.height if tag_type.rotatebuffer % 2 else tag_type.width - height = tag_type.width if tag_type.rotatebuffer % 2 else tag_type.height - - if tag_type.bpp <= 2: # Traditional 1-2 bit plane-based format - bytes_per_row = (width + 7) // 8 - bytes_per_plane = bytes_per_row * height - total_size = bytes_per_plane * (2 if tag_type.bpp == 2 else 1) - else: # 3-4 bit packed format - bits_per_pixel = tag_type.bpp - bytes_per_row = (width * bits_per_pixel + 7) // 8 - total_size = bytes_per_row * height - - header_size = 6 - - _LOGGER.debug(f"Effective dimensions: {width}x{height}") - _LOGGER.debug(f"Bits per pixel: {tag_type.bpp}") - _LOGGER.debug(f"Expected total size: {total_size} bytes") - - # Check for compressed data - try: - if len(data) >= 4: - compressed_size = int.from_bytes(data[:4], byteorder='little') - if compressed_size > 0: # Compressed data - _LOGGER.debug(f"Found compressed data, size from header: {compressed_size}") - - compressed_data = data[4:] - _LOGGER.debug(f"Compressed data size: {len(compressed_data)} bytes") - - # Decompress data - decompressor = zlib.decompressobj(wbits=15) - decompressed_data = decompressor.decompress(compressed_data) - _LOGGER.debug(f"Decompressed size: {len(decompressed_data)} bytes") - - # Handle potential second block for BWY/BWR mode - if tag_type.bpp == 2 and decompressor.unused_data: - remaining_data = decompressor.unused_data - _LOGGER.debug(f"Found second compressed block: {len(remaining_data)} bytes") - second_decompressor = zlib.decompressobj(wbits=15) - second_block = second_decompressor.decompress(remaining_data) - - # Extract and combine planes - # header = decompressed_data[:header_size] - first_plane = decompressed_data[header_size:header_size + total_size // 2] - second_plane = second_block[header_size:header_size + total_size // 2] - data = first_plane + second_plane - else: - # Single block contains all data - data = decompressed_data[header_size:] - else: - _LOGGER.debug("Data appears to be uncompressed") - # For uncompressed data, pad if necessary - if len(data) < total_size: - _LOGGER.debug(f"Padding uncompressed data to {total_size} bytes") - data = data.ljust(total_size, b'\x00') - return data - - except Exception as e: - _LOGGER.debug(f"Processing failed: {e}") - _LOGGER.debug("Treating as raw data") - if len(data) < total_size: - _LOGGER.debug(f"Padding raw data to {total_size} bytes") - data = data.ljust(total_size, b'\x00') - - return data - - -def to_image(raw_data: bytes, tag_type: TagType) -> bytes: - """Convert decoded ESL raw data to JPEG image. - - Transforms the decoded raw bitmap data into a standard JPEG image - that can be displayed in Home Assistant or saved to disk. - - The conversion process: - - 1. Decodes the raw data using decode_esl_raw - 2. Creates a new PIL Image with appropriate dimensions - 3. Processes pixels based on the tag's color depth and format - 4. Applies rotation according to the tag's buffer rotation setting - 5. Converts to JPEG format - - The color mapping depends on the tag type's color table, - which defines the available colors for different bit values. - - Args: - raw_data: Raw image data from the AP - tag_type: TagType object with display specifications - - Returns: - bytes: JPEG image data - - Raises: - Exception: For image processing errors or invalid color format - """ - data = decode_esl_raw(raw_data, tag_type) - - # For 90/270 degree rotated displays, swap width/height before processing - native_width = tag_type.width - native_height = tag_type.height - if tag_type.rotatebuffer % 2: # 90 or 270 degrees - native_width, native_height = native_height, native_width - - _LOGGER.debug("\n=== Color Table Information ===") - _LOGGER.debug(f"Color table contents: {tag_type.color_table}") - - # Create initial image - img = Image.new('RGB', (native_width, native_height), 'white') - pixels = img.load() - - # Convert color table to RGB tuples - color_table = {k: tuple(v) for k, v in tag_type.color_table.items()} - - _LOGGER.debug(f"Available colors: {list(color_table.keys())}") - - # Process pixels based on color depth - if tag_type.bpp <= 2: # Traditional 1-2 bit plane-based format - bytes_per_row = (native_width + 7) // 8 - bytes_per_plane = bytes_per_row * native_height - - # Split into planes for 2bpp mode - black_plane = data[:bytes_per_plane] - color_plane = data[bytes_per_plane:bytes_per_plane * 2] if tag_type.bpp == 2 else None - - # Process pixels - for y in range(native_height): - row_offset = y * bytes_per_row - for x in range(native_width): - byte_offset = row_offset + (x // 8) - bit_mask = 0x80 >> (x % 8) - - black = bool(black_plane[byte_offset] & bit_mask) - color = bool(color_plane[byte_offset] & bit_mask) if color_plane else False - - if black and color: - pixels[x, y] = color_table['black'] # Overlap - elif black: - pixels[x, y] = color_table['black'] - elif color: - # Use first available color that's not black or white - color_key = next((k for k in color_table.keys() - if k not in ['black', 'white']), 'white') - pixels[x, y] = color_table[color_key] - else: - pixels[x, y] = color_table['white'] - - else: # 3-4 bit packed format - bits_per_pixel = tag_type.bpp - # pixels_per_byte = 8 // bits_per_pixel - bit_mask = (1 << bits_per_pixel) - 1 - bytes_per_row = (native_width * bits_per_pixel + 7) // 8 - - # Convert color table to list for indexed access - colors_list = list(color_table.values()) - - for y in range(native_height): - for x in range(native_width): - # Calculate byte and bit positions - bit_position = (x * bits_per_pixel) % 8 - byte_offset = (y * bytes_per_row) + (x * bits_per_pixel) // 8 - - if byte_offset < len(data): - # Extract the color index - if bit_position + bits_per_pixel <= 8: - # Color index is contained within a single byte - color_index = (data[byte_offset] >> (8 - bit_position - bits_per_pixel)) & bit_mask - else: - # Color index spans two bytes - first_byte = data[byte_offset] & ((1 << (8 - bit_position)) - 1) - bits_from_first = 8 - bit_position - bits_from_second = bits_per_pixel - bits_from_first - if byte_offset + 1 < len(data): - second_byte = data[byte_offset + 1] >> (8 - bits_from_second) - color_index = (first_byte << bits_from_second) | second_byte - else: - color_index = first_byte << bits_from_second - - # Set pixel color - if color_index < len(colors_list): - pixels[x, y] = colors_list[color_index] - - # Apply rotation - if tag_type.rotatebuffer == 1: # 90 degrees CCW - img = img.transpose(Image.Transpose.ROTATE_270) - elif tag_type.rotatebuffer == 2: # 180 degrees - img = img.transpose(Image.Transpose.ROTATE_180) - elif tag_type.rotatebuffer == 3: # 270 degrees CCW (90 CW) - img = img.transpose(Image.Transpose.ROTATE_90) - - # Convert to JPEG - output = io.BytesIO() - img.save(output, format='JPEG', quality=95) - output.seek(0) - return output.read() \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/__init__.py b/custom_components/opendisplay/imagegen/__init__.py deleted file mode 100644 index 716011b..0000000 --- a/custom_components/opendisplay/imagegen/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -"""ImageGen package for ESL image generation.""" -from .core import ImageGen -from .types import ElementType, DrawingContext, TextSegment -from .colors import ColorResolver, WHITE, BLACK, RED, YELLOW, HALF_BLACK, HALF_RED, HALF_YELLOW -from .coordinates import CoordinateParser -from .fonts import FontManager - -__all__ = [ - "ImageGen", - "ElementType", - "DrawingContext", - "TextSegment", - "ColorResolver", - "CoordinateParser", - "FontManager", - "WHITE", - "BLACK", - "RED", - "YELLOW", - "HALF_BLACK", - "HALF_RED", - "HALF_YELLOW", -] \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/assets/materialdesignicons-webfont.ttf b/custom_components/opendisplay/imagegen/assets/materialdesignicons-webfont.ttf deleted file mode 100644 index b00c684d3ef14be87f0badd2eecc88babc70fea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1279992 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

Vz%BI5ISB4rq<#CQzu_v`(d z`2* zS*5^fR70RGeK`jU3fNg_qFFf|eUI@OyZyt)3(?b+U0J@nVGEl;=UR(e3g@#b4P3Xm|i=2E|V-zfaW84UeMBEuN{wDmIf?vNm%ZzL*<` z+lwz)UF_>N<~fU*o`e(}cBwla<^)=w zYpK*7>363VQ;Whz%M8rD`BA0a0$r0${KkDpT0day2uvnG)q!@E$uJQxk+H}>U&Rai z;MM%<#Kda;DkE2jPM6>X;L5Ky>-p{mtX|j^*`E&j!*N0vfF0x;Wg@BpgV&J8#=DCG zTP?(ftikjb1vQ21Jy!wDO9*xHAYvBc>f5K6rkAIo?y>M6d0={=5*yisgQWp99m&{o z%z?V#C7l#6-{MGxx56pMEz3u@j()3k=FAx=3qKZ)$HU@B5epE+(_X9fI4-kXwSRJ* z=_nPn0;8Hi*sqkkb&68XC)N|^v61gd|9b4DZMgQE+3r|`$%`@03hia{@I1SjS-VO= zRdrA=inLRN9gNILB1j|kvZ;YQ|D*g z_+swra2bl09+VM-t3H~Ugpn~&Dw^gPDMD;ryE^fSPfT3BhC(dbpEe9BaO^jsuYEBA zJvpR-ys~rEl`yrwXn@&*Q6c;s3|u-U;4IHCKqFH0(HRI-e?p2)6En92$K}O&BV5AC zMw2QWQA<`9$R6R)QGC*A`$9?J6nBz^aXXHxjaUJUIpYA`GYR`m8{)hnUGO1oyHV5j zwuemRZ_p~>px4_Z?zw0aZ9nK+01PvbaL7P7YN$?_DebYgkOAQ&(xWRLci1HOe;-Je z2WJA~(I1+o8XNU-&&W68HP8*eh&>7Nx6%ZpRdD!|_=mEFV*;*s(&(S25wjb? zPei<(m^+}g08!s_%sJwI*H4C`zV{~Fu~$foze{!v<$hQEiTIS{F|nJ&U+ThGzf=#GqL{Wv>8IH8AvWWR*q$ zOUXKTe!x}|KCl159d<5OmK>T}Tl`A-4ep3zp{_;z{)qMi-R{$Gop&!yoGX^@n!EmdJb?GSDr|g+#324{2Lu zQS76c9S@aZLHQ)g|C&V)}cK?QU&V6ZlidYIPldqbB?^)Ih6c z`cyW#p;xQshY36AO%q^F*@P{|xJumxW%4F1q9A)m;Iz6$ zO>A!w%GCkwlX}a6j09xo8e+T;>L$M>#}w3+BP%}i*UuokEX3J}|RuvEC@6fh~j{OxGBq3zLAWjWfNRq_y^s9h$r%m+%kF= zQs`E5eQm7$Sp?BOMf8o>_CKEy9bhG{fAmek90Y|iSThWpBZBr&O2J{^`6ab;jRMPt z5{R)lg@3Iw3$Ie@p~W8u&jFWpGrr$wEoQ9QoxVYhqC*CC0pxDjhrSr{&}z+I{lu%( zZuW6q)!uIe*7VRAGLHawkQ=t5UwOYd`eB1SItmdCImYCBs&TJ2CT6Rw##u6d;uOYf zVB4Un`=_+-^*7TDWNi-R>uBw|0-kn%T1{EP@Vv6!Xa7+xKRCdzzYC)S9)0a`Z>uht zuyLS6+-H^k$44%QF_D#;5#kV};zI%`EsiM0$o#Upg7ixWaMeD4e;3)Gx*GoZ@qE46 z@&xJ^23L54pr_UV_ZQ~dlDX{~7R?G3|3LT#=1*=0JE}X;`Mc-m@0P0bFA}wz;JrH_ zb-JBhU|Xzbv+ZF}GE>;2!9eNI1i)rd(RqzU%eG%JfJjoP347(Xu?LE=qYwZ1!$*%k zeDkTs*4$HjNzQQ@@({=o%iwzzBeVa; zh6&!z-WK^k0e>@p@6Qgo2(^KX?b<>7XE1Dx%w|QR?Wj0yyv}whS_ZL;Ft+qS8+fj$ zyv9c{J|A0{#xt<2o3DR*!%hDHNYdswMq4J5HU6GmH|)`n5*b~+p8__rl&?~k!T z?KAi^62KOvh^Qp5d9IetaONg;j#zO+!*9-lnY^hV>w~NMU^`?RST{rm#;bioQo*Uj zK?MZoIe-9_-RK`vfHA^6G))*Bl@nL6P5@=}Mj@s3YM?hkY zW?R9qNq8nqTRJU-s(~gk0baSR->5|ZdNWy8Hx_tFR5Ouu<*+s>yrD)TGzG(;!FCI=6=LS#%^|Q%07xuX8p!=ldx@UV=GuiRFjtu8Li%&wlP zXN^7#QdS4A7w}<<=V@TlFr7N&0#flt;1xR=B^{dK$B?=#n zv~lvtbQTsX2z?ofrN*Z^k$5;2h(0dS5Xi36_PKd0t40tJg9ME zpbp>>Ag0)`4U_n1&SVhguN}Il!)fJM>WkGg)2_#mi*MAB>8?Noq9J4rMJgUoY^`26 zc9-kO9kp2OF(aB5`|M5u;-Ih<3#M_^E9YBv7ATprsGD+xZi06lOGHF3S&>gml7WK^RsVs<#V%q z>W-tih`5wrJ|TO-U-Z6{JXWZc@7J_uaclR@)aV8T3M`)M)O`%_7!w2&jndaf&u09%1z zoDp?^YKaHvxsh70^W3E`$io*d{lTS$tN(HVhlQ*2X8HZ!A*C{QsR&@6C(SQhdJezC z@#58mOMf85#d-W_0nz+SSfL(PLw$_&4~!_;2bZ!QbOA;{ECV`B-3sWT4M=jD;Kp$5 z?N~+_u*9I{hkU_;MH+i{fPy=nLI25%NqY#VYNmgV!j{IbW#qT1~p5T?-`1d4v<84U!8T*sIV zwkrf{N7^PSGo3yi;lP3^psfrHIcQmRdz(f|I5t_LWtY}&U$^b7ucKV9LDCY8-7pT> z0`MoOX!vx2HI$n+ZGl+HG2y^W>98`Oz;#?G)WD_S`8B%!S(fSK7su6`LO4LFB0}%z@8BZg(Od6 z?dyaAN<$PrqZT%Y6i}w|D)5<<2qQYbB-9jxi_ovY8acblD=uuMV}Wl6j+K@1;?FCj ze`26onFnV(u)w@9Qz*sgf0>fz_Dl2K%iP!y|MEciAHF zmeg4=t1Qq%0ZHLh!XscZ(3-Hkre!I523J?Hkx4B~<);=>nXo47)qZi|?xdJb-u;C^ z8)?eFlRXm5>G|oro(mq?Ga})90^=A#gmF_pl;|u}Dhu1ASo>cXQG|m>nD;0RS=1Q6 zf_26igma+jfZJk;qy&f61~yaTXBpF}QFir%OhNyGycJw|if(F*bRj=>V(jdlXK@ts zQ)Zi|=EZY^QT!%AqKkL)>Tn;#C&r@5bUGOwTb`+(Hk(~NU7vYrFjZGDc>$RPDUkp5 zk*=71;r>c*24;JKjm=&ZT8MQPXwB=n2 z=D(=mIkB}rl5(#zm>lE)ih{y1Gfll+8t_pD{%7KkFt(==ZS_Ih6Sg0>eOS_7I=4Fw zM!Dum5tL(4?Rg_R9*8g)oZ@d$eqf`N-^$6QW1vT1dAdk5RXqoz%|&dbi)E~aNfegD zRjd~*Xr4jPzG}+dNUNgKNzki})$eOYFr<4mzuyPdoN)QQ0?8D89*4&lFiP3!d(O;f z!ybp->7mn#;SC@ykJA+mWJJ*iV_#u^NZ3VkT$@TJ$6S*iGA5k4WU^?t=Mbh`czkwb zRGofgl}t?GGD~34bW$pNJSkG$FmHrb)4mKs~8FtW0p@4EUKO zLIpmpFT-#Eh}62dAMih>LF}Vxu~h6=jZ`Vs+zRtt}Sk*0Uq@PT*O|j;O(t-n0W0gd~dt9zIlW4HwAsgq2r^?Dm})POq4RG zJtz?S^abUR%I``_xIqGpNIzZZ+CF)wu?<}-#x6dTIk==y&ae<*dK3CyAN)RGpF z(jL+w^P^Y9{p*3iZ>P_tF9ZVL2^9b4PJc0Q;R*51Cjv!W#?>M&_x{VBe*c|MSTrYT zl{B<&kTodY{Fnf_A{~CuI#(oZ`O~uGzJSbz~9!~iWB-of2OVma=CuSJAulDKMHZb`3hY+uNleo+)#kR#9IH6rN+x6d2&1$Bsh0)KyY?cX?@ZkHbQV3&E(6Gc)!xOxOnfsb7xq%L}&OT6(+DoZVw!dv^w~M zT)UlXeCu1(1-4*&K>K)gtM@k(xOEe8h-!<%WdQFI;1GBWanV;H=>&5IK_IHM!p)1l zwJ!KX%zV&c-<2ZOFdbhJA*0d*+=VZ$gc$Ad0qhY zRlsG)bIhc~;}<()W1Y|N05(8oC*B_9D;B;h=gwW>8}%vq1m$qdt5BqTGe$WkQnUch zq!XkR2Lo~@;7mk&STM07DaB5DQbhy7=Rce&WgjZoOIcknAnVfN`1%oVBR$r+xHx-z zw)cUrmh1(lo=tsp(KCDM+?D9Ltavx9C&%NllQYN9 zT?x&*O&s#a;uElujG&dUK&&7@B7B2sc24)$ii4iQ;?wiFUw9;6`NiDa)o8sOo4NmY zll9N!es?bSi(~R%>BJyJ^2|-o|;RwAD~njsuE6AD)u5`fl(~Ay7J=8 zmuB9*1oh^vGr8P19{tT+Zsu04hKoPCq{(Z)`RF&~HL2$mz^Qw{sTMFM{i;KX6>%IJr=n zb=JL};PlB2_wff-@C(8U=u_08{D`TyFff1683?S82tW|n5@IAN(TD#oyh!DWAPS{c z5)Qq#9rpvHjsprvFY*Z%@_GG+0`bn zr24uQ8M)-STgR!`Sbgx=+{JOHy9}9f%q~2u4?X$d>Sy2LcX>c4uDE<|oVv>{7f#i9 znDpR4kArDuN-a34OPeE})Aq;}fu$HE3Cl?X2^V(ZX@firy$+-ju!;dffprj-HtI;% z7`!l85@yUg+_okl(OR9*M8NP27?*4$Nw=V+^|@jwbw>IH;9yFafu13Q#fZtZ15E`s zX1J8uCyl5#63x29-pXA^{J!F(Cs@$~hNE1PcVZddxs!Ja-oUiRI|wJv-*)BG=C%IQ zA)k7B(i1qW9D& zrlW81*dy+LHI~he)eurJq4qYw+&0#noqjtILt+H`La_*@?5W-l58-_ z-2r=mkL_(*CXkN&TeQ!G-Iuy#S`Rm{b19)(8G<&DBz5k*;s@&&^0o6Sd)O~Up%3!< zJBg>BYOSBoSI>*QYWVosV@3PhI{7EfvaPlk4r{k^*MEz&(IMZKie9;Iqa?L=5%*KOf`+ki z+-wf0Uu&D2O-9Wh@!ONcd~2Ak85-{ZI1s|gNdFy3RaAs>4wzGKj10p4EBA}kVO|D} zxg?ucRvl_Q(J8XeFa{dJ8l7ZcwC*h>=|uluIENj>VIN<}L^7Pn?fi&DJ(16ZC^QWT zW5X0oj0L6$PAYzilepaT?drC6u*_fq9#-pIG({zQJ&A78H<`H+9iAGU`A*+A$s zNS2IkX0W(liG)IteEupTFw{D+Kr=t(4@Z2r`J)k^(?D|-&1 z&EVJ20aC>zSw@=rAFVdV0(I2CmdC64ykQ{g>1ZRNL6?mS#Lz?|U+d(XO*C$>X1&1k z71*&#`!R57wCN`SKEOtxD$EAb?1uYEpf>06AtZt?(BD`d_Zsnq$;g7^J_J+EPn+W~L@yn_<4SLo`Y6i$Z_Ulk{it%Yv#`(s zqce;nGZ@`{Yg+D$a$CgCINH+3bLDbwA)hOcm2>$wjWqeX?c*QsejG2ktcS+Zw5P(} zXq9i$HadzhdkuZ=?R2UY~O^A~)oBeF3JFRxv)aLLQLI ztTH4T5enb*wII6T`Gve!e^B>AEwi;13v?mV6t~LUJ`_VD3SlRsd%b!F`I&oNFYX4B z+bIT0m9MV)kZroxEJ66^&Yn3jNu~D1Opc+k>j#u&xugj^0fnNF1&C+ z&;ginO7l%b3bOGkHUhk`6R7dnkvR^OZQlgs0@L80Y_WzCVxpc1WzGzvNv91}VFXM_ zMO};-6=O_%EPIJ{vD{jEH^a(zGz4@_i$}A)A04}dQ&GYJEURoHk^-M8xvFdY4JAvI zOI#OU0&c*vEg1JH_M8FMzocz!iLI%5kRuufL&uCs;%kbu|bKCZMCYc6bfC_y>EZND)jyD ze%q6^&&fTB^wxL9U!$Eqz>kU%Oe-NBbX&jG#i5$SvE#>c$4}&NJaPOA>#Mo#;yo^e zNf9-KLvg*wiCf2x@qy#VzkNt|^YYxLioek_jc1K&nWHDq?(^;$rB%rE!$91(Y%? zh$rv|RV$w{wNbc0c3FuzCX4v(;1+%L6(1(0)3O>V=%7)dBzHjRVgEz22UrPF^(mfp z*e7nvHyaL*)9yTW+vLfD({6Y4{;gB9JMu@CpME577rMtWHaq{rbF<@)j?)o}dXt65 z=|%xDgfjE1^O=|z3Py*%Q65WW5jZCiPvpIRmo8k+z)ixQE=3Zla-*CnWvb_@b9W=# zm4Ky@2#1V&SB_j>P`8X&D4%pX5drC85f0`Ms>fr8iILso(B9$nIObECr8$SkB^)z} zR4Os!?DZU>WNdn6qCSCt$jO}z;GRuWFP!|9v>**~{Bch`KnR7yuvsc3d77K&=Z?FQ23diZbR zQ&+%&?sWPhNApvKVmcQMIh_78K7S+{@<)?ShXw(^?$5X& z)(}4LAG%xxVCdxS^u8Cy!?nXNra|63>>LF1I_Gy{qK%Mm~TVHJ9I& z3i%Vk6yg9Tb#K7w3S^~tiTmrH!(a5%z*H{Vj{rX&sT?^fT!6Af(vWI%bfJEvsC4d7 zhQO9_6$H+NBay^y%GqRRF+lhY;hkEP)dnap#Qw%;E#j%V1boI)z&|CklvaY-_}vw; zqNjZkmpAM&#)G;;6k=glA`T_F(;kg$p|IxjqypXmh}L8PIUu%UtAbi@AG!m(qFTEDwaZ0Rtkx_+0Y`E>N{?Ce`-@U_ZhU8=SU7 zi6LN{ADTPE=i5eXHZN>EhZl?Cb1}q=~M<_nNkLwio~gQHVF1 z&_N^2Xcz5fQ;C;$#JBN`9ljcjq|rb)J@_{OLQ8-;{6svSPCKh-XF_K}Grh-}8wegY ze)rwafc)$tsIIVeSq||ybKp@%8U!AP7|}=~xj1TVKvdd>65^}9f5@&k@47F$w>AIO zZ)MvTyFYmak|2w(q<^rY51_--WQ-6i_5GC|0)vBV{hIz4i4@wYPTd zT9{8O+xt}Z;>CaWsrB_l zwL1@AU|g36*(Vza$fVv7w&Oqh&f-srjgJN%-K0&cG-~Y2DZ`*v==(>1V*2;207pSu zR05q-$6GH-j}f>Gfu4|8$OeE_L%dEbW+-n|uro@E)bhqvEH}Iuf>X*%sm3xdJkG!{ z>7Rk<+Pv1nV@QifMHh8iB->%M&8MSjCWS#6yvA+;6QP5{@>ND|nuhM+h|R_jYZQ|! zX{*v^SXQE>+1Q^LTg}Km>=@PoBMv!{d^YL(QNa)C)GpL-Fo9Xe#20LaGED zgr+DO@n!H7^il(FKPua_cqvGeFl4&qu%MP%ZA;-4#-xtiVq2a-yScsV@n5(3hXfk= zIu;g8-;pS08z1;AN9>!uNBRv>5MiMXl1TyVd z3X^neG}%HEGp@{)Wrb?5P;I5uLK%BAb|P8iW6+^WwiH?C*B?ChR2Ir90mzGbQT7B%P+z)GCN*>SGzcAc< zsNNp_+^TnWe*Ne}dpByklNx$v8BZQ8y?yok>iNWQk*&_v=GA>=5$7_e7j2*xn8Bt5 z|0Fd8NeS5iDrO&na-Fv3mNh&D3>>nh1hS4vWw$W89H|bYD2`2K7smX--H7i=Z#e9o znlE|7t1yLX!mLXUS~_}5GCP}gdB;Nb3*J!JcfkweVkT>gEYfl>Z{l#(uA9&*gN-<> zX;6f!rcl++mW-kZvEUExYuM-C1pCvm()<+L_9TqLU&^2z$NNpIB{H)Y>;7;Urk-q5 zU0RKYU^))49>9%8{Sy4PfpZQSeRv71t&fa80(v*sH%4dD+^b}aP3alR*ioY(?y~T- z*x90C0GiptQHIWx32Yc5vk%z7V=9QHoL5;cVFVhD8$e0F_>HR<>KBYdtLR9$IkXzN zXJ6~LpYr$pD=F!+1pCWivxQtaN+sE$l@4<7P?6dqLNHeq<5To@P@kwt1GT}JJETMf z`)2*XIH?$_!{FY8_-Ox{2Yo@9GNil%QRnu-IzXMWA?$R(?4XJb`)~DuntIYr88oTp z3G{*GS*TS5GLn*{U9bNq@n^4IK5U|-&<{%%%H)0J|9)mPLzt-07H}@bF!#fIjrHmj44;aKVRA`W_F4$RynN06mkzgoSS60*&0NK58Zq35;l=^ za(rsjFu=)tX0ebnj9g(+ZoQ;)fRDb87)h>?x?VK}cH2b<^z$^tdG4NvS96_)0on z1!|UbJ}9)+WI}9*+p}HF_w&ld~VI5d4PK2Mk-S+ zmFM=7vz7VU3Gm%cyuf^)sLfYqld~RotQmEJ2=^h>pBpB3{=j&x9dmE>i z-q300SLaT>wN`uUskv2bBBTwjOT7_k$QX6c%N4pz!Y>TliVUn=34&1Od{oN6^5aey z+#i4IncOqq`}r$x4deZHxa1$t{P=V#=XW{(3U?m)`S4q>{CxQFpTM;VpG&fOkR@a7 z{;GJV%=eX%aRkfMs>CSKfM^S{ABegj?4TPVAeiq{4Db(HRDQmcy``{tJM7d;b?fBK z?m2e~@B8#QJ*LmOe-fW3-SfK0XG$bNe<&vHxbSRm>d!Y~+8wx7TbAbbTF@hX`TbXaiFqGpi4MLe$vnw03t}!=G?UCeO@& z^xcKGP0F+fc2=@11LX|=$+F~zfHDW4{~yYNEL4_beZIbSCDAI`NApv*t3!4{wrX%T z+D}DuzX!OJIVG`=(87W$vwl!gN$l1{MA5ziPS2Rg`f+19U2%OgdL$K?KA^kC67e=cPchmZ?b9^~8H~B31t`}FDg?D8| z%Xxfi_EIzZ;(P9X7Z#mrUsrU|x~SYeBs!7=xwP~x5uu~7p|C9*E)98ip!@f^1HFIu z*yE*dOf0|M<9W)H^*rhQrmls9u>d#pKr9%Zd+f2qZ{~2D_qa%Trky+H$q=DH1x3HliQ#ZDNJ z8yRrF2dO0x0qk43#R-c26}-F*c$B)4;W7%K8fY~kh3rKV zpRkHuHj6{-g=pIURzGIFhIj_)$2(Th>B+#4_-Sx}^n&NoZ|}EL)d3hCt^>kSP}ltp z1s#yQEkS2s7S?G2SHet3MiOAL)M=g*L9*W3>A1%su&3^gCc%UzEG15#OF zz=!%!YjOCZhC$mI_R{Ku8ZT=0_SMP}<0Ov^9p!qK}H|A;&7%HIwx`37u zW*NK8lWLW)O|htjv$}`XPlZ{dV*d6!NY9Qi4g0G%=bZGe4;B(AaJUBu!wky|zOg6q z4G9b1v}@xHbI5j6zb8h(jK4;ZwRf#Mr(tC&>6tJN0kn-)@x0pv1RuT%3 zsc~aA1R4h8(jHI_aE`fiwbt+jBY?q$c6Xz-)vdjr@+b{LkV+lJTII1+hzL=xRo+f* zW2=SolspZK6JtYpBn*Y{b2M*f;r8R(cngSc=vswtC_KC?o-+4yXmu&OLl@+qzFgq| zf(hJFR)mz|UAMLB=P%Uj7tYtWVcor3t)4%>d;WaCA6I2r%vC^dOtqt<$iAl$+~t(v z67weXuWm@J2XVJ@I0~qbyKvRK0&{X8*sqen$-rPnetflBt*bNi#hRBkpqpOLDiV{e zK{8L%!*;#x1Af60#Y%j9xQjoyx{KUAw4#FFTeAv#M>q%#*P&>Z2>OW2 zaC=vID&!~WVx6=xFf!kibODXxJ7Cc2C-$=*(tR@ktzp1}##Nj~HCP_#Bz*FqPe`nF z6Ke@?!n+9tS1A#n1&}Eog1-H<XUNEc^szAKCz65746qpX zDnyEGeXTVbX?Hq<-w+STeA|FlWU7JG0Y3!L zF4xwZZHSK%{JPyF=r!BTjSc>8fb$)I@{odB2zL1+sqdDwS#5o7y}P!yQ3JR)!KF3X zM=2Bf7nrwmXrts`$b1zgztu>>SgC>JwD8d`)Iq07mW(PA#tce8=!FZC_W>`~|3kc+ zy$3x)_=CC0)r+%vpC(#U@w6iu%s3Z&|4n?jWq0YpaAr2_7Isf$>I0e%{jfKkTb|5j z;;|qM)io%sMHhLFa~T9e5mT8NBP8Y{9%0x0$5OTXpa%@--h@9Ye7=|`6pLnzbOh{` z!|u`jz90gn_&pc}*}v=Jk3|!sGKD!*77x-60qiciRbQ2!DO3kBPc+n*%c6x8$=3g; z-Wp4#M8NO_!6^g-nKT5eFu}HN*cllHT+oCeZS0}IpTWT>2NsFiFo7#T}xA((5kx;ZFC z&A}%4NeA~NW{7S;V2)m6ycu%BNfX_ByG+&=RIa{ARR;%KCdz<;Vx3>|D$=VmX zD96f`4Sz1UXeiQ}gz)ydBBDDRdy1HbX&=aQ>}*`0O7AiJd+w2n_s0AbnZO6D6{&QJ zb=Uq++{4Hy))7m;!<9SoF{luuDG7M#S728D|6AQ;8bFqFmu>Yx2*{SadfgUYvc}Eo zD@U&1r$G_$8nobtHqHU*^iC5p7?h^dzI7wWZ|A-`YXgN5t6od-huXZkH&$ zx3lK|a2NO;*^i)kQ8WN>J$FTTdeHb0(1-9M#u|Jrwm3&>FWI$qv0fSF3Wi%S@i~F) zT|3ifW;)1IgV=&HTg^<9&x1cQb&pE>M!P&4SC%DdGz~*>g}_gmg;D`PZ?P+>U>Q~h zQ4H~dsvKFCDKl@9K4!iqtgJTUb8Q(-5HWaxHZkk-NLr#mDvy-#|I6B&fJt_i=b`=A za!&30Ij8oeYwND+Wx9L1Yi4?un$awpO&SSRYa}5UBoNRoFgOgWfC6*bL@>zdu`$<< ztX#8nd&5|m0C9@MPHY2-vFXY3I5F`P2ks2l_r^D1I}WA$zW;w}>7E%G`?R`qxt;3Z}b@QbpqiN+ND~V*^*Nu^g7$TSpMk zc6)a@&S5#IG^KL@ZO4kC?LgYa(7NqLTQ!G;AWlvXj@?b{g?3X0O+&&u>^2EvmUy1 z9t3a+=m%KM#g%sZDw4>yuUx&_zS0FTZnwM7s$-tA`{5>Hvr?z7A{`TlhLr*_xsLc6 zc7Q`j@`g>KmxobLhY*;}>!7Hhui3?z8C%TC4?$2ZWG+-Z?vi>FZJ7toN+c|KfYc#W zl-WrD?KjR>&=}}VzW^*3{pe^x8aT_r+iVH$-bihXjZYa>CDB(whbX4P#K`SL*;@At z7-?zV|4_I4se7&2aJ*n5pd5no#jrvk>|Za!hCTbR3KTCphC6?MG zAK2f1c7vv*uVK3x@W(er8!{Q=uu!LYj8ceNsuJpAPk7m5>R2Ws<;>(i1rE-!@&6wC zg1uq?srPLuM@jV!1u8`SM{IIvIEFuf(XKJ0&nA2V)sJ0A&=t;)2xjI1MC}>mh8#tV z(G}hhlM?I#@rjtEOg2HzAx|gF8n9vD1&6V1hX+do1@7L!8c5wcm(QB3#r8rrKX>m# zn%|iVMBQ4bRMeq_&%1z9e1zi>44zeQ-%x0%y*=f9!F027EJ zBzr83uV}b6s=pPt^S-;bYpm?p5?j?BqPGIxXvP9{MU8#ul1jAw>utQpUleYiqJ7XEDBwFiEOnT>%c zg2;AX!p5b&7Z@IA9yf3;Bm~2$LvH-8IV)~GB`w|q+4Ajh`5(Wr`Q8k`JdtV(}KsB%ks|&Fd zqA2cbUc0z2Unr!~$1|%cdH^)v+mF3^ca@6iG;h9mt+}sI$TQRNsD7knig#8q+b8G= zj@TrqKnw8$=EN|O4t8UuHIVsM+wy1swLK2 zxxbL84Z_ONlzP%t%|tS!mw2nXPR3Hf{#)Q4vUaV*H694OMZNX^a=WqJ+vbK3@Ju_F z^7%8>5DoRAYR2z_BQPX){)jb&z*4WEeKN$-Da1Cfzxd|vV&9aQbKn)1U zS$zfF3i7pUeYc*fAgrh_fZh!F;Es$gi+Y?bS11>(L<5z;b^w2T`_E5RgBktJTEb82 z?@ws2o^k22`yH)t&hNzC_MLp=9Av-$F6`*l3nNr+P>BT>byeRnV zm~A-oqaEO9Uicq!-*^c=Aify3Q7|z_goery7EC(2)S_Ns0WVM!;2e-XwdEQ(d7Ne5 zSQvK~OdW}0rEQOjaFdcTlG3aF;=bd$UN!tq7es4BL2(BW>IxCCA`btI38<0-*>3%j zSn5CusC5_6zGlH{hICK+K7?758%5*vkC{SuR}d)+(YiDz(9!@|yWIwS7UMp5Jl!fK zz5ZC-r3G|7>T-y944CB7ffUltW)1=MZvNP5hC)-cs@lL-_R45Z8TWha0SJKNA;g7fe1nD+%jSWhOnUuc!6ed}*gCdk*^Mi49w z3vgIr`}c^P0t%h%Lu(;}@MJbqzME zeov2)fj~WFm$3&K+zmN|mue_O2PPa^BZt!kuYsh7=xk0OIxei)ov4M;iHMMfD@nH( zcR6%7zoIwv#~4h_7fHg)A)E>MyzZ#x^(XI3MtApW6sP=NE$a6ALYZ*M@+Bj_Py<+O z?03e3)FkW+xEvD762Q~ zc6!R`bComQYy{}{ki!+pb~9zTC`_l?siqbOlM&aN&*+*kopFEL8xelt_1yG(j`>4j z-$}Rk8p2v->j~toc53cKJ#!*eo=hHcxei;UYhLZRKN9jC*C8y+{s9djCT`#}uVd?s z(xLs<2&hdM-_jrdc-nUAN63Rz`^%RueOXLA^2iXzL-5!@#{L}U5_6}Qz(oW7DyXqC zp~fM<$#_h82cr2A7yt^S&PqoHkax>Q3t;ZiCjmSvrygW3TWg6q2080P1v4HFRp#?9 z_h+046X9_}qv-KH;c_ASGrR=ub!%alD-#QUx>ByCvmVb(t=3R*|I}7V`Wz(W~{h;@o3spDNF?dW~x|yAeT!{ zr{H-If*RA|L%dR`(bAE0CNZF~H^kQ@&4HcVAkDF*EY6Judb>@rVXFJ;iX2^ zo6kM|y2o>ceGeT>hB&U^N94F3m$nN~Jz?wD)nsL8&%x9sNK-~aCu6cS5W&Qk`X5H4 z{7-m7j=U?Hh`RFdf_nnUzy7!4+00ZX^Tk9aQ_p5aJL3Nnf5huKNABR92f-Eb@i%i* zx#1tGqI52lRj3;(1N{$as@htR7+I$D#LyxTH9b&TI`R)I775TrFfY(MA~_(I%~&K% zF>%fx4n2X;>Honx7pPmo@c!w$>Ngcb)<&$gkpw)_HZ^3qpP29aY`5?t{99O+0XmYEp`mh zx!oNnc)5}yei{co#fff@;)ROt?(nD-sd3|+&9X|~=>^Gi4Dxl)Of1VNxq}HeWQ&Fe z2*oNb_uB9b4Nw%`R-`3|jX)9xSx`)gM*jrvWRuC{$9J84bk`?49aUEeOjF5H5`Ujj z^|Vj+RAalg&_n&*jsqS!&{Gh}hh7E=S0dW5j-Z!RPJ-8y?t>imTAiv3PH7neiqp8p z4kSxTfWhM8{pUNK^H)Qm!umU(Ja+8Kcdi#gp_FB{%fKlC$W(4y*3DgYS*MyG z>zS=%fxKxrTeV)T#S^GLB zglrJJ$$o@JNH>n|6RIg@tYK#UfUWU)`+xRNU!)z%*Q2XiQ%bIw$h6vFn|v{s$N&R+ z=jPaS_`9Hc%Fa3wmvFpNtL`kv|Bt87KAk%!l4k?YJoAjW`u*pbkzUy7T@~(INvzeM73JX^{<#Hur@j@%$YnjN7 zoCs9jea??);KEgZTPCl0yoTWl{5-$%EAQgeQ~C|oIZXXOcbrjx2YRY31H1tJlW7nL zOc7B!8a!D1!pwKT@A$@oa)7nyZ~u#b@qMuMZp@1D{!sRCL>iRA)P@PTAP6F!4Qye* z`{__E^yy$wz3l+9v3%vqmH#q4!wa9mS)5eQMNJ2JtAOaDKA6D;Mz&}RXe2vA+%5U4 zU|G3Mt|}PPDJ%X@%;Wb%Ha4Rh?e|LJYNOILBwywp&k-8;P$zhARwBPk#h)* zR9rt|MKL-!ug){tmWkwGW7<6_I~q#_MAOEdcOuw1t<{Kyc+??2;f=x4c1vMRE>3>%b`rL464F`O%>j!>p z>Wx#S-+a`s?{kI|>0-_dyzDM_2m#*VU_2^>Wu5S&n5h5pS3+^%bGo9Lgg=y;O!)O* z*Zo1eh!jc^BH@2G3kZ5OWI+g{xc8Mx8`fLjr29k3m@i=FW*&Vzyy|>32}?W5|0TYR zxQ8Bat1-}ri54swQ1Q%(DgqwL$cG5nptpUVKm0?FPt^b0^KT6X7FJe%_}>=%V%-;Z z{oxL`KB-L%PucJ^FD0ka^7NGZo=N+C(Z-ba_Hj}b*xIpP3}V$)9MTovyoN1 zNktamFTIXCn!E=v5^H*Tb^6rQ)Tx&ouQ*{rq?Q*U#geUiTFLs<)XDo#PE}4cqtd^3 zK&z?yrdI)Tf}`yCh>F>JpFTK4HL@MXu-sLy@Hp$B{X?`qlH3x%307Efg#{>C6vF^|gWUq_7mo0V6b*ltB}&mc6X!JH zLE8e}2|_fs6m+08JBjUo8HdU=6}@IqC)EE>m8GTANk`fdoI;GqfX_MqfDrR9^+p0t zLkGHm-kKi?c&|01@k8N51z+Z(HJ$p3H-LPdut?pALjH*gGn)GP(%nmzNQq#fQSf^M zB?rPD&R1eF|1ryp@T{RIa@=yM#!|vLaeS@UtoL}hc7kc8`;#nMVR!>7useBucOiV->=R=m*qHD6M z1P@5c)H^HgT&h=>>K6VO_d``32O04@nP&gX(bQI>(iHc?3#HP$ca1LySeePZFpC_d!G+NCbKlmK_Mh_^0Iu(}Rdto&+ot!m=b5Ba08Z9&=7K*6_-R$fnu9ZkjL$ zBTh6@^RBnWHqP^^yr(TMBXII|rw2%%v5x%%JSS!*@$`%#C^bU@1VFFr)OG?>Lmp0A zJ7DM_sJSJcTbg`Bq2ke-nxmtqwfen*z?O3{bU6G-_(&M~>^CB;epB~&w*rBCYg!u1 z?Qr;TsDO(sO3tT$hP6?`2PvCEWg%BLR=5Q&3mk`ZxR&Z2B&cY3%uK?Q$XWVSy5Mp} zC!79c(3&+vR(QG+al6H9Ek9x>z<=LwWgE4rm$W10pk)M0iGvSM)zCznUr=S9|4~XE zXrZ+70{l&6U;`>upq7NpC3P*-RZ&~@Bh+ucTy^LU?1+$9p+Uj%G$@@gf)!U}GOR_C zac?z{MDT(aZ^x@2TypraKbvvC<;2m^3yyTGoCx^gq=L@@qXMLlnmVz^3sS--5wcF1H@u&6@&d1W|n+iO|two~79SJifD` zY?KJ(KvU(bK2ZE|)E(;zFJFc12yLXY2@%(bEmDPKEb?Vb}bLwE#a2G zXOH_?e^}b}!v0mFwi>;$fLU!Qeb6Up(G&h~N8!H##@Q93O!8tqyIrL5SkJU)jtYh| z7!6>cS$4JJnAyr&h#5YCChTeHo238wo!Z+6D1|?=$(VOLvh2w__o;Eme(h{_Z{M>< zvzESY_pKT?%As)N152~JEfA#HR*67BM@!yY_BPNvMya`(t94hasL$n0#Q595CEU?usB?&0T{AbQ|4_D%>q@mRj=dA*$1N$2$Y~?vfq~jX13||! z;y5^mmjf$#tY5ze8or%J! zOfz8>R*C?K03T9ZDOibS=9Hd2nw^=f*YP=-NF;H+UZ0%F9vz>*T-Ud(=s4DKi~2z- zPGm488R&mkR`ak}jHD)0p_JE)m&sIQam{om-0(F#3#ESd%;f`j+yt>f10a zKf8JtTaij-$SoL9Q!v(JJ!~W{be5wfERqUw1=yce|I$vHuxC$7SFDPBa`>A0cb zkET?dI4XAF)6l9QZJif6ArMTb?Qp`-r02AhuQZ9!*g%H1#g=2Tc%|WwMm>S3&n$xNG#UfEFl0T4kZZHS_ z&$>hI&-(4RD?#mLF4xPnU~h0>^Hs!XsCaa@c?wd-BE{X_XZ5HS89ZkAyfY7c>VXG7 zrRER_g5pW1a0IFYvp2}RbgYm>fx$Z!s!XOvP}_d7_(`C{_AyClAk&-)`U6h4HxRc9Rd^P_)ENky<+4ad zf*v=(0+39Dk)$X`W4TDc?dZT5t|2U#dommgdR)-2K*Qql1Y_Yz#7M&>m)qtU*v~$! z0BoDsXXw7Nv$o#e*=ZYyGTx)7gOU;6gZo0ZNAScF^dX1~L%~kUOce9*PjL@h&K9;A z$RG5~fH#`JuEPN9{hRReLgWK@Q=wyJKf}!jdWi{PDUUo*z3q+eh6EAA1B$n3n5X{_ z_TXzMc@hY$a}$qEya6*-QWZ&A)BstgTMh<8HL0jtEje(O94inu^#u-uI;98`g3xm` z?dx)sAZN?3A|Z?^ZzWQp4qn-3nfYWc9FJqVSh+~N-;GCdR>831^QDzcqUUn@{83ow zJRvwAc#)vR<8x#Tzx&Hhrw3VH!_hDxAc4h}FCJpB-B8?z_)dO35|2lG5s%jYp9hiO zH&ToSGclj5hc5-9W@d6~Ubs8~BUPI@e0ZjoG6G29b)i*H2i#XRJsP&6nPdVPrF6t4 zizbqpR59xRnBSkV3UPlZY9)*F^*6>7L8^{}i8yl21j7kUOBgYadtI;37bgo5PkJeZ z&_VQi+U=}$@Hd`QdXpzQo8vpsNY8!^+Nbfzq!WN=6KsHI z42_Ky6Kml#78B*nSjoJY*!B?mV48piO9Vj_^aKGzv z_CaU1)o#LX3$w1R+6S6<4Ra|mQRLdT9mWx(PE8Mx7Ai6Zl@Jr44Ylly8MU&>V%(ZK zX~}}cCan02cP|~x#WLl|h3Wm5!1ACp{Mqz_I=&F(Y0@tAAw+qK^iXsSEOugZYa0N} zZga8!$2K;td96p-ey_3!UWq2S;Xd&=P^(g!gD30=R-l6bLUfh@bZEqMak2lOZFE7y zh8Bpm`yQ;^Jp>rE6~4e||3mA|=ni`g_K@SA-bdu*$wJc~81b0_(MEb&)DR42Dz<6+ zAliF|A3cb+*{c@c7})`ObPex{Zcph9#RL$;P+m9J2Nt@)-rL1Ec;s^iHU!3(VBzet zL3SOD*?Qm#B{o&3^w+wZo869-3)KGQ0e4lPToNBVMB#jZa4?A2Jxu0D!?E*OmlpX;Lk)Ly~$;$k~m zR?8|OBaw758yF;>UpaRLY*=S}RXhvyv@yoZaV*G-tNaJVU<247W3)i5sq57}GF7)d z*S`OSiH((IT5vczQp#-J-@5;GqP<-#?(9*N4feD($h90d1a4P7jAAL^V!85HYyyZxMR-?s2ugxyx#sHM zV5HDD^8y+6E)O6kvGd`lBERx9@3`jDNL0qhG)PHAp#Skp_7!>ngpC_C6=N-W;4`2v zmQRx#98x9Vl<0h<4VrZP6{yK4+kB1jgt99rogZU%XQ=_JGHcbI@g0WYK{^k83Hgrc z`G`EA{eBepmZSER0@Hw z2Ihtmoj%u1I;r=6TOOh)FbQ_PtQ~&BiXUF-@@~lo+*1BB*4*If)RxNfh=Gwc za1QD;G=2?j=o_*~Sp;(o$xkR{bCTtNI51URJ@(+-l=u8f?a-mx!l@y> z@8QUY-Eu;}3CcoVftFOG1NF7b&MBxoo4_7-<-)lu+>PZF;j1uqnxc9BJgPlDHRKS= z7y283vr-<1CDFWec=AdYE4#gMU#bg^Z?M*hLs4_}#b@fBC+Y2{r_$Zu6g$Y*rF?Ig zqrHYXwJ1>!$PNu;AM|;3tp#?htjWk?L_*XNKc`j0d3|Zcy;MWmc5K~-iBO|ZQ>?sg zu{~FNS9`HgJ(-`@n(kLBoX-E*)TZ;gCQ z5>L#v7xT5pMz>*PxVB#SruetwSFs*o+ZlS4z(h`=aTzKSO_!h}Dc^#H)DX7MB1ef6 z)Nr?CRA!0B!g-j}Yhpr8z$cNL&y%0boysF7aygePJG`F!soZ2<2Vc4CyvNJ)8)`~k zfOgd#U7d`I7^2kr%B#^R5V}6y6%*0Y;iwCOL=0D>;}5nh@m4+_+#}G!>Yk0P z&fTqU$BB#*vOU;)qNy9rWAOckFBb{b2BaL&DtYzQhwfe9kzvThkhUrxJ7_8G9DelE zQ%>0+O`wKc(IB=fh?=&wbzKGR0uKN;6}8dbK7}9lPn$kyu!I-!bTAP{8GAi}Jmf2G zp?e)TsCPCym?9mzcMj>_&31duz#Pbs7LCr2_YrMjSnsxXz|t;Txqy%QZlRn=dM4hE~Ad^AGmGcC+Q*d}A@gIn1a>Y0C>^q{Tj?opq*}rjTyi~u} zwe{RAm-$C$CJs)V0QaOcd?Th3%rLMnYL`_h!^+l>!%~&o;ob5}4f_lDR*~N@BgIkr#OBZmLh&<-Z-w7IJpbet z!%D(w4Lc6vJ4)`gzjOWi&E_UY77XkrrwC+O8?@jAAZ~0-d41%V(Qq5V<{Zu6S3-YdOr5>;kUi5bop{Ig`eW( z%Y*(Qer^Nvksf>~u1cN(eT=xO;D4}}%Z?r%fr8zN>Li8%5go*)+21nT@XA1f+~5tF zCN~o4Usn!%KL@i9vVX_+AHQqy#&#Fpgb~yAByCcr$=4@cW<;8fWatW5h_3kk=TS+; zD|7w^(Eb|cE^CDf$po72Ja7dD29g?Gx4dG1_(7{yTdDax{ciw7UBf>Q2S;MFwoRBg-3Os`#K=ZioRTjTz7in6%+48uYePzanOOj$HpwZ2Wb()5`i*}AY1?| z=*3WQfV^W?ktv|20XQn^`4}bLlz0Y^CrBwuMT)72rIiENTSsoc+HwoZP|Q3|MehEH zTgUAL?gF5XKVC4SaerJBAun>lCK4e(kjM@vv_TG!9*mgzf&rjH!Yx8Rs048x$aW3a zG$-O_2O?(S@%@#*tS%cdQOiU^vBReim#s8Zrkcnv9Yb7uuPYFVXWdXxG;%-4Pyg>m zF6d2Yh**O_?a9qm_Agh>sQ{wI zB33*MU}cBDnKH{Br>5tZ^5rbzx%)D4PtfHnCUOk{UoSbom7JboWFO?q0sS8SgP|l- zss5cZmJoWMvvPx830;H$>GGfv^a24WUkp(CHk1_x^ny4PjOPKf8|S;CCFF-Zw3ouR zr7W6Q-!=+I5(IFR%Dos;;S)g0Dx1pmiQwI9?M=lBu2uJy51l?#-d6=HHYT5vTiyp6 zOZgNNQ;MZhbqRFofPdCUmni)1z5Hx(pYLC_+oyet`Kbd3rtF|~JPB)6JG1Mw*evIu z?#NaSTsqKJsnECNnRYu@=D9>Fj?-+rn$tb-^a>gDqBTU#Z(9w=)|TkX0@UMGbeWs9 zJE(O!cs|$ZsF{142n7$=cGWw#F9+ct@OQhic)tC2EDv@Mi;^9|M7J&P!}(Tg@OPU+ zw+Gj76NDr`AU2eHr}%KF)&S- zTnKZ~-lruh^R((=mc?VQ8Y)iYgavJ0L(i%x;woYfBV-dng1wB9@=)~Bcvc}l_4o!5t$m_52BSpca9ml3dJQo?;kPb7tdDdB z*ihLaz&dhGL2i(!k$MR-!XIA9cf0uuVs7Um51?PS*I!qhMVo-E44eLZhebM?3J2cx@wYdBvRcLPRjbTY^!^M0 zZP&wrN92HFklT&ad?WP`P6kc)yI}C%sJ^PvsE&;tYy!d<4Bj&Qx4xqWO`HU0t`56{ z@q^@u@x%PA0;{CUu#Xr-vE69=#>M_O#XN6si;4Wj29MY$Drqx9pxj|Dk9^_pV%(t? zB;jR@C-wr8;^9BzER^t>AOu>=5I0BugJ&7uGk(9ERh@M>vzcw911ou30P3#duz+ep zV|)`mY5%Toa7c$gW5*!7qaR7@2UxBebXcgbm<&5KgX0EH1iL*9zZQJ5;KpT=qg-h% z6Hw%?;S`a@Ev~@&@D^){_uvME&e2zV2x{bZ{X!^oPWynaoeKu>*USoR7|YBB!}^4K^0 z2=62Af{C2mx7Yg<7-zM=^1CkLXi1+eSjYA}qI2WMh3Q?7>0ICViSY-KZ&&i^G58Fg znE)RM1G17%uxnr%3_dAp#tCt|bIYiJx?>bM1UE|cnc3?YYzK5bKvHat9d~*rWm;(U z){&1I+A65Wp*ohjL>Z5TA0RCbkEu4o2gE$Vtm1r!{tR@B`V`XaJoFsUb=oaJN=Jyj z0~NIi^xn%I)&(1mkB2uR8If#{U*NgNcXuxgjjq?o10u;@VPVB9_(cIOi{mo{t+r0@|4_dRQbJ4eu_SnyM zcO%S(O(8(t@FVx^6zDy;z!qYSl;O-Jkq}@($k#KW1DqIL@Csp_76n8i#(UrKBm?si2Fe zsa^W=LDQyyno{PH%)16uiA0l1K@FAdcV7jYc_Njo_+kk7{g}6u%#;HDlsAB2-eGUX zgCt0t0QX%?0)B*=<(7NI#ObT2 zPF?*7U!ITowHUn6m-C)<)QTXHRVuyu?o2+C3;<|a2)N?ujHhegv{KO1h@<0mxU9_T z(K4kx`LY!(hF0HF(<4z|DqH=?CEb7YIMf2Gy%UYe>@Qg29?Pv}5_ zdOd%9`zs-Y+Ada7_oXUYsKRet;>*GR<&7c6yU$xMr!S=uH%VPemvQNDFydMa9E~lP zDcymAHdWCch3HhybIv-lb+v%Yved!wT}%KrbMUb@@#XzFuQwN1$ws4DV=k9U<+5Va zzJ%-jzYNBv3TVi{dC!>gORev{$XbVtBaVaZTGHUJeYYm z0X3J#HH7Y0dp>1q$rHw5|E4z@0z{TtokrstS${F#|K>%}rUio^8dQi02E8Nd^ssjtxKV5o^w%D?S=qmeHLeNAu0C`OW2^wm}* zKc^R6<+Sk^V~RoXY-6>dMHA_gVMMHAEti`M8o8}8b)jkpZId2l3uKsZb`4B2v^EWF zyr4y*dEuM+Z-RY9>|PEK4U9CN$#H@q?HJH0$8#6bUB~QKTWtSv9Caj@%`(fhhC$sTm+sAx+JU-xX)TG z#B6R!&S39TiT@y0<7VTH$MeVg*YoZC>GI;BoWFu;vV+K!orN|o;4eI0F2n~39On2A z>P{=(?P?E=51ItUAB{eP$HUKR4Z(BApNR>}IDB%>5FbFS7A6Cp$p~%i2Mm>DfYCSb z4_O9ecLFZyUq;CB|CH(C$>B`%Qbu&^`7g6?j7+zR@Cun%9lBS}DfBa**2NtEk@~sI zx`DsMi|S{!M%4HJ9&O$Ayz#dFiCiDVc3{7O?v!-En!_Z($_MMTJgE)r$(j0Nt=408 z`6>+hxG&evSL!#WDwU}lbv93zZR9#u(l@jVAmm2|H%t;`RWsj=P;v;MdllmS=rY<%TA|7%ma9U^%b-e1uAsez z4G{-o6Jf;hXO5ng>VLwn3gjMKgyb{2h$x>b#gIKeuYsnSSZkP{N>4qc&B{x{sT8#& zn8a31=8^Zz8^}*ioqTP;yXFmaCA6w~Jh4Fi|3cz;6?gSF_yNMBYSW+$_)94Sm!=Py z5EUfB38r45nc{nrxhQJLhk=~+2J+K8zP9TCjUBj^D%lc_SXZ@>rzXRxqX0R$FnnA#46 z(E`Vgb0IP3fSN;NnhbLh`VMgL`~Q^T?Tk>!IB&FCQ{ix;D7?OSZ8?5EelG&v-Tq2k zdrpf5^+c|A4XW%uh2`>FlJWwxI8@n#@uuyko^35AQ}ySOl#VNQ9Otf%;P7J1WEhcQg@zt8WZ(2bNYmKb7AfVSFg)D^^!i8qm;@rJ^QW z!9dKbYYyX7^O2K&ft<+^0Aw8^vUIh{a%d(FiXd z4`}{?1D?DPV3k9qBMyA@Wc9gBDH&VAZu^{mW{cWb%%s`w`eW}W4Tno;F zy@e8$M1KZpYt#p|lQB;0GJCMLmutr`VY!Mvv)xXKD}dz~WB#|5 zKCrkcIMb-rx75J6eqBubZIz(BI_UcV_FJrjAvTBU6K+!-yBls9f!9+w8P(_3QE2a} z(B6^YoW3Ek>l(fCz)fKLwFY65Db4_}AiaCZ2<~idZfr=MQxAJ;uh&R*+H36%0Bw}< z1xsa($x#O5OZh=Q*Umc#%>p?}f{h2;ALB10T0I`TX+JV53m80@0BMzPg`y_cAZ82W z_Y#dVA@}el+jhkSq&j!g@e|NDK6$Ju9VeQ{o}|kKkjI!Zjj2}!GtIyhV;S1oI?f9+|D-V4Dz_8M)Ne|GW{rYRwcD1BM*Nf}O(N%-Z zsa=Di`qF^|qKm_&x`r!JtyFEFZ&#ZqZX2gJ;eh1ZQN(@qG;)l3H?7uJvZlM(2&k-~PBU zA3giMrHAA-yzIzHt@;WpvWGIAM4naa5cDR?ko=_<0_>9o&pF5qOpJ9^IDWkQRu6n7 zqB?p+lByL(Bi#Lf!G*t zUHgR5VeL0;M8xEL&=*B`7yLzi!THyGr_e_|hCOxy9;G@%)sh2}4wP2Q2{8ju zSb7W6v;ef)qmMnGIq6cPW@fCrGuvh%da(j$k-`DvROGe19Elgt`Da4X58w%TMiQnu$6Nn*L`0Mf7|2Na> zM;ylc(RM8G+q{OC!}lyM-t)o5#Sfl5c@pLbHHVbnx10JE8BYhiky1cl7GbDBNp{xr z7oN*gyW#Wx@-KURsg3o*#pm+Wczh3r-Z#Ao_F9o(3{J&2DB48JQ5{wz?AfqsE;G;5 zvrS<(uL2glv5l~&O*m#jUEBrZVb=xYa$P)*nh<}5Z|HUCu9vy}N_95hTJpqpcLNYF z^WE<@pIm#=Fs>nKtYN$?eeRV-q+zOpL7y6~6i$`A;48CRUyMaK82ru-jY{*xB#d=fT$O*t{0{L(L6ku~irV z%nfN4lKZ1F)RW8Ozl3Z`Jr%ozm|g~SgNh6n#Rf8@LQhCH9`M3cxQ=}Q0|4b@=ep#R z_gu4YB75%V0#v!<~hH|_CQ%SK!Pb<-|!g{oPLcGg?i9Vcc*y+BF3Gb72>L_!YJ)t z9tJ>HK|Y3$>^|GP`ohFdIla!R%k|6;M$g`CHdmf;I%~M{Q2W?q z%?ETUdyw-^&b{3u0lmeV%%F60R6knQ05TtYv_1Y~)bm<{u=jMEK=Mfg=1 z_%;s4(ofzPDSU{4lK&tV<4@^QOdb4pP`rwGh({8aw$X%mGLXUAPG=1G89-KU-z58tI^PilWHSREn|yu5{bua0gXR zi6hW-4)_RI zl+AeByU>LS=Fb4$dnlD>y0J=OIhRV7Lr??lR3H=a%ZHW=6>w)P z{a3>bFK&j@C~~D*-9bUwg+lr0v|APYUO!?uzYl?&eMe<~$euwRupc5u8*S7It2!m? zQNE=jbZw!NH(&vyI`D+pM8n4_(gC;zE-~+R}Ca1+AVBSK6(jMTmd*#Kg#Vaur z+Bc+TH%<6q!sp72MYK<87rFPtH~>=?61xAYL5}RnDu9g;S`FU%RKg_|Tz1 z@m|q9p-r;32S2K6Tk$o%6o|ORH_ zW+C_dW$JhEm}Rm9z&?;&}16W2M?RnjfE zvkIgJRpsLv_2Tqnlr(*>^@}{kxc?Uti;P?K#@j#~l6=N)k1sr6V|N(q?Z#ebFVtnU zM+YERLObyyk}zlfodw>_>(^gIxV?dfv)>g?+9@^A=viC&EGXelo6Put-vDp&L7j%`P-AnaoncEC* z*a7CE!-pfiPP5Acdii317^-Z!SxaRy%&JuLs{IR%5SS~<#~Ix?)QLzN8aeXe0R%Ld z-r-sV{Jd<^rgCR`t8#97tI|mbPrqjb|G_`d;(l=y^>|kKM~uIIJ1)g5i5cM>!F(m2 zI%#XKA@2c&LrMg081^zrvcLksMkVV4IRRQGYp6zl)7r}}HhzhIBIRXmR#4kE^+hcc zW6rTyMmzF-vsi@2<|d$jxHdbPaq3c6_r{2U^G2jty6ny;jrTcF}$@|1C;a9Pp^ z8pjgkQ79R1Hcn1myCy~V{#NhW)JgGK_r9~uuGH4db-wl4=2?(j(h&75>RYqiccrC` zjbI21cr3sxN)bIeO0*E+r!0wE#yUKSXI*MmUC+2S5(od(_c0fXRFo`brf?A%iK8F* z?31bDA9QlLpZpffx7Qojz&}FiUhX?kk5kNBX&G?5g4I|_{bRIWZjVO*aYluJa<492 zU#NB$ssI%rjW1k^Vkzpkvp6rBuhCa)wN?E!8^|WbbUB#~peszkHI$;;LT;({fZnqX z5y@>4MYn(0cG+}UT8mYy8}$_nc@$YS3^u)=xiSYtUv@_!q-s$89IDqnVEw|$lWVoK zQPl4?9~)G%srn{w(J~|}!rGpA@IdnGu9KfdWv$rR#6?xzlMS1G(&rDFMdTW-gS4yv zaZCcxOyI-_Re|$>NdiGSt)jKAtqp8d5OnP4{W|swXpXQ`K#z`%3@ep7_Lg9am-^}-m?k6u+FWytV=acq3X%`-%Y?+{vSncCm#u9vF733H+4ag@TdB!c5-Nq5) z@L}VK{kF$uxpTT)E#vRB{XQ(K3l0q|+lzxT5FJ?RKx3g!dj$Ici+WYADgT=xkd4mU zYnkofv)K}fSsg+?_O#1j*tf9~NVNt}yF(Ew!rN$%4a(?`=ocD#)%32bsNO0Xxaf33 zBm`LJyZ0+tVc+bRK$EMRd%ToUZ8;uYj3;H%v1cQ7*F?gC)B2gkj_CfE07F2RuVY7+ zdjalU!*}dhF$R=tvP#QCEibZY%5R@uB&mkY6VLDq`H;rI=}FB6@*au;Aq2;$ZBTZS zWw0K}^z3Q?F^6akqMPYysy5ZPXGEm)V`K&FcBndywPP9bmtBuxBRGx6+KqV(7{yr0 zD0Ue^h6as?EZwo2-)%#sHf;aIwrYPB+R~6iX+#H1rI-jBK6fmY45#d@65UV|{*yi< zi0z2ofINHXd&rNU5YI@?0}MMTF3oVTH5gLGCXDLg^354}8HLeCwGmPOm z-Fk`l0cJZ>^W#6@8J-FFR}PW4)$wOx8&$rPIoKqrx;yH)VsByZw;#W4Ak!N1qGOVx z%pIjduaC-VgHr&zu-M-oTXTcA+(SJ@T^ngu!HvI9Ahryt|J=|`Ck!0QeT>JrS zaWdwV)J1|uKoUaSZ+W2bjj(k5Ig;YZpTj?Wd8*jem2pNHYA6gaYwZ98W>F%d6d)DVQV~75`o+;=Y^!Js zD*33qygOzoWCh-V_K)~IV)iJ1LHbkZVy%u`fpQ`+W`bUX=Mo#ky#Q?0 z&F=a0_KJqOPm_D94MauQu9*B(A&QfIY(}b ziV36y#82zNLD-Ci^0bR^tHWX9q6 z$M&Cd$|*z;K>(MLdQjf^^Pb7cdOUI_;I&fu0FX#7!xb^+YtylCJ!R^;cfoK8R{}_; zn)rnK5qHG%MNhd5JwAg(+Z;9E@LxoUcK7e8H3Yq-n?4uLe9jR zC6=DRdi!~hBW~h(%*#>YoM+^IRVSH;6#3oYxL`=C1uBLh(3_^Ap7iUU^6K3v2O9l$ zbKCQ%U7W$_$m033v1yDIB$h|T zP$t6c9Q2L!zPPn_uop8=>Mi}#zuw!`Lp_<>dD!37dP%zm^|(6zTX+yc8uzcmP63pO zXl}!Uds`ae1~O+86gkg)sMrJ0Z!#hvdQj~JHnk{Yx1`QeX$)YXk;X|#;vKA4C|Z$F z8Y!fssaPl!+v>tL!^l|(O5NFRUWe99+HF#?A~=g+v5EWWG6#Y~cFV52;`@ovzIB&U zs!1Cf1Q8g!#4g^SMPat!1rY7A$po!BQ~|tz7ij>(-XrG`^$N6TGs7)n9)Sbj!w$fL zU`W=WG;FKVHc)}8;$HE&DgYb0fcp#x7tfK9q66690s@k{g)!U^qm9}KbeF0V2yeG5 zWn{FO?Pr}NLj86%Lhui})5j_zHD0nJ(&@6RdVwbzn1g#G5bo*?lssDJUCaSU`m`|L z3QC6yP;+g4Ad}$X7}eb(k1glll=>P*1)jvSZbRxN-wv67fQ8>1+kF|8Zycq>aFJPS4CI$8Lc*VEKO+z$7=uSCMN5cYYqtwLI%mXIG}r7@ZA+W zRUx-`O?=}PMIv^mMhDXl`bx~Wv66t2N6)F*zH3^J^%vJavye&sqSAsZ1s5khf;8T` zUyfk=8*6gHK`RFd z6!h1o0nC$Lg?}#gH)z(zJ0El({P5yRbud+LH^0Qjpb{X$82UaP^<;>~?w+yO2IY%| ziW~$wkAFo@3JZ z;@#q?B53=AFY(w|cNmX%4_z3whqMivmfQ8CqzV)`5IAbj{CS4`1<2y=nS<4e;J@sz z(O9ZjHsC(lV=_4fp7$dSB38#566d`50AjwvQ~5_6J6c#NZ{AXq+Yg!~AF=|sE*}yP zm^@N1I#y9z%QV~})Y`d~Pz{zU5(SM79QG}HmC{@~y0EK%)%d}a>BUEIxL|IH4T+&_ zHef}*GkHhyqOMKgNAt$s5tXkCS$74XCL^-9eVj)Fa%9t_QDahHkwNlgLnS}3tEs3K z<0v0>9ZqXGvm{G! z2jYx5F8KrQb*f%6Zvn~Ek5a3fV2UI|z!{FZ>?Y7)1r;ZTH*h5{Mx*IRC;jqvD^B84 zb)fHJ$e4&~HzU^HK}p+V>y=S_7*7^idb#rTzokRDLJ?B(_Wju1ZZx*<(0k)FRh0?U z$sJ3)$(rx%=_9Z^V4L^QpmDw}44fh3`rN{~BD$g+qv777CeM<3W9$qt+`D;MjFlqd zqk~(x+WyXfm*&6@i251`1*eMgfmOVi4mvcgB0Vx@4oe%%o7>mvZy5&6YtC#{LogNO z_g`#&!(mibP;P#yXfYIn002^Y2R6jk4Jp2EPzEJdlJY6NjV~#!<50X1Q2>p=sJF+L$Cj*<%`ZaxJx+5m)yCH&$Md#y2{x_Umcv*X zdlf7rxchLdkw1SFcV^2t6KulQmQh+3xJEE#$fNrNNKV+J_ZCCVz26r zkS5 zRccV69N$O2W1wV%-DkAh(7EE1lDO|#A2GHOOsW&_dz{I?~B?me*Lk{edO z{N#xTOh5_XDJnb-XgH-#3H7D&n$9DvJKx35V!2aUL_&h@b>wxFB{a9Y5COZ_n{6oV z%MiCxvEDj#$P)?euvxp3J7up6@v<@{S zkw`L_G?F9Y7tXRuF^MdR^qD1?8NYD;Qkq|D+_WK{a{EK!crg+{`dlL$^1D4A&CD#^ z=kYl8gy&dWH*}}2-#4E%HP8EO2ant$f@2@z%dh#J&OjL9LLDyMbUOWEzc&1HG z?3j-48v1>%Sjg-DErl6)F1NT!cf{32aQIRWdqZrYP5UJJ9_um8W#e8NwFccuNH&7p-HdRx#3hY;Ebtr+p5 zRJQM5!Gvq+^T=q0+tE6l5<8kZ=<&m@iGXbVFLW51)M%nQA3p7Ic_W_Ld$feVCrKcE z%>%uebBX_6)uKVIs>K4&YkDM@Pp291>7gFE7z^2&%^fGCq9b9Vb^F zY@K|^g$oaS_<@TTo3qOo<`1+MF6^J3U3}oKix*BluxRr~*AX|f1RvMKuyovqXXc$q z;ElN`V~#qoc3KNZoe1pB1mH-NRX`}hIVbF@bPWQQCt)J?5KOHwepOfCYKcuT>=5sZ z=FLDbS%}>*Yq_WoE;^pD$D7O-BUWQF^_0~Nd&2qyt3KxS?tSj0-wH%>M$ju3d@;{^ ze$!|8MM3vRlR?}S3jS9Sf|Eia8H(oWX0((^xMB1Fj?^1QZbS@>=2}WRBiXqBE9a&) zJ!s}4!Bj)jE?(5MQZQ>qye_8(K6Xf3H*B9*Y}RAS2nIQz*^n%)#9~c!fZ4Y(8jwJw zYAAJct=k<0l;4pm8qoQ%XEV12#tEo0U`p`#|3BjV+=Q)y`G$xs(W4v}x(cG}VOm^j z#SKt&tFG4&=A(JCe)oZu%ZmqJaoBOxsAfw~`(F7u&)t52sD~#q2kS#4$aXT0VgGOUYNXL_}M&d%mBiU+p zE|ZzdCIX>Z0jG|I2Nu1R6Y2cqWIlcTf%rLbWlaEeV$%W7!@mr@L%;zLwhXJTFV#&8 zkRt?(t1%ffT+&-*x{770-avg`g3IRX0WVx~0`R!WF2sH-wy>F*6dzfe>wMCFpH!y> zGMAdLpqckRde7Y4J&)dNTHb((B$O(w_=cHCm|LYt6nYlS?Y_Z+e37aC7mmXT*UI;EUtjUVFfiBH?WX^ z{)Sl0eTu5v)Fv|9bar-#e}iwv7#D}RF_J&sG8Gd6Z##-aj^1c_>4!u#e??hz~KlwXg9P#$s5|p&~ z>lK1%7EeTl@M#f806_N8qmPDQ?h7~~h+Qkwm3_!Zq*uIEvYZGK z3|iO%4uOEwVNf!V!PfyooA{}#=hn_0$J1ZH({m_|!-f*f{tvD;n;*loD`REZdS|vl z#VMT-x2eAy?XnaF7GK!gfN#l$y@$n$OJk2_GYaOLQ7HS0^3e_Pr=X20aY+n#5#@BWzGH=sKl=RvL|=`{_uk_!Vqs_H;8nmjWE)B!^zb5nCQQ7WUOVbsPkQ&oQ}~64%ltiaa*fkp zt&5qXFg$VE{M?Xj-I$k%Mrb&pYjVS~%3w1PW)>*bfb|eN1YY;oHhZANFq^_so~afi z5#%(8Rt>6a;LHPe_8wwg_0HCo=dD;GW#r>&sGjBcppS?Hpl|QW#IcE2kXD1vf2~MK&u2>LU4m$(QjobK|be z`|~km?KCyn7Z9gr3bDL@enrM5xSzoZ_G!U<&X50JcIWazKmK1H4Yk*f#=%N@>Q-SU9LhCiOauAyMx)|MH7cH@X(m0DM#@t;Tk_uM>SPf(k8q<52rjsLWor07>*5|CFOOMpW_xU2ToBn0=qmMM&UJg zxi*aAYT9*FIOQUmiF6vE{|fqnP=&~~p}0TYs7>mCQ;XkoIbQaAFL(Gf%{MrxJn$3nt?wq2-%Sd;{`9fep}Uzt=qh;OK>amMd@-(7KMWO&d-xY2_l`C{`n#Jg4G zO1T@d!ow4fWB;%qAE*UGcjIvwq=eFdiv)ifg?k7tBCkAX=y}j#A zu9F?{9`LT%lCaZou>+8#?9Rki4Bf-jBvbByM})WnrUD8NJfE%<_z){Klf~ttXn!9J zM@9Gm2RFZss(ZioHHw$t=Gp!alFd@AxKjMSy+%;xHK|Xs{gNbcm*IQt)sa4R3T-qu zJ8keSldC&xU<=_w-<6b_R84%PK*+;$enFK0VM2$z-Ogf;`sAEMh}6! zDY2Eq+|m&KV914mwYdivzQJUGBRuIXd8_!mDxL^BkB1tFx8i^Zs?g@Us4cuvyL%tr z7)A78Ia{K!yChs61oL5^p&e+i(!mieIsu#}6>F_HRDD#fic3<(_A#jK1`4+RO+I*_ zALe)22VutE9rl9#6sxQhc6LX+YD`_n+HFWB-#}yM295in_>bZzhI=%ahWLuwM^;+u z9bS5aGu7c4>^j&5@eA_BUnG?pL{r7Pol2UzzF&`*{jqArANwW5dM?)x)#9&WGoby= zlrEl$>8U0*g_)R$=M#Z+)El-!-dHM_D8wBi=!r*kA2!n1RNS9HZsCXl9aYy^IXI)? z-|3t=SkdtRDo<*0KAc>d^LXZ#lHvKq)SriQAs5J@!{u^lUWYSWfnmoR3hCZt+82%b zv!(}FS6{@Y#oxgGEAv<~YAlE%cs9$#A)|)ZK`A7QlyC#WT^3)`oo<&?cR*h!beI2f z{t+X8>3&4OTh#j9uV4E5CDG7b*cfpO5>*2;$y*Y<1$V^0jXOB}YM&x+C;98<-Kd!PsZe^W}!d1lt5jv0G}(!RAOG zHtcF>HhAr&)>X4WvLz#K7R^ws9T%$}ZR*k#`c?0I@6z|gX2C>sJgL3}*xPRwj5s2q z2jl4Ey6o+fxNDr|_^`v#uZV-BN@Cgoltm{VI`4ec%kSzs=E1LKK78fUl@Dj1F0EaH z$EQ3W#qc+>@_gpQU&VQQ9KRsmjH3Y2YF=R>?2^3~5vVKWN%3^Qhs5{&Z>tzBUxti| zz%AmcJX=(OVy~;L!h?C$!(Jf$?RP~>En_a15ETpv%6bdV56~<%+8YN`i-rDw2Y{># zuYZXg-8>mvQ^8HTHV?+RMh*hX9)>Z*c1m@($_YgN984-C+<$1Dot^gvD^u+HyWjsr zE8snkLznkI&YrdAk%mitZawk-yLrRZ|3}%I0621%XTth)-*>5`R_kiDTHUI?d(@hl z?&*qI|SH7Z~;S`<1N$_b{M- zUb#33o6&mZBAjcto9i}l=@L6q7@Tq74xvm1EgHetrs`giRw==e`W``c72Cp0Fb_qu zyN=;~boKqKN9WzxkGqEo!5K*7t6_H}t&YqLWwS#w>e6(?9bU!q!*!K?KshbWXyq09 zL#p89Y6t!P>YakM1~ON+(n1uy1CSt6uhbu1T!!dD2pk5v;LWet7m{~XWsaU2`y;7T#4q_S2v(?# zBvJqL%IySx$?Q8TdzQ*5LLZ8&%+UxWL^*{i%o46aWAWftZ1b7>+Q^(NKL(#kWIr1C zyl};Qwq~FRz~-o#Z=2m5&mBkzSXgKglstp90CGehfer#tdNK>r7+9em0{S3MrSD!b zpkFf+EDXsJ+vHj~X}X3cRObzxj%)Vrc;)PLuRO|2|WiZd81KzY@Tzykorg70d8mi~^Lwb?MTj9niFAz_A`i zZnNXIYtaUQtb@aq&ftU4whsD+X@+Q52c2vOWiU>yDnuJi~plPDC7=l$5e7S?LG*qiFHKY za)II;MK}lsZKt{CK0a-u7C$o$F(tdDVk zVX5Y*B+G=;v`sT#EhdwW$Ujg!V|3z@0m~wiue&{8EfxlxQm;GWa%G&3bTkz9Bj7fo zJXYtcli7^dYZq>ZBN+@73#G}?<&oj}Vr1AAal@l{Pvoy1dsH9SANB=;seEiG4>413 z7-O@;Q11*Oe^J_QxBD_W5@SXa#e=7gl*9f79h{zxvbd@nvmD{j~QK6SX}B<*OzB;X3v*bQg>%8k6>aON}ohFp(I*BIe10 zf0x=+7y#cvE8u9Reel82Zg=#-jE&RB;FSd*1>c*13j|;=75Or(-ZH1Q12V(&YAV^V!g4$ zPT`krqeDT)g{Qd8yds z&*sBrY+Z?+6>;6V% zX>w$;6n1-0-24W=J(BjXB@*%Ufyto96%78=x6;92IQ`(YK1Vd|D|-%#hdhbsWBbwLaaV<`IGQNOkbbQF^#kt_9fK09UlTGx00OL|} z4ro4fo!CH>Y5XH=AszKB9^@HZhxKdl%F8_w5FSOwB_DK!+LrCUJ;-?s&aD76YWwcF zZ<1Lzygc5NyysP7PRVg4V;Tjdrk0d(Z)lWV#AHa20z8)YMXq)X&P%XjGWd1x;?-h+ z9zc}i@e?=kLugVvqP;>$(B8Ir9WIvRqffVUzy`buE$|GK`BjL*s|0~J>4Oyn9(@QO z59SdLNZkqMx%G%2JWiIZs|1q1LaZ#Q7D7+&Ts2-6*R6jLe+wN+Rr(Dapv+u>0tfsf zafO(3gi1nZvxvnP`Z=m>svcL0oMxrraqCqbAu{mqP|W0fO8hrhUiX3dtZJwHr~I`^ zcP28Ga)qP8$b}LAt@snKNg2o;(tCa)7KtWkRQ%x^A|k+f|mJA{CFhdd2%{GeGM2Tq7t!ES+wX2m_Le!Nbako zRUnkQ@RkAxmzqi?Ki0cc7|Va1;aWdCmLJRGKhbO|dS;G^C^SdYz+rMF-)~d!ED&Lc z1aNi-EG3OHfr!;|-rk3lAdr{}3~t2-H_pts*1c29Q{Hvg%o*ddud4ijS}osb{(zg> z`0?8C=;$zFP4%|+_AjcYLQzdRz*v5yyjRAygU+`zU>XG)W52v1Bah)eppzzVpxVu* zQ!?Tohz}BigSpe>61CM^r!9lyhW_bo@Dhy9FTF++3KTFhhVii20PjXOwp}_iUW3#hkV>2^j#10pWsEeYZ|AexINNF50d+0&}Xc4d(t$))v*E)Bu_45a@ z5$)bT{0QQSiZDLSHXv^?hF-^7fe=)bha6IYwD&Q$x9b3>T6RoBYvge(sBL0lW7g?{ z&@yI1c`z=41}bL|gVyQHyR>ZDOXve>C zW(^<|sc6BRLYtFURC7>f1);79oBXSAc#Sj9) zIQy=5J$1g@J5jUlhQjadrvm@w_=V9aEIHTD`g!&2SY0#Vu0o*FZlb!Y4;ttk+` zfZbxej66x5m%ClwPtghMe&8Bk`HoO~Gp>oWzeym0=W5URDTmMP_BrxyhZ8W{%bxfl zhuhTxcsb{BNUNMh-xbz}`9f(yW3*sPl949m5*59yluTwMgA;2?32}OB3y56kx{*V% zf>4ZYMME~ucMz==E}t@a5ix^GK488)3r~tQfC>SSEx9;LtS{wN8L)*4e$;gkkVP<- z4yIjfD2nF8Q!nAES)m0U23YLjfVt@$J$m#fo6W7JXsXiS8aOYbEWJ;L+=rabL+;QU zg6;!O=K*(ccz9&w!E$rt=+TiT`vYZVCxaHy4#oBup{?Wlv%2w64!!C)d7 zJiWb*jDE6h)+=x0{F4oYGl?J?XmpqjG(379t}2#4jKZcdgYCS9RlOQMjln}8&O@4q zcM-KtWkQ=50J4=Le*d6lHS4RWMAw4S{TssT0=?~_D2HS;Kuvcu8x14>Z6*dy5Oi}- zsGyQ5qykIF<5!~Gitzt0!>0yoMzdoW3nBO(sc(!XyjaPm@+qwdwV-TM%$aNCs#b@_ zbCo%iVa?g|*s_ucs!;K?ZkZ-71EG5?#Tpg#eVd?E3*vxiRq|gVZUg{f1L+3kC)|uO zv3Q|Un4DZOjK5f4XW&sT8@<1!M}la=D+rU3qu3|&0Q$@WMP9!$S=2PO$QVdYz#)M( z@X}v_es6MxkQP`K(w^xI(Dsm|FgeU3m!+*D)wwgjTwBiH*?~Sb=o1@wk}uS4;Ao?P z!;LP`V!oidHy+RxcXE9N^@m`FdO_&cy zENyW!lq{ra(6q?NMwP>+Tw*C;91GNeFNCY5wjbOn_pOU|Z({E1y@ zdO`cqf0gYhO)%J!7$ab83(TbQ*TT{TJu<)JKo3G2+|Bv1Q`=(NBSH&_bm1G*O2E?> z2lzn^1{8SUTQ7AXGksN-dB1&#Wj{ltyH`iq#X7>7$z>U<8NzSE`LEN05)z9S*0(mQ ziduEyMJHEt1Y-dH2Pj|qI3Th-mylgmZM2oK4ktkzgI6G4JBD!{NK0d*wZ)&%QxMz; z!lla{c?jAN%OCz=zxI#V-fnxJ?IUOd@FkEJ78=TdMFz(Ljz;Pdu?PWv3CtJ~nOr3n z<`G}6N@p+W1E5ss4vX}Fle_GQOP6RYNIkq2=1qgzGK_gxHh_)uRCpfKN}fkFsu<#> z%G2`fh4F)7`|Ist83K1Wt?TJw8R_;a2gelyn^GH)Wf>zkr8d1^$~c3*v^(uY77awH z^aq{z;tM)6BBhSGFxG;;XfaAkj{uMxMWcxStpPWH7n^IoV6iBJMFT#9iB+$+ z2jc*e3@HAEbTI;5LuF<16$H=iV5(8h0YR^ zA03<(_5)U`ALPqcpwQwiRjeUhAbGi9@H%cnq3acUCBHEQ{>;p3 z0`Hi)TFcd1YkfpY+V-Z*o#mZ2?}5I z<9~+`f;J>Nd|9D@7(vj2j)qgt*H@3rrNDv#nLK+N?N0v(%f4tu90N5*t{zbDt}iHK zAZFt2U=Z0}uweI)V=)ukg&7eugsRzo`8nRl;Gsus0cj#`)5=p$I~Js^@&0giK$ zDTBg~i?JCQ)DHCrsGSGGyNnD<#OtxCMq}z2P_X5BcOox`V?N=Y=YY#+qt!`sFilpY z+5Gg4yP0?-^lO`&zZQx>4>ezoMixe=)o7d^U5G@>^XvFwWi?&P-LYV5PHGExUFI8sa_vrQ2%CU#1gH zK2HAjA~tv?cm>W^x+Q`EXyI~ktoNlW9%+?RKCc3|H1h}GQ}t3^?5_9zW$%H)vG0M_ zZ=pa^&x5W|^0#k{e-0URM zvdPj=1WKJdWSDh1UlEpN2pU*&pl8}}NE)04V-X3JQNNCEM68;P!emDP(NAfp(15xTT+HqrLwMmlP{967S zkLGW@5gy;=%y{6<=g)7TB-7LPsOEf7@TW@XfDzP>AZ3D(L86ZdXFYP^$tjydviV`FFr?O|jPSM@7ZlGOU zY%yd53(T5coxSs_zl2>x(F1Prqagg+s+u7 zsih4pvVLzSlTNkO{KaB>FZZzhSxvOkQ%gmIT5N;AIuFqhT1=d7OVYp?-Jw(ymUV6k zyx}<60apD-(U%3Hf-A7DVQ4T0Fvd$>FscFa{=v|ICI|GyQ5_@ZqyS3<3ho{g->iFw zB1XNwJac!|D|)-_XvU*e4!*vUpSfquGjw_pdA3uPM-Nr<_gx>!K6!T-5fRRvtKD2* z4Hf=(EL73%wWki;Tt60y^*(w}s1U4Z;=a^@wg^kzpVIf}Hu{Gy(k}%#CJ&UmKzYIa zMd3E#-vd~y(gA^kvsU{BQ#~lxPinS3SbcOQMUXtf&Ip%15B)b7G2PNuVl5SQyWO7% zrh^H<++B8eI4~3ldz{yWsMro&N5&=;`ski<|5QBV8<~$x^RUkya2ya$5t%RhhT?v2 z>Co{*Bf{%{Qn-L!x7(e5yUSsRxzX-)JAv#C#ls?02*<+s-@_Fg4#j;L`!VQG!pL6l z4hV<+j6LIvhx`$zPajXGt7(_h36g8kA%pZ6_90dbXd`qQ)arHdp2Aw~^o7)X?2dzl zgZd5K|1^|aKOS9J)e_ft`!uUaqC-SRR=%I|Uqt_iBW7gi)`~@7_wfJi}589*+FjAR5=2%Qbb}D?A-Pu_+Fjob|N_E3+nJeS!!Bh5K8_m>{+pgQ3p8Ed$F7)m38-+(w<~ z#|9e#*gfYxkhB_Q@URcX%3=;~goF&9++71yRxF9q~!% zKY~(Dn?nz)A%_tMI2#9_+8c5AmA?&)N+6b?LW2Cn3_rHn^L6 zKvh6}1FSkYJ!Fl7?#Na{K1wKZYpo^#Sb+KRlSL%WRqInFAU4WxTBX)d@!Xe6sg z00_h#C8(_VZ(FSoez1lc!qfiKW&)QcZ}-9I(nEI||AD(;gZJ+1mQpnEZE#yc*r+QD zsA)#=iG76xWCj+eeI>=%0F59p)8N-87{CNNN$(zt^$h1{)eIcJfT7seaulqFj0 z?e=Id&yf@;^M zXcYA5yq@H4?-!W!(Buov`r%)1Y|wgO{dg2mnr2J3$-js{1TQg;*n2CW7D(#~u?ZPB zm?f#|_CQ+#r4yDDJw+%c*OJBoBu=obOF(B@D~gCDg+4Jek>+PI;SPI{JT(|}N2f9o zJyQ3NdEG&mC+v^E*%T)bwIQcu%a;<`%tR`KAEy#7yA#|`a@L=Ac{QJi2mN!tfESLa z|6>^Wd!!sPTvI+MmJhY9i<&6Rkd!?sH9#RKJ@u?DEJh1rhtvY2*CHJn)PF!AT5OHF zAKH^P*czzkvaJc+FcG)V5RhGiezz{_3yK?2Dg!WfSn4UdKo>LDN455MNWUn$wAx5( z2R&i0)uOnoQnfMWF%H(9{F*;ioS^#Dv~7fU z$DBj&!{-}&;IkTf%n|c^=L_90bUTW%>!|VnZJAGyv=>|>G4HT|f)e(nXgBE7K%SI2 zXbD9Ac>Z`)tX+pVG;IG^L_V;y*bLI>nt{U$Yr-_jdfz zc01~SJCffi+1x5unSKH;ERSI2Qb1doe^4x_5LJY5%E7N$_B645ODgcqTjm3=ce}!& zSUBbnjJmW?Go-mjhm(b<3GUEJvj-k5z3YIu!vR0tXev80KD&N47zzc?u3y&}&xD*i zid?e`_h@I-RziI-&nS*Stp+{;TxX2L1?mENdtf92QD(!+Q^-=;AQvHPSF{kRV`wIx z8$;S+kgeY4{_l8}lC?;`qTq03UNK2Oh%@tO1i1=FO0Oe;RT*p77*c9^78Zqe|NYZP zj!XmEF@F5#D>J$D0Ryi3v3Nf3GMwV!)%)+e#e3@BQ(gm^#MV#G_I7eE!xg(_x{}X4 zm9I=gGoa`&ZL#zv1eggCKBa-)QfA6&CiV9X)*l)lv-T||cu}Z-E$2bE2}`sv?4YkO zHtoxD*xQAK7RzkxqG2=*7c_z7wd%ZuXS<-Eh|${#itt7m6$W46ZUC5@(r1K5{iV;r?TgZRg1kxhHyWpD zdgWVuI+kiIHBzy}^z2Mzv|0(rv}Vd*GbDkMPMF_=cvY*df&X2NrF1Ta5Rc5 zwF@oyVJf;7&$LO0C6CsZXKjr#QgzlFI`}>hnLm6`K?L>eE||KGrty<+FnO8yZjJsC z(AbcK1I^CrvaM0ykBJAMLr9X(={wX{rHe4`#>vE?CHJ09WV2(#!^3x7zcx9weEJ<{ z4&Q(1$oR>LH}U9L_V1=9*RH?o%sWmmAG-hW#L01U-YASo8Y5^5y;)Kt*ix^;a;XHV zs(cK6+qh?!S^wGtuBxXX^A9BwQy8E`c2MhPoVc(b>vYL zQfkte3Z+&`!*k&j5n9#k%zq#l%<-wW(5UmbV zfYn!hKE?yNPP{*~Ha2!$=$56Wo5N?u#@4v^hJB7CAN6JPa9~8x_P<}!isw4r62pf@S<5w49&%>+(FJrQ>?0M>f|y zVq>cGKESZSLIXaZWU*d_>dK?#?X=7w$rN-fV>J9iikE;409YD}pUdZRu8G#<4YONf zYiss~$<~A`m&@nIrfbt<50i=V`)dxvRGvTKn_Qj$RREFpElIWc(WRx) z`OZaXAQiv1i#ofhL8C4KGsdOC#)~C=cee{W@&*v=Fh4*1liPQ!pFO*NGszmq^j8F; z)`8#WN`f)1gSG&{3D;y@G=zgb_=qPUGceIP9m^Qdo@I~zV*R+g=sNYr)$rLLy<~g0 zu)XZd`rhsH38A)6?VS${om;-AR^ zda46ThiZThtpJES#vulHRPa}dYp|oQpDF&TUj$}?abvS4UI_kb@eFkF##-@LBBkI= zaN5|A@nW$aC_E#qC71}HDC~cW11Aha&J)RU1HyucNU*JL`QV$DeK}iUEYC_7kf4_{ z46fJ=`Ci7+N)`wdkQ3slu&;7wuswIgcOkFS?{?hQL>;IF!Q-Hcl&hb5niUEF6US`r z%HHhR*W^G6=e5(ZHi;I@(b#;re!^XJpJdC6LL)!>)_-{GRQ`Z}$p7Phzp(j-(758g zj93={ss@Pw5g9;63c&7nGWRcC(>^NBzGpE%qkgCQ;F8UcpF=IB#)R^}QZf)0K~5H~ z+7eb)_Vkm#LAQXlvnl@p$)^Dr(?e(k>j1Q9TK8Z?;e8b^`pb|Fr4}3Y<%g4^W#($nO=((dwT6pLk9Go}P+S*>b_s8x@RCbyM-Dk={Q~ePJZuJM`YIbCF*A z(R56opT+wFP>v%1+wZ+`QNs1(~z%@wcD>LGtN}mG zG4UaHCYZj~oeZ4;0C3~hf6p27F;_58-Y+~duVK9)Xf2+XbtIW&{n+sIUL>n zhiDk`Saj%D-vN$KoB=Ya%_p40!e>3W__|lKdRh zBngHdBhDY;IVqh$4G&4MT!qNisJn3ldNycM5egZ{^~RgR?qoUV)<*tlGd=2rnCV^~ z-*mk$l}qP_GmG#?Px?hdcjTO-`iIUI#kGEUan9ZQn|%7~->fclZi~9T&S_U9mUX%9 zj#BbzJ=a7-a*g^$2KmkhjG37fj-EVK> zku&MSNG^LYmUp30$>Fh~N7lskL5aggUU=EV%a7cc425SzCQ)+xhm%ibD=?*UuI|7l zv@P2RzSd!ZLcjwPXdkQqD|UolvTb;8UV;PF{OyZ~mD)Y_aQw?}Tb)_&9Dd}waQM1M z4tFqCSSRv&9gLJwa1FQ749L0ZHEF87F@S?+X}XS7x; zIi4{>KFQ4Cqnx~}-a2%sRlh4KJfkN&u90a8{)7I?^pkf(`@;M$8Ci;PNahRhW*D#> z6Fr9I09-fM1pqPeRlOm*Vgw=}=iVW6G!i{V#2GPggWFch2nsm+0?a_;mark%DJ;O; z2Mwo$0-A}eV*?u;kYK|U&+^slsw=s#evTag;v|Ne&gfG4EoHDlJ=I=3_BmK@=%c<0 z#3s6v^&@(k{%>@o;}%q~9K&iTcX*P%`UG<8&^D$ddH}|A>2d~_S7=-1l_TyhSj3AL zw^=l)_##pb{$`+-%Fdk;%SPry^r+`~UcxMF_zj?PLge$O}$GN7TL18>v5kFJo!lJ(kqw@Jn2KMI1^WnZ~`$=7Aa&9AhS zWBgJ!3(43yRtpbe5BeU;3*;mhO!(m7h)GzZN71p%M@|Dj(}u+dvWJc6Um8(ySAXyz zz0s9}1|#R8Z10W3OHt!5qehG4!+dd6U1h*v9`0e7tT>ic%tqG229E|6g@A(?<)2SE zP+U3ev1GEPN5(jQ5Fnr|QI^<(+lCVwjN(nG5Nc2qATFfb-{Qi55zq;MBn9bl6R%pP z_kz5TyW(F1R{`ZZu0y#5-o!z4C>1VD3B+MEkfo@}K$G3>hK#$QFprF{qim*wbN5PH zxSYcSw(-lpb0}lEmTw1kC|L3hH*PXmy)Aye!v33~8o*1=!{=_Z|$yDPW_xC3G^9 z&OQT~XOFVI619~S%tENKryZBIl5Vz8)oh(BNb%-gGi}0Cqu+G0iP%5`^cfKMffi?gdOKq|iOGXs4Z+KMI z=}(q3HE{=z&vcem-=ktnOPS2!tU=}<%a5uaDi$@eu=Jy5%NaurgU)(wC#t#8^Blvh zA9bUYow@dqHlJY>X3ByDDWJ?OB|@8eswT9a$6Qe=@7&i4JO)ndb10{Q6!OnmUOtbn9wtm-lMcN2>J4wxTSgI9HDGCa4BX zu$PZ>GbQW~^&G0NBskMkz2Z67E0<~cdHKV3=}4VdPSu>U0dsyS8nhpKc0DlY{XXp1 zRQ74rW2s&B1+Y!#XniFbq!=K{3W3c^=}jR?NpG8d#r?&fkh|L=oBnegGwBhDfMI;+ z++uB_aju@%FQZJ6^btfc!?4^g9~+V#dIe$HFq)HR{QfhOO?&!KW&)&G$!gz(tmb9p z^$OK)WJM7Sgs2qd3ybk+hBot9@D5;Cpe%rigUs?#MvgYk&<%hD=tU0qSz)7l$K+&3 zh$$pAF@)DykH@`k=epDFjmPUwFI4ctF?F@miI{cz0&lT0xd`1{+2L`XaX9Q+*mKb7 zaybur!Wt4YpK*E|<*S|chOE=3EWq`B8TABIv;t5lf^4{F1kfs+lCZ&58D0abhog*M zR>fwqz|h#7lVE0H*=gVaew4Z#uH9D!iZ_U&(~)<$D}k`v=~#9+-JxK`jU&#YuucU- zSDdQs>EALhDGg`W<4rr=3vPSF=Nfn5HSY2uVC{n2nf8XQQ-0^=r+#fvm$%V(oTa`( z=|<=`C1b$IHC~Dx=yQi&CV#6qgZhHe?TRxJxPS2fIoB2EIZwd{Y;?N>_TO~yl5Oj} zoV=VfYHi2rK-+VrssToX@XkmA-Q9TI%0hhnO=r6st;orxyAIZGGq1n&|4SU&2uB((#|N+cy&j=(eP`2NE9^qX$MuACBJc3;J%4)2y3y z`)-TjirDQQ&(P@TLPeF$ly5Mz#h_4QiZfz+pCGd*52<(z&}Mq3A)~9!8zAUtk^jv}F?b8phu0A|{dz1C0Z1ggCOVX5-4RR=OwRR{!Y4ry!_Vz#zDf+~5EQ;Um29@s z#FhBp!(CHrwO0-|G=L?v2X&DESL68uac`E)*dUq=2EymPjSo^IR6Tk7#TNy{dpu|G z3F?`>-Sc4hl%+*rk`8H44d~@igCvZDI6w@d#0C zLhS}J2n_sxmW)08^k9r{!)*}wT&1>y4!;9v1mF>}o~YY4)+Z$o0((c$mdBwZW~E-I z_F63Gk4-)?d1kWrKk_0t`L)OLk9|xY!54MtiN|ov(t*4v&dGZrVlfy>4IZg-BU&%N zytan7I9E67XZW#({>B)>^Zyiek4uCH*Cnjl@EQYd1Po1Mp#=L>wJh3iz-wuFs#Yv^ z&zhSGHPPudyV&q{@}3>kiQ^biq3P}k=bV!0{AQ=~o0n{GF0vtV zJ1txt!@^9m{R4v>sG8xN<;eV~T$o|VM|~QGfTPwHGH0Jp-F&38+~M0hv@SY3@E6~% zrIv4oO1aa?EKB=0%0QXTl1Xh;KCyZX^^(9F!a%!;cuV|j0x=@71Rd0Y^Xq?!9sJfs zgbpnT4cb*5S|`x>WDM|TRLV#5zvm2v?oOW2P9#nwPbThx z9m3_#|DFpbhI^7H%)fhrL6>TCv#h`(SN4}r9QlL&<@!3l?<`uS8W>yR7L| ziY9AZmleKB8CA8-(^n}iV=F3MuB8Dn5x#Qe?kjSkQj*qKYfCv$T4%R2aZ9bcD;=%3 z_w*2y?@SeMiX1=O*5KWzFhG0yW3)LCTUbNt3yJ-jV+}v5wXNG{w&75Vh&os5jQ>>p zzvBPG>IA*03l3}GjO#Jzh=qg9hewDnLFab~dT0ICtoXzf3cMhEm3){H$#JN6m$(qi zEcE_ajsyB$ZW5~kibH}5bq{EYEZ@GZRAMgFyR-{Sm4s5@KyLwWrw+UUFr`3b)Ehnm z9K)ca82^l^#~4T8_(cp^(;zp;s$zR{!{~0P5JxJ)lNA$c;QB=DDAEJq7me0cE;s2% zM>O#y(9sI6Bq@f5W#{vsZ*nSiSd7cBYv7i+Z^tNF7s=49)QvH>ND5Mx4a^!`ufhUZ z7N+fuF)HL?)k6{;h6e)YgK?>_zYJG~gG4gYUk3c0^d|&|gg-1B3{fUJrHnV6n>&;? z*01UB-8VTKj1+58PcShW^!N}N0(lo2h0%1*A1WS7rK&+M0#3VQ!6dCO#dRZnXf7A_ zX0GY)_5S-4ZOm zx_RA!kz`_FIN-}@#o@W253C&y`in82J6t_byZvfS^!aQh7K|TUtHcjjJNL!Hac=;z zy8TXo-y*J%ClXBLqoHiv3v{y!0lb3=g!1+UC$l4eakWMZRu04~YX{@OSbvA@qVz$; za1hhLh(Ght7M`LcgDe%w$gY#+r(B8&mrw#gPRKQxTrt!Kh*-oG8e%K2kueTZnwft9 ztdY74uP93|ikP7(z7x7W?C>)V5`uY}q9s0Flbdp;hGS)Q8b~(j@cqMF4x|q5)_<5a zFBzl72O0vv5a>~ZQ=U;euG|y5oolbf|F*R`eHwdRsm$!apSiYgF6 z`KYc(N9T%_J4=zY9?jKixl%k`oRq6`^Y68#S`pc*iu0qhv*p9pY*8ytEZ6kpa5*=I zB7p`;ofG{c$xX0a2SHg0utqF#SHEc*$a;4kIL}4=!Gq zU%>4a5ILC1wB+9cQySrMDUY6nHEI!vE-7S&?YhR}C|FYbkt5(QM3KkOE|LK^MCb(A z7Q3+f+?i34(hz-_`F3M0B(*&p?Lg>Z+`QO~e1G8*v>d!l;SZTI>k35Rnk>2(U> zNg%hU)90{zK!uT9&;c>tg`5TH!eq`BaiJ&<;j|;z8wi(hM*MNC-tKs^u2`tQ}F@au3Q6Q|4JMWwtRgtdel zh#SF$JRUfGxbZ~*Y7DxIvmldj0f8Ts%PCxr7{aMIV-5tHiz2%MT)9&t2(N_&DdhGC zymtJ;SxVtyF~2vQb;S}0W?gc?Gex-V0lx<=>_oPUbQDieOTMH7JK!shV1yCpB9lHM z^3xG?FZe^S_|-?MT<5hCCYS(Soo-G(LGZO)Pl)~ z>rg0xOe>2>tda;Faz&Cs9G`J7x{iipi54U~3VG>?NNUJeafFkhbRskBTC|s9eqR=u z9V__o`C}#fqH8vjNQaVPN5wakicDbETC%?f+!duUqOlsN1A$B^64Z?VHxUv8xx|fO z3!)CDyrJO?A%@Us!KjQN0!khq5f8@-`Bd$*x$Cdb%?@WG;YUM}%>NB{$b2Do>-w-S zyg2mW&|=s(y#5O-Z~x5GZ~x3KxqJLk&(YbL^~J^Ywy&t`Mc;B_b;uL--;?`Ze#w_h z)jXbBD(73udz-(AUp$RDtr~q7d{zi3HBcN=6O)4l7yKO6ph_*pbcYolqxoD}Nhv{6 zx>QgM5y-^Wkcm8f;k_5kJ#i?S?8(4laR%OuXY#_}8a3@HB_}5*H_d&`J`_9BG*>XH z-(c8ILU6&FAZc|6YmMT#Z6zvo;h+b{XskI^^9@;5x)d~f>pMGu(zoCp0J}*Ib`$)Q z=3n|t@kQ}bP%sznlu)aS9z)YJ#uT{o>cWhe117&A*;k0j+HajaapI(BC9<&EJXSw7 z8xHv2`I@^w@*@w4*2$B-iziP$c=+PQyQe2=@5%maF_C+}9RlQDc^Q?H{t@6S5w{$E zkRaa)aP7D+T>quZLvM3urv=1+3*Htm)gco*3wyPD2u8<^EpUN)g?lhFPH(4W-Ggh% zU&7DjqbNlj_SwUjOHHgLq;hT#VY3oV2j){p%xq9Yj6VdTASDIt67&`S4aI-LA%`3) zCLJ6XKRHnm)$#Gl*f;>Ak({{QA4r9eZ`dKi2S6&Xk;Q&3B@8&f7sy&f1Hg7 z1?2MN++kr~y614Ie0uZ)zcdD-<4FcYxUgaf`&_j!i@>_}Urxrt3E^`&{IQ`MR3lsC zvn%;@u8df#;jRL?oHhu_r;83!2X(ec1%S@J|vq0(q1GFl3y zqL{xDr&R*i9vLl$wU~JX*TuAOaWn#`VoB?(jez-r@~F4N*a~q#>MY&KS20EzF{6g@ zdAi>c+CW_aW*DqwziuwcNux39%J+zDP#%kgNj_2aL8oW4US`%U(O@$qjJxgvHA>?x}&tI~sEh;5Xe){BHcb&|{KJ6~4=;BieW8M`aa3yXWns<1d|_KUb0x(HrF_*sT543 zh5vm>b6F;0PZjNtJb*-8|s%(+~xkWbu#t@8t}R0t<(ZB|QXnqw>7Zwt9`cV=h2T~Ve!m7X#bKuHHs&n+gv}1t5 zFA{t?Q@ug5ZU7DmkuUQ5Pk0OQgY#3lBGA}b-4lwtb0uK1FO_o0H}2N6!J%PjHDh`2 zTYd-0g0|TwwX6KRWekUg@jqfqD}dHE@}Z zvIDwC@w=b8A^*rXdOtlmIWhU@_@h(lw|wnWH|8JxM(v3w&I_%#+e9_Z@j>h)eH-R% zs~8`c%S@GpX)oDONqoT^n8ze%8V0LtU6U7%z3?r_ZT9rsb*Bz^BFG=Ud_(IXSV1I~ z4!Mmd=RHA(+r9McoXeSa_+4vnq;%_g`z0yoLYt`kCM;PP_@n*Y1^L;m^fipbve(iPPu23>_22Lgu43r!st20Ptw&U{B_m zBSuEHQM_wI=)VAuu`dSSCVet)a|T}v|MO-_%N(9Y+}Wu-u-H@68d(C+CV?yfQX7{9 z=m(L2y58T8WqQ9cg)7aAIj+ci5*M~DwGT74Ll{|Wwp+0VnpxKn=(J438~+wPJXq#B z1GSR}N;_nKGFKF?f>fhxRjf%Qu%NHj{O>O>qBWXLMS*0rBNc&gxdSe5;-_X)A^WyH zq|Y8IrTtE5$)R8lM)aWwm3mFX8w$l>;0I{~=<)t*r ze$M{FvhkCnD?>Nlxba%=+lQezc7@*en&){BvkcT9LE~>$Z(liX(oWqwy1y`QnY;Ul zcYWP^8oFbWG|885cs9(6FN8Wb=4KSBZUy{Gh&fQ zRj{{eup@}DDSf&7p_Xg2t>w_o&Jn2FuC&E{~s_8qu=ljN`z}>dZ_@obk^r-g%(+C3k?SN<86mIUJ6Bl=0XQ zYcR&2>H~Em^tm!WFk zXx4VAXs2t-2D{E$tJQU|MGKHRheuCf1CO_6dv_NBebi4>0s>2iPTRG-cY+b1V~zH{ zTdVt04&^ntFD+c~iDBZ;jjP{wV6J#6X@g-=-B_XKoE^UcA)CyBsZ5s&X$FfvLPG_< zNd#ft3Z~lonUxv;b@PZ7k$~&ZSUPcVyg2WhJiKlonl!8_iqGqGXRh_kE?1hB8~1qL z>&FiwUfQXtZnJ|WtK4bIvi&vuc{jmz6=m6|`~~vZ4fPilXJBvOl0`l50u^|)|72p3 z;JczDp13y{y@p>m>7xR{csrDGuHaxbTJjX0mcEl9h$cPih$ef5Q5pmcKEej6$m%EJ zha4C~%5DUqrdk4xC(Y6pjxe4pmX%Id>uqV;MF2(-qN#~wL2Z~fJ2E1xbsy&Q_2Dih zJV)Xhc?-G#VqKxd2X`(J)X4kBL<^~uH0?Y?I@X$qrq|qB-|9-ohLqOSQq5-XWq5?9 zOuaeht^+7F<{@J2shhZRQ6>i(OQAxff^*SSypk(rL!uaXgHc3)J>a-h&zG$oYIGT0 zr|(^;)Hrn#{HC4se>K=cI} zmsu)Us&Ef!w~NXr@ty7Vn%cYNma+NCLQ&X?g~|D`o%XKsZ|hh)q8Uyue4}6#1A(GZ z_y({L=D6vh2cUVTKLCd#nwR1y1yHth1ay%qWt@ToO&Ek=XdIf%a<(%Zb=t$w@I{9^ z*|O8`n8-9UhCAVo;%&4>GtJ>@(ghyU?Mha&tC{jh`mocvtYhdX+D|$_%zzDEmmEQ0 zr8$N~w*~Ku7CsON0Z14aKbrtEsNZZtHjuwT>~Rh~D7X<9q=5)o5+H*`x5Hm=Zo*34v6`NFzn*MW+`olq= zvIH}zNUJ~DTXYPSu&LxvPIR^NaU@VXb||0!@EK&&2}THXuo`gb>f7Jo@WlvCA;Jv$5pN z*uiVF`p1#rCacd|2ev!S&P;4(Xks-y8NPd|yrTaXqlwRjfum|%{tN2ahHkLR`Hy8t zK3P_4tXh$1to~yG&Z6TxtUpjgfl*r&+nt$sGEyAMrhC6Nk5Akl-+v+C%B1GAz0bZQ zlPb78h>Odj6ov~Eb0~tgAUCQch2dXt+b2Dt`K-8UX3`xlI=JqtImS3V5v~-Xq~sXO z&lNEsFzEm!hxs0KPJZ?PS=sLhjjT;IOg`|1xC8G+*^87e30g;g6?%%yf=4ssBU`vl zjMEXfH}j0<1$b^w{){${2jU4uzMt?T8>$)juJ}&t+Dvf_Cz{+Zg@e=eWQbB1TU* z&RhrHs4pG_dWmIkm#bE{w#iqkX%NY4`Le>p7D3*zxWXe~Q{oBP9eZ?S;5o#lNx3x! zpjBPRo62R_aPbU03C|PS5BVVV9AZMOHiOu7dHjfdwSq{dtTsRtZ}MsCgEe~}pu`q# z*s7k2%d%I+?E%m+>PfvfF@Sr|FJPWsi6&;{@V0u5@wZv)tM=X&ooIxn)Na(h!O~zN zt|0MAHv~QxW1ew(n7iAGt1Zz?GEqU&gGwTl3U!oVnrKZX*TR;t${~JVL(*#>a&dp_ znaO7+w*`zPH{VfxmTdyG48mf692Y<_cMIdP zSmjavDJX>GpCs^SuMAvJ*&du*4Rgz5pp6T_db1cRxEInsb=DD(7%z-7xTo+#QUb=j zh>0fR#Il9(!pPhvHf@_fRsUk8WB18oYBpTod%rdGA2Dl-oW(%T<3qkM4y`ps z#gdcK$>o4gwvm>l@q8J@>I^jc4EUmbXkz?Wboobxneo-mjn6}ko1UyQI0?vrh5c8t%SS^}h!DNiXk)_^0 zP+kg!#FM?>ONBa}P)f|BgTDnv6LypXxhc=bJX1{gj%&cMA@G{~K++UiS$1Nd{&WnZ z0f6gmB|DuT9Y%f-wU7QGzd{`rb3_fHU$9xk85vNe4FZv7)Av6 z0O$uV>jV#ZUpOl&F;skQUte^)o88{GRX2T2_D3wF`r{>>*-{;aYVEDl>NzSe^!Ird zr!+O21J4`@Z3fjdf&a@S5_jaE$ZzLc`N3z0M&z>-8D4Qq{zAT)Uq>_^wy!zvbZEDU zK%zky1Q@~-h$Vz4&PD1BY>+jUYm)sK*?xk^S z=Lp9EOm7?euj3DH+jk*<@gr)8D4id3c6U%(j^aAwwE$H?eKos4qP4gKjEHofhhmoaq zC_RW$xGw119&9@w=mw<=52BEG8fCreGS^#7CAt1OR1B+y6$jewV)R1vi6{6W?(V&t z8gTIzeE#Dz~{JLx?l;*vaJ5qhXK$SSMfd_WR9qzax58<0IKai*F74JVz&wofOY0k+^q; zKgJK`=iVAaSwlxH2eQDz2^Xsjo_>xC3*|=2ksp?+J0KLffJq4G)7>?y~2#kc@1bxJO0L zeqCaR3y_g$v!THgR#(_#b)qs5(!+kG%}kt|8&3~c7}U0u$&B58#z6Swu4z0rr&TMv zl7S;p@`!H6RHlOq{!NoMNvV4NHlFXpdWSewKsc+aS>V$Fh{0~RbN>AHzGrBHD?Wsr z%kC_AbLc;1&QW+lA$=QAHV`$C9J=-Bqt{k9y20A{o}S7Ti@B8ETetSa26BPl zdhS*v3GeUhj2;_KAHU&vdidDr-fq8LlubGY8P=9SQ6vf!HtG687BdEVf>zLv*2wyU zwWW`IWND{;Q8W{!Aetgr>V3)(Greyb-}@%p*sNO++yoZ)1SJ8ben#t}P8eC}XXUNb z0Krg-VJdTQ-8T3LfN(!_WZIZIQiCq~Yj>sY;85$tG8|V@bBtlVIdjT8Imv_^P(eR% z=M9LmPd;S5uVYbbm?{CWwIJ;M2Xo?AO_jLo@)Ag-?c<@jf-J!3@U(XvB@(9x$^nc2 zN3(AluDHw+l(W?+pZ<_ze?hRup>GxK_DMMaV-6ssI+zRSc_eFtu>#{MsFIFgA^+~k zmkh`hWC~la`_gw`)BBhs8W8t6qhC7mUBH~7`Qs=PZ08lm-Ev7750+(}u znjSXhRaMHg5<=C?g%spDC&rj(WW<9*Ej${!U2r4#GyuNq0ayJJl#~>S5_)e-PcYJ5 zjs9WQC&X?rFU{u5nb_}O84muA4A=wf-=+U5{tR*2Xrau2bD6~YI*+xBYpfjTiUo7& zqMER*eqdhu1~M>a&`LH^@Faqc5+vHCdtS_y%lXn`p|B|QeD8Dl-!A5T`AR5U$t`8l z9zEyx=ThG+EEcPUPo(Z$c0)@!lRnk^hvh}&pE-K%(Rg98xmYOjmm;0iMs@pWS)|_> zjpbtY;jBo!p}1H`eWLKo=~J&;T6}29_0{wY+g9 z04(*G3B$?M!Q%&0$-8~QT5x-d(`8Fry=Hv;n$;bs9-)PlGV5PU9$)EX5P0I`MVIuOPV3|nd}bjZ@c)B$5WPzL*oo#yO*A=*+rJ`rsh?(cFpdSVXR6&s4C zr`+WOho)2RxDRUo8W2D-qD5i_<_oM4M2xTNiCRlbt*dg!4;-9Hc}D67_0ZSMva>Ci zvy^KP^BXV33_H0Esl7)S@}!moA1Y&2iH-I3Ru=(CuW@AJKd$-o_k}VYVG9R0yCXijO;(Lx>%LiO0ffyAs3Fh;3<|KgCXpaW8iEJ(L>?p}UEc=h`aUGe{qcCl zaSh^~cE5V`-=^=uQ)n1spxWSbx-aa00FZvKcQY6^HjFpkWA-UpdKVaiw5$g~pN#`_ z=un0TvQEHeBfc||7wz`TA6ND1)z;T{Sp{dvs)DRmS1to;jp4l=SYbvm-eFsW6NF4| z2|uZCy`cnr`v<T1T+niR-SrPCs>5sdU$=Co)JzNQsivR4Kq> znLFp^ZaeI{^;XwmWWIqC6Ja~SBAGkpn$BkqVNm?lEcH}!^7Px3-D+p=m$F7?GHwxui-W0!=~ByTqn-ViCZ6la7 z$AHQhx1F=SmZK(Y2lyVdltIVs8l)*;&p?1A2nC17boyU7%+rXYYM0nFXbkkcgX4|R zeFR&VxyC9Q^opPz370>d3I|-SKv;|T5lO2!T1p0ksp3dU3k1LJOl0WF0LO;_5^_3g zf%tGK8xQ!Sp+GDc@i}5K4}z9Y1QNN*P%_Z7H4XPC6WN%@6VD{;$)Tvn6V1kNKw$HX zk((&gh62H%T7Dv5`yk{7r|`JEaEyaTS-=@gMf|?7mW~IJjKbmacraWY-heldLgI^X zGP^mN`dthl(02@^-$1(@v^|M7L5<^-Be069Gi`_~4p^-0=sP>yz={8a$3hr! z8X#)P{8v^ZQO|;$Z0K6?B{V|R>-TzrEe=M4URN!U$c|)V0beZSkA)&$XDsRs`8{IX zY=*D9qXB=|?+m2!v1lGCIr<350UsLxPw&*+~{?d!ZbvLV<2Gh(4miT#1HnYw1iK7~0J z=?}r%n`W_w9OKE~8ToJ7r6R`m;kkPD6NVhx>m2TfXA9-C$H$X}Vk()(V86Na4Na_P zmu3$ixMQKXnEk{9#_3I?luxFLg(ULdlnb+mOGh$R>~qow>g^NsBTpcpsmzB=Y!kD{ z)S&~1b6XWlDDxq-T01Rfl-y$eWjL=w?~eE9TdlP(wAR*&QE3qHNV-Fs;sOOO*%;k+ z+SWwfk`h9hOlS*;jsYEt3(xc{K*OeU&`4k|#|7jZqj(^C9B~*i z)>DYom|xW1$yMRO@H#xxjn4Mnf$TeXwXs|zJ3Fj4-R1mnRg7k0@6;CapcJVjlxtu% zfJn`cNNx4`O4b?4jcLQPS#x8KdB%HWK10xHz;96uumBLlrbS=Rf>aUkm_gV>a|7Ov zF%=Op&&&jn+g4H`rjVLPKlDBS(ZmW~^`45pvz;O0B+#l#Oo!LMYEjd00h1dAAu3&^ z6wy*v6H7)=zt_=EHUY)FGK%R0j8S>ufV-jIfTBcMaxCSpdC%`oJv%u<;R2=S=R%X1m0d+?=UXSJ~?W8 z9QP+K1d_h_2Neu~veb!PaY(8pps69_M2|#?p#``WVylHRA+48Zvcmf#_mQk!5T8;|*c>vp@NLs@+&pN{z>0XNb*xdRb@ zEFB5^ir&a@#9Q=*BST~92vSc3;Nk4`grX;-A#9!g0FFh{V`3u_TUxy#2IubK16nx} zN=Ncpe zLUjwI!?)6v+g28C3Qf!(pNCrK&}M5aitMqeP|7>%GqS{kXEL83b{@TLW!861ZT9$~ zY9&^QB9w2?pUy)!l2LwR!2eLErQ-8lin&_hrgxj%8;3(etCL^1}Nra3yS{^d6uMf5WpXKXpsR$9#S>RUJMna)YgaS9nz z)A=cH8ruw2$r+qUd#AX5qU6Mk(VK*;2-Z(HE=f@aIubY@z+MTC9lTg|%wbiL?$Lyv z_iHF@H&hpa5u2@@tr-#~_R9)8w$g?L)kKtu4GSk`7#32j*HvJ$P0G!iYQIm%Hc>8S zHlsb2Bb%uKu!1W&0?pSiUwMA9Ulf)N{zSQz=*f$(i7w@FuO zH-Xe*MZE0c`1t4aQP+sSR`VAtE>(zgZ8nXPD-|9)LFyo+d~C`&kZ{ngp7H`bx)q9T zFNG@PDC2^0uKppXvw{pt&ktIVi5_`grB!-f(I8^$pTVf6JrJvetGZw+@RUGxl?T~c zTT=ICS_1by%UH+L`YB_qr&XNJ53x=Pqx7fZE>lhlgC;>j0uLhJdQ1lpo{9;Ou#XCD zi?5Sn@uU1LNVFU;&rpJgKO2_81B?g_>|07Fy9ve$tT8=(1Sjy-FQl=GMiqynO02uj?b26ZNJgZ=N~#a@>o zvqcl1--`He3`8P<8~u@Am!I;x*eIm-F6w;|9?SlJ z-c+?Ob&8;H3nhmpF7AqrJ$lFEn6n4~=}43iC?2POw)bV2x!Z^ousgVZn$bcbeM6lE zx+5)8Tyr$JTtwjVsa!JZTztTaAZw1%QH9(`yg6_K78Tf**w!$oRl zNcYS{hh#)t;1R?|HWJBpqeBqcU6YOgcy@>teqYFoxP>lA@E33A52EJB#-`sw7`p_u~aHHdZ8_SF!uNy z(p=Ct&=C#LZP*X7xL?slw28_d0?jS4lGqF|R>o4mZfbUnqdUt>#ZZ<_5DV1Uw z9Gl+XFG!z_$ljZqZHCzzXhW7|j<(Jpyfm1L66GS>?)#Q%dkik4!0Y?~C6jT`wl`5g zMX$Kld!;Sbz}V?8M0jqW@>if#mxIU*$tDA{)kR0q{6y`(U9~6j&E5`RdypJDcpG&^ z@w@f9xfp$W9jRp)hmCJGk-1K?3>qjO*CecyFkeF5zwco{SR+CJmU=9kP?=iRdI%26 zY~LJsY_quum``W3zE`l2S-|$-^IPi%ynT#7eQnS_tme}t@z3EO(U^TOD>?hZL35`@q)3Y0A}LBDW$h3pQKBe$ zk{>`eH+LfhyXh}*qty50NqsQw-r1K)$4eQvi2{N2B~*Y5!a z!o3A+Q)1h4ovU_@GiTxz?E(z~$-&+G(G>lr=_E+6(zXZ+OvNJGo0o_h`8-sqSGF&a z8jZ(CQ;8jIEJTx`P%>H=G*i-}@5)>yQ%V>R4#5FmAv0>G0rH6kWMdGBgLtL-~+{3>lg zt^us8{hI?i9_$uQBox-TRV&W+uC6-~t>b_!b_sOd~JgvlIXNOETXU7>KPQ26rcd(Z5DzOZlq(y_l0hwi=i-d{T1 z`|H!EpWpoE{$}$pxMmbD`!3cDEaU=3%vz`>3o4HXfzb-;rwKs;TTICsh#p_)kmlR~ zr0$=kMsxmbAv;-F(sn&G7D&d7M7`h-dc5A*+bZ=XJYV0SSuvZC#G#!3-)ZmH_? zYmK@wKN0YY(t@rzM$4imCMU-a>^%^GwWy!BPg#p-&f8+%8(6Y*z4wI*I!|kmH8t7O zLxBU*aGCJiQBY!H`K)z1$}`9D2EM}fH*1^n2QW%8a4T8&s%s$7b5H;a_=l)}S-)CG zpR>bm(Jo4}w`y0vP;y@oV!J58{V%j@b7#ZWwzq4u-!L>w=~{mxj>E5r7>GCnayS){ z;siMraqO~-8r^%3zhHeSnm#U&wQlbny9d$GvFR1w~hu zU}f~IB~@t-IKohm4Rhjv0Ldta1YB+=ssOn`D5MDw6>CY<5PO0N1miJ0`7oZtrCaNp zH^k;Jaq$uouYbmC_*`*-?@R%yD-Dzy4LR^y#bM?1mZPHOqd6@c&X}>#ZhStDq)}HY z8Vg0=2Zc8QyRxwXc@czUV_VuIZZPk1#SFhYhFpuH-x-a%bJpm@m0Hfqxub|ZDe9-< zMPD&B=^yhaN&)QN?lNL-zY%l2Ih@1=!yJCq&l{lUHF}fdH2@m%m(D%)3*wlh@&hV9 zx0~ohRiYWGbbsaA{c_$f98n)+_;}omrMxlW@E6=JO^f+60beo|NTIm$31z*%YjN=| z;dSmBp8$4{OW+6ol*GjNE@!@+8e{S;BtGB%eD3YA<@020*iNi#j3Hy7X}M$41ar=$ z6oBPSF{O++KUtWNMNbe35?sff)=*hj`Z!e?o~y8&Djue;4^b?@BlzWS~1Alr-0ccraS-k}Dot5jGpW8mF6RXDwIcJ9EgyQ2%qr-hNr zoY^=takvpVy4)X=bz#?lw)>i?FLYv|7A2Jg$kGVUDgLh%fmUPvAZR1=*;ULby+`mL zi3jsXr3B2aI3wTupK?2xBM)MZ$nU||CoS7hR!lK6_|}8@eRBUBa?3GO^qqDtRxv-w z99HOjj1R_QR$KVV7>$ett+uog<72tSDX7Fn36)>MN!T)C4~NSZQj(Ka2Y}?=j?u;| z5Dt^eb;u0eHHhj4G)beLgr0yi@D3;8P;z;#Yt->Q6!b$;zcpTtMq|(iXrN>+HJG%QYD_)Xp_Vp?4FHynQfCMn zY`INY06UpLOb>S9tgB)0q>d*pYqtYcDz4cz%lE|M5eM>agXiPpj?1ILi^1pJ?%Or3 zbubXi&(0o<%;sb7dV{9DL38A1BM1GD4b$rLa8{ZLe?arcWBq#N+Gt7lC!>>7W6}7p zPfkt!f;nNrP*b-`zS?hRYrfLDJn*Z&T6VJcSHr}6m>bkQQMqZ*O6j)-`PC6TvO!>< zO;KM(ov<#n5IN6p{3lu8bq;Uj*b&wTLnz&OWV}hhL_x(syro>JFi0V&lq(j=TWzCF zn`qk~%GO3h0R&nHLZemeL1qP5z;Yc)5m%?&$zXgmn+PV|Q?c|R;5x=fN8>2ncL>}M z1Ju`R)@9rcywOrd?i;vZqhot2_PpA5825n4OOa)3YfH4PEwByw7CvJ8IAoQrEBL^Y zXF>aW#l2j7lD>@%{%G<}%wjoPw;fhCnk{+9t*zdMwT1X|`PQ&sap(HhS{?VYn?()Z z=39*1>sJ#QdDX~OJSB`%O-x0^jzDTMFgKf+mVA1ChX0N6T_I~KxNE#yX>q4j0UEN^ zttG0}L`}V*N}Yg;y@t%9HJ)IfiLdaxb;~t872miB>0=f10R4jTXIvR`Aj;TBG_CDm z!C<2XJf;LJrOaLjp$7LxE5)Xjc*B0l7#8=x0q$_i89OnBx`Oz#PR5YAzxy`n(mlQh z&Fs`>Cg|~w^*BNvm&<&*k3w+GkB#D2c(vc44Kp((p9$XY+!nrAl=qfBQ> zBY}2pTjG)up`A_U&NH2qEk*NSY{Z><*Ri_$l&;`R$fG>ZX*k%7BoT`E_oEaO+tabYvUivk^z!n(}zxn z(^CLe7@fuq1%I{#?K^p@YZHz77N#g$4dM(yDoH_|My#6Kx}-&(aM;+Z-oMSE3tyPP6;_&&{{?5gtrz<;EC0E0cp-GzVA z{`7<0Pd^CiL7hi*AN(}`tok+be9$bLzG{+c5w*ia)*PP(V+OEwJfj%Fdf!0AGydw! zM*aGAakWi1UsBd4>d(=BE|ju>!U7SezQP%af6yI_yk4|(;h1kq$;{?eq))|O1S~NM?UF)7I&cgozai?|S z@Z=gwX2=p-cs^yrB28A2hd{OMx2oSD)l((={?@^IqWjhdyKgPk6ZV}q*=zWD@U7j~ zzYXZ{2=8XsA+BIJx1us*r3QP(JTUoKyPh?9?iqOq_rsOZm(oGape6^v0ECJ{Il zID70phNoNUpOq&G?sMVbMUkW4bzWz+jbbN2w_?#MOx$ieiBw4xT-%awHz2U^Yp`;H z2;j$M_l4qpj593Co>syt#~*x{<16us`cq&da_Itw@WQ1CW~TwiiW+M4_F5N^iEHTV zsUNS^YPc8f0h!ER%W3**UX$11PQVc4bM0Vm-L38|I2w-P^78sBrp1NX0=#)>1+bM5 z3i)kz@~w~OyLR!4&T_u>vHZ^J7yTTp5zIGDS~^s=0gK+ zAsim44#Yfvne!j)eD@T0uW@s#bG6c!@IRm?6t3hvniZK2uKTj;Ln#9-gC1e6k>1xxLQt3%)Du=>_5l4$z^97} zqkHls)-KA4A?pTL2OdY~>7}Jpr|{pDEmciFMMx1jKE!@t{wsA>X>;yhZLzA~^qzSe zKEK~5Ky{|BFA(r`k^LjL^1Us;DJ&a>M~R>|;@Jqiu5WB?wtEb#A?BO<$Mb@I z%IEFJK2rXdBT9@LAXoGdO|o(gekh37Tlijk@SSbtJ!o6I-<-|$URSkj_#DIoQm9_C zHN4(o8OQP(06dew6#Cf?_Q^&+u9&YVal#)0dG)S! zjAcW;P%f0uGHjFVCH61-mTQ%-gMRL;f{|m8)E@_n9HO_yEfny%RZjq`~0yMLNH{QU*B1zFk zL;YJ=$Vi5|+!}^u+!!&gUg=%EvZm4#)%Ge}GV%;;Kn^xIpSIa~sEM&6-$;u$WQuAW zRU+s$uqmt59;gH%jsj+<3ep5ga%mW23(4p~DiI2zG7XsOiu3+P`1hX3>~j!I&lO7} z^e5mY6wfz1>62pqmB%%nZ=OtdzVFoD90?pgkpa9nqBvIsV3Axv_-=cGn#1|K?d*y9 zTYiFS3G#d9iELZ(_deEW7V#=GDqaQHB?o}M4tpMwiS6e@SA%nCjP#VB=q5rVN&Q`r z1_AGKWHetoe>R^loc)j4cUH)v#R#Ixvm4byA-xpO$7Vh4SqT0&MjmdzB-WD2JglcU zy-?4-D;-^rrG36paV}BtdvI=iwLN1!iNYdiBW(rS+o-GsBk0|KWGhk8)ovyQ*H>vO z!g04Z)jFC!%C?@bzw@Qe-~Zs|)~%yxF6fwwPv1n%mUZyTDB+D+#hoCU>`lI+ps~z1 zkqnciPKs}qyAhfmFs=C1G@aKsnEGMoC{6)md@UDcIp2Zoe8Y_XYT8+ise;aA2xMtmZd$I z6dKoATV7caBla1J4!wi0!PUq~i+v?&r?I*8wKq@Opd;uMTBy}OP zY1+s?HN-!dOL&MHo=E3|m`h@0ditg8!w+{>?@gtw@>F(X&0kE`j@D=PHFK#&Am2|< zKbd{FyZWQ|#`Gy)4ku)D*;4(!vr9fa=K>lqyC}s3#TSUj;gGpj&_X~?BmyGx%p`Ga zH4*yAT^x{^A$nQ*V6l3onP$P9H}#EfyXc3_G?-5Viq-s7`nH9I+tT>};fMo&tzPo# z;NHCGw0}4-#!uv-<0)~4-%96MZ#yVA@-peYOh=dU+;!MZe-rXZ5wi_E5mUd6MF8sD z0`@MYV<2P>(pIM5c*b%@eJ1v`4G8L2^BVY&_))m|!rP|!=NYhfR zEgg%pcwEd#$F4%fy81K`x=d&HbJ&}kAG7f@IwW@WJ%H>vfS-XbWm>&3NS#j_rLbm|Esaxy?P)4vr$eA2)GoZB*kTuHJMeqht`00E_(9+vEiWz7 z6;g#$gt>iq(Xq+_Vpcm=M}#Qr=`O36Wc^qT$6ZdpzNGtW0pDcm!xQGD?<)iVaNKvh z5VwoB%{m;j;;WOsz{Gx>hEB>%<&<1cPGlN%!0d3y14oU(z&_-ej>B z4%dpO;1u*D8ApP(V<#9pQA$Q?rWuQwW-S86K&{IS#HMb*dIlY?1zYvN)md2tY+zXi zQUf6y{^9Nr=L2N|^2SvokGxg+vN1#sDNh_vz4M)^QzUn@jwBX;rppw4e=cs1-1Q`}gE? z$$P>cukLB8+y@G)#F`*~LC6IVq?3bNZvInlsd&r#ArphU+Q@g1fRW+Lxx-u`aB*BX z5gARS68Ia9B*yj{IFhfAP3H2cR6aL3R?h?aPSQ$+&l{xo*Hu$)1OmLbM2#W3^Kegt zgZ#_a$7Zv*MCo}HdAqA!1hQfDS4HLZF2_vo05>zs0Wq~desMd0O>~P9U=1PbCF}#_<^eC z8(&x$Cu%+*Qv!ZwO%q@=ZH+RwraFt^2Gi`aJV2x7gd-o!lRO2nUCc#hEXY34t4nBs zyr=4e(zg8yy-RkpFls1_O1ibJU1Tk)!FC7AI5~zqFD|t=i5p3KjL6dh;FV^8f3vOm z6BfF?k1;g_Dy4zV2*D2;C zcn@Q7iC-j9PUPI{`^~m@xN1K$m~VbY_+0z*RDPS!hAOK=Ew;z-(p(b`Uz0}6=S*zQ{wqZbM-ZwjmKE&tgZCN;XjCPO8q1b{R9?$pmh#{ zhwVL6Uy`-ILShD$oAAqbd51Zpfkx#WOX6Ki@m;&(OGi!fhs(k7O0YZ?4mmwhWQhhQ zpLpWp=;&lHK zl@v&#f=~sNov4E9C85wlH^%{FJ(yJxLWsj=6<9w@uB2IOxe=%>L8r0CmF*F7S)@|c z6Dglu%e^gPbhr&)DA+g<$n6Q}!V_!c06UNhN8?MN#*u(_F!7g~yD{bLebwP!ury#Z zW64W1JeCgtwoXNEuf-apPA72i@k!=zAvdls29u+aa@a_FjPjixZFE1VTxeg|{oX{R zIGgatqs7_e=Pcfx;A!nO3WTuT8+zg1RtL>LCM@n>WaHgLOFc>{y(kdVR2WzG{% zT~+89P!|v#$kHg*!7>-JSVy(I;qf{~9pR`~%R0gjc)i*b-#DhU@B`|Tn1`QxvG!~N z7)9EvH{wa}T#jbK6ZN`0UPMG}I3k`$y&h-S`zS7fH!tB0w(8B`lga+-V+jyv3?1CpFmx0Gvf4Roe0>8V^?JIT7F9j~<{6)Oj$BEB$mEX6t*0=)=1 zzBd1lB{lv4IKfZ3^a2L25b&cq0X0WvuBA*d)O z2?}3YNlNcY>rx;TMUZLQ;7ovSvPj*Ybmy8)Qy;(_xW$uhV<4|WPk}52GXM-ys4|R4 zFgm7ZUIYTDol#$g%%*@ECg4Gtkn}dBZ8`}HM5mpUaTx7MNBWSW}_y7FgXgATb zcNuJ)2!sPhPe`h_~4E=G3;{cc;V03~Fh<@CS|Q98}= zzDv+*{?YelbeXh-60kyVHv0BAyrX~f2Q}>z7Q!|VF15ynwGjm(Uc0T`t4)*zM#x9e zXiAv5mG*MoUW2UN8in`gJX+7e1OR4|rC8_<&?V*x#u}mk1O*@)0!@N8XLK#3%+>)7 zmLs^jC?9dBR%IFBCGM7m*!|${T>j0oOS@mcySVpkz1&{N&Rw`X={_8FX6MdlJ#G;* z9FudQLfn&bJ2X8J@}R73z@=+uF{Gh1ElTD_G!(^M+x_~t%s-yX?0)^8`k8&ja(1Cz zp1Uxc)}n{pR%7n`+*w`3=W@>72_2GTI2v*~eW;I)BEOo$n@_rZx)T*{Yi$-x7nZZV=AMQIu zvJe15r^WMk%>xC-{Z?dw?eRE5Nsl#gH@q)NPtow_r#!{Dc^uU^{0<)qa=5*565Dk8 zp0J(DMz%^l(Z?s&E+P@1Q z4No4mj{ae~I9AL=QpanvXJ>$AI)Bk{REx#RRPV}sY8B8<8yg?SPp&+3?!I#~igJ=XIP$X+OJcax9zEsWEng25;JsATnfv_XI$oS;NC3N}lB+%6#zC zc&ZDs~M)z5|Zz9gj3N?3Ud*>x$rw;QX@{62%KlemdDPtpPsKyKDhGWWOe@O zcKsZR^>!Pz(z!=68IhT&Gzz6sp;4LWqHsmE+DM^8x8EnBEQ{zDh-h4I0`~oQRgPZEtE4?*PHfSn(uU zY7f9FuyG)VlKDa6JrfgJC?3M!g^3BL+WWdS=X3$$%I6Zf0xEFJz3F--kLrysH(;u? z+?^ko^@T!-Q0O=NJK|@3Zg14%dE=Ya>t{ax)|ifRIR!X}kTzj78K^1t1(Xz&om{GKlvrJX3h4 z|F_ZK!4Wx!prcc!V5AVH6(|F}L?suzQ35&+;>iZSye`W05e%{aPmV_nn)Ie+UD-e~ zhvMCK3Mgd(bnH6l9_bJ8XQCxWMFD80cNHj-2tT?iMm9I?wy%$D;XLUFqaRKzuOaQi zwpI4qC*#r(+cRjP3)Ca}16s+}4qD0>%Vh)=wHf3*1e@ob?Y2^mM06tVQi_(*2j~ol z1=x0$Q5u97v(`K7!eAu_IHuPvL<$Yt*_F>qx`&*WmeGPh0Z^=31@*Su-K}eD0GnF9 zw(;iCkN(zgXg~6K$0yQHe`VqdZcSRP?DH;YowUl{Ir0Wv1N>}8RFKKfKo^wVD`TD1 z#@xw*0}ccA-Xe@8*Oqi?Vk#!}0=VW_EiP?GttG&mNc;*w${`IguH-{S8c#&-oY^fJ z0IV?%8({dZXd*C&$P`yRH*o|9T+Ub=cyJeH%k8uljG@N8Bl3>jB3I0&HQQ05GWv{48>V z>`M4>q$3An9l}tgmryLvocjPYq{~isQulg%ZjTeaa7}oeS_;5=E?3vAnU;l(EKaxP zcD9>@zzafJ0&0Xm?9oIm6>v4%PPg4IVybYygYFBiAxxiU3BgDhL#RzG*hP`0T zqtahH4r=9#qY}9_18NAM4Vgc??Dfz1z06&jxCgj~TqiOYrQ}Rh#lX`Jw!UsR<#jHY>sj zl(5N(@GC`9OM4vu7`%g-UQ-xHqHZ&4PyWiL!kN6Sk-8YF zlM;0ML+7_O(&MW=W;d^lA#%ri*UjUqWvsaUQ`ryo+m~6`dq+Vw?bNQhe8wY8ZFJZ! z)px|=lQbTfhh+pjQk*ZB5WQ-Nt97Fp=mnZaU7Wn``Ws=jH&#|Q7+!Dtf*D`!2HjG! zIK)syK?XEDxchxJ@%c;G?{RE@fC#V9Yic%+5MS9xH;ye0C-b_m}0ASPzK zQ1qqoDwb2J-c{@vTCC3ZZH(`7H9WloMNWVx&LX0P8?s0D=%m0)+e%!*izwwZyqp4v z$aZWw&j0?}Vayz~U}%J}^aJ!tt!ad&pqKF&HJk1>THux$xvfW$Z&^ zIq3A;-y(9p7G6lij`0(RLw>a5ZC_sa8v0R(l@?Yh=p>ZmDcH$8mL_>L-nVYzcub2L z{;UjR)zX-Nh>v1!9CAjtN3roa`+CqS<{|khv*BLBO$8hr#LWjsQNsaRl|98&SV%Syxey z9gN$OLO=5I&~wYAR)AsSAG;EC3_omxlN-$WHdZ4w5=i0|+=wGZWxWD{2jvYcW_xTw za(bb7<#MsTg|WC=Uy}Ryx?f&n!`3^7Hi-T+QO8l$%J90qb{9iH=>%6FWVXZn25VvJ8ep_C)`Od#LhdKg;%ZjI;((e#oQX)mdC+_>Tg@ zNtDCHca(2jYiL2O$73_`)%u%OC&$JvUMxx*@_&Ke_``_qBoapru1^~k zx{A^zD!$7Q?|8>MFzM$px#u&P-pld$J@+I$K4IYS!NcwObb7vh_~080Q}O#Bh$l=Y zG}-f_%M~hI2E-c*;h)%@5Z#|n?CxU-4)ic)e1f0G4X{ILA(nZ_($2^LAOFuc0ec5hGlykM&c?oe5}f_Xyta13y;B6_**mMaONOeRF=WUpk};Bn>%nD7!;hl+F$% z(vJ~h2rdR_r0jRG2K$BsHI>6=W_))k<#V>#q-Nzofyz`Q+qXEA_%I@%muUvc4Y-YWe5=KQUVLTz;LC0l8`( z(uYW%lY;CA4gp?=e_D_crzuhRXB^s41e8UMkyE?F#YdS*uH%_=UF%x+`c4mCuWNq> zGd=EuAMo0)yr)mvoQOWa34I! zz?JZaEB19@%Ks%?ljabzYJJDfHVlIfQf96}f3P;ONym`n3?m*;0j^!6cmw!5Y~?}t zq;2{{-b7q_AY8%pWLMBuG3zQB3uaQZ9-)^%%S#$dO=H%$cx{bZAD|yv6|N`RAz<&4vst~+$KH%qYtbsBL9qjf=9QJ+|2vi|C3UAO zxhpj`T1pznvU@F|38x;-j7?^b8OhS9Si5}v@>Sgv?S0Fsqp+dJ6A8vmp*uwjAsOHG z5k5ES(Pdj$M~2UdIq@3LshBdJ_Lk3!YN~Cd8QbY0p%uHuO|&aV&ku-+*m^wj-^DBdS41w^N+M3 zMI8mXD*NG`le3$dEVPDO@K%&jf&tDX`j~3^hBqMbTa=mW*>k$bk#7yEz#2&YWC|Xa z6piKQ+yZ&-{qoGTXAbF)Uut;`j5@6yh^>I#?Vtm~oxC$8E;@LT*#sp|=CRERH!N^) zvDcO|S@BHP>U}SocD#|f8_{%VH4Kk^>RcK={%E*rmK;^rDiT*N_{8h8y^m(=Y?fQk z1A+i%{CIFR1^0gV+&WHoRUIX>8lGkR@CCHbUYG2b0O_stPWM9%plG8j#E2Am-uB?` z-48yzl0W^~Jbc9u%D33`Hdb+{u#Gk`hJivEC@daF8Krj+*f0RbrGJ#l?@e z^02~hzr!~2D!eFxy}XWgD_XdYb~96`$@@W?gn+~NLC}oB!jYsABhBPc6#;LIvW*eq7Y*0{k%8eShL@kjO@3!ZWcyI3? zEP*_yP|^9p<#$ISf6*0>WP2Y{Ge>vtB7O{KPO;mGJlyT#k+^>PIii>+@_tw`z-HB4 zE!+2{?hNrvHSNj9*nUr zN6|-8o=Kt@3=IXa1STNOEP*YcQV!nXCRNF>p{bZjp4`HE;hci}$TZrd34-%S4yP{} zPE;YbOx1&i5vWgvy}_#6<;z5z{u#_RZECW;|3G_UN&^E2rP0QVZ+Js-T$?%fZ++fa zG8j&KLnsiCJ)aGS^pGd*cLiK1Ig=#6ztCEUMWeBW)&*RM9DnA}R4tdQO&!86hg{M{ z%J!0@0Oy8iBu#}=LWU-19M?Oe$Yh3;FpzcB^d*zNrVJV!?pxkq9o!2WFXIXO`?!rg zzu=OCHO!D%Ms}7}w1lI=t0pI|;Nr#XpFf!5GFW_(z8v7%>>kd&eS$m6}$41Nb4pzQ8gbxp1In~et( zdeDqzA5b3uBZ`o6x{(*L2By--7*{^1Yr^yzW}KR+JF80_Obs<;My5=_MoM)IqyWFD z6N>|q4J=kyRhntvy!ZAvORx#y1Zt=+9Egax&*u*XK=uW6oS?6u`!y|`2n1O^v;QTC z&a9JuS$BC^H3TtE{_w5{BA}eEaI7$$iUM`?JVZ#e`I%Hj&&PTCs(`sEi_CI4a^;j_>_IJXojA-W`c@_=CD#2+hvT^~-Vu%alWwp6n8z?t4Z?e&*r`4I#*0FaBz)e0??Srlz5EcWYvVDut%*Ff znz*zPV9+6A$lQ&+g76J8NfBGAhymFgk_sG_N~DAcN>4Mo<3+>@I`7OnBdD4lgvsnT zohUh*YeXWA++~jY;@bmA4|w|`_dlCJ@jB;Jf}s+th*Av2Zl@mhmb^=kh44OWn%OU5 zf<1!_e%~|LnfK`)?^E+S9D<6UQhuk6Ls_z*TgtgogY^o!YY8TASg-73n{^=25z&s3 zI(1;_o&8+>b7z4Fho3bgi66tdjvw@gl4WVja6`r}V$9*qM8bJZY9@50^LJ;s?`B)n z+nZyv6GkE!4n}>!*)gSbitfhx`h9byiKR>&757p`Hd&gRSB^21w0DLyHrHM`kyG1C+#@^3!@IgQ`L0`T3)B;Kq@# zHhXk_{(q#QPL|7GRWIjz%i`)swTO3i-V@Ol#mIVf)bAf^kOev_?RGO+JX1XpzdmHoc-OnegbH)j1flz(=hv#_x>u31Kl>>fouKW(%7-?KphX1q+>3c1p`wwojbO- zyavNV7OB9Jxf#-4(ze$bdA*0TszM-3sG2&Q5;;+0;1?pShS6yaF}3Rt{$N*OW#y#J zjiH?={`}Tm^<8;@mEgcb_1(Q|yXz0Jh2;B~Q%a`b*aX2rXJNG`E-LP-|uI!cNZv7T5$Zoh* z8!GS2ib&^4I5w0F^1NtcRe9M0Oh8~$0$1&M)TsgNgJnG+cNp=9A9a4Wf4-^;yH`ZZ zZIh$lUHbj-UG0@1YKUEeGYLcjfe?~i z46Ns~(CskA%)U}QkUho7ZHEsoxZO=Ra$Jgm*+*t|S8fzP!NVU`>HeatlK-tb zv-Rk9S7AqpYE93nlg)@bbT}M7?DjiQhD}~?E}iYPV*o}<7n7Y%vY5^%lL+m%Ryl~b zEkM9v4ANlUsQ5;|oHu0r_P+}&1~8_KcILE^+8hf}((-@x>WvYsL4UjLM@+!PsZ)4k z)lXR`trx1;1N0{X0P2|Ec;=(N;A9GC-H5JSD)$ajY-Ysr| zu~mBM?}9(TH3LqDz(eI2l72tkNE+}PP>e<(gwh9a!&(^}%+?EPAyCvM!~%Q0!l{)j z&s5499Q8gE0ERw2?$Z$rHB}g`yHJvKv@jJ7=X76O_c=e4%sb7X@ObuCCnl(WA@LdqTSMUt^lD3-*IJ5>mUG#60V*e`aDTT9NbH=@;ZQn90ex*($=Y4hIp zM)Czj^MdUX;|Zb#sjXY5e;IU4PDIm%v!ud+Ny%rCy(_}H-}Q^x z3SuLHk)~e1qs35_(9)fTQa>o}k;Aq^yWdeRx*L1Jz;#R1H5n za0C_q@B71NDa9zgUHQHt3=C#5{os9cKJG(2kpC5M2n$jrX)*jp^nJ5(mimDg0{d_d z**l;N%%xvh$yRUz4#HbboL78@&T{p0ogAT(U7UG>=NjA~Bjcoy@LH00`6aKGIUTU&}{R1cm$Smkb)`aiq zubr*$Dck{ zFYP;PA%_Ik@ACM zw*r+GFq8~lgJ7CJ^Ro2~oP!-Pa_vlB&Lb65-LL+|b#7DQ*S5L2Y#K{^Rk6CV0_=?? zuL%pB93TtUIMcg?{ocm)jSbXEZwu?%HVfQ#YaF2O5f0MDbAo@OFW-;8Y{0wI*DX1L z70}9lBt7NiJG7E?9Y%3hv<>-+t!=CFV_Egs8Zb)J7mDpT!R<-5c4mUZiGM; zG&eUCMzyj3Q+79JTU02u;xt5d!`b;2r)MwjwMFQEGYPjJUuu~=Y;e=C+2 z7SCgt)|j`+_;e@(NS`z6!w2|+c-mEblwXW36n%yS>Y1|_oLY8GO0A==>_m9BHJ@wp za=5VEs&PY~Fbi?1V!+n2HJxps z!pYMzT@f(|(ey&L_j_;^Cp&ErcN@C;YWoUQ#r3v5zv(Z%bw5F1XS~g@pBVZ?FY_=D z14k@d&itx)pY)AjHnJCB@qwBOMu1)M;$`c~najOTow=O9Y>D??K6Ayo{6!0I&M=ok z$*C9v^?iO7b)n0~L6ytV&^J%>d;jgSwRZY4zjb=;kMM6@R^OFt;WAbQf~6}gf>YYI z8pS<#j^Ezy{V7U_cacTA`GWC`(U$47lWlz6UI$xv3MXv0C0MR4M%_S|f^(&>Dp5CW zVT>?37`qak{B9k8c%ws-!@0(q8Rux^&McqFaR$T`T`}0&B92R&bWkL@F(Klz*T^Rgjv%1SGv#LF(J~5989*&ng}n)pu4|?}2~t52&3@ z^|{^eQf8oiLq*FHCsx*bv@`D$G`w%q76}{A1;kJf(cYv63J>^mgJ@2KF9I%o9V@|D zUfxtrZonGLd?!^09v|aJ<)Ck3U9$#)!l|Fax;}tfMCV8D#vJMkE?R$Q;F}-pv?w_6 zCE!vns!# zPVUni`&?-Qwr^qJWK33pawF=}>fCkECV5>(A|r!9heQQ%Pj$|^`i|nuYF^pTfT@aQ z0-0yK2e``31C#GzRv<92A#QVd> zKIF&&yaM@6=m^8#`|e3UOj6g>mPf=%`a^IGhYbJ8w&-$Om+v>~_FPf+$OPyl;_qoR zhrBS15ZMt8fW-s9FYHeUc913lypswV#G)+(V!cLy$O5A~Jg!ho57d3`qT9F7wnTkr zbjbGLEMXBr4af#Qw=d+6W{_hv>J7!q&;;05oE(q^3d0pHD^Q@Tq%LGITgLWbNP&29 zsU%egWdWeY4-RqkE;^7si;@(5DF_!(;?O`YLQof%b-f<<)3`>vn%IYp+68c){B%_b zIj5D#^Q%f8LU7m$&s?!wK7SNC5zeJ%#EshRe|}?RAngn!A3i2@AZ)r=Ls&npI7+~x zT_zuPjMnS!-LcU+9GLISS#G~}?wBDQla|Nb`w!TBQnE zr^k|Nq8cSuC3ym=!(bN%wd#1i9S`NHrc_mB6n^Jk`79)$t?sLlBbyJnYZtF zC)Vn{t0*~A?=9CwdnK9d_>(V!$#i^%A90F^@<^)C+6@)_XsCDeeBAg4@vpIVy)xRe z3<<75dr2G#!I+aUU}@M3L7}YJuNwRtJYKP1cZ+y|vHdRjexG=wKw1})4z>RzOhlOi zSV`;snlN#cyZ8Moyt*BZ-dDK;0EOn=!s+aN|87(?bRuf}mo%pb4r!cyw0A?(kW}Sx z{O*kr9QE+vpvNBz=@L5_7o=jwvJDT5#|-A&4ifh*po|=_W~;kzyKOh7fHADM*vg+d)BoF;IuV;mJoN5|5;L(Ae>tqN*!!>j zGjJ;I-=~GtZRzJ8M1#>(rVv<$uFy5>#GNNC7|6bKI-Ps5*aR46d#PAl+UWa6t<;fw zhjCrF{5F2X42;7g&~;=i;Wl?Ro)hbkLK#BggZX^YidbS<%dG?dunB_MFMfaPtfEI%h9hOIN9EPDisaH z^xj!OzZHFuA4z;uXQ>pxu4LlQlRACuyEu~h}bpYc- z1z7OlvY~HOhrJ>f3SWm45Z){_a3PU+>*XgJn#MNN?|rG)TKCVtK5&d)dMey`@w z=)&!9%qRTbxaW|=GBN33MhnV(xs#*?BT!a;MX;5UQOqyREtw3zosLdg$l z#o5J4L(|gnNHF365{HE%s@_M^CDW0LhJ2^=RvJ}@^I~s7 z`6B#V=V2~zp)X;r1E28No<+v>4QMy4Q_@UyfNnu4ZbKSD%)V`q$NFW?+5UcNjj*lk z*N{afGq11OVm9xC>oOL>1NxhkIdLOUhLtxej?|O`%#Jgl=D;ze{H~wIu!Q6m6FKLF#hgLEdV>2Lfq2+O8N@DtfJt3M2!3XV`C!UyT zZ?0ThLH(I^I7PcpJ_+r06Nw#|XlyFxv(5h|q^7Sl0% zpSZGjT9{1_B zq5R5ksIT|b>B!Jh7f|0&`y2v3ocKJ(0V4t%95@3)1wQhT{O5l=|KShkKhKYcGBLBb zkV8hXL6f83e)dz3e&EWZOy62%W|-8W)cG7+_WMnJzOAp@-6x(vFJGfU4RSf!(We(T z=XpuI3EJ@>#_ss%EUaz&Z;LiF?&U0#8>MR43P-oMVW2*o`rWioQnLBqqelIYp%1e3 z{GiML06|>vk(e?Qzl9hodZdYD1W<2OmJq*_Thv3n^D8bWG@eiULqc11CIcStzlemy z<#eoYQalvccu%Bs;zl4OoQH6l$9p3X)(+{VL$UO)$hoQRX~=t4(693P1rVUdw!5MV z0&ImQ8#F88y7scXht3=O^!|+xoP;Qd21Wj4<(eWre(|XHnE26f;D*P>rKcuB&AO5j`UW~lw%ZJgF z&nJWjEB1T}lzyc=^tv2B3GN*Krfop=+@0qjrbMw7i3E=IC#IC7A1zDp2 zc$bHA>e*@O_(4zKPn~?#KA6tGaG|j9+Fen>IeF?q!}~Le+m2{Z(i(zs zfl@YrnXh8#VYYL<=77}g4k-siW4SkdtdYNPwfE0%-8pnl$bQkr{H2fc%;+sTi2R+l zFXpn2f%^8dHz5B=;mBx&90(gVn^K`P84QkC5yHK*nlLN`HDUPI7LG1V2G2JR-03Lq zD|hGSl0~-}UVzEnoeC|K=jKk0W{%F)4|(VJ-+9o1f*HlRxndz1^qWSeyzoLX34DZP zdVB$ghjWPW3|`n4k$D7{7Of+2p;Mm0l12I$T_{vuV%_>WHn79>ZOHn4pKV*nvcE?tP_Aw=g&y!)rs z%c)oD`J%cflDn^&O6fD_emhLqdla7M_WydNia!%@NB33hbFNehYh2A^n@2}rv4X`C z>u6|!U}{`TwgQrLOKJ+};lV>dz67+!@GkY{LD`D?&nGLm|K5&YwnW^NiSm&#b^E!A zi6qYOC+AdqIY*RSKjdkUKgc=z{wPWUlAARk@rn_|V!@Hxy$Z0jZl}Er6Voax-SRra z^{InTCV7>(!l`Hgj7Ul{kenOF7papV zw1|1V;9UUw;+(<`g0bY(Xd&g}Yg}?SDrCc*h(C2RG+bT(l}$S3HOL8YR8nF=Go_%cZww9pcfT zZ~CcepYMq8@)ugpIsF%U*Q!6_ns^QLgx2V1-`{q2!IB;nX2(JGP6}FUwr>QzRm5iFBDd1O59R2zA^=}hKX{zu$@JKD( z-q@XsWy@pplZ)q%PV``Bis?#__dZ>%NL|aL(Ki-xoip zDA11HL+Xy+Xfg0hybue%`yKBN1oj6u-WLp>dq*r-4!lqNYybzrQuYP@`TOv4E*1#B zZ!izZQ$|i0+uj?A zojQ3c9ua%?IQL^=jh1uudZP^LccilCzQ;!W&(`1X2RTu4w2HfAUKTxNw~@-Q+u3rN zrn}v1qN2D~_E0z{ZW zy>7%zs*fh}kHfjTya~5+Z<8X;Cks!sx|aA-{&6^9^Wa~x^fFXTYx6|majV;sdd7Ff zABzuQZBTRGL);scNhXb~SQavrkWlzA()538OEAOKmLNLN+yZL@-b=$vrGEslP#?-# zPFExm$N-uOGy@sQi9*~Vf}VIp_r?6~OuX#(biBV1kNL~hc%b}uv8l9Y+)C@>6EQt) zjeF8l%v5_<*3vW}*}^)DTo1R`p@qj0rREKVbZtMZEE+p8~+b`(hIZU zRAa{DnQ5fLvkREIYVO^Txh#ytlG30;7o+!pXqaI<2OP6C$fZ>0072*tv>tixc9`3| z6XQYe?DPq9*6YN(r{U=dcyE91krwI><720H*1UaY)*Bq3KoLzyV`?o@_9U|X54x9} zR-9g#j<0&pFUsuY*Ss&!=*uD-!1)bAPlMD|=}QpsKSLKM4}ijGA~FQ*mEkS`3@sb* zHQ-2XsmYa#IAO$)S=W)QnlA=@mUrAJMp9<G?6J8 zM#L;ubGezIfi!j5-=G*9;=Q1Xh&zIM3XeDDt-L$LZpgK*6XSaiY^k_pSQ6iBJZ4yH z>biY<@)gmAMMI%MP&Q*53n!pYXUxkv~e2Z=H549DP zbHC|c+Y->1ulDb&__KPJ#4Dc#57IJ##kNz=cwfDKb>-&EcM(+Fx#e?gNB^_~t&~^C zG~mMltGwy*|CHxYzCQZ?X}j;Q4_P&slbH54tQ1%~ho;#$ZJt={pfX%V(npHKdXOEM z*+8>^sV>cJ8)W3*R9uFL;a_DO6I}Lf`PW;Pv?1AUqof#!1S0>g+4Fv&*HItXq1D}D zdaOX5x@o-Dy13Bx@sYCH&MWPl6(At5-j%Ue++f>;Snc9wY7VZ-wVF_pA*2Er2$&ZP zABeJZC)~2c1O;%4C~HaBe3LA<4xrW&NIzZzD8LOL=O*mIWnlqE+n?~`ufxycfz>vi z3*&`eVSK=Fw6fq0&k(`29c1=22%qE zd0XU_P*QahVAyjeb|p1 z;xEKYGV_@d#E44(6BkghB=u6nqhfEO{w_Q`K%6F+JWW955==5mMG}9}TgpB#n?pT< z&*VKm6#fb9?|sLiiTHwbIFN9i1}$<~cd`#W)b#pe>6|;}M|Gh68=6Cd zfj!{+sLSOILhzA_=C<{zI0%v=iDwKSIL1=_Gia~h*8oq0FAEyJ7y(Mx%GIlg5<$s( zkW@(%$zA*NhBU;5l_xb7RJvz`uFj<4mfV_hYk?CXm1)Gf)3WZILWG~S{0+H975Z-d z#Z#wFUOsv96kbo=bX{U$Nn3oERg9g9wQOID zv_?jUGtq7+F2jmfYtVYccx>c_nMfXyZXqyNVXgP&;`L%PSn(C(tSe%aePf+$cy>2c zUJ4s_JmSb^nMn%=Q21%AGiqjJT{qkx_7H6DM4%AFxC*9I8R~(wDndPwH-!bUwIoh@ zy_MAQ+r_1W=C~)A3`Q$+VrFtQxVngZ&-3jQ=RMA*uFcF_3l5MOTTX&Mp4Y8#*3uPu z>ub~RDd!00&G!B8dOel&@!K7j4y4K+V6a9j^SEUWs4ZNf^)+by_>&E|aL{hR>>L~L zgbJyXTeJnS4tU0Yi@KFWGMiAl%VN&G7cd+^pRv;d0EQE?~cQGhL*5N?G3jAde!_am(+HZWw z<@uJ!`35Kcu;Y5j)%(V8-v8(&eB5$4I_cX^XD?jHo^@#H*QGm1{>1T1k3JB5;DO7+ zyz@@8>Gv%yiaCe2&!O#gXwcZ7a5MKo|eVpC#~YORV~JgBg>T0*uRTqf)UekG-kkuf=*2o1hS*h<}Z+{RS^*F@q;kYwe~ewVewBL7Wexa>~ZRRM#PTL zZ#?{OO6eKTxQ%)(VyK!W@KxoGt{Y$gQt;_R6o~p3SF(ju7{@(?ALy-L=PjY<$!G3j z)xrsFYt10jAW)1{}o7g7l#)%YsU_nXmb*Xty3|G2x-%xE;4`8~hC@ALDu zLYrlbXqrn-R_99*Qw|#gN}fW4u@#r#D6X6HH@Hp_= zFFO!{|x1$8*6`{C<1X#1s-miOVDUekwzHkUmZRiUgF zycyNW56(* z%h*aeBkRa~np1!WS^$nxNQUS}wDsRO{qrJbWCi`StxN^7CPNGQ!dVdkjS0d>v=2;$ z>HV~81B7{+IJoDq$3*cxJ}_v1VsSbra*{V>&v`8YN|ZR^4A|%#B~Q$Gt^OcC=f4r{ z(4S~{m-eANY<9mq)mKxWBLF3{gj{a92`ADgIww3pGXOpA|g&Il1T!u-8<~-Od1$@6Y4ckhtRMfzAA;Dc;B29U#gEZq?DRc|Bp6YLN+1h7lH^K3#$^jq~zgjG>>u!!CgTor3k6@DZTCC`lwL zVnO41tc(xH_)W1%ps)S7J7l)yoH~X+aH9XvcAhvQDOmRM{hMuHX>lF~diQAehZ7Sg zmQPGfY))rVAsgJ)kx$*C>K0^M2PTZ$sbCp|`ka1%4aCAGhK5-0$q&@Yr4az3foFnL zR^72WvDGGGSeleni$4<32hlcFmFwku=cvk}-W|vxrY`4&aI0a2Mno@o7UQ?1Bklb* z1gsc1dy9V@bj*vlaIYy4tlOq%qdpuzZe7@npnE|3k^9|r2w(y5%p9}qXPe~)tOl@D zbf)gC)$W{HC$yp!)>vxqd*GLf1i?u#krRdivzd#7pCgaPnv@#+&0aC#MZqXrXUtG|;9D?a%?Q-Jux< zaIB1Fpo>pkd_{aJZ=(vJQYxLJll#8yMBLXbj};Lh*C3|9>KWCeGe{CVu9N zTh8D!Tv+F6BhTG>Ya1{2Q2O>XUN5-`?%*e^j{G>WV%=7d;ILdLeY+@O#;uA+q79q_gAM_W)k$Q`EnjY2DV zup71j$Pw*955*V~5q0pi;&|X_0fW<|`A*~r&m-fpu=JB_26Sq<5{4NTTIol_dxxD~ zR~ihDno{Fqb6mkPHwH~mrJ;uOK#DbzLqkc)>68M2a3T@*tExZYJu!t?TfC-DcoT?W zDm!$)iF-k^4dG#P#OcsZF$O#*i8m4iPq@oqyo+f@zHvCDWeUB9A=K`ZZXoQS(%s7+ zOk~+GcpsNT_LS`oe=u7wv-NG#4uqezD;u#0bHSC+XLHN43mA-1eg|O2?c7c27H+eK)60Q+`pJ8)Q=pgL+RAoLW}Ee zY{f{lhY$Kjd@sB3GHefuHoN)<7;9feO$f&c8Ym40xEy6XLf*tI>O#Erm<1Y3k}AOO zAVV4rbS~+Dq*Z^jx?oS+4*%jor|q^wcqfg|LG&K9m|SMX)*V}(yWxR(b{midZcB;} zU4ovjK+%be5ja3M3Y{_W141)x#FS!W;qhP$dU7+F?gVowfx6M6OFC<^InbVMAl#|D zLFxxqp;#*9KR`mM%GH5Z3-+Hj-{P^fA{qiU=xw>Of$SAamoZJ1wxE;W1uyWp5&NT) z9TQq*gp`5-(F!@4ux!Am7}8z}z%Nz-uUbMQ5k5tZeW!am9zrSZ40M0EM1tQc34!-1 zqaS~e&0+4(N()C^?1^}&`w2N3*vCd^UnT@U`Mw)RM_Kp*a5!J9FuCKhFTm@G_{HyH zygZI0igBbIKRoKTP$GE_{}hx^2Zn)$_#LoP=%AboKep*Q>D`fq6z+yre9KlJat#Gj zZdaLE(jIH~xrEw{$J9vo;!-0NveBM=1Uk+wjfzCs`r_8E#^ zBKC|_jS}CM#2F|fU}83S^?hVy6NsH>%HQwc#Y4ZLJ<0z~#>^Xl|afP}Ukazcc*jmFUb&0dG~kFwGY0G5;(Z$7#yW{XFI=IkX(lMG3>gnww_IZ7#% zpb|wwalbtZYGcPzg;+N1EsiO1MOL!<==iWNJDkYtLsM#;X+dRfw35F+r@P%V`K-s6 zU}q56Hw4%gzYJHFyeF)eBVkJ{twqZ*Z%|gVO5PPp7DhtPx@Cvv%?CZQ6xCx?FO-yc za+3$99A<)g9j0{%c2I*hnRKeqN6q-`02v`tLT}O-VktGWg?vxsE`z97P{}6VB20at zkF)dDe!^=;$+fRP5vyK=T{9eejBr_9rB4kpspcZhaZIpmwKn?P3)K`4& zrwiSG5CvNW&qR==TvN719k`is-84255BW64FVRIee3;W{a}a7I$*DtrgLYXfWHgkY z+puVafE>l+m1gIS@$O}M4jbrx>f!ZID(^qHDo3L1Lx96xYrZl5IXs}!d3YGRRiy1B z!ou#2GN?71@xXbA42$OjnBIbi5o?==M^z2j0IHm;0_qj? z55i89J%KeJ9ndG?^u~f}=6A?faisd1%0kKw4ENF!1sloD&i4H(bs5MXo!QxZ8 zp>0NiBH0S2Ng`m6A=Qsh4Tn@;Xhe7Wfu?K;EdMoM_MuG;Y28ad))JkOR3sluYFaXu zkEBLk?pNr-L#EN-7X#9G1K67o7Dc-VUF#ILe{pX^3KS(BBR0^o@Bl8+q0svXhlW{( zg$GD%+-J}T+nOo%d~eA*;c=;8ss+rdn26#SCsmgxdQ5nGUJ^SR>o7RShZlyCN&p!c zs7lDlfJ2;$+rl0>dWAIP9F-2+t+M|)`wXW+IX(mGIYB?mBaJ+!THT8GA;~lu<+ll0%)29xp zYU0*glZxg|MG}d^z4uZ-qR+nyzFS1-4b%&oEo1n0WJCi|$}M`IVn_Ym|H?cj-{ohC zGHk~i8-M9fJF~{ndWz!0{P&R;&Rq_e~kQEvH@dh~4VpDB$Q#_Z8H$c-a^7uHFcynk1 z0a97lIKtqTcL-q+!-9z6$-}}F*uw!MiRmom*z)=F)oKIw$7P{HxTjctwF60g>|y_8 zGB>AqM=E25(evp-wbsVFm}V0~k8mV#_`Wf#+nJ33Xe!ni`AEA$=xo&2p9bAA{e58J zf`J!{I@qmo$|pta3bZ%%@9a5uZcpMpLy5%Dd!i2>c=&I0{lH63JbVC>@I>J~6BF+# z)bv;0`QU>Oo;|_iPp2Ih zy!Gh5aCqNQLd)^_;~0uZV$oa9oGI*k>K6a$zne=cp}j|s?hS_%Bm1+tQmhb-9yxR7 z=2$F0*E%&CtFNFcT;72Ev$bxMcAc<4&|wG(LVMF5T1nETlJrH+BXBwu9wS*h!Aj5? z(Zv$-(wG`}b3lz5yT96Vd=FktWL=?P(e@2`HF)}TusSzGyBQrQkhnn5oafk=*<%>- z0*ebKOIX{D9B;Wg8~Aea;>F~bFN{R)i&Snulx2@C{Pg6>pK9IzJvX=f66z8$2SpxY z&UuG0>S>iF8v(QBC=E2?gOHDk5c~A0L}H40#a^!nf%odbWu{Lc|0y$ebYJ4d#9BwI zDy^voPhCRng0$IER#wy%zC{I*jK}zZQ)xbk#qWiWm>a*J4gqpl;f=d~2`Pcs$}Pxb zl!HoXL6vCmA8n|w28ow|^&3lfJx5+Y?Y*yI1L<}|R{P=VFK3nk?`fgzpBMCjSF-K?Y%v$h(CUIjni%LgzB!yOZ3wK-x(JVhx;6x53V0 zv4E@s3p99K1|2N%8{)nW%mkj*1T8LZWZU@&pwm}#BJUsW*yw)@#8c#gHg4PKe-?bX zR@eI4-_LzS}ykjY>1B_eauDBTGCDtsx7ce_z2Y?In_1T6Dh4O zI$@e^&PcZo9XT>|t2EO)`Y1T$a%c9qypT#Q$j9bpj|Xq0qvI3sa}&H4Xv8$h|11ki zAi~daXHWzJUxlRxvIv|q_~L|TYmiNlTpDubyR>p(O(8>x8p*`vvX-i*@Y*^XO~eDyf^mP2Y6BEY|9WurT?nM6L#E+5AkubwVtOX`W2xEh2 zd$oZn&{LeOFX|6JtS_>rxuWAs<*8ff3{Kzou3x=3eU{UK4*Pw?CFO`y#wY|MK&l?F$xt(qrqxgn3q%2&w!!g% zW;l60)>$<%99P2Mh|Z10p$$%y5-FG0Io$o<`l1{DKFP#UoxObsV9MSb>|VxJhlDH+*^;>@ zB+U)FV#Db{qLS_v(h#eJx#Uy~`bN5Nin}ZDoON*7gJP*qXTr&|$*UR(8bE`32iD=JWUL*EL_+;zP4J)Hb>z}fR>=%#%!3Z+#W2D!^U=}7 zhCx+>;feu^AuDN(m%se<*|Vql_Uu``_v)R*S0C*=Z`6-sfk~GU#fTfAEWa`YLU7+b z0f@{W`@vdp9Virha0IT9K2HXeRy#jM=|L#p5BMSl3e{+^Ax9gCmCSFDt~ZKc3>#lV zFS8DR4r!l>zLMJ-ESZe!3xuVY+OlUXgL;G~i{^N^3MmX2_z3geTM55}!3);&&6mS+ zTpQBjNM_mLOxm`{r&+pYDDmC2>~%|aJ5v0}X1jiteE_wmm=OtxkaZ|6WzIKHwb^IY z?!T!wBwyzEe;#;0Pou;vh1EjAQA_?S8(5br)hk0dtau$2^`2#g7l7s{ z`598|c?u=K97QE)Hb^Bl%p@Rrqi?u4I}O@I;dG%YM8i7Cxf*;57@}f=-G4*~)w{co zv$3)ch#2IZDrZWImFUM5Z}}sNKQVaB#m-i`{|Nm(vV2tnYQ^ELln%eI%*LQ)T8{>X z-`0@5e{kF`#ue64!VnRfA(V&MyPbAxXx>Q9f%$y>(xr8dOai70b%Mhx4W|{PGijk{ zrU@+=ZD8mb?Y+sCx$X+#KUi(JXHgBq78XQEMTihHJkgNB!9awGA8#iT?cboygRz%C z^zs;O*nmKPTt0dD@JV`KtQ|N|!@EcO$Y$dP-N}&_SNPmP8BnU#A(WEtpFh-2d*TtW z$CJsXLLM4+H0jy+!Qv1et&Tm(^YgiJ9G}%kBe9pyWiy$HN3qw!lgQwAB+X8c7v2q? zlZW>XWkh~H6l|fAN=?=dxY7y=H#mvxeMfk#A^IJ4e}*+cA#7+1@ZAIiffyONUXY=u zZ8SQK#_H$0@A&-RkB*)i9sM-9o#9PC>(O=cFv=npvhUx|pfRYc5T!}ho`-`5g7P4t zVUNq^DTtSCIGtJ~mnr8*^4TQt%w5v3meNM^BiUqH87&_iQuWbzPD|!vk+7VK&1Ag+ zwu)%FKq!@)8k-(2>v2UHsziJaXUS8Jm?^B1rdbq?uZ7Q{ex$30{Wyfq z1wMf!STPCyU>a2AK2ptKtyN&Z;w#{$Qu5c@BjLJUXq0Ug$G+cGZ53&@sPfZFEj3lV zKg}8ex=7IwUzMNyL%mR#Fis@zPosJGv#+og)*Oym6N3AX6+|856`GdS%ZrO^4S1&B zc9g9m(eI_p>wAx_8T7Qn`KlnOTple8*9b5J;7FlY#UAQaloGU+Yu&(mlNt{&i%L^z zrqfI6>f&N|a|PqP(TJ8B456AZ79(VH6QO0%;FXn?E0}(?C_tXYy4>OV*DVX$Kmh^> zkrnPX156&$6moSg9z&cl>72=SoWY)9D3Fu`omHi|j?H?rg7LD_XmmFl4Mcl1AntNH zPXGYx>j2=oMEo2$RCnIOXM7nO<5tjM?}Fm^684~nOTgyaT9TSgN=F4X9*JmeEj>46+q>5`G*_oz zl*KQf4LJX(d)X7dB@UzxJO13hz*(gwlz#wlRx!s-UW{^?SOOnJOe_Gh z2x6TxVBl1^HwA_mXGMuzLBYx0g=cC_vg+L1{T@1)l@5J(2?|-B-bD+;*LewWQ(9;# zqyaJpcFFJEE5y!j=g^_D((;eQ;K+zqY{cJE(8;+-$(_l#OA!vEY49s#pRbVrVgaNP z|75=*t0b{4hzy|wkL2f$uP`dH64iL3NAOMfiv8|zS}P7RTQD`b(5RG~oywVp$KjLQ z(RNHr+V__0tyr<*_{p1A_Spii8_E`^UzemvW_k}so!ZdzcFCJ{`h(hN1rE3NnT!>$v_;R-+rQ(CwZ zKa@%xidT?%zLri*1%p$p8B?CUIX5)~IBlFOm9is=`2=1g*-{C=iG;%uPIG_4R6HBZ z2jpV7CDA`Yn~~O;DN66A@mii0pWPSQx;yw>#D}yE)lU%#zX3gQ`3D$ z07L+2H++^HNAA#a!gGde=OK#FWF_Zx*3KsadI?baiIoQ2EE9RqB~qrq(+a*ZW6}qe zk{&?Ve+#3k82g|!rspQ7j+p=%q<8oM;^`je+G&u#f}&xDaSTA6f#(p+N2tUh1d%n* zCjq#FP0e|qrWcjdT|Dk+ve^$#pBp%vr-<}u_ zNREAZQKY~o7z3(5=QX*GA_0kn_-KqAX#R3Yoe70MwSyS7JX;w|xx4|U>d;j1)?n`v zdWnhb>|9_=Ng>mxZ|vKvk^FhGYN$DDxj;!R?QG7&G)#hhvr zR#d@9=!hj)alt(hSP>mzm}8e>m}$k5ZjtN?xANjrTq3atOZQHf7qpOGeR*l=F3Drt zGpksFh13m;g^0sy@kY}V3o#G#IUI=HK{!e#oQSIyH8@)c_@XRw@F6KE4NnHGk=n!! zdlP;@q>kP@lDzZYQJYl`1!SM zM8TVoe9EbPX@LT9#nRYqf8Uvj#4{du6ba;<4!<+*hz5}d(4{(kHVGh6-qDqGp+HyO zD2L-3aHHIVHm46H$?uDo;qf^rS&{!n{iXDW%zouLl|B{>-;$Ou8wrwz+CpdM$lxg?SpA{k;X zJ9`Xb1A-dBLx7KfEBafIa+alN(;(+0xk$oxQO02w;Cu8z*#Jwy1{#eTuJYpz?!b)6 z+On|^p?nRDu3d^ig!_3*Ez}WYb5u39er?en-K`308C2q?seEE*@zm?pqcQ3j)hR3& zz(_Pt;Y&!mD~cz9@;_uOzp!k8;&TNeU?9lJfjjxZr;k%D2o-{w^!)i(^C*Pdy(}_( zMMC$`0r@aa{S*%aB2gX!6A`jDo;)TIVGUy;#y6gOLUh2-5=omPb_}nIu=^P6wD1Kf zp!cu!1>r0iF*{Y`4Owly-z#JeavJ9e$up=YsbQqGxnBZ(Y0Af+M_U+?&xKqGvyJm7 zVZpU4&|{eHx@7QUi?TgaXe?6xoZ@uJzLLHIE6RyId+u(vR_&!}B+}yFX6*7xdWF6? zv8SbAY;*dE9Hin|u<(#XRE2|-AdDC)SmU8?HdY464d6ggKg?{lh+A#D_p8J+?;^Vo z`~vXx_EL%GA_NxSzu0cMe$3=#Tf4p;vUEt!_m>iD5sb3WXxa z{2_HB@)Gix)S{o#YR-T#fg=Iugl&q!wVQ$_4^VPWVkW_)KrAQmG%cbNpTe^VCWx5b zS80rCR*TAPaYX6Z$~HFWbjAlQigi$BOdYf$R+7G9{42>FvopoADg20EODYJCE)@N= zY;)U!*1>|6xg=|1a4<1wcUcAtgUI9MmT`WNAy5+MlL$<(7BDEpm?T^^ z4Ej~4HgpsMtKp1FyCT3#$KUhm1zEt8x}bkuxygYv|`*t&v#Lh!kcXY%uu=~cTqC|{>>DxkV>QV#pc zN!ji0cTy%k)hzeV(q@>rAV$wqzUOVT>hcm+cpG&ZcpO^k$vcZOfDS-)K}1fxt0V^Y zpDB<76S}KeK{^&BRD?e`IjeU8{@7`@HkTTWrIrF}QC4w?4@w(hJ%Se}9Yly|-L4tj zh0)Bgk?l;z&ZWqGBuZYJXx+`FQNH2TL3{p?eT)4XbgZNShaUo|YGDq8_Io^^zaw`C zUdH}h-!YxT4MbT@8-gJ<3xfg4&164li`ZgQ*|^=d3IvuHx(E3{J?}lbm#KIDzn2As z`-RGap})N>&1~Wy9PUEWGVqu9==>kge{|zEW`7B5 zp8v{M)*t`pf5rtUlX*Qf&-_AMFmz|8ZwqY6q(>3sVWw61QB zssO!879k!Zz>XlG34ZMBBB;O&R|XOk(Qfe;eT;&T?zn_lKir+>7Y`sK-kJ;5LiXpl zhol_=v4$pu+Xx^Zg^`E1Dgw?33}6+@cH4JE6?GkqH{~mLMuWHpzu37(A-Z$7 zHL9PZ*tu4i#fs<-r$tz=@Ih&|$Zfv`kC9fn zMHx2n5q1FjXx`&V+(V^E%@9{__Iy>O6682;aG}nGze}a^+N1hWk-efhNWy)K8~0kQ z)m~b99ljG^FCqB>r78f$B!3U$cPQ6XpeG-}Lj_~PWE~Goo zAqfRBs|wItRxyee23|Gr(7+=Dj}E+d-~$66K_8jIf+U3Pl3fMHu>>~=z-nd*!2*d+ zOB0jugh!f)2?UYmkmIEY*J@~vYDEelfOoZ~(r40qsn8%`R6+pPx*Sl>rl}x9TsnK1|1w2xwP{>H% zH}-!jg_vz2I;;#jB60tln7#kw-)R{QuW#E!k&t4wWk=7uy>@FnolY^9;@jV%)a!pq z8y4Gs)jPdez2XfiGfD_vRoR%=ol3dAvE5Go*Qn--MPe>3Y945AtKEA~B;*;*+N{dQ zn5+LI`d!SA-)5f^oIN-l?#4;&T1N*{RtjkQ;1*~FHlk*yPLzslAUn@16fYG@u0&0V z$Z{k&5oxvFIP6WPgI+zLdDE;F(=vD7nby4?Tg4g*M{l?>Du>RrR=R7$uboQgZc7H7 z6)(ylWS9=JMo-+m_;^4Dn|p)S3(DGyzF1EnGx z5;x(KiBPjc{G^o%?Mqt3>=@!p1a>M!4CE2UrKFwh$>J1Suj|qIg#!^?KmKS6K+^~d ziKKD{PV@#e3E`j~y(y{(!!Rugb3elDb)81BuBVsvVG&3&tXCTb@*9LLTpOK`^=MR= z;gva?HL|FPHrarm^+!Mpz{O!H5GqXswqc2^XD&4ktYZl&4!prI zdQ;cu?$I&4_n+4Hr%tgC&f!=;vtJ({&+2}M>}P^*^D9 z|8>s2qdSZeXvXtO#Q7RV6jE8D$*a6T@@Hb+muo7SMz|91Ffw8jUj`Y-RPh6fLZ>I@*EdB~{Tw^|!hJ1e= zQEAE%e9i5NHN--XZ`ekEWx7y%;)%K5o>nZAs%d4>A_WhEOH1T(ZZ(%DI`|8$>a39dWKLRgPrT8jjbAh3i z{DmMi5!3;Okb=PrvWk(V@DT;p0Y~^)#}(xFh=2NueQByvnQ|9hWpBA!&=U#0P%C?f zT?O}Kr84O*Y&-88auxoiioZ2)WIlqcitedMY9g=4<9dD~6`}hK@BY=KtLS=7Dm9-1 z2WqrKi?zXr!OsR7B4NFRlYf;0qB*!M5k%ISER+kAeA5!?e>zAvf5#n;*`s0?6J8$u z_cZ+f;4Z=yuh-m?i=NwV$;H*AapT?{P2QQxNzn`Bdn{}+Lgm<7JSZA~4Q$E0Nm0@X zpz?3Yx)o7SFs|lWymeph>B6l&yWH7&y}LuXzU%$TKfJ%})E|Ev>i*zcKcrWvJZdZHqWG+J@*O+PK9k z&)?qHZINBtgBKS*6}T_?QMu8NW=2EUuQ}I?r8aCI2Ob+Ox?wvkMqGhMmJ+T(Fj262 zQ9(UVHufoF_0MEZ(GnjFg}UE{!v#_`L-qCwp}vL#8C6Kg(IL9`Fq?KJHaVdz3f&YhudD90Zpdpk7 zMlM+4Vf=! z{)U}InidY%h&d4wPqm~7GYMSSh29u04#HXc!4rD|nwHk~xUq5X!A1-0IpM}G?LM(b zR=0hn%EniJ{$el0J+^Ky+S=eT$^RWIRX+|%jpzVbUZIhm>A{g8K3foTNWVQW5@!+? zG0J+;2T5`}yhQOb(MTLJEKf$3P9u?Ry^%_%TXR3O^uDEMq!&9 zeV)Q}ziwWH>rkXVdkA?bajaH&Mkc|7L($UnQsN<%w7e60-!rE7>|ii&l73pK@Ws(` z`t#{hKvmPK`T?Z4*uWfJS~W$a-4t#b#{I(R2od`X;w zH$Q!<0>@JP6H+_Lz!8PWbzKOXYgdSC+oX2wC_-&v(3dsP7h#_rV8ZW1+) zcZf7%y?<^|@BIRrE8GBmW#jw{>1@f5REH)FcGLn*{E`)A?>C?H7TI1XCVMpiR zq5OCZA{zv?*mxd+e*>hKyt>K#@wRN%6r;jXmkSaYFX-HD8Z2{F#NN~usem9HFl6Ad zsu=b#q<`*Hty>RtpP}uZ-+2w2{+-vnWo0F>vhvzit99#{qjT{;&A)B@o<+WY>b@ff z@_2u3-|OaIjrZd0ERrk>zVXlDr$Xb0V$pG5&b^it&c-&@A9}+Z?pi5Trs1-mQA9v-_zYaEPEjg=zfBC)oh64P7JJv{x6_ zZ|*}8FdE3NzCF@}7oFntsD8XKyne=<>#NHFAr=6RjYmBY3j(iCl|WKfcP({?w^Kim z0NStDAG{tQEEI6sL^aw*Eq2tQZal`EdlS8tQZZN=Z zZ}@8}wp%^m@kL9z&2YjrZ(8b&D}WAc-51Tyn+OAINA1MDdpawg?P-TB!6Siym{l@D ze)=sc`{pbEP#8NtOPjIzev3-E@DI~9ob3MDKUC(iH+5q~TPa?W=X((mlYQeUL>^H* z*1FzXB$NvmR@Y$;2Ja8CjKr7oEXX?3+axWtm;rHXoj;)RVcd%4TvgmS%S zz^SC~886gUfDj^U^)AnVnuAb0c4;e8fly(8D?OsA=kNyz(t`B8HQAQaBy ztk9-a8ub6OF&*l~7#J@lNmF97>{b&M+$gh0c6+DiCKKR>r*vahWcSI5ZS&$0)c?j8 ztbLU*P9X=tI7$g;VPGOO%-3jv)vFU*g1uHT>kBUtu34t7$>PaPwK9I_BChXjM6&4aN}=N!jD2QrPPqs#X!~Jz5)2 zB*tqaeqXp+9rAkrwpheL2~praMT?Io{xUHh*A#s6m8x(U7tguEE?`}86MqM2R~e5% z?H_9%V9lZNc{W;Nt6%z3cS*AR-WM!fWf}s#-lEUMH&jo9d5HM`0uTJa|~a>q7t_JuwUd zk_~Frg79oqm{R_fUPyI+QcM-t^4N(}C&ns`MpZBBMZ6AT8RjdopjXdgjJ06v#nN1W z_pt)VbXs#^&aMLi2epSA96?_v8HfWX4LHY{J|qc`Mw>-olOj8<>c~4QaX5WGT7hmU zI|M(;!QZAO`LSqpsTe>oiQ5%P!UyzOIBTvbaIW+tp$SPvs28oz!hRRyc5n0_Bu$`C zgTpg)7O0wFbwHaj?yD78w2#eYI9k=%v2mmYX##(*0=-c=Gj|LI?{XXIs}Kl8B%2l) z$aLu0O)fiVt2dUFY&=B)Qg4ls61k@2sFLXM$Hvsn7WJf3xhYH6! z?f=6g%bv$Q@~Z=Wm+X-|o`~D)a1Ys>au^2Cdu2~<2}tWi8edNit0)e!kpWNld*r)y zz-^bkcDFqepPFmRPKU+f4tWB=&!lkOphsybD7)Zax61zWm-}Zb@6T3LG%waaqm2c| z>d(`%?Eiex?a7)ivK6UV*R~<4!Zj{D&F=Oz-K~mBj@IR!A;P9M?+aPFO z(-VeM1Vg=g-S~T*YfX_ZY4_Os4#;$+A?TsV-y*}}nWkrpr_M6U-3px{08}XX@RmAP zBq4e-2;Ru$S-Y@|``~5z-X)Ro-SU8P{`@AL#S_f=&_O?nm`KWFLi(WUH05>Sv`wk$ z=g#T1@&;+hHa6Hml|EM?Ymq~^xCiJq`C-yM;052i2SM~wM5WL$DHZ+hyY-53qcZ;l zul>~Bcc%c5S0<^Qj*T|&D^mgHKo|v)y6ZY+Y8yo&3joLSLK(JneFD)2WEyv=( zX9|MCk%+2Ij#O=Ou*4c;tYd^1A+&JUXp%7MtCWe1I0$Iur+GZ2sqtIGA6w#E@?PK4 z0o3)^L7=l`_Da7z#CbuJjuI|{Lg+v{aS;eH5E#;YK!DY#0y~LoU)o%C zg!FISHf-FODcjY1mF7l=&e9wewmu#c})?UkjquCy@%ktgF`L_4Fj`=%!GEDcJRIs-Z__Y2tzU}ZWhoh#)_14=P z;7OP!1OuRv8WE=iV9Bkq1&W#kZ-o#Xp9MaSq%Y^%bBJ5r%aACJk7ZJ+40co9e+Okw zD&`|?IUzMbSw4kBPh*PGlzKei0dqXEQZ63U7}VqoQJGZaq%hY=Q7-CF! z2xjQvE@m-huxksHGF&UhySR41xQbuU=Jo3NgY!J0JAJ~1M37T<`i8$7%->G`a6f!` zp*TQ!@X#-_Uj`i&d4Tr7-{}}}&h$z#1E<_rc^uU5;cZ#NH)yS-|#pyq1F zl}Mx<4ww1%Pt3C$f=7L?w*5x@mN$m*GYvn#WFGvj2e&TZ5go<66YlqF^DH%iIYwJ( z5%>fOKVA435|OE{V=4iMGM6?=q{Ckb&G%ewQ1Ab;9GPyf?a63mVrXssx%u$*@)&k2zj7T$Kb&epbf_) ztg_eLgL~EQ-dtI0{?cc=-=rIS4*J6k5iW#;WTo`Yo-n~jF zhloUg`V!Mw#3sPW=0!fiRfgM{1EOXh)X+7z96#A&T( zQ8T=3s*?ad5ONnC=Ge!7&lPCj=JxwP;R*zlK;R*_pJ7j^nS9^h9_odthQv1KI~k<&e@h)<5qH_H5~G%rvrug7HJQB99=P zDY<5hoH`KX2>3_KEWELM-3Nq=I{WB!_LL_$o14ld5#_ET*qy@REsn9INCfo;|C}GZ z+o_;u5SNTOEYNY|iV7}F=Bgr;?gXyka|jy-UK1P%oGM{todz!~l1?Fi6eNGbOy`;n ztpDJ{zK3g5=#_a~kM)KZ6M!wk@fPX?Xfu$otTa7ufl^8+Z$ys~G$HDS@kdVn@bdER zyLa#2d-v7vPG+^EFFQ7d%pR3n#_hAmPwchN-gUv@_BgO{J93k`IgdOWG%O%9qwyke z2H|!)v`{{NymrU*Z!@>!jKkx>#tmGRY&M#dJ&NLi(G+r(!8C%@jh&!1X6zIA%pEHoaRIO*!*fs28)@f?mx{#> z#2O83#D3@M_r<>N=$gJZ7(^Sy3DJsRU*UYip$^euu&dX>xCo@jZ4I#cmXWuNASZ>H zv*Op35!LEKK+pZ#8{iRKhtw7(sQ&j=fI=c3$o0V;l_$IUpK$#vVN4P)Pq-%|z{W%N z7|wCSf(lW9))fk&#JV!2B1=2M<%zk3k_<*>xLG1o8Qv5=?gqSdJYDGik3zW-Ewi^` zeL;E#q%?2yqf3a2T|#bmd@Qq91N0i#vUuSTuE0VR?f&;0%OyHs?=5#PA#NR46ZsXq z?qy(}D6pSn)PyiPh`-|Fy%&EBgA_$a5U+&@2@oQ%1K_m5C3J|z5{YnoM|vcTSYZvm zPLZ{(L)P^9c#0Qex0&xr3dM_9wuVtM1r!gC zjje61*WafF-lw~^o!0AR(N>~MsgrkWwO`oQPPMS6h4H?oy?AkqHd6hgQ=@*`Y#(R5 zt*$f9jBzD;7$C-5qi(l>cAci$Inth|txQ>p#(($=bIG0T3=)Lo~tGQX3 zAS1A$@gj6zVy@AchOOY|8`aO>Q_nZPuiJ0e8|T;WL-HAXG2`86IH1|Q&|tsI7*x+U z()-JUzJr}o;01$~Cl6qrimk3$2{gFGOnBfti1STz)^;lM4O-n>|?UR0D;wb}wa1l-B0wWgvpYt{9rjARS=6a2zg zaSwq?0{V_ym~5$eA4C=qBnp@)!dkaMve;CVH8NMO@%xIy7U}m9y$m-vj_}!_hcr0O zXM<p`zy8|4tXygL@wi@aQX@bxYtV@23eZ{jkAWK(F#Md^H|#?2 z?8OR$c|U`oF-d#?n?Rp5jQe?Zo)S_#+peU#KVq(ciafhd!HtPoThTF~8N$km%6s zpRGkg@`NGFliY?C9l+c`ch8_zpnhCgS?MmdZ&@VW;ldBr&whlDgMS3y_)Z@EIE=dT z=A%GjJHZ@5#H!jL-}BgSaPB524=v@}x}*Bcg54gl%hJM(KH6pOvvX(1=Ek?5X7A+J zNir_9FI4rh?%YRk-IM$2x=xSw}cISJ<k>;l2K=cEu4H5 zsKmcE4v;gr6E=}zv2x&n2A1fGR<7%f0(&B@dVG!9?sqGNG<$pH?@KHkjILIY53%vU zfhEeDtk=tG6Y)#t+D!g!R?Jh99H7#yW1e#RiolkGU4D9|j#fs$6h#iPEeF2Ma#_i7 zPku-TLCI5g+0%B{)EBng#G(y?+aqbw>$1CiNNOGMIucG_C^rQkye%g)gB}x38fiA+ zY6@D3ycE!`P&SIKL=*1uPlj6!9Vsd*?Y~sdt`Z(AbQW zhfWP)TOJ)Qy{t4m`XbJBDug#tNyOuc_SPXx9KF-#`arSSHuO5Jn_&3WsSvsu79om< zoh98IqJ#thVyPx!DHE|W7zM1cG5Om69F<)myIb->@`@Mtd7bLi9$9XV9lML5}1iyv3tBp|i};m{aQT&jLUfUl=%6kLk>-$r2Ek*P#H% zYs2g4ZaBPN2Lq6A6V@a)uue*Kyw5Mva(Z=uzFk~m>OWnkHLa)b!eYIf_6!vUo!(W4 z_BTzv{w{qtP1?kgUVo>s^Yr9y=o}HNR@b1|Lp%xwF8kysKdE0RUwCYTUHS?R&$F@a zw=VoK;owlYgwKM5bd?m(z>QwON|&d*{nu*dJ-Q^Y?f4znq@!(0SoM)b(n3G%ev6Hr z|076&=geO+69a_CAb%do#mE6DOPJ~ziSIW>N+qzI;my8?icuojyP|fhiXc=ViW#i)BP>dp4 zVE5nD(cVaS$R8vljfioT(*JAJNAPN!Xa^mV_#DkeO7(zD4#F)3W9f|`fQ7|*KJ8azJvww&*$x5x-4o2N>_!fOhcAqB=Vt%aP3Q#)o#$z^D!oTSA z3J=rObQ;FFw_4*P%|(|#;9hhE(m+{N)AFPTDwVX+$D)jIkAI;OQcMJumvl{3Dtc4e zN1;01wTK^m8J6NiVJuJOJnxnR7h~6!@Igy#>@scslmU=PoTwsz7B>%ynCuW_6+9|(jEA?E`g`0EH1)^dwyvtZ6v>K zi0>&AG*pXe3dyW43T+-eR@gf>@oY0vp@fxmFY#Nv0MpzqWNbN?30g+$fblNbOuGo^ zo3KDC;)xWg*Cy5mYtm}1wuDmQRjYM31$)EH1oV9++*Zo!`LdyQG>S|1Pl2aGxN2KE zpgjXOa8F`BjCPcl7O!23&7qjd2tn0=_EeO-SA_<&u3N>gpkcdc(hFu4P?1gk5ik%` zwq8|Q(cmWWX*|j~7_Ba%#f6_)&1iX%M_O#DI>Kf`?JxYTOr*f;)CJ2NnY~|h$)ob( z^~wrfVU^mO-l#8J^|uWUqs_O*hZvcZ-){^!3M6}An(Sz8r2XoR3~Jh4M#uK1-PWwv zj*Pw{_6F}Y!@`(9qzj<<)r`;!3aiJ~-0hh?dKiNUJP^|xzWT6?AYcH%hLB66L4rs- zj6STQY0$&S4E|P%(&Pwo1fNb=*ye>7>8ffmE%@=~hDZS|R~lrErtwPlV&V)EkR2d7 zgoqF5bFintlimP?wL;4Y-xgBegGYyooO}Omb4_4N>tf(}vonsYJyXuuvyPc;{|AbO zGf}KCm}zBS7G2sXXUOFxQ|_1tR7}y&W?5rsMao!8n3cPf7rhMiKn|=IP+qIB4{gVqmW$-vtj}I!o3;eiyg^m?t4qaQ|bRJ(XF5+kT&embu7@1o- zAkn^@8{Dn5Xx$gtsQnH2LamuLTW_lwO+L)*?_Jxj*VjAR$LP`P_Zx;1=N~9u1N2#| z+9enx0I&fae7&X>OAz$wpPVIY^+_B``~dJ8#>D8i*A(Yx#bFP61mx zF*ZLk9`PMpm>QbO1f=`RR-4TsrQQCB#}&?)`2sgt!?32)x&{qBWQJYHM}=Lxny{u) zZKgZh3G%g+B5)|3M%s}+f@Umo#%K|9aci9uk*FErPP<)nCnPv-sxI|>OyMC%ly0U- z5DS(5vPkRcR}McdhVYM#k=y`OW3MD8-7RgSp`J*pOZ!w%UYH2uRmLc*MJR(KKSakarN=(6yb!kSU(Oi0FM^CwHQMqBLZo`VtX?Mmdm9%J~UOS00b>I(2`bxq87ppNXc4G8YDT2SZ z825_A*Q_!YEM&HmuMVuNz|aMpIC6+)VAI;cC^0S->>&U)nj(gT%Sq^m%j}il__L6& zAnw>e@&SS{50J4j9;iX_TL%D>4SNgVU>+&gZXu19rz|_2x-%d6Ex*&5c4qxUjxc=A z|KOH|x4d?rJ(lxDT=~Fsz~wya$Oh_ums1Nn_TlMUve_ymI^u>Ec%UPUo@=tK5a$V! zsb1yby~tkAO=(QY&t_bEg41^_!uFGy&DZXnB0KcVDSeMJ$KKzt4>t;lSf)H$yL-0# zI5J@s8pHO6ZT9XO*(Jw@Gx224?n%!rfX`XLv-zV-{Lv*Vo&_@*K?(CBC?dibQa#7C zK(kQGQwA8=_b4Y9ngp5Q6j+>tdt4}#f;60a^iwm?eNEk2Ly1uic#7^H3q=ZXPe!>v zs;2#s(Aa+Vek$2$ITK4zIlKQY8P5!lA%8haZ{u}AEt!I_wDFszgUHq%FR;Cic5*tj zHyBYe_Jh*R#D37?j=o!@6`q_@;HD-mwwq7s|Gs$MbET*v{N55-+}XE_i9c$HK_wW3Q;7i^>Yi)e(;W#t4KAwrD+>;O*! zbuHA#6X{O8P>i|yt6D6igDI-28)~HItLlrYjv*f}p*~?yeMB>qIMxA0deZ>LKZ4Tw z`wKV`O&LiG)r4PmyNI5<+|5FUnmvBR#kV{CYtrYRx7691SohV z!p01N%ENQLP=q3Yba)il!f~vtGX=_T2e)nr8ekZxNJXxUBtNDa9B2gp&J~o9+c``= zxBUy5oqa1(xMP0$gm-vqVTuiu_I95GivTev4Ma?*8v$0)V0vBb`oDN8F?isP`3dI@ z<%xy8rNV7MLV!*J^bshT$hn1&ZDfW6mBJf|ngN!eI-qviUMHRSLf?WyxNb{opA{&sZsj zG>aUHlsbX%UQq1mleLIE9IX!plRi1%O9V@WpdOBRR9uWzy-{#uMO4JUHXe?@^vu#U z+FtMuB)<^WF-fVg8C{EJ5Abzz)#rYQ5_UcR!)=K6@>2QoWdbsVz6>Z#+fnTaCTN47 zuR!@I=qur1kS8KF4EH}lSJbCj{45Yl&%SZ$-g~DymDSZs=kdq4#>r!lSB2gfaspiR z@mtbbw#jIzT)v!UYWE6H?9Ophx1IxQB7aWrSy=3+#q);m08RujQd@UCK+oJjNH6^P zE9G_ZTvNtt!!nWM86PMY68X>|fi_qdyh*vh-!M*+ff9Gdn^-Lg23-KWBYc^5h|C4f zPcyj(?{XqhbdK*$>`g4;y?5MMOnh^~dGPK2EEsI&FA;(d&kd@VQU_q z!-~p*JhHQ_z4J?con(9s#GSt9a?D9G&eHHEfz!u5`o%w4s(hRO0ZtS>5rs$8VMXJiEI(X zu<@Y*7g>rWS*I(Zl_;-6kpu4~@QuW_O{DRMW)ylQAaegm-a96R3goAeRqyx#7QE0wi!c@@*8WhC2l_9foD z<`^IsJRLN3Io<>8zko+UuNTINgMx1+h&yb(;2MCOWVFr<7#MXLj@AIQyUFexJoXNx zHs5Qrz*1&Yk+jUKS8O(ykA2T_lQJj`9(K9*!n`{;7=F0fd}Yw1D^>f%~fv=}rMG=J9*OUK*kK>kqT3PV#ZxPDYzrZIbi-7excl@PbDUIDz{rtPZ#S1=y z#tY%v@iNq566zJBE*=cSp?Od>4=OKs_s(`dyIl*3CdV2KUgoRp<5+>`2M(j{v!yW$ zs6Mm=_$U6B*jh52lGBq$3IzHGy@%gejcnakuy>|ok!BW6^~+39u5iOJc? zL}h53|>O%ICXYJ4d14e0|Rt?--@;1?(- z2G=?8c_y^{RA9_;cG2#%M~9TB5Vp{2;usQA_57gSKDZXnhNp5H&E_(FN)xvOdy|-3 z--V4g#(QoC-118?xA=hNc*|rgr59pWNk9Uul?vwoWDf$U6v0U$uRIU5*$=%Lz9M@G z;&%*^fF+pQU13$tWgqZGtg0jI2xGb26ISXpcXu`>g^fQ*V0Zh1<-2`~-}Q=DL|ty* zUH7@=pxe5<>lP)$4R%3e@AvIGKaMY3T5_U+ahp2n1Tpt1lBv=Arlal(C z51?g2)z}7=B-kqSTeG!t%jWT$R;ywve!;MUwAPUG!qm(!b<{4_SC{J|S(Jq07F)xo zjAS6fY$A$D^b!s;L?+R%CgH?rfL8Y@_K|=W7s=gCYV9ldQ3*K~+W2~5>tY_{x3xZU zzy457C8z)p^$aDHP{bb`oB?D{q@2oVK}SfoS$uv>Ot;f- zbA{x;*w$IAGGQ|A@ZwaQaEHaF}vD5EMcL zQO!CJcfbd8n6TURvM-qU&W{XJ@*dsP6U0*?c6a|K4x#K)r9zXnHWDlzrNIB>kIc7bMT$Xpvtc3#S zqZK6oj;N`4s)h_=xZ;UoY%P}_IVK0d>QEW*T#CnZqZAbN$oXmFd`VMjI_uSi(G*y{ zE%18a_AYTPB&G&s{6e(m5^`Z&23j4mIC5^HjoV^f#J#`A-aXJ5I07BSX;2s9sgcr$ z0|CK{Md(=g%1AJ3WT?eRhnpatpUo8k%8a3nX^?{HPocbRz0j>5!6@~H#5ap;bN&zv zb}>sDAnrw=xu-4I#X|nMwSp5KY{4%|R=W%6P)p@G+0p&ah%N}Y-G3~0cZ%Km`r$ci z464nbKXcx$c!RN6(5u+bXZ%5^J7dR zPKo)4RLJ4Fq9B>e`ubub5+ldxSR`>+_D2;Z>X&a0<69k`n}$w6@FsCQpO$}%80a%a zNpv&VLXG`@&)2P#bOCM zr0Ae8kdmZgdNiX-78ZgqoE@|er3wcC2k8l0bCN7u9cgdW=5RuE6yyFfJBxOyL#uQP z+Fj5W*wm&$*&%ZY%qxUoXyn#MwVxDJ91vZki_1aN2%Zf>8Yv?s=tU&H9N2RlA#Ci# z&?DhSaGe16C}ZS7I!-Wcwkf%5@S<2TBe$~6hMa=8)^Gyv7;6~uFY8Q)N( z=q6KU>1(fZpHNpDW*;IsppL|=UHupKG}p@JryaAHllO z|MVSF7YrBohCE#s@Ho2U0CgYjH;a(L#%!Vo!T%D#AE{DvFG3vr)}k0#&nH2VIwUUfQ(s&i<%CJsC%K&*70|MZ~g#e3PJJW&nc4mPn*DtJCO!LyFcZQQb&uyG zG=o3BWR<2vd=U-NIH*#tq$Bq*@ld~c6qhumr~gYMn+utgYK$RRi{p!^PYEomf!Pxj19t3FEmkxw7mddtGlt*} zf#ZvfO&-$9SKC+R3SxV}6vp3(oy4ngcG6{*$r=Wb&8mOpTTkzPivjtq{ z&-`P5rrnD1RLA|Tb|%Ji_fJwYd4GMT;Qx0if1xw!&(GX9@VxEQ)!Rl3ea4!K>a$qH zRC0po)MnH_*(q?2Xmn=MC+GM%$029N_~<>NImrEq_1c8my9VM5YnhY1W0-$(++|>K zEPdvV%m_ovM}Gqboqr$g0Kd~e;}b9cq)0z}B9(U)wVgqZNr}GSmqVdHHcX3V+j}%3 zZ5Vk}&x58N!rHegD0X6Ix-}d!;A3UO;2bS+TKub~Y^lZVWS9!*h zm$%H_nC);Ll{yaU6{LlJhUMA`1A(83EKU4EN904w(7M5jfh)%Y#hX$z-Kv#e7q~Hn~OoXv5?2kGfow0WGo@E@=fqgZTZF$Ypf44{|-Xt>+3SeaEbTyVAGp+`%14GO<(Q_ z&@wh~pF>)s-ROGL>0ho^)6t%6IFhb0oC{fqv{ob6&^|4h?zt}47XP^<6=}2XV&KIR zU|u&MK%f|iJ?54B!yYi4TWg%2*_ac`)1OSr(W;9 z_0785ZIMoUF#qnn!mVCheNwtpV%WAXAg9o_4GcKq{g91Vav;AFWP!vuw3u)R*-<+S zVe5{`v(ZR;I*Awi$Rn|Zb4NChoZFc`75(qgQ#(_+@5#P3!q-on_r(%QxP& zxVShOKRJa#gIR3qWPH-PZ;?2C9*g(MwTygd*2~h^JIz`-44-$~7^v_9H%|a4nRRJl zQS)dbA!69l0d2Mx6kA&76LpV|%PUR%lSZgCS`kX12%0{f9?6$os9?6{8;7W1&x)?R zUKgnpvk`wL{>$E}BjsMh4*FegD_l%?6LDhNya8(}5^^bDBAE{d-68ZQ^1{`M*)VFo z6^JU={bcB9c%eow)Dp3PSGnCT6$?hv`TY3Qet*F3e@-NP0kSLkb5`hIr86pQPiCw{ zIFk;i!<;&puEis6Un&*PK*r#5$3hmRad`uTRiV%ZVu@fpG1Dg04vXznJmGPnrYR2a zhCLqT3Py1BNFDz&ExTt(C>|vBG!ecE?ALL%rkAzT#6+t9hH7Ga(=8qd*^4RG3(6mI?jo8rE&5# zbIw8GxuVlXPI)op?w!vIWedEXgOj`js{)Z~x=@s>v*pyY*v5t!MI!!mH5&~I8LvrO zx8e$=WN7sp8W+A$>AqucMR-TIa^IGAvP+~B5V)Xu!C~Ch7JI$npxGVRl>{UQ5vaV3 ztVPpkx58>7`i%4|z24HHmQ9tQQUZ9AMxfTk*(!a)0zEAYeO>rsb?}P}jBZoZor7Jq ze&q_x%PYaG9a`?lSnSa6v%wYK?`~g*!jeF-FB`YT;V%b;(z6`7Ux= z+@0^XtD-brP1hpfiS+oKFIPEO_k{|zn|34$9ph=~4g7rZSS&tOfvI-#peuXR2kCOo zdT+|OJofn5`l~6Y5Jl`Srq&nnglJc4ccH7Dm%@C3K^dQj1YzQCHmj;bZ?x3>PB)i$ z*}Z9Ie~f7PMx=^Bn8>*!#E9lovTHJ08;_=CS510YH2SJ5Vw;)G6Na5PHaQu~B;xx% ze#=(N(-od0O;4YPBkM5cbVi~?h63qhtt6X@>2%v zc#JVAgN%LQ2GG2=TAtqznT7?1q8S6ntzgs0xg$_zmN(5f)?aQvx@`u^FrJ5LaBJu_ zOy<{2Fwf1?28UPXC&uc{#X3PBt=^|Q^~xEG6RBDyp- z3{z)ZW+)-S5ql@8Lj{KqTp82W>iP#DAb1<>HtpwlQ{mxVU;idA$g*!^&yTLF{`$Y= zjY_cd-u6e?ayhd$$a*UbK@I5@qwA_HJGb-(t;)z)l?c>*9wDPPNmm(NZ^eehy$P1( z=6f5HCYJTwv1N%E4)2ft+}qx^`uz?4=xuH7Y;A3C!>)S+bkzE~Meb+*v$_7^`MahjGl#~<4`n8&?wUW`&t>1$TIzN?58T2`ru>9WHeu*O`QL9$-Pucf`W4aW{7HqjWa2?Q}okt!1yW}^xJ zfc`qJ7`jGg!W*JpwA!f8Z7vgigOJO=RwiYgXILtLz}m6s4}0CgC^XoQrPD!!)O>8R zki|~#Logh3(p7!0*PpQK^Vz6tqo*>-dM+IfxOe|SPq2Bt9h{GxY%LIul4d;Y3r6oR zohiE6)eZ)t;dm$oJkf>73G+2q#EPdE@FieianWx`mYetlFa9k2r{gw&|mTQ&i@A|HcPS}?_ zefn4SqOc66OTDHdCa21Dx%@`S1W2yt*YCl(`qY&fSJK}@$g#+D-GhQ8XS{Oj!uKk* z)fH(%gGfNW9?ae-w+hMs^33wY(jwLJzG_<=GVMrcBUoyb^PT2g=is@;rL&~)d|I#9 z+@xz@KllVb?J8H{?hN7z>6B!E&2CJAdJs`{spaO&&$&ZB*PC5{r@511%p4RY`| z8+I4v0+mmbZi2NJgg#y{Jb)P7aF~&`yuuAImRemKL_V3GvA(9QPW8-$ik!SdRqPKx zI+2;HJ^$fzuk%CjUcNNRzK=fI$yy7^lWD77Jze^xkMW%y`-s1Irunz$a>01@zWj$D zT{sdgJ^$h3AuFF*PG$@7h~EFPN0(1{%dsc@)~WivALZNmqX@XVJ+agLF}ih{`=B>L zR>rz%%yCk^A|(nTizWeU#uc_U`dgFa0evk3?%*;1=)PV9%xt}lxVO6{i>U&Fmw9>T z(`(b<+R~Ss8Zq$lD}fbwS%KUv7G$lwxv!>D?;I&pg%o1+=KWp%EjO2I_g|~8kfF6+I&8RfWGr5r{d{1ZKgid-vE=(n6lLHKKvNB8BkoSsiZ;c#dt z6p1{F5v23qDphjAR;Ej(H&qIS3eh1lsYXJ(TXL9M4Mj*~((a!wGsjgcQ*V8nRVkd~ zxHG3H(qEyC{`%(DO{8z>EB{IT4)RKfm9hqIYOEov9uOUbL&#r6*F}WPB4)ZyxGFAf zMHWjkxYPwPx3=bai=SJg?ZtX3LT{_7<~?@Aa$y$@CeKGaxmZ4EMe_eXcImC(eQ&j- zw_gb5f@z*}k}O^o+<|0xE|d+WdDc?dKzy>`K@j}igl`V>WN2ZLu<@|pJAcUeJ!iSp z@-{q8Un`P#x!mEm_?5R9Y57`Sb|C=fTPc4jt&^jQO;hyTs~Ra(FE?kx!ALV7Mc-?+0Jo_k;c4t4<;xj_h6G zL~`E`WSmL68{c(K+uMfL4FFEMzQJ&tN(V=f6+$*?8$1OVVm4uWhL@4I@(4 z?zIc{6?+4VEYW$QeiPHwu`FG;l=xX}fr90Rj7EEjYeJjmhXo05=rSf@eV)zDD;-_H zEn)qqZ}3-uy)rrA@$g415e+*2GGRR zfztlky>rE=OX8f+4>4H?`%~R1kgh=PU<1M<_^~(m6CBu0XWQg#j&5@mYY|8Rg)WIM zg9d4aiSXY^*I;}wKk_ApDsg;EuVHY||KX1dA4sJl@0pASC+gwI{9Ub3B2Y{vLn-SU z#U(qIn7>o@6wrxdjfgAW1`V?TT$PX`Ek3roVHtfm%n9p9hkfqYx-ba z6Th3(zUVokA7n=eLKf4^)MQ2<_MstIMq$DqkbIOsQ~u1xGtWG2>{ss`n6Wls^l}W| zyZygc`pmz5`UPXV>YJCnxuj3~N#>X=dLS_VEJXTrTe>b4E(--~Nx#=ypQsRK(>vC@ z()_Ut_Zm)!&1Ik@&V2c;H{X8cLijcB zfBzTW|9q_M7Wo~EEYa5LhSl## zp6O2C+EA;+v|H=FD{Vk)in|ASx+;BiFn@UHS298|f&pBTVTyrD!^ENctZDPTFb1mL zuhZpsZv-Q&qIx~v*}V}7-dK$&!U%r49SQF4tVM#`e7lW$wyH2^4(?faO9OgjI(O^# zTe4&@JuwwQ_~p38r~0$UE?&7s~dc7NCao+n+ z(jvqEUiB6JtkL~ybM(`o-^sbd%vw`OQy8m+^;Mj`0-x5juM%yClN%DRR-M#y6663I z8&TgFBqro2--Oy;dhpE;E~y9q?L%8cv!DC)?XHOY_Z4l3b zgw5*JSKGxL0Cc8AHpNmVWf7;aor>oS=J~AboGN|L>kCEVi9|d?#z#F*a9(o_EPw>B z$aF*Srn8*-{2ElR7u3$qPH*?xMqC|Cdn4f^+D>9KU zj;E1O#nz$wp5&@9jJ9p+x(BiycJKjkJ1cU7NpXmocx7?nAlP*qdLp|2-ZNc+XrbQK z0Yx}i0Y)Q??AtQ{T3z{ufnxPa83N?W{=3oH`ES<~akp#AWC1Y+i z%~uf6XdKxVv4xnW5}8uaUkm)KiQRyEQPeEG3a_l z$I+L?nJY^=RviLE)zh9ckDT#j$D4(9cv8oI=(MMFTgjtN9yodOfTx}-Hg=SKF1w8cIMc?v~*6k{H8cWVk5`VKd*rqDg;H~S=jVd5yUxvZu4nEd?O|k2ncp1dwXrmF zuy$&8HOZeuM-B3H@`Y$&45dXxGb>Fm?%~DmuPj?4bH6l(Gmt+fY5tH^>|}leBELdn zcQa8aB<%JYh*Lo-y)=f1q5Hy1#JoI@e#1w>In~8+K^3E<40@MD;tb|;iLi@f2ZXe` z`tGId!w+Ydo(g)fl3ff&x=()Sb}^Vuv8>M>xIL=?9WG^G``YYMHyCNQxQSYVMUujs!CT1_qH)63ydVAl_bei3-1B$i{`Rw4g zZ}Ci&?8cnuLAx~Jneoj1nN_{5YE3`#-qHOX?}3Zck4(!~r;YDpZ(Vfj8Fox?1Muo( zor&qj*7noauTLF1bkCtfFKlgnYr8G)?tvAI=V7h6_VIfFEN8W=UsF6Tr; zk>$n~KK&&XTMo0F}a7u$A{zG)KA0dMIG`7Jwn*5m7$+8NujA=QM z0Oh149rZK2poZ#(Yj!%G$#Tx?O(eXT+PPXr-gtB6Nl!UZ-24SEXi!}o>FdNqKNf!Wx@9>pB9b1XdxM%CfHG%6!nylgmUgzZf8CvP`)wQAdfV<}dxjrht&# zgXWa+UAQ1G6yD53&oU3~`MR~Xv8QXicS7*hWGNWmc1O^9qJ;8LDcZ4=c8@rL&qN~TBnKk7(P38OLS-+nfVb8(kHyXiw=@8x{_Zt4mfTTCfj8Q7V66!vfB_6F0R4*k5}s?5J8<8% z(p{Jnq_=RX?E1+0|7UNxTK!V5-JBoMbx{I$Z){$^+(ydaw1{Q+-$W*hjClGbv*N(e zgOrA;ie?8&Mc|_lvD4suJJ7O+suEcX-&5@D{&q5NC0>8ueH#Dced7l@;qK8tzoweZ z_9M8Tdy2asD&g_p0jjYo2lF-@`w>8TO-8P}pAH3u?E zxfffcocXb0FR{6v%7@h7-Tel<34_ zX)ZON=Gpn_4|MG7H&%DQHHyYnEB&iO?8BQ+^q>8NG`U$bt|IIBnDx=_h8w4 ze6v<`rSFiSEY%ms#4D(NEQ<-z7=sQ~d8brRJbNO*VF}`$u@HRRPg>O;dW_X?wkohb&E4FIUaVFxvoiMP=K6DUJzduSsBL)(#s~V1 zj;NDVRV>z;*1)fgLt-uiTPpU?Zp#g>m+$tDQDej)5lcjBnD*3dnRt?Dqh$OJ^2b*0 zuvmlPfk*#=GG6kxNO%$te(}%!2r@AJCW^ju=3w?ETa8SO;QIf%heGlVfVh6#R(O3P)AOF7wzteNqRjfVO#u`EzMFazeYqH=0-aSDS%|Xn^%Y>BrC2c?! z9cFplwMc97Am@hqeV^|QzD)QR!WmwNZ=dUWCfv)*?g>vkStuxf~HrA!rV3H0Lm-^$>6E9 z0{dd<+V-lD4OR20%L9`-#tHpcg{_&D!Mf48hJ~l!m$?~in5bRH008TxUZ#Kl2L0Pb z&K2wfgoujA1d)<0bw-upreJ%Lx3IDIlzQc_7#6E_Z}5WOZN+_ug26+9sO9!w2zu+@D$iSgA?@tQA8U*# z;U8{LkIP~%*->%xQlEAl@#`Jb(T#rRUtirE57?j&69VYZ0=rvdSyDJzH~7& zy`nD4FHX#?1nrqrB5hzy=|pPA4*olS+(olY^~X>WxaKb&CVJneig~%Ky3+s z*vqnvV*`@_TF^Lt^j;DzsI9Zje)FsdXqu?$zdqc2aCh^;|E+)VA`fvWj>=FS8I0>I z7cZ{x)YsJZp$*p39J;kwIwYqJ`Yr3x3B#pgnn~nPE=VX|JaGG?g+sR$GWGuy2zM|6@Axry{F1a_=SI7IRU$k1V?8u-V@z9Tn02tqB;Aa5 zx`VgXmGPylnWtv1!VTI}J=t0&$d^EwF|@b#71?kq&PUnBMkDi>KA%u!iL?y!qZAsL zp>#AnFDCwGo(FSkBzokBOR># zaCKEYdgk=z9J)+`GtvGG7IP^JLW)GHCV7JN-~U53#z}c>NIt*8{OrgoPM*P0r;gT* z27W*8&+$5<2qCy|$1NsrnaG(?uoa2mf;86)MXH@@65CGFCowFtZ^h5l1l&j_uO<25;>#8MS_Is>nk}X_OTm0WSP5RQgiS2J z8}fs2*@{Ql7Y+F1*+}S59)HTi4Ts&QR@2_d(V*{5J{3)|jVyRP2Oju%$P-bMuT4d2 zHSDAjA{pZWf6PTV3!E_JaG02zU{KkKR5<7&YQ^VP5&`3R>hV7bMIZG0KK{UgQ06FS zOGeqGBIjM12Tpl2$@@7YX4hJcfX6-i#mw00L4Ej{aRKtlLO^5qTau<((Dh7vZ0O>s z{ati_P-0rO9em^qb4X+GD}FyXlW4oJN1iXoVp-cxdu-d2wwc0W<@0x+FGu5}JLA#v z`CqlOSvwexTJfkSlkr63Ry3^6@7odNAhl7*<5X;t@UuUnt~5>5*OOP`+?q z>CEkCO8%(75iFG3vnsmXM>+6;KuCm^frh0^or#q_zV7 zuXNA){K<%~BNgpGd*@etKFdF)5rX4z6Mg04IlnKG@^$=?l;3x@`xRfxXZfxh2)~S3 zd^U`?Q(O~mnUzHR@RGDuB#1J7Ou}#KJHbc+9yZ(KOBSHcBpKWIqDNC|UG^-F^R1R; zUb@b@@o^)|sH{$yCX=92pM7}ui(h>B;XnT4hb!+^3H77q_-V}tw6Z1lbGBN=&ebDBt=B!!b>5^{-Z$&8-N{Lvwbq$&)M6mF&aEg~y z_-H7<`@giRh+Yt}ydQbfn?B;TBFvT(;Zv8QScRchjb1txiAzr8_V9kBzUXbT)@WNW z1<>LQZNjv>jJbiP7}H@)G;o^=+7y`u4P$4gKfDi9?`ZD2UTiU*4+0&TE}VNn3TB*2 z%eLwsohx)aUmg!p{7}hytYWqQ{Jn1xaX3(Pg9) z?ORHQveBY=_-GQ5(P)>4G*|dT!!_h5jRf{Xv*$C*hn7yaE+wj`RbP@h3{e9tH6}>u zcR#XmTesGH;=RWmInXIbOKZa4xg_pENooyK7QL7;d|s(Ur>luetSG4K zkyIV2oY#Qp_zDISbfm3L6wpTUnluBOOMV~_U=@t4Vy+S38oK{>ozp>mcIyke=}%%w z#Cf4lj>}iu;r1?jac5_%uP?E?y6?&o$A{U>Cox7?Cz`%3Pe~(?!X%iWfRei$K|gC zp7@MCZq@9H9jVxr!JHtmY{I$!f zDL!!PM(22uHOPa6-_-HO{&X!Zl#^I0@L%D$7d|YRWC@EGh=2}3USRE}gD$GE7gv?N z`t-FkU--hAccinijL+luhT}C=&rL-A6UpT1iRtqmwegwVKU4nS`Rez7|2vAgOg5Fb zeO{FaXR8pmC3DSmtoQ@bQXU(qw8u5|5Tp7K*#hnvdj!wa(__z${qWc)spLFPPc3UpV5ioftZFe|Z&eCHoDLo8Yj$?=dBM!b`-bqu(21|(al{0qiB_w?o_ zvWk5B_1(>(Mt`p{^xbvMtX03SJ_LW0=)Cy)vt4ht>sMnR{NM+7{|6iO<1gNGPw^Lj z@gAd}yokR2n2uKLax{xSW9y*E7hMb=j)jsA3T82@wGu}-$CN*iXM_goQomH{U&3tU zjYYJ)fi>EN8K)ZbvESea->8G2)a8fHpMOY&gQ*nsSRBUT!BD_T#?L==*`NuZHX%^l zfyw9in6?cGPuH+~x_Dxj5j&v$s!E1c;@Fdg!jtcQvJkLSuUM{3M4en&IeBs=?v31{ zOk)4rrp_)8>_-x@g1>{3IR;#((va8OQeGEU5+*4p?yswtN>d|6r>c0pyI;;<`QXWg z3z>5N=N-?N8Z$MrHK-}7ONAf2y?1{mpT4kg`-8jBvli(!{N{2E+102YW7opt47{3| zpE`5OX%4uAoFo@*sK{4sm8h!}BT_8kr*jXi{a;>op5l-+ty9A_xQC zoX1b^iiSKshDNm!u2x5!r(=DL7bHiEpbds1nP?ys@W5lp`c`bbP?afB%RFM6h7-vs zgv>qzSx)2#5orcP6pcg_M)92WgaJX9r4PzzV?#4e$cxR+{tjY{4wWPBiHLW-Y3B!P z;x+X??L!$;O_UPO&fQ9TbXn$vN<{P?)&rI?Kb8;?u{Giy`&}?qRK8=qpnIimO@yl6 z@nj^ag1y_k?v=?*Jyi8%ewjqvtqXb-S!&HJR`M^n7#Y)ZlX@ z@iQDuK5y9`6WNc-*w*o%5n4xQ7>Dyf6c+Je>QRn62jT;sYQ3}5*|>URi$8_ku48R) z-@sTUHoWz9dd7%-TzpzH#FJhW?rC8g8#1UELOl}(&vGrautT)^kiAPxK)O0~ElJoM zwX=uVcp0}E3wfnvAFcKlN|o75Zc#;|(Yt5_48Vuo-iyI(C=rX+65*KZLcs5Khkd_g zj@i$CBJ5So(>W6T=1w8-NB~1F4OV&bNQ{TmKJ#-FLqK-Vcun z4(8RhyIA@(3PxB`HB;(dD-QuW!*1~x-26knu)7>ddVR54m4)43@xVLog%C#C=nnJp zRnsZ{qIRG5`|ohYL&<71mI&Lyi-82(HKwTtL>o@K8@t20V|VbYA{kFI*_;m(tlTF?IXvG?COzqhB4-aZEOW zBh7THSTC3B#a6m`G|=mX3SX*8O$NVxNQ5@A{D_2FdPg7qw6RYQ-stm(@t8d9HoT7{xY-R1hK zKNRwR^$%AQ0MwvKz+S`_`^EobtT= zt6zOP%M8Z*O=#?uFZ56JPK}pIEK@t#+6=u_vOw)I@5d zZH2;WeJvF5zwMVM*28M;%o)k7wx+`EJEqsxqCvSWSKs$tO<58QJoR;nRMB^J-$Rh^!D`n&JWOwHvQCHwX#pPK!>bTB=0 zcsUg)-+Ll#T`tATXYRkZ6f0l2^H|xNdG}Oi`gPB|y_KAL%lg`Murjjl8SdzDlcl&Z zfKp=T*5glT3k7va2#1WqmSkHWSr-TMzxr%Eek2&I*YB(s?fLA^@KYf>Z_n;ao?(av z-er!pe{*>3-Y?auJuWdx`_UI>f^!FlW5{5n1ZOvlToMqNs3vK+n&@BjK3?Q4-bExx zG&bxO2nVCksn=Ak>bzymS3g*VohcIxr=v&+`-jsVcl71a?RPo{Jc*DMOI5|lX2#XF zwgcev-(%`9cD6y@K14LpC`~FY!B}91($*8n!u7&7h|MY41Ryl*S20&eg2}zNs&BrQ zV_pPN@xlvx=nCgOMbUlC*u#XoUuKrkQGOF}qa~OZK^$Ud5+jrv8-ZsaJPb$z^O4Y6 zlM`{v%rigCJcAEG5JAQOj2GH1>EDmF z&rMICd*EEVef|$FTu?vUK7YULxc_{6_eu3*rfu<8^cj<4R}qZDh)h|N*LnO6jubr7$sV?C*-7Ak__qeG%gqq2UhRa1S0(-W@ z21eO#U68M>VRznPFcDpq<_3+eO3wQ=esx#Ru zepY<3!>+gOUa43tb!-dSd;I}V`0Seh(gUuwwpJuDXR_=g-(16=pN5(L(Xls-y@_6Z zi_*BM8YzP%CJM(LMqw$DEgl$0Fc>u&BeZF6*(+O(4@|cnX-yw!a}(Tw+{&IE*$PFj zK3MbLWE0`JN8Yrp~o>^XX0A=xW6455-oa z-iNk~&ZXAue&23yjLO=Ay?qwG6?}dT-Oy%Lpvlc>81UFpj==z4BwrGd6lm$%J)*rY zYa{wQad=qxfx)1_>&;Mq?{BR->%o`lcQeFW_ZS8TF+5|$E31LP%%$*$l4l12gi_2A zLP7e+<+{k%Suta_)jFGKV*lZ{>M7G ziAK*Jw^=~@u@rAqpX#D$kw{~y;j-Kdp|ackBXK+WL)oD9VHZ1laoaAF*}*E?b{rwh z8MAAHNL6iKVeYKSOe(^^Ajie;;_jTC+U-xB?YQ&b0HL!fx#QvfT)fcfTv!bH1IhgE zH7eTp6~3vS)D~^6pE5JKeI$KoV&YIb z;;$b$cckuDTWkFzPu&@d-TBm!zVK5mH(nYmcf#RLIhjbp7hO)V4(n^1SZ{;>d$q_v zgZBH6;g_NP49G8I-vZ<}xL5Aa;Ml9;)49oVCQ{fz60Oh_WFj1x6U6Hc1pwoH1m3f8 zur&)q)4@F3soP$tWHYn*$j!1@r!pHkcrHI{bt~Y5kFkn$t=T*fUnz&tw?r=~4(vM2 zHiI@7u5B7$PcgDGbtzI<(LThXv;y4gdR&w5n5;kk5;N92h?}JzaeDCxD z=6_Q!sJ4K$7V&WFVhc77wLyeip6bTo__0?1@Oc)+W0&pocKYmnw@uA8`|WIocn|cQ zvHrwjWN9h&U>C9O=zPClu0tT)Jdqe5Pu4r_ZJNf^k!VpaFa(IP{WEX~1S?fI#<)gP#B)`JP=MiP{OFzP}%hulok zGhpj1&3K{)&g-K}b*?N|-tv~pGI+_9ClF};@-Mdn0S{gWlO|$kMZR4Dx90{O;a*?Y zUTf(O%rDr%uR7Nv{@YwDE!T2f;&LU3n$cOA4y|=_sr9SQ+2t~c==g8`=6E#W*}Ig! z#`=1sa;;+Gmd$m9RfU|JM&3u}Ak=p_@9SuvtwEuOrB7{xp4m2K9u$3jW8fn(IZsR; zd9ikwg_3|hkge((Y>Yr#?bpkuf3UFuH`JRe!;~6VIW9r?pt~wicI)i2&r*p;$8(A`>QWRDbsF*DlYUJv+Dj+Ph~zSIFeL zOFRpOZZ5OL^Ya0Z#}&jM7!E|jBmmmuZd*e>L6=Nhwr)*ibxKP4mc2NNw_84M4L@~n zA)QRDOzy4~?jagKSF*E7eBPN-Zm|{US?A(|_5Qm0Ci0FKA1+Y?*u#;gh-kr8B2wke zx`Fy;Z@u>{FwrNw_bK?n63ApdGy?ZKQiUMaXf3(P7<5D+Bfp}AiuW}!Q{zUBay z#l9;zvc(PLSmJfSV^I%~)zp|24X{jG5jqD|=jt|0GrjFegB{~o>7UxqDd<}wnvy*- zynv8nJBUb-vIE~6Id(M9($G&PE-)cTl-Gt9UE!kTy^g7q35@s7Q;u2JW!goU?kHsD z4s0XNJ3bP&wyD82eGoRAq-aLKm!P{gPyP3*$|P%(|fVU6nJ$w39>4%o*%u$5{O8E3CvZ&g<&Q}0QR z8eG@StCWTI(&doy%6q9tc^!SqadHn%c`2T*t3j!Cft~kT+R;e0>SF6^hDn2xqr*t~ z(9(Og?Qe$MAR_etUuFlM7%4)sb$+gx2+JqKj@ydHce-p+|vupBv7 z5V5)k>@7SHwFm_dHV*wwYnilMV(D1i5quie4u7#w@$;UjRr%}D{x`6=2x`Pu*RBfj z4nphYWgHxGal-?0gEdcB`decr>iQT+eypGP7;tB`V5t%p3l|d28gYNHC1yv&eTlXf zbb~yHazFS;13*wu`Mv*j^>ZxVz6r5L+4hj*`eM~uxwyLneGd;t*FgRk<1O)^YQz2E zH+YhPP+yY3tfIV;va(V9!OPVi!Itv3Y$Djq*0d|77F{K&b(K*mTrAhml#- ztu@BiQE*pM20{7V!Zv};P8!mQAQPSGmCB~gbL%6P3+ZZFa{y6iRsA36wCDU)Ay_Vk z!r@FfEZY1Q{mw+ROISOV$XVK}*$gv7CW{i*kpnYfJsxzuN!DYL`ox~ZV7UY3WA z+OY`wxVm|H0K@N8zkH40`E7?1fieElZ(w^C9=sl2NHCn9$N)I%pG$p3bI9x0iUNvg!QFc==qJ z$M^$xK6I%Bze;%W*s{wLD|^fSDRHH!2yV zqh62dxKauJQtuxR|7@sNIa#_?ElOgQ_(Seg!W&3M@Q23Z8F_-|3og25GpX+}GCy5! zAjgZo9vt`%WFpn01qhD#Acyhw?!oXuUDxgw!EvwB9(wp14`ip$XQmGML|Bk!r(cIv zOa?fcmjtj=)W;95t?i>u4q*D+2=ZVgjBem&dU5j1VzIbLXoh|%ne=p5%!^vx`$i7f zGe*_+Nl*^=bMoB9{}MV4e8S2ono8pXcYCi=z3_GGW^J9Wy}?oE~#N~MKzAFG+u zADrv4+Wp1XV$egNZvOXwGzZCdpriOh z3U~fS-pa0hAGJ)b7iStp>?z+Quk>e_L6~`oPh?gEw9)e8(7|w(Wg6@@)v-US{Nekl z(F)H)wFx4=aB(KG;87XjaU0r4?lI^Ox+wK5>DY!%L<#5x7jm|8+rG|9ktmv9! zUW-6TBSOI_8P*z9R;x>t60bcyQ<61KPni;9&U5VIMLd*nN7$9V7vXhG%uB4 zppbz52*Sv_t>#9hkS!JxKB62Fp=7EUkAVAgxxKb|iNuA{H4*gqe2GFaTOb_=$xM9V z0#Cq+%sI)Ur|(XBQ{mE*RgXt=@k%iikB5qtcrF^RTT7*I%A36V^wDIR^cRx%PkDVV z&!BG_T~j2XF|j-_-$>15e85^3QTCRxIwQLYcnN@+rs)t31oQSU&5T#oSap2nVDq!h zgEy|cG-d>>>UgIbMhPE(aVZ^-rCZ0r0{qy2}?zTQ#;j!XM%d#OEe|`Xu6!K zoYsW!(1|w@0v<6%5bQ`ey^AoAc(yQkxRwifdd69IHkna9mz$ua-0@IwkWpqg_r|07 z305U11&p02L_#7~;o!S3F_VK#o&2of*iXBQXG(5-e)m_N?ByrSdTiDl!Gw${QG7?R zg<>m&gi&fE9m@YIYlWL@dWaMp6N^pz$bq~Yx>ijZGA2~m9#=1T4!=_z8@m+y#g zAM^Ng$x^Xp&%BL9Hk0B%C@R-PySX$OtW_to=c-moZG=)sCQF$_`nCVEl1%yIF;}hQ zUZ_Sx{#3GZI#5gmV?S_u<`iW>w&2=Q24M~xli)6&e~uIWaswJD6IjuJ$$@9e~s@q|zCM^t2oGiFDclSb6J_ z)#{3pE|~IpR#vTn=1|wmo5toD8OZ3h!ZgCVt}x@Yma{|0iu0zm*hJKEKCvo`KNSxV zFA}kXk9qix4>D0@SJdU>iMysX+fDef%R zm9(q0kMPa+>7kmJ8UKWKzm2l0X%sT!x4cI(1YW;yc#U)nkxEtzD}}14k>a>QXfp)k zMjU!+3>ZQv6iwS(4&SH9s?K$h>2Gya77H z-cUX6CujIz(sH7#zh=x$j&B($l^fmTfy5jke@ZM$NO7IsAHVM-)-PS0{+|B8gw)gD zS4CS!B3!L5Th(Prb<0DBhVJKh88w@}1`9Aikg#Mbtm~P`#KUFl4BOTMqc~1SpffXU zWxxV4fXuXAP@D3VB7_EaMs3i>=s9lW#z&qW}L6MkAqW_3BQQchYP4WX-qUVM9J zXUF+&i|@puDpa)G0$zEPSZ11me-jRg=CaW1gICsYAOT3g=$4Bgjas2-eyR;{+wBR2 zll@}I2b{Y-m5+w3=+SsiZ4^t%V~KpOG;X!>Zcl8atTB%}-?GL_xqRYSvSj4-9el&W zyCQrC_-z|VUueG4F=Y%1w3MD|Y3)L-U(<*jz3KF!Il+ETthU%ah7&Au!%h0M@VTeQ zY7)Bxf$P3A*N`YgsmIyPQh(#>Rk6_OjS8>RC88I5=~aBg^p!oNx5k3@ULX-R^-LWK zu8Nxh!yt+>wQ1a~(yz1KY!@3HGxbj8cIM-@yu~$F7qzpw7BDI=9x*F9!2!7Y!ZpUT85OGFa^1G6cO-0nn>qo`^2<~<(RW%P$cNV=8S__wufT67b~`Y}e@I5gK~{%@8u6k|jzQ1Vn; z1Ck=xgodG?yI&v13R+M%^|wa3obW)&pIq0h<%~+M8fSKeog(Iy| zQS}^+i4iA-h*8KxLk`!MAHBGlWz!`$2f`;2 zu!M3~T-gbf?N+nf?7|cKiKGgnr!#({q=YRg5b`sKup^Mm(W5wnd~%b>9BLRj z8EOdOOB@^bV`$#Z{?X zB+t2DpMkTA#>CN{Am{TaD;-t-9Qslu69|K+bbF)FLdEzoCkpxGKI5K{;@(+YgMQMJ zhi{u*I2cG@w@CFMFW@Hgy8TYx29e$4FnY@>Ay##4vnJ#SmyAUoZGt0_jYNZI+J z`TLoY4qSS$Q40G*t|+2UJQZ0(7YH^N` zP1gKjI0^AT04X$h3FN%8o_S_ti*;U8_--sT4t)1)X|lEyszlGKv8StOoX$kI`|a9+ zw;#whE5RwkL$pqVZnDm`G|vQ{SYf7NmV`yAr~UAdc#3?qd5x%4r)+|+%3#H-%e*0G z1`$LAN+$AxXyz=j*v2H^vaGu5)Bi|I4gC&Wjln?nZ_oU|%%ze$=(c7up5OjQ(AsF` zl6-2`v(tHQCQx$ojpY{nl%DK|_>}!P3T<_jIUVDK@t3~BYfoo}g*fGw5AAN(4t~tY zGSkb(-0KbX+v*c&d*w0W`qL}SAd*ss3B}8MW-(z6TnYJ9~!s0063x@bF&^l>;c zp7*tjc)dbi^}}$Z5VW62Oin}tUO--@&rdazo_HjmsK*J(3nvdf`u0Z;9ePx45bftK zv@2FIw#dAF(J^v$Z~Q< z3A*a+G^aZz-HnW^&CWsWAeLI zNrwg0h0|3sQl`7kojh~qOc$9KS1mVm$GugZ9*OmBiZ$|E;!FL!sJ|)krU8Xs2>%AB&!j&1+md<=e{gtS}Ku`#?C$v zNVKt?&~tv^^DiKqFesKg)r8O6IMMutRAKUDW4mc5zCTlpW};KX8?`1EkuDnUOs@LT zyp>h&y)zt0eR$%?gq8dn+u7}OF`Ilc7>flTe9&wQjZ~_ce`_g|gK|a)^Jp6rCnh*} zgJdE{HFL1I81}(1Bq`$wi4Z9(2oz0KgOAnKzk^8(vgIEYE3Xkn?9#%~h0=Pl(VzU! z;<{ZmX76o{S=XD6=5#4{)*Aw|ZtV20Y5hz5@P><4xG!~X79-0I@a#@RA^r}*N=S7{ z&1I4Aus))?z=OhYmNg7cl;#S;4vcGD%aX#07?Mv}d@Qy;&>FAQ)A4|>9Zdv40R3#9heN&m5{~f{kgW1%4K5BXOTarLoSax7A!`8-0;<3zgho%mk zuNPCcJzkv1O&xkp_LpC_d-odrgq-T29q?LFd6!S;E<2GWw3{BI31%g+Wr-D^s&5S~ zO!O4yqSkQV5K5`O&}x11dxD`*=$%uCE+1~Se&+dLsFkhTEtPoTg=p{@ayOhL@)j~dQ_FW+;M{fMaWuU|a8 zcKBj(p?9vgP~8150M|+P{(I)-A4F0qKK+z@N~KPloukGji6!4T{`%PTbnNxV>zsh| z^yCE2<1YCUTm z@cUQ32I&vD2E1&q`WkD-#G|kA$^NUkMo(Yk>wk%B*uA~`_e8mxh|qp2&YDQby2 z87;fmxPU`CNN~^@)Xj#R4H(86l-4^`&zSs%I?-5MsdxH^WS$bcKUprff9~gYKU@6p zFRAyoi)!m1|D2jEe&m-r5(p^rkl=T>nDHaXr1GmSD~9p$^QN|7-O%k_ljeq=P}+jaXq(-2^r;QjdWoy3gXt72yHybeEiz`otL19B z2{LK6lEl^HEoveAulR+cxe4AvS+jT4y@C6W9C>8U=UIN>;NLmen{77cPAycXeQk2Y z`lc)8?he{cJ`56m99-{0|_dDG#84=j6kKQ!%cvn<8Ra@4WP!l}83dIu}b^5x6M zx2k?a^{5Fy{#9*hXLZ(HP&kA}Eysd_>fHd>;PqGsfMl0E2cA3d-0qKV48jInUUqvx za(i3-1JAicX*T^_a4*7xKs<@8SjL^l8g(-dg6Q32Bdh=jQ<{#Jj3h!9auWlz&|SbkikF7{59$* z1_?dF+(46@lujyh#KW0lDXs35?Pnb;{p_WQcBB1XP=+7FK~&7_elcAlmEoP~l4I+C z1La*9k(kJk3DfuEjdxT>j6lF^mRDP2s zBqFqc;v-`UW)UaD1Q(NcICn&V55hO8R3WPoJAj?rCB!R-Qd05@uzI-tl4)|h%Ldnz)C46=| zSjN>>w!($;2Lh2uG7@=XaUve^mD`o6NYWSb1OuT|KILkcW=k0G+=ZZ@AIHNk6;4KK zrD!0Ziv}`f<*Mi3ql%GanB8*kMh1{RDvbR)v%5yoI5A3fY0f?JAKb&*f^wY1y@PuK zqAf8Y`PB8z-5Yu=baWeR46wGCz(ktFHObUy(z-15dZsZ@?+2OYj0|b~_|oGh>D6Mb zM*WUc)AA|?Zk>e(B^itt(jzXP${mK85J z{n})?k~mPrR`dg%`ic}+Z!C7coyy0<2i*(N)4$O9eEc8Rem<4=HfMW^oK`dJbZY34S)n74a{CfU0X^j^-Xm$BIC*EO4!h7*`NN z)5u3E`+4g7pG4jxLVW5qp2(XzB%8@*^0#eSk{B(SPpeNDM|T!Nk^cOAe>?CmiFV)8 zYqT@>J4%bUkv zhd0hU%a_u}m`fO6pM|$G#1&^i$sFgJ0uGTN`$2dDcBJg`QBm)is({jy6rsylXARcLRh#%hnTI(BGMb?Q@1l}f~?^H4G%_hZG6 zedgR*pnu0^7LF*_(bpZR)$f@6*v~dGMf)>h6&pVR^YB7zd_ED4x&Bcm8B436*Bwe0 z?ml;JWG)QTKP)0xmk0gB_x~~XCh%=t=bb1HmU{tQ?7+Pj8?g`sK;nX+NDzP|QWPvp zvL)J*Z5faiJC5vn6Jf_oYR66-2hHZKuamZ+(lnXYNnetNOedLXoVK1!igZiTv@@+! zvgwkJlP+nc{+i5d^O|N7c>doxxFASTb~3N;y;8ys+;i@^=X~c|{@?$@1Oc6B7^@$J zF3@cUcq1r&k5p_p96Pe%5BxjY+E;*}ycA{x_J#B3_ zmz=jX_ZsPa$4);{PQ`vLGc7meQ(_)vGEbadn(KeV?%!j3!dXom5BZ+5HV>Z8q{>g6 zKDIBFyQe8nXZD?kQagF$HT6(XB?iDE=pU0&o*{Q<6os8 z_ztD66Xe2vmJlxRa1_O`T8m*4vqnFZMhX5%)TS@SKi83ZD1m?iV%> zYMNqvNFNjab%pz5A>rZ2Cx>~iO6w1J+tp1CxE$?#8#XXQWs(h`ZF01izK|35%Es|AEf+CEGi`@hEIRg583M@IN$3W+RR-7JHI-|7_If*-6 zp5twCxep}9=W_49GxM^=>5N;IkkV^52YMa(5)<4TOC!d&Dy$JAa6qU(|V8r@T2NHY9ebfSYNM%`1a6g_qEV4nNe zp___Y@r096sZ=>a-ZPZ8g)k&xl=-dOyl3AdE5#co?`(c#HZZ#Ypv6NF;6G(Ns1_q{n2Z)*6PSg`v88)Npm|i_QMd;3gXROdLWKvPyntYfB0T`2f&2IA z`K~%ib zdGt;;v)CPc1Bz)Wm@1MZg@4b~{b>%9t(pao){^Bou4NY883}9+cY45Rg&H%`CGMB3 zBE+J}Igkq!K$kIm-W9GJ9sr~2zM!e(g{-{Z@fZROJg$LY!@ZN>0-A76AwhoPwfx@6 z-`S2h9N4tNvTalNLIg@Em{C)cO0KRZ-9Y-A&j#cC68G`w$j>0&0YLc>lj5#2>^F_- zK%*=2Se^<+jyw-K33bHISQq}WR)K_`2KhGOG7^viSM#u5&|hfg)m1E#XTgD02!MTE zaYx5MI`A+;duQzVW?^z%tTHa=aE*JwwGFUr`GyL;a4TDi1{`P}jzt~8vawDJg$-Ut z!3B>C|D=fNYR)!#1%#cWV(V6yDtG z&Q{)*PX>(r8{3cH*pv4xoDgG*?jc2m&_LAvpR5K_y|b8m~f8%H@{Q<&W@_H zRE^7X<%h4Nt_qoa9>=vo3xn>LEt2Lbu-O;eC|-3D=@wnq>Gd|(nk$fkrtbP_V3|xT zJmgTehFVGu%9EhqcYwC~vwW%md`%(syT}sncK>4`RY>7~c-Lc4d=9@O=|#tIh=o_X zSo(M>pJvWNI^Tb;a@}jLt1#5Rs^KsN{6EBPoQioK-)8>;-?>cQ6YOSkg7|KU$%YgH zX1TIk`_8}AyI0=PzHj1&iTm2DTb}CwE~`(KjrpfS!6)bW{{3zCT^vJrkoZvu#8DH+ zfQwqLLQAS}G%=kf9d-VSH!ZGST{uy=@5Z}sJLB4G_1GHSw?OBn22TCV@(YL01cOgi zt6sa$K2=`rcDXW0y21tC-z3)me!fP?B!|mbMmz=HW1vV7{}P3oVFEtFz%vXd%2 zCx9>TE;CCEil0xt_Ws3M_g&rE{)pmxjc2uh2jSDPX=#UcKZX$vOAE00ik7rvmU?SllfuC_DKCLjU(H}wv|q| zM#olE?j0RlgxrMAcG=<0AQdCGf8ogGM!0}La;kOtF&+cf79#1`18+pBG)nXf7{5dp2=}Kk0VF%83$&VxER%O-$&3dszwiaTm-;u3aM!2+*joP)=*GmPdCA@Lw30ZtX9$Ur^QW(EOOZWbrXW$h2=HjwDFF zm;3+oa;MDqKU#Mm;yH8J|8z+X!&*12NUH; zqW`=1T$Nxal|N4(oS!NW#!ehZr?K09BpN<=PRW~sJ-R-6(1}Fsj`oeI?EZMY`+J|Q zy`XPD{)B!0Tx#lAda8W%vxmL`G8@aV&p(Df;|;n>v*u>EeW!cjg>3@j8{e2W=Q70& z&*Rr|^1+4?X&}Q1L2%;QL?R}f9SA<4^ew1)*I_Oh_Uqf5$tT9|H@b;O3SqW5LyRS* z>p$_D{AfSYQ#foBiq#}YzhjUtuC9H&H=gWwsvXQ>*ReCYbs&df|{ z@j!GeQ<`9{mjCF&&3kL7S1XlDA`UTQbfn&NS_=sQS!Q&8MVsF9|PN4B}B??U{^WE)p0IcU3mP#v&9&ebWcieozo zyCJnoP=H}F3q_Dy0im8K2HQhQK_oLalgviIT}cirIIl-DGggp!Ud!j-t*ViL&xt=! zb@H+MeeTx?LAFmKX4?cNSJ;G5KQx54MR^VM4{1Omk6~!N@NhHDdUD!~aAItD9EoIf z{6U9jEuAn5>4~{eLXD8UABxBG@%WES?)4u^U8yICfmyIZtgEUOm>C&ju}N%W?%v!) zGU`^X(Eq3CH~BaMv`HORmi&9KgGYz^P59b;k$n?7t`nMb4kKztHN$|=0>)V9?himM z03+bW22veCniHNb*87(SCYzyfa!>L{|9pw%z-VZ&oc|Z)#GYh4 zhfNvl5i4jN=g#xAkeN;YvcwD2DRs~Hdq8Bc&Uw%vv`)!m)dtcYO0l~)HjLQay#6%EL1G7xxQ0TLL3p1x;Jg7NrTLMu-WKNu{g>Ku6Tceu z2Z{I)6>^Y*u$a(TlIzVLTkBCCCVvD)fzfQSHDmx8%}bAg%4BdTk(|-9ajW8V zK&5g(A)*pouTfgL5^4-@TtDkyz?ZJamlh`@;2hz+oj*ihAV&XH`f{aS*2yb@fbw}Ih!TYpYXfn%G&8-}|2CX2S{Q%*3wQ>(ru1JR zj&OEN36_Q{XKA{;)V(RJRl};4w(Pa;c^j5}*#8bv#mwE#oua=HB;Y~M%u%ioS?~lSbZom$VoV%# zjYf8zW^OJLc7rLPY>y;7*xf+C>D##rnOAIt;I!15%ONig0ASCUn()8}8_dn^GO;2Q zV{-FzA-$rAi03SHRl>Vn1B5{vtUov>#0km9gQfuoo8CZ(rdksOCZvNP##w}K0%#Xl zY4}i{fwLAEa2-l+v4OK6py6;C3dIGC0}iHAU{sQ87aImRy(eTh<2LZp!0CfSa3F@PO8*|nl zUK))DD}>=nzU0BxUxnF3DzCu(U8D>E@Z`;ujCX)14~iUdWaQl@;{;H1*^NJQ)ld>;N2Y~CNoI@d7|r{Lnr zfmj8M)U?Z0b$Y~Wu;CATHGIN8anv#H_zB#O7H<37+kSM(e!{*~jQnln7&2|0lJo>U zI2@h@{C)2OA2=~KcH;f-zZ(T+@ZTmLw#M!68QKPi)LxPXd3BaZWbm(u=zxd=9p#NfIY;1CD?Dv@`m@Ld6m@URt<`2fxIisA*CUtn|e#I*J zg8q=pZ?$T%J-KRi0HiOa|%W)5F4fXZV|tKS<5hJ)_;v8iNoY78tKE?+pP`5cj; z9#*V!AQV)+esK5uBgk`xOc>%WJ_xxW5TAquHg_AH;1u+N5?+CVL=XjO4siOx-++8? zego!#5JKs5+Ei={QxcofoYRZbFEv%8+15%c&62^M6TrXa=%gzA3+iMPEVREytRJiB z3&{$>!vc*wEBK_4(@qgOj3!h)II+o7N~5jfj%Op*!E8w%v$H8Z9B_wJkEUiKUddjv zyR_6i-VC}!5xkj2PM6Ja;LU_SojiCfT`eTbQGax7Z*EUQuOyeOSEc6hmLA}5p+7V} z<)RWb;_F&_+ljsTpjo-(CUz%nG>iO}29SnfUEGVm2Q5m~vESif>%#G{+Ayn8t(6f10j$I`#Cqf55AVI&aL05OfaS zn$YPwUa)Q|_5i$qGe!M$s$N2|3##yLokukU-N4P~ortCIIPBl|(Lch0Ome1}5xGcp zz@Vb?E;jN4Y(ph|;YY1dRvt|PpvveKvRJ7uT*V(;(w6lTcMUq(zX|V+=b{IKe*XC_ zC-liZ3wX-9yo1)1c04ldCiN3J*I+8Rk)G<2$*>L+i2D$+fBX#OIN{VuE1-%QP?pjJ z4Mw609Gb-j@Fya?p)iIk_OZn45(lDpD?Z`+jVE69{P!pj%d1q~Aidv#yGS57gEwQFW;h0*9oxeVzRy_MI568njBnVvt%)kup{1kja70icFJT zwd*E>BMYAq-C8SQL7>1 z@!bqvC(QRjzeu;ABedk@w0oG4P&=@W8(72?^?<*VAm)H1BKpJ5UfP%Q&;3H+@RY|f z0k|uo9i-uXCbYh`zHw<^IvaORl$n-sh3}@XQ3N8)qMZ))QTU@b8DZoJTMolXLc%S< z%Ib|-6omwe1ZEj_M1pp*tE&KNyS=(oO9zzkiHZJSr0%+F_@8y(obY)vUQg~sA=7TZ zF?F~2>~4GmZ3+FrtaAjJI*9iWR!`{oRh<|!0Bu9PJ+xmdqGhs$$h;mRZ)2hR$D>$= zQJQXX3tIRZf2j8TU*b98lh?tuf5pt}4 z()G7M{XnsjECY2IGx*pNgloN3Yu1{NjNq{>7l3~0KK!tlgXZzV#DdF4IT5N9(aHru zAWBDNhDnEjq`uB-mktY^Z-fY;dl8xF8jj8T2^N3$ajv5x`j#h_9oCrBi!urRv{eox ze$UoF5D5G%#FLx-%5783Emau<4WtXE>{C(KS6w9DB^ZR_w z(A>n{a=DpV6vPP?jL#@2th(Er{Is!#sWq1<94u&j)ON8qH(_I5A5!s^sd2G-cJu}C zq09AUhYdWSbl7!yr2Fgdb9i|ty1ZA>UHa19&{WX}-YNJh26<~+e4c(p*l4F}Sgu09 z5E7wV4Z%MyX+@#~WIqqTz&i%%`vbg()Uk_96}Ps5nsuCJ6L(MyF7pE1wTKDfzgctM z>jJkhPvNDz(dQ#}!vfVN2SYfvCxR(K%hkC)&Secmr1>T`3MdpLfW(^>D{1X8u~n!x zh(c4o3>GQvcEDRzYtLos=~6iz&4aB@%e(S+)P@e1ppgaactxu+A5E7_lzlx`MM0ng zDd$*dEhU8%HmQW9)LLlFnPRI*xmJ{PIiWiA2nh2+z6{9pkl`HB9cltdLWL5t6S|(* zFhWV^{4^3RUDNZ><$ zpFrcwK=Or|$GOMpVa%sEOX-4Dk#Cn3Yav~7D!!+^$~}tbzdWX@k2&4$dl_E#-l)p0wEpI@(uR6V_n~SkXP^{Gq)FLQI%TnEZpJ@ZFrR>)`G1yBDeSl(DGz za|>VC=~ZM+fL8BP{4Imx%SOwu+=btekDOv)6y7>86^YCvyd}m@*uVu0ITu1aCsq&v zh?y+H++=K^gPa0qs~Ylad|>B_`C{X-z+3?TWANjF^k&3xe%#}Bd&Z;5RAk!kpN^yu z1?Th2%+n>b8ntW{$+*1Xk%TXJrYJ!ga|?SW?cIFo>@>}h++|h@wvO}#9YgPS+Uz5l zU^i^<7inN}P_rV;*F+NpEZ&$JBkO zePX@@0)e>TMs<#PxY-DYj1m#VjYz5*=`gXkER^CTEDP_ruv-Nul9?o+@8&=L+%hxHE^k7)1S};Md_)13TaAE^@=^u! zrL*0$b@~!BLa}%<-^@!$CmZzbzoTzXc$*TWWxzxt*J(tf3^LI_u94>&u=)sHXR=6< zFFzN|vSk?3)9K9JK%PJoZvaKId=cYuuMrRSHv)0=%MFGoBp5^I#uu#vs7Yfg@u$mk z%d&yOJ@EiDf^k*rZ=g?G@`N))v2n}+zOJzVB#2hPBI`QrJZu|sLnm1+*=z$@ae6$F z-B+JGcyO-1FL8K(=HycN@DZ(fa=3bZoV4Q$K@k1z2)E|J#`Tg0GYG8nXsa z187{%a}DRMnL7hPhOC)w>G)*b(`~nE3k1Jz@j1|@dqHDp)>F`^Zj<@q0z??UDgHY1r@gQml#KFV}mfI%X zw@OcYF(149qi(Q&Kg10F#M-32i}*n1CI1-cgxXPA5-RR7#0=+ae4 z_1g23dudef)ECl%A4^f}jl7oWq<=g%GZD!x9HCMw-V?!tv_9RjP%jjVXq6MMJy8L9 zL@A@W-CAZVTLj-Ob!L+JGb8IkwPevha&E!#%{gv_F9ZH9vcOC$u!mfmv7iTq*+RuR zo_Eupo=#U#4xa8QDQIf07{bS%pvXZ!W`2fmi1qg}e8j}$W_3u;N4pQ%9FnTdPITLp(LR?hGtiwMa$2XRrzOXW&g{>Z`zeQu zK$#eO%=aEHggM(SPzBKvxACYUZgL`8h(gY)oR@12_Pp((?xRj{^6`hiZnu$M!63## z`dyx$vO4>p1)m{*#tu28TIxHgztp}9SkZSO&S?%3p0Nun8lLa)pdrLabjpl`A*piv z9{K@No1ju-AHiaRM%AMxt?Z#QcCbl=jHsqk51Ig1QOm<-(|(^z8ta#z3xu36I;80@ z)8`y^g^?67M6n0FLJV;Rsv=Ys1UI%1H=lvK?E&?!DkUDGFfZeS2@9tUV!a677K7XS=};TB-FkS? zE=P2v{I<6G+5gq%E?s06>XG~L*iAO)kEHr9Z}07~??=DOWwgMg+M#(<4z!p%6X^3i z^e34(MG+lCl%HfZrGnUMQY0^8(5P4i=hfBUid?<-sz=+K?RMw7=e|&TS8dE->remY zGtd0y)4eMi->TgJA+fNIzuE^&pvd^gZ#CX=9yX)Yw-a-E@rFB zYx~dV^H=SWuDnu$GB0E$;el=39>LN^SdXcW?zgUcZh4tmAkS8xX&zVi{54a%t9))< z0JlHo#)XlC2-Kq~zP3BGOj|=F#M21Tc};s~>Zen)}s!v*h?#hYRAV z=IEYd?(Y@`wVwX*kijgeyrh7UJ&!FOyAPy&5t-WXyn%bVWwlC9k3XbMCcF-Hl1DE@ zUTkdgWhAxpT^yvntc948+vjv=0)f%k#Rd;ttPbVxNKP76pTMS^rI;fGAP975@1$Fw z)5Tmw37;MSLKr>_Aiq1$ZpEyFFO4v${DyUh9U3=Qo{XO9Arc=w0ct--xe zh>r1l?CEq6;%@UJ)J_i zuD9!YCP}+7e~l7I>tJWcA3+RAX~$hgzY$+z)vb4oRtrUkPzM#8!)5!%wS!Cg2K#bb zkEw5j1O8$9MsCqz=d@Ns%e-;x4OC+)nVsXtC1TTE^pc`G=I*(rD}rs3Yk@(+6VVva z%^a`GJ?}svKov@=nhW|1to}=%;7uZKfeb=`nf@>n@Mk_ihlT9IHAU{D8F$*+L~WQ@ z7oqr~Ob(PXxaU_;HV1WN`CKw>FPaOKfwha@dCRJ!GwBR%uh5#X>zZq8J3PyL`(5S7 zCq3`mz{-3OW0r)cun8H3`Ax2pBJ`;Upi7X1+)E%+RqcjQvgqB4m1i{ry+mRG(0s9% zfG!`g%Z zWltO|wD6Uy_a`fR2UP$k_EwVnuf}oK2T=Th{MycYM0VO32xZ^}Fo}=gMIbtA8RQ6D z8El~3cB4=Pv9?|-?4&-r1)N9unRgTIQS!xmD%#;E`d=dUBS$j@P9$*0?qoo+OH=7F zX&k&q`P4nr`r)@8Bl@Gt8^(wi$&|4_Odrv$Vei7&--@+Y>f^OrojY+h@W3l~@QIPG zvA_c`1iP4(BjZR|jU<>5Cb_)}j&TjcNN!Vba6)$goTknJZwMFz&juF@2doVu11k8S z?9$9F`}d!6I&#M~S{S}=`AvISW!xfl1a+WxR#6Cr1_`lV^FqQ>YJp$kV>iuI5>L9J54fa0R zV}v)Gp$uG#Cvp!4Hwh5VoNENJjS+tb`K~l%rfCi2sPWBBLUkdmH~eCDyZ{<%RCP;*J8oOcQh@ONMvsCJnOk*fxC zi$LkJLy{bBudC_u7#hB*Q4tytg*IJYpgZvqMN3tMXa^`-ih<>K$Wz^r^#Bsk)kqA1%(GsaDSrKiB*zTN_GcGX=PPVMalXhk;(REGrl9o(P8`a1lD#7_vuA-?=@t6_ z9pp*@(t_XlNKgRlMAWa4_=zdjpl5R>nulcR8F1s@+a4EsnMze6$8Q4a7e4(a za-g8LZuz_ofsmq=cROgH19L&CtU=5(PV)7zQ3}T3^H4;6e zD1#4w_?-)&M%$n05VytP|Mng=jg78x%SrmMm@48w8WQqH#Ex8;orvIpJDMBrdNC+y z>BlS9d6fKs=!IMo;HO`SG;hpiZ)`@6jYOsp#TtnlU3aSCy!M3LI8|n`t@su(w2s7! zgxr8Wy2+k}g-;dv;Af*SsPJbGQPabTD}(+8d#2@@r_VUw@eb#ir{CfB`652wo5aKG zyUtuG$DV!T#C<<8KmQZ=P0Z7W=Kr(dD7;@>zd$P#H+MkFlYct}tII-`8c2+}SHMxD zhcH*#;m(0Mj9|Kq%)na5SnskDh&ZsZp$bA5z5!H;XDaS4cHw75(b-nlU;vYGtsABR zTwkT3Z=!><6wFf`_X9bEtV7{ZtUI_2GI!?rI)&()44#En|6=bVCK@}?r6t(K`bxD3 z;A2pO0u|8px;E&;4VTvd8c)or9&6&6sImvE1I7>uzAR$;-CmE^o`q`?hiJmm<9h+d zWgS~C{RYS+l_xWU6{f$2>QolkHv>7pzKy?yzGwc!$?)&fZw9|>!7QTxTyMI7ai=^L zVewn^Dzr^Xh$L7zff!y`@!cp&Wqyj3XdYdD}&2RH)M+9st;Qi8!Oiy z(I&kOH4=~v7@cb^Bvn$jWs}lU@lNdVZnpzn1y&paNw^fSvB?I6p-qOC*bk{qvPyGY zzuwUj?LbA0mrgpDP^>e4j)b94|lB1RI_2ql?78F-vD{e zC!IA;neRQc2f~>hR?(CQh2sf7xsi9sKSq;-pEF!7ut`@!u@0sfp3t*ktczrCyoS%N zjr0X1;Zs&RJ;RBYaMpM|a^41zN-6Ah6qBcR#L!}e2~QjtI&sEm5cgZ7j)uvk1r8I< zwfWi6B5E~}`EH;ooH-Vj7-_shGC~^@3wa>T<~qJYCoRtT5u7t+|HJ8t)LULmof0(o zS)!1P#Vg%@))V#^`NqWA+aHl-f?eQRs7I@ZVi@CV&NxGRCSI=7RC5^_6=ED+3 z9W%dhWTgOHdUk`+Qz*Nd8ROI)fc;%0HtZ|>rGEuJ{ z2>Vma-aOz|!wv=T78EZEI9Ft+)BbiFbE|F{4ftVh416DgJB#Abm{k;|BF7MIX;7hS za5sX)YLqCewYt9k(lSXfPL8$Qy6_AMCFrNPj^bGGhU|VUTFW$()Ju-ZWpH!Ham`}% z!p@}iLHhu)M8+){v<5zNy>Tc>rx8V`Q*) zXsuBhZKV!`Y{4POyijCL_tzD$Bk&CJpXz{&3k0ZsWLwc6>(1q(D4FrTsEs6J2K}PJzVgmvO|`^j}2racbhdKZ=((_h0<2UE2U- z3Cq#WKA=oJO*bs$6*r3Z>ac&PAy zld_@d^@~JcpocHC3WrLzm>xut0he9%Ibxw?(EEXMqt%+uI$5jTzSXb7=4Imt3WGuf zzKEls2W3a|>hUJ{3qV86_us!p+>iR7n%~5e!H><~@R$~_gO%sHFilQA4n!MTV_@lMZ*0Jyz1Hb;y7)ESO3h9O zI&r7T*Vkyfq-W!IVNyrb#zoW;+bFH!r)&5bYogB`(Jp4^aNYB;elY96%0yHJYY~f* zRr)WBMaew0Dp`eA<)fAD>z-r~&Qh0u^EfTZ&td651;@*dH6P9fAy0rA<-i2 z;y|phyC7xoa(B5x{o%|0c@itf_ANezcFf~%T_5xUON}5|n7^z==i2YlxgxqM&R>jE z5A&^u`G!bRo+dhaj%=zbU0zzMAVb_az86PE-?WDbw@x~|SF!^kwK%yRot>&CBzm ze=Q&pI-Pd2xut&-hRCelJgS0VyBym6RF<%4+WsTBAk)VGiSy^70@G$VTCk%fSbR_} z5Fg}7_Z4&MJjUKlejkC-Z&1>!P={n=H^w^uNKd@8btT-xa^-2tvx?ZNS}{ujw<^I$SB3F|bgM zCYq~vl@k36U9|%cH187YB%1wiHOo_p{U7eS|1#r4ufA`5h0Ay$bBL|B1avAEUsxb> z)7bY0&P@PYaC{v`;2u}y`vQ{MKV*^Sfss2USvOEbA zQIvX(#{htLg)e)S2-0~VfDDLPWMgp+pf)?-D98nFQpf~_1;n+0T`|cB30r}(Kvf~o zB3iCv%hr(&N?*|VP*JKyoqZmD`+(CM2s-4TGCigT0%K9+QqLrr)$MkAQm&b?_|c@# zrxkq}@TfnBn3%><*XrmtxcY zbRZ2hk+0?m*#pReRHtH5H5N+;6B%n1p@UG+H9wwDdH9b~VF$|u!%WLCY?}-*5zXtj zt1c8p4LEHcyy<0%+o}Y8D2?iHYC-3O!=HA_PQUE21%k58jY_f(;FVm?P!MHMLs2V> zMIy4}xuh-eg3}8OZv-{WJR#YpU@6gB;IfP`cL|OqfkjUF&)WrGSpBvRoL;cKwc8-@yc%Z zc^_YH12I~HNe|&MScFIj;EPenA;E1xF@4HUf)o%LX2O|EiR}=n&~$V}pQ#OTx2XZi z+~S;h@YGO+Bhd6pFankiEtJcHb4TIgJ&bXAL^vJ>EH+-?WS(OJ+O*`39{{E}>6-E`HP@{dl z35QGFzN4>y!QcEr`$~>i>=&a)<$V=>+Hq*~wfckg6}H-ras3JntJns&PQJ(A{6YH) z<7wvz@V@@lWyV#E_p6R8w7?yGJ+j*Y|A#p9t+n~ebKugW^1h1kyL4Q|ISlkz@cVK5 z)!Yclx~C`t;@doyfN6&@voHg(H)vqP*eoY<2VdO9LFT^MSHXF}YcuW2c|h7ZZkJFA zY!c382U)-os3E4_L4Fk4eDLI_}8)2&D+$+aDf^$PKJD_$7rC!!s)$1dNJEk{f*h-l{;*c}0k2MUqI#7Kj| z_Z&jWulAtXU0UsL9y-J<=Z!+V)kfp^6Z+MwpC<$f29V~_rOkdOUc8;!+@-;nE%5@i z_QRhiFz$4gs8M!lgW^12w!GSjcF;5**BdWcmR0 zi*ml;6w)!WKGukkMy++Qff=Q4`B-RQ*={fI3mq%NOI`7AcDtMY$_>`P`#URJZ6Wxu z(XABW7&nTQk{($%B6`QIlt%V>!jQS(U&5}?5SX@FFiTcZm?Fjq6F^~K3&jvASzCKf zThWfAW)9zAECx(g92h2!&>J_{-(xwF?Zq=^!WbSh;;Lr#Gb<8jK&=REzEt`XyIq^s zsPvg_2DQ(ar3*9}%ARSULr&PN#kWnrb1)aq!v`S=s{(@#i?Bu@G6!xwSOu*OZUB|o zdiVVKZXf;&Al8QS^*q*Ph`ixp8Oe7%{jN^*ycB4luC10-2Z(BLdMcdhT?Beon-|&$ z@nX4Lz`3e))NvH4eW^$~mV0NQ2hjSYOv7TTK#S zB}_t^b58HZ%F4ZV&sMW6)#>!iMjdpb+nGlF@g2VgH4JAYlke*N|hN)l-K@tf71Xwbn zhp3SUV++xkUrSE<{gX+TGh50!U866S+&-(Kxoy7d-KawwwueI!O1s!YunydE6Q!oy znqnRKFeKpvr-ZK@`F(0eNzHsonMo;?j}?tJSnp=bK#pM4 z&GxI}N}vGj0fgNoIL~1cA?TK}7SWpqkHXbNk8n!q%8w037H6r<+(5NuhCPd+tBcwB z`79KiK`-Y$6%6}*ysx+p=}Ko?S9#}uIX6F#Vo*rZ#eBthVI5pVoZ5=H3!@&%Ekzsm z8Qa3xDq%bn<@>7Ds~_1DeOGkPBVX#IK#Z4Kee%g(e-oY=V2tlgH{SNP27*qnbS&~0 zVx8)ZS2|W{c&Nd3Bpt#dPzM}wMR*Rt?+y;?J`dId2CSOJH+xf}|KQ*Y7Z&Gkz(Bp@A-m=a#{8Zq#vt3>i=L6T6PQ61 z6NV2ELH9v?PFPqb7=imGcuuAXkLi-;iQ0IA6};QUNdJORMSnqv5w<#)>vCyDUn!yZ z7JkqbTI$+B3l%mP$tMN#3EqBg#_|0g<|Dc=%&J6kDZ=cCwF}Wo_Z$56+WM$yHLo>% z)IH4D1T+Z?LfJ(24glNmXvonNEI53q;cADsa44eBv&xAX-^AJD_2Zy??yNLd&Qo(_ zGRwZ16P0fFZ1b#zd}=R~e|9TRU_0WR@)ED)+zU`numM(!gU6BQ3s!o8J)D0*%{8_K zMv;Sp_c`bRj|jEnkLMY#t@Y@+HhiOJ7U_Xv)&CQ7Yq?lj!FN_lU895h!HX5sJVr4= zGWof(64-GrqT0vy97{TvW$1q+U9#=;p#t|o^Pj7MBafHMx?COhbW2%$#q>+4R`{d+ z&b0GiISCWW7i8A&@%06UJP0EEqhz`w`_+izO2zVtRP4YVKz3(q<^9w1`H8UucMNj< zF0enw?}%TIV~`pUp;VX%D;(I*joaUI%}@I!d;iZ;smGQdOQqRr{yob-?H^O)@1b`d zO(6s-bih7*hyMX`nySo!36XK5hYX)$BaavK5)uejF+HFFPpZ*7nVvivPWk#DXa6pB z-AXU_@0U~4y(6#L@O8%6>%!^M>QXv=uRpE4+$R7UQ^rkn>zd5nGnmCNym)GIX?DGb@1A9B^J-m7c zJkVH~fPiv!Ts{ao1=R)-%1>n-N?}V?6Yui0N^SO=%E@!@SAO{-N)!N@*Djqnf$Yhm3F(={Pg7DZzRK!QY~*VyoTTQ(Ef7=&0LG!s@Rj0!G1DQG~k9XT6pWSL3=qX%Vp z1Et2vHY@el;%xCEAZnW=q+6^@3$gzC=I`>;lQj63veg*>!i^B?EZ6GBZ#p-BV~ zWEgcMtAN~u;($mB`mYUVa@uYxCF@zhCjB+RWxu!oid(D~hb9f?)-irMBd6ylyNUb2;rc zm+W?h$6nWX&OAKYX}Ciu)**R6;O%}d}8j7jHme}&MVQxj=@|GyF#EmQD zh6J-hYRFd@Djw{fKy9%G-5zhNgE$kVlb7>f{9?Y0A7<($piRT2`t#AS9Um5Ie1KMZg*&ga|Qa&j1ub%s}i#r_*|+ z)hG9Vaq#3TZQ1RX+ZfTmkZi7i^z)MKoFm|IoM9c0-2Vfo;*r@Nr}DA|lqPP!B02nC zo8tk8PkKONO2EPQ0ocFXAM?xDMF@+V<~kz6Ot2@=F03)wW_U6zTtQA4p}@dg#afv! zoJ(bIx+$BQdj0Doso2q2DthS99}95Bv9&dz<`elACeHOCh)A zQv$Kk?Q{z9POH^{%MI6(%Zv`zsm@VSJc_OJ)d{^(n6W%8Nxc{qCxjmb)Tah&2@g^p z0tD_u&WSqW+y6`_^IQ{vvrNY0YLhsD^bo2oNwhCzx@W2Rtv>i+`BMIjg^enyBxz0j z=uizB=54BYYY-_RnZbIanrqMNJnQsjw2YdmQTtjvKmj)NnV1^50!sIHQy{K$c6s?M zs)3-RgZ^fk1DX0wb|3cq1gr_lHm2A&x;ImIB|0?z=iTMSR7_vjsW9QD5EsK;~k&JW&sCmz3e$5GFO=O}QZN9py0{M8-! zqbG~>jiWS1w0_LoAv4nh+TSprrwC~)Ly(gQhf5W+WDx8&EiBkvI;3-j1UVZf_pBzP zlbN{;xK>xe`wqu1-MlLyX=~lzdbX{`?a{qnpHoRzEy5G_#IIkfm zX$24+f7mxKX(xwwcG{8H)k$Mfaihl~Zfu>aJv=BtFm>$2z~R9C31?wvR1TmNmgQy3 zI^4`)v_q>RDUIsR3x8|~deT%vaz_CEUaj3Uk2$3M-q6+ee8+(NNcAz&+|xlJLbH~D#z?h3cfAYLtWSHkqFHMz5&-?iG2N~BG9Vl4Uo_z9lHRl}9Wl{Db*tXRp+tT3OI zlr7S!M592-nM-@MBtGy&@4y2bv(FxP zd4tt`GrA+_j|Es_cHf-eYGKzqfF zRy!g9U?&id2$OV?Sx5jGu*6Du6&Kz-@&vEQyQqa}%%Z^(e0o%u~mb|vOgE^YF zeeSjehtCnkezEuclGQQg3iMx+Jho}8&Hnxdb`M?hJFxxoIgRT;Idx?36=~lCCl%_F zL9HE*eUS`o5WS4-7UQhzFHPn9n+2m3!bK)4p|x_&ivKA|T9HDMcvzj5zW#T{BU?U5RlJ{fP2 zJ>Eszq=+;_C8NMf`Ki)GfAh%|2_2v&=%I*itq(duW`c2E(>mvdeUzS*|88X&FhkPN zu%`bQ@@VHZ-!7GeXKEQ<`%{+F@Z7)7@+0uxcP#f?-T)u|n=NmJ7yn7ivzB*T-edV0 z%LgpaS^iJU$1J~Y`Ml-7VI{#-CVQQ3u$PC=cfS7r>a#jEeCZ8TJmDbX2r@MJ8eR6Wc%J@p8S!^=QVW@` zfyqfd_)mp>GyBtd`j;v|?Q`fkr!$?1XPnM#jGgpK-p9O>=P{q;{WC@K62dP2$ZyWFFWf>Dz|f2i;%U%A7vn~iPtTl^jTW< zMEps?Vu(Zf2Ne;PX%#B~I5i@0CA^dl^bSFf;eIhSAhw?K1cROrc!Ce0`bf|tdpuFa z>r^HkAa4xl-X95ia&5KSeHcEVXP_igu&NdC^#76y7adfjpciC{(Zt+hE9i1stxDJv zFi?YT<=L~(LTkpic`~{1#Ss37a+Ba2;L#@p0WHSU#}m+YW*e4r!2o}`K;x)EPrJA zish@8?=u_ourR~9BG!idmAOW>u3`fOX<9LYXfQC0z$c=@s*ZX^D)D7Vu!ae~7Qs94 z={6$tW&9GK(Lc}=VO8NDc_Zkm(j)v2egvIBoX&rXZ3T_xs6nJL;QFKf!a=6O_dqL9 zLU2>36`IqbhUbc)fu|IaTpimIQe5Xy#XVPpw9HWo1cB3WH6+}lqzky>aSthqW9O(B zw2`5uTA`|PM=!OD2?r1!$kfrSj`OIZPE5UsbE*~eI=+B|;CJJ4ZXTkT_i(o@EEh&6!0+uT8kMe#ocx6+fJL5jyNK&!_02CN}piNX0x9GUJ?Ip zARY)C9UQq`c4mE_#B6r!k2=_0U`43f@g>_ex&j1dVaj$WXtnK&)r-<;n~lAbdGqol zV3rOhJMExWutx2;>NY0(58(c&O#&iPabAJ8Y$=;nvct~<;Fvw`^I6dWw5lOtj4?Ff zwK?rphug`lQN`xMcMt#kGJa;IKZny1M4{1upN4?hF=2H+XjO3q&iFBc%nho4yAQ)7J8*q4;%*F|WMvLp8s}@Z25^tB z$r_Dlka?g!U`SoGO=9i*Ef_f0p&w$$#x%lY05ux47h<&GZX!$}77Jw@K{epWgtSNq zq{{ojupEkfGI8pRt$ixtjzt$^U|Poi*kTk%B7Y(dPWFy8)Vh+;5uq9JKvWUVkp|iS zWO>jY30sp&4Il*BP?7Nfcj3#HuEt~d8>K04{u7i2(OzvD%g0MkCX*-O6hYyL!Yy4T zW2ks{*%;bB?U6PSPb0rQLSK1m(MGWuvsFBzl4*-rI)FNaNz*}dpm>7G!w>kbMB*ek zpMaFaA5O=#t#%xL^o({Me|RSR_$&N$)}cS{dVJU=JpYY+uvEv7vk=+1@a1>d#$l#V z4Kbo8!M1^A3WEtQj5bs={GXVGc@q2#nQ`sd-EEu;^!6YetdC@2mW;(h7vOQFTwQ}~ zAg;F)pDA%`ZD+=P^)?55x#xFnctD=}N^MiUoUOLE+_Q}z;C$x=S0%syKX&cFeM3Ua z^fUo$cO3%m7bOmT!EGq)RBYMU31kAZk8uh3 zkVpsK_Xg&Nh*`}S2^!2@3SkPg0noeX*T+*8f670T%0>N)(^kWi*0qZuM6

#oux4Mq20Slpsjg8_Auh4Z#i}NDWEF7bAn7d{?ws7Z{a3Zg8 z3c;{{F4rbgzU{O_QKHjXy>>j-yz7^T_#vU&twTqe;XJ!nzWVtLV0wcDatyx-Fv9$z zGr?7Yzh%)M&823Rht8vgF_?hhY(q2J^3|@xDim=YSS|zTI2q&=XM$&j1K$R5YeH~!IZB^YJzjkf z*bk%|!Gprqv6M`855fdS*o6&B_b11SkdL3kUNRa(g2cakmH_PlB#+HU!ddT35$JKk zIS4ay^z4!yfX2CZhh!SA47D%LmDgs20}0ZMyL;jMr7W)nxE}!&M5{z&Fq)2_62t}G zwRIeD^fWscE|7O^>-ggQUM1%Molz$WgNPtX z8HRCvu%nS8U0WrIvdQl@H;qh9sqKLJqh=yATD8o2Ez_dm5ph1U(+kKvs(=}$4q38< zapQg)ng|qdq#J)S^xxAs;wvOaO!p)?=gjAXMu1=l#^64H6%UUjNIqiU!&ZvZH8hHY z!&PU&?$Z?80t$DmVM5^#a*oCX-$!yR9yqQ}@VM@@-w&boC~B+K7EE6aNj>zL`wUIr z4adyng80X$^_(-r{0=o%Z58qeYZThw`@b!LPlH@V)5ryQGpg;B+gB(^Ile?9W|-gg@+Y zI*=X}ay$GHR6dBs$D#lL2wxH9fl{77aT9SaD#A~jw(>y3fn|f}Y;|tvGQ_n-Gyu@a zkuW&rwwwmIS{cBt9|!b#GPzk8nl7&Ev`r!LZ%HeT21k49u0fh;6Sw5Z9l}|7@d*6?b@@E9&PK*AU3th z-eS22D-Ls0o+VHTPtpT~oX0-^?-Ip>B+6$adPeM?aN}ahsTB|zQ+Y2gC5V+stIpOA@$slHMxS<> zL=`WALzcXf#JW2_f7mOf+OxG=7G>wBJZ{B1z9$RMm*TP6-P6ZP6KUi<@^{C*9u%a6 zId7NUli|q}xFG3+?4EJ2g0EZMnTgV|X+U}h>zjDH-H7ogDT^jgS-1#F!TmF2%Yjg& zxO$plqrsL#v!Iq^2WAiS*KpTbgR16a9@pz#9_DPRng$2zovw1CR7#XxcLH@pdRgPh3nL&30ZfAp(Lsr=H3E~@t2F9Z%Wxf`JEDZA zqX3f~uilfGzn18K#;4dko-vmaU}F*QZDQ+rqj#d|6+aT;>-yUk`7 z{7>ff{T%xU{10`E@ikb{4FG<`Ooq1%dSR8&^fZdxrH74gzM&JpFZpeYfD9pZ8EBb< z27+4aXfK&3i{7*B(`Hf%_jJjj#QlkWJ zO?P@Om7T~WQD%7TKId_-ANjjrkbGC-aRvNEV-t!@q%?L(LwH2-JmYZ3qYtJtaINU+ z@#2wFQ-SpFr84b3PVZSSK?^dB$y?bYaC*FtHSMUm@vh{a08&GclTy6(fhGh|zcgiCqPgmIZ{hzUk&`)^|+&F0sjYaf{Xrw;z)O`~_iKzVFy4e1H=?ENXVy~t82viXj zm?cEIO(usSz8aWQ!63~i8RoLtbDoyFL7P3_RTIH^zaMnbdnaS@L#dzEsdP?SrH`pF z&sYrmsk8dFcnsU|b$k7XQce1NnlAlFKYT!DN(^oE zqRm78z5TD74WgXqz0B3+6?_2g6>T1(=7D$@RfRgnd4|-nt$vug68W$QiwSZ;^7g~v zC5BwGWrWp<>jMKA$~3C3(D?z?(^VgSxCJJ`F2LCXB)6rTdDvXPqyf4#^u{qNAlTb4dgW2>PW7U$8r^gB*lCX$GdzT zNjPY5TtttzU=^3IBe@O=5ALV^b=bB&#FpsVa`TL<>bSW48C$C-UW!0} zusfZ{Z8Ce>9^_*yWJJXX}Ya( z*{#UUl+|rCH*z+)>R9pL>^N<=1>CRoMBLDU91{}A>b`}@!8_p4f1A^7^ShqN%DMmS zGOxh}Ci)F&On#Iw@717B#G;fSX1e-MC>}FCETt>JftZZs(h=>`kK8 ziIHAasaKBQpiW?~hOO})tRIe%NB$p?fe>*CcjHNDh76@JcAYODw!3BjJuYyRgx$__ zac|JuTU*W4RK8`GibMTJt;ljCwGr!#XrR=j#WpQ2gdJD1KO?IEob5>NGSK zbeeT9ZL|L&bekXh>+Jt#KL>9cq%bUP{*PiQ5Vtzr^9oI*d+<+S4pQ|&{9_rb?Z))1 zs;6t&L^TwuCbG43RGrH_a(a9|no#jH+fuEz6Y05Jv49GmQB{qi1ZQz_VlH#niSgRh z%pOl>0xxH?P;tbbKz;cja870JIT1}lkrYjGWrq|VZtPR-XR`TuZ_;c~N^02Aty5r@ zOe;Hw{v@LF03wk~jVMZoac22sDDB>~U$yn2RcF_Gc|FU^f*5ozW*@?;GM8>mc zW~w$03X-~>PiB&tQu2SX_9k$0UFDrHYzb3s5?~Na*wkUjBtuBZR)GlRRqS`}xkd{y$YsRZtx!2^bQ z@SX(p)yk5#hcAQM9t-=rWR`2;-Xetxc%0W(xoCI?zZ^X9Q&t# zh;a~S?G@}j2dwugvKWPpBi({y3+6jWD+ReBNF^jin~u8go3T`=XfH!Fvof^&7icV5X5bSpjqu=SOJ>(8f7zAW<)y>tHH~xzQN; z<@Imq%2KWo?Le1H%3CPK5G6_fbv>!+8fj`nWT&S75-lN|F_J2lQ8Vfa%LU>6f+=0# z8e|+d!rCX!HSRQ}$d*lQfHc+VaF=xYr@;EBtLIl0rw76ev^%^#(1iD|SIM;G%(M?n2*bFAF_8d56La zTqpThL{g<*0otS)hXcvnfH=HCxg$cJHDu(>o<1?_Oy?$w8~xroL++}{xrrdY@CKvK z^nug2#M0<#cO4du@j7zk8M$p8+?YXPB!;`PZC%MGArjo!zB>M$)&$Z6jTvTejWzKK z$^-_OK#KNTy9R(b)}#bO#`ZG z=i6mMMZ+MAt5~m?j0Nw=&*tw4#_XgOv&Vu5tkqpr>w#b_S-hBqqq{dtxNK{wLLpUi z&o}4YwJS;fy>WwnKLI!MyZ6%N;!gbrx|fDZ?04!*04K;4EX$^`Ovx4zb4L0P!~qc{ zMMp>lf+?%$eYr`hRy&haV5Wz#S%H$*KMtMd?G0OgO0KJA?pDT7SSHPi$)`w4s*zH7b#O_D^(CuTX ziicshB;K2SCOk7+3kQ|PaziNwm8Kl@l`2KYknr?i-?~)2M8+gI4@0rS&W6I_P>B30 z3qeH*!UMB2%(j7 zU0ZV-2Qznqgl_2PFl(d-sY8y^ZU1oO7ZKiYJ%&U=P<`Oi$W4x3Qk)FNTj2e|GmfMw zq`+3ob_Jpe9Ma$?hq0!h0EAdv$gbMbOJ;|^KI=)jiDsLkWuqC$#Y4Aq;;)ZzGFw!SLpx z)iB-$5lulxTd;(9q6Yy2paoFO5i$`hu-xp>s)E%68V~HFctKy`r=*8&FSFussSgRM(`C z4uj{H7k+T^<%_rfL8<&>S3}`)v-DoznzPQW<@1XP`^l4EzG_Dr@NoZC?QUD24-tP1 z>WWip)JGx%duNxWGiMxo&cfKu#|kA<*-orW z%tC39{uGSkSUoaD7@s_OQZM*r!@3ZBQLCNZ<2Z9hTK?k!_eREcGH>hSLjJ{+bF2uv z4e4J8>mExdN94OKe51&3j@&mQq*Mh1OH7?#)({G6aq=(~zw=8*;W8`^sHxhnqF zwbixiBbxR|b*)-m6E5R_tbe1e(`VvaS=fd2_0(k=r~!;y;LoXU(u>hHZ@|x(h|Smc zYx_Qada>TnY>iaIT4kP(d?a)Ea<_i|z3)9=?~1hpKS=Vo5;6DWv4q`fxWQ1fjdQoV zhI0x2FUlIuRL~^WmZ8U|6@*M6@*2<`P#*C(qva7z*rvoF?H;}~hNW)6&jR#eyx3;{ z#&rUYK+#+;`vUtO+L|+&a$HE@$tx(t1vVwn0+{T0m{ zTUTn<=bKH9)h6ilAFxGT?x;xkr6r9;T>*p4-*cm!3jfw-b1r?F{+&+G4PW8?=f=Kj zkA26-O~jz$Naf&2(1yXimB5h}>RbVnVMyrSSR$m~f(#5Lvc|DiAqCBfD}_kAaB+tG z{f&59(3tRV+n zV~^nM%tDiNfLcOLAa0$r@1(9nCQ3a}t%9?I%;vNZ$#4#wE{anta7Tq5g?vDiz5A3pHt-fynK#UFeI zQ9}SOjQH8BVAt8kdUi&3PcE;_$aec;aeXD0&`zwL&=Ro~f(2UBrfvL7T#_j++NU*T zUtT+*;V-{WY0`EAtw2T#piM|`nng(}&0)mEM; zTD7q^y?a`Ldmnh<-oRbwtHYPP?7xS;gycmYL8%{eL?6IN_Nrf>FamPHim%!&3wN-9vEN9Fe=?oO2V>=UG#r{6EZZvd`tyZ+ zB7OSFbP_rgTCgKaRxI3JaUK^Cy~ccimm*yGI3y?&1dw_Gk}afM{3qWs%GVB3B+)0x zWkl+Fe9unhDpel!P(`xz3acKu{YZt$;a9^fA52$d9{a#dks}rUDpffWk&m7}ib%#I zx94-;#D{Vv9pnWVZRny6oaU5h&GL<_Z{M8+CLEgxm*i}5-t+QpM`|N0m%=_ z5IV8z?4sCS0FFX9bG_7=&c3M_ok@GGN-${N#e&h|o3hhJFfZnBsIPECJx%!6yvHvT|kCjCl8q(5zqo*02!|YK>m2{r)qRUJ9PV@BV}36rLARIWN7XR zh?3qW<;6AGUkWGhixmp7`{H@CX7+l3>q>rdQ`zD9vWhVa;)I#Oil=jhT2L`wAn*%R zic@Py#O2EHZDXlXW*0>L?-1kn>qXH^bwn91;R^z_#S=QNo z|DKVNe;e+?Up_sV#@`oj_v|Xe!^nnn=@sm3#OJn4?%924Kdr;>fwrw<6;2cK2#gyb zWn}E(7B=u$5R1TdA&R2_x@X5RT~;Y?6*p{IA}X$gXJZ$V^=ukoH8V+{d%hH#Qq|X#r*EA(nhiVQ zNfymMX-9ZoNMXt3gzAk4BOWjJ%OIW8x4@5o5cI#ou~H5ILGG043?hzAVNQ%ememEE zUu2hBpdfrSUpOAAODgDgnt@Jo&IsHH$SeY-mLv+=w?}{*tpIPbu~^52Dk!=g#9g(2 z*lc>6z1wMN2*DJ>yNdol%*+-0R5|vXfI)kG~pphGOc3dUSCgn3rr;IyPBwRn`(K ziGxLape-lZw9o!5t^fm3)pD-NV-9OWU7wtq%0}W*oaEzsm^l0rMuIje$tIHVf)2-_ z|Ey34Kxb9G)`s}kgYz>T%%Kg)YUFx;?OGK|^B&x`Hz-1ZJ`Uo7(e+Mykm`aU|I%s$ z2HN%&{&edmRW{pAqmMm4?=G&J!Lf`OLlwP5@PP`D1n|-eL_jSFbP;?Sxg26=ahEgp z&HnksgF%fQT<(9<@#}A0#b_4&GM;CaaSo+os*8Or@ldYRt}1&T>O?}n-o$XQhmdfN zx-R)n&%Z)j#)TdWGWiBTBUpwsB?A3GF6Rln7;PwX`G}+;d<(cu zu*2A73$ z@{BP$h)uk+YPkAsdH%*JwRMO z{1)U2^u5A!37ULlgQp?F@YI?53s`Bt;dv6;S!hM!hHRf&DY)FR!y7Uje|y1Lm_2tf zn}s(MAs6NAQM=jtd%&B7CeN4?QD>IxEq1KaB5GWK$V&1wv=&=xwq@sbC1O^t%h;~+ z>r|DQr{L4AHn^^fp*JJr8OS7JbqQM+j?zBp8PV7@s|CfXuUw0Vf5 zh}4lADj6K0#G%+nP;qj{fgB3>dW6%_sLM-rPz0|N(%x6N3WaJ<*R%o;*#d(2TiWZi%(;XvIFnJfSR3OgipmV;NEw_1S6KbC-)R3fCxv5`oDNOGOcSukF( z77TS5CDrYeUEWW6U9!`y-hF3WK2U-@lcb2=)Z9ENYhN&ZT8_5KT$Biff7urz-iK}A z?oxBoejpJkligC}voA*yy@dix7c?RXqLhxdvDT6s>8qoOglMmG1_W+JPlFY} z3+Qcb)G-ilwU}N*dsab*g#8}t9@?v6xY01=CH6DXbXw(q(e!85)?Qo9YFf5>nF55z zb(Cj~tJ2YQF#FSVRdr7`oJHG)d?jHc$H{*d?nVYW@@6PCf-3mqDQ(|Flk$(tlMnsu z2=FXi7uo6uU-$ZtyH#ZtvwGlB1zhFrD+2CdXQzq)PKfE)R2LLOFH#q*pEwJ5tPah;Nrlw$Ep_HztWJ#Z z&3cHA>|EuU!(+A!8c%RsH}50W2PbMQ;2pb(I&U_K9AK1Ya`X7Ul)6dyMiSJU)QwKv zWLoj`oi&cNqX%-FGcCO2t+5o9_hYiF`9LZIbwe48279VE*)ZBJ6 z(fS_JHsXP~9tx)k`6@v-&uwp@ts?l!IQM|y2wf4=t^ud@TB}DaHz=9Ga#slvjuLEh zp1Wmm+p#k|_EEQ08T>Z3*h}QMaeQsha97|0h68m6CVw65lulDOKvM<29(FO|%W%^; z!ko!PNJ54%`sFrRXtHt05E>&f5yaUV0iDbwXWvK^R$1r`yWGP8e)ZysMdhCJDtsh( zeSP*KOyqYn zq|@Ln>{#gg^yI|wsDPlXzlV@XoDe+>-UD0^RttCvuBRy9sNGhp-S#qi`furJY4Se( z?Zr$E$ne08&;45^LrlU&ddes;%7#aK@H>`?lm`uN;(@=uQm>s@%zGE!uL8y%#OZkj9B?nc>$2X}XR@2XqL?HMAk14cHL^Vd2p50 z3h54X2ld~8J&^F@lVtP9$`V>b1aWh26`N7a85#(hM0*nqH{nPj;FbM5WHJJ5KY1U> zXct_(M8^RHML+PE03c=?e;6;)>yj^Q5IbKibkb5aAk)Gnm|fv2bVbcioSDe0%H^qB zH0_qD+Wv#u+?;lBKj#7dlHX6f={)v}eybf;d}!#(D#;#D4wDct9?CO>if@u1KT zbFnhHHiS@b(xm*tiiIwsv4o&tB2AbgC?m_{1B#_fQw@g>b|Z8ufXn<$Tgj=Mo_dIEW0xLhFQ3)uSzI>STo6>y&zhCYG25LgNjmk8$s0f#yWEu`zO zud~(l7FEUT67sT;T_|G<_Y8*Ri4;{FcY7FOhM+g9kea|+oldidAFh{yoTOn1^dDs{ zGVc+3jaCI%tO#kN?^dCt0aws6Vht!iyr?t6{Y=Jc<=vuMC{%qE2b(*#7&QZ`j@QOG z6J=B->eg!;YXVvd!pZ3p^_lXMJIO~Ek#7LAg74)F1JB0QA_#22Nky#mU*lesmZx6P-7K! zjCmjzfO?ZQ(Ff!MMd$?-_zzyygu0Jw0UW0S`wYzBbRJivmgIw&=5<}ofQ#g{TD*8( z=i6xS+d#Riga`l+9^%e&q?_bnGXRF=y#u$(bwLzBqsu2y3JFFFnnC1`*cUj3L4MW_ zU*&w7n{GqEcmaTdO4^G9ktc_mj_&zlyw>f>3a<72iC_US=LaK8XYlqHnDM!x4k*pv#xm5R*Db+QR!J|bj%0rLfO25s90GXIetgn&EgTi6XS_n3JZ zT*0Ok(26qQ4uvub>_RAJ{+F6q=b#=~?rJ2wQ1W@EC3qt)^$bDay? zi>#`KGlxU*a0+UML@FHjz&Uyz&VbD|Jg&Lpfl?xna8fp^(f--tF;W)&3yb!uqP;u> zCB>rviK~3^-fr$+YtZ=ii+1$bSob#2;2U^wM&%`Svpe2BuAdaRJWgn+fsqNFBv5Rj znIeW5lpYo*ovA_!H~6WP+f*OM%IO`1kNHAQ=fiOiLvxV7sHv^Nse*^Tg}pCx`K>(k z4Qs^=dP;SXw=%Db6kxQ#cB~7jBQ+{>b(_lCycy)bu}xK+wva8H;%a&BP}2UuE+Fa1 zIovJ@F%hr>ICJ+gbS+o+e&ai9YXlMYJex$&UaC!&q&IICLct6$`lu3K<+HVpk( zlXe-~_(hu|viW?~mk zul@~61A_(^VJ9LU#K14+u@EKQX^R95M5rP_5XfC3JOIJKUH7Me%ls*~{;vxqS?4D& zcx01dopEkF5_JJoai*iM6ny)dlH zF8EMh*G-2FUD~-*$KSnkZNs`o`&GByv|nwu%^dOZJO1vSr%9JpK97Cp#`uA$CDEc$ zfn~S;)>F4Vv$({cS<1I|(f7m~`7@^r*O|CSrBNTbO{yUH8X`%h0d;Hgur_%(E}rW@ zb^7Ep3;daBdmW9sV?TfXf%}(Bz43`H!6h;%QY%F9`1Yjv$x***%NC>1AKv* z_|0IR*07O{`ys;ezC3_YNyEc#f!k;fAd>c0)9t1fkXl|2ZUv-~e&JF;@$ca5>*ypA zY*;`c70P7^bQC6gaT(-B=$#;_%$V^XYDNjNPNhMku{3L|AmWL-HL zRHM$4#TAzx^#+sKNd#|~!=FR`MDxAOY_lVKipOOKV$07Ki>LEe8!9ueTh(lGW%tTV zeecAK)8+G8lfgswxb0lrn!Lkhi}}xaoJsjr@uU(uuO#Hjw|SLl{*ou^_0JviR$Wqr zW(V~253t5XE-AvSBnwv)_$wv`{1|L38IJ;_ym}A>He*?_EM?3RR8jP>1l4+FwvJG8 z(o*09`cK}c*eDYFn&p(`qc(QM!p>MNcbM5h#?Dx*cQDT(@B2RTzEfr<9XfQ#e&{-$ zZ#i`6=iYbdeXP#dy;e4T)@ptkyB7ev5%a7Wj(DFb-$O5E*u5vqCm%d@*C}>)|3`P7 zLO9{C-d!n|fBBQ;PyP}9&zDb@FWgmW@qPF`_Iv2pF024k38!U&@cd;kZE!Pz9IDcM z6X-I2g$4q>;{owJ?G!G9h0$Iihc6BwpexlD=DBW-|6{*x+h1Xgu@sj;bJ-;bh|_ORB<|$oyw-BJ8IP`S!_0M z)-9QBW=jET8RQJ`0%`KhE!nsna61sjj~@UOy907OJ5f8GtHRh9ujU?mb$)Vrc{2ZM zYypz-{*rwh;t1g*O~L;Xo;YCy?tqa)Ml#Y1au)#=zTOxCQjw5ykz7t?j1T^BW|LPf z#B}0n(d~~#TPwt zlxgO@Q*(QmdHH2~a)n!p@A;*&6-ZJMH}hroYs@@X$;<}4KJzalHCLE9Z5CHB{@;%t z6?!P-!fb;&QIs2a@&>l4jhqW0Kft12W2I3^Vl3$G#?}7%OnLXQW4mdZd4|?k-AyTJ zAvjFH4G>SgYE?$U?ONo4ryhvZLbv?Q;@$ibJoPv9Yj7cv6LHRv-0tOiV-vUQ5(f|G zDrCnTbzvK`rXfW*F*HiZ*J_RUO~LaDrZdB=#!QzKf@yO=*%9-ap(`hu zmh$GRbc%CL5}DB;Sdjr_0Z$}*$wKgh?J2vovXs3co)MXkXngV99ep!$k-lz(yiQR` zGw^;|#$qa9%!RI5_kBg=47qNR`%6KHb`^X8*)t72CA{e2^I?aw4f6!md}t~P8TOt2 z5QN*&H(ta#{;gEoQ*+FIOq$tUt5fWww)HyWra$@^UF@c-s(5-Q-Q&>P48L?!7xP1Q zvN>Ao!jiB68!6P_WgBTQ$-NQczWNegi!44>wpvA2QV~V5Dpa^Fq0PiUf_8)t%~haJ zBM6)XG6AK3(^s^f&}PtCT2EojqlPiwXF37zGT52Juq6}m)HP8#6|INg^iA8|P;sW> zP{J>A?+}gRhczY8!)J769Zf8U(xt?$?}g5aEhnn|?v^fDD~WWvTFzvk6b9@Ho4O|$ z`;)X*%4DMHyV8~t>m-&_Ghyvk>TtrJIK5*p?e@xhXJ!tD@i=v^X@#SD>?io!V(PB6 z6=nf`&h!vxMEV)>?;^{6p8In^_iaN~1q&WS2c9s-pt68|!Lf&&h$!XzLKwz%%?#6k z3_UY`NV9>6al(Mb6OSvYLU}2pNv#eK%Ue zQM|zqkk~F;U}mF`F>>cqCCW@q84utU)$7_58La7eeCh6ad1VD6oyOKz+sUL4pHAf+ zzLSsaX^)p(8ZR5^3xEU%bQ<`Kz`48u>pN9IXwSR~*&bG`ozCQuie&RqHQlaWQ8$@% zS|j0y4<3BDc6ZZl4u?c_h;R~p`O2U#;8(z|V2J=2Z);yZJe8iRaW|Xk%vVNxq><+h z0K4&BhTXNbTVwT5zeeiWxnHBzdA9a$w9+^4+(k~4g^rD6ZmgTqh%XjSF0K*-m}d}D zKZ*Vz)Z_w2rY50C9XLcmT?;=jtLK$kz21aYY_ms}a0OE%h%KL;ZFe1GE?IQWa(?qk z>}mxo=P+dR3SS;JfI^4OLxFsIy{|R&YCy;U+iQWSq3CAjnEu2YLR*pVHZOAW|PN}OqK*#a&bQXKGD>hC5OGYJh|GC<4OqkgDb?S+$JC9DP90RXHz z?Ca#iMMF<(UC>g}Wh1&F2iP)hF(Z2!@}$>utk++?sF5G0tX=G{vJT8(RjBVF0*U-< zkWX}A; zLJ26I8V%b2c3L^O6A~b5>hyXY_Vz!#GQW5QU!zZhYanfwG9V9B3%@qL+&a6Q6GjQYzg*|-r!??m8xL*(g%DM6UU4fn*jzEf(mm6oXl!= zSY(eRS)x8G@U)y&>Pzy3llefz=XWEmht*_k=#w-@gLZWS_HT>-lTPH}L0wmV&3Il39F;536Hx|ca5v%`+n1tn<6>a^Hg7E0U! zkT15Z=GC0pr+5Ko1>jMOPb zpu-|rosLozN`6C*hIbdv5Ctcii2~)pNmpoiN-73dm1xiqTS<=Ylo)w|{W2o1EcrCR z&E1v$pYngjn#Yp=rMacsYqP1vr8}o*p%J@(Vc~vFzWx09+X041&*xsbaQ_oW)*e27 z?9qn?bpvVxdhQ91(W^7~n7)NV4PIWf2gNT!%?1Q$X#wtP5Qhp2WURw-xI$PJuAt?t zBEQ8Fys^8O4!Z%r=2w!{(bx6CB`(~+*5EhjcF8UeGL7UT(-WbTFH{}AyvD!7HAFl3 z+FnB|=Xpj1yKtJX@LwdqBIHhd#s?HG^H^f#OiBs+T#k;z z<+0nH*yDb$Ga7N)@BxIcRHhuwAdio~KAnqw`yQVfOUpsF=5_^rL9fr<0X~#w3&A@+ z7V;^!DYNWycHBNMzID03puQP!Yq4|Z0$#tfO?)PFpgOJbK)XP8PsHzy7&FuYvald> z+*0R#k{8Iku1!O`mq(7>dHjiEcTDbm<-Ym5U@$an^xuJO7l0=NAH@bYo0G(Z-mnwj~;%qR47l59r8_F3fKH-=hR57t~8m9XGk6^85YXa_KGLG25Qv58` z?JjpvPQY9*2i>koheMH6WSk}_;gPnvF|UNEf*6%Bu}k2eD-sZ74IMg{nrWAyQCOY4 zRkW4RWO8vwi?LKQBQDMVFxK2KZ)^YRpsmbGZM7JY)zKULoxHJHcFIE7O8xR2DRxycLG83h@JApQ$})3mQTV;+ezI zoHl(T%WYYPhpXrdmElBh5a$g-M9yElAB6j^_W~8;KCR8GZAv2kjPJr(XqLy@iViz+7@AFtNrQ zP#avLk5Fbd3KDMuL=tMmv14m%$Bv=!VSB-Uh;hS+(Qs|(->spX@fAf~!fbSD{h(8@ zyW+92(E)BI_fH;{sgE&Wg%N`>7=g7l06C%V;XISS-}p!mS1s?JKI8ge>$5(*pRiNJ zY>uuJfg8pbybcy7*8A{2k~WQcsaGR+8zx-rZGrBy6caI0F} zK{;SXk7+<#DdcI z5;KifhAAEC4`rO>d&{8aF#8Or4C5)NdvCm8PL9B8xA6mBkD(AG@@%ukx}A~%mM z*}916&`@kH6FJfOQPdq9UB08n*2hShd^L=pP+LkhPOR}UHcqci%^fM5B6|3|>8IJ| zf@uioblWrt;-uSL>`1vbeg^O%*ivM>wW&01V^c}PIU=uou?`G+$WO^FWe!fw@c|f; z%S|WZCUE(n|HJP8bTgn`zhhgreGD;=%(|7YuHkL3agX7iciCFq$153};u~X|8|6a|quli(I@s8av{^>z(&k!TtT%(x{swA8 zD5!8b1brIzht7W5{nVfF(|>bi-BE5}bFYS+!Fb2UXd%xCKAA~aSmSRDmIr-n{B*Q;y89JOFtzHu60`qrgJ3YW3xdA2Dp<=C6De2o?k?8 zE8A}fh!tZLj5wK_l*jim6txgJsGZ^wQ8w>|E-iJ={vH}B9pxHa4>84~C(vk{1w9{f zLEAKZ$Q6yZ-r$fn^h=X7uhodgdvAW4s*U{2A&HH<0beVBl2=H z2n#ZXr0>7KJ8l$*16}%o2ROae^=xGMFKjANf-PmBb=$u95z9FM0k^4X#Qc6vR4T@6 z`#zBIOj0-Z;hhgWkcQvdco*Jz|NZz7b4}|?*d<=H58D?%(ue!Et7)VQi+ZIu>w}HD zAZ_jgB~iwZZ|cNVK4ky8K9G5FOYtLp_`&~`KG0&?+=u>`dG|N<;dQ*ee^noB(D-dF zexwimf7q_3k%>r%N+F#CW0mkRMEn88Tvy0fA9g8@;7UHbVMIF8c85@kt%o>n0C*ef z&2Tu0^!Mj4iFBmjXU$9}eA=D5+^gP%V^!@2Z(K#GuS z)AC!@{rgoszASs4wi02P<8+a9a_oe^g>b9zZzrSNMw2%kB$9N zx;5JWHe7q<6K79oUfFF9OeY>sRR_@yX5GRKe=hCm9TEoVKiH7wRGa;NBX0yYMy!0NwJ79+qE2d_Zki}xRIUT=1 zXiEX7(_NlO*=<7Q!s*BJSVK55OMvEsJ%m*I{KW#9N+?J!11z+frBEjL<;HwNh7FJK znYqaZh$^aja53z%@#n0Dz>y93ekI^1V~n;m=G^JMXj1+R1w_rg~+ z#Z*0*(v%$&9J^X{V0qO=FdV-}R!!)VMsQmR-3x+a*@^Sql zC5=UL7(CNPBR7A533GlL2m4wZsjg@r2|nhltckrmfxV1w!|ILkCM-8f>yB+hun#o& z3Y;w9iUZF%II%zt$K!s&h-5_qykD>|B^@tlm2@~9P&1)oC{tkeJAH9`ba&*R&T65e zz^7;MqxQU3LnwOOwX9sO`pWt z;&cXvTZM=T?K=3r!t%W&e1mCM;v3@^6b4_?*ODC@a;brNpm!^b|7*)oH*?_gEmoN;wDftDn+$ZWuR_$3IAbIrV9*mhDzq~o?UReW5KB19(6M0;`I0s z5^3?8&Az~5)C;O(HY3Q_ZudK7KTPf3fV*gQd#rZ5l#NO=>3quLo|+0F+tq7#?FpKh zEpA^ZREo|fv)DY*SJW0FE?CMXhhrW|5$Ci@an5(l;gO?}g+)cOMM8yaAa$fTIm1{v z=(lDqq6~`zm_SpGvv$o?MN-g%pTPncx?a!Www|t z77Hl9(~9HUkcG%zN!S~kaRRWz$%(chBXqSnbmjcRnewh<$97>+02bEBkgzd%&^P73 z_x1Psr+f!>JvZ5bg#85ss)sWil3e8J~4K(2d{ei$yPoVVwoLEfw(-J*pQ8&m2(AvOQ@-qn+Q9ZRB-=mX9vvU<`$4PR~P53nM|7z~6+1V5o(I=Z;RL+=pe;p2rWyyWecpzNS`ixa1&;LAuLpGz1aeN0JKhs_4i)Py_$H;wir5eoeaQV1l%;a)geN<@PB@4wm{4Od6s)CJayMFFuJQuFh#l{K3L#?xY{x;Lt8O>7!(AfSZf z*??PKH!%817M2mcY*@Ci7Blc)#4f4;X^(!%y#;z4ID6BUHE7Id3;W8}b?D}`ZWYN- zGjp!by5{d9U@t&>b+Wtj_h|9|{Oxl8M@;VDU|C#JEhdvi+yU(x_puS!n@&&&s@-J6 z(jm6J0cSgKy$I@yNEP@9aZpwSnN-+sZulNIyV6$@>|^ga|CqPn$#^^`?L7PXkDgj9 zUG>fT>D&JKFWvK)*PF%#ek7WN|Ms;vy#};ItYgYaATn|gRT_$B;OuM|MdW0`lr(7@ zGro2E?cPSe-2&wOsNPR&^+4~2Wwx=G5@aa=GMV8|LcvU9RxLG{s~74Y9`PG_mr;kP zZ{v$2E+RL^>g!+Yk)UVn#Z~knN*>IF9mA)DL;^8WVz<#As293`DN>XU2P>KsPAdQA zVzo)&M3YT{P}C$xo1^m}`zT-VnSVTxY5i0OT-zW_($2pZgS?riafg1oQ zPt{^nD?#rChJb)`^JNB^37)Kay7{n0gyDI9qhFQ^&g1BJTqXGn*0nYqj=?U*##B^_VuzjC& zX#XLp_V^d&nbQ8!j9lO>=tgF0YX8(!1}7*XLT=9F^)X*G>MI?N`P>jPYr8osTig9> zQ~Nb-{}efO;=tuJ`L}W45Qa^XM+KQ0`^{-HL>M~I>+lYqR}uL`aVm>TVd#wpDq5UB zaH0G2ATrF=z{%fo_bs8XnJ?VpRSLz~+2gabUmJouNZG}};rEqlj{JesrHPqZMJvuS z^EcV-EwlLRKRv{DxVkr;1dl{}`i0*%GqlSFyWAvD8Yr)*fkiRU5u-5((IOx%&VPvb zJ~)!@XK<2)*v?(|7Rr|4axivzi<+cx=vfYtk>cTF69^mo8h7D~#3F}YBYFMgcKEYq zdCb?ZLydf5h_HzW-#d;>%#?)#qAgomS0iRl1Kcbx*01iYXmY&p0x>U$fhAu_LWJ56 z{OQ|G=V-O)Z5wz@LTSjAb=aT#SUHy`{LwVTNz4M25<(-!JrhaV)c19Lu|%+`#1lwF z_ej2Erm>asW+mf~C8Ca~3sRdaYIWN@31}fc!V%0_H4!c4ezlY=G}*nyW+C}IYCIbJ zPr+!MwXklmda7dSC>g~c^?5y+2|J?xCNeg+#qNvxl}y_~80Xon3bmKRZSy13_AT&3cI+#7%r&5}0E?^wN|)kT!qA>V8(A*FzwHO}AD7-^mpv!Howr+l z|A7Y(isZeUdEGyBdHd~sPS-JbnsGXhefl(bp*Z;il)y0P0Z9^uLHEfb?ry=BlhhpR zq)(nopTghC^vQP;3)Jt*-q*d(D^tF^2Onh3*YR(~HC@3Eg+Kl2FapUjKhV{^@cY1< z{{;B1eV_=K8=$rmEDN>(ev#h1&SM&u>iF2tLEOvmKc{U2y&b4-~A=rUI&BH5USL50n$O-%C7TQPe<6qA$%>dRa{dPA8V=0_#K! zmqz>SWX1?CLWN}_;k)gm!y1Z25%~r zfcLfplj$PD6>2YNsf`dQ9?&z{McqJFSv^c*6R1osJ3)<>{bODQoSbB(}rfz%x z!FKz(uT*WVRpu9N#^!F?Q>SGFXK7drtP@}_18_$R$ zK%zhXOpf_;e3XRi`&^kwjXcK(vkbgC`bFB3N;%+=Ak0Nmiq#GeeNY7icYrv+iQjIW z*blUR4}yTpO2BTJO&~)CbUL0$ti+J|JrGG*Y{(`roAJ)>msP)9B00uxk!&T|ugVDo z0ED6ujF!vc^t%-}q5Ir^yM!2Jx8LcCM4=`jKDG;Nrr!aFHN?Iev&DdF0&$XoO~&cP zAFSKwEWg2&GvpaF%rlIZA9q_|E$FeEeXx7@p`oL?L@ce)LCoWPdWm|7@aX9^9@@OE zhN9AZWM$=%Ha#_m0HizWE!e7lG4ANMhj^sMI{G|2kCUg!XpGd#cap@b}btud|d0Nu34NhK)i?^)f=yu32XkTx83?9p^*XE#o1h{$W@k70S4Ej!=zdN8rm5aZUXF9jk&)fboopk9;9trydgfK!5g z6j*zq=vuD_<&jx(1|sS9tdgFnB6`N>3VQ>-o780GUGzBMMr97 zK%UmU2Mj+Mj!j*Ki3LA`RtqPE{zgwD1A(xubWw)|vNB;$5D&M-F+x~Mu{&|}2jR7V z48d#LRn~>K^5&{wiGZNoGtO=idpyhl%6DaH1P4yXE`r=Yuh@thpuPs=B?*rX>1&OC z=$!>p94ep(2m=(Bz3SDWFA#6cUfuu%9gpf)9PlQO;7r5{;%HmML05Rx2`SJBH-qfz zI4p5ob}RE0{GBM{=hnB=^T~INyza*6+sZ>*z7Q8-nDsM)Fk>W)a{)Fi$R8y=danzcFw=wWjoe97QxQC#J6vg34r9l1^nSuUJzKe_a(09ACk-+! z5h@upjW_rmk;pnJu8n;FmD)APGgT#!uD~=F;B50%VaGP)M3L{Cd;XK0s3O$_=^Fir zx}lKHW`Av?=k)xyHk;{G*LoWOmTI>R8cg#|$b-{}I)d$qb1{VRJMfXu4PFhBjx8AU ztb`!|vkYuB_HV5L_jPx`I^}gJ4llA1(ZBxlLNECzLQC2IUiNzS1ru^jvX0B+akZ~< zj9QtVueL@tlxr6*^shrtMsq{5Oc&?(?||;cA<684tsZ%*p@|ZiJV=j+wTIC+#1t_8 z+jao78p~A8sm6sEB_Wwn&eepRm1e5iGg4NDYgEMT*4zQhGzJR?tBL=cwgg?*uV?$$ zvYtpJ77qV2x)qB=SQoRWMxdmNs2bfEakt&B_6GSnDY)C?+-L)q=0cV3!S(!EjQ zeI0%1(me4V^^p0%>3NPmL)79lf9G*qtpOMF&u0Iucj3ZC(kpXe7tcNN85`?ZclgQO z)~Ltjsa~KtWBiHeGon#|Hz7#9uGk7wrke-n&ZBAL5b8d=TnUc66x`+q7#v_~RU_WJ&NGIP`= zhcldsQtcl1Sq-U&wa6n{g!4V3UW$ViSVF|}Z>_ivKt}MS^k?HuKtSy0(sTX)iJIkf zi)Df_sql|4|6X%qdICh(RbBis?Hv}qZbwAa?R6IczRWNABpPARcyVr0j$`scrZWZ1 zuZjmT!Sr9i8dhkjwHu?e$v6%ww;^}+vzqE0Ia_$j zKnSU%cSTZ)u~kB&Jvz%>z)}D`c@#@^Y_4Tgj~~P(4c8M^gP3tx>p(+B`z<(J%GqHW zZG|xc#{ca`LbRlLli|?Y(xLX?vE8U}zG!5vZ`~y{=HPY)X9tb**ly9sSMVWXuW`%a z=KWTpwF}N*ytL0;zYb@~O{3Mq?hri3usq7TxM^+}+D5t9p_43(mx?w5#Sq?Bz1~>a zqODMW8nIY(){6!}tKf!0*mqc8|KDF~E>V^m?w`t|>72d>pQ#5LB-`N#jcP#X%XxpRIs;QNgDKtfQfQrT(FrqBU9gKHm@Q#JzoQGXa?@+H7F0OYimTo`5K4pOnd|BGAQP( zfewIKr~#`LyfF+B@qJ;p92`Y%uJEfeO} zp~erJCmwG;R^o4#9;15bj5O*YswbS=$ z=N?|z&8RJB!w$OrekBlSx?%AR1p0q3 zHX%<1l~N-Sm8XeYqDvHi9S^)Bf<`nA`%rIJ3?6U|Q`2+{-lJiFb~ba}I&T?yelN%a z#x)I>0IWFj>Bp`lvVf!4U`Yo`P7OrS{{d8NAe>gjU0073(p671IU6o;NS5{a5J`lJh{u}{^Ty2tzgZD&}wdomP!+78S z^||}!N^|q`Z^Qp(SLkga*I^g__zNo*u5l)|v1<33j^G62*~>YqCFub`n9vbS4^MeO zs66}^K@8|bjakI@fkG3a9~51JE`VNZ<;8N)SI+ulzCbnC%uQD518*hck9z}?_@LT5 zLGx2e-#&A4qI!ZRCfg3i<9VmU3C)2&+?aOE%s8f#+kA%n2ypZ*?Dl=6)9GT8ps*$S z{sQ|S&=0$yWhlZnSqBy4fLQfL&D_9ZuhTnl`}WGHVoV)oc!O&LI4Kye0kC*vazhxh zVrS-sNsIep{fwUNEpD-CPfxw2)09h5%YL&(EtA%t@|v6p^@b^1K5a!ddaKhKx0Xff zx54^f2X%9TD#g)O6SL%C`hpEff{cQLprOLtR1X($AXQ|MG8%{P4R-BYsjOs8N3!DI z8`*s6-+!=Bdt*|ISZ!0853){w?RoorI+C&>VOUa5*^ZWX+fVoZ%CWon+0(ZCVlp!W zjSSJNVO&9lI6LgXVG7+b{6YAka_t-eiV^p@(AaD=9C2Q+c$^U6F3C&RmgLQL!VxF< zHu9+;sS0v?XmlQ;J!k=8U%R1C<&oB;-G>f?6KSyakSf5HiF3Ff%uz$wG$6%l1T2O> z<)U%|iW9JpS2-@*)vMnf$w~N0iWTp7xf_H@>ygZ*_a8Nfr39S*V9O6D5uWI${U$Lt~5iJ6kKrjtAe2EavWZt$)i+@HGW3rFBer_~2MT zPDn6@a7I|}D&zn}chzb!_!xFNtro2|)@s*kZLJML#(5U%>wjl|!G0dScB2gPG9kGa zyaSYa(BXx_fi=_;_X8T9e1CCaNz;~|`LTLct6$*H{ofEDVbufbynCUpRqH>+KkC0< ze8WF_2Ym~Dx6yXW4@em&cy_?Blmq-fV*dNrI`3x5cdxv;Rb|!Q+wT*+mC(shoMr)i zg_obqF(%=qgsdMTGgATb5Z3&X4M&}UF76eq79t@JJ8XqCW2g0+3ec+IFo_(hy923N46g? zJdH^aFP5Qy9kCRdR@XjP$=;gq1B*G*XhZ`3;J$~$VARSG0Y#fceqJ}$Mizva zYzUnGz~xJCACe_6lIRMoZsbS!qJAPH)o$%qxJC05gxKrytUsO`Ig#1>Nx>hCrH(8Y z%#X;IF46u*pGnuj@teqUN(^NXd^65^=NmfCH)vfA8CIZITW4$i9*jOhKBRlx+*^G_ zIIxiLK)$e41Y6@csLlJ|P*@I@sh|#`VVh8Vb_yvf4OLTFKVV-Oltn}q90+xIysSl_ znPzH)X_~2>8x;6z<0E{*YkdageVCB$G*%4+m5c^;q{{j(bUQJl-U;To49UgM9GB~|D@r;F@@>m~1)Ej+F z)(09tS}QMF4@T7B?6#?AES2+?+De?;qqT)h&U}6HHM52_L%LGaikXm)DKK%{;ry!u zvDkq*|E^vB-`YBozir#Q*QTxHaw|`79z!}C{)K&mJ&Rh>IO`~P$u#H{~L{GK3_MVdc)busbpE*cd&daW?{jn{^9adLH5Zb@3cvh?U`rj`Rfk9 z?L9X9`44>RQ=j^%^s}t^hRCI(zkc}*=PZ`R4?pzKhZp&=j?)~xDcQbAi#>xg?G2{4 znVvIkn0}LM1;)(GAm$K7b&VGnxyKVi;y@GM*STa%e(%Nwq!uCux1a|?zyP}QHBdMF zYwH0zIquP&>q)*|sJAH9w?3I4aJb!$gY;CNK&XM@Fc8eUp$-`ch_Fh?>gx4#Hm1D zsx{6(H9k0PwkAA|hxHn^e7Zpm7quJTp`1AXRD6KftH&+Y)2B~Atjli{8%)?GG1A^b zyFf$*0z3K6kb5F2Z3%k82JfRK2<>ujbs?E3rHl6#0pp!?UhP1bnVdOtaP?M%ZxnX@ zc?i&pj?ka)DwNvUY%81X`4ax9OPe$mU#+s?HR0GMYN#PVv=$OI}f6qKe=y|-;$%khM!b%+!{hd)f+v5j|D$uCKj#Yu zy?6iC-QHl(_XWFDJXW&-;MK;TrjH?E!KFmP7EQ*i$)q)!R>8=NGo9qf0QeKi6$)L0 z$hZj&59O3cVoAwohLcla5$zzNQO5qlyCp8-nu6X9k7vVE#KW_JBpwBGz@{KNFUy!K z;Pl$iBH%&VvRT#{T*j|{7)eBBThQ&axq_0%?~*);h&k*_ls}gpmH)~2kTP^|--X7G zjcIIYH%`VI*{r-ngW{Xo4KS8V*>CLBq=(0wjwHhy#vCFr0-QMKU@a)!y|%F{2TC2IDpT_g^>mBmJa)ZU24$b2L(S7 zE+BIVamDz6^2x%Lg05p7I#-1|#(lE%y@Qf`U;o<0cs||{A9v_we?$L{2n4?aPaTcI z;t(s>Y|7AO1?B5hR7<=DXi>CUjfVL7`5m4co}(RsazfXlKcFUn0%Y`Ufn9;OLUUh% zwX=g4%yfnSWV09a{}_(ZHCQ6e^q7nvM(DSh+mitHZB`l}6_pG?o8d;enU{Z0#Otp% zmLhQTMwp{nL1aQ2xYDJ61K)u@5f9iz z)Gc`hG%7+NKw!Ybm%_80K=Q#llaNq{BcsIAI4r{F2~>gZN-;2fDB%O8*GCz2B|f*D z3Y+^i0eQ9gEK$Ige1(c=%kY^dLM_npLDN4o5@g;(Qh!QlVJT zveaZqs2BFyXXcCMP!zA+)xlLC(!Yz-G@>h5!@3+w>tG4Jy2W&wytW&2LXuvX6N?$t zw@eHN9isSb36c+F7+qCInthI(0xVhbS%t78bo+UGxQ-)2ZovEiiiedCe;1F_>Giyv zKf93VxK`n6v`S4Ee)?VD6PV*gja+Y*N}cLzwQtV)gGCL9%(xSf&2A)EqZbaZ`yG?V zVtG1~^RZ)h!hV55STOCF-0ios(v0xm>HiR+#uwJ@{@s&~bTD2*zcG*K_cz#kz+GX- z+VTZNzyb^$3ltCwB=7j~zfv=kU~M5)sijQxTu~v;5r#O9J?bW6oGWE^3mnwgjM-{| zC+GA`BpkC^*c^g=myU(1cfWS2vOjP3!z6KX@t!5dnvKa+B-`8*33%kmeBBrJugt>a zXno4+V9wf1BvhMq;@+pM7IWm>V~-pQMFM+nyK6#g2H3wb&!1gfeo%clu(BM^uB2u6 z#lWt@+(WlVe0rb$9DDjhkWaAaOHc<;`w`t_2&c^S+~lK=o=K(7Jo@OQ8KVZT#qM*H z{5?LMd_>pIa2*(5=TE~M!pL=DVmZMOQDRU`rQzIWAuTN)bv$f%!0-%h3R0}Lz`Y{? zFm}i4YI7YwefT^PscI7s-{z77!d1yH6~>yj5qFQtVc1_Pw-XcZJE#{KP{%3;)k3Yv zOeyM?sP0~W9rTY~?5~3cvWuvs{~tP?)h^ZF1i%rhCry}u9V2f)q}4#+9}xe5C#&}x zaSZLzep5#geJNKcoDSOn!$6`k4hhsK9tgK9v{=*VHr6nfaS}~(7q>IAJL2M*ZGlVG`3kRxk=(w)p^t*Q9c~k-=-YWsLboqkPYF)jG zvkRWd!kL3(;oguM4TA)j5T)9Nc|qYZ8)D$&+~|1rT${qgweH;j&??R$mG$^@%pG= z{9g2n?lh{zZEK=Nx~VRK?bep=9!42n+9LAf*Ttx^fbTrhUD}ymtM#p@W&povbytC0Cn(UU|q01MV!~W3ujxpEo!T62d zrLPkGMzKKjdujL?9}D77p&58d9Q}(h?>FJo^>GA^zk>QI9JL=OmL0M(xGrKmj9

sI8*jO$Q`uC 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
92hx+iGRisP~?k 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%0D?jCv+4X?4%MwSw6i7fz| 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⩔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
  • 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 V1lyp_Rzbp^Bq<&)(0}{e{{tt+BMbll diff --git a/custom_components/opendisplay/imagegen/assets/materialdesignicons-webfont_meta.json b/custom_components/opendisplay/imagegen/assets/materialdesignicons-webfont_meta.json deleted file mode 100644 index b1f4390..0000000 --- a/custom_components/opendisplay/imagegen/assets/materialdesignicons-webfont_meta.json +++ /dev/null @@ -1,118127 +0,0 @@ -[ - { - "id": "CBFA6722-0EE6-49B4-B5C2-0B177A5523C2", - "baseIconId": "CBFA6722-0EE6-49B4-B5C2-0B177A5523C2", - "name": "ab-testing", - "codepoint": "F01C9", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Richins" - }, - { - "id": "5B09B959-4A49-4674-9035-6CFD3D157C3F", - "baseIconId": "5B09B959-4A49-4674-9035-6CFD3D157C3F", - "name": "abacus", - "codepoint": "F16E0", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E20665F3-5354-46C2-9162-4202B20DCA05", - "baseIconId": "E20665F3-5354-46C2-9162-4202B20DCA05", - "name": "abjad-arabic", - "codepoint": "F1328", - "aliases": [ - "writing-system-arabic" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "FC508376-0233-498A-ABF8-B289241031FF", - "baseIconId": "FC508376-0233-498A-ABF8-B289241031FF", - "name": "abjad-hebrew", - "codepoint": "F1329", - "aliases": [ - "writing-system-hebrew" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "E211A028-22EA-4A78-9306-FC8FF8494D02", - "baseIconId": "E211A028-22EA-4A78-9306-FC8FF8494D02", - "name": "abugida-devanagari", - "codepoint": "F132A", - "aliases": [ - "writing-system-devanagari" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "F782C16A-0558-4347-AB62-3E4A8DD299AD", - "baseIconId": "F782C16A-0558-4347-AB62-3E4A8DD299AD", - "name": "abugida-thai", - "codepoint": "F132B", - "aliases": [ - "writing-system-thai" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point", - "codepoint": "F0003", - "aliases": [ - "wireless" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "45F0D360-E817-4152-A66E-EF019E10ED47", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point-check", - "codepoint": "F1538", - "aliases": [ - "access-point-success", - "access-point-tick" - ], - "styles": [ - "check" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "AAFAB208-B7D5-44A0-915F-761A83D295A3", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point-minus", - "codepoint": "F1539", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "06048943-9EE5-4FE2-91D7-7DA162E55203", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point-network", - "codepoint": "F0002", - "aliases": [], - "styles": [ - "network" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "6DC5A262-63FE-4C77-A66C-B323DF4F82BF", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point-network-off", - "codepoint": "F0BE1", - "aliases": [], - "styles": [ - "network", - "off" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "ED942A44-4B13-47E6-A674-E376C338F671", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point-off", - "codepoint": "F1511", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "41E38A13-4B9B-4260-81EA-1DB407986154", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point-plus", - "codepoint": "F153A", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2E102C4D-6301-46CA-A3D8-35270CE751C5", - "baseIconId": "4F013652-22DE-48CF-886B-A0FB995E8B41", - "name": "access-point-remove", - "codepoint": "F153B", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E76EC23F-AB71-49B3-9173-841544527A20", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account", - "codepoint": "F0004", - "aliases": [ - "person", - "user" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "3D869F3A-8C3E-4ECB-829E-7785230FA680", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-alert", - "codepoint": "F0005", - "aliases": [ - "user-alert", - "account-warning", - "user-warning", - "person-alert", - "person-warning" - ], - "styles": [ - "alert" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User", - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "858CE593-C905-42C6-ABA5-99379EBD95AE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-alert-outline", - "codepoint": "F0B50", - "aliases": [ - "user-alert-outline", - "account-warning-outline", - "user-warning-outline", - "person-warning-outline", - "person-alert-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User", - "Alert \/ Error" - ], - "author": "Coffeemate" - }, - { - "id": "785965F1-58C0-42F8-9433-9B6A3ACF1AE6", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-down", - "codepoint": "F1868", - "aliases": [ - "account-download" - ], - "styles": [ - "arrow" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8149AE23-C281-4BB3-8150-A5988CE17CD2", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-down-outline", - "codepoint": "F1869", - "aliases": [ - "account-download-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Colton Wiscombe" - }, - { - "id": "34EAE057-F0E4-476A-B988-9BD149263BDF", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-left", - "codepoint": "F0B51", - "aliases": [ - "user-arrow-left", - "person-arrow-left" - ], - "styles": [ - "arrow" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Coffeemate" - }, - { - "id": "D46BABF7-60F1-41B8-BE5E-5D52367FE58C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-left-outline", - "codepoint": "F0B52", - "aliases": [ - "user-arrow-left-outline", - "person-arrow-left-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Coffeemate" - }, - { - "id": "6C4EDCE5-0741-4BF4-B16A-112892C6AB98", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-right", - "codepoint": "F0B53", - "aliases": [ - "user-arrow-right", - "person-arrow-right" - ], - "styles": [ - "arrow" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Coffeemate" - }, - { - "id": "7CB2DA6F-D0F6-4A7A-A761-E53B564744E8", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-right-outline", - "codepoint": "F0B54", - "aliases": [ - "user-arrow-right-outline", - "person-arrow-right-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Coffeemate" - }, - { - "id": "9F3DF21B-6A76-4916-BA8D-E9EF40D4A01F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-up", - "codepoint": "F1867", - "aliases": [ - "account-upload" - ], - "styles": [ - "arrow" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A5BAE236-3B16-41B5-B779-435AD2A6DAEE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-arrow-up-outline", - "codepoint": "F186A", - "aliases": [ - "account-upload-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Colton Wiscombe" - }, - { - "id": "67BA915E-B44A-434E-95D3-9BD94A174164", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-badge", - "codepoint": "F1B0A", - "aliases": [ - "account-online", - "user-online" - ], - "styles": [ - "badge" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Andrej Sharapov" - }, - { - "id": "897CF76D-01B6-47B8-B917-542077D94343", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-badge-outline", - "codepoint": "F1B0B", - "aliases": [ - "user-online-outline", - "account-online-outline" - ], - "styles": [ - "badge", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Andrej Sharapov" - }, - { - "id": "474D0A31-E56A-4780-9417-DCF8D9A38830", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-box", - "codepoint": "F0006", - "aliases": [ - "selfie", - "user-box", - "person-box", - "contact" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "D612088F-9D2A-424A-9403-046993A3EB14", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-box-multiple", - "codepoint": "F0934", - "aliases": [ - "switch-account", - "user-box-multiple", - "account-boxes", - "user-boxes", - "person-box-multiple", - "person-boxes" - ], - "styles": [ - "box", - "multiple" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "31302999-CD15-4F1F-A5D2-374D90F15099", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-box-multiple-outline", - "codepoint": "F100A", - "aliases": [], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "537261C5-1AF6-478F-A8BA-4349865D9C1C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-box-outline", - "codepoint": "F0007", - "aliases": [ - "selfie-outline", - "user-box-outline", - "portrait", - "contact-outline", - "person-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "31CE9FF1-9698-4ED6-8E9B-392840E55DDE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cancel", - "codepoint": "F12DF", - "aliases": [ - "user-cancel", - "user-block", - "person-cancel", - "person-block" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "D2CDB839-C734-46EA-A4DE-085CBF29DD0F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cancel-outline", - "codepoint": "F12E0", - "aliases": [ - "user-cancel-outline", - "user-block-outline", - "person-cancel-outline", - "person-block-outline" - ], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "1A83D97E-DB88-4EAA-9EDB-28B4E68D77E7", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-card", - "codepoint": "F1BA4", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Jeff Anders" - }, - { - "id": "47B6009B-B618-4A96-83FA-57D7D093952D", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-card-outline", - "codepoint": "F1BA5", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Jeff Anders" - }, - { - "id": "E3270EE8-3F41-481F-9B15-E8925C62A83C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cash", - "codepoint": "F1097", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Banking", - "Currency" - ], - "author": "Jacob Wright" - }, - { - "id": "582FFF95-D87F-4A58-A3C1-F1A352BF8F56", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cash-outline", - "codepoint": "F1098", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Banking", - "Currency" - ], - "author": "Jacob Wright" - }, - { - "id": "F3C76352-A033-4969-BBC4-99E2BEE84FAE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-check", - "codepoint": "F0008", - "aliases": [ - "user-check", - "account-tick", - "user-tick", - "person-check", - "person-tick", - "how-to-reg", - "account-success" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "50F80B8D-C424-4FC1-9A2E-81715787C240", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-check-outline", - "codepoint": "F0BE2", - "aliases": [ - "account-tick-outline", - "user-check-outline", - "user-tick-outline", - "person-check-outline", - "person-tick-outline", - "how-to-reg-outline", - "account-success-outline" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "431A5DA2-1B7E-4B86-8EAE-BEE1099048A1", - "baseIconId": "431A5DA2-1B7E-4B86-8EAE-BEE1099048A1", - "name": "account-child", - "codepoint": "F0A89", - "aliases": [ - "user-child", - "person-child", - "guardian" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "AF386BC9-683F-42B4-97DA-C256CF82C79F", - "baseIconId": "431A5DA2-1B7E-4B86-8EAE-BEE1099048A1", - "name": "account-child-circle", - "codepoint": "F0A8A", - "aliases": [ - "user-child-circle", - "person-child-circle", - "guardian-circle" - ], - "styles": [ - "circle" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "B8194820-B46C-41EB-921A-4DD7DDF9BE1F", - "baseIconId": "431A5DA2-1B7E-4B86-8EAE-BEE1099048A1", - "name": "account-child-outline", - "codepoint": "F10C8", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Sascha Wohlgemuth" - }, - { - "id": "1D7E8F31-998D-442A-80E6-EBB8DFA8CBA2", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-circle", - "codepoint": "F0009", - "aliases": [ - "user-circle", - "person-circle" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "17CE7627-5016-43F9-B42D-AFAAFA0A0564", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-circle-outline", - "codepoint": "F0B55", - "aliases": [ - "user-circle-outline", - "person-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "E9851E02-790A-40FD-918A-BB1145051470", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-clock", - "codepoint": "F0B56", - "aliases": [ - "user-clock", - "account-pending", - "person-clock" - ], - "styles": [ - "clock" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User", - "Date \/ Time" - ], - "author": "Coffeemate" - }, - { - "id": "AA800DB2-3369-412C-B881-0F99863D13F7", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-clock-outline", - "codepoint": "F0B57", - "aliases": [ - "user-clock-outline", - "account-pending-outline", - "person-clock-outline" - ], - "styles": [ - "clock", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User", - "Date \/ Time" - ], - "author": "Coffeemate" - }, - { - "id": "CA7B4B4E-B909-48F5-B93B-7A024D6A9AAA", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cog", - "codepoint": "F1370", - "aliases": [ - "account-settings" - ], - "styles": [ - "variant" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7B40CAE5-6B01-4E2E-8F23-60ECAB9DAC9F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cog-outline", - "codepoint": "F1371", - "aliases": [ - "account-settings-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A6964E10-1CF0-41FA-BDCA-A77C9C6F30AF", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-convert", - "codepoint": "F000A", - "aliases": [ - "user-convert", - "person-convert" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "BED42D20-9EEE-4297-81DC-A72F2F9D935D", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-convert-outline", - "codepoint": "F1301", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "18963ABD-E908-4E3C-B8DA-D87916F269F7", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cowboy-hat", - "codepoint": "F0E9B", - "aliases": [ - "rancher" - ], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Account \/ User", - "Agriculture" - ], - "author": "Augustin Ursu" - }, - { - "id": "E1C851E1-3BBD-4661-A6FA-C77AD370DC6A", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-cowboy-hat-outline", - "codepoint": "F17F3", - "aliases": [ - "rancher-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "5AE7D856-B33F-4C37-B7A3-F05DD4D345DD", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-credit-card", - "codepoint": "F1BA6", - "aliases": [ - "account-payment", - "cardholder" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Account \/ User", - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "A19CDCEF-1CFD-4BFE-A323-F66C6EBF0FCE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-credit-card-outline", - "codepoint": "F1BA7", - "aliases": [ - "account-payment-outline", - "cardholder-outline" - ], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Account \/ User", - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "3696B7DF-3E12-44EF-B27F-E171AEB5241F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-details", - "codepoint": "F0631", - "aliases": [ - "user-details", - "person-details" - ], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Account \/ User", - "Settings" - ], - "author": "Google" - }, - { - "id": "B9137734-8DC1-41D1-9B34-CEDBB1742A39", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-details-outline", - "codepoint": "F1372", - "aliases": [ - "person-details-outline", - "user-details-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Settings" - ], - "author": "Simran" - }, - { - "id": "66271DF7-FF11-4998-9C03-F096CE407E4C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-edit", - "codepoint": "F06BC", - "aliases": [ - "user-edit", - "person-edit" - ], - "styles": [ - "edit" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Account \/ User", - "Edit \/ Modify" - ], - "author": "Michael Richins" - }, - { - "id": "2374A15A-0DC7-458D-A8BD-766E55DFB0AF", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-edit-outline", - "codepoint": "F0FFB", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Account \/ User", - "Edit \/ Modify" - ], - "author": "Michael Richins" - }, - { - "id": "5FFF2FB6-08B2-4860-ACCF-72D614641882", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-eye", - "codepoint": "F0420", - "aliases": [ - "account-view" - ], - "styles": [ - "eye" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "32388085-89F4-4C2C-BE98-1AEBED8F9B95", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-eye-outline", - "codepoint": "F127B", - "aliases": [ - "account-view-outline" - ], - "styles": [ - "eye", - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "839928F4-21EA-472B-94A0-C7DFBD6C263A", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-filter", - "codepoint": "F0936", - "aliases": [ - "account-funnel", - "leads" - ], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4C7A5C71-F3C9-4BD7-B123-C71BE81CAFB7", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-filter-outline", - "codepoint": "F0F9D", - "aliases": [ - "account-funnel-outline", - "leads-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7B8F1133-B47B-46C0-AAC0-FD87F06B038D", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-group", - "codepoint": "F0849", - "aliases": [ - "user-group", - "users-group", - "person-group", - "people-group", - "accounts-group" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Account \/ User", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "7DFB1292-669B-4769-A107-FA3359281270", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-group-outline", - "codepoint": "F0B58", - "aliases": [ - "user-group-outline", - "users-group-outline", - "person-group-outline", - "people-group-outline", - "accounts-group-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "GreenTurtwig" - }, - { - "id": "54665F14-32CD-41E3-B5C5-0E9ABDD3A317", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-hard-hat", - "codepoint": "F05B5", - "aliases": [ - "worker", - "construction" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "5A21DE4E-D502-4D12-8B2A-58FB95BE0964", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-hard-hat-outline", - "codepoint": "F1A1F", - "aliases": [ - "worker-outline", - "construction-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Contributors" - }, - { - "id": "15C54239-5327-4962-95CD-721512C6B27F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-heart", - "codepoint": "F0899", - "aliases": [ - "user-heart", - "person-heart" - ], - "styles": [ - "heart" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Account \/ User", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "66013F5C-F7FD-4974-AB80-E624C3E0A5E9", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-heart-outline", - "codepoint": "F0BE3", - "aliases": [ - "user-heart-outline", - "person-heart-outline" - ], - "styles": [ - "heart", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E2BDD02C-EBDD-4394-9C2B-20279DBDF180", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-injury", - "codepoint": "F1815", - "aliases": [ - "account-disability", - "patient", - "person-injury" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "DB3273BF-116D-4AD9-8302-16CE79B64498", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-injury-outline", - "codepoint": "F1816", - "aliases": [ - "account-disability-outline", - "patient-outline", - "person-injury-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "645E04E6-A328-45DD-9B22-03E2296837B1", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-key", - "codepoint": "F000B", - "aliases": [ - "user-key", - "person-key" - ], - "styles": [ - "key" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "REJack" - }, - { - "id": "85086B0D-4678-4B8E-9824-308F59F09C0F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-key-outline", - "codepoint": "F0BE4", - "aliases": [ - "user-key-outline", - "person-key-outline" - ], - "styles": [ - "key", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BD94D7C7-DFDF-419F-862E-FB1AC3263967", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-lock", - "codepoint": "F115E", - "aliases": [ - "account-security", - "account-secure", - "user-lock", - "person-lock" - ], - "styles": [ - "lock" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "255D3923-5FE0-4BDD-AAF4-D71735D52E53", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-lock-open", - "codepoint": "F1960", - "aliases": [ - "account-unlocked", - "user-unlocked", - "user-lock-open" - ], - "styles": [ - "lock", - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0E6C1E1C-7F80-445A-92CB-230F04F09093", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-lock-open-outline", - "codepoint": "F1961", - "aliases": [ - "user-lock-open-outline", - "user-unlocked-outline", - "account-unlocked-outline" - ], - "styles": [ - "lock", - "outline", - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F0E25FF6-2E45-4F3D-B9E3-6F251A6B1651", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-lock-outline", - "codepoint": "F115F", - "aliases": [ - "account-security-outline", - "account-secure-outline", - "person-lock-outline", - "user-lock-outline" - ], - "styles": [ - "lock" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9CF96408-1A24-4040-AD04-011183CC9ABC", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-minus", - "codepoint": "F000D", - "aliases": [ - "user-minus", - "person-minus" - ], - "styles": [ - "minus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "REJack" - }, - { - "id": "C03476FC-2655-4137-862E-28D714E93A50", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-minus-outline", - "codepoint": "F0AEC", - "aliases": [ - "user-minus-outline", - "person-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Peter Noble" - }, - { - "id": "A8C2EE6C-31B9-4D51-B941-8128FDD77A96", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple", - "codepoint": "F000E", - "aliases": [ - "people", - "user-multiple", - "group", - "accounts", - "users", - "person-multiple" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "3B3E2DF7-1E21-476A-8473-7F1EAA514D1F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-check", - "codepoint": "F08C5", - "aliases": [ - "user-multiple-check", - "account-multiple-tick", - "accounts-check", - "accounts-tick", - "users-check", - "users-tick", - "user-multiple-tick", - "person-multiple-check", - "person-multiple-tick", - "people-check", - "people-tick", - "account-multiple-success" - ], - "styles": [ - "check", - "multiple" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Roberto Graham" - }, - { - "id": "4391B451-368F-4E41-82C5-63A89A2CDE69", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-check-outline", - "codepoint": "F11FE", - "aliases": [ - "user-multiple-check-outline", - "account-multiple-tick-outline", - "accounts-check-outline", - "accounts-tick-outline", - "users-check-outline", - "users-tick-outline", - "user-multiple-tick-outline", - "person-multiple-check-outline", - "person-multiple-tick-outline", - "people-check-outline", - "people-tick-outline", - "account-multiple-success-outline" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "BD31FA9F-EC76-44E9-A9F3-A85F83045D78", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-minus", - "codepoint": "F05D3", - "aliases": [ - "user-multiple-minus", - "accounts-minus", - "users-minus", - "people-minus", - "person-multiple-minus" - ], - "styles": [ - "minus", - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "45C692AD-F1E8-404C-BED2-9FD58F0690CD", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-minus-outline", - "codepoint": "F0BE5", - "aliases": [ - "accounts-minus-outline", - "people-minus-outline", - "user-multiple-minus-outline", - "users-minus-outline", - "person-multiple-minus-outline" - ], - "styles": [ - "minus", - "multiple", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "30C6B7FE-4496-4961-B36F-E0FBC4F2696E", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-outline", - "codepoint": "F000F", - "aliases": [ - "user-multiple-outline", - "people-outline", - "accounts-outline", - "users-outline" - ], - "styles": [ - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "047F8AC1-524D-4077-BCEB-434FE1C50C8B", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-plus", - "codepoint": "F0010", - "aliases": [ - "user-multiple-plus", - "group-add", - "accounts-plus", - "users-plus", - "person-multiple-plus", - "people-plus", - "person-multiple-add", - "people-add", - "account-multiple-add", - "accounts-add", - "user-multiple-add", - "users-add", - "invite" - ], - "styles": [ - "multiple", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "AFF0AB6B-616A-4C18-8E28-EE8067224EED", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-plus-outline", - "codepoint": "F0800", - "aliases": [ - "group-add-outline", - "user-multiple-plus-outline", - "accounts-plus-outline", - "users-plus-outline", - "person-multiple-plus-outline", - "people-plus-outline", - "person-multiple-add-outline", - "people-add-outline", - "account-multiple-add-outline", - "accounts-add-outline", - "user-multiple-add-outline", - "users-add-outline", - "invite" - ], - "styles": [ - "multiple", - "outline", - "plus" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "998E10E4-B96A-4DB2-9793-3E1C31D42501", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-remove", - "codepoint": "F120A", - "aliases": [ - "user-multiple-remove", - "person-multiple-remove" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "618B092A-7228-4E70-A95C-7EB4EC1BA2FB", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-multiple-remove-outline", - "codepoint": "F120B", - "aliases": [ - "user-multiple-remove-outline", - "person-multiple-remove-outline" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "306F2F2C-4B76-40E9-9561-BC3AD271D6BA", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-music", - "codepoint": "F0803", - "aliases": [ - "artist" - ], - "styles": [ - "variant" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "A8CC9CFF-A5DE-4FC8-A4AC-BCE153F767F8", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-music-outline", - "codepoint": "F0CE9", - "aliases": [ - "artist-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "GreenTurtwig" - }, - { - "id": "8F49C741-4ED8-4DD3-A22E-310C039EDDA6", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-network", - "codepoint": "F0011", - "aliases": [ - "user-network", - "person-network" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "AF848CDB-6C2E-4920-9C30-9135EE7AEEFA", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-network-off", - "codepoint": "F1AF1", - "aliases": [], - "styles": [ - "network", - "off" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F3B94B38-61D9-4894-A615-8E36FEC40D47", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-network-off-outline", - "codepoint": "F1AF2", - "aliases": [], - "styles": [ - "network", - "off", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2EEA7799-E0DA-4E9B-880E-B5975A6FC11F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-network-outline", - "codepoint": "F0BE6", - "aliases": [ - "user-network-outline", - "person-network-outline" - ], - "styles": [ - "network", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2306EFC9-3375-4D03-A631-A32BD72075EC", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-off", - "codepoint": "F0012", - "aliases": [ - "user-off", - "person-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "231E3EA7-A7EC-41A0-A594-032040488448", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-off-outline", - "codepoint": "F0BE7", - "aliases": [ - "user-off-outline", - "person-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "79ECAAC6-71DC-406C-A9B7-57C5F0BAA9E0", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-outline", - "codepoint": "F0013", - "aliases": [ - "user-outline", - "perm-identity", - "person-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "66556BA4-6B65-4ED9-B813-AD33CA8C2CCF", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-plus", - "codepoint": "F0014", - "aliases": [ - "register", - "user-plus", - "person-add", - "account-add", - "person-plus", - "user-add", - "invite" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "1095C7C6-C264-4415-BD6D-A2078242477E", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-plus-outline", - "codepoint": "F0801", - "aliases": [ - "person-add-outline", - "register-outline", - "user-plus-outline", - "account-add-outline", - "person-plus-outline", - "user-add-outline", - "invite" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "GreenTurtwig" - }, - { - "id": "163F4ADF-F6CC-42D0-AEED-DB61351C624C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-question", - "codepoint": "F0B59", - "aliases": [ - "user-help", - "account-question-mark", - "account-help", - "user-question", - "person-question", - "person-help" - ], - "styles": [ - "question" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Coffeemate" - }, - { - "id": "C5217A29-708E-4340-AE2D-89A33F364A97", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-question-outline", - "codepoint": "F0B5A", - "aliases": [ - "account-question-mark-outline", - "user-help-outline", - "account-help-outline", - "user-question-outline", - "person-question-outline", - "person-help-outline" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Coffeemate" - }, - { - "id": "AD1CDB51-AAD9-411A-A81F-8D718A843FDE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-reactivate", - "codepoint": "F152B", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "9CB5E1B3-D7AA-4BD2-9966-89CDAC0BF710", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-reactivate-outline", - "codepoint": "F152C", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "0A1FDBBB-9E1C-480E-BC1D-725778D0851B", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-remove", - "codepoint": "F0015", - "aliases": [ - "user-remove", - "person-remove" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "REJack" - }, - { - "id": "9F89EDE8-E95A-401D-9532-7F0DCD6AE321", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-remove-outline", - "codepoint": "F0AED", - "aliases": [ - "user-remove-outline", - "person-remove-outline" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "BE45DEDF-3BBC-442F-9EDD-4A16570B91A0", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-school", - "codepoint": "F1A20", - "aliases": [ - "account-student", - "account-graduation" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Contributors" - }, - { - "id": "DB767D52-F1C9-4986-B785-98314B70B2FF", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-school-outline", - "codepoint": "F1A21", - "aliases": [ - "account-student-outline", - "account-graduation-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Contributors" - }, - { - "id": "48E9C474-C544-4868-9966-C3A8D7808FCA", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-search", - "codepoint": "F0016", - "aliases": [ - "user-search", - "person-search" - ], - "styles": [ - "search" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "GreenTurtwig" - }, - { - "id": "F6808872-4EB9-43AF-BD74-BDA6861E1862", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-search-outline", - "codepoint": "F0935", - "aliases": [ - "user-search-outline", - "person-search-outline" - ], - "styles": [ - "outline", - "search" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "GreenTurtwig" - }, - { - "id": "A975CEEA-FDFD-49A2-A618-E74A3FF87A63", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-settings", - "codepoint": "F0630", - "aliases": [ - "user-settings", - "person-settings" - ], - "styles": [ - "settings" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Account \/ User", - "Settings" - ], - "author": "Austin Andrews" - }, - { - "id": "CA95C904-F98B-43D4-A896-DF5E174A0F72", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-settings-outline", - "codepoint": "F10C9", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Settings" - ], - "author": "Sascha Wohlgemuth" - }, - { - "id": "1E04960E-FFFE-439D-A5FD-C51E7291DA6F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-star", - "codepoint": "F0017", - "aliases": [ - "user-star", - "person-star", - "account-favorite" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "REJack" - }, - { - "id": "3B63C1BC-9FB2-4F41-86CF-93D6117585E9", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-star-outline", - "codepoint": "F0BE8", - "aliases": [ - "user-star-outline", - "person-star-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DF632613-259D-4C5E-9718-0EB3057290AF", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-supervisor", - "codepoint": "F0A8B", - "aliases": [ - "user-supervisor", - "person-supervisor" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "741E5459-89DC-4045-B02E-3FB74F636143", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-supervisor-circle", - "codepoint": "F0A8C", - "aliases": [ - "user-supervisor-circle", - "person-supervisor-circle" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "51B2A4EF-1F20-44EA-BC57-D1B3129C496C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-supervisor-circle-outline", - "codepoint": "F14EC", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "B640886A-F3F0-4FE4-AC74-4AE1407E264F", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-supervisor-outline", - "codepoint": "F112D", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Sascha Wohlgemuth" - }, - { - "id": "FC4F4C4D-83C2-493F-9606-CA80E44BFEF8", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-switch", - "codepoint": "F0019", - "aliases": [ - "user-switch", - "accounts-switch", - "users-switch", - "person-switch", - "people-switch" - ], - "styles": [ - "arrow", - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "82D545A0-9A8E-4363-A462-883526E48330", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-switch-outline", - "codepoint": "F04CB", - "aliases": [], - "styles": [ - "arrow", - "multiple", - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "85F768C4-8659-414E-8C96-F2E90EB36971", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-sync", - "codepoint": "F191B", - "aliases": [ - "account-cache" - ], - "styles": [ - "sync" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4D5C282D-E452-4544-BD36-6EBF5DE7FD85", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-sync-outline", - "codepoint": "F191C", - "aliases": [ - "account-cache-outline" - ], - "styles": [ - "outline", - "sync" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CD3C08D4-514C-4F3C-B3D7-EF6F74F79817", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tag", - "codepoint": "F1C1B", - "aliases": [], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Matthew Terry" - }, - { - "id": "253469B8-B07E-44ED-A834-1CA67428169E", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tag-outline", - "codepoint": "F1C1C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Matthew Terry" - }, - { - "id": "5EF0B9EA-FECB-409C-999C-FE1ECF0C8B01", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie", - "codepoint": "F0CE3", - "aliases": [ - "person-tie", - "user-tie" - ], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Account \/ User", - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "07487BB8-778A-4B30-8129-FC2780463D86", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-hat", - "codepoint": "F1898", - "aliases": [ - "account-pilot" - ], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8097E3AA-0C0F-47BE-9700-DEAF4986E6AE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-hat-outline", - "codepoint": "F1899", - "aliases": [ - "account-pilot-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0D809FB8-6A27-4972-B4E5-6A308963FD8B", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-outline", - "codepoint": "F10CA", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Sascha Wohlgemuth" - }, - { - "id": "7EAF1288-141D-4C8E-91E6-891D04BAE32C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-voice", - "codepoint": "F1308", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F835F775-8FC4-4E85-9B26-7C95F8F45B05", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-voice-off", - "codepoint": "F130A", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6CDB4F0E-41EC-409E-A2E0-87785BDAC858", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-voice-off-outline", - "codepoint": "F130B", - "aliases": [], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5712C24C-E8EE-48CD-9E6F-9712AD2BA502", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-voice-outline", - "codepoint": "F1309", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7D6F703D-10AF-459F-9349-69B6D05BD7CE", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-tie-woman", - "codepoint": "F1A8C", - "aliases": [ - "business-woman" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Account \/ User", - "People \/ Family" - ], - "author": "Simran" - }, - { - "id": "F1EEA910-2CD7-448A-A12F-A1BD0FDC6010", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-voice", - "codepoint": "F05CB", - "aliases": [ - "record-voice-over", - "speak", - "talk", - "speaking", - "talking" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "C90AED93-FCBD-4FDC-A15B-26CD066775BD", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-voice-off", - "codepoint": "F0ED4", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "3.7.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "C3712CBF-1E1C-4794-95B1-F77380FCEB7C", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-wrench", - "codepoint": "F189A", - "aliases": [ - "account-service" - ], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9AD54A3C-987A-4ED9-A416-7432C9540239", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "account-wrench-outline", - "codepoint": "F189B", - "aliases": [ - "account-service-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3334E19F-962D-45B4-BE11-F009E1192165", - "baseIconId": "3334E19F-962D-45B4-BE11-F009E1192165", - "name": "adjust", - "codepoint": "F001A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F368D23C-0F09-44D6-8487-F3229BEB6F1C", - "baseIconId": "F368D23C-0F09-44D6-8487-F3229BEB6F1C", - "name": "advertisements", - "codepoint": "F192A", - "aliases": [ - "ads" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "28583E81-1315-4397-8FC5-46325CF1FB94", - "baseIconId": "F368D23C-0F09-44D6-8487-F3229BEB6F1C", - "name": "advertisements-off", - "codepoint": "F192B", - "aliases": [ - "ads-off" - ], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FACEA69B-49F0-4588-BDEC-693965AD4649", - "baseIconId": "FACEA69B-49F0-4588-BDEC-693965AD4649", - "name": "air-conditioner", - "codepoint": "F001B", - "aliases": [ - "ac-unit" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Automotive" - ], - "author": "Simran" - }, - { - "id": "C9AF90F5-7CE7-4251-9BA2-3A614B4882AA", - "baseIconId": "C9AF90F5-7CE7-4251-9BA2-3A614B4882AA", - "name": "air-filter", - "codepoint": "F0D43", - "aliases": [ - "water-filter", - "filter" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "41485B7B-F175-4627-90EB-640C9C60B27C", - "baseIconId": "41485B7B-F175-4627-90EB-640C9C60B27C", - "name": "air-horn", - "codepoint": "F0DAC", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C35492EC-7A43-444E-86A1-B3E960A86950", - "baseIconId": "C35492EC-7A43-444E-86A1-B3E960A86950", - "name": "air-humidifier", - "codepoint": "F1099", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B86205A-73F4-4DB6-9F2C-73654EDF4D52", - "baseIconId": "C35492EC-7A43-444E-86A1-B3E960A86950", - "name": "air-humidifier-off", - "codepoint": "F1466", - "aliases": [ - "air-dehumidifier" - ], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C1621283-2EDC-43C5-9108-812DCAD0BC12", - "baseIconId": "C1621283-2EDC-43C5-9108-812DCAD0BC12", - "name": "air-purifier", - "codepoint": "F0D44", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "EFF08C2C-BF4C-4A0E-A261-9DEF2A92C8D6", - "baseIconId": "C1621283-2EDC-43C5-9108-812DCAD0BC12", - "name": "air-purifier-off", - "codepoint": "F1B57", - "aliases": [], - "styles": [ - "off" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Andrej Sharapov" - }, - { - "id": "26929F83-C254-41C2-8B0D-B4D95EACAD3E", - "baseIconId": "26929F83-C254-41C2-8B0D-B4D95EACAD3E", - "name": "airbag", - "codepoint": "F0BE9", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3E1D81B2-7DF1-4AAF-9598-4995B8D8E5CC", - "baseIconId": "3E1D81B2-7DF1-4AAF-9598-4995B8D8E5CC", - "name": "airballoon", - "codepoint": "F001C", - "aliases": [ - "hot-air-balloon" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Transportation + Flying" - ], - "author": "Austin Andrews" - }, - { - "id": "67E3294D-960F-4CD8-B4DB-3AAB13D6E17C", - "baseIconId": "3E1D81B2-7DF1-4AAF-9598-4995B8D8E5CC", - "name": "airballoon-outline", - "codepoint": "F100B", - "aliases": [ - "hot-air-balloon-outline" - ], - "styles": [ - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane", - "codepoint": "F001D", - "aliases": [ - "aeroplane", - "airplanemode-active", - "flight", - "local-airport", - "flight-mode", - "plane" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C0734996-651C-4CEE-A216-E1D03B2FA6F6", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-alert", - "codepoint": "F187A", - "aliases": [], - "styles": [ - "alert" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3771D65E-17FD-41E0-B8E7-D1136B28D672", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-check", - "codepoint": "F187B", - "aliases": [ - "airplace-success", - "airplane-tick" - ], - "styles": [ - "check" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8C33AFFF-209E-41AC-A403-B1A46B321917", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-clock", - "codepoint": "F187C", - "aliases": [ - "airplane-schedule", - "airplane-time", - "airplane-date" - ], - "styles": [ - "clock" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BBFABE86-364F-44BA-861F-0EA4502F2E14", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-cog", - "codepoint": "F187D", - "aliases": [ - "airplane-settings" - ], - "styles": [ - "settings" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7B7C1A74-3C6D-4CF8-8F29-62F99BD9AC24", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-edit", - "codepoint": "F187E", - "aliases": [], - "styles": [ - "edit" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "634EE7E8-8280-4CF1-B642-0921E740B6DB", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-landing", - "codepoint": "F05D4", - "aliases": [ - "aeroplane-landing", - "flight-land", - "plane-landing" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "792432E4-3913-4118-80E9-C8F348DEFBA4", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-marker", - "codepoint": "F187F", - "aliases": [ - "airplane-location", - "airplane-gps" - ], - "styles": [ - "marker" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B92E8598-1A85-4EC5-9082-2CF13684EB13", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-minus", - "codepoint": "F1880", - "aliases": [], - "styles": [ - "minus" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D2D1D38E-ABE7-47B6-9405-DC6BDBA1C335", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-off", - "codepoint": "F001E", - "aliases": [ - "aeroplane-off", - "airplanemode-inactive", - "flight-mode-off", - "plane-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4D5B4816-F71A-4413-A065-A58F2A907656", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-plus", - "codepoint": "F1881", - "aliases": [], - "styles": [ - "plus" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Colton Wiscombe" - }, - { - "id": "244A039A-5ABD-46F5-8E5E-8F6D84FC116C", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-remove", - "codepoint": "F1882", - "aliases": [], - "styles": [ - "remove" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4DBDF7D5-FD3A-4CE2-BCC6-306A09694221", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-search", - "codepoint": "F1883", - "aliases": [ - "airplane-find" - ], - "styles": [ - "search" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7B89A30A-F211-4B69-9629-9148A539D41D", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-settings", - "codepoint": "F1884", - "aliases": [], - "styles": [ - "settings" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2B9BB7A1-A94B-4D24-8308-5599504317C2", - "baseIconId": "5AE3D483-1E1C-49DE-92FF-21C6B93FD52F", - "name": "airplane-takeoff", - "codepoint": "F05D5", - "aliases": [ - "aeroplane-takeoff", - "flight-takeoff", - "plane-takeoff", - "airplane-take-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "62C9DAA4-6718-44A9-BCD3-2401D96BE1E7", - "baseIconId": "62C9DAA4-6718-44A9-BCD3-2401D96BE1E7", - "name": "airport", - "codepoint": "F084B", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Places", - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm", - "codepoint": "F0020", - "aliases": [ - "access-alarms", - "alarm-clock" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "02423F51-52A3-4F45-8373-05CA8E8D57B7", - "baseIconId": "02423F51-52A3-4F45-8373-05CA8E8D57B7", - "name": "alarm-bell", - "codepoint": "F078E", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Michael Richins" - }, - { - "id": "6DCCA48F-E413-4C45-BFE5-8E3C8BE61A4E", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm-check", - "codepoint": "F0021", - "aliases": [ - "alarm-on", - "alarm-tick", - "alarm-clock-check", - "alarm-clock-tick", - "alarm-success" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "B6D88F9D-A85A-4943-A61C-7D33FB0EBF4F", - "baseIconId": "B6D88F9D-A85A-4943-A61C-7D33FB0EBF4F", - "name": "alarm-light", - "codepoint": "F078F", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "E328D226-0D09-402D-BCAA-A7630396F168", - "baseIconId": "B6D88F9D-A85A-4943-A61C-7D33FB0EBF4F", - "name": "alarm-light-off", - "codepoint": "F171E", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "70D649B6-0FA1-4465-A92C-BB362D4D5FAD", - "baseIconId": "B6D88F9D-A85A-4943-A61C-7D33FB0EBF4F", - "name": "alarm-light-off-outline", - "codepoint": "F171F", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F6F4DACD-B15B-49FD-8ACC-FAE0E994435A", - "baseIconId": "B6D88F9D-A85A-4943-A61C-7D33FB0EBF4F", - "name": "alarm-light-outline", - "codepoint": "F0BEA", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "67D410AB-495A-41BD-B9D8-20A7DFBBF623", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm-multiple", - "codepoint": "F0022", - "aliases": [ - "alarms", - "alarm-clock-multiple", - "alarm-clocks" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "2C35D0DC-0191-4DFF-AF19-066F88DE56FE", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm-note", - "codepoint": "F0E71", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2ECA27D9-8F96-4B03-A7BF-B74468CFCBF9", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm-note-off", - "codepoint": "F0E72", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "DD224DD6-9A65-47AB-8838-90FE346A7768", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm-off", - "codepoint": "F0023", - "aliases": [ - "alarm-clock-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "AB8BCA23-EA1C-4A27-B535-4F373F1451E6", - "baseIconId": "AB8BCA23-EA1C-4A27-B535-4F373F1451E6", - "name": "alarm-panel", - "codepoint": "F15C4", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "60F9887C-36C5-4E6A-B282-4BACB99120BC", - "baseIconId": "AB8BCA23-EA1C-4A27-B535-4F373F1451E6", - "name": "alarm-panel-outline", - "codepoint": "F15C5", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6D93F44C-83F7-4446-A5CD-E4135C8644D7", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm-plus", - "codepoint": "F0024", - "aliases": [ - "add-alarm", - "alarm-clock-plus", - "alarm-clock-add", - "alarm-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "28F85724-265B-4C24-9975-DDDF788A99E5", - "baseIconId": "9A1AAF33-6F36-4987-9E8C-798E34D919A9", - "name": "alarm-snooze", - "codepoint": "F068E", - "aliases": [ - "alarm-clock-snooze" - ], - "styles": [ - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "8529D611-F581-4808-95BE-271FB1A6C2FD", - "baseIconId": "8529D611-F581-4808-95BE-271FB1A6C2FD", - "name": "album", - "codepoint": "F0025", - "aliases": [ - "vinyl", - "record" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Google" - }, - { - "id": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert", - "codepoint": "F0026", - "aliases": [ - "warning", - "report-problem" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "7B5D47A1-5658-4169-94C7-0C41E7179DD2", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-box", - "codepoint": "F0027", - "aliases": [ - "warning-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "D37BD379-9466-4E87-AD27-087CF72F076D", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-box-outline", - "codepoint": "F0CE4", - "aliases": [ - "warning-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Peter Noble" - }, - { - "id": "C7EDD5B7-95D4-4D83-A4E3-95D8A16A4887", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-circle", - "codepoint": "F0028", - "aliases": [ - "warning-circle", - "error" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "68F19F47-B38B-4370-B299-4EE2BF2619A5", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-circle-check", - "codepoint": "F11ED", - "aliases": [ - "alert-circle-success" - ], - "styles": [ - "check", - "circle" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "BB715CDA-DE45-4983-A33F-10C6141F4FEA", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-circle-check-outline", - "codepoint": "F11EE", - "aliases": [ - "alert-circle-success-outline" - ], - "styles": [ - "check", - "circle", - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "0F4002B4-3C3D-43C4-939F-A998B2C59177", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-circle-outline", - "codepoint": "F05D6", - "aliases": [ - "warning-circle-outline", - "error-outline", - "git-issue" - ], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "B4866C08-2DAE-4B0A-8942-E057094B3C76", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-decagram", - "codepoint": "F06BD", - "aliases": [ - "new-releases", - "warning-decagram" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "B2984FA7-4B68-4191-8835-EB768C58DD10", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-decagram-outline", - "codepoint": "F0CE5", - "aliases": [ - "warning-decagram-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Peter Noble" - }, - { - "id": "233D24FC-6BAE-44C4-BE98-7178560C4A32", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-minus", - "codepoint": "F14BB", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "044D1C2C-2EA5-4058-A3B0-0550BD2E3170", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-minus-outline", - "codepoint": "F14BE", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Alessandro Rossignoli" - }, - { - "id": "9BC1A338-CD03-4D39-BE46-E9DE5EE51A2F", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-octagon", - "codepoint": "F0029", - "aliases": [ - "warning-octagon", - "report", - "stop-alert" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "90994A54-72AA-498F-8806-AAD466CC21BD", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-octagon-outline", - "codepoint": "F0CE6", - "aliases": [ - "warning-octagon-outline", - "stop-alert-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Peter Noble" - }, - { - "id": "124F37BE-27F6-4524-9655-A18D28E91CA6", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-octagram", - "codepoint": "F0767", - "aliases": [ - "warning-octagram" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "2AD21B3E-77C1-4027-9AE9-7655246D9DFF", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-octagram-outline", - "codepoint": "F0CE7", - "aliases": [ - "warning-octagram-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Peter Noble" - }, - { - "id": "4E574535-954C-42F5-BE5B-DF3716DB7C5A", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-outline", - "codepoint": "F002A", - "aliases": [ - "warning-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "6D804890-36C6-43DC-B93D-B289A4C04D8F", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-plus", - "codepoint": "F14BA", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "C5512AAF-943C-4025-8FAB-F14D896F2C14", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-plus-outline", - "codepoint": "F14BD", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Alessandro Rossignoli" - }, - { - "id": "EF9A06FC-5167-4AE0-AB4E-FAD8C705E8C2", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-remove", - "codepoint": "F14BC", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "926FBBF9-9299-4E27-BB55-9CE300F50FDE", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-remove-outline", - "codepoint": "F14BF", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C8354F93-0DA4-48B4-97B3-4BDE2C0046AB", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-rhombus", - "codepoint": "F11CE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "C9724C30-FDBB-4A14-BC0B-59F0E6826DC3", - "baseIconId": "9FF7DF3F-D575-433B-9C9A-69C58363C186", - "name": "alert-rhombus-outline", - "codepoint": "F11CF", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "CD43AC33-8EE0-42BE-A7E0-3CCB31D8C5D3", - "baseIconId": "CD43AC33-8EE0-42BE-A7E0-3CCB31D8C5D3", - "name": "alien", - "codepoint": "F089A", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F673BEC2-F616-4A5A-B33B-4CD776D80819", - "baseIconId": "CD43AC33-8EE0-42BE-A7E0-3CCB31D8C5D3", - "name": "alien-outline", - "codepoint": "F10CB", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Sascha Wohlgemuth" - }, - { - "id": "05901A9E-71D5-47D9-B5E1-DC55B687E8E0", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-horizontal-center", - "codepoint": "F11C3", - "aliases": [ - "align-horizontal-centre" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B4B2B3EB-A8C5-48C3-8F82-4F295424B396", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-horizontal-distribute", - "codepoint": "F1962", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-horizontal-left", - "codepoint": "F11C2", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5FEBC8BB-061B-4D91-BD96-88285B5C2E23", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-horizontal-right", - "codepoint": "F11C4", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AA5D11B7-D45D-4505-938E-8BEF8C1A79F0", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-vertical-bottom", - "codepoint": "F11C5", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "04AE9704-928E-4272-B7FA-BD2ABC38ABE0", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-vertical-center", - "codepoint": "F11C6", - "aliases": [ - "align-vertical-centre" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CB64EDBD-09A0-4085-BD1E-0D84EAA56297", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-vertical-distribute", - "codepoint": "F1963", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "9069B66B-C7CA-478D-BE02-BC9863E27FDB", - "baseIconId": "91ED2206-4D41-48DB-964F-5E3AC50F899D", - "name": "align-vertical-top", - "codepoint": "F11C7", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5596E6E7-916E-4870-9346-5D46BC86C0D5", - "baseIconId": "5596E6E7-916E-4870-9346-5D46BC86C0D5", - "name": "all-inclusive", - "codepoint": "F06BE", - "aliases": [ - "infinity", - "forever" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C8E30B1A-135A-4B8A-900C-D93FE1699720", - "baseIconId": "5596E6E7-916E-4870-9346-5D46BC86C0D5", - "name": "all-inclusive-box", - "codepoint": "F188D", - "aliases": [ - "infinity-box", - "forever-box" - ], - "styles": [ - "box" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C3D587B3-D1F0-4C6F-9E4F-5FEE39AFFE33", - "baseIconId": "5596E6E7-916E-4870-9346-5D46BC86C0D5", - "name": "all-inclusive-box-outline", - "codepoint": "F188E", - "aliases": [ - "forever-box-outline", - "infinity-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "76B6381F-14CA-4453-8B28-184C508D003B", - "baseIconId": "35FBF26D-56C0-4699-A2A8-19BC2C37D6AF", - "name": "allergy", - "codepoint": "F1258", - "aliases": [ - "hand", - "rash", - "germ" - ], - "styles": [ - "variant" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Richins" - }, - { - "id": "0B93DD30-B279-4997-BD6D-AC86E29D34CA", - "baseIconId": "0B93DD30-B279-4997-BD6D-AC86E29D34CA", - "name": "alpha", - "codepoint": "F002B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Austin Andrews" - }, - { - "id": "8A55BEB9-D57B-43DA-9905-7216E3EB7057", - "baseIconId": "8A55BEB9-D57B-43DA-9905-7216E3EB7057", - "name": "alpha-a", - "codepoint": "F0AEE", - "aliases": [ - "alphabet-a", - "letter-a" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "1AC5B76A-B93F-4F9B-851D-C3DAF9743046", - "baseIconId": "8A55BEB9-D57B-43DA-9905-7216E3EB7057", - "name": "alpha-a-box", - "codepoint": "F0B08", - "aliases": [ - "alphabet-a-box", - "letter-a-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "B501FBBD-91FA-4567-8D4A-BD933FECCE7B", - "baseIconId": "8A55BEB9-D57B-43DA-9905-7216E3EB7057", - "name": "alpha-a-box-outline", - "codepoint": "F0BEB", - "aliases": [ - "alphabet-a-box-outline", - "letter-a-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "71A79E36-29B9-4543-B386-399F950641E2", - "baseIconId": "8A55BEB9-D57B-43DA-9905-7216E3EB7057", - "name": "alpha-a-circle", - "codepoint": "F0BEC", - "aliases": [ - "alphabet-a-circle", - "letter-a-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "6BB0D642-F5B7-4903-977C-325FE1F068FF", - "baseIconId": "8A55BEB9-D57B-43DA-9905-7216E3EB7057", - "name": "alpha-a-circle-outline", - "codepoint": "F0BED", - "aliases": [ - "alphabet-a-circle-outline", - "letter-a-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "910DF87E-809E-40D6-886F-34E581899455", - "baseIconId": "910DF87E-809E-40D6-886F-34E581899455", - "name": "alpha-b", - "codepoint": "F0AEF", - "aliases": [ - "alphabet-b", - "letter-b" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "057EDDAB-65B4-495C-A473-71F759BC6FD9", - "baseIconId": "910DF87E-809E-40D6-886F-34E581899455", - "name": "alpha-b-box", - "codepoint": "F0B09", - "aliases": [ - "alphabet-b-box", - "letter-b-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "ACEAA38C-D83E-4812-AFF3-A063F0226825", - "baseIconId": "910DF87E-809E-40D6-886F-34E581899455", - "name": "alpha-b-box-outline", - "codepoint": "F0BEE", - "aliases": [ - "alphabet-b-box-outline", - "letter-b-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "433A1CBB-57A4-44DA-8B93-B65AF6E54B1D", - "baseIconId": "910DF87E-809E-40D6-886F-34E581899455", - "name": "alpha-b-circle", - "codepoint": "F0BEF", - "aliases": [ - "alphabet-b-circle", - "letter-b-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "5CBD1C34-B372-4DA7-9FF1-19DD9B3D9C3A", - "baseIconId": "910DF87E-809E-40D6-886F-34E581899455", - "name": "alpha-b-circle-outline", - "codepoint": "F0BF0", - "aliases": [ - "alphabet-b-circle-outline", - "letter-b-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F5F53184-51BB-46A3-AB67-D799A1D15F7F", - "baseIconId": "F5F53184-51BB-46A3-AB67-D799A1D15F7F", - "name": "alpha-c", - "codepoint": "F0AF0", - "aliases": [ - "alphabet-c", - "letter-c" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "F7A4DF3D-18C8-4717-AD58-247CEFF7EDE3", - "baseIconId": "F5F53184-51BB-46A3-AB67-D799A1D15F7F", - "name": "alpha-c-box", - "codepoint": "F0B0A", - "aliases": [ - "alphabet-c-box", - "letter-c-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "9EB832F8-B389-47AA-ADDA-A2163E75DC20", - "baseIconId": "F5F53184-51BB-46A3-AB67-D799A1D15F7F", - "name": "alpha-c-box-outline", - "codepoint": "F0BF1", - "aliases": [ - "alphabet-c-box-outline", - "letter-c-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "19229F43-9ACD-477E-9A30-9D2731080026", - "baseIconId": "F5F53184-51BB-46A3-AB67-D799A1D15F7F", - "name": "alpha-c-circle", - "codepoint": "F0BF2", - "aliases": [ - "alphabet-c-circle", - "letter-c-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "23362597-17A2-4413-BE28-65B36F4591E7", - "baseIconId": "F5F53184-51BB-46A3-AB67-D799A1D15F7F", - "name": "alpha-c-circle-outline", - "codepoint": "F0BF3", - "aliases": [ - "alphabet-c-circle-outline", - "letter-c-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "0A79E0A4-CE86-431C-A152-57492815C31E", - "baseIconId": "0A79E0A4-CE86-431C-A152-57492815C31E", - "name": "alpha-d", - "codepoint": "F0AF1", - "aliases": [ - "alphabet-d", - "letter-d", - "drive" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Automotive", - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "5299B671-D7CF-4D68-B439-92E3056A104A", - "baseIconId": "0A79E0A4-CE86-431C-A152-57492815C31E", - "name": "alpha-d-box", - "codepoint": "F0B0B", - "aliases": [ - "alphabet-d-box", - "letter-d-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "5D512B06-6DF4-4BC7-A307-81512F828192", - "baseIconId": "0A79E0A4-CE86-431C-A152-57492815C31E", - "name": "alpha-d-box-outline", - "codepoint": "F0BF4", - "aliases": [ - "alphabet-d-box-outline", - "letter-d-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "758D2479-2950-4C5E-8FDC-C0FFA2EBE114", - "baseIconId": "0A79E0A4-CE86-431C-A152-57492815C31E", - "name": "alpha-d-circle", - "codepoint": "F0BF5", - "aliases": [ - "alphabet-d-circle", - "letter-d-circle" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "6B6C0FE9-544A-4098-A5B2-823160140EE7", - "baseIconId": "0A79E0A4-CE86-431C-A152-57492815C31E", - "name": "alpha-d-circle-outline", - "codepoint": "F0BF6", - "aliases": [ - "alphabet-d-circle-outline", - "letter-d-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "3B3F5AA2-8A97-4A66-BD4A-7AA105901B61", - "baseIconId": "3B3F5AA2-8A97-4A66-BD4A-7AA105901B61", - "name": "alpha-e", - "codepoint": "F0AF2", - "aliases": [ - "alphabet-e", - "letter-e" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "15C859D5-210D-4C8B-BB14-7A2B92ADB1C2", - "baseIconId": "3B3F5AA2-8A97-4A66-BD4A-7AA105901B61", - "name": "alpha-e-box", - "codepoint": "F0B0C", - "aliases": [ - "alphabet-e-box", - "letter-e-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "6C02F23D-4684-4018-9E47-624103B0653E", - "baseIconId": "3B3F5AA2-8A97-4A66-BD4A-7AA105901B61", - "name": "alpha-e-box-outline", - "codepoint": "F0BF7", - "aliases": [ - "alphabet-e-box-outline", - "letter-e-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "D1367C3A-1884-4A3E-A90F-0AAB3DDCACF1", - "baseIconId": "3B3F5AA2-8A97-4A66-BD4A-7AA105901B61", - "name": "alpha-e-circle", - "codepoint": "F0BF8", - "aliases": [ - "alphabet-e-circle", - "letter-e-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "CD51D79A-B691-4B46-BABF-6A419EE2716A", - "baseIconId": "3B3F5AA2-8A97-4A66-BD4A-7AA105901B61", - "name": "alpha-e-circle-outline", - "codepoint": "F0BF9", - "aliases": [ - "alphabet-e-circle-outline", - "letter-e-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "6E5FB32C-27B6-4ECE-8F88-65D8E29D1CD8", - "baseIconId": "6E5FB32C-27B6-4ECE-8F88-65D8E29D1CD8", - "name": "alpha-f", - "codepoint": "F0AF3", - "aliases": [ - "alphabet-f", - "letter-f" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "1E5D6AAB-6056-4CEE-88EC-87FBE2C84FF0", - "baseIconId": "6E5FB32C-27B6-4ECE-8F88-65D8E29D1CD8", - "name": "alpha-f-box", - "codepoint": "F0B0D", - "aliases": [ - "alphabet-f-box", - "letter-f-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "304C0008-2989-4DC9-8927-AE51F7B44F6C", - "baseIconId": "6E5FB32C-27B6-4ECE-8F88-65D8E29D1CD8", - "name": "alpha-f-box-outline", - "codepoint": "F0BFA", - "aliases": [ - "alphabet-f-box-outline", - "letter-f-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "317A9E55-62CC-4A55-B851-483EB546D022", - "baseIconId": "6E5FB32C-27B6-4ECE-8F88-65D8E29D1CD8", - "name": "alpha-f-circle", - "codepoint": "F0BFB", - "aliases": [ - "alphabet-f-circle", - "letter-f-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "46706811-B9CA-4F96-B201-63E658BE1F6D", - "baseIconId": "6E5FB32C-27B6-4ECE-8F88-65D8E29D1CD8", - "name": "alpha-f-circle-outline", - "codepoint": "F0BFC", - "aliases": [ - "alphabet-f-circle-outline", - "letter-f-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "4B7C3083-DFDF-402E-9D71-CABE04305297", - "baseIconId": "4B7C3083-DFDF-402E-9D71-CABE04305297", - "name": "alpha-g", - "codepoint": "F0AF4", - "aliases": [ - "alphabet-g", - "letter-g" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "A2781290-35AD-441F-B02C-15A0AB49B74D", - "baseIconId": "4B7C3083-DFDF-402E-9D71-CABE04305297", - "name": "alpha-g-box", - "codepoint": "F0B0E", - "aliases": [ - "alphabet-g-box", - "letter-g-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "D9ED1661-B57E-47E9-B727-F03BC035DE4D", - "baseIconId": "4B7C3083-DFDF-402E-9D71-CABE04305297", - "name": "alpha-g-box-outline", - "codepoint": "F0BFD", - "aliases": [ - "alphabet-g-box-outline", - "letter-g-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "5DB072AE-CE38-4FA8-A41D-0C7443DA3481", - "baseIconId": "4B7C3083-DFDF-402E-9D71-CABE04305297", - "name": "alpha-g-circle", - "codepoint": "F0BFE", - "aliases": [ - "alphabet-g-circle", - "letter-g-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "780BAB12-D647-4E55-BD56-487367D70FD0", - "baseIconId": "4B7C3083-DFDF-402E-9D71-CABE04305297", - "name": "alpha-g-circle-outline", - "codepoint": "F0BFF", - "aliases": [ - "alphabet-g-circle-outline", - "letter-g-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "99A5A78F-6759-4C02-A5D2-DA8FA3DDBBA9", - "baseIconId": "99A5A78F-6759-4C02-A5D2-DA8FA3DDBBA9", - "name": "alpha-h", - "codepoint": "F0AF5", - "aliases": [ - "alphabet-h", - "letter-h" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "180E5F6A-8C7E-4B29-92C1-94C97D1266B9", - "baseIconId": "99A5A78F-6759-4C02-A5D2-DA8FA3DDBBA9", - "name": "alpha-h-box", - "codepoint": "F0B0F", - "aliases": [ - "alphabet-h-box", - "letter-h-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "7568D810-145E-41E7-8447-E2257339D5D8", - "baseIconId": "99A5A78F-6759-4C02-A5D2-DA8FA3DDBBA9", - "name": "alpha-h-box-outline", - "codepoint": "F0C00", - "aliases": [ - "alphabet-h-box-outline", - "letter-h-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "FC1C719F-CE44-4B8A-A2A8-5DE6E02405D2", - "baseIconId": "99A5A78F-6759-4C02-A5D2-DA8FA3DDBBA9", - "name": "alpha-h-circle", - "codepoint": "F0C01", - "aliases": [ - "alphabet-h-circle", - "letter-h-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "29BA4374-825B-46E4-8E81-FC027000A16F", - "baseIconId": "99A5A78F-6759-4C02-A5D2-DA8FA3DDBBA9", - "name": "alpha-h-circle-outline", - "codepoint": "F0C02", - "aliases": [ - "alphabet-h-circle-outline", - "letter-h-circle-outline", - "helipad" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "C34618B6-174E-42C7-AD23-B65FCAC93D74", - "baseIconId": "C34618B6-174E-42C7-AD23-B65FCAC93D74", - "name": "alpha-i", - "codepoint": "F0AF6", - "aliases": [ - "alphabet-i", - "letter-i", - "roman-numeral-1" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "4D933A0E-88F5-4712-8BA1-0E60290A6623", - "baseIconId": "C34618B6-174E-42C7-AD23-B65FCAC93D74", - "name": "alpha-i-box", - "codepoint": "F0B10", - "aliases": [ - "alphabet-i-box", - "letter-i-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "E7CF351D-BC47-44AC-BA3E-D61F99D11026", - "baseIconId": "C34618B6-174E-42C7-AD23-B65FCAC93D74", - "name": "alpha-i-box-outline", - "codepoint": "F0C03", - "aliases": [ - "alphabet-i-box-outline", - "letter-i-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "0CAD67D2-EFF3-442E-91D6-1C27D759C1DD", - "baseIconId": "C34618B6-174E-42C7-AD23-B65FCAC93D74", - "name": "alpha-i-circle", - "codepoint": "F0C04", - "aliases": [ - "alphabet-i-circle", - "letter-i-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "4AAE84B4-CF3E-4736-A420-DD188452F819", - "baseIconId": "C34618B6-174E-42C7-AD23-B65FCAC93D74", - "name": "alpha-i-circle-outline", - "codepoint": "F0C05", - "aliases": [ - "alphabet-i-circle-outline", - "letter-i-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "C964FFC4-AA90-4AF6-B604-352082207789", - "baseIconId": "C964FFC4-AA90-4AF6-B604-352082207789", - "name": "alpha-j", - "codepoint": "F0AF7", - "aliases": [ - "alphabet-j", - "letter-j" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "1472FB12-4CBA-476C-8F57-E1CB5E4213A6", - "baseIconId": "C964FFC4-AA90-4AF6-B604-352082207789", - "name": "alpha-j-box", - "codepoint": "F0B11", - "aliases": [ - "alphabet-j-box", - "letter-j-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "52E82BF4-8023-49C2-A4CB-AF3A88B43D1A", - "baseIconId": "C964FFC4-AA90-4AF6-B604-352082207789", - "name": "alpha-j-box-outline", - "codepoint": "F0C06", - "aliases": [ - "alphabet-j-box-outline", - "letter-j-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "90C7D800-47CA-4E5E-860D-8AAB0F6C51DC", - "baseIconId": "C964FFC4-AA90-4AF6-B604-352082207789", - "name": "alpha-j-circle", - "codepoint": "F0C07", - "aliases": [ - "alphabet-j-circle", - "letter-j-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "0A0B3839-C0D3-422A-B688-E59F4927AA6F", - "baseIconId": "C964FFC4-AA90-4AF6-B604-352082207789", - "name": "alpha-j-circle-outline", - "codepoint": "F0C08", - "aliases": [ - "alphabet-j-circle-outline", - "letter-j-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "358C06F7-7E39-4023-A9FC-2C02F275B84B", - "baseIconId": "358C06F7-7E39-4023-A9FC-2C02F275B84B", - "name": "alpha-k", - "codepoint": "F0AF8", - "aliases": [ - "alphabet-k", - "letter-k" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "EF778205-36FD-4C55-BDFB-0373983C95D4", - "baseIconId": "358C06F7-7E39-4023-A9FC-2C02F275B84B", - "name": "alpha-k-box", - "codepoint": "F0B12", - "aliases": [ - "alphabet-k-box", - "letter-k-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "FD913715-7C1E-4E80-9A44-34992AADB3E6", - "baseIconId": "358C06F7-7E39-4023-A9FC-2C02F275B84B", - "name": "alpha-k-box-outline", - "codepoint": "F0C09", - "aliases": [ - "alphabet-k-box-outline", - "letter-k-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "1F260841-CE76-48D8-BACE-8935459D850E", - "baseIconId": "358C06F7-7E39-4023-A9FC-2C02F275B84B", - "name": "alpha-k-circle", - "codepoint": "F0C0A", - "aliases": [ - "alphabet-k-circle", - "letter-k-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F4E2D505-4C0D-4184-9F62-FDD7A450F6E7", - "baseIconId": "358C06F7-7E39-4023-A9FC-2C02F275B84B", - "name": "alpha-k-circle-outline", - "codepoint": "F0C0B", - "aliases": [ - "alphabet-k-circle-outline", - "letter-k-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "C4CFE00B-0978-482B-8E9E-F1DD4B21B45B", - "baseIconId": "C4CFE00B-0978-482B-8E9E-F1DD4B21B45B", - "name": "alpha-l", - "codepoint": "F0AF9", - "aliases": [ - "alphabet-l", - "letter-l" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "7E7BF31C-C3FA-4744-B214-FF8D15753ED5", - "baseIconId": "C4CFE00B-0978-482B-8E9E-F1DD4B21B45B", - "name": "alpha-l-box", - "codepoint": "F0B13", - "aliases": [ - "alphabet-l-box", - "letter-l-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "C0044FE0-893A-4429-A57F-9C58DFBE36CC", - "baseIconId": "C4CFE00B-0978-482B-8E9E-F1DD4B21B45B", - "name": "alpha-l-box-outline", - "codepoint": "F0C0C", - "aliases": [ - "alphabet-l-box-outline", - "letter-l-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "B1456398-80C2-4D10-B7D3-A79BE026E457", - "baseIconId": "C4CFE00B-0978-482B-8E9E-F1DD4B21B45B", - "name": "alpha-l-circle", - "codepoint": "F0C0D", - "aliases": [ - "alphabet-l-circle", - "letter-l-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F62EB8C2-6037-474B-8D48-FD635163D3A6", - "baseIconId": "C4CFE00B-0978-482B-8E9E-F1DD4B21B45B", - "name": "alpha-l-circle-outline", - "codepoint": "F0C0E", - "aliases": [ - "alphabet-l-circle-outline", - "letter-l-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "31B62839-D838-41FE-86B8-313070BBB0A9", - "baseIconId": "31B62839-D838-41FE-86B8-313070BBB0A9", - "name": "alpha-m", - "codepoint": "F0AFA", - "aliases": [ - "alphabet-m", - "letter-m" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "AB678336-D11A-4426-92A8-AA520A4F282B", - "baseIconId": "31B62839-D838-41FE-86B8-313070BBB0A9", - "name": "alpha-m-box", - "codepoint": "F0B14", - "aliases": [ - "alphabet-m-box", - "letter-m-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "147229CF-1402-4406-8E94-B83CC64248E2", - "baseIconId": "31B62839-D838-41FE-86B8-313070BBB0A9", - "name": "alpha-m-box-outline", - "codepoint": "F0C0F", - "aliases": [ - "alphabet-m-box-outline", - "letter-m-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "88D09175-8E63-4542-BBE7-6B8D7EC16EBE", - "baseIconId": "31B62839-D838-41FE-86B8-313070BBB0A9", - "name": "alpha-m-circle", - "codepoint": "F0C10", - "aliases": [ - "alphabet-m-circle", - "letter-m-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F85ABB66-FEE7-46ED-9DE3-AB3B24597863", - "baseIconId": "31B62839-D838-41FE-86B8-313070BBB0A9", - "name": "alpha-m-circle-outline", - "codepoint": "F0C11", - "aliases": [ - "alphabet-m-circle-outline", - "letter-m-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "528E55D8-A774-4678-9D76-42EEFDF5FE3E", - "baseIconId": "528E55D8-A774-4678-9D76-42EEFDF5FE3E", - "name": "alpha-n", - "codepoint": "F0AFB", - "aliases": [ - "alphabet-n", - "letter-n", - "neutral" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Automotive", - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "8A547BE1-B4F5-4080-824D-998618AF2542", - "baseIconId": "528E55D8-A774-4678-9D76-42EEFDF5FE3E", - "name": "alpha-n-box", - "codepoint": "F0B15", - "aliases": [ - "alphabet-n-box", - "letter-n-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "DF0B3005-5E38-4E53-9025-981EFA45D8FD", - "baseIconId": "528E55D8-A774-4678-9D76-42EEFDF5FE3E", - "name": "alpha-n-box-outline", - "codepoint": "F0C12", - "aliases": [ - "alphabet-n-box-outline", - "letter-n-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "929903C6-6867-4884-8A02-7D72F1C44F2D", - "baseIconId": "528E55D8-A774-4678-9D76-42EEFDF5FE3E", - "name": "alpha-n-circle", - "codepoint": "F0C13", - "aliases": [ - "alphabet-n-circle", - "letter-n-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "8DA6710E-B31C-42C1-BB43-1B903D4B5CA5", - "baseIconId": "528E55D8-A774-4678-9D76-42EEFDF5FE3E", - "name": "alpha-n-circle-outline", - "codepoint": "F0C14", - "aliases": [ - "alphabet-n-circle-outline", - "letter-n-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "67F8B291-3AA9-4C70-AEAB-0150A40909FB", - "baseIconId": "67F8B291-3AA9-4C70-AEAB-0150A40909FB", - "name": "alpha-o", - "codepoint": "F0AFC", - "aliases": [ - "alphabet-o", - "letter-o" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "53B24801-62B0-46AC-9474-90DCA470E506", - "baseIconId": "67F8B291-3AA9-4C70-AEAB-0150A40909FB", - "name": "alpha-o-box", - "codepoint": "F0B16", - "aliases": [ - "alphabet-o-box", - "letter-o-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "9563FB80-4D77-4800-B7DF-CCFDD00A49DD", - "baseIconId": "67F8B291-3AA9-4C70-AEAB-0150A40909FB", - "name": "alpha-o-box-outline", - "codepoint": "F0C15", - "aliases": [ - "alphabet-o-box-outline", - "letter-o-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "5DB486E7-89A5-45A6-8926-007B37DBC7D9", - "baseIconId": "67F8B291-3AA9-4C70-AEAB-0150A40909FB", - "name": "alpha-o-circle", - "codepoint": "F0C16", - "aliases": [ - "alphabet-o-circle", - "letter-o-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "485D936E-F9F7-4D89-A2CC-2C11268EAC1A", - "baseIconId": "67F8B291-3AA9-4C70-AEAB-0150A40909FB", - "name": "alpha-o-circle-outline", - "codepoint": "F0C17", - "aliases": [ - "alphabet-o-circle-outline", - "letter-o-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "750E27F3-36FF-423A-8AAD-F2FE833D9028", - "baseIconId": "750E27F3-36FF-423A-8AAD-F2FE833D9028", - "name": "alpha-p", - "codepoint": "F0AFD", - "aliases": [ - "alphabet-p", - "letter-p", - "park" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Automotive", - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "A2775802-5936-4F9A-9E7F-54D2EA8CC0E9", - "baseIconId": "750E27F3-36FF-423A-8AAD-F2FE833D9028", - "name": "alpha-p-box", - "codepoint": "F0B17", - "aliases": [ - "alphabet-p-box", - "letter-p-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "B9B61AA9-C657-4C73-8C75-2A01C08672A6", - "baseIconId": "750E27F3-36FF-423A-8AAD-F2FE833D9028", - "name": "alpha-p-box-outline", - "codepoint": "F0C18", - "aliases": [ - "alphabet-p-box-outline", - "letter-p-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "172BAE9F-C813-407E-A1D0-CBB548C3F9D8", - "baseIconId": "750E27F3-36FF-423A-8AAD-F2FE833D9028", - "name": "alpha-p-circle", - "codepoint": "F0C19", - "aliases": [ - "alphabet-p-circle", - "letter-p-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "5FF2B25B-8414-4FC9-BBEB-5D51901FB709", - "baseIconId": "750E27F3-36FF-423A-8AAD-F2FE833D9028", - "name": "alpha-p-circle-outline", - "codepoint": "F0C1A", - "aliases": [ - "alphabet-p-circle-outline", - "letter-p-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "7DAD6E06-5D6E-4827-A20E-526F2F5AF4C9", - "baseIconId": "7DAD6E06-5D6E-4827-A20E-526F2F5AF4C9", - "name": "alpha-q", - "codepoint": "F0AFE", - "aliases": [ - "alphabet-q", - "letter-q" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "4B916C98-B981-4822-90D2-3EADCAE01FA3", - "baseIconId": "7DAD6E06-5D6E-4827-A20E-526F2F5AF4C9", - "name": "alpha-q-box", - "codepoint": "F0B18", - "aliases": [ - "alphabet-q-box", - "letter-q-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "C30942DA-E2FB-41A1-A0A5-3FB004E8FC67", - "baseIconId": "7DAD6E06-5D6E-4827-A20E-526F2F5AF4C9", - "name": "alpha-q-box-outline", - "codepoint": "F0C1B", - "aliases": [ - "alphabet-q-box-outline", - "letter-q-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "03AA79A3-ADEF-4B0E-8023-455FAD721515", - "baseIconId": "7DAD6E06-5D6E-4827-A20E-526F2F5AF4C9", - "name": "alpha-q-circle", - "codepoint": "F0C1C", - "aliases": [ - "alphabet-q-circle", - "letter-q-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "43F96FE9-53D0-4C4E-AEC3-773656C97E41", - "baseIconId": "7DAD6E06-5D6E-4827-A20E-526F2F5AF4C9", - "name": "alpha-q-circle-outline", - "codepoint": "F0C1D", - "aliases": [ - "alphabet-q-circle-outline", - "letter-q-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "A1C326AD-B2A8-4A9A-98AA-B657C101EB2F", - "baseIconId": "A1C326AD-B2A8-4A9A-98AA-B657C101EB2F", - "name": "alpha-r", - "codepoint": "F0AFF", - "aliases": [ - "alphabet-r", - "letter-r", - "reverse" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Automotive", - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "0089397E-6983-4161-9D06-77F3598119DD", - "baseIconId": "A1C326AD-B2A8-4A9A-98AA-B657C101EB2F", - "name": "alpha-r-box", - "codepoint": "F0B19", - "aliases": [ - "alphabet-r-box", - "letter-r-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "206DB27B-1F78-481F-8E8E-1A78F8221EF7", - "baseIconId": "A1C326AD-B2A8-4A9A-98AA-B657C101EB2F", - "name": "alpha-r-box-outline", - "codepoint": "F0C1E", - "aliases": [ - "alphabet-r-box-outline", - "letter-r-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "A0CA4573-5B82-4760-BB23-7D1413DE7257", - "baseIconId": "A1C326AD-B2A8-4A9A-98AA-B657C101EB2F", - "name": "alpha-r-circle", - "codepoint": "F0C1F", - "aliases": [ - "alphabet-r-circle", - "letter-r-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "3EFEFA7D-EE69-4813-93AB-096C148CC74B", - "baseIconId": "A1C326AD-B2A8-4A9A-98AA-B657C101EB2F", - "name": "alpha-r-circle-outline", - "codepoint": "F0C20", - "aliases": [ - "alphabet-r-circle-outline", - "letter-r-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "5E4ECB99-9DA0-419C-AADE-F2F7AE91FF6A", - "baseIconId": "5E4ECB99-9DA0-419C-AADE-F2F7AE91FF6A", - "name": "alpha-s", - "codepoint": "F0B00", - "aliases": [ - "alphabet-s", - "letter-s" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "2BC531B2-987E-411F-B3AE-3686F24F3B05", - "baseIconId": "5E4ECB99-9DA0-419C-AADE-F2F7AE91FF6A", - "name": "alpha-s-box", - "codepoint": "F0B1A", - "aliases": [ - "alphabet-s-box", - "letter-s-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "839A6E89-0555-4B05-BADA-B0D0C665E885", - "baseIconId": "5E4ECB99-9DA0-419C-AADE-F2F7AE91FF6A", - "name": "alpha-s-box-outline", - "codepoint": "F0C21", - "aliases": [ - "alphabet-s-box-outline", - "letter-s-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "2F13C710-300C-4287-9320-C84024C1002D", - "baseIconId": "5E4ECB99-9DA0-419C-AADE-F2F7AE91FF6A", - "name": "alpha-s-circle", - "codepoint": "F0C22", - "aliases": [ - "alphabet-s-circle", - "letter-s-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "17018533-C274-4E75-86DB-2D0DB1F4B45E", - "baseIconId": "5E4ECB99-9DA0-419C-AADE-F2F7AE91FF6A", - "name": "alpha-s-circle-outline", - "codepoint": "F0C23", - "aliases": [ - "alphabet-s-circle-outline", - "letter-s-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "DEAF6AD9-9AB9-4B59-B47D-830357A4B665", - "baseIconId": "DEAF6AD9-9AB9-4B59-B47D-830357A4B665", - "name": "alpha-t", - "codepoint": "F0B01", - "aliases": [ - "alphabet-t", - "letter-t" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "3FDF524A-6293-4401-BEDE-7768370743CE", - "baseIconId": "DEAF6AD9-9AB9-4B59-B47D-830357A4B665", - "name": "alpha-t-box", - "codepoint": "F0B1B", - "aliases": [ - "alphabet-t-box", - "letter-t-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "5AB643B8-7A4C-470B-9C0C-3A3E1E730623", - "baseIconId": "DEAF6AD9-9AB9-4B59-B47D-830357A4B665", - "name": "alpha-t-box-outline", - "codepoint": "F0C24", - "aliases": [ - "alphabet-t-box-outline", - "letter-t-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "6A41607E-FD2D-49EB-B6A5-67472ECF381E", - "baseIconId": "DEAF6AD9-9AB9-4B59-B47D-830357A4B665", - "name": "alpha-t-circle", - "codepoint": "F0C25", - "aliases": [ - "alphabet-t-circle", - "letter-t-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "63897F2D-C1BC-46D0-96D8-82CCC8AB8E9C", - "baseIconId": "DEAF6AD9-9AB9-4B59-B47D-830357A4B665", - "name": "alpha-t-circle-outline", - "codepoint": "F0C26", - "aliases": [ - "alphabet-t-circle-outline", - "letter-t-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "7404138B-11FC-441F-9F64-2CADF3EED84F", - "baseIconId": "7404138B-11FC-441F-9F64-2CADF3EED84F", - "name": "alpha-u", - "codepoint": "F0B02", - "aliases": [ - "alphabet-u", - "letter-u" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "B383312A-D001-4F27-95D9-9C705B7529E7", - "baseIconId": "7404138B-11FC-441F-9F64-2CADF3EED84F", - "name": "alpha-u-box", - "codepoint": "F0B1C", - "aliases": [ - "alphabet-u-box", - "letter-u-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "CAA94F37-3C12-4A17-A0CF-F093E39F5463", - "baseIconId": "7404138B-11FC-441F-9F64-2CADF3EED84F", - "name": "alpha-u-box-outline", - "codepoint": "F0C27", - "aliases": [ - "alphabet-u-box-outline", - "letter-u-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "C47AD771-D938-41ED-B07A-28499959E3BF", - "baseIconId": "7404138B-11FC-441F-9F64-2CADF3EED84F", - "name": "alpha-u-circle", - "codepoint": "F0C28", - "aliases": [ - "alphabet-u-circle", - "letter-u-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "12B388EE-036B-45AF-8390-122E6BA125CF", - "baseIconId": "7404138B-11FC-441F-9F64-2CADF3EED84F", - "name": "alpha-u-circle-outline", - "codepoint": "F0C29", - "aliases": [ - "alphabet-u-circle-outline", - "letter-u-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "6A261917-D952-4EFD-B8A4-9A91BCF67DE1", - "baseIconId": "6A261917-D952-4EFD-B8A4-9A91BCF67DE1", - "name": "alpha-v", - "codepoint": "F0B03", - "aliases": [ - "alphabet-v", - "letter-v", - "roman-numeral-5" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "C3B68231-EFA7-4988-BED2-9C158A812AC4", - "baseIconId": "6A261917-D952-4EFD-B8A4-9A91BCF67DE1", - "name": "alpha-v-box", - "codepoint": "F0B1D", - "aliases": [ - "alphabet-v-box", - "letter-v-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "784EF15E-8476-47B9-BACA-D440F60A371E", - "baseIconId": "6A261917-D952-4EFD-B8A4-9A91BCF67DE1", - "name": "alpha-v-box-outline", - "codepoint": "F0C2A", - "aliases": [ - "alphabet-v-box-outline", - "letter-v-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "C97A782B-26C7-4732-804F-D7D5BE126D5D", - "baseIconId": "6A261917-D952-4EFD-B8A4-9A91BCF67DE1", - "name": "alpha-v-circle", - "codepoint": "F0C2B", - "aliases": [ - "alphabet-v-circle", - "letter-v-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F6CE363B-41A6-411A-9FDE-D36E24013012", - "baseIconId": "6A261917-D952-4EFD-B8A4-9A91BCF67DE1", - "name": "alpha-v-circle-outline", - "codepoint": "F0C2C", - "aliases": [ - "alphabet-v-circle-outline", - "letter-v-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "DFACCE73-8433-472E-AAB6-6471BBFDC82C", - "baseIconId": "DFACCE73-8433-472E-AAB6-6471BBFDC82C", - "name": "alpha-w", - "codepoint": "F0B04", - "aliases": [ - "alphabet-w", - "letter-w" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "E63E39FF-8E9F-470F-9CDD-55B2703E620A", - "baseIconId": "DFACCE73-8433-472E-AAB6-6471BBFDC82C", - "name": "alpha-w-box", - "codepoint": "F0B1E", - "aliases": [ - "alphabet-w-box", - "letter-w-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "B844FAFE-5491-4441-9C3E-23F2AB148E10", - "baseIconId": "DFACCE73-8433-472E-AAB6-6471BBFDC82C", - "name": "alpha-w-box-outline", - "codepoint": "F0C2D", - "aliases": [ - "alphabet-w-box-outline", - "letter-w-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "8718E128-006E-4009-A718-A104B4C8E3A4", - "baseIconId": "DFACCE73-8433-472E-AAB6-6471BBFDC82C", - "name": "alpha-w-circle", - "codepoint": "F0C2E", - "aliases": [ - "alphabet-w-circle", - "letter-w-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "24152C0F-8019-42D1-B4F2-3917388A8987", - "baseIconId": "DFACCE73-8433-472E-AAB6-6471BBFDC82C", - "name": "alpha-w-circle-outline", - "codepoint": "F0C2F", - "aliases": [ - "alphabet-w-circle-outline", - "letter-w-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "44344AAE-07D8-455B-AA2E-68474E8829FE", - "baseIconId": "44344AAE-07D8-455B-AA2E-68474E8829FE", - "name": "alpha-x", - "codepoint": "F0B05", - "aliases": [ - "alphabet-x", - "letter-x", - "roman-numeral-10" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "25BBD26F-C8D4-4E4D-899C-57D910EECA55", - "baseIconId": "44344AAE-07D8-455B-AA2E-68474E8829FE", - "name": "alpha-x-box", - "codepoint": "F0B1F", - "aliases": [ - "alphabet-x-box", - "letter-x-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "98537673-0A9D-4982-A0E0-BFD69A0C1401", - "baseIconId": "44344AAE-07D8-455B-AA2E-68474E8829FE", - "name": "alpha-x-box-outline", - "codepoint": "F0C30", - "aliases": [ - "alphabet-x-box-outline", - "letter-x-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "BF0C5599-EFCE-44ED-AD08-3CE99DFC9802", - "baseIconId": "44344AAE-07D8-455B-AA2E-68474E8829FE", - "name": "alpha-x-circle", - "codepoint": "F0C31", - "aliases": [ - "alphabet-x-circle", - "letter-x-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "8B9761E9-9101-4850-8DCA-D8B63193A20B", - "baseIconId": "44344AAE-07D8-455B-AA2E-68474E8829FE", - "name": "alpha-x-circle-outline", - "codepoint": "F0C32", - "aliases": [ - "alphabet-x-circle-outline", - "letter-x-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "CD6A13CC-DA14-42AD-A4A0-2A99EA3E5E3D", - "baseIconId": "CD6A13CC-DA14-42AD-A4A0-2A99EA3E5E3D", - "name": "alpha-y", - "codepoint": "F0B06", - "aliases": [ - "alphabet-y", - "letter-y" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "00418BEF-11B7-4644-8F57-3CBB7D8F9760", - "baseIconId": "CD6A13CC-DA14-42AD-A4A0-2A99EA3E5E3D", - "name": "alpha-y-box", - "codepoint": "F0B20", - "aliases": [ - "alphabet-y-box", - "letter-y-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "929FF46B-C6B6-4973-BB7E-44C232F149AC", - "baseIconId": "CD6A13CC-DA14-42AD-A4A0-2A99EA3E5E3D", - "name": "alpha-y-box-outline", - "codepoint": "F0C33", - "aliases": [ - "alphabet-y-box-outline", - "letter-y-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "07D04396-8CE9-47A0-80BF-9D7055655F81", - "baseIconId": "CD6A13CC-DA14-42AD-A4A0-2A99EA3E5E3D", - "name": "alpha-y-circle", - "codepoint": "F0C34", - "aliases": [ - "alphabet-y-circle", - "letter-y-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "94DF1C7C-7FDE-4AD8-B6F9-B23C3C4DA478", - "baseIconId": "CD6A13CC-DA14-42AD-A4A0-2A99EA3E5E3D", - "name": "alpha-y-circle-outline", - "codepoint": "F0C35", - "aliases": [ - "alphabet-y-circle-outline", - "letter-y-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "E82C7336-9ECE-4BA9-84BA-AA229FBF4E37", - "baseIconId": "E82C7336-9ECE-4BA9-84BA-AA229FBF4E37", - "name": "alpha-z", - "codepoint": "F0B07", - "aliases": [ - "alphabet-z", - "letter-z" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "175F93C9-39AA-4076-A997-B1984D5CE960", - "baseIconId": "E82C7336-9ECE-4BA9-84BA-AA229FBF4E37", - "name": "alpha-z-box", - "codepoint": "F0B21", - "aliases": [ - "alphabet-z-box", - "letter-z-box" - ], - "styles": [ - "box" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "EB6335C7-9EA1-4EB3-BCA5-2DF54F8B50C8", - "baseIconId": "E82C7336-9ECE-4BA9-84BA-AA229FBF4E37", - "name": "alpha-z-box-outline", - "codepoint": "F0C36", - "aliases": [ - "alphabet-z-box-outline", - "letter-z-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "1F60D37E-2D88-48D1-A291-D3F59D171E55", - "baseIconId": "E82C7336-9ECE-4BA9-84BA-AA229FBF4E37", - "name": "alpha-z-circle", - "codepoint": "F0C37", - "aliases": [ - "alphabet-z-circle", - "letter-z-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "63AF9496-BE67-43F7-9DE4-341E0EDC0C62", - "baseIconId": "E82C7336-9ECE-4BA9-84BA-AA229FBF4E37", - "name": "alpha-z-circle-outline", - "codepoint": "F0C38", - "aliases": [ - "alphabet-z-circle-outline", - "letter-z-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "68AC0195-57C1-4759-8814-FA18DFE0351B", - "baseIconId": "68AC0195-57C1-4759-8814-FA18DFE0351B", - "name": "alphabet-aurebesh", - "codepoint": "F132C", - "aliases": [ - "writing-system-aurebesh" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "197B613F-AF17-41DE-B2A6-7FCB8D86C366", - "baseIconId": "197B613F-AF17-41DE-B2A6-7FCB8D86C366", - "name": "alphabet-cyrillic", - "codepoint": "F132D", - "aliases": [ - "writing-system-cyrillic" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "5E1EDFBD-2E67-41E1-8E23-F835614DBBD9", - "baseIconId": "5E1EDFBD-2E67-41E1-8E23-F835614DBBD9", - "name": "alphabet-greek", - "codepoint": "F132E", - "aliases": [ - "writing-system-greek" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "07851190-1E8F-43D3-A5BF-01A120C0A3FB", - "baseIconId": "07851190-1E8F-43D3-A5BF-01A120C0A3FB", - "name": "alphabet-latin", - "codepoint": "F132F", - "aliases": [ - "writing-system-latin" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "169593B8-F579-4167-B49C-5F353BBABB00", - "baseIconId": "169593B8-F579-4167-B49C-5F353BBABB00", - "name": "alphabet-piqad", - "codepoint": "F1330", - "aliases": [ - "writing-system-piqad" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "48C4C59F-80F3-454B-94B2-1951506F38C1", - "baseIconId": "48C4C59F-80F3-454B-94B2-1951506F38C1", - "name": "alphabet-tengwar", - "codepoint": "F1337", - "aliases": [ - "writing-system-tengwar" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "EAD8BAC5-EE7C-4553-9316-F45094CF9C7A", - "baseIconId": "EAD8BAC5-EE7C-4553-9316-F45094CF9C7A", - "name": "alphabetical", - "codepoint": "F002C", - "aliases": [ - "letters", - "a-b-c", - "abc" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Austin Andrews" - }, - { - "id": "5C6F0A6B-362A-4EBF-9E0C-57E7405429AE", - "baseIconId": "EAD8BAC5-EE7C-4553-9316-F45094CF9C7A", - "name": "alphabetical-off", - "codepoint": "F100C", - "aliases": [ - "letters-off", - "abc-off", - "a-b-c-off" - ], - "styles": [ - "off" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Richins" - }, - { - "id": "87F9C7D3-2B22-45A0-A1A8-1060ECA2B0DD", - "baseIconId": "EAD8BAC5-EE7C-4553-9316-F45094CF9C7A", - "name": "alphabetical-variant", - "codepoint": "F100D", - "aliases": [ - "letters", - "abc", - "a-b-c" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Richins" - }, - { - "id": "5C408382-5124-4A1E-9603-C510614D4C63", - "baseIconId": "EAD8BAC5-EE7C-4553-9316-F45094CF9C7A", - "name": "alphabetical-variant-off", - "codepoint": "F100E", - "aliases": [ - "letters-off", - "abc-off", - "a-b-c-off" - ], - "styles": [ - "off", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Richins" - }, - { - "id": "1F7A2F31-3549-4F3C-A95E-E7356033A601", - "baseIconId": "1F7A2F31-3549-4F3C-A95E-E7356033A601", - "name": "altimeter", - "codepoint": "F05D7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "B0DB559B-A9D4-473A-AF6D-C72559CCC9D9", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "ambulance", - "codepoint": "F002F", - "aliases": [], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "0F3F828D-7F80-4571-A5B5-296FAC62FFB9", - "baseIconId": "AED3CA58-6CAA-45AF-9791-F61AC32DAFBA", - "name": "ammunition", - "codepoint": "F0CE8", - "aliases": [ - "bullets" - ], - "styles": [ - "multiple" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CC5AC69B-0EAA-454A-8757-4F670F478952", - "baseIconId": "CC5AC69B-0EAA-454A-8757-4F670F478952", - "name": "ampersand", - "codepoint": "F0A8D", - "aliases": [ - "and" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4A952C8C-7A6F-4028-A974-48E4DCE299CF", - "baseIconId": "4A952C8C-7A6F-4028-A974-48E4DCE299CF", - "name": "amplifier", - "codepoint": "F0030", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Music" - ], - "author": "Christopher Schreiner" - }, - { - "id": "E2914725-030B-4979-BCDE-87FCD4435F7F", - "baseIconId": "4A952C8C-7A6F-4028-A974-48E4DCE299CF", - "name": "amplifier-off", - "codepoint": "F11B5", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8A3C8CCE-D798-446B-A283-90129AD847C9", - "baseIconId": "8A3C8CCE-D798-446B-A283-90129AD847C9", - "name": "anchor", - "codepoint": "F0031", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Water" - ], - "author": "Google" - }, - { - "id": "4633B767-FF29-411D-8C04-69057C6B65B2", - "baseIconId": "4633B767-FF29-411D-8C04-69057C6B65B2", - "name": "android", - "codepoint": "F0032", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "B156B15D-86F9-40E0-8B8E-421F78BE5509", - "baseIconId": "B156B15D-86F9-40E0-8B8E-421F78BE5509", - "name": "android-studio", - "codepoint": "F0034", - "aliases": [ - "math-compass-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "B4A236B3-E14B-4A64-8EDD-A48128013388", - "baseIconId": "77550809-9FBB-4283-BA57-7C48AB2B86C0", - "name": "angle-acute", - "codepoint": "F0937", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Haley Halcyon" - }, - { - "id": "7A6B88D9-B385-4A6B-84C8-8280456944E4", - "baseIconId": "77550809-9FBB-4283-BA57-7C48AB2B86C0", - "name": "angle-obtuse", - "codepoint": "F0938", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Haley Halcyon" - }, - { - "id": "77550809-9FBB-4283-BA57-7C48AB2B86C0", - "baseIconId": "77550809-9FBB-4283-BA57-7C48AB2B86C0", - "name": "angle-right", - "codepoint": "F0939", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Haley Halcyon" - }, - { - "id": "549F8173-7E91-411F-9ECF-D04D2B64B386", - "baseIconId": "549F8173-7E91-411F-9ECF-D04D2B64B386", - "name": "angular", - "codepoint": "F06B2", - "aliases": [], - "styles": [], - "version": "1.7.22", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "8A82CBEA-C1B3-40C2-96C2-DED8D83DA446", - "baseIconId": "549F8173-7E91-411F-9ECF-D04D2B64B386", - "name": "angularjs", - "codepoint": "F06BF", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "animation", - "codepoint": "F05D8", - "aliases": [ - "auto-awesome-motion" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5DCFE57B-82CA-401A-A797-3C12F1BF4080", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "animation-outline", - "codepoint": "F0A8F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "093AE881-42E2-46B9-B833-894DDC2FE368", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "animation-play", - "codepoint": "F093A", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "423AD280-5A46-49AF-B4C7-20C5E1640002", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "animation-play-outline", - "codepoint": "F0A90", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "34EEAB55-08C0-4C84-A580-CAF1FA926D94", - "baseIconId": "34EEAB55-08C0-4C84-A580-CAF1FA926D94", - "name": "ansible", - "codepoint": "F109A", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "B6F97155-147F-4D03-9C71-7668E5EA2712", - "baseIconId": "B6F97155-147F-4D03-9C71-7668E5EA2712", - "name": "antenna", - "codepoint": "F1119", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C72FF17B-D0E1-4641-9802-B6BA993D5910", - "baseIconId": "C72FF17B-D0E1-4641-9802-B6BA993D5910", - "name": "anvil", - "codepoint": "F089B", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "B94C01C7-0851-4FD4-AEFD-CCD63F65C093", - "baseIconId": "B94C01C7-0851-4FD4-AEFD-CCD63F65C093", - "name": "apache-kafka", - "codepoint": "F100F", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "ABE80259-E64D-4BF4-BC6E-1D8FFA16636F", - "baseIconId": "ABE80259-E64D-4BF4-BC6E-1D8FFA16636F", - "name": "api", - "codepoint": "F109B", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Google" - }, - { - "id": "22B88F3A-28F4-41FA-A63B-721699E2A8B2", - "baseIconId": "ABE80259-E64D-4BF4-BC6E-1D8FFA16636F", - "name": "api-off", - "codepoint": "F1257", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "sergiocarlotto" - }, - { - "id": "2829275C-A01C-42CD-A195-447629791D04", - "baseIconId": "2829275C-A01C-42CD-A195-447629791D04", - "name": "apple", - "codepoint": "F0035", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "FAEC5B00-46A8-49AD-87DA-765891B9E387", - "baseIconId": "FAEC5B00-46A8-49AD-87DA-765891B9E387", - "name": "apple-finder", - "codepoint": "F0036", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "BDB8AF3D-28BD-4FF2-AED0-36108C1B0543", - "baseIconId": "BDB8AF3D-28BD-4FF2-AED0-36108C1B0543", - "name": "apple-icloud", - "codepoint": "F0038", - "aliases": [ - "apple-mobileme" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9B0B7248-3416-4D43-9CE1-13D70949EAA1", - "baseIconId": "9B0B7248-3416-4D43-9CE1-13D70949EAA1", - "name": "apple-ios", - "codepoint": "F0037", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "070FF4A9-7726-4682-8ABD-AC1800B8D83E", - "baseIconId": "5AF5B660-DDD5-446A-8AC9-102776DBBBC9", - "name": "apple-keyboard-caps", - "codepoint": "F0632", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "03043022-A59D-4E31-B385-E6D94D3D9B92", - "baseIconId": "03043022-A59D-4E31-B385-E6D94D3D9B92", - "name": "apple-keyboard-command", - "codepoint": "F0633", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F24769F6-25C3-4244-8C64-13A514E7CAAD", - "baseIconId": "F24769F6-25C3-4244-8C64-13A514E7CAAD", - "name": "apple-keyboard-control", - "codepoint": "F0634", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C06A94E2-9606-484B-BC0D-D0B9A2FBA76F", - "baseIconId": "C06A94E2-9606-484B-BC0D-D0B9A2FBA76F", - "name": "apple-keyboard-option", - "codepoint": "F0635", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5AF5B660-DDD5-446A-8AC9-102776DBBBC9", - "baseIconId": "5AF5B660-DDD5-446A-8AC9-102776DBBBC9", - "name": "apple-keyboard-shift", - "codepoint": "F0636", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F79DE68B-BB98-41F7-9B5D-69C8926AB9B0", - "baseIconId": "F79DE68B-BB98-41F7-9B5D-69C8926AB9B0", - "name": "apple-safari", - "codepoint": "F0039", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application", - "codepoint": "F08C6", - "aliases": [ - "iframe" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B5216901-ECCB-41B3-8F35-BFA701ECDDBC", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-array", - "codepoint": "F10F5", - "aliases": [ - "iframe-array" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D07A9442-941E-47BB-8B31-F2EB41DE069E", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-array-outline", - "codepoint": "F10F6", - "aliases": [ - "iframe-array-outline" - ], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6453ED46-EC58-4FE8-94C3-1AC170E42152", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-braces", - "codepoint": "F10F7", - "aliases": [ - "iframe-braces" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3727A772-B282-4785-B291-A7C7EBCB25A8", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-braces-outline", - "codepoint": "F10F8", - "aliases": [ - "iframe-braces-outline" - ], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "86A1CD17-B112-46F8-A076-424D528A25AA", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-brackets", - "codepoint": "F0C8B", - "aliases": [ - "iframe-brackets" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Richins" - }, - { - "id": "87F83807-58BE-49C5-981B-CBDFD8EABE4A", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-brackets-outline", - "codepoint": "F0C8C", - "aliases": [ - "iframe-brackets-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Richins" - }, - { - "id": "38278159-AC2C-433A-9335-95B05C1F6F56", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-cog", - "codepoint": "F0675", - "aliases": [ - "iframe-cog" - ], - "styles": [ - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A3B1663D-87F0-4E57-BAF4-5CB9D0CC6B17", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-cog-outline", - "codepoint": "F1577", - "aliases": [ - "application-settings", - "iframe-cog-outline" - ], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AAF23976-7C9D-4AFA-BE25-CCD225A95EEA", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-edit", - "codepoint": "F00AE", - "aliases": [ - "iframe-edit" - ], - "styles": [ - "edit" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FBD11E2A-7F1F-4CE2-B17D-B3623D4FEA43", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-edit-outline", - "codepoint": "F0619", - "aliases": [ - "iframe-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "19852AF4-396B-4BA7-B9A1-3E412D49290A", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-export", - "codepoint": "F0DAD", - "aliases": [ - "iframe-export-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0870BDBC-060F-49E5-B72C-CA06949643AF", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-import", - "codepoint": "F0DAE", - "aliases": [ - "iframe-import-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "55C0C50F-9F4D-44C4-A84B-C79F645A8604", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-outline", - "codepoint": "F0614", - "aliases": [ - "web-asset", - "iframe-outline" - ], - "styles": [ - "outline" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2A524868-FBD4-442F-8E4C-413A1C8DDDEE", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-parentheses", - "codepoint": "F10F9", - "aliases": [ - "iframe-parentheses" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9FA63D08-5057-4AA3-9FD0-367B8AE55352", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-parentheses-outline", - "codepoint": "F10FA", - "aliases": [ - "iframe-parentheses-outline" - ], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0AA8EAC5-6700-47B6-A38B-0E58CFA0CFE7", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-settings", - "codepoint": "F0B60", - "aliases": [ - "iframe-settings" - ], - "styles": [ - "settings" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EB7E0628-A5CC-4E23-9AD1-CC35CC4E3722", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-settings-outline", - "codepoint": "F1555", - "aliases": [ - "iframe-settings-outline" - ], - "styles": [ - "outline", - "settings" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "CoreyVidal" - }, - { - "id": "A42EE2E1-D139-426F-9B59-C21E8C185DA7", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-variable", - "codepoint": "F10FB", - "aliases": [ - "iframe-variable" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DF02C215-E96B-40CA-B372-9767965F11D3", - "baseIconId": "DD3492E1-1F83-4E41-8BA9-9E6A1380D235", - "name": "application-variable-outline", - "codepoint": "F10FC", - "aliases": [ - "iframe-variable-outline" - ], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B5A9F91C-21A0-415A-AC77-B4318137C32D", - "baseIconId": "B5A9F91C-21A0-415A-AC77-B4318137C32D", - "name": "approximately-equal", - "codepoint": "F0F9E", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8EE13AEC-B8FF-4E25-9D5B-8447B0310133", - "baseIconId": "B5A9F91C-21A0-415A-AC77-B4318137C32D", - "name": "approximately-equal-box", - "codepoint": "F0F9F", - "aliases": [], - "styles": [ - "box" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7F5B9650-26E7-4A88-A6D1-2C338778651D", - "baseIconId": "7F5B9650-26E7-4A88-A6D1-2C338778651D", - "name": "apps", - "codepoint": "F003B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "3EEC66E4-C03F-4701-B151-1C8048D19505", - "baseIconId": "7F5B9650-26E7-4A88-A6D1-2C338778651D", - "name": "apps-box", - "codepoint": "F0D46", - "aliases": [], - "styles": [ - "box" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B7F8E18D-C18D-4EA1-BABE-BE0E48BDCF2D", - "baseIconId": "B7F8E18D-C18D-4EA1-BABE-BE0E48BDCF2D", - "name": "arch", - "codepoint": "F08C7", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9C2AD144-9997-4169-983C-879DCCD62760", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive", - "codepoint": "F003C", - "aliases": [ - "box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "41367FBC-DCE3-4202-AF33-3AD576C3FD7C", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-alert", - "codepoint": "F14FD", - "aliases": [ - "box-alert" - ], - "styles": [ - "alert" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "1D17B03B-9147-4067-8F5E-88773D68289E", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-alert-outline", - "codepoint": "F14FE", - "aliases": [ - "box-alert-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "237B205E-C03C-424A-93F9-8C771FE01A38", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-arrow-down", - "codepoint": "F1259", - "aliases": [ - "box-arrow-down", - "this-side-down" - ], - "styles": [ - "arrow" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "133BA980-E797-4DB3-9C92-F59AC3DB3399", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-arrow-down-outline", - "codepoint": "F125A", - "aliases": [ - "box-arrow-down", - "this-side-down-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "43E8F715-D3DB-4CAA-9355-88E22C7E4D28", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-arrow-up", - "codepoint": "F125B", - "aliases": [ - "box-arrow-up", - "this-side-up" - ], - "styles": [ - "arrow" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "643EF8E3-148D-4858-85C6-A965822B74CF", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-arrow-up-outline", - "codepoint": "F125C", - "aliases": [ - "box-arrow-up-outline", - "this-side-up-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "656CE7E5-1C31-4428-A609-703A2AA39DA7", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-cancel", - "codepoint": "F174B", - "aliases": [ - "box-cancel" - ], - "styles": [ - "cancel" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2D1FAE99-E9DD-480C-B144-8B7FC7AB99C4", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-cancel-outline", - "codepoint": "F174C", - "aliases": [ - "box-cancel-outline" - ], - "styles": [ - "cancel", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "03F9B9A5-04B8-4A24-AE38-87BE165BBE35", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-check", - "codepoint": "F174D", - "aliases": [ - "box-check", - "archive-success", - "box-success" - ], - "styles": [ - "check" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F5A70DE2-BC31-4FCA-AE8E-5295D2F5DB7B", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-check-outline", - "codepoint": "F174E", - "aliases": [ - "box-check-outline", - "archive-success-outline", - "box-success-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8DBB6350-60C3-4433-9805-C8AB712950C4", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-clock", - "codepoint": "F174F", - "aliases": [ - "box-clock", - "box-time", - "archive-time" - ], - "styles": [ - "clock" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0087686D-DB93-46D3-AD96-C8BA2F17E0D6", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-clock-outline", - "codepoint": "F1750", - "aliases": [ - "box-clock-outline", - "box-time-outline", - "archive-time-outline" - ], - "styles": [ - "clock", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3B5F3441-7A3E-4CF1-933B-F5FCF801CB8E", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-cog", - "codepoint": "F1751", - "aliases": [ - "box-cog" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FD6CA806-C4D6-4D5E-AA3B-4292EE225734", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-cog-outline", - "codepoint": "F1752", - "aliases": [ - "box-cog-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6FC882E2-B34D-47ED-8E18-6CD197A0D709", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-edit", - "codepoint": "F1753", - "aliases": [ - "box-edit" - ], - "styles": [ - "edit" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "18D5853A-26A8-416D-9029-9F216DA3316B", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-edit-outline", - "codepoint": "F1754", - "aliases": [ - "box-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "82B3AAAD-92D1-4524-98F4-F29AFB1A5BFA", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-eye", - "codepoint": "F1755", - "aliases": [ - "archive-view", - "box-eye", - "box-view" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A61C4171-FA5D-4273-A1F5-72CC6506BE70", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-eye-outline", - "codepoint": "F1756", - "aliases": [ - "archive-view-outline", - "box-eye-outline", - "box-view-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "52016536-6E90-4C85-891F-5A9183313497", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-lock", - "codepoint": "F1757", - "aliases": [ - "box-lock" - ], - "styles": [ - "lock" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DE180687-AD0B-4DE0-8156-EC22729FE7C3", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-lock-open", - "codepoint": "F1758", - "aliases": [ - "box-lock-open" - ], - "styles": [ - "lock" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5128174B-10F3-4057-96AE-4DD993B4317F", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-lock-open-outline", - "codepoint": "F1759", - "aliases": [ - "box-lock-open-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E5F9A56B-CB7E-4EEC-B03A-571F9704E32E", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-lock-outline", - "codepoint": "F175A", - "aliases": [ - "box-lock-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FDC11926-2947-4451-A7CE-2466D7CB8E07", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-marker", - "codepoint": "F175B", - "aliases": [ - "archive-location", - "box-marker", - "box-location" - ], - "styles": [ - "marker" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8639E3F6-3A01-47DF-9787-F80E273C99A2", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-marker-outline", - "codepoint": "F175C", - "aliases": [ - "archive-location-outline", - "box-marker-outline", - "box-location-outline" - ], - "styles": [ - "marker", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0C3AB42B-5B81-46D3-A4BB-DB367FC99B3F", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-minus", - "codepoint": "F175D", - "aliases": [ - "box-minus" - ], - "styles": [ - "minus" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F0B3A03C-4591-4F17-8FD7-CD65BC990596", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-minus-outline", - "codepoint": "F175E", - "aliases": [ - "box-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "30D759AA-6F1F-463A-9768-8D92F607207F", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-music", - "codepoint": "F175F", - "aliases": [ - "box-music" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B039CC1C-A987-4383-874C-587493FD807D", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-music-outline", - "codepoint": "F1760", - "aliases": [ - "box-music-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C99E212A-CA2F-4E72-B727-B3B87C17B6B2", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-off", - "codepoint": "F1761", - "aliases": [ - "box-off" - ], - "styles": [ - "off" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6E4F081A-2C98-4B93-B617-F1077839E94E", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-off-outline", - "codepoint": "F1762", - "aliases": [ - "box-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4B8AAB0C-9EB8-44D9-B1DF-C2EE6ACB91BE", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-outline", - "codepoint": "F120E", - "aliases": [ - "box-outline" - ], - "styles": [ - "outline" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "James Coyle" - }, - { - "id": "FA4EDA1A-8E9B-47EA-9436-B75CF8BB5B21", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-plus", - "codepoint": "F1763", - "aliases": [ - "archive-add", - "box-plus", - "box-add" - ], - "styles": [ - "plus" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C2898E88-9D7F-44D1-A653-539A4B5481EC", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-plus-outline", - "codepoint": "F1764", - "aliases": [ - "archive-add-outline", - "box-plus-outline", - "box-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8BFF742C-7BD5-46C0-B280-0813A2431850", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-refresh", - "codepoint": "F1765", - "aliases": [ - "box-refresh" - ], - "styles": [ - "refresh" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "AFCA7BDE-7A75-4C5E-BC61-32662E4B011C", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-refresh-outline", - "codepoint": "F1766", - "aliases": [ - "box-refresh-outline" - ], - "styles": [ - "outline", - "refresh" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F856A6DD-E894-4B78-BE97-4239C01CECF7", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-remove", - "codepoint": "F1767", - "aliases": [ - "box-remove" - ], - "styles": [ - "remove" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "68E7CD1A-7530-4710-8A10-D9D1CF5EFB7F", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-remove-outline", - "codepoint": "F1768", - "aliases": [ - "box-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "28C866C2-139E-4AF4-8E3D-F23CFE556B59", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-search", - "codepoint": "F1769", - "aliases": [ - "box-search" - ], - "styles": [ - "search" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6705AD82-194D-411F-8822-EC3DA2379582", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-search-outline", - "codepoint": "F176A", - "aliases": [ - "box-search-outline" - ], - "styles": [ - "outline", - "search" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1F72C97E-9F21-4096-B59B-CD23519B1367", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-settings", - "codepoint": "F176B", - "aliases": [ - "box-settings" - ], - "styles": [ - "settings" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E07DE8F7-F3D7-4FCB-95EC-5D6C52CAFE32", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-settings-outline", - "codepoint": "F176C", - "aliases": [ - "box-settings-outline" - ], - "styles": [ - "outline", - "settings" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "08484938-1011-46B2-9756-2C227B9BCAAC", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-star", - "codepoint": "F176D", - "aliases": [ - "archive-favorite", - "box-star", - "box-favorite" - ], - "styles": [ - "star" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "05768C3B-09EA-40A8-AC27-F13F734FBB4A", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-star-outline", - "codepoint": "F176E", - "aliases": [ - "archive-favorite-outline", - "box-star-outline", - "box-favorite-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "BCB51994-105E-404E-96D2-1242AEB13CDB", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-sync", - "codepoint": "F176F", - "aliases": [ - "box-sync" - ], - "styles": [ - "sync" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "BB297982-E355-4AEE-9D17-CD57BDB0625A", - "baseIconId": "9C2AD144-9997-4169-983C-879DCCD62760", - "name": "archive-sync-outline", - "codepoint": "F1770", - "aliases": [ - "box-sync-outline" - ], - "styles": [ - "outline", - "sync" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F7613EF8-368F-4AA6-B833-7246A01C3961", - "baseIconId": "F7613EF8-368F-4AA6-B833-7246A01C3961", - "name": "arm-flex", - "codepoint": "F0FD7", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "yuanruili" - }, - { - "id": "D64BE31F-BA1D-48E0-B747-A1422392EC2D", - "baseIconId": "F7613EF8-368F-4AA6-B833-7246A01C3961", - "name": "arm-flex-outline", - "codepoint": "F0FD6", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "yuanruili" - }, - { - "id": "7F57A003-5F4E-46CF-9099-51B8D05381F8", - "baseIconId": "679C0678-9688-49FD-BA71-BED740A09267", - "name": "arrange-bring-forward", - "codepoint": "F003D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrange", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "679C0678-9688-49FD-BA71-BED740A09267", - "baseIconId": "679C0678-9688-49FD-BA71-BED740A09267", - "name": "arrange-bring-to-front", - "codepoint": "F003E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrange", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "677B1C90-BB0B-4F73-8EEA-D6E8FA709A6D", - "baseIconId": "679C0678-9688-49FD-BA71-BED740A09267", - "name": "arrange-send-backward", - "codepoint": "F003F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrange", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "86145497-4CAA-41D6-A14E-0DD3FEE7721E", - "baseIconId": "679C0678-9688-49FD-BA71-BED740A09267", - "name": "arrange-send-to-back", - "codepoint": "F0040", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrange", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "5540E986-54E7-4FBF-A62F-9937B9E4F78D", - "baseIconId": "5540E986-54E7-4FBF-A62F-9937B9E4F78D", - "name": "arrow-all", - "codepoint": "F0041", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "baseIconId": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "name": "arrow-bottom-left", - "codepoint": "F0042", - "aliases": [ - "arrow-down-left" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "2EB5C181-D681-49D8-8D2D-C57840531E7F", - "baseIconId": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "name": "arrow-bottom-left-bold-box", - "codepoint": "F1964", - "aliases": [], - "styles": [ - "bold", - "box" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EDB8949D-3883-4491-BD88-C3D7C8BA2A3E", - "baseIconId": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "name": "arrow-bottom-left-bold-box-outline", - "codepoint": "F1965", - "aliases": [], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B34E6142-64AF-43FE-A565-2FAEEA35B800", - "baseIconId": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "name": "arrow-bottom-left-bold-outline", - "codepoint": "F09B7", - "aliases": [ - "arrow-down-left-bold-outline" - ], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "73858F0F-F08D-4D54-A3C1-54E794E9C097", - "baseIconId": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "name": "arrow-bottom-left-thick", - "codepoint": "F09B8", - "aliases": [ - "arrow-down-left-thick", - "arrow-bottom-left-bold", - "arrow-down-left-bold" - ], - "styles": [ - "thick" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "33169DB7-00C0-42E0-8C2D-2F50902FA15F", - "baseIconId": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "name": "arrow-bottom-left-thin", - "codepoint": "F19B6", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "D2582EA8-570A-4CB9-81A0-5DB3308BF6BD", - "baseIconId": "25DD11B1-DE14-49E3-A54F-B01DCC45798D", - "name": "arrow-bottom-left-thin-circle-outline", - "codepoint": "F1596", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "baseIconId": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "name": "arrow-bottom-right", - "codepoint": "F0043", - "aliases": [ - "arrow-down-right" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "0A3C9B3E-5A92-45A9-AE11-63B0512981FB", - "baseIconId": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "name": "arrow-bottom-right-bold-box", - "codepoint": "F1966", - "aliases": [], - "styles": [ - "bold", - "box" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C7024F9B-C057-444C-828C-5881C59183AE", - "baseIconId": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "name": "arrow-bottom-right-bold-box-outline", - "codepoint": "F1967", - "aliases": [], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "ABD34714-B566-4EDF-B876-93BFB6D254CB", - "baseIconId": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "name": "arrow-bottom-right-bold-outline", - "codepoint": "F09B9", - "aliases": [ - "arrow-down-right-bold-outline" - ], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "01AD77CD-8F92-4E32-A752-387203BC9FF8", - "baseIconId": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "name": "arrow-bottom-right-thick", - "codepoint": "F09BA", - "aliases": [ - "arrow-down-right-thick", - "arrow-bottom-right-bold", - "arrow-down-right-bold" - ], - "styles": [ - "thick" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "38BFAB4E-F7D3-45AE-BD45-39385BB23EE2", - "baseIconId": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "name": "arrow-bottom-right-thin", - "codepoint": "F19B7", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "26479C31-47EF-4EDA-B11E-323B136B7A6B", - "baseIconId": "F7CB7031-655F-43BE-9165-F6C2CEC047B4", - "name": "arrow-bottom-right-thin-circle-outline", - "codepoint": "F1595", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "86BB43B4-910B-4174-8455-661875054171", - "baseIconId": "86BB43B4-910B-4174-8455-661875054171", - "name": "arrow-collapse", - "codepoint": "F0615", - "aliases": [ - "arrow-compress" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "54364780-8F31-4B23-8085-ABE21EA55926", - "baseIconId": "86BB43B4-910B-4174-8455-661875054171", - "name": "arrow-collapse-all", - "codepoint": "F0044", - "aliases": [ - "arrow-compress-all" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "9989309E-22E1-46F6-B710-6717D1C5EA11", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-collapse-down", - "codepoint": "F0792", - "aliases": [ - "arrow-compress-down" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "56953ABE-D834-4DC6-A44B-87A3BF1181BA", - "baseIconId": "7234382E-CB5D-4EB3-8BA2-0C50BC2171DB", - "name": "arrow-collapse-horizontal", - "codepoint": "F084C", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "9F794864-D790-48F3-A8B4-31AEC3BB17FD", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-collapse-left", - "codepoint": "F0793", - "aliases": [ - "arrow-compress-left" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "FFED25A5-FD40-4274-9EE3-6B26F5C03584", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-collapse-right", - "codepoint": "F0794", - "aliases": [ - "arrow-compress-right" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "1E02D94D-6931-4CB8-8836-5276B076D811", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-collapse-up", - "codepoint": "F0795", - "aliases": [ - "arrow-compress-up" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "1D7700E7-2963-479F-81E1-910E2566894F", - "baseIconId": "7234382E-CB5D-4EB3-8BA2-0C50BC2171DB", - "name": "arrow-collapse-vertical", - "codepoint": "F084D", - "aliases": [ - "compress" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "61D65F86-CEB6-4CCC-8B88-00A4D0AD37C4", - "baseIconId": "61D65F86-CEB6-4CCC-8B88-00A4D0AD37C4", - "name": "arrow-decision", - "codepoint": "F09BB", - "aliases": [ - "proxy" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "B115DB5B-AAF9-4C39-BC44-9E573E3154A1", - "baseIconId": "61D65F86-CEB6-4CCC-8B88-00A4D0AD37C4", - "name": "arrow-decision-auto", - "codepoint": "F09BC", - "aliases": [ - "proxy-auto" - ], - "styles": [ - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "FA34CDF8-9B5D-40D2-97D5-00F41438A185", - "baseIconId": "61D65F86-CEB6-4CCC-8B88-00A4D0AD37C4", - "name": "arrow-decision-auto-outline", - "codepoint": "F09BD", - "aliases": [ - "proxy-auto-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "7731818A-2C14-4B22-8758-9C7604BA6F3B", - "baseIconId": "61D65F86-CEB6-4CCC-8B88-00A4D0AD37C4", - "name": "arrow-decision-outline", - "codepoint": "F09BE", - "aliases": [ - "proxy-outline" - ], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "3821BF79-5857-47BE-84E3-A100B7247535", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down", - "codepoint": "F0045", - "aliases": [ - "arrow-downward", - "arrow-bottom" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "CA8684F7-5654-4AE0-9840-9C3AD9611D19", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-bold", - "codepoint": "F072E", - "aliases": [ - "arrow-bottom-bold" - ], - "styles": [ - "bold" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "545DF72E-705C-46AC-BABE-94F6C304CFAB", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-bold-box", - "codepoint": "F072F", - "aliases": [ - "arrow-bottom-bold-box" - ], - "styles": [ - "bold", - "box" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "2D68AA5F-ACA1-45AA-873B-AD077377E698", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-bold-box-outline", - "codepoint": "F0730", - "aliases": [ - "arrow-bottom-bold-box-outline" - ], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "E4AFC38F-01B3-452D-BDD7-A08EA66D53FA", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-bold-circle", - "codepoint": "F0047", - "aliases": [ - "arrow-bottom-bold-circle" - ], - "styles": [ - "bold", - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "1DA60E82-C1F0-449C-8157-7014A7C9E749", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-bold-circle-outline", - "codepoint": "F0048", - "aliases": [ - "arrow-bottom-bold-circle-outline" - ], - "styles": [ - "bold", - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "1F47DB52-28B0-40B7-836F-F6F2C58F2412", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-bold-hexagon-outline", - "codepoint": "F0049", - "aliases": [ - "arrow-bottom-bold-hexagon-outline" - ], - "styles": [ - "bold", - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "517A69FA-E66C-469C-908F-E0CD723EBE8A", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-bold-outline", - "codepoint": "F09BF", - "aliases": [ - "arrow-bottom-bold-outline" - ], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "04449961-F211-4FB7-BD87-EDA5F828B41D", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-box", - "codepoint": "F06C0", - "aliases": [ - "arrow-bottom-box" - ], - "styles": [ - "box" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "51D021A8-C3E1-477C-8BBF-DD4B84549515", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-circle", - "codepoint": "F0CDB", - "aliases": [ - "arrow-bottom-circle" - ], - "styles": [ - "circle" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "E7EF8487-25AE-4CD6-8D04-4F90C60B3DCC", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-circle-outline", - "codepoint": "F0CDC", - "aliases": [ - "arrow-bottom-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "34BD0C0B-AF54-4BFC-A539-35D67612C4AC", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-drop-circle", - "codepoint": "F004A", - "aliases": [ - "arrow-drop-down-circle", - "arrow-bottom-drop-circle" - ], - "styles": [ - "circle", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "65BE2EE5-23A5-49F8-A7A2-AEDD25C9C661", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-drop-circle-outline", - "codepoint": "F004B", - "aliases": [ - "arrow-bottom-drop-circle-outline" - ], - "styles": [ - "circle", - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "366A6689-1806-4A63-942C-C7CB82AD6C9C", - "baseIconId": "366A6689-1806-4A63-942C-C7CB82AD6C9C", - "name": "arrow-down-left", - "codepoint": "F17A1", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Colton Wiscombe" - }, - { - "id": "ADB762F4-4A0D-46D2-8B63-979B496DD373", - "baseIconId": "366A6689-1806-4A63-942C-C7CB82AD6C9C", - "name": "arrow-down-left-bold", - "codepoint": "F17A2", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Colton Wiscombe" - }, - { - "id": "28795CBE-011D-440C-9D9C-A1D50C4121B7", - "baseIconId": "28795CBE-011D-440C-9D9C-A1D50C4121B7", - "name": "arrow-down-right", - "codepoint": "F17A3", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2104E4B3-3A34-44AE-B073-B041FDFE5D41", - "baseIconId": "28795CBE-011D-440C-9D9C-A1D50C4121B7", - "name": "arrow-down-right-bold", - "codepoint": "F17A4", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E345145F-AD51-4B6F-8F7B-EC22C34E4E89", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-thick", - "codepoint": "F0046", - "aliases": [ - "arrow-bottom-thick", - "arrow-down-bold", - "arrow-bottom-bold" - ], - "styles": [ - "thick" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "3419199D-CEAB-4084-AB62-A2EA908D40EB", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-thin", - "codepoint": "F19B3", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "6BDA2640-A009-416F-95F8-EE91CB931B66", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-down-thin-circle-outline", - "codepoint": "F1599", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "F75C0670-7074-4756-BF30-7840D1C47E09", - "baseIconId": "86BB43B4-910B-4174-8455-661875054171", - "name": "arrow-expand", - "codepoint": "F0616", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "14842517-5BC4-49B6-86F2-8D6DC8870786", - "baseIconId": "86BB43B4-910B-4174-8455-661875054171", - "name": "arrow-expand-all", - "codepoint": "F004C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "2338FC6A-1234-4A1F-AF6D-CFD45C92A2DF", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "arrow-expand-down", - "codepoint": "F0796", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "B48C3976-1304-4E32-9D69-0062A48018FB", - "baseIconId": "D6011A13-DCCB-4DF7-B5A8-335A404C6B71", - "name": "arrow-expand-horizontal", - "codepoint": "F084E", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "FDF3C8E5-7AD6-4428-90EC-9426E56B5478", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-expand-left", - "codepoint": "F0797", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "FF7885EC-2A34-4149-A4F8-626135606D7F", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-expand-right", - "codepoint": "F0798", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "C13A62FF-DCC7-40DA-9326-C7FA77E4610F", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-expand-up", - "codepoint": "F0799", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "3B6EC96B-24CB-4CCE-AE9F-AA1787987C63", - "baseIconId": "DF1BCEA6-C202-477E-A3CF-2054D93E5F2A", - "name": "arrow-expand-vertical", - "codepoint": "F084F", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "AE7BA87E-D5CF-415E-8641-ADE156760E93", - "baseIconId": "D6011A13-DCCB-4DF7-B5A8-335A404C6B71", - "name": "arrow-horizontal-lock", - "codepoint": "F115B", - "aliases": [ - "scroll-horizontal-lock" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Lock", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left", - "codepoint": "F004D", - "aliases": [ - "arrow-back" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "E990CF7B-A7D8-444E-99FE-24930ABF2FA6", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-bold", - "codepoint": "F0731", - "aliases": [], - "styles": [ - "bold" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow", - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "B7333E10-D6D6-4F86-A163-3A486C0B839D", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-bold-box", - "codepoint": "F0732", - "aliases": [], - "styles": [ - "bold", - "box" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "E95F06DD-DD66-4CD1-AAAC-AAA870CE6AC7", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-bold-box-outline", - "codepoint": "F0733", - "aliases": [], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "D40EF576-5116-4176-9F9D-C9E491517321", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-bold-circle", - "codepoint": "F004F", - "aliases": [], - "styles": [ - "box", - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "E5ED912C-8075-477C-B62B-60184A436F2C", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-bold-circle-outline", - "codepoint": "F0050", - "aliases": [], - "styles": [ - "bold", - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "5B274371-4B53-4E82-9CE3-42EADBDCCF92", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-bold-hexagon-outline", - "codepoint": "F0051", - "aliases": [], - "styles": [ - "bold", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "F88B9364-AE49-4AF6-A891-E20068064832", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-bold-outline", - "codepoint": "F09C0", - "aliases": [], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "94A5B560-135A-48EE-AF4D-89E19600F072", - "baseIconId": "94A5B560-135A-48EE-AF4D-89E19600F072", - "name": "arrow-left-bottom", - "codepoint": "F17A5", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F1A75B07-42E2-4C15-A17C-264E9E18D12B", - "baseIconId": "94A5B560-135A-48EE-AF4D-89E19600F072", - "name": "arrow-left-bottom-bold", - "codepoint": "F17A6", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "67481609-631A-45C8-AB97-679B3D95F9FB", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-box", - "codepoint": "F06C1", - "aliases": [], - "styles": [ - "box" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "57F5D624-D5B0-4F19-AFAB-676F822C87DC", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-circle", - "codepoint": "F0CDD", - "aliases": [ - "arrow-back-circle" - ], - "styles": [ - "circle" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "DEE2CC7E-5349-49CE-9700-6EF0D935A2E6", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-circle-outline", - "codepoint": "F0CDE", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "199C908D-09C4-47C6-968A-74582AC4AF26", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-drop-circle", - "codepoint": "F0052", - "aliases": [], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "37B06F58-3BD0-413F-B86D-2EFD008B3D69", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-drop-circle-outline", - "codepoint": "F0053", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "D6011A13-DCCB-4DF7-B5A8-335A404C6B71", - "baseIconId": "D6011A13-DCCB-4DF7-B5A8-335A404C6B71", - "name": "arrow-left-right", - "codepoint": "F0E73", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "ginlime" - }, - { - "id": "917B10C1-CFB6-4066-9977-0FA6DD835C0E", - "baseIconId": "D6011A13-DCCB-4DF7-B5A8-335A404C6B71", - "name": "arrow-left-right-bold", - "codepoint": "F0E74", - "aliases": [], - "styles": [ - "bold" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "341A3007-7214-4634-924D-1FFEA455AD5E", - "baseIconId": "D6011A13-DCCB-4DF7-B5A8-335A404C6B71", - "name": "arrow-left-right-bold-outline", - "codepoint": "F09C1", - "aliases": [], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FA880DCB-AC6F-4C9C-9B6D-6E8236272C31", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-thick", - "codepoint": "F004E", - "aliases": [ - "arrow-left-bold" - ], - "styles": [ - "thick" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "B3A70192-FB1E-4CC9-AA89-44AD6C921BCE", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-thin", - "codepoint": "F19B1", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "B0495FDB-2123-4D72-9D15-F44ED6FBF8CD", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "arrow-left-thin-circle-outline", - "codepoint": "F159A", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "4FB19260-E56B-411D-B0A6-22D15C3299A3", - "baseIconId": "4FB19260-E56B-411D-B0A6-22D15C3299A3", - "name": "arrow-left-top", - "codepoint": "F17A7", - "aliases": [ - "turn-left" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1239A338-77EE-47E5-A50B-2BC667AD7BB1", - "baseIconId": "4FB19260-E56B-411D-B0A6-22D15C3299A3", - "name": "arrow-left-top-bold", - "codepoint": "F17A8", - "aliases": [ - "turn-left-bold" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8EF4AC1A-24B5-42C7-9D6B-5F35227788E4", - "baseIconId": "8EF4AC1A-24B5-42C7-9D6B-5F35227788E4", - "name": "arrow-oscillating", - "codepoint": "F1C91", - "aliases": [], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Matthias de Baat" - }, - { - "id": "40B085E6-3993-403C-9F55-B61AEBDBA17A", - "baseIconId": "8EF4AC1A-24B5-42C7-9D6B-5F35227788E4", - "name": "arrow-oscillating-off", - "codepoint": "F1C92", - "aliases": [], - "styles": [ - "off" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Matthias de Baat" - }, - { - "id": "A673515F-F8A6-41DC-9CB2-05C315FBDA53", - "baseIconId": "A673515F-F8A6-41DC-9CB2-05C315FBDA53", - "name": "arrow-projectile", - "codepoint": "F1840", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Sport" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F3A249F5-9D86-4A3E-A197-C8C410C3721B", - "baseIconId": "A673515F-F8A6-41DC-9CB2-05C315FBDA53", - "name": "arrow-projectile-multiple", - "codepoint": "F183F", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Sport" - ], - "author": "Colton Wiscombe" - }, - { - "id": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right", - "codepoint": "F0054", - "aliases": [ - "arrow-forward" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "8C7A25B6-878E-4BDB-A5B7-2927257E1B7D", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-bold", - "codepoint": "F0734", - "aliases": [], - "styles": [ - "bold" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow", - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "7225998A-DEF1-40C6-A05C-FA4119A643D9", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-bold-box", - "codepoint": "F0735", - "aliases": [], - "styles": [ - "bold", - "box" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "1830D607-FDD5-4CC1-8D74-2A92C16B9E51", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-bold-box-outline", - "codepoint": "F0736", - "aliases": [], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "AF178779-F8E7-4F77-A9D1-A4675713C440", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-bold-circle", - "codepoint": "F0056", - "aliases": [], - "styles": [ - "bold", - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "8B60DF03-2440-4D73-98DE-A8666666864E", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-bold-circle-outline", - "codepoint": "F0057", - "aliases": [], - "styles": [ - "bold", - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "1EAE1304-ED67-4607-A5C3-833B9CF7D943", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-bold-hexagon-outline", - "codepoint": "F0058", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "86D895A6-8B2C-4757-A2CC-C506B402C2BB", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-bold-outline", - "codepoint": "F09C2", - "aliases": [], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C46163EC-EF8C-4352-939E-FA980174E6B7", - "baseIconId": "C46163EC-EF8C-4352-939E-FA980174E6B7", - "name": "arrow-right-bottom", - "codepoint": "F17A9", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "CBE2124B-2BE8-4891-9637-FC0E603E61F9", - "baseIconId": "C46163EC-EF8C-4352-939E-FA980174E6B7", - "name": "arrow-right-bottom-bold", - "codepoint": "F17AA", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8BA08E5C-7ED5-49E2-BDDE-1F1425C9FE1A", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-box", - "codepoint": "F06C2", - "aliases": [], - "styles": [ - "box" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "DF8E13FB-5C26-4C43-A6DC-F01185A97E42", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-circle", - "codepoint": "F0CDF", - "aliases": [ - "arrow-forward-circle" - ], - "styles": [ - "circle" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "A0626F15-BC40-422F-B978-EEDFB5543961", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-circle-outline", - "codepoint": "F0CE0", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "39AEA4FF-B65C-4368-B582-98108E3F9F06", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-drop-circle", - "codepoint": "F0059", - "aliases": [], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "1E7109A9-3178-4B5E-87A9-CD1054B38BE9", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-drop-circle-outline", - "codepoint": "F005A", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "9F7385FB-733C-4C1F-AC88-684BE98F381B", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-thick", - "codepoint": "F0055", - "aliases": [ - "arrow-right-bold" - ], - "styles": [ - "thick" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "61B5D6E3-5706-401F-8D18-3145A446C543", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-thin", - "codepoint": "F19B0", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "5ADB8DD0-2F9D-4F1B-ABC9-093579E960A0", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "arrow-right-thin-circle-outline", - "codepoint": "F1598", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "0FD8FA03-2B86-4B8E-8650-075591AC024C", - "baseIconId": "0FD8FA03-2B86-4B8E-8650-075591AC024C", - "name": "arrow-right-top", - "codepoint": "F17AB", - "aliases": [ - "turn-right" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "45C175E3-90FF-4F10-B6E2-6A08B0F70FAA", - "baseIconId": "0FD8FA03-2B86-4B8E-8650-075591AC024C", - "name": "arrow-right-top-bold", - "codepoint": "F17AC", - "aliases": [ - "turn-right-bold" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "ED7981BC-0B25-4657-BB7C-FB14A3D91D99", - "baseIconId": "7234382E-CB5D-4EB3-8BA2-0C50BC2171DB", - "name": "arrow-split-horizontal", - "codepoint": "F093B", - "aliases": [ - "resize-vertical", - "resize" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "7234382E-CB5D-4EB3-8BA2-0C50BC2171DB", - "baseIconId": "7234382E-CB5D-4EB3-8BA2-0C50BC2171DB", - "name": "arrow-split-vertical", - "codepoint": "F093C", - "aliases": [ - "resize-horizontal", - "resize" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "baseIconId": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "name": "arrow-top-left", - "codepoint": "F005B", - "aliases": [ - "arrow-up-left" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "3D49377B-0A47-4029-B384-F74C68234D41", - "baseIconId": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "name": "arrow-top-left-bold-box", - "codepoint": "F1968", - "aliases": [], - "styles": [ - "bold", - "box" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "63353DF0-B961-42CD-88D6-FA40887FD3DC", - "baseIconId": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "name": "arrow-top-left-bold-box-outline", - "codepoint": "F1969", - "aliases": [], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4D43349E-EF13-4BB1-9684-0CEDE55DE9DE", - "baseIconId": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "name": "arrow-top-left-bold-outline", - "codepoint": "F09C3", - "aliases": [ - "arrow-up-left-bold-outline" - ], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3F3EFD86-07D4-495B-9E20-66826FF54E1D", - "baseIconId": "3F3EFD86-07D4-495B-9E20-66826FF54E1D", - "name": "arrow-top-left-bottom-right", - "codepoint": "F0E75", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "ginlime" - }, - { - "id": "D6AFEFE4-0E22-4197-B094-53E9528FFF0A", - "baseIconId": "3F3EFD86-07D4-495B-9E20-66826FF54E1D", - "name": "arrow-top-left-bottom-right-bold", - "codepoint": "F0E76", - "aliases": [], - "styles": [ - "bold" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "D1D2B0DA-2EAD-451B-A9D9-B4C52E16FEDC", - "baseIconId": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "name": "arrow-top-left-thick", - "codepoint": "F09C4", - "aliases": [ - "arrow-up-left-thick", - "arrow-top-left-bold", - "arrow-up-left-bold" - ], - "styles": [ - "thick" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E88C3E97-A92F-4222-B649-01ABFB105FAF", - "baseIconId": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "name": "arrow-top-left-thin", - "codepoint": "F19B5", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "A3FB09A5-28B7-4A90-AA48-E6D0AA5031EB", - "baseIconId": "DD1AC44D-81B8-42EF-8714-7E7D29F2BC3F", - "name": "arrow-top-left-thin-circle-outline", - "codepoint": "F1593", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "baseIconId": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "name": "arrow-top-right", - "codepoint": "F005C", - "aliases": [ - "arrow-up-right" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "249364CD-93CE-4A11-9556-65579FA8910F", - "baseIconId": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "name": "arrow-top-right-bold-box", - "codepoint": "F196A", - "aliases": [], - "styles": [ - "bold", - "box" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7E8DD1EB-A1B7-48A5-B0B7-AF201BE6769E", - "baseIconId": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "name": "arrow-top-right-bold-box-outline", - "codepoint": "F196B", - "aliases": [], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D6A6FF61-6566-4C1D-BBCC-30E00B0655DD", - "baseIconId": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "name": "arrow-top-right-bold-outline", - "codepoint": "F09C5", - "aliases": [ - "arrow-up-right-bold-outline" - ], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6B94201F-4E9F-486E-B3A6-484A6C266E55", - "baseIconId": "6B94201F-4E9F-486E-B3A6-484A6C266E55", - "name": "arrow-top-right-bottom-left", - "codepoint": "F0E77", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "ginlime" - }, - { - "id": "815927F0-0D89-4D10-B336-2B918B321994", - "baseIconId": "6B94201F-4E9F-486E-B3A6-484A6C266E55", - "name": "arrow-top-right-bottom-left-bold", - "codepoint": "F0E78", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "37C83BAE-6330-4E45-A976-3E2642997035", - "baseIconId": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "name": "arrow-top-right-thick", - "codepoint": "F09C6", - "aliases": [ - "arrow-up-right-thick", - "arrow-top-right-bold", - "arrow-up-right-bold" - ], - "styles": [ - "thick" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "500822ED-8EE6-427C-A4CE-AE56A4CB4C61", - "baseIconId": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "name": "arrow-top-right-thin", - "codepoint": "F19B4", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "83068FC2-BF4B-4B99-956D-46EC07F6738F", - "baseIconId": "27AB7B33-64F3-49A5-8082-CA7B465152A9", - "name": "arrow-top-right-thin-circle-outline", - "codepoint": "F1594", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "D16AF4C4-90FC-42AB-8847-7F04DFDC6DF4", - "baseIconId": "D16AF4C4-90FC-42AB-8847-7F04DFDC6DF4", - "name": "arrow-u-down-left", - "codepoint": "F17AD", - "aliases": [ - "u-turn-left" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "EE6C5398-B666-4BE6-9728-AF35B5C77BA9", - "baseIconId": "D16AF4C4-90FC-42AB-8847-7F04DFDC6DF4", - "name": "arrow-u-down-left-bold", - "codepoint": "F17AE", - "aliases": [ - "u-turn-left-bold" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C2A75394-FCF6-4BFB-868F-3FC14C48B6FC", - "baseIconId": "C2A75394-FCF6-4BFB-868F-3FC14C48B6FC", - "name": "arrow-u-down-right", - "codepoint": "F17AF", - "aliases": [ - "u-turn-right" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "0B6ECB18-2663-4365-BBD1-3FE6A0A2A45C", - "baseIconId": "C2A75394-FCF6-4BFB-868F-3FC14C48B6FC", - "name": "arrow-u-down-right-bold", - "codepoint": "F17B0", - "aliases": [ - "u-turn-right-bold" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1130F0DA-3590-4221-BB00-33BED5B6EF10", - "baseIconId": "1130F0DA-3590-4221-BB00-33BED5B6EF10", - "name": "arrow-u-left-bottom", - "codepoint": "F17B1", - "aliases": [ - "undo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8793E254-1126-4A01-937C-C1827F173538", - "baseIconId": "1130F0DA-3590-4221-BB00-33BED5B6EF10", - "name": "arrow-u-left-bottom-bold", - "codepoint": "F17B2", - "aliases": [ - "undo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "CA98908E-09FA-4F06-80AF-57851BF95AD3", - "baseIconId": "CA98908E-09FA-4F06-80AF-57851BF95AD3", - "name": "arrow-u-left-top", - "codepoint": "F17B3", - "aliases": [ - "undo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A249FE80-1743-4D6F-BF99-3311DB7B299B", - "baseIconId": "CA98908E-09FA-4F06-80AF-57851BF95AD3", - "name": "arrow-u-left-top-bold", - "codepoint": "F17B4", - "aliases": [ - "undo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4D16B4CD-BA9A-4B92-AF88-7CD0154655B2", - "baseIconId": "4D16B4CD-BA9A-4B92-AF88-7CD0154655B2", - "name": "arrow-u-right-bottom", - "codepoint": "F17B5", - "aliases": [ - "redo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "FF7E431E-FEA7-4953-AC5F-877269DE3B16", - "baseIconId": "4D16B4CD-BA9A-4B92-AF88-7CD0154655B2", - "name": "arrow-u-right-bottom-bold", - "codepoint": "F17B6", - "aliases": [ - "redo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "78232953-CC68-48A1-A4A5-DC64B46216BC", - "baseIconId": "78232953-CC68-48A1-A4A5-DC64B46216BC", - "name": "arrow-u-right-top", - "codepoint": "F17B7", - "aliases": [ - "redo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "31D886C9-7CC3-4E48-B829-D7870D11641C", - "baseIconId": "78232953-CC68-48A1-A4A5-DC64B46216BC", - "name": "arrow-u-right-top-bold", - "codepoint": "F17B8", - "aliases": [ - "redo" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A5C0B876-8E0A-4792-A2EF-101CB41C989B", - "baseIconId": "A5C0B876-8E0A-4792-A2EF-101CB41C989B", - "name": "arrow-u-up-left", - "codepoint": "F17B9", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "EDF2047D-119E-4FD0-A936-67B372A4905F", - "baseIconId": "A5C0B876-8E0A-4792-A2EF-101CB41C989B", - "name": "arrow-u-up-left-bold", - "codepoint": "F17BA", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "B743ECCA-F8DA-4F54-BF8F-8558F370AECB", - "baseIconId": "B743ECCA-F8DA-4F54-BF8F-8558F370AECB", - "name": "arrow-u-up-right", - "codepoint": "F17BB", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "EFF50AE6-BF7E-4BF5-AA67-F8BBE9B10588", - "baseIconId": "B743ECCA-F8DA-4F54-BF8F-8558F370AECB", - "name": "arrow-u-up-right-bold", - "codepoint": "F17BC", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up", - "codepoint": "F005D", - "aliases": [ - "arrow-upward", - "arrow-top" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "36199A40-CCCB-44B9-A6B0-73F7315E5716", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-bold", - "codepoint": "F0737", - "aliases": [ - "arrow-top-bold" - ], - "styles": [ - "bold" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "062452EE-7669-4C36-85E6-A85BBA735348", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-bold-box", - "codepoint": "F0738", - "aliases": [ - "arrow-top-bold-box" - ], - "styles": [ - "bold", - "box" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "5386BD1B-8959-4312-8739-5B08021F319D", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-bold-box-outline", - "codepoint": "F0739", - "aliases": [ - "arrow-top-bold-box-outline" - ], - "styles": [ - "bold", - "box", - "outline" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "D6719240-C87E-4185-B694-1EA5FFC94F4E", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-bold-circle", - "codepoint": "F005F", - "aliases": [ - "arrow-top-bold-circle" - ], - "styles": [ - "bold", - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "3337B267-94EC-426B-ABC9-5842F75B13B1", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-bold-circle-outline", - "codepoint": "F0060", - "aliases": [ - "arrow-top-bold-circle-outline" - ], - "styles": [ - "bold", - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "7C3BD067-49AB-41C8-9091-FBD2D533045E", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-bold-hexagon-outline", - "codepoint": "F0061", - "aliases": [ - "arrow-top-bold-hexagon-outline" - ], - "styles": [ - "bold", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "664AA4B5-DD9C-40AD-A69E-3CD314025AD3", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-bold-outline", - "codepoint": "F09C7", - "aliases": [ - "arrow-top-bold-outline" - ], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "82958DF7-5F5F-4470-BFB4-4389937B4D29", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-box", - "codepoint": "F06C3", - "aliases": [], - "styles": [ - "box" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "208441AD-DDC5-4EC8-A48D-746DB5AE3CFD", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-circle", - "codepoint": "F0CE1", - "aliases": [ - "arrow-top-circle" - ], - "styles": [ - "circle" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "D41B6302-5A2E-4B55-93A4-E30E07F761C1", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-circle-outline", - "codepoint": "F0CE2", - "aliases": [ - "arrow-top-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "DF1BCEA6-C202-477E-A3CF-2054D93E5F2A", - "baseIconId": "DF1BCEA6-C202-477E-A3CF-2054D93E5F2A", - "name": "arrow-up-down", - "codepoint": "F0E79", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "ginlime" - }, - { - "id": "478A5E36-5EC0-4DC5-B663-AFB1F84C83A9", - "baseIconId": "DF1BCEA6-C202-477E-A3CF-2054D93E5F2A", - "name": "arrow-up-down-bold", - "codepoint": "F0E7A", - "aliases": [], - "styles": [ - "bold" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "1F1BE05B-E67A-4646-A8B3-08423BD58673", - "baseIconId": "DF1BCEA6-C202-477E-A3CF-2054D93E5F2A", - "name": "arrow-up-down-bold-outline", - "codepoint": "F09C8", - "aliases": [], - "styles": [ - "bold", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "73B211DB-05CF-4025-B035-AD03454C47A6", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-drop-circle", - "codepoint": "F0062", - "aliases": [ - "arrow-top-drop-circle" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "42277E7D-D87A-4DE9-982B-37E6A8AE4E70", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-drop-circle-outline", - "codepoint": "F0063", - "aliases": [ - "arrow-top-drop-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "7FBBA0AD-B8E1-4C13-8BD7-B37D28135DD2", - "baseIconId": "7FBBA0AD-B8E1-4C13-8BD7-B37D28135DD2", - "name": "arrow-up-left", - "codepoint": "F17BD", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "DDA1FF1D-BD25-4698-8D9B-7F0E6B71C274", - "baseIconId": "7FBBA0AD-B8E1-4C13-8BD7-B37D28135DD2", - "name": "arrow-up-left-bold", - "codepoint": "F17BE", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "5C5BEA1F-BAA5-4F6A-AE84-F3EAD16C936C", - "baseIconId": "5C5BEA1F-BAA5-4F6A-AE84-F3EAD16C936C", - "name": "arrow-up-right", - "codepoint": "F17BF", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "491E8E53-19DC-4736-AA7F-F95AEB0F1696", - "baseIconId": "5C5BEA1F-BAA5-4F6A-AE84-F3EAD16C936C", - "name": "arrow-up-right-bold", - "codepoint": "F17C0", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4EDBF232-461F-4F4C-82BB-64A89BA08405", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-thick", - "codepoint": "F005E", - "aliases": [ - "arrow-top-thick", - "arrow-up-bold", - "arrow-top-bold" - ], - "styles": [ - "thick" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "62E619DA-599C-486F-AD85-9B5BAB4F5A92", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-thin", - "codepoint": "F19B2", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Matt Stayner" - }, - { - "id": "9733F983-7DD1-4230-B792-413D46E0B422", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "arrow-up-thin-circle-outline", - "codepoint": "F1597", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "8B00DF03-0754-4D7F-B0C9-8CF21D42989F", - "baseIconId": "DF1BCEA6-C202-477E-A3CF-2054D93E5F2A", - "name": "arrow-vertical-lock", - "codepoint": "F115C", - "aliases": [ - "scroll-vertical-lock" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Lock", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "11D80B18-006C-4929-8CEA-29D2C8BED5B7", - "baseIconId": "11D80B18-006C-4929-8CEA-29D2C8BED5B7", - "name": "artboard", - "codepoint": "F1B9A", - "aliases": [ - "canvas", - "frame" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Sintija" - }, - { - "id": "548CCDA7-0E99-4568-9997-2ECFD33392BB", - "baseIconId": "548CCDA7-0E99-4568-9997-2ECFD33392BB", - "name": "artstation", - "codepoint": "F0B5B", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "AE294E7D-3AC0-4C7D-AFAF-8DDA0AB5BF52", - "baseIconId": "AE294E7D-3AC0-4C7D-AFAF-8DDA0AB5BF52", - "name": "aspect-ratio", - "codepoint": "F0A24", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0C612FE5-D7CC-44F3-945A-4BD15A7E39BA", - "baseIconId": "0C612FE5-D7CC-44F3-945A-4BD15A7E39BA", - "name": "assistant", - "codepoint": "F0064", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E8C373FE-4258-4341-B52A-E33D9A484968", - "baseIconId": "E8C373FE-4258-4341-B52A-E33D9A484968", - "name": "asterisk", - "codepoint": "F06C4", - "aliases": [ - "required" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1A9A6BE7-2B58-458C-9DA5-3CCA65D67414", - "baseIconId": "E8C373FE-4258-4341-B52A-E33D9A484968", - "name": "asterisk-circle-outline", - "codepoint": "F1A27", - "aliases": [ - "required-circle" - ], - "styles": [ - "circle", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "mocking-mike" - }, - { - "id": "9FC24609-9C8B-4DBA-A473-F5EFAFCC90DF", - "baseIconId": "9FC24609-9C8B-4DBA-A473-F5EFAFCC90DF", - "name": "at", - "codepoint": "F0065", - "aliases": [ - "alternate-email" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "25806C84-E41E-43A7-93AF-EA4ABACA982E", - "baseIconId": "25806C84-E41E-43A7-93AF-EA4ABACA982E", - "name": "atlassian", - "codepoint": "F0804", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A35ABE08-C956-4177-935C-1E1FB835772D", - "baseIconId": "A35ABE08-C956-4177-935C-1E1FB835772D", - "name": "atm", - "codepoint": "F0D47", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C366C8B8-44FB-481E-88F2-AE0C3B1E8C74", - "baseIconId": "C366C8B8-44FB-481E-88F2-AE0C3B1E8C74", - "name": "atom", - "codepoint": "F0768", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Roberto Graham" - }, - { - "id": "AD030F55-7B31-45F9-94F7-738CC84B2009", - "baseIconId": "C366C8B8-44FB-481E-88F2-AE0C3B1E8C74", - "name": "atom-variant", - "codepoint": "F0E7B", - "aliases": [ - "orbit" - ], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "baseIconId": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "name": "attachment", - "codepoint": "F0066", - "aliases": [ - "paperclip-horizontal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8B6BEB96-8C6B-4271-B87F-A568DF587900", - "baseIconId": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "name": "attachment-check", - "codepoint": "F1AC1", - "aliases": [ - "attachment-tick", - "paperclip-check", - "paperclip-tick" - ], - "styles": [ - "check" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "08E6060D-0A4F-4A3C-867E-192E737972C6", - "baseIconId": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "name": "attachment-lock", - "codepoint": "F19C4", - "aliases": [ - "paperclip-lock" - ], - "styles": [ - "lock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "2FE2F795-05F3-416B-8B74-ABC795E644EF", - "baseIconId": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "name": "attachment-minus", - "codepoint": "F1AC2", - "aliases": [ - "paperclip-minus", - "paperclip-subtract", - "attachment-subtract" - ], - "styles": [ - "minus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "B9845DE1-0804-459F-8333-A741EEDACC29", - "baseIconId": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "name": "attachment-off", - "codepoint": "F1AC3", - "aliases": [ - "paperclip-off" - ], - "styles": [ - "off" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F0017157-A798-401D-9B19-464C1BB25EA4", - "baseIconId": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "name": "attachment-plus", - "codepoint": "F1AC4", - "aliases": [ - "paperclip-plus", - "paperclip-add", - "attachment-add" - ], - "styles": [ - "plus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E6D6388D-6764-49ED-8DA7-6F4D27646237", - "baseIconId": "E3C20B38-A6D3-4EF0-817D-863B25E555BA", - "name": "attachment-remove", - "codepoint": "F1AC5", - "aliases": [ - "paperclip-remove" - ], - "styles": [ - "remove" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "0086E21E-2ABC-4983-8BA7-C9C31B55D6B9", - "baseIconId": "0086E21E-2ABC-4983-8BA7-C9C31B55D6B9", - "name": "atv", - "codepoint": "F1B70", - "aliases": [ - "quad", - "trike", - "two-wheeler", - "all-terrain-vehicle" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Google" - }, - { - "id": "2CB292B6-3835-44B4-857B-5231B87B5968", - "baseIconId": "2CB292B6-3835-44B4-857B-5231B87B5968", - "name": "audio-input-rca", - "codepoint": "F186B", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "GreenTurtwig" - }, - { - "id": "45243722-DE4F-4339-878C-4990A62A1990", - "baseIconId": "45243722-DE4F-4339-878C-4990A62A1990", - "name": "audio-input-stereo-minijack", - "codepoint": "F186C", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "GreenTurtwig" - }, - { - "id": "030EBE1B-EB48-4332-9E3D-BA6EF9C0AF79", - "baseIconId": "030EBE1B-EB48-4332-9E3D-BA6EF9C0AF79", - "name": "audio-input-xlr", - "codepoint": "F186D", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "GreenTurtwig" - }, - { - "id": "79CBF0E5-365C-466B-B162-2EBD1531F182", - "baseIconId": "79CBF0E5-365C-466B-B162-2EBD1531F182", - "name": "audio-video", - "codepoint": "F093D", - "aliases": [ - "av-receiver" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation", - "Audio" - ], - "author": "Michael Richins" - }, - { - "id": "09FB4D77-A411-4CBF-9E88-21807D804CB3", - "baseIconId": "79CBF0E5-365C-466B-B162-2EBD1531F182", - "name": "audio-video-off", - "codepoint": "F11B6", - "aliases": [ - "av-receiver-off" - ], - "styles": [ - "off" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Audio" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FC29D627-D661-4F31-9BEC-2F4BE355DFE7", - "baseIconId": "FC29D627-D661-4F31-9BEC-2F4BE355DFE7", - "name": "augmented-reality", - "codepoint": "F0850", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "3ED13D0F-1EC7-4EBF-99F4-B686272A00AC", - "baseIconId": "3ED13D0F-1EC7-4EBF-99F4-B686272A00AC", - "name": "aurora", - "codepoint": "F1BB9", - "aliases": [ - "aurora-borealis", - "aurora-australis", - "northern-lights", - "southern-lights", - "polar-lights" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Science", - "Weather" - ], - "author": "Jeff Anders" - }, - { - "id": "2EAC4201-2055-4755-84A9-958FDDF7732B", - "baseIconId": "2EAC4201-2055-4755-84A9-958FDDF7732B", - "name": "auto-download", - "codepoint": "F137E", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "FAAFAACC-4E0D-4688-B583-FC88A782A9B6", - "baseIconId": "FAAFAACC-4E0D-4688-B583-FC88A782A9B6", - "name": "auto-fix", - "codepoint": "F0068", - "aliases": [ - "magic", - "wand", - "auto-fix-high" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "A3A6B130-A579-48CB-8850-C5E5425A77AE", - "baseIconId": "A3A6B130-A579-48CB-8850-C5E5425A77AE", - "name": "auto-mode", - "codepoint": "F1C20", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "3DEAD47C-90B3-485E-943C-CE2D70C85154", - "baseIconId": "3DEAD47C-90B3-485E-943C-CE2D70C85154", - "name": "auto-upload", - "codepoint": "F0069", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "00598C19-1255-479D-914A-1AADFDBC4868", - "baseIconId": "00598C19-1255-479D-914A-1AADFDBC4868", - "name": "autorenew", - "codepoint": "F006A", - "aliases": [ - "clockwise-arrows", - "circular-arrows", - "circle-arrows", - "sync" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "E140F6DB-8C47-4F0F-9293-0D8EE1106B64", - "baseIconId": "00598C19-1255-479D-914A-1AADFDBC4868", - "name": "autorenew-off", - "codepoint": "F19E7", - "aliases": [ - "clockwise-arrows-off", - "circular-arrows-off", - "circle-arrows-off", - "sync-off" - ], - "styles": [ - "off" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A118E3CD-FF18-48FD-B26C-B4A48641E4C5", - "baseIconId": "A118E3CD-FF18-48FD-B26C-B4A48641E4C5", - "name": "av-timer", - "codepoint": "F006B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "8A405D94-6047-4B9B-BB52-24BD1416441F", - "baseIconId": "8A405D94-6047-4B9B-BB52-24BD1416441F", - "name": "awning", - "codepoint": "F1B87", - "aliases": [ - "marquise", - "sun-shade" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "D2598CD1-6354-4499-9E67-EEF50D9B5226", - "baseIconId": "8A405D94-6047-4B9B-BB52-24BD1416441F", - "name": "awning-outline", - "codepoint": "F1B88", - "aliases": [ - "marquise-outline", - "sun-shade-outline" - ], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "851E2C6C-16AE-4C0F-B99A-AB6BE37C4F55", - "baseIconId": "851E2C6C-16AE-4C0F-B99A-AB6BE37C4F55", - "name": "aws", - "codepoint": "F0E0F", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "B6119C36-82C4-4C6F-98D5-B339A73C837E", - "baseIconId": "B6119C36-82C4-4C6F-98D5-B339A73C837E", - "name": "axe", - "codepoint": "F08C8", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Nick" - }, - { - "id": "C2FB1086-E609-4BD6-BF91-F703CDE00209", - "baseIconId": "C2FB1086-E609-4BD6-BF91-F703CDE00209", - "name": "axe-battle", - "codepoint": "F1842", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Colton Wiscombe" - }, - { - "id": "78DCA9F5-C22C-407A-ABC1-15510C2F977A", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis", - "codepoint": "F0D48", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-arrow", - "codepoint": "F0D49", - "aliases": [ - "accelerometer", - "gyro" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "FCB87FD8-4522-47AF-AC10-2DF8A59F632D", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-arrow-info", - "codepoint": "F140E", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "1EE0C03F-9BCA-4AB4-92C3-209EA92FA54F", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-arrow-lock", - "codepoint": "F0D4A", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Lock", - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "D2BAA555-22F2-447F-89F1-95D11AE09126", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-lock", - "codepoint": "F0D4B", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Austin Andrews" - }, - { - "id": "933B83F8-4F97-436F-89E0-574315FF1E2E", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-x-arrow", - "codepoint": "F0D4C", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "E113D418-BFDB-44FE-A809-61072FEAEF39", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-x-arrow-lock", - "codepoint": "F0D4D", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Lock", - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "7EE23AE2-F41C-4CDA-9B52-B8A432CA7E20", - "baseIconId": "7EE23AE2-F41C-4CDA-9B52-B8A432CA7E20", - "name": "axis-x-rotate-clockwise", - "codepoint": "F0D4E", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B500E4B0-397A-4BA2-926F-5B8BDF10632F", - "baseIconId": "7EE23AE2-F41C-4CDA-9B52-B8A432CA7E20", - "name": "axis-x-rotate-counterclockwise", - "codepoint": "F0D4F", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "6620039A-2405-48BB-9619-143BAF7CF8DD", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-x-y-arrow-lock", - "codepoint": "F0D50", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Lock", - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "F12198D8-62C4-4E6A-A201-5D33DB690736", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-y-arrow", - "codepoint": "F0D51", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "4C02BFA9-8AF8-4FC3-AAC7-F4D4AEF9BE06", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-y-arrow-lock", - "codepoint": "F0D52", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Lock", - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "6A8E42CA-4236-496C-9C0A-81FADCDA6506", - "baseIconId": "7EE23AE2-F41C-4CDA-9B52-B8A432CA7E20", - "name": "axis-y-rotate-clockwise", - "codepoint": "F0D53", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "70E8F92A-9AAA-44CB-AB76-527463DE2D06", - "baseIconId": "7EE23AE2-F41C-4CDA-9B52-B8A432CA7E20", - "name": "axis-y-rotate-counterclockwise", - "codepoint": "F0D54", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2BAA5FEA-713E-44D6-A44F-B36C92BB7F60", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-z-arrow", - "codepoint": "F0D55", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "870F3E6C-6957-498E-AC62-BAE40C9FA7EA", - "baseIconId": "3D0AC996-0A31-4D68-AD38-A8507967B269", - "name": "axis-z-arrow-lock", - "codepoint": "F0D56", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Lock", - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "D3A59461-2A63-4C62-B528-564252BBAB29", - "baseIconId": "7EE23AE2-F41C-4CDA-9B52-B8A432CA7E20", - "name": "axis-z-rotate-clockwise", - "codepoint": "F0D57", - "aliases": [ - "vertical-rotate-clockwise" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DB0819A2-5E99-483B-BBC8-AEAD0DE9D196", - "baseIconId": "7EE23AE2-F41C-4CDA-9B52-B8A432CA7E20", - "name": "axis-z-rotate-counterclockwise", - "codepoint": "F0D58", - "aliases": [ - "vertical-rotate-counterclockwise" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3F7EAFAC-7A39-4051-B58D-2CBA6687110C", - "baseIconId": "3F7EAFAC-7A39-4051-B58D-2CBA6687110C", - "name": "babel", - "codepoint": "F0A25", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2CD51EFC-51B6-4323-B1EA-429EB58BFF7F", - "baseIconId": "2CD51EFC-51B6-4323-B1EA-429EB58BFF7F", - "name": "baby", - "codepoint": "F006C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "B3497A75-EE3B-4A8A-8F27-39A458423659", - "baseIconId": "B3497A75-EE3B-4A8A-8F27-39A458423659", - "name": "baby-bottle", - "codepoint": "F0F39", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Richins" - }, - { - "id": "5E06191D-D9AC-412E-B21B-C3AF1F28D76F", - "baseIconId": "B3497A75-EE3B-4A8A-8F27-39A458423659", - "name": "baby-bottle-outline", - "codepoint": "F0F3A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Richins" - }, - { - "id": "46AF3844-1F3F-43B5-A93B-424EC83BCADB", - "baseIconId": "46AF3844-1F3F-43B5-A93B-424EC83BCADB", - "name": "baby-buggy", - "codepoint": "F13E0", - "aliases": [ - "stroller", - "pram", - "carriage" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Moma Design Studio" - }, - { - "id": "9E57CC9C-C471-4A84-A750-D4BE9C94D989", - "baseIconId": "46AF3844-1F3F-43B5-A93B-424EC83BCADB", - "name": "baby-buggy-off", - "codepoint": "F1AF3", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FA711E97-6083-45AA-9C92-FCCDABC57D37", - "baseIconId": "FA711E97-6083-45AA-9C92-FCCDABC57D37", - "name": "baby-carriage", - "codepoint": "F068F", - "aliases": [ - "child-friendly", - "stroller", - "pram", - "buggy" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "D495FD84-4476-4E2E-B099-4E0A07AA9D90", - "baseIconId": "FA711E97-6083-45AA-9C92-FCCDABC57D37", - "name": "baby-carriage-off", - "codepoint": "F0FA0", - "aliases": [ - "child-friendly-off", - "stroller-off", - "pram-off", - "buggy-off" - ], - "styles": [ - "off" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Richins" - }, - { - "id": "78A84DE8-3ED5-4F81-991B-8EAE452908D3", - "baseIconId": "78A84DE8-3ED5-4F81-991B-8EAE452908D3", - "name": "baby-face", - "codepoint": "F0E7C", - "aliases": [ - "emoji-baby", - "emoticon-baby" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "24C6F5BD-6965-4CDB-B3AC-02CA82F24216", - "baseIconId": "78A84DE8-3ED5-4F81-991B-8EAE452908D3", - "name": "baby-face-outline", - "codepoint": "F0E7D", - "aliases": [ - "emoji-baby-outline", - "emoticon-baby-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "5A5BC824-220B-4998-883A-0E57FB2AB75F", - "baseIconId": "5A5BC824-220B-4998-883A-0E57FB2AB75F", - "name": "backburger", - "codepoint": "F006D", - "aliases": [ - "hamburger-menu-back" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2AAC06E6-8ABD-418B-B9A4-8554B62D7C04", - "baseIconId": "2AAC06E6-8ABD-418B-B9A4-8554B62D7C04", - "name": "backspace", - "codepoint": "F006E", - "aliases": [ - "erase", - "clear" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7CD351DA-560B-42B5-86F3-7F782EA70FEA", - "baseIconId": "2AAC06E6-8ABD-418B-B9A4-8554B62D7C04", - "name": "backspace-outline", - "codepoint": "F0B5C", - "aliases": [ - "erase-outline", - "clear-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "49AA61F3-2E3D-4EEA-BFB1-32D59C6906F0", - "baseIconId": "49AA61F3-2E3D-4EEA-BFB1-32D59C6906F0", - "name": "backspace-reverse", - "codepoint": "F0E7E", - "aliases": [ - "clear-reverse", - "erase-reverse" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "287700E2-130D-484B-B56D-0162BE6DEEEE", - "baseIconId": "49AA61F3-2E3D-4EEA-BFB1-32D59C6906F0", - "name": "backspace-reverse-outline", - "codepoint": "F0E7F", - "aliases": [ - "clear-reverse-outline", - "erase-reverse-outline" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "36F8C2B4-C82C-4546-AFFC-601ECA54A603", - "baseIconId": "36F8C2B4-C82C-4546-AFFC-601ECA54A603", - "name": "backup-restore", - "codepoint": "F006F", - "aliases": [ - "settings-backup-restore" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "059B29E7-34BA-402E-B06A-B9EBF021FA8B", - "baseIconId": "059B29E7-34BA-402E-B06A-B9EBF021FA8B", - "name": "bacteria", - "codepoint": "F0ED5", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Science", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "548C05E8-98DD-4D5C-8308-FA997A2C9016", - "baseIconId": "059B29E7-34BA-402E-B06A-B9EBF021FA8B", - "name": "bacteria-outline", - "codepoint": "F0ED6", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Science", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AE2E869B-B420-4505-9EE0-EE3751478D64", - "baseIconId": "AE2E869B-B420-4505-9EE0-EE3751478D64", - "name": "badge-account", - "codepoint": "F0DA7", - "aliases": [ - "user-badge", - "person-badge" - ], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "610A9983-6737-4876-B1E2-09C22D3888D9", - "baseIconId": "AE2E869B-B420-4505-9EE0-EE3751478D64", - "name": "badge-account-alert", - "codepoint": "F0DA8", - "aliases": [ - "user-badge-alert", - "person-badge-alert", - "account-badge-warning", - "user-badge-warning", - "person-badge-warning" - ], - "styles": [ - "alert", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Account \/ User", - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "3F5E356C-AD32-46E2-835F-ECFC043C73AD", - "baseIconId": "AE2E869B-B420-4505-9EE0-EE3751478D64", - "name": "badge-account-alert-outline", - "codepoint": "F0DA9", - "aliases": [ - "user-badge-alert-outline", - "person-badge-alert-outline", - "account-badge-warning-outline", - "user-badge-warning-outline", - "person-badge-warning-outline" - ], - "styles": [ - "alert", - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Account \/ User", - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "99CC4A89-E39E-460D-B199-227045E4A57D", - "baseIconId": "99CC4A89-E39E-460D-B199-227045E4A57D", - "name": "badge-account-horizontal", - "codepoint": "F0E0D", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "089F503E-00BF-4103-9475-B0E3955CE09D", - "baseIconId": "99CC4A89-E39E-460D-B199-227045E4A57D", - "name": "badge-account-horizontal-outline", - "codepoint": "F0E0E", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "37856000-4337-42D9-B273-9C9656E9CFCD", - "baseIconId": "AE2E869B-B420-4505-9EE0-EE3751478D64", - "name": "badge-account-outline", - "codepoint": "F0DAA", - "aliases": [ - "user-badge-outline", - "person-badge-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "AF478988-12FA-460A-AE5B-01536D6D5B97", - "baseIconId": "AF478988-12FA-460A-AE5B-01536D6D5B97", - "name": "badminton", - "codepoint": "F0851", - "aliases": [ - "shuttlecock" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Nick" - }, - { - "id": "0B935A7D-05EB-4687-8E4B-BC075AA2FA85", - "baseIconId": "0B935A7D-05EB-4687-8E4B-BC075AA2FA85", - "name": "bag-carry-on", - "codepoint": "F0F3B", - "aliases": [ - "carry-on-luggage" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "57DD596E-AFB6-46D2-8415-2DED40839B11", - "baseIconId": "0B935A7D-05EB-4687-8E4B-BC075AA2FA85", - "name": "bag-carry-on-check", - "codepoint": "F0D65", - "aliases": [ - "carry-on-bag-tick", - "carry-on-bag-check" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "F11D5411-E08A-483D-B04C-A75B523C717C", - "baseIconId": "0B935A7D-05EB-4687-8E4B-BC075AA2FA85", - "name": "bag-carry-on-off", - "codepoint": "F0F3C", - "aliases": [ - "carry-on-luggage-off" - ], - "styles": [ - "off" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "2D40D813-D1C8-4190-8010-012467F9E48F", - "baseIconId": "2D40D813-D1C8-4190-8010-012467F9E48F", - "name": "bag-checked", - "codepoint": "F0F3D", - "aliases": [ - "luggage" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal", - "codepoint": "F0E10", - "aliases": [ - "backpack" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Richins" - }, - { - "id": "9B14800C-E104-4A89-9773-B220CA30A403", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal-off", - "codepoint": "F0E11", - "aliases": [ - "backpack-off" - ], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Richins" - }, - { - "id": "822DE3FA-6BBB-4DF9-B586-A63CA5162EF1", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal-off-outline", - "codepoint": "F0E12", - "aliases": [ - "backpack-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Richins" - }, - { - "id": "E95F21EF-993D-462F-BA6E-21F7665BC34C", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal-outline", - "codepoint": "F0E13", - "aliases": [ - "backpack-outline" - ], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Richins" - }, - { - "id": "254FBC4D-1BB7-425B-8FB3-A9BB08106C82", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal-plus", - "codepoint": "F1CA4", - "aliases": [ - "bag-personal-add", - "backpack-add", - "backpack-plus" - ], - "styles": [ - "plus" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Matthew Terry" - }, - { - "id": "A34CE341-A59D-45C8-9F26-F4A9837915FF", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal-plus-outline", - "codepoint": "F1CA5", - "aliases": [ - "backpack-plus-outline", - "backpack-add-outline", - "bag-personal-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Matthew Terry" - }, - { - "id": "59865159-47DA-4B5F-8F5D-5E73D32BD4EA", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal-tag", - "codepoint": "F1B0C", - "aliases": [ - "property-tag" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Matthew Terry" - }, - { - "id": "49BAA4CB-38E1-4792-93ED-8298AFB304A1", - "baseIconId": "FB55F27F-9D0D-4EA7-ACD7-22C85E799248", - "name": "bag-personal-tag-outline", - "codepoint": "F1B0D", - "aliases": [ - "property-tag-outline" - ], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Matthew Terry" - }, - { - "id": "0DBD5DC4-4D5B-48B9-951C-249BB05C3E7E", - "baseIconId": "0DBD5DC4-4D5B-48B9-951C-249BB05C3E7E", - "name": "bag-suitcase", - "codepoint": "F158B", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "44E2AE1A-79ED-43C0-9A29-B18DFCB9B915", - "baseIconId": "0DBD5DC4-4D5B-48B9-951C-249BB05C3E7E", - "name": "bag-suitcase-off", - "codepoint": "F158D", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "E89335F8-3A20-489F-A974-FF591F8A147E", - "baseIconId": "0DBD5DC4-4D5B-48B9-951C-249BB05C3E7E", - "name": "bag-suitcase-off-outline", - "codepoint": "F158E", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "4977C376-1E6B-41F4-92F4-3410E9699F2D", - "baseIconId": "0DBD5DC4-4D5B-48B9-951C-249BB05C3E7E", - "name": "bag-suitcase-outline", - "codepoint": "F158C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "B6469241-E347-42D8-BF71-8DF29F1CA897", - "baseIconId": "B6469241-E347-42D8-BF71-8DF29F1CA897", - "name": "baguette", - "codepoint": "F0F3E", - "aliases": [ - "bread", - "bakery", - "french-baguette", - "loaf" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nick" - }, - { - "id": "005E0382-9004-4606-AA2A-07E27AF1E77E", - "baseIconId": "005E0382-9004-4606-AA2A-07E27AF1E77E", - "name": "balcony", - "codepoint": "F1817", - "aliases": [ - "terrace", - "patio", - "veranda" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "31D1D255-3E73-41A8-93E2-12DF16DA0C40", - "baseIconId": "31D1D255-3E73-41A8-93E2-12DF16DA0C40", - "name": "balloon", - "codepoint": "F0A26", - "aliases": [ - "party-balloon" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Michael Richins" - }, - { - "id": "27AB71F3-1EFD-484F-8E63-C1E4C694E392", - "baseIconId": "27AB71F3-1EFD-484F-8E63-C1E4C694E392", - "name": "ballot", - "codepoint": "F09C9", - "aliases": [ - "vote" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B9CDE0FA-F96A-413C-9BFD-DAB4DBC3DDE3", - "baseIconId": "27AB71F3-1EFD-484F-8E63-C1E4C694E392", - "name": "ballot-outline", - "codepoint": "F09CA", - "aliases": [ - "vote-outline" - ], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D0C76005-3272-4189-A061-E344D9BAB0C6", - "baseIconId": "27AB71F3-1EFD-484F-8E63-C1E4C694E392", - "name": "ballot-recount", - "codepoint": "F0C39", - "aliases": [ - "vote-recount" - ], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0B0AD153-4696-4ED2-9AE1-309926B23287", - "baseIconId": "27AB71F3-1EFD-484F-8E63-C1E4C694E392", - "name": "ballot-recount-outline", - "codepoint": "F0C3A", - "aliases": [ - "vote-recount-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6CDF527A-26C1-4175-A56B-5D65FD5E46E2", - "baseIconId": "6CDF527A-26C1-4175-A56B-5D65FD5E46E2", - "name": "bandage", - "codepoint": "F0DAF", - "aliases": [ - "band-aid", - "plaster" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank", - "codepoint": "F0070", - "aliases": [ - "account-balance", - "museum" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Banking", - "Places" - ], - "author": "Google" - }, - { - "id": "1642BE6C-C1B6-49EA-833D-BB5E20BC1C69", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-check", - "codepoint": "F1655", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B8F96A7D-408E-4AB0-A137-E89DD4EC743E", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-circle", - "codepoint": "F1C03", - "aliases": [], - "styles": [ - "circle" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "43EACF91-9449-480F-9F4B-C3EECD964C4D", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-circle-outline", - "codepoint": "F1C04", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "DAC4946E-1A07-44B4-977F-E51D740DA5FB", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-minus", - "codepoint": "F0DB0", - "aliases": [], - "styles": [ - "minus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "9379EA96-CBC9-4A84-BF1A-18A80E7BDBE2", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-off", - "codepoint": "F1656", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4590ED1A-1E67-42F4-8D4B-E2B39E5EFC63", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-off-outline", - "codepoint": "F1657", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "952ADDE3-5EC1-4AB1-80F1-9FA7AA14AD74", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-outline", - "codepoint": "F0E80", - "aliases": [ - "museum-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Google" - }, - { - "id": "DCB74822-6C93-473B-88B4-1818CFDE2B69", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-plus", - "codepoint": "F0DB1", - "aliases": [ - "bank-add" - ], - "styles": [ - "plus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Rosemary Stanley" - }, - { - "id": "14C747D0-C356-403D-862F-09A2F30276E7", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-remove", - "codepoint": "F0DB2", - "aliases": [], - "styles": [ - "remove" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "5692748F-52FC-41F9-97B2-D0F251F4619D", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-transfer", - "codepoint": "F0A27", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "SarinManS" - }, - { - "id": "F8E6FE4D-8CE9-41A5-A26A-FEC3A572DA3F", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-transfer-in", - "codepoint": "F0A28", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "SarinManS" - }, - { - "id": "02A1C3B5-91EE-43B9-9BDB-3EF67F540722", - "baseIconId": "FE08919F-CFFC-4A25-994C-CEDEB299908B", - "name": "bank-transfer-out", - "codepoint": "F0A29", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "SarinManS" - }, - { - "id": "5231CD58-9C30-40A8-993C-A24C6B70F6B8", - "baseIconId": "5231CD58-9C30-40A8-993C-A24C6B70F6B8", - "name": "barcode", - "codepoint": "F0071", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "AF7144E7-5004-4685-A100-78425F035F51", - "baseIconId": "5231CD58-9C30-40A8-993C-A24C6B70F6B8", - "name": "barcode-off", - "codepoint": "F1236", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "40365CB0-4664-4648-8C51-2E6E20A0D096", - "baseIconId": "5231CD58-9C30-40A8-993C-A24C6B70F6B8", - "name": "barcode-scan", - "codepoint": "F0072", - "aliases": [ - "barcode-scanner" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "5126A5A7-ECBC-49FC-BBC6-1703DCACF5E4", - "baseIconId": "5126A5A7-ECBC-49FC-BBC6-1703DCACF5E4", - "name": "barley", - "codepoint": "F0073", - "aliases": [ - "grain", - "wheat", - "gluten" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Agriculture", - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "6627D247-B25C-48F3-925D-BF282D7B4295", - "baseIconId": "5126A5A7-ECBC-49FC-BBC6-1703DCACF5E4", - "name": "barley-off", - "codepoint": "F0B5D", - "aliases": [ - "gluten-free", - "grain-off", - "wheat-off" - ], - "styles": [ - "off" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Simran" - }, - { - "id": "678BDE48-30CE-4897-BA06-9991001FA842", - "baseIconId": "678BDE48-30CE-4897-BA06-9991001FA842", - "name": "barn", - "codepoint": "F0B5E", - "aliases": [ - "farm" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "SarinManS" - }, - { - "id": "CD3098D2-892F-49F5-9FA7-1A5FDC53A15C", - "baseIconId": "CD3098D2-892F-49F5-9FA7-1A5FDC53A15C", - "name": "barrel", - "codepoint": "F0074", - "aliases": [ - "oil-barrel", - "energy", - "fossil-fuel" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DBEE4FC0-D708-4293-B06B-E46FAC217031", - "baseIconId": "CD3098D2-892F-49F5-9FA7-1A5FDC53A15C", - "name": "barrel-outline", - "codepoint": "F1A28", - "aliases": [ - "oil-barrel-outline", - "fossil-fuel-outline", - "energy-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EDAC5CB7-39B3-4DAD-89ED-38D7EA914211", - "baseIconId": "EDAC5CB7-39B3-4DAD-89ED-38D7EA914211", - "name": "baseball", - "codepoint": "F0852", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Nick" - }, - { - "id": "20D31EB1-5C7F-4597-9B42-80E08E0192F8", - "baseIconId": "20D31EB1-5C7F-4597-9B42-80E08E0192F8", - "name": "baseball-bat", - "codepoint": "F0853", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Nick" - }, - { - "id": "360632A2-1E37-4A89-BC24-166CF4824357", - "baseIconId": "360632A2-1E37-4A89-BC24-166CF4824357", - "name": "baseball-diamond", - "codepoint": "F15EC", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "55F744E2-2059-41A4-B909-748029558069", - "baseIconId": "360632A2-1E37-4A89-BC24-166CF4824357", - "name": "baseball-diamond-outline", - "codepoint": "F15ED", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8A7385DC-1143-489D-8AE3-E525EED95222", - "baseIconId": "EDAC5CB7-39B3-4DAD-89ED-38D7EA914211", - "name": "baseball-outline", - "codepoint": "F1C5A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Jeff Anders" - }, - { - "id": "53BA6F8E-FC99-4B2A-8497-EA732C1880E4", - "baseIconId": "53BA6F8E-FC99-4B2A-8497-EA732C1880E4", - "name": "bash", - "codepoint": "F1183", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Richins" - }, - { - "id": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket", - "codepoint": "F0076", - "aliases": [ - "shopping-basket", - "skip" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "22A624ED-8F58-41BC-B82D-C1750626AA18", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-check", - "codepoint": "F18E5", - "aliases": [], - "styles": [ - "check" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6B0573EB-F745-409B-B065-C492537579C6", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-check-outline", - "codepoint": "F18E6", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B7DC550-62F9-4FB0-9B21-0379AA925A19", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-fill", - "codepoint": "F0077", - "aliases": [ - "skip-fill" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Austin Andrews" - }, - { - "id": "C41B2071-6BBF-458A-B73A-409D231A9F4D", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-minus", - "codepoint": "F1523", - "aliases": [ - "shopping-basket-minus", - "skip-minus" - ], - "styles": [ - "minus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8F4899A8-07F0-4C00-90EE-1509BE7A0D4C", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-minus-outline", - "codepoint": "F1524", - "aliases": [ - "shopping-basket-minus-outline", - "skip-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FC2C74AA-57B1-4E13-A499-AA81CBE6670A", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-off", - "codepoint": "F1525", - "aliases": [ - "shopping-basket-off", - "skip-off" - ], - "styles": [ - "off" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2D28FB7D-8AEA-4ED6-BB7D-DA76EC3DA4EB", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-off-outline", - "codepoint": "F1526", - "aliases": [ - "shopping-basket-off-outline", - "skip-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A9AC5A33-FD7D-49C8-9C5E-C41335F6E833", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-outline", - "codepoint": "F1181", - "aliases": [ - "shopping-basket-outline", - "skip-outline" - ], - "styles": [ - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "3B02F0C6-F80B-479B-ABA7-CFBDBA843EB4", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-plus", - "codepoint": "F1527", - "aliases": [ - "shopping-basket-plus", - "skip-plus" - ], - "styles": [ - "plus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DC1E93FF-94C4-4B14-9152-ADDE374A44BB", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-plus-outline", - "codepoint": "F1528", - "aliases": [ - "shopping-basket-plus-outline", - "skip-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C730C431-5377-4B0E-933B-5307E736B75A", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-remove", - "codepoint": "F1529", - "aliases": [ - "shopping-basket-remove", - "skip-remove" - ], - "styles": [ - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8DB42CB2-5A41-489E-BC04-1DFADF917DE6", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-remove-outline", - "codepoint": "F152A", - "aliases": [ - "shopping-basket-remove-outline", - "skip-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D46B98B3-4045-4EAD-A26E-659195B5CC65", - "baseIconId": "4E334FE9-DF93-469A-B7D7-AC88BBF25D84", - "name": "basket-unfill", - "codepoint": "F0078", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Austin Andrews" - }, - { - "id": "FD797202-9EF1-407E-A290-97C014B8F37E", - "baseIconId": "FD797202-9EF1-407E-A290-97C014B8F37E", - "name": "basketball", - "codepoint": "F0806", - "aliases": [ - "youtube-sports" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "7792E2EB-0A99-44CF-AEBE-6683490594B0", - "baseIconId": "7792E2EB-0A99-44CF-AEBE-6683490594B0", - "name": "basketball-hoop", - "codepoint": "F0C3B", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "3310ED1D-3E70-48C0-AE7B-14BB42E0CD16", - "baseIconId": "7792E2EB-0A99-44CF-AEBE-6683490594B0", - "name": "basketball-hoop-outline", - "codepoint": "F0C3C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "06925257-791B-4F7F-9A8F-A2D958EE8784", - "baseIconId": "06925257-791B-4F7F-9A8F-A2D958EE8784", - "name": "bat", - "codepoint": "F0B5F", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Holiday", - "Animal" - ], - "author": "Austin Andrews" - }, - { - "id": "4DB5FCB7-2D9E-4612-8087-4F78B0053305", - "baseIconId": "4DB5FCB7-2D9E-4612-8087-4F78B0053305", - "name": "bathtub", - "codepoint": "F1818", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "EE0AF53A-2C79-48C3-842C-4AD04DB14D84", - "baseIconId": "4DB5FCB7-2D9E-4612-8087-4F78B0053305", - "name": "bathtub-outline", - "codepoint": "F1819", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "C12D919F-7D0D-4355-8109-912BA37154B5", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery", - "codepoint": "F0079", - "aliases": [ - "battery-full", - "battery-std", - "battery-100" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "D753B56C-E806-4F17-B2A0-EBC4B4B78D19", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-10", - "codepoint": "F007A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "9C8DAC10-97C6-476E-8122-25D7709F7AF6", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-10-bluetooth", - "codepoint": "F093E", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "95AEB324-9D57-4D27-B463-0C8077C04E24", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-20", - "codepoint": "F007B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "9BA1E9FB-BB6A-447E-9F35-615CCC81CD81", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-20-bluetooth", - "codepoint": "F093F", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "970E1F42-4594-42CD-BB4E-6F5CBDBF5D21", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-30", - "codepoint": "F007C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "6128BD10-A4CD-440E-BF98-151777783110", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-30-bluetooth", - "codepoint": "F0940", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "EE290FAF-A1D6-4A0D-8BBA-8DD2455AFB82", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-40", - "codepoint": "F007D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "058D5094-AB60-4412-8C71-6CF4A56784A6", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-40-bluetooth", - "codepoint": "F0941", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "A79598F9-7FDF-46A2-9F8D-1DBD6BAB1A1D", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-50", - "codepoint": "F007E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "313BE145-A7FB-4620-915C-4B2298C70EA1", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-50-bluetooth", - "codepoint": "F0942", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "B6EB700B-9288-474C-9A5C-C269680BFC5F", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-60", - "codepoint": "F007F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "B422BB57-AC2D-43C2-B7A0-67160D90519E", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-60-bluetooth", - "codepoint": "F0943", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "5DC968CB-1DC2-42B1-96E2-80AC6B23BB9C", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-70", - "codepoint": "F0080", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "426481A7-5387-4385-9D2D-BEB1BCF5900D", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-70-bluetooth", - "codepoint": "F0944", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "54485D0C-49B3-424D-8283-4CE90E16F88D", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-80", - "codepoint": "F0081", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "176EE56B-73A9-44C7-94FF-90C11A48127E", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-80-bluetooth", - "codepoint": "F0945", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "58205285-7EAA-400A-A8E5-A9373E7D986A", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-90", - "codepoint": "F0082", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "AEB32E6B-7E3D-4C3A-AE1A-96C63868E208", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-90-bluetooth", - "codepoint": "F0946", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "ABFAD078-0E10-4293-94AD-16871B75E51F", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-alert", - "codepoint": "F0083", - "aliases": [ - "battery-warning" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "7C1C81FB-9E38-4220-B225-460056043383", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-alert-bluetooth", - "codepoint": "F0947", - "aliases": [ - "battery-warning-bluetooth" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "DD0191F8-8AE0-4D80-A29C-AB7451DAE464", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-alert-variant", - "codepoint": "F10CC", - "aliases": [], - "styles": [ - "alert" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Battery", - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "C384D39D-C672-454D-964E-8AEF06C2381F", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-alert-variant-outline", - "codepoint": "F10CD", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Battery", - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "E57A937E-29A3-4FE5-8B47-6E678F3D0539", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-arrow-down", - "codepoint": "F17DE", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "3CD83E68-9EEE-4DB8-B6D9-CCC8123BA198", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-arrow-down-outline", - "codepoint": "F17DF", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "DA4F5288-0BD2-4D9F-A49D-8E40E9893789", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-arrow-up", - "codepoint": "F17E0", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "D81D0F0F-E856-4F7A-BB00-B4462105D5DB", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-arrow-up-outline", - "codepoint": "F17E1", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "3DB7EA89-8F0C-40DA-B45A-E5B588F2CC01", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-bluetooth", - "codepoint": "F0948", - "aliases": [ - "battery-bluetooth-100", - "battery-bluetooth-full" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "910BCFA6-ED67-48A5-97EB-BA61969629E9", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-bluetooth-variant", - "codepoint": "F0949", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "F365ACF3-9453-4516-B592-AECD72AB7433", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging", - "codepoint": "F0084", - "aliases": [ - "battery-charging-full" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "EBDD7C45-CE9F-4503-9CE4-0682E4E8E6BF", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-10", - "codepoint": "F089C", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Automotive", - "Battery" - ], - "author": "Google" - }, - { - "id": "C1379E5C-2335-4C37-9A73-EE54D6747512", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-100", - "codepoint": "F0085", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "3E25E8BE-5097-4414-A7E4-9CDF02CD4F84", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-20", - "codepoint": "F0086", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "04D00269-7E8F-40D1-BFC4-36A01720260B", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-30", - "codepoint": "F0087", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "D40803B3-43CB-4680-A7BD-56CC83ED54B8", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-40", - "codepoint": "F0088", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "1681D3BD-4990-4571-87B0-1C846DC8D600", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-50", - "codepoint": "F089D", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Automotive", - "Battery" - ], - "author": "Google" - }, - { - "id": "23E8809B-FB62-4573-83CF-9C33E980FD41", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-60", - "codepoint": "F0089", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "C8C75ED1-4B80-42A7-B590-DA3BE7567E86", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-70", - "codepoint": "F089E", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Automotive", - "Battery" - ], - "author": "Google" - }, - { - "id": "20455031-CCDD-40F8-A7A4-5E1F9E55F20E", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-80", - "codepoint": "F008A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "0EC45F7B-7A0A-43AD-ABD3-10E4209659C0", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-90", - "codepoint": "F008B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "2BD37CBE-629C-41E8-8631-CD438C1E7704", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-high", - "codepoint": "F12A6", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C0158CBD-1F8D-491B-9825-9DB96D901908", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-low", - "codepoint": "F12A4", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FD7F7486-1E30-44A5-A4B2-C908372835CD", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-medium", - "codepoint": "F12A5", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A057A8D0-A442-4948-B2BF-63CECE073AF5", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-outline", - "codepoint": "F089F", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Automotive", - "Battery" - ], - "author": "Google" - }, - { - "id": "60EEA5B6-8070-482D-ABE3-54A9D2A80875", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless", - "codepoint": "F0807", - "aliases": [ - "battery-charging-wireless-full", - "battery-charging-wireless-100" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "5D2990D5-D3D4-4E8F-AED8-B90CE6164068", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-10", - "codepoint": "F0808", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "5C194C6F-8CFE-4F1A-AFD3-11D7E8CB89B4", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-20", - "codepoint": "F0809", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "567818F9-23C0-41C4-A3BD-2BA37F8BFF29", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-30", - "codepoint": "F080A", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "1ABBC4EA-32D6-4FBA-AA00-E19707123AE5", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-40", - "codepoint": "F080B", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "9BC0DBFF-A3F6-4061-B6E1-685880D6B653", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-50", - "codepoint": "F080C", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "F09D15A6-1E87-488C-9F75-24EC677E72FF", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-60", - "codepoint": "F080D", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "45966E8F-2801-4ED6-970F-12D9FD6C6290", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-70", - "codepoint": "F080E", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "EB5E0801-60FA-4DD3-8709-2A6F0AC9C3ED", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-80", - "codepoint": "F080F", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "E8C0AC60-D7AB-4FA3-9596-CE002E798180", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-90", - "codepoint": "F0810", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "F835E187-444F-43B8-A057-9915F1388A87", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-alert", - "codepoint": "F0811", - "aliases": [ - "battery-charging-wireless-warning" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "4AFDE54E-1A6D-4F7F-BD0D-AB67FB0F12CC", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-charging-wireless-outline", - "codepoint": "F0812", - "aliases": [ - "battery-charging-wireless-empty", - "battery-charging-wireless-0" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "0D73145E-B849-4DA8-AC86-8DA3840ACC38", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-check", - "codepoint": "F17E2", - "aliases": [], - "styles": [ - "check" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "75AE3FD5-ADC3-41FD-BC86-882A771C396A", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-check-outline", - "codepoint": "F17E3", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "11C7A5CA-DA77-453A-BAA8-6345949394C7", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-clock", - "codepoint": "F19E5", - "aliases": [ - "battery-full-clock", - "battery-100-clock" - ], - "styles": [ - "clock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5756A4F3-FBED-4F81-8B97-AF391EC4D893", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-clock-outline", - "codepoint": "F19E6", - "aliases": [ - "batter-0-clock", - "battery-empty-clock" - ], - "styles": [ - "clock", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DEE88AFA-DFF3-4100-8475-EB5EB72CCFCB", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-heart", - "codepoint": "F120F", - "aliases": [], - "styles": [ - "heart" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Richins" - }, - { - "id": "0D342AE3-0BE6-40C3-BAF9-D519508C4546", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-heart-outline", - "codepoint": "F1210", - "aliases": [], - "styles": [ - "heart", - "outline" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Richins" - }, - { - "id": "2DE04585-054B-4E09-AC31-33E28DD80942", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-heart-variant", - "codepoint": "F1211", - "aliases": [], - "styles": [ - "heart" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Richins" - }, - { - "id": "253E4BDF-CE79-459D-B06D-915B34A12227", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-high", - "codepoint": "F12A3", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Austin Andrews" - }, - { - "id": "F24949D4-ED65-4517-8AA1-71160F05D0F8", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-lock", - "codepoint": "F179C", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery", - "Lock" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "20BE6E36-64DD-49BD-BA06-F90480EF33A5", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-lock-open", - "codepoint": "F179D", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery", - "Lock" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "4BDC283A-A6B7-4B2B-A18A-2B25410AF35C", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-low", - "codepoint": "F12A1", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Austin Andrews" - }, - { - "id": "59FF99D5-138F-4D6B-90B2-4782A4B3F8EB", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-medium", - "codepoint": "F12A2", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Austin Andrews" - }, - { - "id": "C34C0934-799C-40A5-8AD4-CE7A417C170B", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-minus", - "codepoint": "F17E4", - "aliases": [], - "styles": [ - "minus" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "BDFA54F2-D16E-441C-A039-3E6DB60EE182", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-minus-outline", - "codepoint": "F17E5", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "15E0E37E-564A-40D5-9D4A-948C932C8E52", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-minus-variant", - "codepoint": "F008C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "447DBB2A-31ED-4856-A7A2-A61BF0780C7B", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-negative", - "codepoint": "F008D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "C0939A88-BF53-4323-A12F-E6A92F7BE327", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-off", - "codepoint": "F125D", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Richins" - }, - { - "id": "66A0E28A-53F2-4E22-B14A-BADBE10E0CA9", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-off-outline", - "codepoint": "F125E", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Richins" - }, - { - "id": "925B02B4-CA05-4545-A4E3-421F8412DA37", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-outline", - "codepoint": "F008E", - "aliases": [ - "battery-0", - "battery-empty" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "07911E7E-BA7E-49FD-90B1-7B8D273D9278", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-plus", - "codepoint": "F17E6", - "aliases": [], - "styles": [ - "plus" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "E9A097FD-0484-4E92-BC8F-2726EF5CAB5B", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-plus-outline", - "codepoint": "F17E7", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "A4BD7F0D-E95C-413C-B853-435A53854844", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-plus-variant", - "codepoint": "F008F", - "aliases": [ - "battery-saver", - "battery-add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "195F51E4-5B02-4BE3-B407-4B7FC1445F18", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-positive", - "codepoint": "F0090", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "C0E3D38A-A3B2-4010-8B9B-9CB97F67FE50", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-remove", - "codepoint": "F17E8", - "aliases": [], - "styles": [ - "remove" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "FC6E9489-07CC-4D0D-B93C-44E0E257A365", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-remove-outline", - "codepoint": "F17E9", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "A78E1E92-F129-4050-AA6F-B308D171A2DC", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-sync", - "codepoint": "F1834", - "aliases": [ - "battery-saver", - "battery-recycle", - "battery-eco" - ], - "styles": [ - "sync" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5250464D-70A3-4BC2-8969-878E57526CDF", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-sync-outline", - "codepoint": "F1835", - "aliases": [ - "battery-saver-outline", - "battery-eco-outline", - "battery-recycle-outline" - ], - "styles": [ - "outline", - "sync" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Michael Irigoyen" - }, - { - "id": "80257130-A38B-4BC1-B194-2EB16048D763", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-unknown", - "codepoint": "F0091", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "B30963B2-893D-43F8-9EFD-918DCB654B75", - "baseIconId": "C12D919F-7D0D-4355-8109-912BA37154B5", - "name": "battery-unknown-bluetooth", - "codepoint": "F094A", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "GreenTurtwig" - }, - { - "id": "FB1FEB37-FA9B-40BF-A7EC-B4A1690E6B77", - "baseIconId": "FB1FEB37-FA9B-40BF-A7EC-B4A1690E6B77", - "name": "beach", - "codepoint": "F0092", - "aliases": [ - "parasol" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Austin Andrews" - }, - { - "id": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker", - "codepoint": "F0CEA", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "22743DE0-B662-44CD-8707-91ABF624D0E3", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-alert", - "codepoint": "F1229", - "aliases": [], - "styles": [ - "alert" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "327C0F93-7EBD-4B24-A31C-285F6FC14DF3", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-alert-outline", - "codepoint": "F122A", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "252089E7-6AA1-400C-99DF-B8F2090BE78A", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-check", - "codepoint": "F122B", - "aliases": [], - "styles": [ - "check" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "23EFC5EC-7DAE-46FC-8E1C-488CF2EFFEB3", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-check-outline", - "codepoint": "F122C", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "FC008372-099E-45EB-BD51-13D1CA45A9BF", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-minus", - "codepoint": "F122D", - "aliases": [], - "styles": [ - "minus" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "15C31E14-F9D4-49E7-A9FA-266E3C2C7F1B", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-minus-outline", - "codepoint": "F122E", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "95E06F22-3EA5-448F-B260-E555C1DCD18E", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-outline", - "codepoint": "F0690", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Simran" - }, - { - "id": "CDF9CCFD-BDE5-4BBF-94DA-BF61466906A6", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-plus", - "codepoint": "F122F", - "aliases": [], - "styles": [ - "plus" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "210E9002-74BB-44CB-9D93-7CC8EE95D519", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-plus-outline", - "codepoint": "F1230", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "21A03544-7009-4069-8BF0-17168DF93ED9", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-question", - "codepoint": "F1231", - "aliases": [], - "styles": [ - "question" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "3C151400-745C-44BE-A94E-A2F5365C7DD6", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-question-outline", - "codepoint": "F1232", - "aliases": [], - "styles": [ - "outline", - "question" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "0F41805A-67FE-4ADB-A398-B22032BF0C89", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-remove", - "codepoint": "F1233", - "aliases": [], - "styles": [ - "remove" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "DF5AF4E0-65C2-492A-AEDD-0297AE36BA2B", - "baseIconId": "AC08F348-ACA6-440E-A28D-FCC9BFC85E27", - "name": "beaker-remove-outline", - "codepoint": "F1234", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "EA62EF73-ACC7-4E54-87EF-D5E1683BE58F", - "baseIconId": "EA62EF73-ACC7-4E54-87EF-D5E1683BE58F", - "name": "bed", - "codepoint": "F02E3", - "aliases": [ - "hotel", - "guest-room" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Google" - }, - { - "id": "91A8F1FF-F40E-44EC-A96B-776517F69769", - "baseIconId": "EA62EF73-ACC7-4E54-87EF-D5E1683BE58F", - "name": "bed-clock", - "codepoint": "F1B94", - "aliases": [ - "bed-schedule", - "bed-time", - "sleep-schedule", - "sleep-time" - ], - "styles": [ - "clock" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "76E0CC3D-3FF4-421A-A7F0-0F38C68C92A2", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-double", - "codepoint": "F0FD4", - "aliases": [ - "bedroom" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Michael Richins" - }, - { - "id": "6061EF08-3805-4F30-88A1-0DC3419E6989", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-double-outline", - "codepoint": "F0FD3", - "aliases": [ - "bedroom-outline" - ], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Google" - }, - { - "id": "15DC169E-459C-4EDB-BF8F-3E1D4F34B2BF", - "baseIconId": "EA62EF73-ACC7-4E54-87EF-D5E1683BE58F", - "name": "bed-empty", - "codepoint": "F08A0", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "GreenTurtwig" - }, - { - "id": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-king", - "codepoint": "F0FD2", - "aliases": [ - "bedroom" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Google" - }, - { - "id": "E84472BF-7730-4700-B468-E5096FD65531", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-king-outline", - "codepoint": "F0FD1", - "aliases": [ - "bedroom-outline" - ], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Michael Richins" - }, - { - "id": "860292B0-C722-4829-9E30-AACF00D09C8C", - "baseIconId": "EA62EF73-ACC7-4E54-87EF-D5E1683BE58F", - "name": "bed-outline", - "codepoint": "F0099", - "aliases": [ - "hotel-outline", - "guest-room-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Google" - }, - { - "id": "0DB69F3A-8C9B-48D0-8D37-5A1CF6B03B68", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-queen", - "codepoint": "F0FD0", - "aliases": [ - "bedroom" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Michael Richins" - }, - { - "id": "DC8A5BF4-BEA0-4D7D-B364-4765854CD4CE", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-queen-outline", - "codepoint": "F0FDB", - "aliases": [ - "bedroom-outline" - ], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Michael Richins" - }, - { - "id": "A9C924A7-EAA8-42FC-963A-C74E36448A1B", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-single", - "codepoint": "F106D", - "aliases": [ - "bedroom" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "C9FEB434-571C-41C6-A0E5-1FA68368ACC3", - "baseIconId": "D6763D57-A47E-4BFA-A493-5F25C164FB2F", - "name": "bed-single-outline", - "codepoint": "F106E", - "aliases": [ - "bedroom-outline" - ], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "8B580447-CD93-41E8-BDB0-F37DAE420D3A", - "baseIconId": "8B580447-CD93-41E8-BDB0-F37DAE420D3A", - "name": "bee", - "codepoint": "F0FA1", - "aliases": [ - "fly", - "insect" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture", - "Animal" - ], - "author": "Google" - }, - { - "id": "ED379BAE-ED56-474D-87C3-8B43D5207766", - "baseIconId": "8B580447-CD93-41E8-BDB0-F37DAE420D3A", - "name": "bee-flower", - "codepoint": "F0FA2", - "aliases": [ - "fly-flower", - "nature" - ], - "styles": [ - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "47006F8F-3A47-4D8A-9224-CF1F823E1B35", - "baseIconId": "667E2F2C-B896-48EF-B5F9-EF9436A8BE4B", - "name": "beehive-off-outline", - "codepoint": "F13ED", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "667E2F2C-B896-48EF-B5F9-EF9436A8BE4B", - "baseIconId": "667E2F2C-B896-48EF-B5F9-EF9436A8BE4B", - "name": "beehive-outline", - "codepoint": "F10CE", - "aliases": [ - "honey-outline" - ], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "520FBDF0-4EB1-4413-89F9-AB4E3518FA38", - "baseIconId": "520FBDF0-4EB1-4413-89F9-AB4E3518FA38", - "name": "beekeeper", - "codepoint": "F14E2", - "aliases": [ - "apiarists", - "apiculturists", - "honey-farmer" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "guenth39" - }, - { - "id": "9D9A73D2-0780-4141-95A3-CDFE21E6D4D6", - "baseIconId": "9D9A73D2-0780-4141-95A3-CDFE21E6D4D6", - "name": "beer", - "codepoint": "F0098", - "aliases": [ - "pint", - "pub", - "bar", - "drink", - "cup-full" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "524E1789-7B3A-4BAD-9D04-2E8FD838DCFB", - "baseIconId": "9D9A73D2-0780-4141-95A3-CDFE21E6D4D6", - "name": "beer-outline", - "codepoint": "F130C", - "aliases": [ - "drink-outline", - "cup-full-outline", - "pint-outline", - "pub-outline", - "bar-outline" - ], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell", - "codepoint": "F009A", - "aliases": [ - "notifications" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification", - "Home Automation", - "Music" - ], - "author": "Google" - }, - { - "id": "376D7457-2DC3-463A-B4D9-4F170E0B19FB", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-alert", - "codepoint": "F0D59", - "aliases": [ - "bell-warning" - ], - "styles": [ - "alert" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Notification" - ], - "author": "Simran" - }, - { - "id": "2E15CEB7-FC9C-4822-94CF-D84F99824F3C", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-alert-outline", - "codepoint": "F0E81", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Notification" - ], - "author": "Simran" - }, - { - "id": "9DA90BB6-B525-47A8-879F-66EC572FE31B", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-badge", - "codepoint": "F116B", - "aliases": [ - "bell-notification" - ], - "styles": [ - "badge" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Michael Irigoyen" - }, - { - "id": "42F0733E-F36F-491B-ADC9-AC8ABAF2C0B7", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-badge-outline", - "codepoint": "F0178", - "aliases": [ - "bell-notification-outline" - ], - "styles": [ - "badge", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Michael Irigoyen" - }, - { - "id": "61CFFDEC-BE16-404E-8ECA-F911F8105C7C", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-cancel", - "codepoint": "F13E7", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "5CA70271-00B4-4412-B082-FED05EFF165A", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-cancel-outline", - "codepoint": "F13E8", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "A00A7DBE-44BB-4843-B740-FAAB76357B03", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-check", - "codepoint": "F11E5", - "aliases": [], - "styles": [ - "check" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "GreenTurtwig" - }, - { - "id": "510AFFA1-DEEE-4A0B-B596-611969C5934D", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-check-outline", - "codepoint": "F11E6", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "GreenTurtwig" - }, - { - "id": "D811F01E-BDFB-496F-866C-70533A343B57", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-circle", - "codepoint": "F0D5A", - "aliases": [], - "styles": [ - "circle" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "204DDC9C-1546-44DF-829D-2EA5AA299804", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-circle-outline", - "codepoint": "F0D5B", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "8191437C-298C-4A5F-8EC3-A2DA4584BF0D", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-cog", - "codepoint": "F1A29", - "aliases": [ - "bell-settings", - "notification-settings" - ], - "styles": [ - "cog" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Notification", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "51BF300C-2921-4364-B362-56E4D81DA629", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-cog-outline", - "codepoint": "F1A2A", - "aliases": [ - "bell-settings-outline", - "notification-settings-outline" - ], - "styles": [ - "cog", - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Notification", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C25507E4-8865-47BF-A6AB-D97978AB4397", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-minus", - "codepoint": "F13E9", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "7344702F-0680-4095-BF7E-D9AFDE650703", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-minus-outline", - "codepoint": "F13EA", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "69686D8F-75FE-4091-9061-88DB64D95C01", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-off", - "codepoint": "F009B", - "aliases": [ - "notifications-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "6C0FD819-5174-4CCA-8A63-2CEE9F6EE71E", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-off-outline", - "codepoint": "F0A91", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "70A190E9-6F1D-40DB-81D4-C9516949DF0B", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-outline", - "codepoint": "F009C", - "aliases": [ - "notifications-none" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification", - "Music", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "FC07FF46-2FD1-4E4E-8D35-BADDEEB5F531", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-plus", - "codepoint": "F009D", - "aliases": [ - "add-alert", - "bell-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "45FB036D-61D0-4390-9F15-480121F2CE3B", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-plus-outline", - "codepoint": "F0A92", - "aliases": [ - "bell-add-outline", - "add-alert-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "16A7DF47-4674-4439-9E33-ADE491DFC806", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-remove", - "codepoint": "F13EB", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "BFCC1A57-A94F-4104-BCBF-980E9D8B2B6C", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-remove-outline", - "codepoint": "F13EC", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Simran" - }, - { - "id": "CD75C484-B1AD-492B-8CAA-9F002398C3CA", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-ring", - "codepoint": "F009E", - "aliases": [ - "notifications-active" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "EE7DADC1-CF66-4922-B0C9-9B8F753514F9", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-ring-outline", - "codepoint": "F009F", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "43BD9E91-2044-4B80-AF87-2FC810C42A1B", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-sleep", - "codepoint": "F00A0", - "aliases": [ - "notifications-paused" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "91193FC6-AF35-46FD-A05E-6AA99D6EA99F", - "baseIconId": "45fea174-07db-11e4-bf19-842b2b6cfe1b", - "name": "bell-sleep-outline", - "codepoint": "F0A93", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "0A408C8A-FD39-4160-9547-3A7895BCE942", - "baseIconId": "0A408C8A-FD39-4160-9547-3A7895BCE942", - "name": "bench", - "codepoint": "F1C21", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "FA105BDA-FD31-4A8E-86AD-1C02073B05B7", - "baseIconId": "0A408C8A-FD39-4160-9547-3A7895BCE942", - "name": "bench-back", - "codepoint": "F1C22", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "4F83A19F-BAB5-4894-AC5A-B288AFD592DC", - "baseIconId": "4F83A19F-BAB5-4894-AC5A-B288AFD592DC", - "name": "beta", - "codepoint": "F00A1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Austin Andrews" - }, - { - "id": "5FA9C13A-087C-452E-966F-4C2FCE336C68", - "baseIconId": "5FA9C13A-087C-452E-966F-4C2FCE336C68", - "name": "betamax", - "codepoint": "F09CB", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "7E88D677-5560-4DF1-A3D0-FC2814BF6612", - "baseIconId": "7E88D677-5560-4DF1-A3D0-FC2814BF6612", - "name": "biathlon", - "codepoint": "F0E14", - "aliases": [ - "human-biathlon" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "90DDBB60-0BBB-4DFA-9626-32D4D1FB34C5", - "baseIconId": "90DDBB60-0BBB-4DFA-9626-32D4D1FB34C5", - "name": "bicycle", - "codepoint": "F109C", - "aliases": [ - "bike", - "cycling" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "CF4876E1-DEBA-4C41-B5B7-4C90C3EF68F4", - "baseIconId": "90DDBB60-0BBB-4DFA-9626-32D4D1FB34C5", - "name": "bicycle-basket", - "codepoint": "F1235", - "aliases": [ - "bike-basket" - ], - "styles": [ - "variant" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "63EFAAFD-2EB5-4600-930D-33CEDDC182A5", - "baseIconId": "90DDBB60-0BBB-4DFA-9626-32D4D1FB34C5", - "name": "bicycle-cargo", - "codepoint": "F189C", - "aliases": [ - "bike-cargo" - ], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Teodor Sandu" - }, - { - "id": "3923C397-5A00-472A-8FDC-FBBAAF3FA323", - "baseIconId": "90DDBB60-0BBB-4DFA-9626-32D4D1FB34C5", - "name": "bicycle-electric", - "codepoint": "F15B4", - "aliases": [ - "bike-electric" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A7A362D7-385E-4026-A43F-BBF13E8D4B37", - "baseIconId": "90DDBB60-0BBB-4DFA-9626-32D4D1FB34C5", - "name": "bicycle-penny-farthing", - "codepoint": "F15E9", - "aliases": [ - "bicycle-high-wheel", - "bicycle-antique" - ], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Colton Wiscombe" - }, - { - "id": "627C7FF1-BCAD-4741-966E-7CED73B35DC2", - "baseIconId": "627C7FF1-BCAD-4741-966E-7CED73B35DC2", - "name": "bike", - "codepoint": "F00A3", - "aliases": [ - "bicycle", - "cycling", - "directions-bike" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Google" - }, - { - "id": "2C312B6E-73D4-4A98-A701-D49E31F95E7B", - "baseIconId": "627C7FF1-BCAD-4741-966E-7CED73B35DC2", - "name": "bike-fast", - "codepoint": "F111F", - "aliases": [ - "velocity" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "GreenTurtwig" - }, - { - "id": "31FF4583-E8CF-45E3-9F21-F75022605846", - "baseIconId": "31FF4583-E8CF-45E3-9F21-F75022605846", - "name": "bike-pedal", - "codepoint": "F1C23", - "aliases": [ - "bike-pedal-flat" - ], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Jeff Anders" - }, - { - "id": "25F25042-2064-4655-A19C-F9761ABF0EC7", - "baseIconId": "31FF4583-E8CF-45E3-9F21-F75022605846", - "name": "bike-pedal-clipless", - "codepoint": "F1C24", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Jeff Anders" - }, - { - "id": "E609D6B1-16E0-43BA-9674-6F2E5924504E", - "baseIconId": "31FF4583-E8CF-45E3-9F21-F75022605846", - "name": "bike-pedal-mountain", - "codepoint": "F1C25", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Jeff Anders" - }, - { - "id": "645C4EDB-9339-4784-8AE9-BD60F8460CAE", - "baseIconId": "645C4EDB-9339-4784-8AE9-BD60F8460CAE", - "name": "billboard", - "codepoint": "F1010", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6FFE2C93-4350-4706-9694-1674F96855EA", - "baseIconId": "6FFE2C93-4350-4706-9694-1674F96855EA", - "name": "billiards", - "codepoint": "F0B61", - "aliases": [ - "pool", - "eight-ball" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "2ED0EE4C-D928-41C6-8D5D-3AA3A2DF7AF6", - "baseIconId": "2ED0EE4C-D928-41C6-8D5D-3AA3A2DF7AF6", - "name": "billiards-rack", - "codepoint": "F0B62", - "aliases": [ - "pool-table", - "pool-rack", - "snooker-rack", - "pool-triangle", - "billiards-triangle", - "snooker-triangle" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "75806AA4-294B-4A0A-8BDB-FC4CABCA1768", - "baseIconId": "75806AA4-294B-4A0A-8BDB-FC4CABCA1768", - "name": "binoculars", - "codepoint": "F00A5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F5D76655-0F6E-4FF2-AC74-CC3A235B7FC6", - "baseIconId": "F5D76655-0F6E-4FF2-AC74-CC3A235B7FC6", - "name": "bio", - "codepoint": "F00A6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "96BDE572-9D10-47D0-919F-68EB6CD3DFA9", - "baseIconId": "96BDE572-9D10-47D0-919F-68EB6CD3DFA9", - "name": "biohazard", - "codepoint": "F00A7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "18622D72-42B2-4919-BDB5-DCC77310045B", - "baseIconId": "18622D72-42B2-4919-BDB5-DCC77310045B", - "name": "bird", - "codepoint": "F15C6", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B48BB714-F66F-4D86-9864-051DB90AE197", - "baseIconId": "B48BB714-F66F-4D86-9864-051DB90AE197", - "name": "bitbucket", - "codepoint": "F00A8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9C8A35A5-86B5-4B10-BEE9-93CDFAF15B9C", - "baseIconId": "9C8A35A5-86B5-4B10-BEE9-93CDFAF15B9C", - "name": "bitcoin", - "codepoint": "F0813", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Banking", - "Currency" - ], - "author": "Contributors" - }, - { - "id": "1F233821-5ED4-4CB3-8933-9A16C05D7AC9", - "baseIconId": "1F233821-5ED4-4CB3-8933-9A16C05D7AC9", - "name": "black-mesa", - "codepoint": "F00A9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "AC980D29-7F19-4356-970E-A147CFEB64E3", - "baseIconId": "AC980D29-7F19-4356-970E-A147CFEB64E3", - "name": "blender", - "codepoint": "F0CEB", - "aliases": [ - "food-processor" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "C8C79C9B-59FC-417E-9516-E5351594A994", - "baseIconId": "AC980D29-7F19-4356-970E-A147CFEB64E3", - "name": "blender-outline", - "codepoint": "F181A", - "aliases": [ - "food-processor-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "F365BC90-C8EC-4A5C-99FB-C2ED27B5593A", - "baseIconId": "F365BC90-C8EC-4A5C-99FB-C2ED27B5593A", - "name": "blender-software", - "codepoint": "F00AB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "926ACBEB-C5F6-4EF4-829E-E0B05501DDD6", - "baseIconId": "926ACBEB-C5F6-4EF4-829E-E0B05501DDD6", - "name": "blinds", - "codepoint": "F00AC", - "aliases": [ - "roller-shade-closed", - "window-closed" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "2E6100FD-8F6C-423C-BC18-372F8D57DC59", - "baseIconId": "2E6100FD-8F6C-423C-BC18-372F8D57DC59", - "name": "blinds-horizontal", - "codepoint": "F1A2B", - "aliases": [ - "blinds-open", - "mini-blinds", - "window-open" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "18949103-543E-4756-83E4-394E60DD1036", - "baseIconId": "2E6100FD-8F6C-423C-BC18-372F8D57DC59", - "name": "blinds-horizontal-closed", - "codepoint": "F1A2C", - "aliases": [ - "mini-blinds", - "window-closed" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "5DCCF3FA-F418-4052-9B93-6FA85C2659F5", - "baseIconId": "926ACBEB-C5F6-4EF4-829E-E0B05501DDD6", - "name": "blinds-open", - "codepoint": "F1011", - "aliases": [ - "roller-shade-open", - "window-open" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "idevo89" - }, - { - "id": "F57CEB13-5A41-498C-BCF5-D7036E7B1122", - "baseIconId": "F57CEB13-5A41-498C-BCF5-D7036E7B1122", - "name": "blinds-vertical", - "codepoint": "F1A2D", - "aliases": [ - "window" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "293F404C-5568-4F17-A6EB-0750931EE2B6", - "baseIconId": "F57CEB13-5A41-498C-BCF5-D7036E7B1122", - "name": "blinds-vertical-closed", - "codepoint": "F1A2E", - "aliases": [ - "window-closed" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "5832B598-DAAA-4497-B995-CF940A1C7F20", - "baseIconId": "5832B598-DAAA-4497-B995-CF940A1C7F20", - "name": "block-helper", - "codepoint": "F00AD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "FA540210-0F58-4D2A-86BA-E202B520C8DA", - "baseIconId": "FA540210-0F58-4D2A-86BA-E202B520C8DA", - "name": "blood-bag", - "codepoint": "F0CEC", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7CBB03E7-EAC6-44C2-8C28-A78728F8BB7B", - "baseIconId": "7CBB03E7-EAC6-44C2-8C28-A78728F8BB7B", - "name": "bluetooth", - "codepoint": "F00AF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Contributors" - }, - { - "id": "6639774A-9027-4D20-AE57-24C78EF41141", - "baseIconId": "7CBB03E7-EAC6-44C2-8C28-A78728F8BB7B", - "name": "bluetooth-audio", - "codepoint": "F00B0", - "aliases": [ - "bluetooth-searching" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Google" - }, - { - "id": "1E123F41-EA93-4085-8446-88F50C501A6F", - "baseIconId": "7CBB03E7-EAC6-44C2-8C28-A78728F8BB7B", - "name": "bluetooth-connect", - "codepoint": "F00B1", - "aliases": [ - "bluetooth-connected" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CEB015C9-455E-4551-A898-7A992658CF72", - "baseIconId": "7CBB03E7-EAC6-44C2-8C28-A78728F8BB7B", - "name": "bluetooth-off", - "codepoint": "F00B2", - "aliases": [ - "bluetooth-disabled" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E5DEA4AB-58E1-45CF-81EF-1A98594C5884", - "baseIconId": "7CBB03E7-EAC6-44C2-8C28-A78728F8BB7B", - "name": "bluetooth-settings", - "codepoint": "F00B3", - "aliases": [ - "settings-bluetooth" - ], - "styles": [ - "settings" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "A0D9FDB0-B6D8-43F9-A418-01B78336C84C", - "baseIconId": "7CBB03E7-EAC6-44C2-8C28-A78728F8BB7B", - "name": "bluetooth-transfer", - "codepoint": "F00B4", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FAFCB184-2AAD-4E83-924F-1C37F1EDF956", - "baseIconId": "FAFCB184-2AAD-4E83-924F-1C37F1EDF956", - "name": "blur", - "codepoint": "F00B5", - "aliases": [ - "blur-on" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B23B281D-C753-468E-A0D1-79C2963346C8", - "baseIconId": "FAFCB184-2AAD-4E83-924F-1C37F1EDF956", - "name": "blur-linear", - "codepoint": "F00B6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4F541CC2-7659-4230-A307-6E5D515C529B", - "baseIconId": "FAFCB184-2AAD-4E83-924F-1C37F1EDF956", - "name": "blur-off", - "codepoint": "F00B7", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "29F42A3B-BCD5-45BA-9B87-35F97FE9438D", - "baseIconId": "FAFCB184-2AAD-4E83-924F-1C37F1EDF956", - "name": "blur-radial", - "codepoint": "F00B8", - "aliases": [ - "blur-circular" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4371183D-0D2B-4512-8069-93834BC85DE7", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "bolt", - "codepoint": "F0DB3", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7DC40C3F-3733-48AF-94C7-5454FB849A49", - "baseIconId": "7DC40C3F-3733-48AF-94C7-5454FB849A49", - "name": "bomb", - "codepoint": "F0691", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "DEC98F6C-E85D-400C-87CD-6AE692583838", - "baseIconId": "7DC40C3F-3733-48AF-94C7-5454FB849A49", - "name": "bomb-off", - "codepoint": "F06C5", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Roberto Graham" - }, - { - "id": "7FCD9594-B235-45D5-8504-A41F251FD50E", - "baseIconId": "7FCD9594-B235-45D5-8504-A41F251FD50E", - "name": "bone", - "codepoint": "F00B9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal", - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "2ECDAB32-FFDA-4E29-9465-D932794C53EF", - "baseIconId": "7FCD9594-B235-45D5-8504-A41F251FD50E", - "name": "bone-off", - "codepoint": "F19E0", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Animal", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book", - "codepoint": "F00BA", - "aliases": [ - "git-repository" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D4247A9D-BD96-40AC-8C4E-A9A255DF5160", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-account", - "codepoint": "F13AD", - "aliases": [], - "styles": [ - "account" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "C9126B03-23E9-457D-9249-ADB88EA6F0E4", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-account-outline", - "codepoint": "F13AE", - "aliases": [], - "styles": [ - "account", - "outline" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "08CE9E71-4426-4186-8573-7B2EDFE28F7D", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-alert", - "codepoint": "F167C", - "aliases": [], - "styles": [ - "alert" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6DDFDD69-EBA5-4BFB-A44F-6B84A7B3A4BC", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-alert-outline", - "codepoint": "F167D", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "250BF541-072A-4773-8BC2-B1943DF1EDBB", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-alphabet", - "codepoint": "F061D", - "aliases": [ - "dictionary" - ], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Christopher Schreiner" - }, - { - "id": "7B6400CF-D8CF-418B-A400-CDCA1D58E813", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-down", - "codepoint": "F167E", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "7B9920BE-2895-4D38-A981-5E416D76403A", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-down-outline", - "codepoint": "F167F", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "5D776E4B-7F6C-4385-A892-964B3F800F30", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-left", - "codepoint": "F1680", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1730A6B3-D405-4F4B-A12D-0957B5B268D7", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-left-outline", - "codepoint": "F1681", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2780AAEC-BE71-4C4A-8C02-7BCDBE521D74", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-right", - "codepoint": "F1682", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "CCBCE4D7-2799-433B-AF47-A5105E45779A", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-right-outline", - "codepoint": "F1683", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E724EA9A-002E-4A3E-9275-690258105F1D", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-up", - "codepoint": "F1684", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "D3DE3980-8DF9-4FED-B08D-F04B5610B84D", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-arrow-up-outline", - "codepoint": "F1685", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8D3C8531-8EAD-43FC-9139-B1A9D2BEB63D", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-cancel", - "codepoint": "F1686", - "aliases": [], - "styles": [ - "cancel" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "FA64FF4E-C720-4635-90EF-D4A913168329", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-cancel-outline", - "codepoint": "F1687", - "aliases": [], - "styles": [ - "cancel", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "ADF6BB0F-12F3-498F-B31A-07F6BFFFDF9D", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-check", - "codepoint": "F14F3", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "32A94643-61F6-4F21-BB4D-68932CB98FB4", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-check-outline", - "codepoint": "F14F4", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "97CCD006-4DE0-4AEE-BB95-D9EBCCDE8012", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-clock", - "codepoint": "F1688", - "aliases": [ - "book-schedule", - "book-time" - ], - "styles": [ - "clock" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EFEC2FA7-18B1-4753-88C4-E2531FA96DD5", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-clock-outline", - "codepoint": "F1689", - "aliases": [ - "book-schedule", - "book-time" - ], - "styles": [ - "clock", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "36C20B8A-AA61-49D5-9500-16917BBDF388", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-cog", - "codepoint": "F168A", - "aliases": [ - "book-settings" - ], - "styles": [ - "cog" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B63BFA22-6A8E-48FD-8BDB-E82BB550411D", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-cog-outline", - "codepoint": "F168B", - "aliases": [ - "book-settings-outline" - ], - "styles": [ - "cog", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CC30F9D0-3076-4189-A00D-F570D5B0C5D1", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-cross", - "codepoint": "F00A2", - "aliases": [ - "bible" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Christopher Schreiner" - }, - { - "id": "CF11FAB5-CEE6-4F8D-9E64-67285419FF62", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-edit", - "codepoint": "F168C", - "aliases": [], - "styles": [ - "edit" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "615E9F0E-F80A-4806-8023-F3B5E47A0F07", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-edit-outline", - "codepoint": "F168D", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B115D616-1428-4D6B-84D7-643900FBEF77", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-education", - "codepoint": "F16C9", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2C5308E6-760F-4CD8-A2CF-DD3B5434B0A0", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-education-outline", - "codepoint": "F16CA", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4A830C97-1A09-495F-91A5-8F02571C54C6", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-heart", - "codepoint": "F1A1D", - "aliases": [ - "book-favorite", - "book-love" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "72206137-0CFE-4A3C-BA21-16EB71D39821", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-heart-outline", - "codepoint": "F1A1E", - "aliases": [ - "book-favorite-outline", - "book-love-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4A6A20D1-3F8E-440A-BFB1-38CFB3FB3EC6", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-information-variant", - "codepoint": "F106F", - "aliases": [ - "encyclopedia" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Terren" - }, - { - "id": "121AF367-3AE5-48D1-9868-8DC60342D4A0", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-lock", - "codepoint": "F079A", - "aliases": [ - "book-secure" - ], - "styles": [ - "lock" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "90B49606-B4FF-4D4B-AE05-4769659094CE", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-lock-open", - "codepoint": "F079B", - "aliases": [ - "book-unsecure" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "F4804DDA-AD18-4DAF-A916-F0F6DC23F0A5", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-lock-open-outline", - "codepoint": "F168E", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2E088838-572B-45AC-B250-1C86900B787E", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-lock-outline", - "codepoint": "F168F", - "aliases": [ - "book-secure-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D5DCE615-BCFA-4922-8F95-5CEA756FD378", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-marker", - "codepoint": "F1690", - "aliases": [ - "book-location" - ], - "styles": [ - "marker" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "69EBC2C1-A3D3-42E6-9868-3E97DD6DD301", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-marker-outline", - "codepoint": "F1691", - "aliases": [ - "book-location-outline" - ], - "styles": [ - "marker", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7367B5F0-8155-4F3D-9C7E-BFDF677442D8", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-minus", - "codepoint": "F05D9", - "aliases": [], - "styles": [ - "minus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "6B536CF6-98D8-44A5-9094-43C1BE41EC91", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-minus-multiple", - "codepoint": "F0A94", - "aliases": [ - "books-minus" - ], - "styles": [ - "minus", - "multiple" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Perth Totty" - }, - { - "id": "2AF5ACED-6980-4A66-B010-629C3E371315", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-minus-multiple-outline", - "codepoint": "F090B", - "aliases": [], - "styles": [ - "minus", - "multiple", - "outline" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "402AE77A-79CC-42EF-9FB7-7D11D2C949DA", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-minus-outline", - "codepoint": "F1692", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "637C4988-5432-4F5E-ADD5-EBDC397D0622", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-multiple", - "codepoint": "F00BB", - "aliases": [ - "books" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B58005AE-8DFA-4C34-AC4D-C14DEF3D35C2", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-multiple-outline", - "codepoint": "F0436", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "10BCB9E5-2E1F-4CD0-871F-B36FA0595004", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-music", - "codepoint": "F0067", - "aliases": [ - "audio-book" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "22B56C5C-000D-49DB-9D8A-DDD312662DFB", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-music-outline", - "codepoint": "F1693", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "52463F43-10D2-41DC-B4EB-45DDE9A4E655", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-off", - "codepoint": "F1694", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C9B4D51E-AA3F-49D4-9603-CC5CA33EB28A", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-off-outline", - "codepoint": "F1695", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "7EFAD89C-D84E-41F0-A8A4-F72AC8DB470C", - "baseIconId": "7EFAD89C-D84E-41F0-A8A4-F72AC8DB470C", - "name": "book-open", - "codepoint": "F00BD", - "aliases": [ - "chrome-reader-mode" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "08C8BAF9-6B91-458D-BE03-F6A7AABEA2AB", - "baseIconId": "7EFAD89C-D84E-41F0-A8A4-F72AC8DB470C", - "name": "book-open-blank-variant", - "codepoint": "F00BE", - "aliases": [ - "import-contacts" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BA5E15E3-923B-464B-ACEA-F2958F6782F7", - "baseIconId": "7EFAD89C-D84E-41F0-A8A4-F72AC8DB470C", - "name": "book-open-outline", - "codepoint": "F0B63", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "113421A1-241F-4479-B22B-5F56EFD63D4C", - "baseIconId": "7EFAD89C-D84E-41F0-A8A4-F72AC8DB470C", - "name": "book-open-page-variant", - "codepoint": "F05DA", - "aliases": [ - "auto-stories" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3653D788-AC33-42D4-ADE4-F91A1C373973", - "baseIconId": "7EFAD89C-D84E-41F0-A8A4-F72AC8DB470C", - "name": "book-open-page-variant-outline", - "codepoint": "F15D6", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E5928511-4156-4086-B58D-A2B235A3F824", - "baseIconId": "7EFAD89C-D84E-41F0-A8A4-F72AC8DB470C", - "name": "book-open-variant", - "codepoint": "F14F7", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D1558D49-BCE0-4539-9560-DB05153356AF", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-outline", - "codepoint": "F0B64", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "89E22D2B-FF72-4242-BEE1-7865F974CF51", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-play", - "codepoint": "F0E82", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8A87B5DD-D8DF-43A8-BFDD-D127E6F48792", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-play-outline", - "codepoint": "F0E83", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3C49BDB2-C3A3-4E0C-9314-19FE66414A5B", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-plus", - "codepoint": "F05DB", - "aliases": [ - "book-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "9A754066-7A7A-4362-9530-C8500B178DED", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-plus-multiple", - "codepoint": "F0A95", - "aliases": [ - "books-plus", - "book-multiple-add", - "books-add" - ], - "styles": [ - "multiple", - "plus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Perth Totty" - }, - { - "id": "129A1ABB-F616-4750-8814-018A12FE9D88", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-plus-multiple-outline", - "codepoint": "F0ADE", - "aliases": [], - "styles": [ - "multiple", - "outline", - "plus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "58B6134A-73CF-4E0E-AB85-DCBFB6B6766B", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-plus-outline", - "codepoint": "F1696", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "CFAA64B9-8047-4713-AD53-574A398F187F", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-refresh", - "codepoint": "F1697", - "aliases": [], - "styles": [ - "refresh" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "7F62E9BE-F358-4CF8-B3DB-938805F83089", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-refresh-outline", - "codepoint": "F1698", - "aliases": [], - "styles": [ - "outline", - "refresh" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "DAB52460-1820-4BD0-9695-67EBF9E84167", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-remove", - "codepoint": "F0A97", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Perth Totty" - }, - { - "id": "414C568C-94B4-4EC3-9D81-22F747B9D0FC", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-remove-multiple", - "codepoint": "F0A96", - "aliases": [ - "books-remove" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Perth Totty" - }, - { - "id": "32DEB304-15CC-4B30-832E-A1377A57EC47", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-remove-multiple-outline", - "codepoint": "F04CA", - "aliases": [], - "styles": [ - "multiple", - "outline", - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "CDCF29D7-CED3-45DB-BBC8-ACEA8262738C", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-remove-outline", - "codepoint": "F1699", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "AE0D918C-8BC9-4D85-B445-62039AD16FB2", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-search", - "codepoint": "F0E84", - "aliases": [], - "styles": [ - "search" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "62AB37D9-3483-4F21-BD4C-44214B668599", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-search-outline", - "codepoint": "F0E85", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E48C6D20-C8BC-43A0-9F90-A9FBADAB3454", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-settings", - "codepoint": "F169A", - "aliases": [], - "styles": [ - "settings" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E090B509-20FE-405D-9811-221E533F79F3", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-settings-outline", - "codepoint": "F169B", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "ACB38262-FB32-456E-AE84-6BCE160F56C4", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-sync", - "codepoint": "F169C", - "aliases": [], - "styles": [ - "sync" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8C2A47E9-6B8B-4504-A1C7-37EDFD9DC979", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-sync-outline", - "codepoint": "F16C8", - "aliases": [], - "styles": [ - "sync" - ], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1B9F45CE-CA39-4ACF-8961-4B4B56D6F94A", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "book-variant", - "codepoint": "F00BF", - "aliases": [ - "class" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark", - "codepoint": "F00C0", - "aliases": [ - "turned-in" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BBEAE49B-BA87-4375-A642-83196A4999F6", - "baseIconId": "BBEAE49B-BA87-4375-A642-83196A4999F6", - "name": "bookmark-box", - "codepoint": "F1B75", - "aliases": [], - "styles": [ - "box" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "84C06231-55E7-4450-B88D-964B33FCACDA", - "baseIconId": "84C06231-55E7-4450-B88D-964B33FCACDA", - "name": "bookmark-box-multiple", - "codepoint": "F196C", - "aliases": [ - "collections-bookmark", - "library-bookmark" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1F563201-43D7-4CDA-8DB5-5F82A438965D", - "baseIconId": "84C06231-55E7-4450-B88D-964B33FCACDA", - "name": "bookmark-box-multiple-outline", - "codepoint": "F196D", - "aliases": [ - "collections-bookmark-outline", - "library-bookmark-outline" - ], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "93A0AE0D-58F7-4A60-8A24-A0E131A036E2", - "baseIconId": "93A0AE0D-58F7-4A60-8A24-A0E131A036E2", - "name": "bookmark-box-outline", - "codepoint": "F1B76", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "65F155F1-7A9F-49AF-B570-FD6D24553CE5", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-check", - "codepoint": "F00C1", - "aliases": [ - "bookmark-tick", - "bookmark-success" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EFBBDF1F-1497-4BA3-AE93-614B2BB496F7", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-check-outline", - "codepoint": "F137B", - "aliases": [ - "bookmark-success-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "AB2B19C4-5114-4D8A-A2EB-4E112B43F383", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-minus", - "codepoint": "F09CC", - "aliases": [], - "styles": [ - "minus" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "491E1C5C-650E-41BB-9D44-8F8F2474B657", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-minus-outline", - "codepoint": "F09CD", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "28FFD085-27EC-47A7-88A7-989BECA3DDE0", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-multiple", - "codepoint": "F0E15", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4C37E778-2438-4F54-8D08-5B25A7659FB7", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-multiple-outline", - "codepoint": "F0E16", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DF4ECEB8-EF5C-4ACC-BC7D-B4FEEE75D17D", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-music", - "codepoint": "F00C2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "140B0E5A-4F75-4C53-A9D5-867E4DC020E7", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-music-outline", - "codepoint": "F1379", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Simran" - }, - { - "id": "CE74B9A9-5962-4127-ACBE-A1AD4F130A2F", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-off", - "codepoint": "F09CE", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "998B6488-F375-4297-9941-6D8ADC4E7F3C", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-off-outline", - "codepoint": "F09CF", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0EB6BB85-4BE2-4608-BABF-2EF135D420A7", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-outline", - "codepoint": "F00C3", - "aliases": [ - "bookmark-border", - "turned-in-not" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "596822BD-8373-402C-9D27-C341405F55F9", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-plus", - "codepoint": "F00C5", - "aliases": [ - "bookmark-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "DB2B7624-66CB-4E7E-A65F-4CEE8870C6CC", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-plus-outline", - "codepoint": "F00C4", - "aliases": [ - "bookmark-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "89594C9C-18ED-45EA-A3AC-A91B570D1541", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-remove", - "codepoint": "F00C6", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0634B479-2104-4AF4-B442-2E5C407EBEE1", - "baseIconId": "690787DD-F7B0-4D32-A668-32657D3A3AE8", - "name": "bookmark-remove-outline", - "codepoint": "F137A", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "562F5DDE-E65C-4ACC-98B7-54C0D5406AED", - "baseIconId": "562F5DDE-E65C-4ACC-98B7-54C0D5406AED", - "name": "bookshelf", - "codepoint": "F125F", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Thomas de Saint-Exup\u00e9ry" - }, - { - "id": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate", - "codepoint": "F0E86", - "aliases": [ - "boom-arm", - "boom-barrier", - "arm-barrier", - "barrier", - "automatic-gate" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "2C3B8F49-7A38-49EE-8288-FDA6AC188727", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-alert", - "codepoint": "F0E87", - "aliases": [ - "boom-arm-alert", - "boom-barrier-alert", - "arm-barrier-alert", - "barrier-alert", - "automatic-gate-alert" - ], - "styles": [ - "alert" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "B138EF8B-B8ED-4792-9967-D4FB4C8E8A98", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-alert-outline", - "codepoint": "F0E88", - "aliases": [ - "boom-arm-alert-outline", - "boom-barrier-alert-outline", - "arm-barrier-alert-outline", - "barrier-alert-outline", - "automatic-gate-alert-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "D9BD19B7-12DD-4557-9DDA-998688CA3CB5", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-arrow-down", - "codepoint": "F0E89", - "aliases": [ - "boom-arm-down", - "boom-barrier-down", - "arm-barrier-down", - "barrier-down", - "automatic-gate-down" - ], - "styles": [ - "arrow", - "bold" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "F0ED697E-DAA8-4530-8403-C614C8EBCE3B", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-arrow-down-outline", - "codepoint": "F0E8A", - "aliases": [ - "boom-arm-down-outline", - "boom-barrier-down-outline", - "arm-barrier-down-outline", - "barrier-down-outline", - "automatic-gate-down-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "F9ADF5B2-435F-4820-8790-EAA72D6D5C75", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-arrow-up", - "codepoint": "F0E8C", - "aliases": [ - "boom-arm-up", - "boom-barrier-up", - "arm-barrier-up", - "barrier-up", - "automatic-gate-up" - ], - "styles": [ - "arrow", - "bold" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "24E7CECC-7FAC-4FE4-8EAE-B727489040E8", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-arrow-up-outline", - "codepoint": "F0E8D", - "aliases": [ - "boom-arm-up-outline", - "boom-barrier-up-outline", - "arm-barrier-up-outline", - "barrier-up-outline", - "automatic-gate-up-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "EF1F53B3-DA99-4410-9A20-E12C42FC2461", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-outline", - "codepoint": "F0E8B", - "aliases": [ - "boom-arm-outline", - "boom-barrier-outline", - "arm-barrier-outline", - "barrier-outline", - "automatic-gate-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "615182F4-7F56-403E-8FDA-7DE1A2041F93", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-up", - "codepoint": "F17F9", - "aliases": [ - "boom-arm-up", - "boom-barrier-up", - "arm-barrier-up", - "barrier-up", - "automatic-gate-up" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C42EF32C-0E5A-498E-A633-A2E9C739F514", - "baseIconId": "D24517D5-27A6-4BE4-B9C8-C575A1431310", - "name": "boom-gate-up-outline", - "codepoint": "F17FA", - "aliases": [ - "boom-arm-up-outline", - "boom-barrier-up-outline", - "arm-barrier-up-outline", - "barrier-up-outline", - "automatic-gate-up-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DAA06443-AE25-4881-BC62-8033C4420B8E", - "baseIconId": "DAA06443-AE25-4881-BC62-8033C4420B8E", - "name": "boombox", - "codepoint": "F05DC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "090EBF34-3104-4D3C-B3C8-819C332A43E1", - "baseIconId": "090EBF34-3104-4D3C-B3C8-819C332A43E1", - "name": "boomerang", - "codepoint": "F10CF", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9DAC7258-AB2D-49E4-98A9-E84A5E3E474B", - "baseIconId": "9DAC7258-AB2D-49E4-98A9-E84A5E3E474B", - "name": "bootstrap", - "codepoint": "F06C6", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "A3D0E8B6-96B3-4281-B31C-0DDFD729903B", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-all", - "codepoint": "F00C7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "AD3DDFBC-21FE-4D6E-AE09-E9EB7D289459", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-all-variant", - "codepoint": "F08A1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "9441B8BD-25C8-4F46-AFD4-6B2DA0C4A599", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-bottom", - "codepoint": "F00C8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "29792687-63C3-41A6-8182-CF829969BD48", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-bottom-variant", - "codepoint": "F08A2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "CCD99C36-5D88-4696-8193-56F11C4B20A7", - "baseIconId": "CCD99C36-5D88-4696-8193-56F11C4B20A7", - "name": "border-color", - "codepoint": "F00C9", - "aliases": [ - "border-colour" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Color", - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "0F804E73-90EF-4175-984D-603698F0AF09", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-horizontal", - "codepoint": "F00CA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "F7471447-8501-40A6-9FFB-AB353B55AA89", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-inside", - "codepoint": "F00CB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "6B8A1379-9497-4B1B-A8CF-51CB1AD67757", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-left", - "codepoint": "F00CC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "063FAD96-7055-4D1E-8E50-B9288BB9D0B0", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-left-variant", - "codepoint": "F08A3", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "F6333BD9-AC00-428D-B8A8-FA3B9187487F", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-none", - "codepoint": "F00CD", - "aliases": [ - "border-clear" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "C8EC415C-81DE-4399-AEAB-FE102959F619", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-none-variant", - "codepoint": "F08A4", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "F8EA9B00-82F1-4DE8-B8B5-0A71B934C44D", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-outside", - "codepoint": "F00CE", - "aliases": [ - "border-outer" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "3BF9D4F8-DD9D-4D5E-A1B4-A1AA22172E47", - "baseIconId": "3BF9D4F8-DD9D-4D5E-A1B4-A1AA22172E47", - "name": "border-radius", - "codepoint": "F1AF4", - "aliases": [ - "border-round-corners" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Sintija" - }, - { - "id": "BC67506B-CAE4-4EDA-B0C8-614436AFDCBF", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-right", - "codepoint": "F00CF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "6284DA6C-DB95-4747-BB40-DE69D5970C5B", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-right-variant", - "codepoint": "F08A5", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-style", - "codepoint": "F00D0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "AE703F65-F8D5-43B9-9B6B-B5966260E799", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-top", - "codepoint": "F00D1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "E9426CB0-FC83-40AA-B429-F55AD3F72E47", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-top-variant", - "codepoint": "F08A6", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "540E7940-BA85-4EED-BEAB-C50CEF348D50", - "baseIconId": "5A750E96-F9A0-4C38-B601-8BA770E89E01", - "name": "border-vertical", - "codepoint": "F00D2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "D938FAC2-CC48-431D-8019-FA41677470DD", - "baseIconId": "D938FAC2-CC48-431D-8019-FA41677470DD", - "name": "bottle-soda", - "codepoint": "F1070", - "aliases": [ - "bottle-coke", - "bottle-pop" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Richins" - }, - { - "id": "E62A084A-2136-4FD3-8803-A72DE26D60CB", - "baseIconId": "D938FAC2-CC48-431D-8019-FA41677470DD", - "name": "bottle-soda-classic", - "codepoint": "F1071", - "aliases": [ - "bottle-coke-classic", - "bottle-pop-classic" - ], - "styles": [ - "variant" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Richins" - }, - { - "id": "7682F8D6-3FFD-4591-BFC5-44BF9166FB49", - "baseIconId": "D938FAC2-CC48-431D-8019-FA41677470DD", - "name": "bottle-soda-classic-outline", - "codepoint": "F1363", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "54C4C95B-E05C-4992-8365-96586E864FF9", - "baseIconId": "D938FAC2-CC48-431D-8019-FA41677470DD", - "name": "bottle-soda-outline", - "codepoint": "F1072", - "aliases": [ - "bottle-coke-outline", - "bottle-pop-outline" - ], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Richins" - }, - { - "id": "4FEF379F-2EBC-49EA-87B8-068B695A67B6", - "baseIconId": "4FEF379F-2EBC-49EA-87B8-068B695A67B6", - "name": "bottle-tonic", - "codepoint": "F112E", - "aliases": [ - "flask" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "44193E2D-1EAB-4BA1-9D32-C7E149F53E89", - "baseIconId": "4FEF379F-2EBC-49EA-87B8-068B695A67B6", - "name": "bottle-tonic-outline", - "codepoint": "F112F", - "aliases": [ - "flask-outline" - ], - "styles": [ - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9524D285-4F39-4FEA-9EC1-9F4B6ACB6615", - "baseIconId": "4FEF379F-2EBC-49EA-87B8-068B695A67B6", - "name": "bottle-tonic-plus", - "codepoint": "F1130", - "aliases": [ - "health-potion" - ], - "styles": [ - "plus" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8508B85B-4238-4FC5-90F8-3C7E5612174B", - "baseIconId": "4FEF379F-2EBC-49EA-87B8-068B695A67B6", - "name": "bottle-tonic-plus-outline", - "codepoint": "F1131", - "aliases": [ - "health-potion-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CE430764-D7C8-4DC8-97F4-DF1473B2C52C", - "baseIconId": "4FEF379F-2EBC-49EA-87B8-068B695A67B6", - "name": "bottle-tonic-skull", - "codepoint": "F1132", - "aliases": [ - "poison", - "moonshine" - ], - "styles": [ - "variant" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "24EF4783-9CDC-402E-9F8D-28CCDB50F216", - "baseIconId": "4FEF379F-2EBC-49EA-87B8-068B695A67B6", - "name": "bottle-tonic-skull-outline", - "codepoint": "F1133", - "aliases": [ - "poison-outline", - "moonshine-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E27EBD86-D80B-473B-BEAB-A22005475F38", - "baseIconId": "D938FAC2-CC48-431D-8019-FA41677470DD", - "name": "bottle-wine", - "codepoint": "F0854", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "James Coyle" - }, - { - "id": "B04C5F90-A3FB-4A60-B773-25AE19D293C7", - "baseIconId": "D938FAC2-CC48-431D-8019-FA41677470DD", - "name": "bottle-wine-outline", - "codepoint": "F1310", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "3B0FFEAC-477B-436C-A964-F537EC6ADF94", - "baseIconId": "3B0FFEAC-477B-436C-A964-F537EC6ADF94", - "name": "bow-arrow", - "codepoint": "F1841", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Sport" - ], - "author": "Colton Wiscombe" - }, - { - "id": "741B300C-06EF-459D-BB3E-95DB8E21194E", - "baseIconId": "741B300C-06EF-459D-BB3E-95DB8E21194E", - "name": "bow-tie", - "codepoint": "F0678", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Thomas Hunsaker" - }, - { - "id": "84EB4644-EC38-431B-B55B-12363EB63765", - "baseIconId": "84EB4644-EC38-431B-B55B-12363EB63765", - "name": "bowl", - "codepoint": "F028E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "95E70948-C85D-41AC-887C-62752FBA7B6B", - "baseIconId": "84EB4644-EC38-431B-B55B-12363EB63765", - "name": "bowl-mix", - "codepoint": "F0617", - "aliases": [ - "mixing-bowl" - ], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "3C547C40-FF5E-4BB6-B45E-2B26AD990B20", - "baseIconId": "84EB4644-EC38-431B-B55B-12363EB63765", - "name": "bowl-mix-outline", - "codepoint": "F02E4", - "aliases": [ - "mixing-bowl-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "D0021FC3-865F-45B4-8542-4937DC2952E2", - "baseIconId": "84EB4644-EC38-431B-B55B-12363EB63765", - "name": "bowl-outline", - "codepoint": "F02A9", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0CAB5DF9-E4A7-418D-B317-E792FF2DF8D1", - "baseIconId": "0CAB5DF9-E4A7-418D-B317-E792FF2DF8D1", - "name": "bowling", - "codepoint": "F00D3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Austin Andrews" - }, - { - "id": "1E6B8A9E-921F-4695-B1CA-0A87AC157E88", - "baseIconId": "1E6B8A9E-921F-4695-B1CA-0A87AC157E88", - "name": "box", - "codepoint": "F00D4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A4C51C21-DEB0-4247-AEA3-B5F454641BDC", - "baseIconId": "A4C51C21-DEB0-4247-AEA3-B5F454641BDC", - "name": "box-cutter", - "codepoint": "F00D5", - "aliases": [ - "stanley-knife" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Simran" - }, - { - "id": "0E77ABEB-007D-4458-BEB9-F2C4607ECFC7", - "baseIconId": "A4C51C21-DEB0-4247-AEA3-B5F454641BDC", - "name": "box-cutter-off", - "codepoint": "F0B4A", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [], - "author": "nilsfast" - }, - { - "id": "9DBE04CB-C425-4556-9046-15CBD88C866B", - "baseIconId": "9DBE04CB-C425-4556-9046-15CBD88C866B", - "name": "box-shadow", - "codepoint": "F0637", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "C36FCD4A-D073-4BCA-96D1-90CD81E4C080", - "baseIconId": "C36FCD4A-D073-4BCA-96D1-90CD81E4C080", - "name": "boxing-glove", - "codepoint": "F0B65", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3B62C43D-F1BC-45AB-AB68-B1B854009FD8", - "baseIconId": "3B62C43D-F1BC-45AB-AB68-B1B854009FD8", - "name": "braille", - "codepoint": "F09D0", - "aliases": [ - "touch-reading", - "hand-reading" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8EC09BCA-7C35-4FAB-9000-4A7795CC0930", - "baseIconId": "8EC09BCA-7C35-4FAB-9000-4A7795CC0930", - "name": "brain", - "codepoint": "F09D1", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Richins" - }, - { - "id": "ED0E86DB-C4A5-477B-82BF-FC5849EE0B9C", - "baseIconId": "ED0E86DB-C4A5-477B-82BF-FC5849EE0B9C", - "name": "bread-slice", - "codepoint": "F0CEE", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nick" - }, - { - "id": "FAC52832-EA67-4ABF-9841-7D3DD07C6EFF", - "baseIconId": "ED0E86DB-C4A5-477B-82BF-FC5849EE0B9C", - "name": "bread-slice-outline", - "codepoint": "F0CEF", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nick" - }, - { - "id": "9FD9D8F0-D777-4B33-9CF7-E32FD8C25655", - "baseIconId": "9FD9D8F0-D777-4B33-9CF7-E32FD8C25655", - "name": "bridge", - "codepoint": "F0618", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Austin Andrews" - }, - { - "id": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase", - "codepoint": "F00D6", - "aliases": [ - "work" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B0F37881-7339-4CBC-9DB5-833EDCB6B049", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-account", - "codepoint": "F0CF0", - "aliases": [ - "briefcase-person", - "briefcase-user" - ], - "styles": [ - "account" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F92EB0E4-257F-4200-A18E-0F0C02C8DB51", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-account-outline", - "codepoint": "F0CF1", - "aliases": [ - "briefcase-person-outline", - "briefcase-user-outline" - ], - "styles": [ - "account", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6DB6F4EA-1ACC-481A-8EC5-3D9FA65408BE", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-arrow-left-right", - "codepoint": "F1A8D", - "aliases": [ - "briefcase-transfer", - "briefcase-exchange", - "briefcase-swap" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FA334ED0-09E4-4FB3-AF2A-20715D19A1E5", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-arrow-left-right-outline", - "codepoint": "F1A8E", - "aliases": [ - "briefcase-exchange-outline", - "briefcase-transfer-outline", - "briefcase-swap-outline" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2F146073-D872-47E2-BB41-404CFDF65D89", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-arrow-up-down", - "codepoint": "F1A8F", - "aliases": [ - "briefcase-exchange", - "briefcase-transfer", - "briefcase-swap" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8C3B52BE-A1AC-4D59-B88C-D50B6C088827", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-arrow-up-down-outline", - "codepoint": "F1A90", - "aliases": [ - "briefcase-exchange-outline", - "briefcase-transfer-outline", - "briefcase-swap-outline" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4182182E-F79B-4153-B652-2A4B4AC231E1", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-check", - "codepoint": "F00D7", - "aliases": [ - "briefcase-tick" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3889AEB1-7257-4D20-ACD4-78CB27879639", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-check-outline", - "codepoint": "F131E", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1BC68384-3EB0-4296-A3B2-9F348DD7AF1E", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-clock", - "codepoint": "F10D0", - "aliases": [], - "styles": [ - "clock" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "EBE7A5FD-4D46-4A78-BA72-816546ABB880", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-clock-outline", - "codepoint": "F10D1", - "aliases": [], - "styles": [ - "clock", - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "D4705E48-0920-451E-BFF3-2DA1BBA5C21D", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-download", - "codepoint": "F00D8", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DD87CBA1-4687-45A7-B470-EC75EC4C0D32", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-download-outline", - "codepoint": "F0C3D", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "485F9428-A4BF-422D-A624-61AB07D37890", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-edit", - "codepoint": "F0A98", - "aliases": [], - "styles": [ - "edit" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "theminanaji" - }, - { - "id": "EE4B8481-FF0C-44BC-9D23-64DFDF499F73", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-edit-outline", - "codepoint": "F0C3E", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "15362BD1-6DB7-4334-B6CF-35A61D7EE2A0", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-eye", - "codepoint": "F17D9", - "aliases": [ - "briefcase-view" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6C1979BB-3BFD-4466-9934-945FAB608E90", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-eye-outline", - "codepoint": "F17DA", - "aliases": [ - "briefcase-view-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "5999899F-7FE5-44EF-87F4-DD1E2F9556B3", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-minus", - "codepoint": "F0A2A", - "aliases": [], - "styles": [ - "minus" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C185E5E9-F652-41C2-9FBA-6673FE7CEB10", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-minus-outline", - "codepoint": "F0C3F", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2059EB01-3552-45CF-A2A1-64DA37F124D0", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-off", - "codepoint": "F1658", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "EE25B28C-2F16-4BE0-95BB-8328DF0F0CA2", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-off-outline", - "codepoint": "F1659", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1E7F3689-287C-40DC-B0DD-CF65987E9B53", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-outline", - "codepoint": "F0814", - "aliases": [ - "work-outline" - ], - "styles": [ - "outline" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C08C7899-5B7E-4E6F-9861-C319CFABA7DC", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-plus", - "codepoint": "F0A2B", - "aliases": [ - "briefcase-add" - ], - "styles": [ - "plus" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CA6D7ED5-38E6-4B63-915A-431CDDA27062", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-plus-outline", - "codepoint": "F0C40", - "aliases": [ - "briefcase-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9B02F5A1-D171-49A4-91DB-5F47E03D7B65", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-remove", - "codepoint": "F0A2C", - "aliases": [], - "styles": [ - "remove" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1754B039-7D56-4722-BEE1-8A8BA735FCD5", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-remove-outline", - "codepoint": "F0C41", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E6071C37-85E7-45F7-868D-A12234D0B979", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-search", - "codepoint": "F0A2D", - "aliases": [], - "styles": [ - "search" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "62511811-5FA9-4E69-8513-62828BE493DF", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-search-outline", - "codepoint": "F0C42", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3D48B9FF-A060-47DA-809E-32D5ED68CA64", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-upload", - "codepoint": "F00D9", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "AE06D41B-19EB-4E10-92DE-2A285163F034", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-upload-outline", - "codepoint": "F0C43", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1BB4FAD5-B3AE-47FD-95C4-B1713FE05FF2", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-variant", - "codepoint": "F1494", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2C5F52C7-AC1B-417F-8035-DB25264DA0A4", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-variant-off", - "codepoint": "F165A", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E89FB55E-396B-4E43-BC41-512B597CF474", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-variant-off-outline", - "codepoint": "F165B", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "5280D1B7-9418-4673-BB9E-6AB3BD640C92", - "baseIconId": "15A9F4A5-3EB6-443C-8283-547A077CB0C4", - "name": "briefcase-variant-outline", - "codepoint": "F1495", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B3FF12D1-1C76-4E1D-BAD0-468E424BADA7", - "baseIconId": "B3FF12D1-1C76-4E1D-BAD0-468E424BADA7", - "name": "brightness-1", - "codepoint": "F00DA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FAEBEE4C-295C-475F-AE7D-11CFA4688017", - "baseIconId": "B3FF12D1-1C76-4E1D-BAD0-468E424BADA7", - "name": "brightness-2", - "codepoint": "F00DB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "825E1BB2-1E01-4E6E-9CF0-04412FDECDA6", - "baseIconId": "B3FF12D1-1C76-4E1D-BAD0-468E424BADA7", - "name": "brightness-3", - "codepoint": "F00DC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "10EC7F50-BDC1-45C4-A6D2-2CB5FB4DE902", - "baseIconId": "34818392-81EE-4210-8F86-9C448596C912", - "name": "brightness-4", - "codepoint": "F00DD", - "aliases": [ - "theme-light-dark" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "17314413-99ED-480C-B739-8572B6AE5477", - "baseIconId": "34818392-81EE-4210-8F86-9C448596C912", - "name": "brightness-5", - "codepoint": "F00DE", - "aliases": [ - "brightness-low" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "34818392-81EE-4210-8F86-9C448596C912", - "baseIconId": "34818392-81EE-4210-8F86-9C448596C912", - "name": "brightness-6", - "codepoint": "F00DF", - "aliases": [ - "brightness-medium", - "theme-light-dark" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "014CCAA3-4B30-4C3D-921C-078A078A5198", - "baseIconId": "34818392-81EE-4210-8F86-9C448596C912", - "name": "brightness-7", - "codepoint": "F00E0", - "aliases": [ - "brightness-high" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "6E47CC3B-6D95-4311-A8DD-7B50AC24781C", - "baseIconId": "34818392-81EE-4210-8F86-9C448596C912", - "name": "brightness-auto", - "codepoint": "F00E1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CBC38577-44FC-45B5-9454-3D04AA9CEAE3", - "baseIconId": "34818392-81EE-4210-8F86-9C448596C912", - "name": "brightness-percent", - "codepoint": "F0CF2", - "aliases": [ - "discount", - "sale" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F5E24182-366C-4D23-BA0E-8D2E25B88230", - "baseIconId": "F5E24182-366C-4D23-BA0E-8D2E25B88230", - "name": "broadcast", - "codepoint": "F1720", - "aliases": [ - "signal" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Google" - }, - { - "id": "E1851914-B294-4FC0-A94B-C5C8D0F52DCB", - "baseIconId": "F5E24182-366C-4D23-BA0E-8D2E25B88230", - "name": "broadcast-off", - "codepoint": "F1721", - "aliases": [ - "signal-off" - ], - "styles": [ - "off" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Google" - }, - { - "id": "8159ED8F-4D1C-4845-8297-0FE41260D199", - "baseIconId": "8159ED8F-4D1C-4845-8297-0FE41260D199", - "name": "broom", - "codepoint": "F00E2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B5C72984-BCCF-4729-A7D3-2A07D5794014", - "baseIconId": "B5C72984-BCCF-4729-A7D3-2A07D5794014", - "name": "brush", - "codepoint": "F00E3", - "aliases": [ - "paintbrush" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "9A11CA67-107C-4D0A-A244-34E60B1915A0", - "baseIconId": "B5C72984-BCCF-4729-A7D3-2A07D5794014", - "name": "brush-off", - "codepoint": "F1771", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "0C2A4D14-A68C-444C-B01C-70CBD6DE0A69", - "baseIconId": "B5C72984-BCCF-4729-A7D3-2A07D5794014", - "name": "brush-outline", - "codepoint": "F1A0D", - "aliases": [ - "paintbrush-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "8B433DEE-0DAC-4C0E-80A0-068A00269BEE", - "baseIconId": "B5C72984-BCCF-4729-A7D3-2A07D5794014", - "name": "brush-variant", - "codepoint": "F1813", - "aliases": [ - "paintbrush" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "1024F530-CFE4-4869-BAA4-062593D42DC9", - "baseIconId": "1024F530-CFE4-4869-BAA4-062593D42DC9", - "name": "bucket", - "codepoint": "F1415", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1A620C83-4D7F-4175-998B-E3460C77510D", - "baseIconId": "1024F530-CFE4-4869-BAA4-062593D42DC9", - "name": "bucket-outline", - "codepoint": "F1416", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B68F24D9-0E45-4729-9DB9-46E0D73589F2", - "baseIconId": "B68F24D9-0E45-4729-9DB9-46E0D73589F2", - "name": "buffet", - "codepoint": "F0578", - "aliases": [ - "sideboard" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "nilsfast" - }, - { - "id": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug", - "codepoint": "F00E4", - "aliases": [ - "bug-report" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Nature", - "Animal" - ], - "author": "Google" - }, - { - "id": "3EDC1018-2B2B-4B3A-AE65-3C74678C807B", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-check", - "codepoint": "F0A2E", - "aliases": [ - "bug-tick" - ], - "styles": [ - "check" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Michael Richins" - }, - { - "id": "1DF96664-B3AE-4028-BB22-C9DE9273A641", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-check-outline", - "codepoint": "F0A2F", - "aliases": [ - "bug-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Michael Richins" - }, - { - "id": "CDBE2126-E455-498B-B5CC-945A42F78B0D", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-outline", - "codepoint": "F0A30", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Nature", - "Animal" - ], - "author": "Google" - }, - { - "id": "49752F69-A574-46AF-A02C-88E6CE5FB41B", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-pause", - "codepoint": "F1AF5", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3DB48B1D-904F-4348-9C30-016841242026", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-pause-outline", - "codepoint": "F1AF6", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2F0E44DF-D6F1-487A-9427-BBAA20E7B43D", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-play", - "codepoint": "F1AF7", - "aliases": [ - "bug-start" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7084E94D-43E2-4718-BFF1-B568182C1F65", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-play-outline", - "codepoint": "F1AF8", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "285762ED-0B89-40E5-92A7-04B8C38E29C8", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-stop", - "codepoint": "F1AF9", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A88E0967-B37B-4785-AA7F-0D9F95856375", - "baseIconId": "09A131FB-EE06-49B8-80C3-49B294BCA612", - "name": "bug-stop-outline", - "codepoint": "F1AFA", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CBC37A12-44AA-4CA8-976A-F26ED26849D4", - "baseIconId": "CBC37A12-44AA-4CA8-976A-F26ED26849D4", - "name": "bugle", - "codepoint": "F0DB4", - "aliases": [ - "car-horn" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Automotive", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5CCE8821-5952-49CA-A3C2-53AB5E50CA19", - "baseIconId": "5CCE8821-5952-49CA-A3C2-53AB5E50CA19", - "name": "bulkhead-light", - "codepoint": "F1A2F", - "aliases": [], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "76D6F847-8DC7-41CB-B88C-9407CC2B18AA", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "bulldozer", - "codepoint": "F0B22", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Louistwee" - }, - { - "id": "AED3CA58-6CAA-45AF-9791-F61AC32DAFBA", - "baseIconId": "AED3CA58-6CAA-45AF-9791-F61AC32DAFBA", - "name": "bullet", - "codepoint": "F0CF3", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "094C9BF2-9EEE-434C-9CA9-8280FBDFBEF7", - "baseIconId": "094C9BF2-9EEE-434C-9CA9-8280FBDFBEF7", - "name": "bulletin-board", - "codepoint": "F00E5", - "aliases": [ - "notice-board" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A5D2E199-03A1-4C23-9C63-954D63DEBEB4", - "baseIconId": "A5D2E199-03A1-4C23-9C63-954D63DEBEB4", - "name": "bullhorn", - "codepoint": "F00E6", - "aliases": [ - "announcement", - "megaphone", - "loudspeaker" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B48B1E77-750E-4A16-9154-12D25E572A9D", - "baseIconId": "A5D2E199-03A1-4C23-9C63-954D63DEBEB4", - "name": "bullhorn-outline", - "codepoint": "F0B23", - "aliases": [ - "announcement-outline", - "megaphone-outline", - "loudspeaker-outline" - ], - "styles": [ - "outline" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "ED822193-44D0-481D-B373-F99518240597", - "baseIconId": "A5D2E199-03A1-4C23-9C63-954D63DEBEB4", - "name": "bullhorn-variant", - "codepoint": "F196E", - "aliases": [ - "announcement", - "megaphone", - "loudspeaker" - ], - "styles": [ - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "D38A39A0-E788-49D7-802B-BE2BF5BB2274", - "baseIconId": "A5D2E199-03A1-4C23-9C63-954D63DEBEB4", - "name": "bullhorn-variant-outline", - "codepoint": "F196F", - "aliases": [ - "announcement-outline", - "megaphone-outline", - "loudspeaker-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "ED26BD4D-ACDB-45DC-A0DA-18ECA3B2008E", - "baseIconId": "ED26BD4D-ACDB-45DC-A0DA-18ECA3B2008E", - "name": "bullseye", - "codepoint": "F05DD", - "aliases": [ - "target" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Simran" - }, - { - "id": "FAC8D1F3-C466-41F3-B3BF-A08519BBC909", - "baseIconId": "ED26BD4D-ACDB-45DC-A0DA-18ECA3B2008E", - "name": "bullseye-arrow", - "codepoint": "F08C9", - "aliases": [ - "target-arrow" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Simran" - }, - { - "id": "103BB26D-356A-4F6D-9F98-787CEC908FAD", - "baseIconId": "103BB26D-356A-4F6D-9F98-787CEC908FAD", - "name": "bulma", - "codepoint": "F12E7", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "8428337D-0DED-4E4D-8F89-326FCAD97884", - "baseIconId": "8428337D-0DED-4E4D-8F89-326FCAD97884", - "name": "bunk-bed", - "codepoint": "F1302", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "D3DFF539-E101-40B2-BA6D-B62327AFE6AC", - "baseIconId": "8428337D-0DED-4E4D-8F89-326FCAD97884", - "name": "bunk-bed-outline", - "codepoint": "F0097", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "F6516F38-B29E-4CC9-A7E2-706817121D45", - "baseIconId": "F6516F38-B29E-4CC9-A7E2-706817121D45", - "name": "bus", - "codepoint": "F00E7", - "aliases": [ - "directions-bus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "85DD64A3-9215-41F0-9C94-92C180D7BA05", - "baseIconId": "F6516F38-B29E-4CC9-A7E2-706817121D45", - "name": "bus-alert", - "codepoint": "F0A99", - "aliases": [ - "bus-warning" - ], - "styles": [ - "alert" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "44D15383-D6D2-46CC-A977-7921DA98C7E8", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "bus-articulated-end", - "codepoint": "F079C", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "5C34E429-3B80-46CD-8DC8-44D5D9769682", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "bus-articulated-front", - "codepoint": "F079D", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "B37694EA-F48B-4F48-ACF1-0E48FB334473", - "baseIconId": "F6516F38-B29E-4CC9-A7E2-706817121D45", - "name": "bus-clock", - "codepoint": "F08CA", - "aliases": [ - "departure-board" - ], - "styles": [ - "clock" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "1F4327A8-1E93-4490-B992-C9D04DFFB144", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "bus-double-decker", - "codepoint": "F079E", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "67F98777-D4FA-454C-96D6-835BD7A1D2D5", - "baseIconId": "F6516F38-B29E-4CC9-A7E2-706817121D45", - "name": "bus-electric", - "codepoint": "F191D", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "42DCF950-C2F2-4989-8E0B-ACF16326A6A7", - "baseIconId": "F6516F38-B29E-4CC9-A7E2-706817121D45", - "name": "bus-marker", - "codepoint": "F1212", - "aliases": [ - "bus-location", - "bus-stop" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "E007EC1E-915B-4A12-89A0-8F7249AEF9FC", - "baseIconId": "F6516F38-B29E-4CC9-A7E2-706817121D45", - "name": "bus-multiple", - "codepoint": "F0F3F", - "aliases": [ - "fleet" - ], - "styles": [ - "multiple" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "774EC563-DF29-498C-8270-ABB051396687", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "bus-school", - "codepoint": "F079F", - "aliases": [ - "education" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "D944705B-8F7B-441F-8753-6E51E4378D7D", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "bus-side", - "codepoint": "F07A0", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "79F04208-0844-4987-9CFA-8870EBB6CD1D", - "baseIconId": "79F04208-0844-4987-9CFA-8870EBB6CD1D", - "name": "bus-stop", - "codepoint": "F1012", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "E299AA19-1C5F-4D7F-B101-0FBFC05A7130", - "baseIconId": "79F04208-0844-4987-9CFA-8870EBB6CD1D", - "name": "bus-stop-covered", - "codepoint": "F1013", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "E1CA2856-1C0E-4487-BAF3-C64A4EA94C45", - "baseIconId": "79F04208-0844-4987-9CFA-8870EBB6CD1D", - "name": "bus-stop-uncovered", - "codepoint": "F1014", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "CC37A3EE-B084-4CD4-AF41-1E5C6D83D839", - "baseIconId": "CC37A3EE-B084-4CD4-AF41-1E5C6D83D839", - "name": "butterfly", - "codepoint": "F1589", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Nature", - "Animal" - ], - "author": "Nicolas Gres" - }, - { - "id": "6BD6BDCD-0C73-40DF-9A9B-127C1DDFF467", - "baseIconId": "CC37A3EE-B084-4CD4-AF41-1E5C6D83D839", - "name": "butterfly-outline", - "codepoint": "F158A", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Nature", - "Animal" - ], - "author": "Nicolas Gres" - }, - { - "id": "D9990C98-4D95-4E98-9289-3582ABC30351", - "baseIconId": "D9990C98-4D95-4E98-9289-3582ABC30351", - "name": "button-cursor", - "codepoint": "F1B4F", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Andrej Sharapov" - }, - { - "id": "ECCE41F5-955D-49FD-BE39-855E1B9D2044", - "baseIconId": "ECCE41F5-955D-49FD-BE39-855E1B9D2044", - "name": "button-pointer", - "codepoint": "F1B50", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Andrej Sharapov" - }, - { - "id": "5243C745-48FC-4DE9-83F8-138464C7D0D8", - "baseIconId": "5243C745-48FC-4DE9-83F8-138464C7D0D8", - "name": "cabin-a-frame", - "codepoint": "F188C", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "1D18C000-0A31-4A28-BA96-B47103D727DD", - "baseIconId": "1D18C000-0A31-4A28-BA96-B47103D727DD", - "name": "cable-data", - "codepoint": "F1394", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "7DFE345F-A336-43BC-89BE-18FE3C902BFC", - "baseIconId": "7DFE345F-A336-43BC-89BE-18FE3C902BFC", - "name": "cached", - "codepoint": "F00E8", - "aliases": [ - "counterclockwise-arrows", - "circular-arrows", - "circle-arrows", - "sync" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "C7CDAEB3-FE9D-4A53-937B-F778CEA157E0", - "baseIconId": "C7CDAEB3-FE9D-4A53-937B-F778CEA157E0", - "name": "cactus", - "codepoint": "F0DB5", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Andrew Nenakhov" - }, - { - "id": "E5BFDCE4-1033-4062-9677-94B95E028B6E", - "baseIconId": "E5BFDCE4-1033-4062-9677-94B95E028B6E", - "name": "cake", - "codepoint": "F00E9", - "aliases": [ - "birthday-cake" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday", - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "934C9B6C-0DA5-4D71-9283-C960ED537D02", - "baseIconId": "E5BFDCE4-1033-4062-9677-94B95E028B6E", - "name": "cake-layered", - "codepoint": "F00EA", - "aliases": [ - "birthday-cake" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday", - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "2F9E87A6-B7DB-48B1-9528-C8A941FBC3AF", - "baseIconId": "E5BFDCE4-1033-4062-9677-94B95E028B6E", - "name": "cake-variant", - "codepoint": "F00EB", - "aliases": [ - "birthday-cake" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday", - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "0819B4B2-9D58-438F-943E-E628A3D5BF52", - "baseIconId": "E5BFDCE4-1033-4062-9677-94B95E028B6E", - "name": "cake-variant-outline", - "codepoint": "F17F0", - "aliases": [ - "birthday-cake-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Holiday", - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "3E9895C8-BCCB-464C-ACF1-CCA86113DA37", - "baseIconId": "3E9895C8-BCCB-464C-ACF1-CCA86113DA37", - "name": "calculator", - "codepoint": "F00EC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "FB05A4AF-E47A-4F82-BFFE-7C1F587839B6", - "baseIconId": "3E9895C8-BCCB-464C-ACF1-CCA86113DA37", - "name": "calculator-variant", - "codepoint": "F0A9A", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "87123F5D-C9AC-43B3-9E97-10EE3F9C1158", - "baseIconId": "3E9895C8-BCCB-464C-ACF1-CCA86113DA37", - "name": "calculator-variant-outline", - "codepoint": "F15A6", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "23C8742A-612C-4C55-B184-2A0ABB387746", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar", - "codepoint": "F00ED", - "aliases": [ - "event", - "insert-invitation" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "CD7D41D2-4BD2-4482-85C2-314A283EB57F", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-account", - "codepoint": "F0ED7", - "aliases": [ - "calendar-user" - ], - "styles": [ - "account" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "B852A287-2C5E-4468-9A83-6B5E0ABD1219", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-account-outline", - "codepoint": "F0ED8", - "aliases": [ - "calendar-user-outline" - ], - "styles": [ - "account", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "38F5B0F1-FAC2-4389-9CE0-BDDEBEC868F4", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-alert", - "codepoint": "F0A31", - "aliases": [ - "event-alert", - "calendar-warning" - ], - "styles": [ - "alert" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "6721AEBE-3E28-460D-A11A-0298B1163384", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-alert-outline", - "codepoint": "F1B62", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9FB11BA5-47F5-40B8-9BD2-259FEA4E0A6E", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-arrow-left", - "codepoint": "F1134", - "aliases": [ - "reschedule" - ], - "styles": [ - "arrow" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Terren" - }, - { - "id": "571CF297-7E85-4808-A76A-72952F1A4976", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-arrow-right", - "codepoint": "F1135", - "aliases": [ - "reschedule" - ], - "styles": [ - "arrow" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Terren" - }, - { - "id": "69D7BB19-D394-4C73-AC78-672AC78FD0A0", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-badge", - "codepoint": "F1B9D", - "aliases": [], - "styles": [ - "badge" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8E92EA84-88B1-4A46-BA36-E82CF91FE9D6", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-badge-outline", - "codepoint": "F1B9E", - "aliases": [], - "styles": [ - "badge", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "57984F1A-6CA5-4928-B221-466C0CC11562", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-blank", - "codepoint": "F00EE", - "aliases": [ - "calendar-today" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "BD09D9F0-FF38-4D14-8798-2CB5091CABE1", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-blank-multiple", - "codepoint": "F1073", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "James Coyle" - }, - { - "id": "9A461143-6DF3-49CB-A238-24CFE7181183", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-blank-outline", - "codepoint": "F0B66", - "aliases": [ - "event-blank-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "62008F88-6B17-4277-9155-B596476629A1", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-check", - "codepoint": "F00EF", - "aliases": [ - "event-available", - "calendar-task", - "calendar-tick", - "event-tick", - "event-check" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "62AD0407-3DB5-48B0-8A26-3C5A07C78582", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-check-outline", - "codepoint": "F0C44", - "aliases": [ - "event-available-outline", - "event-check-outline", - "event-tick-outline", - "calendar-task-outline", - "calendar-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "921F6084-24E6-4D62-8BF9-9258D8FADE8E", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-clock", - "codepoint": "F00F0", - "aliases": [ - "event-clock", - "event-time", - "calendar-time" - ], - "styles": [ - "clock" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "9101C5D4-90CA-4C18-B66E-611B3B0A3877", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-clock-outline", - "codepoint": "F16E1", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "GreenTurtwig" - }, - { - "id": "D40760C0-3030-4ADC-AF91-6646565212FC", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-collapse-horizontal", - "codepoint": "F189D", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "1E0BDF03-34A2-4082-A718-7B69944CCCFF", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-collapse-horizontal-outline", - "codepoint": "F1B63", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A5F0BBFB-DA5E-4068-B2D5-3C0F3EB26B14", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-cursor", - "codepoint": "F157B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5DCA7EB2-7A5E-4F58-9A0A-39CCD6737215", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-cursor-outline", - "codepoint": "F1B64", - "aliases": [], - "styles": [ - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2976EA1B-60A3-46FB-97E2-95BB74B0DD22", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-edit", - "codepoint": "F08A7", - "aliases": [ - "event-edit" - ], - "styles": [ - "edit" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Edit \/ Modify" - ], - "author": "Michael Richins" - }, - { - "id": "600D756C-664E-4213-B29F-F884E0DE0AE0", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-edit-outline", - "codepoint": "F1B65", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5837A731-F9AE-433E-AB31-12EE3D2D13D1", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-end", - "codepoint": "F166C", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "80F02E2F-3A1A-4A99-9C80-00A3DF4E518F", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-end-outline", - "codepoint": "F1B66", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "61805380-C5C2-4A69-A0BC-356A642F7188", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-expand-horizontal", - "codepoint": "F189E", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "FE6C3F26-1FE6-4681-BCFD-D9D78E9DE636", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-expand-horizontal-outline", - "codepoint": "F1B67", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "14692438-9215-4003-AF95-04AA7C27DA48", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-export", - "codepoint": "F0B24", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "F6BD858F-4E31-45D6-AC2F-6E2C42843D29", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-export-outline", - "codepoint": "F1B68", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "56F3CE33-D13F-43F3-B626-2728FF09D778", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-filter", - "codepoint": "F1A32", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Andrej Sharapov" - }, - { - "id": "0EE2D0EE-8A23-4A80-98AC-0AEE15333062", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-filter-outline", - "codepoint": "F1A33", - "aliases": [ - "event-week-end-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Andrej Sharapov" - }, - { - "id": "EF6AC5FE-7E6E-47AC-B5D8-E802CBB94E3B", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-heart", - "codepoint": "F09D2", - "aliases": [ - "event-heart" - ], - "styles": [ - "heart" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "754FE282-68CE-4E9E-BDFB-22C24815C06E", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-heart-outline", - "codepoint": "F1B69", - "aliases": [], - "styles": [ - "heart" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "04EEB2AA-AB71-4124-8AC4-FA65985AF37E", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-import", - "codepoint": "F0B25", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "A3C7C111-C3C4-456D-B631-649D9D99E714", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-import-outline", - "codepoint": "F1B6A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8189159C-0869-4B40-809C-ECE7C33A2EC0", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-lock", - "codepoint": "F1641", - "aliases": [], - "styles": [ - "lock" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2A1D736B-88EB-4E0A-8FEE-69112C3578AA", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-lock-open", - "codepoint": "F1B5B", - "aliases": [], - "styles": [ - "lock" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Lock", - "Date \/ Time" - ], - "author": "Andrej Sharapov" - }, - { - "id": "ABB53620-E8DA-4C49-BE82-4052B617AA75", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-lock-open-outline", - "codepoint": "F1B5C", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Lock", - "Date \/ Time" - ], - "author": "Andrej Sharapov" - }, - { - "id": "38B4A077-A3EA-4AF2-8553-9888BA25589F", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-lock-outline", - "codepoint": "F1642", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "12439778-1F4B-4498-8716-5BE128D194E1", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-minus", - "codepoint": "F0D5C", - "aliases": [ - "event-minus" - ], - "styles": [ - "minus" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "ButchMonkey" - }, - { - "id": "CF434321-1488-401F-B090-67822ABAB9D8", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-minus-outline", - "codepoint": "F1B6B", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "73BD287F-15E4-46D3-997F-0F2A9E641EE9", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-month", - "codepoint": "F0E17", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Terren" - }, - { - "id": "80D8D5AB-B9A9-4A26-8E9A-A2D4DBDD77AC", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-month-outline", - "codepoint": "F0E18", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Terren" - }, - { - "id": "F4851A5B-6F19-4C18-9A13-4BF2617FF0E0", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-multiple", - "codepoint": "F00F1", - "aliases": [ - "event-multiple", - "calendars", - "events" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "7329D294-805D-4843-AB03-B87C661C296A", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-multiple-check", - "codepoint": "F00F2", - "aliases": [ - "event-multiple-check", - "calendar-multiple-tick", - "calendars-check", - "calendars-tick", - "event-multiple-tick", - "events-check", - "events-tick" - ], - "styles": [ - "check", - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "EFABC8FA-93A2-43FB-A9C3-B03F1324B2E2", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-multiselect", - "codepoint": "F0A32", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "10FF1625-E2D7-4E57-B339-8FB1801B0ECD", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-multiselect-outline", - "codepoint": "F1B55", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Andrej Sharapov" - }, - { - "id": "3703C79F-7F34-41D6-A12F-6247144FEB02", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-outline", - "codepoint": "F0B67", - "aliases": [ - "event-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "34AFE807-D724-4A5A-A3FE-910928179BE8", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-plus", - "codepoint": "F00F3", - "aliases": [ - "event-plus", - "calendar-add", - "event-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "52E522A1-E89B-47DE-8C27-EC85140AA13A", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-plus-outline", - "codepoint": "F1B6C", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1A7293FC-E6E7-4C86-8919-32D0C5F60B08", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-question", - "codepoint": "F0692", - "aliases": [ - "calendar-rsvp", - "event-question", - "calendar-help" - ], - "styles": [ - "question" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "38D715EB-E9A7-48E9-A283-0F09D440AD9F", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-question-outline", - "codepoint": "F1B6D", - "aliases": [ - "calendar-help-outline" - ], - "styles": [ - "outline", - "question" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "740D7A91-7492-4922-96C7-A719E2BCD62A", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-range", - "codepoint": "F0679", - "aliases": [ - "date-range", - "calendar-week", - "event-range" - ], - "styles": [ - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "CD7FA7FC-1BB0-4DB6-82C6-DF13E5A55EB2", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-range-outline", - "codepoint": "F0B68", - "aliases": [ - "event-range-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "4147C0BC-E3AE-4324-AA38-D2EC7A7AAD5E", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-refresh", - "codepoint": "F01E1", - "aliases": [ - "calendar-repeat" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BC0BD74D-06D4-458A-B0CE-90B96A2ADCBF", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-refresh-outline", - "codepoint": "F0203", - "aliases": [ - "calendar-repeat-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2FAF3098-4BD1-4C70-94A8-F75E1EA54F49", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-remove", - "codepoint": "F00F4", - "aliases": [ - "event-busy", - "event-remove" - ], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "10475FB2-142C-48FF-AB95-B93CF2680208", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-remove-outline", - "codepoint": "F0C45", - "aliases": [ - "event-busy-outline", - "event-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "1C61A1FD-56B6-41F1-B677-84D32425225A", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-search", - "codepoint": "F094C", - "aliases": [ - "event-search" - ], - "styles": [ - "search" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "GreenTurtwig" - }, - { - "id": "D6113F31-EAA4-4050-AC56-8FC216173F89", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-search-outline", - "codepoint": "F1B6E", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "96505BCC-D522-45A6-A642-85F1B4248FAA", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-star", - "codepoint": "F09D3", - "aliases": [ - "event-star", - "calendar-favorite" - ], - "styles": [ - "star" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "AC50F06A-D098-4FE2-87CB-E5B82FB077EF", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-star-four-points", - "codepoint": "F1C1F", - "aliases": [ - "calendar-auto", - "event-star-four-points", - "event-auto" - ], - "styles": [ - "star" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Jeff Anders" - }, - { - "id": "2F59B304-E3CE-4857-9EF8-B75BC591E3E8", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-star-outline", - "codepoint": "F1B53", - "aliases": [], - "styles": [ - "outline", - "star" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Andrej Sharapov" - }, - { - "id": "D88F139B-9D00-462D-8AA5-C23A5A02FCC6", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-start", - "codepoint": "F166D", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "BE59CDE6-84BE-4489-BAD7-E5B9FE7FE3B2", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-start-outline", - "codepoint": "F1B6F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7343C074-F974-4083-89C5-3C2BABF4E3C9", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-sync", - "codepoint": "F0E8E", - "aliases": [ - "calendar-repeat" - ], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "24C0F48E-A354-4835-A2D4-B1E348ACF5D5", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-sync-outline", - "codepoint": "F0E8F", - "aliases": [ - "calendar-repeat-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "1A873476-B82D-4E23-BF19-897F0A0C0B93", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-text", - "codepoint": "F00F5", - "aliases": [ - "event-note", - "event-text" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "F49AE0DB-5AAF-4574-BF4C-121E99A95BEF", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-text-outline", - "codepoint": "F0C46", - "aliases": [ - "event-text-outline", - "event-note-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "A566BA98-D35A-443F-AD31-0D31EF0B85EC", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-today", - "codepoint": "F00F6", - "aliases": [ - "calendar-day" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "9ACB9882-BE7B-44A3-AFCC-FDA2A5061EF1", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-today-outline", - "codepoint": "F1A30", - "aliases": [ - "calendar-day-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F2D23B1E-EA12-4EF5-9365-E698D1CD1319", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-week", - "codepoint": "F0A33", - "aliases": [ - "event-week" - ], - "styles": [ - "variant" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "7C244D7F-9332-4C73-AF3D-1DE3F6E365ED", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-week-begin", - "codepoint": "F0A34", - "aliases": [ - "event-week-begin" - ], - "styles": [ - "variant" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "420E6A80-6C58-48A6-A8A8-8119D53633D7", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-week-begin-outline", - "codepoint": "F1A31", - "aliases": [ - "event-week-begin-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B0A106E-1157-40C2-9A68-97E1BA92A658", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-week-outline", - "codepoint": "F1A34", - "aliases": [ - "event-week-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E873A542-F4E7-44F4-B7CD-19474188D5BC", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-weekend", - "codepoint": "F0ED9", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Crissov" - }, - { - "id": "3E8B49C8-08CA-4D96-BC1B-EB21909E0311", - "baseIconId": "23C8742A-612C-4C55-B184-2A0ABB387746", - "name": "calendar-weekend-outline", - "codepoint": "F0EDA", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Crissov" - }, - { - "id": "B5ACE913-DBF1-4E73-BFE5-BB86F0EBF76E", - "baseIconId": "CA2546B9-70B0-4E1A-B646-17163B0C76E4", - "name": "call-made", - "codepoint": "F00F7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Arrow" - ], - "author": "Google" - }, - { - "id": "8BEE5A5E-EC0A-4FC5-96BE-7F8C2A2EE52F", - "baseIconId": "CA2546B9-70B0-4E1A-B646-17163B0C76E4", - "name": "call-merge", - "codepoint": "F00F8", - "aliases": [ - "merge-type" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Arrow" - ], - "author": "Google" - }, - { - "id": "CA2546B9-70B0-4E1A-B646-17163B0C76E4", - "baseIconId": "CA2546B9-70B0-4E1A-B646-17163B0C76E4", - "name": "call-missed", - "codepoint": "F00F9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Arrow" - ], - "author": "Google" - }, - { - "id": "008CD0E5-C47B-44FB-AF43-A1221C527056", - "baseIconId": "CA2546B9-70B0-4E1A-B646-17163B0C76E4", - "name": "call-received", - "codepoint": "F00FA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Arrow" - ], - "author": "Google" - }, - { - "id": "790BCBB6-8B08-4AEC-A322-99F584BB394B", - "baseIconId": "CA2546B9-70B0-4E1A-B646-17163B0C76E4", - "name": "call-split", - "codepoint": "F00FB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Arrow" - ], - "author": "Google" - }, - { - "id": "89EE8EAB-CA5B-40C5-B114-1EC5248634BF", - "baseIconId": "89EE8EAB-CA5B-40C5-B114-1EC5248634BF", - "name": "camcorder", - "codepoint": "F00FC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Austin Andrews" - }, - { - "id": "BE1C767B-C032-487C-AB85-E2E960C9A89D", - "baseIconId": "89EE8EAB-CA5B-40C5-B114-1EC5248634BF", - "name": "camcorder-off", - "codepoint": "F00FF", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera", - "codepoint": "F0100", - "aliases": [ - "photography", - "camera-alt", - "local-see", - "photo-camera" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "E6F67D5D-0EED-450C-B39F-75D37E9B63CA", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-account", - "codepoint": "F08CB", - "aliases": [ - "camera-user" - ], - "styles": [ - "account" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Account \/ User", - "Photography" - ], - "author": "Google" - }, - { - "id": "4FCD7DBE-6B4C-41DB-BDD8-40ED820EC7F1", - "baseIconId": "4FCD7DBE-6B4C-41DB-BDD8-40ED820EC7F1", - "name": "camera-burst", - "codepoint": "F0693", - "aliases": [ - "burst-mode" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "28AACAD9-8E72-41FA-B736-55A4AFDAD6FF", - "baseIconId": "28AACAD9-8E72-41FA-B736-55A4AFDAD6FF", - "name": "camera-control", - "codepoint": "F0B69", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "8A2FFEED-01B4-44C0-A82A-2E03D8C2A447", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-document", - "codepoint": "F1871", - "aliases": [ - "overhead-projector" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "snis" - }, - { - "id": "E18549B4-97EC-49C7-A870-5CA1FBDD86EA", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-document-off", - "codepoint": "F1872", - "aliases": [ - "overhead-projector-off" - ], - "styles": [ - "off", - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "snis" - }, - { - "id": "45456446-14D9-49F2-8842-93BAF8233F47", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-enhance", - "codepoint": "F0101", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "5D466962-4E59-4103-8556-25032439677A", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-enhance-outline", - "codepoint": "F0B6A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "D4175840-8B51-4C1E-AFF2-A8142F5CCF2E", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-flip", - "codepoint": "F15D9", - "aliases": [ - "camera-sync", - "camera-refresh" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A40CFB47-3650-42BF-874C-C5BF09641708", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-flip-outline", - "codepoint": "F15DA", - "aliases": [ - "camera-sync-outline", - "camera-refresh-outline" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Irigoyen" - }, - { - "id": "574F4B2D-70FE-41E3-AFB4-EC1E2AB897AB", - "baseIconId": "574F4B2D-70FE-41E3-AFB4-EC1E2AB897AB", - "name": "camera-front", - "codepoint": "F0102", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "2C6477B5-AA9E-4EDD-A73A-79F2ED5E5F2A", - "baseIconId": "2C6477B5-AA9E-4EDD-A73A-79F2ED5E5F2A", - "name": "camera-front-variant", - "codepoint": "F0103", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "B4EDBFFC-CF00-45F3-93A7-6ADD45108FEE", - "baseIconId": "B4EDBFFC-CF00-45F3-93A7-6ADD45108FEE", - "name": "camera-gopro", - "codepoint": "F07A1", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Photography", - "Device \/ Tech" - ], - "author": "Michael Richins" - }, - { - "id": "3399CF92-5E35-4C1A-A796-FB641666AB63", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-image", - "codepoint": "F08CC", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "E011977B-432E-470C-A4F6-9C7A4F8BB519", - "baseIconId": "E011977B-432E-470C-A4F6-9C7A4F8BB519", - "name": "camera-iris", - "codepoint": "F0104", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "46E0AE7F-ECCB-4EAC-BADC-176B2A1FD338", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-lock", - "codepoint": "F1A14", - "aliases": [], - "styles": [ - "lock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography", - "Lock" - ], - "author": "Austin Andrews" - }, - { - "id": "2CB53F43-4731-40F1-993B-90F7D92A4789", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-lock-open", - "codepoint": "F1C0D", - "aliases": [], - "styles": [ - "lock" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Irigoyen" - }, - { - "id": "26438E72-F4E7-4C38-B373-0661EC4C1616", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-lock-open-outline", - "codepoint": "F1C0E", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Irigoyen" - }, - { - "id": "662A0A34-3FEC-47DB-BD66-608D95F912EF", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-lock-outline", - "codepoint": "F1A15", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography", - "Lock" - ], - "author": "Austin Andrews" - }, - { - "id": "304F1239-9ADE-4371-AFA5-AD2BC3343D24", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-marker", - "codepoint": "F19A7", - "aliases": [ - "camera-location" - ], - "styles": [ - "marker" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography", - "Navigation" - ], - "author": "Simran" - }, - { - "id": "FC72F661-E548-4755-9919-B9960175B831", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-marker-outline", - "codepoint": "F19A8", - "aliases": [ - "camera-location-outline" - ], - "styles": [ - "marker", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography", - "Navigation" - ], - "author": "Simran" - }, - { - "id": "D178034B-0B93-40F5-BBF1-D28B25A86647", - "baseIconId": "D178034B-0B93-40F5-BBF1-D28B25A86647", - "name": "camera-metering-center", - "codepoint": "F07A2", - "aliases": [ - "camera-metering-centre" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Andy Martinez" - }, - { - "id": "700D143A-8347-4A79-9EF8-844E1B436524", - "baseIconId": "700D143A-8347-4A79-9EF8-844E1B436524", - "name": "camera-metering-matrix", - "codepoint": "F07A3", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Andy Martinez" - }, - { - "id": "EA33D5EE-5E13-4D82-A552-C3B16772926F", - "baseIconId": "EA33D5EE-5E13-4D82-A552-C3B16772926F", - "name": "camera-metering-partial", - "codepoint": "F07A4", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Andy Martinez" - }, - { - "id": "C1313085-6C7F-4D60-A278-A39361B57DA9", - "baseIconId": "C1313085-6C7F-4D60-A278-A39361B57DA9", - "name": "camera-metering-spot", - "codepoint": "F07A5", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Andy Martinez" - }, - { - "id": "461A25B1-59F6-49F1-A917-BED92315AA63", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-off", - "codepoint": "F05DF", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Austin Andrews" - }, - { - "id": "F90640B1-1F16-41D0-98CF-B4C342BB5E61", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-off-outline", - "codepoint": "F19BF", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5ABA45CF-038B-4665-BC3B-7D34CEF3882E", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-outline", - "codepoint": "F0D5D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "B58A0D5C-B137-42DD-A43B-8DD296D7684A", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-party-mode", - "codepoint": "F0105", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "262BE971-8B8E-4DAC-8897-A841E5EBEB27", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-plus", - "codepoint": "F0EDB", - "aliases": [], - "styles": [ - "plus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "AD12EDBC-2323-410D-B0F2-F84ED6AEC170", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-plus-outline", - "codepoint": "F0EDC", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "B4CA0FB9-D119-426C-9043-16D90F5086B8", - "baseIconId": "B4CA0FB9-D119-426C-9043-16D90F5086B8", - "name": "camera-rear", - "codepoint": "F0106", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "B7DB5F20-5D64-4096-959F-60BB040B320F", - "baseIconId": "B7DB5F20-5D64-4096-959F-60BB040B320F", - "name": "camera-rear-variant", - "codepoint": "F0107", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "CA03F06D-AD3C-4D69-B6A4-721668AB111C", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-retake", - "codepoint": "F0E19", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Richins" - }, - { - "id": "0C602606-75CC-4D76-B79B-6550127ED464", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-retake-outline", - "codepoint": "F0E1A", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Richins" - }, - { - "id": "68BB6884-5CEA-4B2A-8F22-46B6A98CDA75", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-switch", - "codepoint": "F0108", - "aliases": [ - "switch-camera" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "CABA2832-65F9-4196-9681-51C5E2C1CFB2", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-switch-outline", - "codepoint": "F084A", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "6A8FC2AF-724C-46A2-9F04-C34E7D658679", - "baseIconId": "6A8FC2AF-724C-46A2-9F04-C34E7D658679", - "name": "camera-timer", - "codepoint": "F0109", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Photography" - ], - "author": "Austin Andrews" - }, - { - "id": "5125EF68-0BAB-4C17-BA18-022EAAAE36D5", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-wireless", - "codepoint": "F0DB6", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "A8BB090E-25FC-4517-A1C9-B2AA1ABD8AFA", - "baseIconId": "236D9E8E-E38C-4EA9-9539-0E8B1447003A", - "name": "camera-wireless-outline", - "codepoint": "F0DB7", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "E5958680-B397-40E1-BDB0-49B05339C973", - "baseIconId": "E5958680-B397-40E1-BDB0-49B05339C973", - "name": "campfire", - "codepoint": "F0EDD", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "02F70DD2-E16E-43FD-9C2A-267C965E3919", - "baseIconId": "02F70DD2-E16E-43FD-9C2A-267C965E3919", - "name": "cancel", - "codepoint": "F073A", - "aliases": [ - "prohibited", - "ban", - "do-not-disturb-alt", - "denied", - "block", - "forbid", - "no", - "clear" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1D56356A-1601-41FC-9D98-67736772260B", - "baseIconId": "1D56356A-1601-41FC-9D98-67736772260B", - "name": "candelabra", - "codepoint": "F17D2", - "aliases": [ - "candle", - "candelabrum" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CF2B4CE1-69FF-472B-BE94-620D71F5A42F", - "baseIconId": "CF2B4CE1-69FF-472B-BE94-620D71F5A42F", - "name": "candelabra-fire", - "codepoint": "F17D3", - "aliases": [ - "candelabrum-fire", - "candelabrum-flame", - "candelabra-flame", - "candle-fire", - "candle-flame" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4FB0AA38-406A-4877-8B0C-15C7ED95F22C", - "baseIconId": "4FB0AA38-406A-4877-8B0C-15C7ED95F22C", - "name": "candle", - "codepoint": "F05E2", - "aliases": [ - "candle-flame", - "candle-fire" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "AC3D0F93-E7EB-42DE-BBFE-FEBAE7966B35", - "baseIconId": "AC3D0F93-E7EB-42DE-BBFE-FEBAE7966B35", - "name": "candy", - "codepoint": "F1970", - "aliases": [ - "treat", - "chocolate" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9C3124FB-E9F8-468A-9D51-2CAD3342BEE7", - "baseIconId": "AC3D0F93-E7EB-42DE-BBFE-FEBAE7966B35", - "name": "candy-off", - "codepoint": "F1971", - "aliases": [ - "chocolate-off", - "treat-off" - ], - "styles": [ - "off" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7BA63C38-546A-47FE-8FA7-D3E744B2C96E", - "baseIconId": "AC3D0F93-E7EB-42DE-BBFE-FEBAE7966B35", - "name": "candy-off-outline", - "codepoint": "F1972", - "aliases": [ - "chocolate-off-outline", - "treat-off-outline", - "navi-off" - ], - "styles": [ - "off", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B2A0C20C-2A90-4A9F-8C95-179D2ED89002", - "baseIconId": "AC3D0F93-E7EB-42DE-BBFE-FEBAE7966B35", - "name": "candy-outline", - "codepoint": "F1973", - "aliases": [ - "chocolate-outline", - "treat-outline", - "navi", - "hey-listen", - "fairy" - ], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8CAC723B-0FF5-493B-A3A2-5772FDE46A0F", - "baseIconId": "8CAC723B-0FF5-493B-A3A2-5772FDE46A0F", - "name": "candycane", - "codepoint": "F010A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday", - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "4C2DC909-0C3F-431F-A37B-5B66C9F33E37", - "baseIconId": "4C2DC909-0C3F-431F-A37B-5B66C9F33E37", - "name": "cannabis", - "codepoint": "F07A6", - "aliases": [ - "weed", - "pot", - "marijuana" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Nature", - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "1DA6A01B-2804-4C68-A60E-20DBBB6938E5", - "baseIconId": "4C2DC909-0C3F-431F-A37B-5B66C9F33E37", - "name": "cannabis-off", - "codepoint": "F166E", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "74D4E706-53B2-4349-95B2-026B3057D9B2", - "baseIconId": "74D4E706-53B2-4349-95B2-026B3057D9B2", - "name": "caps-lock", - "codepoint": "F0A9B", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car", - "codepoint": "F010B", - "aliases": [ - "directions-car", - "drive-eta", - "time-to-leave" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Navigation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "02A38C46-7F26-4A95-9025-33181E528B1C", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-2-plus", - "codepoint": "F1015", - "aliases": [ - "hov-lane", - "high-occupancy-vehicle-lane", - "carpool-lane" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9E971816-54E0-4C43-A6BB-AD821E17DC30", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-3-plus", - "codepoint": "F1016", - "aliases": [ - "hov-lane", - "high-occupancy-vehicle-lane", - "carpool-lane" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F647E77D-3416-4DFD-8E9C-0BB1A1FDA6A8", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-arrow-left", - "codepoint": "F13B2", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Automotive", - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "04AA17AE-F0E4-4B44-9440-812E1F875884", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-arrow-right", - "codepoint": "F13B3", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Automotive", - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E41B22B2-CAC1-4D56-877B-2DC4E5E4BEC2", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-back", - "codepoint": "F0E1B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Automotive", - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "4AF128D8-1E70-4396-BB5A-F96A7D0F9BCB", - "baseIconId": "4AF128D8-1E70-4396-BB5A-F96A7D0F9BCB", - "name": "car-battery", - "codepoint": "F010C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Battery", - "Automotive" - ], - "author": "Simran" - }, - { - "id": "170D1972-AFA7-417C-BCC4-B07689D8B6F4", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-abs", - "codepoint": "F0C47", - "aliases": [ - "anti-lock-brake-system", - "anti-lock-braking-system" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "843DC5E8-723D-44A1-A959-A49C662712D1", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-alert", - "codepoint": "F0C48", - "aliases": [ - "car-parking-brake", - "car-handbrake", - "car-hand-brake", - "car-emergency-brake", - "car-brake-warning" - ], - "styles": [ - "alert" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4FBEBCCE-0C62-45B7-AD52-06CD18B8927C", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-fluid-level", - "codepoint": "F1909", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4F3D37E3-F34C-4720-BC92-1173A85F88FC", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-hold", - "codepoint": "F0D5E", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A7AFFF81-AC39-478A-AF75-E33E20A44D09", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-low-pressure", - "codepoint": "F190A", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CBCA05E4-718D-4727-8A1B-EDA815D00AE1", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-parking", - "codepoint": "F0D5F", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8627DD5D-1BE6-4FBB-81A6-7D40ED3C1E69", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-retarder", - "codepoint": "F1017", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "663F3528-508B-49EE-8437-9B2E757E7AAD", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-temperature", - "codepoint": "F190B", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7858E89E-A9E6-490D-ABCF-42591D9BBA5C", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-brake-worn-linings", - "codepoint": "F190C", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6A83FE13-CCAF-473E-B660-F2AD8EE561AD", - "baseIconId": "6A83FE13-CCAF-473E-B660-F2AD8EE561AD", - "name": "car-child-seat", - "codepoint": "F0FA3", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Automotive", - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3AB7B60B-344F-4F2B-AFAD-7DB7BA167E68", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-clock", - "codepoint": "F1974", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "862F1CFE-643B-44BB-9B46-33BF1C75CEE2", - "baseIconId": "862F1CFE-643B-44BB-9B46-33BF1C75CEE2", - "name": "car-clutch", - "codepoint": "F1018", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B854CD8C-6731-4C70-917F-9033015E94F4", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-cog", - "codepoint": "F13CC", - "aliases": [ - "car-settings" - ], - "styles": [ - "settings", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Automotive", - "Settings", - "Transportation + Road" - ], - "author": "Simran" - }, - { - "id": "8C8468C7-8A41-42A1-8C33-4AAE55FF9E2A", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-connected", - "codepoint": "F010D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "Simran" - }, - { - "id": "D7E88B5B-B6F3-4C55-AE93-39A78593B351", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "car-convertible", - "codepoint": "F07A7", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "1DA47513-FB2A-4A20-926F-3D2E90D40F26", - "baseIconId": "1DA47513-FB2A-4A20-926F-3D2E90D40F26", - "name": "car-coolant-level", - "codepoint": "F1019", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7FCD959A-B0AA-43AD-B448-5B51A1A2C023", - "baseIconId": "7FCD959A-B0AA-43AD-B448-5B51A1A2C023", - "name": "car-cruise-control", - "codepoint": "F0D60", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1B289520-CE81-4385-88B3-923CB0FD6233", - "baseIconId": "1B289520-CE81-4385-88B3-923CB0FD6233", - "name": "car-defrost-front", - "codepoint": "F0D61", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8B6938C0-6C97-41A4-A22F-83D6A9F1AC3F", - "baseIconId": "1B289520-CE81-4385-88B3-923CB0FD6233", - "name": "car-defrost-rear", - "codepoint": "F0D62", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AA43B04E-7C56-4DFB-83FC-081E3A4A3F48", - "baseIconId": "AA43B04E-7C56-4DFB-83FC-081E3A4A3F48", - "name": "car-door", - "codepoint": "F0B6B", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "76A1EC75-D6D2-465E-89F7-EBE2AF145C4C", - "baseIconId": "AA43B04E-7C56-4DFB-83FC-081E3A4A3F48", - "name": "car-door-lock", - "codepoint": "F109D", - "aliases": [], - "styles": [ - "lock" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Automotive", - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "9558FFAF-0865-47B4-BC3D-32E34266E2F0", - "baseIconId": "AA43B04E-7C56-4DFB-83FC-081E3A4A3F48", - "name": "car-door-lock-open", - "codepoint": "F1C81", - "aliases": [], - "styles": [ - "lock" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Automotive", - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "48583637-1477-451A-8E75-765EC4EB0585", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-electric", - "codepoint": "F0B6C", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "Google" - }, - { - "id": "D97919E2-BB44-4ABE-86AB-68CD49AC4BE7", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-electric-outline", - "codepoint": "F15B5", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "Google" - }, - { - "id": "355D6842-8858-4C79-B684-0E0F5E03801D", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-emergency", - "codepoint": "F160F", - "aliases": [ - "car-police" - ], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "5BF118F1-1115-4928-8755-34AF926CF13D", - "baseIconId": "843DC5E8-723D-44A1-A959-A49C662712D1", - "name": "car-esp", - "codepoint": "F0C49", - "aliases": [ - "electronic-stability-program" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "90BBBADD-0FCD-4147-9D6E-5DAFCACF2B0B", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "car-estate", - "codepoint": "F07A8", - "aliases": [ - "car-suv", - "car-sports-utility-vehicle" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "21A2527E-9AC0-4FFA-84CB-246608BEB91D", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "car-hatchback", - "codepoint": "F07A9", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "6C179C94-30C5-4DD8-B80E-9FFF69ABE0E1", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-info", - "codepoint": "F11BE", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Richins" - }, - { - "id": "3B659932-957C-4DD8-81CF-7ECABC572BFC", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-key", - "codepoint": "F0B6D", - "aliases": [ - "car-rental", - "rent-a-car" - ], - "styles": [ - "key" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "10F38BAD-F9E1-4715-9BE9-3784C788D59A", - "baseIconId": "10F38BAD-F9E1-4715-9BE9-3784C788D59A", - "name": "car-lifted-pickup", - "codepoint": "F152D", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "311C671E-9503-485D-8C7D-359E2A3A6D36", - "baseIconId": "7EF72FB8-3767-495E-9F80-888F6924B856", - "name": "car-light-alert", - "codepoint": "F190D", - "aliases": [], - "styles": [ - "alert" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DA708BEF-4826-49CF-8872-C42996C9616F", - "baseIconId": "DA708BEF-4826-49CF-8872-C42996C9616F", - "name": "car-light-dimmed", - "codepoint": "F0C4A", - "aliases": [ - "head-light-dimmed", - "low-beam" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3DAC6713-744B-485F-A985-7E2A16F14D6A", - "baseIconId": "DA708BEF-4826-49CF-8872-C42996C9616F", - "name": "car-light-fog", - "codepoint": "F0C4B", - "aliases": [ - "head-light-fog" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7EF72FB8-3767-495E-9F80-888F6924B856", - "baseIconId": "DA708BEF-4826-49CF-8872-C42996C9616F", - "name": "car-light-high", - "codepoint": "F0C4C", - "aliases": [ - "head-light-high", - "high-beam" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "43758944-946B-4883-A77C-F6F28F175920", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "car-limousine", - "codepoint": "F08CD", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "B31CB4B0-9987-4F99-8409-FA4601E34064", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-multiple", - "codepoint": "F0B6E", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "Michael Richins" - }, - { - "id": "5426595C-DCD3-4CFE-990E-775C80BDCDC6", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-off", - "codepoint": "F0E1C", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Richins" - }, - { - "id": "8EDBF463-60A3-4F49-9198-B52F8E6FB68B", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-outline", - "codepoint": "F14ED", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Google" - }, - { - "id": "03116932-7E19-45C7-9E34-02308FCDD7F4", - "baseIconId": "DA708BEF-4826-49CF-8872-C42996C9616F", - "name": "car-parking-lights", - "codepoint": "F0D63", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "76BB371D-335C-4F53-A439-2A681778C6BC", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "car-pickup", - "codepoint": "F07AA", - "aliases": [ - "truck-pickup" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive", - "Agriculture" - ], - "author": "GreenTurtwig" - }, - { - "id": "6BF272B9-40CF-45E8-8CE4-8E186BFE95BF", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-search", - "codepoint": "F1B8D", - "aliases": [ - "car-find" - ], - "styles": [ - "search" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "tetzla" - }, - { - "id": "B64ACFFE-836E-4F68-8D1B-3F6FCC263602", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-search-outline", - "codepoint": "F1B8E", - "aliases": [ - "car-find-outline" - ], - "styles": [ - "outline", - "search" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "tetzla" - }, - { - "id": "F0D6A2CA-711D-440E-B4A2-586C071E1192", - "baseIconId": "F0D6A2CA-711D-440E-B4A2-586C071E1192", - "name": "car-seat", - "codepoint": "F0FA4", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3B08983F-F281-48F5-8A34-383591971006", - "baseIconId": "F0D6A2CA-711D-440E-B4A2-586C071E1192", - "name": "car-seat-cooler", - "codepoint": "F0FA5", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "300D30D3-28E2-4D45-A31D-9FF1E92AC5BE", - "baseIconId": "F0D6A2CA-711D-440E-B4A2-586C071E1192", - "name": "car-seat-heater", - "codepoint": "F0FA6", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "611D7DCF-0792-430C-AB3E-27DB222A197D", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-select", - "codepoint": "F1879", - "aliases": [ - "car-location" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Jeff Anders" - }, - { - "id": "4ED4D6FD-9E30-4D99-9FD0-11B316BACB96", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-settings", - "codepoint": "F13CD", - "aliases": [], - "styles": [ - "settings" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Automotive", - "Settings" - ], - "author": "Simran" - }, - { - "id": "DF11B72C-D029-49BB-9657-6A267CC1DEA4", - "baseIconId": "DF11B72C-D029-49BB-9657-6A267CC1DEA4", - "name": "car-shift-pattern", - "codepoint": "F0F40", - "aliases": [ - "car-transmission", - "car-manual-transmission" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CB49A868-3317-4445-BFED-13CB6533000E", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "car-side", - "codepoint": "F07AB", - "aliases": [ - "car-saloon" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "69EE759D-1F0E-414B-A014-5EB611D6286E", - "baseIconId": "69EE759D-1F0E-414B-A014-5EB611D6286E", - "name": "car-speed-limiter", - "codepoint": "F190E", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "97F5ED58-F2AB-40AC-A882-4A90DB5D2018", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "car-sports", - "codepoint": "F07AC", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Sport", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "93700192-0A90-4FC4-944C-894F29BB478F", - "baseIconId": "93700192-0A90-4FC4-944C-894F29BB478F", - "name": "car-tire-alert", - "codepoint": "F0C4D", - "aliases": [ - "car-tyre-alert", - "car-tyre-warning", - "car-tire-warning" - ], - "styles": [ - "alert" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D9DC5111-14E6-4585-A79B-489FC04C1CE3", - "baseIconId": "D9DC5111-14E6-4585-A79B-489FC04C1CE3", - "name": "car-traction-control", - "codepoint": "F0D64", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1D1E80DE-A3A0-4487-9A94-7C9C3F5E0A59", - "baseIconId": "1D1E80DE-A3A0-4487-9A94-7C9C3F5E0A59", - "name": "car-turbocharger", - "codepoint": "F101A", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "95E617D7-9A48-458E-96C5-A8CBBEF3A852", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-wash", - "codepoint": "F010E", - "aliases": [ - "local-car-wash" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Places", - "Automotive" - ], - "author": "Google" - }, - { - "id": "6E8AA995-39A0-44C4-A0FF-3BC1CA7787DE", - "baseIconId": "6E8AA995-39A0-44C4-A0FF-3BC1CA7787DE", - "name": "car-windshield", - "codepoint": "F101B", - "aliases": [ - "car-front-glass" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Richins" - }, - { - "id": "55F7CDA2-F41C-42C4-8154-1F8B1C603F25", - "baseIconId": "6E8AA995-39A0-44C4-A0FF-3BC1CA7787DE", - "name": "car-windshield-outline", - "codepoint": "F101C", - "aliases": [ - "car-front-glass-outline" - ], - "styles": [ - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Richins" - }, - { - "id": "E0C3B158-D502-4354-94AC-994A48BD90FE", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-wireless", - "codepoint": "F1878", - "aliases": [ - "car-autonomous", - "car-self-driving", - "car-smart" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "34DABCA7-B5EF-42DD-9731-ABAA7F3DD322", - "baseIconId": "FCF4FF57-4547-4C11-A20A-3D26252780EC", - "name": "car-wrench", - "codepoint": "F1814", - "aliases": [ - "car-repair", - "mechanic" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Automotive", - "Hardware \/ Tools" - ], - "author": "Colton Wiscombe" - }, - { - "id": "077EABE1-1DBC-4AC9-AA0E-B45386391968", - "baseIconId": "077EABE1-1DBC-4AC9-AA0E-B45386391968", - "name": "carabiner", - "codepoint": "F14C0", - "aliases": [ - "karabiner", - "rock-climbing" - ], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "2E5B9249-0FFB-48D0-8A61-2019FD9ED32F", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "caravan", - "codepoint": "F07AD", - "aliases": [ - "holiday", - "camping" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Home Automation", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "AB226798-9B8A-4929-8880-6665C1114776", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card", - "codepoint": "F0B6F", - "aliases": [ - "button" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Rynco Li" - }, - { - "id": "4ACD18FB-87D4-46F1-9231-8BD0A91867A9", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "card-account-details", - "codepoint": "F05D2", - "aliases": [ - "identification-card", - "user-card-details", - "id-card", - "person-card-details", - "drivers-license", - "business-card" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Christopher Schreiner" - }, - { - "id": "6BD2BC65-C99A-42FB-A37E-85F5E8C91D32", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "card-account-details-outline", - "codepoint": "F0DAB", - "aliases": [ - "identification-card-outline", - "user-card-details-outline", - "id-card-outline", - "person-card-details-outline", - "drivers-license-outline", - "business-card-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "951C68F1-876F-440E-A4D9-B724BB6D6181", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "card-account-details-star", - "codepoint": "F02A3", - "aliases": [ - "card-account-details-favorite" - ], - "styles": [ - "star" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "97C9CAC2-9F94-40EA-9A08-1A9BDD208743", - "baseIconId": "E76EC23F-AB71-49B3-9173-841544527A20", - "name": "card-account-details-star-outline", - "codepoint": "F06DB", - "aliases": [ - "card-account-details-favorite-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "81840940-8672-42C0-B657-15E94B3638D6", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-account-mail", - "codepoint": "F018E", - "aliases": [ - "contact-mail" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "F43579AB-0098-44B4-910C-3B24193C3B79", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-account-mail-outline", - "codepoint": "F0E98", - "aliases": [ - "contact-mail-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "D992EB08-7BDB-4D44-B3C1-A123F80C17FA", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-account-phone", - "codepoint": "F0E99", - "aliases": [ - "contact-phone" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "ABC0498A-9F66-489B-A78E-91B3415EE3E4", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-account-phone-outline", - "codepoint": "F0E9A", - "aliases": [ - "contact-phone-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "BFFB5C41-DA26-4980-8B25-1DCB21B4673E", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-bulleted", - "codepoint": "F0B70", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Rynco Li" - }, - { - "id": "487C3E75-13DF-4C18-98E4-55CB048367EA", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-bulleted-off", - "codepoint": "F0B71", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Rynco Li" - }, - { - "id": "A6845501-AB5C-4511-863D-25E6E0F4F74C", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-bulleted-off-outline", - "codepoint": "F0B72", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Rynco Li" - }, - { - "id": "5A5D5F82-1BBA-4661-A4B7-6AC29484EBB3", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-bulleted-outline", - "codepoint": "F0B73", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Rynco Li" - }, - { - "id": "A8645D1A-6D02-401F-82F6-2564C6EC20D8", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-bulleted-settings", - "codepoint": "F0B74", - "aliases": [], - "styles": [ - "settings" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Rynco Li" - }, - { - "id": "5C008C35-201B-4DDB-A37B-6E513C9304F2", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-bulleted-settings-outline", - "codepoint": "F0B75", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Rynco Li" - }, - { - "id": "7538FC94-FD58-41FD-9585-1F6B6A0AA784", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-minus", - "codepoint": "F1600", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "DBAC0B3F-A11E-4BFF-B5A5-802C28802CFC", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-minus-outline", - "codepoint": "F1601", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "CCB6A7E7-E036-462A-80BB-8EBFBADD61CB", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-multiple", - "codepoint": "F17F1", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "5A952723-5033-43DA-B1A8-A9DD1A5B3DB6", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-multiple-outline", - "codepoint": "F17F2", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "B426A851-795C-4627-9F65-EF585020DE63", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-off", - "codepoint": "F1602", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "DD1C1DF5-C30E-421A-9FA7-AC8F0D021B95", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-off-outline", - "codepoint": "F1603", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "EB9242D1-9D25-4141-A1A0-06636EC84541", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-outline", - "codepoint": "F0B76", - "aliases": [ - "button-outline" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Rynco Li" - }, - { - "id": "3B4FC4CD-DB60-407A-B230-C6CA593977DD", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-plus", - "codepoint": "F11FF", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DD8BE7C3-7AE2-420C-8DA2-B3AA4EEC5614", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-plus-outline", - "codepoint": "F1200", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6902F560-9012-4F0B-8E93-6B0B7641C019", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-remove", - "codepoint": "F1604", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "84C0BF2A-B9FB-4E01-9961-A4146CB9BCC3", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-remove-outline", - "codepoint": "F1605", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2A09F869-B221-4ABC-B803-16560B7BA900", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-search", - "codepoint": "F1074", - "aliases": [ - "pageview" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3EE58157-57AF-420D-9F5B-C545BCE7D395", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-search-outline", - "codepoint": "F1075", - "aliases": [ - "pageview-outline" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EF0C4465-ACEB-44FA-BA7F-A0422E4481F6", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-text", - "codepoint": "F0B77", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Rynco Li" - }, - { - "id": "45A9D669-8244-476D-A148-21EAB63F819B", - "baseIconId": "AB226798-9B8A-4929-8880-6665C1114776", - "name": "card-text-outline", - "codepoint": "F0B78", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Rynco Li" - }, - { - "id": "7E04A92C-1DC5-4A5F-84B0-57A50545EBE4", - "baseIconId": "7E04A92C-1DC5-4A5F-84B0-57A50545EBE4", - "name": "cards", - "codepoint": "F0638", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Simran" - }, - { - "id": "FD5114FD-37CB-4346-BC73-58E1EED49CF3", - "baseIconId": "FD5114FD-37CB-4346-BC73-58E1EED49CF3", - "name": "cards-club", - "codepoint": "F08CE", - "aliases": [ - "suit-clubs", - "poker-club" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Nick" - }, - { - "id": "6F2A121B-8E9C-43C3-8566-5AA696997778", - "baseIconId": "FD5114FD-37CB-4346-BC73-58E1EED49CF3", - "name": "cards-club-outline", - "codepoint": "F189F", - "aliases": [], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0934FB0D-8585-4064-989F-054E52D16FDB", - "baseIconId": "0934FB0D-8585-4064-989F-054E52D16FDB", - "name": "cards-diamond", - "codepoint": "F08CF", - "aliases": [ - "suit-diamonds", - "hov-lane", - "high-occupancy-vehicle-lane", - "carpool-lane", - "poker-diamond" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Transportation + Road" - ], - "author": "Nick" - }, - { - "id": "529FA74E-39AF-4AF4-BAD3-637FDFBD53AE", - "baseIconId": "0934FB0D-8585-4064-989F-054E52D16FDB", - "name": "cards-diamond-outline", - "codepoint": "F101D", - "aliases": [ - "hov-lane-outline", - "high-occupancy-vehicle-lane-outline", - "carpool-lane-outline", - "poker-diamond-outline" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "152E7662-6FDD-478C-A945-68F6B04CB073", - "baseIconId": "152E7662-6FDD-478C-A945-68F6B04CB073", - "name": "cards-heart", - "codepoint": "F08D0", - "aliases": [ - "suit-hearts", - "poker-heart" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Nick" - }, - { - "id": "BA1E8534-7828-4FE0-A0D3-E016FA76CE8C", - "baseIconId": "152E7662-6FDD-478C-A945-68F6B04CB073", - "name": "cards-heart-outline", - "codepoint": "F18A0", - "aliases": [], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BB07EFB4-5078-47BA-B441-93D4957AF7F9", - "baseIconId": "7E04A92C-1DC5-4A5F-84B0-57A50545EBE4", - "name": "cards-outline", - "codepoint": "F0639", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Simran" - }, - { - "id": "F3847846-75CC-462A-A4E7-74A2AF93AC5A", - "baseIconId": "7E04A92C-1DC5-4A5F-84B0-57A50545EBE4", - "name": "cards-playing", - "codepoint": "F18A1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CCBA1AB3-8133-4FB0-BB19-DE8D42AD1ADD", - "baseIconId": "FD5114FD-37CB-4346-BC73-58E1EED49CF3", - "name": "cards-playing-club", - "codepoint": "F18A2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "52FA2B41-3111-4D72-800A-91E9665CDA06", - "baseIconId": "FD5114FD-37CB-4346-BC73-58E1EED49CF3", - "name": "cards-playing-club-multiple", - "codepoint": "F18A3", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "2521E853-62E5-4CDD-9EE9-8F43FC2FB8EB", - "baseIconId": "FD5114FD-37CB-4346-BC73-58E1EED49CF3", - "name": "cards-playing-club-multiple-outline", - "codepoint": "F18A4", - "aliases": [], - "styles": [ - "multiple", - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "BDB29BCE-FA8C-4CFB-8B23-A0DC648BC203", - "baseIconId": "FD5114FD-37CB-4346-BC73-58E1EED49CF3", - "name": "cards-playing-club-outline", - "codepoint": "F18A5", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "AF3E53EC-69B3-470E-820E-F106CF69D453", - "baseIconId": "0934FB0D-8585-4064-989F-054E52D16FDB", - "name": "cards-playing-diamond", - "codepoint": "F18A6", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "FB787ECA-1A04-48A9-8438-F3EC3475D81C", - "baseIconId": "0934FB0D-8585-4064-989F-054E52D16FDB", - "name": "cards-playing-diamond-multiple", - "codepoint": "F18A7", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "84440A36-7850-44EB-A269-B58893D0FEDC", - "baseIconId": "0934FB0D-8585-4064-989F-054E52D16FDB", - "name": "cards-playing-diamond-multiple-outline", - "codepoint": "F18A8", - "aliases": [], - "styles": [ - "multiple", - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "546D65EC-4458-49DA-AC96-54D8DB955FCA", - "baseIconId": "0934FB0D-8585-4064-989F-054E52D16FDB", - "name": "cards-playing-diamond-outline", - "codepoint": "F18A9", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "638C8BA0-9D3F-46FF-98F2-2A732D4116F4", - "baseIconId": "152E7662-6FDD-478C-A945-68F6B04CB073", - "name": "cards-playing-heart", - "codepoint": "F18AA", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "53152CB4-487D-4D6C-8E52-E5A1B3F38289", - "baseIconId": "152E7662-6FDD-478C-A945-68F6B04CB073", - "name": "cards-playing-heart-multiple", - "codepoint": "F18AB", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "74B2938C-1AC3-4022-AAF2-3983F3EECE7D", - "baseIconId": "152E7662-6FDD-478C-A945-68F6B04CB073", - "name": "cards-playing-heart-multiple-outline", - "codepoint": "F18AC", - "aliases": [], - "styles": [ - "multiple", - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "7951C9AF-05E8-4A77-B682-AD1F5D1C04B8", - "baseIconId": "152E7662-6FDD-478C-A945-68F6B04CB073", - "name": "cards-playing-heart-outline", - "codepoint": "F18AD", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "C388C342-49AA-4577-A968-12BD804E5A8E", - "baseIconId": "7E04A92C-1DC5-4A5F-84B0-57A50545EBE4", - "name": "cards-playing-outline", - "codepoint": "F063A", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Simran" - }, - { - "id": "E3254FE1-D955-4E3D-AD8E-385E5F307BA1", - "baseIconId": "B2DEB97A-B08E-4E10-8E24-A4AF2CF98C74", - "name": "cards-playing-spade", - "codepoint": "F18AE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "46EAB9B6-C359-4D80-AA5E-96A05E42F63B", - "baseIconId": "B2DEB97A-B08E-4E10-8E24-A4AF2CF98C74", - "name": "cards-playing-spade-multiple", - "codepoint": "F18AF", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "FECC9B9C-2115-4613-926B-C22A16ABCFE8", - "baseIconId": "B2DEB97A-B08E-4E10-8E24-A4AF2CF98C74", - "name": "cards-playing-spade-multiple-outline", - "codepoint": "F18B0", - "aliases": [], - "styles": [ - "multiple", - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "A10D94B9-210F-453F-B9C7-65175CDD81B1", - "baseIconId": "B2DEB97A-B08E-4E10-8E24-A4AF2CF98C74", - "name": "cards-playing-spade-outline", - "codepoint": "F18B1", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "B2DEB97A-B08E-4E10-8E24-A4AF2CF98C74", - "baseIconId": "B2DEB97A-B08E-4E10-8E24-A4AF2CF98C74", - "name": "cards-spade", - "codepoint": "F08D1", - "aliases": [ - "suit-spades", - "poker-spade" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Nick" - }, - { - "id": "2A12FA98-57B3-43FC-A927-384419B791EF", - "baseIconId": "B2DEB97A-B08E-4E10-8E24-A4AF2CF98C74", - "name": "cards-spade-outline", - "codepoint": "F18B2", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A000BD20-147F-43FB-AD99-08AE6BA2E80B", - "baseIconId": "A000BD20-147F-43FB-AD99-08AE6BA2E80B", - "name": "cards-variant", - "codepoint": "F06C7", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Case Sandberg" - }, - { - "id": "6BD10A61-9A45-4A5A-ABEF-404135975917", - "baseIconId": "6BD10A61-9A45-4A5A-ABEF-404135975917", - "name": "carrot", - "codepoint": "F010F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Agriculture", - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "97563623-CF1C-43AE-87D8-DF54802D442B", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart", - "codepoint": "F0110", - "aliases": [ - "trolley", - "local-grocery-store", - "shopping-cart" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "0DCB3032-271E-4522-ABEE-386F49E6B4ED", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-arrow-down", - "codepoint": "F0D66", - "aliases": [ - "shopping-cart-arrow-down", - "trolley-arrow-down" - ], - "styles": [ - "arrow" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Simran" - }, - { - "id": "31173BE4-3D5E-45EB-BD45-3D19E86AF6B2", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-arrow-right", - "codepoint": "F0C4E", - "aliases": [ - "trolley-arrow-right", - "shopping-cart-arrow-right" - ], - "styles": [ - "arrow" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Richins" - }, - { - "id": "8ED82219-BC37-41C0-9012-E316AB7BD809", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-arrow-up", - "codepoint": "F0D67", - "aliases": [ - "shopping-cart-arrow-up", - "trolley-arrow-up" - ], - "styles": [ - "arrow" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Simran" - }, - { - "id": "549C956B-9A3A-489B-BBC3-F9FF7AF0EB14", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-check", - "codepoint": "F15EA", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CB11E82A-C290-44A7-B9FC-88F47CEF5BC5", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-heart", - "codepoint": "F18E0", - "aliases": [ - "cart-favorite", - "shopping-favorite" - ], - "styles": [ - "heart" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D4AF47D5-214B-4856-8450-0ED7C524991D", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-minus", - "codepoint": "F0D68", - "aliases": [ - "shopping-cart-minus", - "trolley-minus" - ], - "styles": [ - "minus" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Simran" - }, - { - "id": "05455801-C523-420A-A961-868ABA3DF636", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-off", - "codepoint": "F066B", - "aliases": [ - "trolley-off", - "remove-shopping-cart", - "shopping-cart-off" - ], - "styles": [ - "off" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "F290ABB0-4CD2-4C45-B543-E3AEBA1FE358", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-outline", - "codepoint": "F0111", - "aliases": [ - "trolley-outline", - "shopping-cart-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "0E548E6D-946B-4BBE-97FA-2021E2DFF61D", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-percent", - "codepoint": "F1BAE", - "aliases": [ - "cart-discount", - "cart-sale", - "trolley-percent" - ], - "styles": [ - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2BF13245-A7BF-49EC-8EB0-CA10F7AF11B2", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-plus", - "codepoint": "F0112", - "aliases": [ - "trolley-plus", - "add-shopping-cart", - "shopping-cart-plus", - "cart-add", - "trolley-add", - "shopping-cart-add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "DCB745AA-0ECB-4584-88DA-52CC447555A0", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-remove", - "codepoint": "F0D69", - "aliases": [ - "trolley-remove", - "shopping-cart-remove" - ], - "styles": [ - "remove" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Simran" - }, - { - "id": "E7E79B59-68A1-4629-9353-A2E64A4A18B4", - "baseIconId": "97563623-CF1C-43AE-87D8-DF54802D442B", - "name": "cart-variant", - "codepoint": "F15EB", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "250BE86F-4D41-4F22-AECD-DD8A2533DA62", - "baseIconId": "250BE86F-4D41-4F22-AECD-DD8A2533DA62", - "name": "case-sensitive-alt", - "codepoint": "F0113", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Doug C. Hardester" - }, - { - "id": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash", - "codepoint": "F0114", - "aliases": [ - "money" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking", - "Shopping" - ], - "author": "Austin Andrews" - }, - { - "id": "18E513D3-5D34-4A4B-B600-D7173CB30DDA", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-100", - "codepoint": "F0115", - "aliases": [ - "money-100" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "4AF1798E-6400-40B9-8DAB-4482C07C62E9", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-check", - "codepoint": "F14EE", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Lucas Crivellari Macieira" - }, - { - "id": "D9D0A7DF-0450-4F67-9F50-D46733A1DF3B", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-clock", - "codepoint": "F1A91", - "aliases": [ - "cash-schedule", - "payment-schedule", - "payment-clock", - "auto-pay" - ], - "styles": [ - "clock" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Banking", - "Currency", - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A10E9739-AA80-4671-B744-ECB9934BB7E4", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-fast", - "codepoint": "F185C", - "aliases": [ - "instant-deposit", - "instant-transfer", - "instant-cash" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "03BA1D57-6374-41F7-A781-C0615B91178B", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-lock", - "codepoint": "F14EA", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Lock", - "Currency", - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "C9CB2DC9-3F57-4D99-81D8-154F348746E5", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-lock-open", - "codepoint": "F14EB", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Lock", - "Currency", - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "080E0DBC-A7E4-40C0-A126-9CE83BDE2FDF", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-marker", - "codepoint": "F0DB8", - "aliases": [ - "cod", - "cash-on-delivery", - "cash-location" - ], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Banking", - "Currency", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "20240E77-778A-4B82-9975-585C647AE81C", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-minus", - "codepoint": "F1260", - "aliases": [], - "styles": [ - "minus" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "sergiocarlotto" - }, - { - "id": "80D4170E-FDA3-40D0-9B05-1020D5FCA817", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-multiple", - "codepoint": "F0116", - "aliases": [ - "money" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "429B4063-AAA8-4F02-B861-84FC3E00571D", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-off", - "codepoint": "F1C79", - "aliases": [], - "styles": [ - "off" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Andrej Sharapov" - }, - { - "id": "C2E340E3-EA0A-4726-B595-6149C8C662B8", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-plus", - "codepoint": "F1261", - "aliases": [], - "styles": [ - "plus" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "sergiocarlotto" - }, - { - "id": "EADBBD96-B2BD-4C31-969E-BFBA6DF519B1", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-refund", - "codepoint": "F0A9C", - "aliases": [ - "cash-return", - "cash-chargeback" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Michael Richins" - }, - { - "id": "6B63F864-415A-4679-9126-363E5254B175", - "baseIconId": "6B63F864-415A-4679-9126-363E5254B175", - "name": "cash-register", - "codepoint": "F0CF4", - "aliases": [ - "till" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Shopping", - "Banking" - ], - "author": "TheManuz" - }, - { - "id": "C4DA23E6-9BE6-490B-83FB-B39A3E22E9E1", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-remove", - "codepoint": "F1262", - "aliases": [], - "styles": [ - "remove" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "6F96F219-FD7D-4EB5-B341-777F00AF6EBB", - "baseIconId": "59956D81-BF6B-4DCA-ABAD-A890412F22F1", - "name": "cash-sync", - "codepoint": "F1A92", - "aliases": [ - "auto-pay", - "recurring-payment", - "scheduled-payment", - "cash-cycle" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EF35081A-EABF-4C6B-B858-7F2177B60F95", - "baseIconId": "EF35081A-EABF-4C6B-B858-7F2177B60F95", - "name": "cassette", - "codepoint": "F09D4", - "aliases": [ - "tape" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "GreenTurtwig" - }, - { - "id": "996A1644-29FB-4221-9225-FD5CF8AAD5CE", - "baseIconId": "996A1644-29FB-4221-9225-FD5CF8AAD5CE", - "name": "cast", - "codepoint": "F0118", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "E464AD1F-6036-43F9-9D9F-22390B2CBECB", - "baseIconId": "996A1644-29FB-4221-9225-FD5CF8AAD5CE", - "name": "cast-audio", - "codepoint": "F101E", - "aliases": [ - "cast-speaker" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Kinetic Screen" - }, - { - "id": "38E64DD7-18F9-4D85-9D62-023BDA44F642", - "baseIconId": "38E64DD7-18F9-4D85-9D62-023BDA44F642", - "name": "cast-audio-variant", - "codepoint": "F1749", - "aliases": [ - "apple-airplay" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "80EC7FF6-03C0-4D61-8858-D2D94426D2DE", - "baseIconId": "996A1644-29FB-4221-9225-FD5CF8AAD5CE", - "name": "cast-connected", - "codepoint": "F0119", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "31B2064A-79C9-44A7-8C5E-0490162A7864", - "baseIconId": "996A1644-29FB-4221-9225-FD5CF8AAD5CE", - "name": "cast-education", - "codepoint": "F0E1D", - "aliases": [ - "cast-school", - "school-online", - "cast-tutorial" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F6AC6C9C-C82B-48C0-84AB-BEE76FC7BB5B", - "baseIconId": "996A1644-29FB-4221-9225-FD5CF8AAD5CE", - "name": "cast-off", - "codepoint": "F078A", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "CD5DD59A-965F-455E-912B-9535BFD134E0", - "baseIconId": "996A1644-29FB-4221-9225-FD5CF8AAD5CE", - "name": "cast-variant", - "codepoint": "F001F", - "aliases": [ - "apple", - "airplay" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "53FF9F06-A3F7-4B04-9D54-207FE8B56B8E", - "baseIconId": "53FF9F06-A3F7-4B04-9D54-207FE8B56B8E", - "name": "castle", - "codepoint": "F011A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Austin Andrews" - }, - { - "id": "5D3A753E-1FA9-42F4-8A71-E686A36D1CB6", - "baseIconId": "5D3A753E-1FA9-42F4-8A71-E686A36D1CB6", - "name": "cat", - "codepoint": "F011B", - "aliases": [ - "emoji-cat", - "emoticon-cat" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal", - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "04FF8A0D-0B5F-426B-ABAF-001EAC16559F", - "baseIconId": "04FF8A0D-0B5F-426B-ABAF-001EAC16559F", - "name": "cctv", - "codepoint": "F07AE", - "aliases": [ - "closed-circuit-television", - "security-camera" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Roberto Graham" - }, - { - "id": "4B6324CC-D2F7-4CDA-B05F-AC05CA7E238D", - "baseIconId": "04FF8A0D-0B5F-426B-ABAF-001EAC16559F", - "name": "cctv-off", - "codepoint": "F185F", - "aliases": [ - "closed-circuit-television-off", - "security-camera-off" - ], - "styles": [ - "off" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "580D06BE-1E88-47D7-9DEE-D1929637B0E3", - "baseIconId": "580D06BE-1E88-47D7-9DEE-D1929637B0E3", - "name": "ceiling-fan", - "codepoint": "F1797", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "nilsfast" - }, - { - "id": "326FF6B4-E497-4C9C-8EA5-D3FEACF0B2AE", - "baseIconId": "580D06BE-1E88-47D7-9DEE-D1929637B0E3", - "name": "ceiling-fan-light", - "codepoint": "F1798", - "aliases": [ - "ceiling-fan-on" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "nilsfast" - }, - { - "id": "C45A21A3-671C-4B1A-B405-D625ECA93C11", - "baseIconId": "C45A21A3-671C-4B1A-B405-D625ECA93C11", - "name": "ceiling-light", - "codepoint": "F0769", - "aliases": [ - "ceiling-lamp" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "95F3D89F-8AE6-4B86-BFE7-7D6A27018E7D", - "baseIconId": "C45A21A3-671C-4B1A-B405-D625ECA93C11", - "name": "ceiling-light-multiple", - "codepoint": "F18DD", - "aliases": [ - "ceiling-lamp-multiple" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "11968A7F-D159-497F-9D97-A25CACD6AE8D", - "baseIconId": "C45A21A3-671C-4B1A-B405-D625ECA93C11", - "name": "ceiling-light-multiple-outline", - "codepoint": "F18DE", - "aliases": [ - "ceiling-lamp-multiple-outline" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DD107169-7A9D-452F-8DE9-2736B6FB7851", - "baseIconId": "C45A21A3-671C-4B1A-B405-D625ECA93C11", - "name": "ceiling-light-outline", - "codepoint": "F17C7", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Teodor Sandu" - }, - { - "id": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone", - "codepoint": "F011C", - "aliases": [ - "mobile-phone", - "smartphone", - "stay-current-portrait", - "stay-primary-portrait" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "04D5C9C6-6CE4-4D2E-A759-07933F9B7932", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-arrow-down", - "codepoint": "F09D5", - "aliases": [ - "cellphone-system-update", - "mobile-phone-arrow-down", - "smartphone-arrow-down" - ], - "styles": [ - "arrow" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "AF03DF0A-3E57-412D-B72E-67938C4FD599", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-arrow-down-variant", - "codepoint": "F19C5", - "aliases": [ - "cellphone-download" - ], - "styles": [ - "arrow", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E22A55C0-983F-499E-8B43-4A66DB278B4E", - "baseIconId": "E22A55C0-983F-499E-8B43-4A66DB278B4E", - "name": "cellphone-basic", - "codepoint": "F011E", - "aliases": [ - "mobile-phone-basic" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Simran" - }, - { - "id": "FE245F0F-24CE-497E-BA73-19936BD14716", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-charging", - "codepoint": "F1397", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Moma Design Studio" - }, - { - "id": "0F2A2942-A58B-428B-B641-8AF2FF3A845B", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-check", - "codepoint": "F17FD", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "134C82D3-528D-46FA-9107-7F3D5AD8FBC3", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-cog", - "codepoint": "F0951", - "aliases": [ - "phonelink-setup", - "mobile-phone-settings-variant", - "smartphone-settings-variant" - ], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Settings", - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "4FBBF196-CF97-436B-A3E6-A08D695E6986", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-dock", - "codepoint": "F011F", - "aliases": [ - "mobile-phone-dock", - "smartphone-dock" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "5B692392-DA8F-40F2-948F-D81832ABA465", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-information", - "codepoint": "F0F41", - "aliases": [ - "mobile-phone-information", - "smartphone-information" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "29BA2DA3-CED6-4D52-92EF-D9152F63B7AB", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-key", - "codepoint": "F094E", - "aliases": [ - "mobile-phone-key", - "smartphone-key" - ], - "styles": [ - "key" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "E29A590D-51B8-471B-B23B-E0A41046EDA6", - "baseIconId": "E29A590D-51B8-471B-B23B-E0A41046EDA6", - "name": "cellphone-link", - "codepoint": "F0121", - "aliases": [ - "mobile-phone-link", - "smartphone-link", - "devices" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "7E4265ED-151D-45CE-BDD2-08B6028B6006", - "baseIconId": "E29A590D-51B8-471B-B23B-E0A41046EDA6", - "name": "cellphone-link-off", - "codepoint": "F0122", - "aliases": [ - "mobile-phone-link-off", - "smartphone-link-off", - "phonelink-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "2261E999-4B3A-4540-BB30-B4C130137916", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-lock", - "codepoint": "F094F", - "aliases": [ - "phonelink-lock", - "mobile-phone-lock", - "smartphone-lock" - ], - "styles": [ - "lock" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Lock", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "487DEBB1-A270-44B5-A2B9-D7E11F32C0CC", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-marker", - "codepoint": "F183A", - "aliases": [ - "cellphone-location", - "cellphone-map", - "find-my-phone", - "cellphone-gps" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4C511E7E-D658-493D-B34B-B73A4DEE8FF9", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-message", - "codepoint": "F08D3", - "aliases": [ - "mobile-phone-message", - "smartphone-message" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "039B41EB-85E3-458B-9C51-AADE4C4071FE", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-message-off", - "codepoint": "F10D2", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Terren" - }, - { - "id": "A4EFE1A4-034F-473F-9076-D8DFF6167067", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-nfc", - "codepoint": "F0E90", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Automotive", - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "E036E842-B41C-410B-BF8A-85B10A7E26D0", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-nfc-off", - "codepoint": "F12D8", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2AD1736A-2142-4E3D-BA70-9CF8584C366D", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-off", - "codepoint": "F0950", - "aliases": [ - "mobile-phone-off", - "smartphone-off", - "mobile-off" - ], - "styles": [ - "off" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "B89607FB-8199-48B0-AF59-E048CAEB210B", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-play", - "codepoint": "F101F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "EC642A5A-34A2-4E29-85F1-60ACAA546FB1", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-remove", - "codepoint": "F094D", - "aliases": [ - "phonelink-erase", - "mobile-phone-erase", - "smartphone-erase", - "cellphone-erase" - ], - "styles": [ - "remove" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Michael Irigoyen" - }, - { - "id": "84F994FA-DF0C-4A5A-88F6-8A2AD1DC1189", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-screenshot", - "codepoint": "F0A35", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "E7458A8C-66F2-41D7-81AE-4B2B961DFE1A", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-settings", - "codepoint": "F0123", - "aliases": [ - "mobile-phone-settings", - "smartphone-settings", - "settings-cell" - ], - "styles": [ - "settings" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Settings", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "F5D685BD-7BA8-4F4C-8701-06F1B1E57064", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-sound", - "codepoint": "F0952", - "aliases": [ - "phonelink-ring", - "mobile-phone-sound", - "smartphone-sound" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "D89FFCD9-0592-4760-98C9-5EDDA77826F5", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-text", - "codepoint": "F08D2", - "aliases": [ - "mobile-phone-text", - "smartphone-text" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "071CA76A-0ED5-42CD-9BE9-46AFA9D5459E", - "baseIconId": "8898488F-1BE6-40A0-84B7-1C0832AA4754", - "name": "cellphone-wireless", - "codepoint": "F0815", - "aliases": [ - "mobile-phone-wireless", - "smartphone-wireless" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "BAC7F15C-844C-4FEB-A4C0-2CDF80738979", - "baseIconId": "BAC7F15C-844C-4FEB-A4C0-2CDF80738979", - "name": "centos", - "codepoint": "F111A", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2DBEB397-D80B-445D-A11E-7B8362CFBEF4", - "baseIconId": "2DBEB397-D80B-445D-A11E-7B8362CFBEF4", - "name": "certificate", - "codepoint": "F0124", - "aliases": [ - "diploma", - "seal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "6F755EB5-B2E1-413A-A919-3F0DCE69E48A", - "baseIconId": "2DBEB397-D80B-445D-A11E-7B8362CFBEF4", - "name": "certificate-outline", - "codepoint": "F1188", - "aliases": [ - "diploma-outline", - "seal-outline" - ], - "styles": [ - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "822CF3D7-FEB4-4988-A037-0866756D4ADE", - "baseIconId": "822CF3D7-FEB4-4988-A037-0866756D4ADE", - "name": "chair-rolling", - "codepoint": "F0F48", - "aliases": [ - "office-chair", - "study-chair" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "47FCC651-522C-4786-B518-91A03A721A90", - "baseIconId": "47FCC651-522C-4786-B518-91A03A721A90", - "name": "chair-school", - "codepoint": "F0125", - "aliases": [ - "desk", - "education", - "learn" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C0F0A8D1-34A5-462C-B417-733507042380", - "baseIconId": "C0F0A8D1-34A5-462C-B417-733507042380", - "name": "chandelier", - "codepoint": "F1793", - "aliases": [ - "ceiling-light", - "girandole", - "candelabra-lamp", - "suspended-light" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B5589411-20E7-4552-BEC5-A394068B23A7", - "baseIconId": "B5589411-20E7-4552-BEC5-A394068B23A7", - "name": "charity", - "codepoint": "F0C4F", - "aliases": [ - "super-chat-for-good" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2306EC7A-612C-4847-83D6-495CECA5AA5D", - "baseIconId": "B5589411-20E7-4552-BEC5-A394068B23A7", - "name": "charity-search", - "codepoint": "F1C82", - "aliases": [], - "styles": [ - "search" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Ryan Donahue" - }, - { - "id": "98939E5B-1528-4A2F-B35A-C37C60C75D93", - "baseIconId": "98939E5B-1528-4A2F-B35A-C37C60C75D93", - "name": "chart-arc", - "codepoint": "F0126", - "aliases": [ - "report-arc", - "widget-arc" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "00654F5E-1B8B-4BD7-933B-0BD65B2C9BAC", - "baseIconId": "00654F5E-1B8B-4BD7-933B-0BD65B2C9BAC", - "name": "chart-areaspline", - "codepoint": "F0127", - "aliases": [ - "report-areaspline", - "widget-areaspline", - "graph-areaspline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "C55BFF6F-469B-4D28-835B-537BED8DE99D", - "baseIconId": "00654F5E-1B8B-4BD7-933B-0BD65B2C9BAC", - "name": "chart-areaspline-variant", - "codepoint": "F0E91", - "aliases": [ - "report-areaspline-variant", - "widget-areaspline-variant", - "graph-areaspline-variant" - ], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "85D4DC49-5359-4867-A5D1-52C44699387F", - "baseIconId": "85D4DC49-5359-4867-A5D1-52C44699387F", - "name": "chart-bar", - "codepoint": "F0128", - "aliases": [ - "report-bar", - "widget-bar", - "graph-bar" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "FAA40519-5517-44DF-AF2E-30D07874BEB7", - "baseIconId": "85D4DC49-5359-4867-A5D1-52C44699387F", - "name": "chart-bar-stacked", - "codepoint": "F076A", - "aliases": [ - "report-bar-stacked", - "widget-bar-stacked", - "graph-bar-stacked" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "35760CC7-EBA2-4445-B88B-7E8224535BB7", - "baseIconId": "35760CC7-EBA2-4445-B88B-7E8224535BB7", - "name": "chart-bell-curve", - "codepoint": "F0C50", - "aliases": [ - "report-bell-curve", - "widget-bell-curve", - "graph-bell-curve" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D4E38BC9-5A85-4890-B3DD-92F3D263E26E", - "baseIconId": "35760CC7-EBA2-4445-B88B-7E8224535BB7", - "name": "chart-bell-curve-cumulative", - "codepoint": "F0FA7", - "aliases": [ - "report-bell-curve-cumulative", - "widget-bell-curve-cumulative", - "graph-bell-curve-cumulative" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "381420B2-B2EE-4E9F-9DEA-EA0C1F92A226", - "baseIconId": "381420B2-B2EE-4E9F-9DEA-EA0C1F92A226", - "name": "chart-box", - "codepoint": "F154D", - "aliases": [ - "poll-box", - "report-box", - "widget-box", - "graph-box" - ], - "styles": [ - "box" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "4115E465-01E5-4F3F-929A-81C239289B21", - "baseIconId": "381420B2-B2EE-4E9F-9DEA-EA0C1F92A226", - "name": "chart-box-outline", - "codepoint": "F154E", - "aliases": [ - "poll-box-outline", - "report-box-outline", - "widget-box-outline", - "graph-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "2F2AA4D1-DB33-4B54-8052-2A2EFCE59168", - "baseIconId": "381420B2-B2EE-4E9F-9DEA-EA0C1F92A226", - "name": "chart-box-plus-outline", - "codepoint": "F154F", - "aliases": [ - "report-box-plus-outline", - "widget-box-plus-outline", - "graph-box-plus-outline" - ], - "styles": [ - "box", - "outline", - "plus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "9D79A433-CF5A-45A2-971F-4FBF72DB9821", - "baseIconId": "9D79A433-CF5A-45A2-971F-4FBF72DB9821", - "name": "chart-bubble", - "codepoint": "F05E3", - "aliases": [ - "bubble-chart", - "report-bubble", - "widget-bubble" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "C7BED6AB-8D91-42EC-A22F-D4B922B0EB14", - "baseIconId": "C7BED6AB-8D91-42EC-A22F-D4B922B0EB14", - "name": "chart-donut", - "codepoint": "F07AF", - "aliases": [ - "chart-doughnut", - "data-usage", - "report-donut", - "widget-donut" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "FE9CBE2A-4D6F-4A1F-B817-26607BB9561B", - "baseIconId": "C7BED6AB-8D91-42EC-A22F-D4B922B0EB14", - "name": "chart-donut-variant", - "codepoint": "F07B0", - "aliases": [ - "chart-doughnut-variant", - "report-donut-variant", - "widget-donut-variant" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "A2839B3A-760A-4061-80CA-41B3FA5817E0", - "baseIconId": "A2839B3A-760A-4061-80CA-41B3FA5817E0", - "name": "chart-gantt", - "codepoint": "F066C", - "aliases": [ - "report-gantt", - "timeline", - "widget-gantt", - "roadmap" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "8DCC14D7-057F-4DA4-89B2-B26D6B6F0C00", - "baseIconId": "8DCC14D7-057F-4DA4-89B2-B26D6B6F0C00", - "name": "chart-histogram", - "codepoint": "F0129", - "aliases": [ - "report-histogram", - "widget-histogram", - "graph-histogram" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "D996574D-5B42-47C5-91D6-F86555C2FBC5", - "baseIconId": "D996574D-5B42-47C5-91D6-F86555C2FBC5", - "name": "chart-line", - "codepoint": "F012A", - "aliases": [ - "report-line", - "widget-line", - "graph-line" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "B53C0CF7-F923-409F-91C3-420513E44231", - "baseIconId": "D996574D-5B42-47C5-91D6-F86555C2FBC5", - "name": "chart-line-stacked", - "codepoint": "F076B", - "aliases": [ - "report-line-stacked", - "widget-line-stacked", - "graph-line-stacked" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Haley Halcyon" - }, - { - "id": "2FAF8E0B-5AB4-4914-A0A1-CECFFAF85427", - "baseIconId": "D996574D-5B42-47C5-91D6-F86555C2FBC5", - "name": "chart-line-variant", - "codepoint": "F07B1", - "aliases": [ - "show-chart", - "report-line-variant", - "widget-line-variant", - "graph-line-variant" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "746FB7AE-B8AC-4356-8B79-D95F54B410D7", - "baseIconId": "746FB7AE-B8AC-4356-8B79-D95F54B410D7", - "name": "chart-multiline", - "codepoint": "F08D4", - "aliases": [ - "report-multiline", - "widget-multiline", - "graph-multiline" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "42E3BF4B-FFE9-449F-AFEE-66F565602A9B", - "baseIconId": "42E3BF4B-FFE9-449F-AFEE-66F565602A9B", - "name": "chart-multiple", - "codepoint": "F1213", - "aliases": [ - "report-multiple", - "widget-multiple", - "graph-multiple" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "9C6B53C5-698B-4428-9738-A6700BF8698C", - "baseIconId": "9C6B53C5-698B-4428-9738-A6700BF8698C", - "name": "chart-pie", - "codepoint": "F012B", - "aliases": [ - "report-pie", - "widget-pie", - "graph-pie" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "B7CE40ED-002C-475A-ADAC-8110FE260F65", - "baseIconId": "B7CE40ED-002C-475A-ADAC-8110FE260F65", - "name": "chart-pie-outline", - "codepoint": "F1BDF", - "aliases": [ - "report-pie-outline", - "widget-pie-outline", - "graph-pie-outline" - ], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "42A6B073-CC7E-4539-9313-E60FAE81BC70", - "baseIconId": "42A6B073-CC7E-4539-9313-E60FAE81BC70", - "name": "chart-ppf", - "codepoint": "F1380", - "aliases": [ - "chart-production-possibility-frontier", - "report-ppf", - "widget-ppf", - "graph-ppf" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Simran" - }, - { - "id": "D0F312B5-8B3B-4E68-BF0B-691D4F129749", - "baseIconId": "D0F312B5-8B3B-4E68-BF0B-691D4F129749", - "name": "chart-sankey", - "codepoint": "F11DF", - "aliases": [ - "chart-snakey", - "report-sankey", - "widget-sankey", - "graph-sankey" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "5FA4943E-5956-4668-ADDD-984914DD745C", - "baseIconId": "D0F312B5-8B3B-4E68-BF0B-691D4F129749", - "name": "chart-sankey-variant", - "codepoint": "F11E0", - "aliases": [ - "chart-snakey-variant", - "report-sankey-variant", - "widget-sankey-variant", - "graph-sankey-variant" - ], - "styles": [ - "variant" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "C268C5A5-0D35-4963-9151-61D2C442015B", - "baseIconId": "C268C5A5-0D35-4963-9151-61D2C442015B", - "name": "chart-scatter-plot", - "codepoint": "F0E92", - "aliases": [ - "report-scatter-plot", - "widget-scatter-plot", - "graph-scatter-plot" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "852E3EF2-942E-42C5-87BB-E1193EBD3E0C", - "baseIconId": "C268C5A5-0D35-4963-9151-61D2C442015B", - "name": "chart-scatter-plot-hexbin", - "codepoint": "F066D", - "aliases": [ - "chart-scatterplot-hexbin", - "report-scatter-plot-hexbin", - "widget-scatter-plot-hexbin", - "graph-scatter-plot-hexbin" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "922A0C03-C46D-45E7-8B44-9D53F1292360", - "baseIconId": "922A0C03-C46D-45E7-8B44-9D53F1292360", - "name": "chart-timeline", - "codepoint": "F066E", - "aliases": [ - "report-timeline", - "widget-timeline", - "graph-timeline", - "roadmap" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "F41D980A-439A-4F1B-A3B7-850EB1A70416", - "baseIconId": "922A0C03-C46D-45E7-8B44-9D53F1292360", - "name": "chart-timeline-variant", - "codepoint": "F0E93", - "aliases": [ - "report-timeline-variant", - "widget-timeline-variant", - "graph-timeline-variant", - "report-line", - "widget-line", - "graph-line" - ], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "F2256261-8218-48B2-BACA-9E23E42EEC15", - "baseIconId": "F41D980A-439A-4F1B-A3B7-850EB1A70416", - "name": "chart-timeline-variant-shimmer", - "codepoint": "F15B6", - "aliases": [ - "report-timeline-variant-shimmer", - "widget-timeline-variant-shimmer", - "graph-timeline-variant-shimmer", - "report-line-shimmer", - "widget-line-shimmer", - "graph-line-shimmer" - ], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "B7E7AEAC-4A67-4C0F-8A4C-C0955AE5F655", - "baseIconId": "B7E7AEAC-4A67-4C0F-8A4C-C0955AE5F655", - "name": "chart-tree", - "codepoint": "F0E94", - "aliases": [ - "report-tree", - "widget-tree" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "ABA3B2FE-7270-466B-86F6-00A87B947F6F", - "baseIconId": "ABA3B2FE-7270-466B-86F6-00A87B947F6F", - "name": "chart-waterfall", - "codepoint": "F1918", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7FF15164-E575-4024-ABAC-A183179F0217", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat", - "codepoint": "F0B79", - "aliases": [ - "message", - "message-bubble", - "speak" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7E35E8CF-E958-43D7-9B28-072E3161618A", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-alert", - "codepoint": "F0B7A", - "aliases": [ - "chat-warning" - ], - "styles": [ - "alert" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "C0C2065A-8B0C-4DE2-AD4E-D909080FFB42", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-alert-outline", - "codepoint": "F12C9", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "45A636B1-89B7-45B8-B68A-65DB813B7927", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-minus", - "codepoint": "F1410", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "69E4B1D9-C479-47CB-8354-A61FCCC51A0B", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-minus-outline", - "codepoint": "F1413", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E6394813-3C45-4D08-A207-9008A2E5CECB", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-outline", - "codepoint": "F0EDE", - "aliases": [ - "message-outline", - "message-bubble-outline", - "speak-outline" - ], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "25FEEB21-3351-4743-994B-1DA08DEAB2B7", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-plus", - "codepoint": "F140F", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F9BDF971-6385-4B8F-98AD-B3FE8D376855", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-plus-outline", - "codepoint": "F1412", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "95003FC4-C655-4687-AF82-660A49B95978", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-processing", - "codepoint": "F0B7B", - "aliases": [ - "chat-typing" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F753E08E-F7C9-4BAF-8647-9328D56D1837", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-processing-outline", - "codepoint": "F12CA", - "aliases": [ - "chat-typing-outline" - ], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8B7833C6-EB36-4F0C-A554-AF7189A7AB34", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-question", - "codepoint": "F1738", - "aliases": [ - "chat-help" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "7EC5A46D-1E6A-475C-A76F-19F9F4B9CD90", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-question-outline", - "codepoint": "F1739", - "aliases": [ - "chat-help-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3C021F95-3463-45CD-9908-A0D84B2793FB", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-remove", - "codepoint": "F1411", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4D147E9B-52BB-446B-8355-0CEA377C0631", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-remove-outline", - "codepoint": "F1414", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4B555315-27A3-4DD2-8A85-0F05260CDA33", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-sleep", - "codepoint": "F12D1", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "ABE1573F-24A9-4AC1-9ADB-6A9A32FB10AA", - "baseIconId": "7FF15164-E575-4024-ABAC-A183179F0217", - "name": "chat-sleep-outline", - "codepoint": "F12D2", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check", - "codepoint": "F012C", - "aliases": [ - "tick", - "done", - "success" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "48BA3B7B-1EF7-4160-A0BB-54EBCF999A13", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-all", - "codepoint": "F012D", - "aliases": [ - "tick-all", - "done-all", - "check-multiple", - "checks", - "ticks" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2070D6C6-EC09-4507-BE0A-07BFFFAF6DFB", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-bold", - "codepoint": "F0E1E", - "aliases": [ - "check-thick", - "success-thick", - "success-bold" - ], - "styles": [ - "bold" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "93D7B6DC-17D2-4A2B-B787-79E2E8BEF304", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-circle", - "codepoint": "F05E0", - "aliases": [ - "tick-circle", - "success-circle" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "F609EE7E-AAB4-4CE7-A002-D0F7ECF89609", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-circle-outline", - "codepoint": "F05E1", - "aliases": [ - "tick-circle-outline", - "success-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "64E327CF-3FCB-4742-AB82-789B2C27D31B", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-decagram", - "codepoint": "F0791", - "aliases": [ - "verified", - "decagram-check", - "approve", - "approval", - "tick-decagram" - ], - "styles": [ - "variant" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "1CAE9177-18C6-497A-B6B9-900C00A14D0E", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-decagram-outline", - "codepoint": "F1740", - "aliases": [ - "approve", - "approval", - "verified" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "F1CE2683-FE3F-4AA1-89A2-A935D6FD403C", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-network", - "codepoint": "F0C53", - "aliases": [ - "tick-network" - ], - "styles": [ - "network" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "98A3D662-2D11-40DB-8557-E1DD0E877091", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-network-outline", - "codepoint": "F0C54", - "aliases": [ - "tick-network-outline" - ], - "styles": [ - "network", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "38BFE155-0352-4907-A578-B5D0D7F5B78D", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-outline", - "codepoint": "F0855", - "aliases": [ - "done-outline", - "tick-outline", - "sucess-outline" - ], - "styles": [ - "outline" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "862B14E6-BA7A-4736-8047-1C836B2F4EC1", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-underline", - "codepoint": "F0E1F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4B7477D9-418A-40E7-811A-50DFFEA14A03", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-underline-circle", - "codepoint": "F0E20", - "aliases": [], - "styles": [ - "circle", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8C448942-B521-4C50-B8AD-0233EF30B12C", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "check-underline-circle-outline", - "codepoint": "F0E21", - "aliases": [], - "styles": [ - "circle", - "outline", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F35E17AA-A0E8-4AEE-9504-6DC07F3ACEAD", - "baseIconId": "F35E17AA-A0E8-4AEE-9504-6DC07F3ACEAD", - "name": "checkbook", - "codepoint": "F0A9D", - "aliases": [ - "chequebook", - "cheque-book" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Google" - }, - { - "id": "E1AF54E0-A2C9-41D4-89E0-62CD301F4B71", - "baseIconId": "F35E17AA-A0E8-4AEE-9504-6DC07F3ACEAD", - "name": "checkbook-arrow-left", - "codepoint": "F1C1D", - "aliases": [ - "chequebook-arrow-left" - ], - "styles": [ - "arrow" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "1EE03F8D-8B51-464B-84DE-6079644BA583", - "baseIconId": "F35E17AA-A0E8-4AEE-9504-6DC07F3ACEAD", - "name": "checkbook-arrow-right", - "codepoint": "F1C1E", - "aliases": [ - "chequebook-arrow-right" - ], - "styles": [ - "arrow" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-blank", - "codepoint": "F012E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "22ECB099-6A57-4DA8-9E42-0E3D8000C003", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-blank-badge", - "codepoint": "F1176", - "aliases": [ - "checkbox-blank-notification", - "app-notification", - "app-badge" - ], - "styles": [ - "badge" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Notification", - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "219B8956-E48B-4D11-9257-422E563955DB", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-blank-badge-outline", - "codepoint": "F0117", - "aliases": [ - "checkbox-blank-notification-outline", - "app-notification-outline", - "app-badge-outline" - ], - "styles": [ - "badge", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification", - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F031DE59-CC30-47BF-B689-BC993893B03A", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-blank-circle", - "codepoint": "F012F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "7C094780-770D-44B6-981C-C701784192D6", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-blank-circle-outline", - "codepoint": "F0130", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "8F505717-7778-4909-81E9-0714F01B44AF", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-blank-off", - "codepoint": "F12EC", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "06F6526C-6D2A-45F5-A5DF-46860DE27EAC", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-blank-off-outline", - "codepoint": "F12ED", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C7D0E43D-6393-429B-BDCE-B522419B7B3D", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-blank-outline", - "codepoint": "F0131", - "aliases": [ - "check-box-outline-blank", - "maximize" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "EFD12742-D508-4531-A9A4-EDCF3148C748", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-intermediate", - "codepoint": "F0856", - "aliases": [ - "checkbox-indeterminate" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Richins" - }, - { - "id": "409261FA-D055-4E16-88A0-94C31667F218", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-intermediate-variant", - "codepoint": "F1B54", - "aliases": [ - "checkbox-indeterminate-variant" - ], - "styles": [ - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Andy Giesen" - }, - { - "id": "C3E50D88-07AB-491F-B21E-9AA11A1E5886", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-marked", - "codepoint": "F0132", - "aliases": [ - "check-box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "4336ADDD-7A8E-46E7-A886-3873CCCFD3DA", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-marked-circle", - "codepoint": "F0133", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "F55DDDD9-41D3-477B-A513-DD6CF2487E0B", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-marked-circle-auto-outline", - "codepoint": "F1C26", - "aliases": [ - "task-auto", - "todo-auto" - ], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Jeff Anders" - }, - { - "id": "53428253-C1B2-47CD-BBC8-7069E7697FEF", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-marked-circle-minus-outline", - "codepoint": "F1C27", - "aliases": [ - "todo-minus", - "task-minus" - ], - "styles": [ - "minus", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Jeff Anders" - }, - { - "id": "7DC53566-5640-4124-A2C2-5070D7FBA591", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-marked-circle-outline", - "codepoint": "F0134", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "488DC51C-ABAF-4017-885B-84D3BBDE4B42", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-marked-circle-plus-outline", - "codepoint": "F1927", - "aliases": [ - "task-plus", - "task-add", - "todo-plus", - "todo-add" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Teodor Sandu" - }, - { - "id": "AB384DA7-C0DA-4A68-96EA-FC54BF0EDED1", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-marked-outline", - "codepoint": "F0135", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "2B01AE9D-AFA4-4CDA-82BD-21076D27C006", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-multiple-blank", - "codepoint": "F0136", - "aliases": [ - "checkboxes-blank" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Austin Andrews" - }, - { - "id": "0AE5C836-2A43-4706-81C5-5053A73B9CAA", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-multiple-blank-circle", - "codepoint": "F063B", - "aliases": [ - "checkboxes-blank-circle" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Simran" - }, - { - "id": "CCBAD6F8-5D3D-420A-94AF-CC85AA12397E", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-multiple-blank-circle-outline", - "codepoint": "F063C", - "aliases": [ - "checkboxes-blank-circle-outline" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Simran" - }, - { - "id": "CA74F33C-3AEE-4EA9-93B4-643099DFD92D", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-multiple-blank-outline", - "codepoint": "F0137", - "aliases": [ - "checkboxes-blank-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Austin Andrews" - }, - { - "id": "4F160BFE-433B-49D1-B2DC-E7F71AF7070B", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-multiple-marked", - "codepoint": "F0138", - "aliases": [ - "checkboxes-marked" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Austin Andrews" - }, - { - "id": "85C35F15-1AC0-407B-BCBF-AD79B6E6DDEA", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-multiple-marked-circle", - "codepoint": "F063D", - "aliases": [ - "checkboxes-marked-circle" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Simran" - }, - { - "id": "5158D0E3-0E77-4CC3-A9A4-727825812D00", - "baseIconId": "F031DE59-CC30-47BF-B689-BC993893B03A", - "name": "checkbox-multiple-marked-circle-outline", - "codepoint": "F063E", - "aliases": [ - "checkboxes-marked-circle-outline" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Simran" - }, - { - "id": "16BECBE7-BD8E-4301-B5CB-5EE534FBDAD3", - "baseIconId": "2B75FE22-5209-4DF8-B16A-B6F74272337B", - "name": "checkbox-multiple-marked-outline", - "codepoint": "F0139", - "aliases": [ - "checkboxes-marked-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Austin Andrews" - }, - { - "id": "E0A0FF12-A5AD-40E3-B286-8958154F0537", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "checkbox-multiple-outline", - "codepoint": "F0C51", - "aliases": [ - "check-boxes-outline", - "tick-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Richins" - }, - { - "id": "EA5B8CC8-FFD6-4128-AC25-DEDCF1097A34", - "baseIconId": "F789CE44-7EA3-4E97-88FB-BEC22EB2030C", - "name": "checkbox-outline", - "codepoint": "F0C52", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Richins" - }, - { - "id": "A5F7D4AF-C7A3-4F38-B21B-B9F3E68770DE", - "baseIconId": "A5F7D4AF-C7A3-4F38-B21B-B9F3E68770DE", - "name": "checkerboard", - "codepoint": "F013A", - "aliases": [ - "raster" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "925C7A7F-E7D0-4260-B131-D96FF2F7B8DB", - "baseIconId": "A5F7D4AF-C7A3-4F38-B21B-B9F3E68770DE", - "name": "checkerboard-minus", - "codepoint": "F1202", - "aliases": [ - "raster-minus" - ], - "styles": [ - "minus" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "020A5F88-EE7B-4FE7-ADC7-999A0ADB16EE", - "baseIconId": "A5F7D4AF-C7A3-4F38-B21B-B9F3E68770DE", - "name": "checkerboard-plus", - "codepoint": "F1201", - "aliases": [ - "raster-plus" - ], - "styles": [ - "plus" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CDCAA6DE-0885-474F-992F-6A7F46563A15", - "baseIconId": "A5F7D4AF-C7A3-4F38-B21B-B9F3E68770DE", - "name": "checkerboard-remove", - "codepoint": "F1203", - "aliases": [ - "raster-remove" - ], - "styles": [ - "remove" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "618E3DC0-F776-4CFF-BE9F-D6A23D580F5B", - "baseIconId": "618E3DC0-F776-4CFF-BE9F-D6A23D580F5B", - "name": "cheese", - "codepoint": "F12B9", - "aliases": [ - "swiss-cheese" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Thomas de Saint-Exup\u00e9ry" - }, - { - "id": "7EF3B22A-CA40-400B-AA25-00B9A6777651", - "baseIconId": "618E3DC0-F776-4CFF-BE9F-D6A23D580F5B", - "name": "cheese-off", - "codepoint": "F13EE", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E22BD22B-9748-4CA8-A748-B5598B08A7DE", - "baseIconId": "E22BD22B-9748-4CA8-A748-B5598B08A7DE", - "name": "chef-hat", - "codepoint": "F0B7C", - "aliases": [ - "toque", - "cook" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Simran" - }, - { - "id": "7916D1CB-2F73-4C27-8A6B-B14D593F8F59", - "baseIconId": "7916D1CB-2F73-4C27-8A6B-B14D593F8F59", - "name": "chemical-weapon", - "codepoint": "F013B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "3B0E25CE-ADB0-4601-BFBD-87C7B6D63E7F", - "baseIconId": "3B0E25CE-ADB0-4601-BFBD-87C7B6D63E7F", - "name": "chess-bishop", - "codepoint": "F085C", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "073FDF74-5305-45AB-8AC3-42A0FE6BBF9C", - "baseIconId": "073FDF74-5305-45AB-8AC3-42A0FE6BBF9C", - "name": "chess-king", - "codepoint": "F0857", - "aliases": [ - "crown", - "royalty" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "99D5E230-2040-4811-BEF1-17B867DA5F75", - "baseIconId": "99D5E230-2040-4811-BEF1-17B867DA5F75", - "name": "chess-knight", - "codepoint": "F0858", - "aliases": [ - "chess-horse" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "EDF049A9-1170-411B-923E-D19BD5EADB92", - "baseIconId": "EDF049A9-1170-411B-923E-D19BD5EADB92", - "name": "chess-pawn", - "codepoint": "F0859", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "0B9D0593-D546-4DDD-AEB1-289943FB12AE", - "baseIconId": "0B9D0593-D546-4DDD-AEB1-289943FB12AE", - "name": "chess-queen", - "codepoint": "F085A", - "aliases": [ - "crown", - "royalty" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "D1FA251F-4332-4BA9-8742-F194C0B0BF28", - "baseIconId": "D1FA251F-4332-4BA9-8742-F194C0B0BF28", - "name": "chess-rook", - "codepoint": "F085B", - "aliases": [ - "chess-castle", - "chess-tower" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "74ACC301-AA62-492B-92C1-8021BDD89A02", - "baseIconId": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "name": "chevron-double-down", - "codepoint": "F013C", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "76350FC3-7629-4247-9D09-8AB9AF9BC6CF", - "baseIconId": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "name": "chevron-double-left", - "codepoint": "F013D", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "E4B5D36C-A663-4D53-BE18-09393497556F", - "baseIconId": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "name": "chevron-double-right", - "codepoint": "F013E", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "53D302C9-3A0D-4104-967E-21D174E3C0B2", - "baseIconId": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "name": "chevron-double-up", - "codepoint": "F013F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "baseIconId": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "name": "chevron-down", - "codepoint": "F0140", - "aliases": [ - "expand-more", - "keyboard-arrow-down" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "E2EFD734-594F-40ED-A263-3DFBB8E1B381", - "baseIconId": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "name": "chevron-down-box", - "codepoint": "F09D6", - "aliases": [], - "styles": [ - "box" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Form", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D299D24D-E65D-4A1F-953B-0AC936D25C58", - "baseIconId": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "name": "chevron-down-box-outline", - "codepoint": "F09D7", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Form", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F312962F-0720-4145-89EA-6E3E9D60131D", - "baseIconId": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "name": "chevron-down-circle", - "codepoint": "F0B26", - "aliases": [], - "styles": [ - "circle" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "3968656C-5ADA-44B4-AFAD-9437B1363C5D", - "baseIconId": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "name": "chevron-down-circle-outline", - "codepoint": "F0B27", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "baseIconId": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "name": "chevron-left", - "codepoint": "F0141", - "aliases": [ - "keyboard-arrow-left", - "navigate-before" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "7DC0F3E7-2E3F-49BD-874D-B17250FBA187", - "baseIconId": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "name": "chevron-left-box", - "codepoint": "F09D8", - "aliases": [], - "styles": [ - "box" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "22B3AE2E-C625-4325-8FBE-A98AC004CEE6", - "baseIconId": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "name": "chevron-left-box-outline", - "codepoint": "F09D9", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "842FCAE6-0FE2-495D-980C-1ABA85257C77", - "baseIconId": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "name": "chevron-left-circle", - "codepoint": "F0B28", - "aliases": [], - "styles": [ - "circle" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "DDBD357B-6E94-483F-9A09-0E2131FA8533", - "baseIconId": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "name": "chevron-left-circle-outline", - "codepoint": "F0B29", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "baseIconId": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "name": "chevron-right", - "codepoint": "F0142", - "aliases": [ - "keyboard-arrow-right", - "navigate-next" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "D9C230F8-C44C-4CE7-8DEF-891A531A1619", - "baseIconId": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "name": "chevron-right-box", - "codepoint": "F09DA", - "aliases": [], - "styles": [ - "box" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E96D0BE5-31CA-4C47-B91A-B8FB9FCB5D15", - "baseIconId": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "name": "chevron-right-box-outline", - "codepoint": "F09DB", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A0F96469-2C19-48B6-A054-3F48656CE24F", - "baseIconId": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "name": "chevron-right-circle", - "codepoint": "F0B2A", - "aliases": [], - "styles": [ - "circle" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "9AA7CA11-776D-413A-A08F-9E21AF0F963B", - "baseIconId": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "name": "chevron-right-circle-outline", - "codepoint": "F0B2B", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "D922FD44-139A-4DEE-92A6-1BFCA39C8461", - "baseIconId": "84FE90C1-076D-4EA1-B56F-4C2582A39AC3", - "name": "chevron-triple-down", - "codepoint": "F0DB9", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "09E1A31D-448C-42D3-A220-2ACBD0D8B211", - "baseIconId": "CF5607F2-4106-4D47-8FE6-B8F5A16E6D98", - "name": "chevron-triple-left", - "codepoint": "F0DBA", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F80C6B02-D422-44FE-9199-B9E12EF523C8", - "baseIconId": "A6D25AD4-462B-4185-B739-FBFCD3ACF3C3", - "name": "chevron-triple-right", - "codepoint": "F0DBB", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C04D4C82-E95C-45E1-8582-89A24536026F", - "baseIconId": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "name": "chevron-triple-up", - "codepoint": "F0DBC", - "aliases": [ - "rank" - ], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "baseIconId": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "name": "chevron-up", - "codepoint": "F0143", - "aliases": [ - "expand-less", - "keyboard-arrow-up", - "caret" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow", - "Math" - ], - "author": "Google" - }, - { - "id": "C721C684-43CC-4B3B-B91A-A574D5215FF3", - "baseIconId": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "name": "chevron-up-box", - "codepoint": "F09DC", - "aliases": [], - "styles": [ - "box" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7660602A-34FB-4A1A-818B-A086CA1783BD", - "baseIconId": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "name": "chevron-up-box-outline", - "codepoint": "F09DD", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "981C36F0-6F33-4A92-B20E-66E70BF474FA", - "baseIconId": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "name": "chevron-up-circle", - "codepoint": "F0B2C", - "aliases": [], - "styles": [ - "circle" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "625319CF-2277-486A-9FB6-902F3F3FE212", - "baseIconId": "AECCC94F-C38A-4A97-879E-ACD09F89169A", - "name": "chevron-up-circle-outline", - "codepoint": "F0B2D", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "SarinManS" - }, - { - "id": "E39C0619-71BD-4EE7-932C-2025F7174550", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-alert", - "codepoint": "F17EA", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "783609FD-2EDD-4273-9524-6FB6CAD6697B", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-alert-outline", - "codepoint": "F17EB", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E868226C-7BE8-4A22-8A9A-8E040004016A", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-hot", - "codepoint": "F07B2", - "aliases": [ - "chilli-hot", - "pepper", - "spicy" - ], - "styles": [ - "multiple" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Andy Martinez" - }, - { - "id": "AB432B2A-F29D-4F6D-B6E3-46C19C544B40", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-hot-outline", - "codepoint": "F17EC", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C9DA0BF5-09DD-46A9-AE62-1612B26F0BB1", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-medium", - "codepoint": "F07B3", - "aliases": [ - "chilli-medium", - "pepper", - "spicy" - ], - "styles": [ - "multiple" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Andy Martinez" - }, - { - "id": "6C57AD0C-11EA-4710-87D4-462B94821A4C", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-medium-outline", - "codepoint": "F17ED", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3CE5B420-F103-47EA-800C-A4D145B89508", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-mild", - "codepoint": "F07B4", - "aliases": [ - "chilli-mild", - "pepper", - "spicy" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Andy Martinez" - }, - { - "id": "21ECB1D3-C620-4FEF-A6A9-4210D859DE1F", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-mild-outline", - "codepoint": "F17EE", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F92E010E-F45D-44CE-8F13-F6419010B0D2", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-off", - "codepoint": "F1467", - "aliases": [ - "chilli-off", - "pepper-off", - "spicy-off" - ], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "64F2DC11-3647-4EEC-AADF-3EAE1AA47B65", - "baseIconId": "3CE5B420-F103-47EA-800C-A4D145B89508", - "name": "chili-off-outline", - "codepoint": "F17EF", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A535271B-1114-44AD-9D9D-1984905026FF", - "baseIconId": "A535271B-1114-44AD-9D9D-1984905026FF", - "name": "chip", - "codepoint": "F061A", - "aliases": [ - "integrated-circuit" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "82E4FDFE-C9C8-4087-ABCC-DF51F760379A", - "baseIconId": "82E4FDFE-C9C8-4087-ABCC-DF51F760379A", - "name": "church", - "codepoint": "F0144", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Religion", - "Places" - ], - "author": "Google" - }, - { - "id": "4430C123-70EA-4AC2-BEC4-5919786D4EBC", - "baseIconId": "82E4FDFE-C9C8-4087-ABCC-DF51F760379A", - "name": "church-outline", - "codepoint": "F1B02", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "4E50E8E9-4283-4B08-9AB2-6283088898BB", - "baseIconId": "4E50E8E9-4283-4B08-9AB2-6283088898BB", - "name": "cigar", - "codepoint": "F1189", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BC451ECE-B21F-43F6-AE1C-D9E3614E4406", - "baseIconId": "4E50E8E9-4283-4B08-9AB2-6283088898BB", - "name": "cigar-off", - "codepoint": "F141B", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle", - "codepoint": "F0765", - "aliases": [ - "lens" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "3E57AA64-D7C2-4C4E-BE87-58A6D775BC21", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-box", - "codepoint": "F15DC", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4A709F16-7813-44DA-AB19-EBEBB4A6718A", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-box-outline", - "codepoint": "F15DD", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "02A447DB-D9DB-4568-B839-841F1401FD31", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-double", - "codepoint": "F0E95", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "ginlime" - }, - { - "id": "7C0E615F-A0DC-4689-A094-4E59D27675B3", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-edit-outline", - "codepoint": "F08D5", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Google" - }, - { - "id": "6262A121-B53E-4429-8E8E-F05A6820EDC7", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-expand", - "codepoint": "F0E96", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "901AA3C4-B9A4-4764-ABA4-FD51FA6D68ED", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-half", - "codepoint": "F1395", - "aliases": [ - "brightness-half" - ], - "styles": [ - "variant" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Simran" - }, - { - "id": "D066B111-84BC-4682-864B-CAFEE4A93F66", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-half-full", - "codepoint": "F1396", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Simran" - }, - { - "id": "AB8D0574-712C-4403-A5A5-51E16C081605", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-medium", - "codepoint": "F09DE", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C05A4C2F-8128-474F-B204-D782A332CB73", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-multiple", - "codepoint": "F0B38", - "aliases": [ - "coins" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "BAD0A147-6CA0-4BCF-88DF-8E8A4C247B0E", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-multiple-outline", - "codepoint": "F0695", - "aliases": [ - "toll", - "coins-outline" - ], - "styles": [ - "outline" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "5DC46127-B07A-4E2B-B3BA-A98C0D2942F4", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-off-outline", - "codepoint": "F10D3", - "aliases": [ - "null-off" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "912F4CEF-F852-49C4-B9BB-A6504988C11E", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-opacity", - "codepoint": "F1853", - "aliases": [ - "circle-transparent" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Shape", - "Drawing \/ Art" - ], - "author": "Michael Irigoyen" - }, - { - "id": "00E1BEF8-DD84-4DCE-BE3C-8AA411DCE5FD", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-outline", - "codepoint": "F0766", - "aliases": [ - "null" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "40F6544B-8BBE-44AD-85A2-FDFA1AD8091E", - "baseIconId": "40F6544B-8BBE-44AD-85A2-FDFA1AD8091E", - "name": "circle-slice-1", - "codepoint": "F0A9E", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "520A592A-21BB-4D8C-835F-BEF1EF0B73D0", - "baseIconId": "520A592A-21BB-4D8C-835F-BEF1EF0B73D0", - "name": "circle-slice-2", - "codepoint": "F0A9F", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "FE0AA2ED-07F6-4BC4-876E-1FA6BA283130", - "baseIconId": "FE0AA2ED-07F6-4BC4-876E-1FA6BA283130", - "name": "circle-slice-3", - "codepoint": "F0AA0", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "12C46927-0235-4A3A-965B-287879A4C2E3", - "baseIconId": "12C46927-0235-4A3A-965B-287879A4C2E3", - "name": "circle-slice-4", - "codepoint": "F0AA1", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "4AA85ADE-6180-453B-A62E-2819E92E779A", - "baseIconId": "4AA85ADE-6180-453B-A62E-2819E92E779A", - "name": "circle-slice-5", - "codepoint": "F0AA2", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "658050F8-5C9A-4C5C-BE99-8EB492524586", - "baseIconId": "658050F8-5C9A-4C5C-BE99-8EB492524586", - "name": "circle-slice-6", - "codepoint": "F0AA3", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "A051B0B2-A0CB-4E51-87F8-242EA4A4777F", - "baseIconId": "A051B0B2-A0CB-4E51-87F8-242EA4A4777F", - "name": "circle-slice-7", - "codepoint": "F0AA4", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "CB0FC186-2B53-4802-A9DB-98CF07B78CF1", - "baseIconId": "CB0FC186-2B53-4802-A9DB-98CF07B78CF1", - "name": "circle-slice-8", - "codepoint": "F0AA5", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "0EA34D8C-1A02-4A92-8293-991702ABD065", - "baseIconId": "59803983-F6CE-4D40-B83C-36D42C9464A9", - "name": "circle-small", - "codepoint": "F09DF", - "aliases": [ - "bullet", - "multiplication", - "dot" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4CC37629-C3B9-4F3B-BA36-4B93A3CDE297", - "baseIconId": "4CC37629-C3B9-4F3B-BA36-4B93A3CDE297", - "name": "circular-saw", - "codepoint": "F0E22", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Augustin Ursu" - }, - { - "id": "5A5AC571-1818-45D0-8259-A9177DBED615", - "baseIconId": "5A5AC571-1818-45D0-8259-A9177DBED615", - "name": "city", - "codepoint": "F0146", - "aliases": [ - "location-city" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Google" - }, - { - "id": "830F6E98-B337-4E3C-A990-AA44622F4E78", - "baseIconId": "5A5AC571-1818-45D0-8259-A9177DBED615", - "name": "city-switch", - "codepoint": "F1C28", - "aliases": [ - "city-swap" - ], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Jeff Anders" - }, - { - "id": "2F6976DF-1008-496D-802D-917F6EA5F7DB", - "baseIconId": "5A5AC571-1818-45D0-8259-A9177DBED615", - "name": "city-variant", - "codepoint": "F0A36", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Michael Richins" - }, - { - "id": "1DECCCEC-93F2-4BD8-BEFD-370D5020DCDB", - "baseIconId": "5A5AC571-1818-45D0-8259-A9177DBED615", - "name": "city-variant-outline", - "codepoint": "F0A37", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Michael Richins" - }, - { - "id": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard", - "codepoint": "F0147", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C45D118E-4FFA-42E5-A18B-B8A7B58BF42F", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-account", - "codepoint": "F0148", - "aliases": [ - "clipboard-user", - "assignment-ind", - "clipboard-person" - ], - "styles": [ - "account" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "80D8F0AA-0B3A-47ED-B342-8681E0DD7450", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-account-outline", - "codepoint": "F0C55", - "aliases": [ - "clipboard-user-outline", - "clipboard-person-outline", - "assignment-ind-outline" - ], - "styles": [ - "account", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "James Coyle" - }, - { - "id": "57AC4C5E-B2AB-42B5-9826-BCFEACCB2E7C", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-alert", - "codepoint": "F0149", - "aliases": [ - "clipboard-warning", - "assignment-late" - ], - "styles": [ - "alert" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "321F2AC5-C710-4AD5-A493-279435DF0074", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-alert-outline", - "codepoint": "F0CF7", - "aliases": [ - "clipboard-warning-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "James Coyle" - }, - { - "id": "863E0318-495E-437A-B22B-3C1274D108E6", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-down", - "codepoint": "F014A", - "aliases": [ - "assignment-returned", - "clipboard-arrow-bottom" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0FB11B14-8890-432D-A4B0-7D359DE681D8", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-down-outline", - "codepoint": "F0C56", - "aliases": [ - "assignment-returned-outline", - "clipboard-arrow-bottom-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1D6DD9E5-61EA-40E6-A19A-EF4BA71B0FC0", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-left", - "codepoint": "F014B", - "aliases": [ - "assignment-return" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "38CF4CD8-7203-4E66-BAD3-A3A7B4900BD4", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-left-outline", - "codepoint": "F0CF8", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "James Coyle" - }, - { - "id": "4BD76170-F83F-4145-982F-3F1EBAD22D59", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-right", - "codepoint": "F0CF9", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "James Coyle" - }, - { - "id": "7DB95067-893D-4472-8D74-79E521AE0DD1", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-right-outline", - "codepoint": "F0CFA", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "James Coyle" - }, - { - "id": "5F084570-4F64-4A94-A762-602350ACEDAA", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-up", - "codepoint": "F0C57", - "aliases": [ - "clipboard-arrow-top" - ], - "styles": [ - "arrow" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "James Coyle" - }, - { - "id": "15ED4DA3-08C5-4913-9FEB-A88CEED7DDE9", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-arrow-up-outline", - "codepoint": "F0C58", - "aliases": [ - "clipboard-arrow-top-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "James Coyle" - }, - { - "id": "2FA574EF-C285-465F-A254-868506FA4273", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-check", - "codepoint": "F014E", - "aliases": [ - "assignment-turned-in", - "clipboard-tick" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "6DBE3F30-C444-443C-A515-75657C468338", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-check-multiple", - "codepoint": "F1263", - "aliases": [], - "styles": [ - "check", - "multiple" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "2FB7020B-64CC-4CA8-A46E-0D3E5B65A697", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-check-multiple-outline", - "codepoint": "F1264", - "aliases": [], - "styles": [ - "check", - "multiple", - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "6A0DFB73-2DBF-4D3C-8C6B-2B4758B11782", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-check-outline", - "codepoint": "F08A8", - "aliases": [ - "clipboard-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "James Coyle" - }, - { - "id": "E276DDBC-9E61-4CE3-8168-6E896E6ADD98", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-clock", - "codepoint": "F16E2", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D9132053-ADBE-417D-A00B-207B8F1C85A7", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-clock-outline", - "codepoint": "F16E3", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BA08B631-B169-4C0F-A99B-BBECC9F18CAA", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-edit", - "codepoint": "F14E5", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Alison Moura" - }, - { - "id": "E316EB8B-FF99-4B85-AE09-C7E5A9656738", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-edit-outline", - "codepoint": "F14E6", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Alison Moura" - }, - { - "id": "CE6923D5-218F-4817-B904-E03A842CE696", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-file", - "codepoint": "F1265", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "frankgrinaert" - }, - { - "id": "B9BE1636-2925-4AA2-B21A-1EE197FA7774", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-file-outline", - "codepoint": "F1266", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "frankgrinaert" - }, - { - "id": "5A450EF8-D2F0-4F32-8D10-A606DD847E19", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-flow", - "codepoint": "F06C8", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "5EA9A77D-401F-48C8-B804-EE8B9A7CB229", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-flow-outline", - "codepoint": "F1117", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "754100C6-667F-49AD-A5C5-0FF2AD94C6DF", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-list", - "codepoint": "F10D4", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9169E4CD-137E-4743-96A7-80B5764630FF", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-list-outline", - "codepoint": "F10D5", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "kevin-hens" - }, - { - "id": "7C5309A2-5DA1-4393-8846-0CF5CB43BF88", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-minus", - "codepoint": "F1618", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F83888C2-F7CF-423E-9101-2D9A49A6597B", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-minus-outline", - "codepoint": "F1619", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8CD0EB09-AC6D-43C7-8DD6-4F2FD9A1DBC5", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-multiple", - "codepoint": "F1267", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "81D9B376-8054-4DB5-BA79-274E4B3EF79D", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-multiple-outline", - "codepoint": "F1268", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "376FB5C9-DF1A-455B-9824-5D0A3CE61481", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-off", - "codepoint": "F161A", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "86166B5D-05DD-423B-B10E-E67010AEBE58", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-off-outline", - "codepoint": "F161B", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "54F34575-7348-4032-B072-EC8F9A6C843D", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-outline", - "codepoint": "F014C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F0E26160-95CF-4270-8FD2-134391B88CA8", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-play", - "codepoint": "F0C59", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E78AF95D-A3B1-483C-9F46-B503AEF6B4C0", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-play-multiple", - "codepoint": "F1269", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "2FCD745F-4980-4CAA-A51D-94574CAB1DA4", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-play-multiple-outline", - "codepoint": "F126A", - "aliases": [], - "styles": [ - "multiple", - "outline", - "variant" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "B2D48D43-940B-4758-A9E1-00E13202B239", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-play-outline", - "codepoint": "F0C5A", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A5AA9DEA-AAAE-4C79-965F-6828F823E2CD", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-plus", - "codepoint": "F0751", - "aliases": [ - "clipboard-add" - ], - "styles": [ - "plus" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4662F629-FEF3-4F7A-A901-56FF827CF051", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-plus-outline", - "codepoint": "F131F", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8E3D93CC-DE0A-4828-AC9A-9A6CFD932978", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-pulse", - "codepoint": "F085D", - "aliases": [ - "clipboard-vitals" - ], - "styles": [ - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Simran" - }, - { - "id": "8D6CA1DD-35D6-4E8E-BDA0-6192728A24C4", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-pulse-outline", - "codepoint": "F085E", - "aliases": [ - "clipboard-vitals-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Simran" - }, - { - "id": "474C3746-90C6-456C-9B18-6101FFC8075B", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-remove", - "codepoint": "F161C", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "57C00F9A-7204-402F-9AF9-908A02C23681", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-remove-outline", - "codepoint": "F161D", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "785666E6-8CB0-4875-A289-1A9329614E69", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-search", - "codepoint": "F161E", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "9D8E08D1-6F72-4729-AF64-ED099D109B7D", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-search-outline", - "codepoint": "F161F", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "81453216-6EC0-4751-82A4-BFFF63B922FC", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text", - "codepoint": "F014D", - "aliases": [ - "assignment" - ], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EEFDB836-DFC2-43ED-9246-05B972EA2B57", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-clock", - "codepoint": "F18F9", - "aliases": [ - "clipboard-text-date", - "clipboard-text-time", - "clipboard-text-history" - ], - "styles": [ - "clock", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9A710A09-DB02-441E-A5E6-204937893D50", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-clock-outline", - "codepoint": "F18FA", - "aliases": [ - "clipboard-text-date-outline", - "clipboard-text-time-outline", - "clipboard-text-history-outline" - ], - "styles": [ - "clock", - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "37090A31-A50D-43AB-92C4-BFB2C17273E6", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-multiple", - "codepoint": "F126B", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "4FF17874-C828-4EA8-9F4D-BEAEB614D69F", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-multiple-outline", - "codepoint": "F126C", - "aliases": [], - "styles": [ - "multiple", - "outline", - "variant" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "237A2797-5013-4A50-9CB9-59FFEEC5BE4E", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-off", - "codepoint": "F1620", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A5B09C9E-6430-4F6E-BA1C-D855ED6AB74C", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-off-outline", - "codepoint": "F1621", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "9C5136D5-E614-4DBD-AB36-EBB044178B6D", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-outline", - "codepoint": "F0A38", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "15B53AD7-FB72-4D70-8F70-B2259281EA2B", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-play", - "codepoint": "F0C5B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A1587F0D-C189-4886-9CB0-FBA5E3FA70E6", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-play-outline", - "codepoint": "F0C5C", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "347494DF-0250-4F0E-9E64-23CB8F35B8C2", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-search", - "codepoint": "F1622", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1E23BABF-F9E8-42C6-9199-0B3B6C43C290", - "baseIconId": "423D4239-D8DC-4D8B-9365-9D51E2A0FDF7", - "name": "clipboard-text-search-outline", - "codepoint": "F1623", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6B346FB6-F563-4AC4-B769-06A143B42152", - "baseIconId": "6B346FB6-F563-4AC4-B769-06A143B42152", - "name": "clippy", - "codepoint": "F014F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Contributors" - }, - { - "id": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock", - "codepoint": "F0954", - "aliases": [ - "watch-later" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "A4250284-2784-405C-A62F-E6C546D66777", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-alert", - "codepoint": "F0955", - "aliases": [ - "clock-warning" - ], - "styles": [ - "alert" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "CB400FB2-95E5-4420-B579-80DCA5C0F8B0", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-alert-outline", - "codepoint": "F05CE", - "aliases": [ - "clock-warning" - ], - "styles": [ - "alert", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "46C840CA-A3F7-4293-8ABC-28C285723A8A", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-check", - "codepoint": "F0FA8", - "aliases": [], - "styles": [ - "check" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DC1289EA-B14C-403D-9A76-4C28CB042FAA", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-check-outline", - "codepoint": "F0FA9", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EFE4304F-7BAB-4DB6-846C-31B368CA3BDC", - "baseIconId": "EFE4304F-7BAB-4DB6-846C-31B368CA3BDC", - "name": "clock-digital", - "codepoint": "F0E97", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "2F115531-58CA-4BC0-A271-C8202C4ADE37", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-edit", - "codepoint": "F19BA", - "aliases": [], - "styles": [ - "edit" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Edit \/ Modify" - ], - "author": "Sidney Alcantara" - }, - { - "id": "E528826E-0ACC-494C-AFA3-B0AFF7FD802A", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-edit-outline", - "codepoint": "F19BB", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Edit \/ Modify" - ], - "author": "Sidney Alcantara" - }, - { - "id": "F7F5CA75-E8B5-45E1-B0BA-040F225D877D", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-end", - "codepoint": "F0151", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "111210EB-0EF4-4DCB-ABBD-6A75F15EEB44", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-fast", - "codepoint": "F0152", - "aliases": [ - "velocity" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "6483D8DB-4170-4104-8A69-40D28401EF4C", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-in", - "codepoint": "F0153", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "009901AA-479B-419A-89F8-DA4453B5991B", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-minus", - "codepoint": "F1863", - "aliases": [], - "styles": [ - "minus" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F7112A68-9EE1-4B5E-AD2B-30013EA7053A", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-minus-outline", - "codepoint": "F1864", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Dylan Oli" - }, - { - "id": "7C3F10AF-CB56-4A35-B22A-C833D5C823A3", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-out", - "codepoint": "F0154", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "E3A4F70D-92EF-4115-BBB3-3BE68A788F5D", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-outline", - "codepoint": "F0150", - "aliases": [ - "access-time", - "query-builder", - "schedule" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "60639801-D950-4C9E-86B7-E8C2928F356D", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-plus", - "codepoint": "F1861", - "aliases": [], - "styles": [ - "plus" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DCE6FA3E-EEB6-4AB9-B4D7-60F71B92A489", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-plus-outline", - "codepoint": "F1862", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Dylan Oli" - }, - { - "id": "6B8FD378-5837-45BF-A5A6-B94C37641451", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-remove", - "codepoint": "F1865", - "aliases": [], - "styles": [ - "remove" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "29131074-EFF5-4A47-88A2-D856CB92432F", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-remove-outline", - "codepoint": "F1866", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Dylan Oli" - }, - { - "id": "AA756E06-67A0-4182-8A32-CF4968219B68", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-star-four-points", - "codepoint": "F1C29", - "aliases": [ - "clock-auto" - ], - "styles": [ - "star" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Jeff Anders" - }, - { - "id": "ECD839D8-3E3A-4080-AE28-E15A82E0ACF2", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-star-four-points-outline", - "codepoint": "F1C2A", - "aliases": [ - "clock-auto-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Jeff Anders" - }, - { - "id": "85A4435A-CDCF-42BC-8F2C-B46EDF8820BD", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-start", - "codepoint": "F0155", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "A215B597-8863-41CD-93D7-3258F35E0323", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-eight", - "codepoint": "F1446", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BD5AEE68-BAA7-498A-9C16-E4BAEEC10758", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-eight-outline", - "codepoint": "F1452", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F00F4BD4-FA53-4F36-A6EF-20C61E728DE4", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-eleven", - "codepoint": "F1449", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A157DC0E-2973-49C5-83A6-A59B395000B0", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-eleven-outline", - "codepoint": "F1455", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5EADCD37-E186-4701-B55D-490373E248DE", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-five", - "codepoint": "F1443", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8F93B149-9B68-43A0-9DB6-BCE3AF32DA17", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-five-outline", - "codepoint": "F144F", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5850EAB7-9808-4FC7-B107-ECBC0D74321A", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-four", - "codepoint": "F1442", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3EB1620A-C31A-4570-A0CA-4D4B1194B5FC", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-four-outline", - "codepoint": "F144E", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DA361B2F-72DD-46ED-9920-558A9AD81B3B", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-nine", - "codepoint": "F1447", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B3B33DCF-9627-4286-8D43-674E066D5CF8", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-nine-outline", - "codepoint": "F1453", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FE16FC41-411F-423D-96AC-835A334051DF", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-one", - "codepoint": "F143F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CD2F6CA1-A725-4997-9EDF-7CDD3875997D", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-one-outline", - "codepoint": "F144B", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "814B2984-F25E-40EE-98E7-9CDCE300AA0C", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-seven", - "codepoint": "F1445", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0249D6C9-BACD-4514-96DB-6ABF4C8756C4", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-seven-outline", - "codepoint": "F1451", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "58E0112F-0E05-4C53-8AF2-663009045010", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-six", - "codepoint": "F1444", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D8D8CBCB-DCCF-4FB0-A6E2-3D45E732AD90", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-six-outline", - "codepoint": "F1450", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5EE154C9-B581-4AB9-A086-38AE96A919E1", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-ten", - "codepoint": "F1448", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DDACEAB9-676D-4D4A-9508-CE1241D983BC", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-ten-outline", - "codepoint": "F1454", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DA0656E4-D609-441D-93C3-488D36BB9BDA", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-three", - "codepoint": "F1441", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "465F6D88-CD51-4BA8-AFBE-0D20845906DD", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-three-outline", - "codepoint": "F144D", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CEA21098-6201-4E2F-A24E-865B4FFD7870", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-twelve", - "codepoint": "F144A", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "375B6D36-CFC4-4DB4-BFDE-364E129EDFBB", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-twelve-outline", - "codepoint": "F1456", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3F6D9697-9536-4D51-87D3-839E7579451B", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-two", - "codepoint": "F1440", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "20918EE1-9806-4E1D-BD7C-A723AC2A97FF", - "baseIconId": "90E7BBD9-12C3-4339-94DE-99A049C8D4B1", - "name": "clock-time-two-outline", - "codepoint": "F144C", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close", - "codepoint": "F0156", - "aliases": [ - "clear", - "multiply", - "remove", - "cancel" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math", - "Form" - ], - "author": "Google" - }, - { - "id": "0823D18B-529A-4B7E-8090-A913399A3D5E", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-box", - "codepoint": "F0157", - "aliases": [ - "multiply-box", - "clear-box", - "cancel-box", - "remove-box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math", - "Form" - ], - "author": "Gabriel" - }, - { - "id": "63F3E252-98F2-4851-A887-E99FACD6B280", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-box-multiple", - "codepoint": "F0C5D", - "aliases": [ - "close-boxes", - "library-remove", - "library-close", - "multiply-boxes", - "multiply-box-multiple", - "cancel-box-multiple", - "remove-box-multiple" - ], - "styles": [ - "box", - "multiple" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Richins" - }, - { - "id": "596F26BB-8E10-4530-98CE-FFDACBF07F6B", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-box-multiple-outline", - "codepoint": "F0C5E", - "aliases": [ - "close-boxes-outline", - "library-remove-outline", - "library-close-outline", - "multiply-boxes-outline", - "multiply-box-multiple-outline", - "remove-box-multiple", - "cancel-box-multiple" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Richins" - }, - { - "id": "05B8E566-B224-4ECC-AE70-2BF8BE90C82A", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-box-outline", - "codepoint": "F0158", - "aliases": [ - "multiply-box-outline", - "clear-box-outline", - "remove-box-outline", - "cancel-box-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math", - "Form" - ], - "author": "Gabriel" - }, - { - "id": "DC0E1491-A8A0-4563-ACEC-C795D96602A7", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-circle", - "codepoint": "F0159", - "aliases": [ - "remove-circle", - "cancel-circle", - "multiply-circle", - "clear-circle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Austin Andrews" - }, - { - "id": "77B97AED-2613-434C-BD9C-82755C8B468C", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-circle-multiple", - "codepoint": "F062A", - "aliases": [ - "remove-circle-multiple", - "coins-close", - "coins-remove", - "clear-circle-multiple", - "multiply-circle-multiple" - ], - "styles": [ - "circle", - "multiple", - "remove" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B77F1750-F3D8-43A5-A2D1-EEF2E3EB584B", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-circle-multiple-outline", - "codepoint": "F0883", - "aliases": [ - "remove-circle-multiple-outline", - "coins-close-outline", - "coins-remove-outline", - "cancel-circle-multiple-outline", - "multiply-circle-multiple-outline", - "clear-circle-multiple-outline" - ], - "styles": [ - "circle", - "multiple", - "outline", - "remove" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EA41E6BB-A176-4E0E-896A-36F9FA5AA62F", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-circle-outline", - "codepoint": "F015A", - "aliases": [ - "highlight-off", - "multiply-circle-outline", - "remove-circle-outline", - "clear-circle-outline", - "cancel-circle-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "4043C369-E619-47E9-9363-E5E9C43457FB", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-network", - "codepoint": "F015B", - "aliases": [ - "remove-network", - "cancel-network", - "multiply-network", - "clear-network" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "6BB0D686-C2A2-47D0-A50C-91E0300AF12E", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-network-outline", - "codepoint": "F0C5F", - "aliases": [ - "remove-network-outline", - "cancel-network-outline", - "multiply-network-outline", - "clear-network-outline" - ], - "styles": [ - "network" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BA7E9F56-A5F5-4BEE-8934-90CA070A6029", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-octagon", - "codepoint": "F015C", - "aliases": [ - "dangerous", - "multiply-octagon", - "remove-octagon", - "cancel-octagon", - "clear-octagon", - "stop-remove" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "9676C4C3-D8C3-44A6-A447-59A56A15DA34", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-octagon-outline", - "codepoint": "F015D", - "aliases": [ - "remove-octagon-outline", - "multiply-octagon-outline", - "clear-octagon-outline", - "cancel-octagon-outline", - "stop-remove-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "2FEE0020-4271-487C-897D-75529B20C4C6", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-outline", - "codepoint": "F06C9", - "aliases": [ - "remove-outline", - "cancel-outline", - "multiply-outline", - "clear-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C6B8442F-446D-4690-866F-AF0F27C1EAB2", - "baseIconId": "FEA26660-7D6A-4C2A-9F13-7AE125FBA543", - "name": "close-thick", - "codepoint": "F1398", - "aliases": [ - "close-bold", - "remove-thick", - "remove-bold", - "multiply-thick", - "multiply-bold", - "clear-thick", - "clear-bold", - "cancel-thick", - "cancel-bold" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5367B460-F7E5-46C5-A4F5-40B339BF9DAD", - "baseIconId": "5367B460-F7E5-46C5-A4F5-40B339BF9DAD", - "name": "closed-caption", - "codepoint": "F015E", - "aliases": [ - "cc" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "08F32D33-77C4-4FEB-AAF6-04468AF0875F", - "baseIconId": "5367B460-F7E5-46C5-A4F5-40B339BF9DAD", - "name": "closed-caption-outline", - "codepoint": "F0DBD", - "aliases": [ - "cc-outline" - ], - "styles": [ - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud", - "codepoint": "F015F", - "aliases": [ - "wb-cloudy" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "4ACCBA06-78DB-492F-98F6-08AEE743744A", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-alert", - "codepoint": "F09E0", - "aliases": [ - "cloud-warning" - ], - "styles": [ - "alert" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Cloud", - "Weather" - ], - "author": "TheChilliPL" - }, - { - "id": "3FC7BE84-D3FE-4DF8-88D2-19E85A7BF661", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-alert-outline", - "codepoint": "F1BE0", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Weather", - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "19C8B174-393F-4E5B-ADC4-C5598DE914F8", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-down", - "codepoint": "F1BE1", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5F0D6116-B303-4C57-82F0-224ADA97EBD5", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-down-outline", - "codepoint": "F1BE2", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6FD0F6B8-7E48-4EAB-99C4-AFD58D95E942", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-left", - "codepoint": "F1BE3", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DD5C0F60-69F6-469D-A285-3527C9CBCEC9", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-left-outline", - "codepoint": "F1BE4", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3B3EF4D2-339A-43D7-AAEE-394D74AA7C85", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-right", - "codepoint": "F1BE5", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "043852F0-723D-45FF-8C83-D7C87009089F", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-right-outline", - "codepoint": "F1BE6", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "043AFCE7-AA8A-4E51-AD77-96957407218E", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-up", - "codepoint": "F1BE7", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B1E36C6D-4638-4FE5-854E-B6E3DCB6D6D1", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-arrow-up-outline", - "codepoint": "F1BE8", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6ED02FDD-323E-4004-9D7B-336F2402DF8E", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-braces", - "codepoint": "F07B5", - "aliases": [ - "cloud-json" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Cloud", - "Developer \/ Languages" - ], - "author": "Andy Martinez" - }, - { - "id": "8F5247BF-407F-4460-9C6E-3C7A467DF01A", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-cancel", - "codepoint": "F1BE9", - "aliases": [], - "styles": [ - "cancel" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "52D9AC34-84C1-4DF6-A173-3F7726954A71", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-cancel-outline", - "codepoint": "F1BEA", - "aliases": [], - "styles": [ - "cancel", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "29F10EFC-FC56-4D02-88E6-FC856F54390D", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-check", - "codepoint": "F1BEB", - "aliases": [], - "styles": [ - "check" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B99F649D-4AB4-4A56-97EA-A52B6CE26B16", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-check-outline", - "codepoint": "F1BEC", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5B607B90-B492-43AD-A5B0-4AC800A9F7DA", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-check-variant", - "codepoint": "F0160", - "aliases": [ - "cloud-done", - "cloud-tick" - ], - "styles": [ - "check", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "A56D0A20-FC19-455F-B1E8-3CA24270957A", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-check-variant-outline", - "codepoint": "F12CC", - "aliases": [], - "styles": [ - "check", - "outline", - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "06BCD41B-8BFF-43C0-88A1-69F262C51C5F", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-circle", - "codepoint": "F0161", - "aliases": [], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "451E7715-6D54-47B1-9228-DBD53D8CBF07", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-circle-outline", - "codepoint": "F1BED", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "F718D38F-3628-42E3-864B-787F62811754", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-clock", - "codepoint": "F1BEE", - "aliases": [], - "styles": [ - "clock" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0BE13210-76BC-47EA-8506-E42859826A01", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-clock-outline", - "codepoint": "F1BEF", - "aliases": [], - "styles": [ - "clock", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DFCB974D-269A-4ADE-BFDF-58C4D12E947C", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-cog", - "codepoint": "F1BF0", - "aliases": [], - "styles": [ - "cog" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D03FD5FA-4F08-491D-8459-1EDFE1CED4C6", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-cog-outline", - "codepoint": "F1BF1", - "aliases": [], - "styles": [ - "cog", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D8C49CD8-61B2-4F34-A4B8-543396B4A610", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-download", - "codepoint": "F0162", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "41CC8340-22F2-4C91-BA1E-97E3A0EA461F", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-download-outline", - "codepoint": "F0B7D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "3694A84E-0A8D-420F-98C3-C892312B29D4", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-key", - "codepoint": "F1CA1", - "aliases": [ - "cloud-security", - "cloud-access" - ], - "styles": [ - "key" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "frankgrinaert" - }, - { - "id": "CB6C6880-11B8-4BE6-9EA5-6F4D53EF98EC", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-key-outline", - "codepoint": "F1CA2", - "aliases": [ - "cloud-security-outline", - "cloud-access-outline" - ], - "styles": [ - "key" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "frankgrinaert" - }, - { - "id": "8F0ED421-A552-4920-A46D-13F246A25689", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-lock", - "codepoint": "F11F1", - "aliases": [], - "styles": [ - "lock" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cloud", - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "5985650B-077C-4473-8749-A98E0F731EB9", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-lock-open", - "codepoint": "F1BF2", - "aliases": [], - "styles": [ - "lock" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "54073599-B365-465E-89D6-2081A5D0EB1F", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-lock-open-outline", - "codepoint": "F1BF3", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9ADC05C4-6BC2-4D66-80B0-CB6677A08271", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-lock-outline", - "codepoint": "F11F2", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cloud", - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "EC87820F-EE63-45B9-9F7C-6AC83EECCDA8", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-minus", - "codepoint": "F1BF4", - "aliases": [], - "styles": [ - "minus" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B6D110F4-1A69-4C3E-9045-E14E28AB1EF6", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-minus-outline", - "codepoint": "F1BF5", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EFE048B4-42B0-40BD-A7BB-E0E20FB0D80F", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-off", - "codepoint": "F1BF6", - "aliases": [], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "E19C3062-FFE5-441C-91C8-B1792E3AA3CA", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-off-outline", - "codepoint": "F0164", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "6EBE020D-405B-4E36-8B47-CAC6FAF1166C", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-outline", - "codepoint": "F0163", - "aliases": [ - "cloud-queue" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "63C6361B-587A-4EF6-9308-8E54DD1BB68E", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-percent", - "codepoint": "F1A35", - "aliases": [ - "humidity", - "rain-chance", - "cloud-discount" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud", - "Nature" - ], - "author": "Simran" - }, - { - "id": "CB1A76AC-F998-48D8-A4DC-C29CD02CDFF7", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-percent-outline", - "codepoint": "F1A36", - "aliases": [ - "cloud-discount-outline", - "humidity-outline", - "rain-chance-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud", - "Nature" - ], - "author": "Simran" - }, - { - "id": "392BB6A6-E468-4F36-8F7B-8259754E80C4", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-plus", - "codepoint": "F1BF7", - "aliases": [], - "styles": [ - "plus" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "278039EE-3E18-4BBC-924E-F8785DA32520", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-plus-outline", - "codepoint": "F1BF8", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DB32F759-BA18-488B-9260-9A38529BE7A8", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-print", - "codepoint": "F0165", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Printer", - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "7B3F8F72-1F4B-429A-B969-8E42ADBBD3E1", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-print-outline", - "codepoint": "F0166", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Printer", - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "C36FF6E2-EF4E-4FD1-9620-9580BC48B325", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-question", - "codepoint": "F0A39", - "aliases": [], - "styles": [ - "question" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9114B506-531D-4840-9803-E541F716995C", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-question-outline", - "codepoint": "F1BF9", - "aliases": [], - "styles": [ - "outline", - "question" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "546F9706-77E9-4C0A-9B7F-A035A0F1DB8C", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-refresh", - "codepoint": "F1BFA", - "aliases": [], - "styles": [ - "refresh" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "59C1725E-CC9E-4AF1-B215-8FECD1E93A39", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-refresh-outline", - "codepoint": "F1BFB", - "aliases": [], - "styles": [ - "outline", - "refresh" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1771EA83-96FC-4A06-8A03-E4048C9F9C27", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-refresh-variant", - "codepoint": "F052A", - "aliases": [], - "styles": [ - "refresh", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "79C50275-0698-42E7-998B-3B0F8E093362", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-refresh-variant-outline", - "codepoint": "F1BFC", - "aliases": [], - "styles": [ - "outline", - "refresh", - "variant" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "31A2A45B-65A1-46F4-BE9A-573F7469E390", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-remove", - "codepoint": "F1BFD", - "aliases": [], - "styles": [ - "remove" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DFA9EF34-6410-46FB-8126-F10449D71D31", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-remove-outline", - "codepoint": "F1BFE", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BF384FFB-7E5D-4C2E-ADC5-4BEEAF61A81C", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-search", - "codepoint": "F0956", - "aliases": [], - "styles": [ - "search" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "5C72BE2A-A04D-4B36-9390-024C5A1214D9", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-search-outline", - "codepoint": "F0957", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "BEA2DB85-AD43-4208-8F5E-5029997B23B7", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-sync", - "codepoint": "F063F", - "aliases": [], - "styles": [ - "sync" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FA6B7B54-7817-40EE-9A64-3D30EAC0F4CF", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-sync-outline", - "codepoint": "F12D6", - "aliases": [], - "styles": [ - "outline", - "sync" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AE3A5033-BA77-4E82-BFD0-4C23275B602F", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-tags", - "codepoint": "F07B6", - "aliases": [ - "cloud-xml" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Cloud" - ], - "author": "Andy Martinez" - }, - { - "id": "BB4F16F6-B596-4725-8831-A794321542EB", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-upload", - "codepoint": "F0167", - "aliases": [ - "backup" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "88ACA1F5-0FDE-4E89-8144-28BA5E5F1B51", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "cloud-upload-outline", - "codepoint": "F0B7E", - "aliases": [ - "backup-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Cloud", - "Weather" - ], - "author": "Google" - }, - { - "id": "43494F1E-8C56-4AEE-BB9F-AAE4BD44A6AE", - "baseIconId": "CF07C502-388E-4A65-BD89-FACCFD00C245", - "name": "clouds", - "codepoint": "F1B95", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0B70716D-3C56-43F1-85D4-B264C05DCC32", - "baseIconId": "0B70716D-3C56-43F1-85D4-B264C05DCC32", - "name": "clover", - "codepoint": "F0816", - "aliases": [ - "luck" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Michael Richins" - }, - { - "id": "6518E183-1362-4363-ACAF-21FECEA87732", - "baseIconId": "0B70716D-3C56-43F1-85D4-B264C05DCC32", - "name": "clover-outline", - "codepoint": "F1C62", - "aliases": [ - "luck-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "113768A1-5B09-41DD-9570-31434A34823D", - "baseIconId": "113768A1-5B09-41DD-9570-31434A34823D", - "name": "coach-lamp", - "codepoint": "F1020", - "aliases": [ - "coach-light", - "carriage-lamp", - "carriage-light" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Borre Haugen" - }, - { - "id": "D4A857FB-53DF-4726-9B49-986C83844E40", - "baseIconId": "113768A1-5B09-41DD-9570-31434A34823D", - "name": "coach-lamp-variant", - "codepoint": "F1A37", - "aliases": [ - "coach-light", - "carriage-light", - "carriage-lamp" - ], - "styles": [ - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Borre Haugen" - }, - { - "id": "21D89E60-3522-4F1F-A1D2-60E67B2C9552", - "baseIconId": "21D89E60-3522-4F1F-A1D2-60E67B2C9552", - "name": "coat-rack", - "codepoint": "F109E", - "aliases": [ - "foyer", - "hallway", - "entry-room" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Clothing" - ], - "author": "Michael Richins" - }, - { - "id": "04020C45-A5ED-4D33-A7BD-AE986516C0DE", - "baseIconId": "04020C45-A5ED-4D33-A7BD-AE986516C0DE", - "name": "code-array", - "codepoint": "F0168", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "C74E1367-3799-4422-8065-A200D4CAB498", - "baseIconId": "1F6661BC-6538-4EF0-92B5-46EFAE5E0C77", - "name": "code-block-braces", - "codepoint": "F1C83", - "aliases": [ - "code-block-tag", - "code-block-json" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "frankgrinaert" - }, - { - "id": "5138F119-7F73-4A34-ACB8-CDB00042AAB6", - "baseIconId": "C08498C1-E43B-4E79-817C-121AD2827689", - "name": "code-block-brackets", - "codepoint": "F1C84", - "aliases": [ - "code-block-square" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "frankgrinaert" - }, - { - "id": "8E35BF13-D1D3-4F97-ACBE-87E07DCE9FC3", - "baseIconId": "A4E1DE1B-754D-4884-9902-8D5DDE2182B0", - "name": "code-block-parentheses", - "codepoint": "F1C85", - "aliases": [], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "frankgrinaert" - }, - { - "id": "E13525B2-A482-46B5-B01E-5CE520FC2C1D", - "baseIconId": "609A0AB0-05EE-4824-BD40-A4E78F4A74D3", - "name": "code-block-tags", - "codepoint": "F1C86", - "aliases": [ - "code-block-html", - "code-block-xml" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "frankgrinaert" - }, - { - "id": "1F6661BC-6538-4EF0-92B5-46EFAE5E0C77", - "baseIconId": "1F6661BC-6538-4EF0-92B5-46EFAE5E0C77", - "name": "code-braces", - "codepoint": "F0169", - "aliases": [ - "set" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages", - "Math" - ], - "author": "Simran" - }, - { - "id": "A65C5C08-F94C-4A68-BA7B-5557C94C5C37", - "baseIconId": "1F6661BC-6538-4EF0-92B5-46EFAE5E0C77", - "name": "code-braces-box", - "codepoint": "F10D6", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C08498C1-E43B-4E79-817C-121AD2827689", - "baseIconId": "C08498C1-E43B-4E79-817C-121AD2827689", - "name": "code-brackets", - "codepoint": "F016A", - "aliases": [ - "square-brackets" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages", - "Math" - ], - "author": "Simran" - }, - { - "id": "16C07036-EE56-4447-8495-EB2FAD143072", - "baseIconId": "16C07036-EE56-4447-8495-EB2FAD143072", - "name": "code-equal", - "codepoint": "F016B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Simran" - }, - { - "id": "2C70B20E-4B20-4CF6-8775-339C1184E032", - "baseIconId": "2C70B20E-4B20-4CF6-8775-339C1184E032", - "name": "code-greater-than", - "codepoint": "F016C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages", - "Math" - ], - "author": "Simran" - }, - { - "id": "3C9D2060-53C2-4D66-BE38-C46EE87D8D46", - "baseIconId": "3C9D2060-53C2-4D66-BE38-C46EE87D8D46", - "name": "code-greater-than-or-equal", - "codepoint": "F016D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages", - "Math" - ], - "author": "Simran" - }, - { - "id": "24C1AA84-85C2-41F4-A5E3-8FE7421CD359", - "baseIconId": "24C1AA84-85C2-41F4-A5E3-8FE7421CD359", - "name": "code-json", - "codepoint": "F0626", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "92266B3A-6EC4-4CE7-9904-2A793B2A4084", - "baseIconId": "92266B3A-6EC4-4CE7-9904-2A793B2A4084", - "name": "code-less-than", - "codepoint": "F016E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages", - "Math" - ], - "author": "Simran" - }, - { - "id": "3D003F4A-7BCB-4946-AE70-CCAA2B7D5B10", - "baseIconId": "3D003F4A-7BCB-4946-AE70-CCAA2B7D5B10", - "name": "code-less-than-or-equal", - "codepoint": "F016F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages", - "Math" - ], - "author": "Simran" - }, - { - "id": "1A01458F-59E8-4AF9-B398-8058900EE85F", - "baseIconId": "1A01458F-59E8-4AF9-B398-8058900EE85F", - "name": "code-not-equal", - "codepoint": "F0170", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Simran" - }, - { - "id": "05E12366-E7AA-46B9-8D6E-3664EBD34BB3", - "baseIconId": "05E12366-E7AA-46B9-8D6E-3664EBD34BB3", - "name": "code-not-equal-variant", - "codepoint": "F0171", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Simran" - }, - { - "id": "A4E1DE1B-754D-4884-9902-8D5DDE2182B0", - "baseIconId": "A4E1DE1B-754D-4884-9902-8D5DDE2182B0", - "name": "code-parentheses", - "codepoint": "F0172", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Simran" - }, - { - "id": "2609C9BB-3F62-432A-9D27-0D30845F8086", - "baseIconId": "A4E1DE1B-754D-4884-9902-8D5DDE2182B0", - "name": "code-parentheses-box", - "codepoint": "F10D7", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "76686B91-00D8-4ADD-A502-8D1788C9C17B", - "baseIconId": "76686B91-00D8-4ADD-A502-8D1788C9C17B", - "name": "code-string", - "codepoint": "F0173", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "609A0AB0-05EE-4824-BD40-A4E78F4A74D3", - "baseIconId": "609A0AB0-05EE-4824-BD40-A4E78F4A74D3", - "name": "code-tags", - "codepoint": "F0174", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Google" - }, - { - "id": "7F098441-8B1D-4FB1-88EC-95726397BA7C", - "baseIconId": "609A0AB0-05EE-4824-BD40-A4E78F4A74D3", - "name": "code-tags-check", - "codepoint": "F0694", - "aliases": [ - "code-tags-tick" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Simran" - }, - { - "id": "FB9F6D89-8A07-407E-AD97-AAEF0E022585", - "baseIconId": "FB9F6D89-8A07-407E-AD97-AAEF0E022585", - "name": "codepen", - "codepoint": "F0175", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "baseIconId": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "name": "coffee", - "codepoint": "F0176", - "aliases": [ - "tea", - "cup", - "free-breakfast", - "local-cafe", - "drink" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "62F4C783-4BE1-4EB6-B454-E41A50B91857", - "baseIconId": "62F4C783-4BE1-4EB6-B454-E41A50B91857", - "name": "coffee-maker", - "codepoint": "F109F", - "aliases": [ - "espresso-maker", - "coffee-machine", - "espresso-machine" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "A82510E6-E7E7-4E2C-96A6-E041EFC72897", - "baseIconId": "62F4C783-4BE1-4EB6-B454-E41A50B91857", - "name": "coffee-maker-check", - "codepoint": "F1931", - "aliases": [ - "coffee-maker-done", - "coffee-maker-complete" - ], - "styles": [ - "check" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DDF7AAA6-C0A9-428C-9A2A-1B491714AF82", - "baseIconId": "62F4C783-4BE1-4EB6-B454-E41A50B91857", - "name": "coffee-maker-check-outline", - "codepoint": "F1932", - "aliases": [ - "coffee-maker-complete-outline", - "coffee-maker-done-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0E490D96-1352-4592-A544-F80D43681A9E", - "baseIconId": "62F4C783-4BE1-4EB6-B454-E41A50B91857", - "name": "coffee-maker-outline", - "codepoint": "F181B", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "E3C8FAA1-E273-44BC-8C43-1CB0E5E5C2AB", - "baseIconId": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "name": "coffee-off", - "codepoint": "F0FAA", - "aliases": [ - "drink-off", - "tea-off", - "cup-off", - "free-breakfast-off", - "local-cafe-off" - ], - "styles": [ - "off" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B8D17AA8-7B65-4CA7-B9A9-6960C2A64164", - "baseIconId": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "name": "coffee-off-outline", - "codepoint": "F0FAB", - "aliases": [ - "drink-off-outline", - "cup-off-outline", - "tea-off-outline", - "free-breakfast-off-outline", - "local-cafe-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8994C73B-937C-4541-AAFF-6FA2CE0573DF", - "baseIconId": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "name": "coffee-outline", - "codepoint": "F06CA", - "aliases": [ - "tea-outline", - "cup-outline", - "drink-outline", - "free-breakfast-outline", - "local-cafe-outline" - ], - "styles": [ - "outline" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "8093CDE7-C795-4415-94C6-2EF40ED6D057", - "baseIconId": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "name": "coffee-to-go", - "codepoint": "F0177", - "aliases": [ - "tea-to-go", - "drink-to-go", - "cup-to-go", - "free-breakfast-to-go", - "local-cafe-to-go" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "DC66752A-65C6-461D-AAA6-65E8389E7D3B", - "baseIconId": "8093CDE7-C795-4415-94C6-2EF40ED6D057", - "name": "coffee-to-go-outline", - "codepoint": "F130E", - "aliases": [ - "tea-to-go-outline", - "cup-to-go-outline", - "drink-to-go-outline", - "free-breakfast-to-go-outline", - "local-cafe-to-go-outline" - ], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "AC6E8289-8D3C-4CE0-ADA6-D17DC639B7FB", - "baseIconId": "AC6E8289-8D3C-4CE0-ADA6-D17DC639B7FB", - "name": "coffin", - "codepoint": "F0B7F", - "aliases": [ - "death", - "dead" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog", - "codepoint": "F0493", - "aliases": [ - "settings", - "gear" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "6F15658D-723C-4BE9-85D1-F170E4B90281", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-box", - "codepoint": "F0494", - "aliases": [ - "gear-box", - "settings-applications", - "settings-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "3E835EBE-D768-428D-8440-E162EC9F90E4", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-clockwise", - "codepoint": "F11DD", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "C9468BA3-4E63-41DB-BACE-4AED3A543147", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-counterclockwise", - "codepoint": "F11DE", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "7251B1CF-41C8-46F7-991D-83F5996CF0C1", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-off", - "codepoint": "F13CE", - "aliases": [ - "settings-off" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Simran" - }, - { - "id": "83E26995-9267-4A7B-8271-885FEF6303D8", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-off-outline", - "codepoint": "F13CF", - "aliases": [ - "settings-off-outline" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D29B92ED-BC81-44F0-8031-2E48A90ABAD8", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-outline", - "codepoint": "F08BB", - "aliases": [ - "gear-outline", - "settings-outline" - ], - "styles": [ - "outline" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "FE314FE9-CDD6-42DF-9F62-F470E3F0E2BF", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-pause", - "codepoint": "F1933", - "aliases": [ - "settings-pause", - "gear-pause" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7BC10816-C8A9-4B8D-B11B-B51E0CCB9F72", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-pause-outline", - "codepoint": "F1934", - "aliases": [ - "settings-pause-outline", - "gear-pause-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FF5D0943-FA1E-423E-B6A7-0210449D2C29", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-play", - "codepoint": "F1935", - "aliases": [ - "settings-play", - "gear-play" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0238FC32-F3C6-46F5-8223-8B63D96B9749", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-play-outline", - "codepoint": "F1936", - "aliases": [ - "settings-play-outline", - "gear-play-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5F716B9D-4A30-4D1A-B452-B6B0D8B27EDE", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-refresh", - "codepoint": "F145E", - "aliases": [ - "settings-refresh" - ], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C9E15196-FEB0-4F26-96C2-0E050F959806", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-refresh-outline", - "codepoint": "F145F", - "aliases": [ - "settings-refresh-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FC49E1B1-ED0E-46CB-B29F-ED444E9B85F0", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-stop", - "codepoint": "F1937", - "aliases": [ - "settings-stop", - "gear-stop" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F937057A-B769-4F5E-A079-7D9BF4679807", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-stop-outline", - "codepoint": "F1938", - "aliases": [ - "settings-stop-outline", - "gear-stop-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BEC36759-CFB0-4475-A65B-B10F860E850A", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-sync", - "codepoint": "F1460", - "aliases": [ - "settings-sync" - ], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "204F6FF9-EFD1-4B79-9DDF-2642984189F0", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-sync-outline", - "codepoint": "F1461", - "aliases": [ - "settings-sync-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "17CD5A77-2809-4DDC-B876-877D8B913217", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-transfer", - "codepoint": "F105B", - "aliases": [ - "settings-transfer" - ], - "styles": [ - "arrow" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "AD008794-9094-40B5-91E8-6648E1CBADAD", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cog-transfer-outline", - "codepoint": "F105C", - "aliases": [ - "settings-transfer-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "2EF56130-ECE9-4432-B59E-36F646DE1C86", - "baseIconId": "E4A14909-3821-4DB1-A739-4DA464ABEEB7", - "name": "cogs", - "codepoint": "F08D6", - "aliases": [ - "settings", - "manufacturing" - ], - "styles": [ - "multiple" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "8FD44CCD-5073-4C73-98BE-139F777F6E94", - "baseIconId": "8FD44CCD-5073-4C73-98BE-139F777F6E94", - "name": "collage", - "codepoint": "F0640", - "aliases": [ - "auto-awesome-mosaic" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C66052C9-BB2A-4E5F-A890-C6D8156E5621", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "collapse-all", - "codepoint": "F0AA6", - "aliases": [ - "animation-minus" - ], - "styles": [ - "minus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8672E491-9415-4259-A9E5-E0E3552187CB", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "collapse-all-outline", - "codepoint": "F0AA7", - "aliases": [ - "animation-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F27490D2-F7BE-4B35-83E6-40D1F7247755", - "baseIconId": "F27490D2-F7BE-4B35-83E6-40D1F7247755", - "name": "color-helper", - "codepoint": "F0179", - "aliases": [ - "colour-helper" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Color" - ], - "author": "Google" - }, - { - "id": "55F32835-0982-43F9-9F2D-42585183016A", - "baseIconId": "55F32835-0982-43F9-9F2D-42585183016A", - "name": "comma", - "codepoint": "F0E23", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "CEC57068-18E1-42DA-8788-EDCC009DFB7D", - "baseIconId": "55F32835-0982-43F9-9F2D-42585183016A", - "name": "comma-box", - "codepoint": "F0E2B", - "aliases": [], - "styles": [ - "box" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "19DFF0F1-FA41-4345-8494-32F42055155B", - "baseIconId": "55F32835-0982-43F9-9F2D-42585183016A", - "name": "comma-box-outline", - "codepoint": "F0E24", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "71A7159C-EFDE-4B44-B956-47D588CF74D3", - "baseIconId": "55F32835-0982-43F9-9F2D-42585183016A", - "name": "comma-circle", - "codepoint": "F0E25", - "aliases": [], - "styles": [ - "circle" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "0958EE2B-BD3A-4548-A641-759FC170847A", - "baseIconId": "55F32835-0982-43F9-9F2D-42585183016A", - "name": "comma-circle-outline", - "codepoint": "F0E26", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment", - "codepoint": "F017A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E0D4328B-7A71-46E7-804B-DFC3753BEDF6", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-account", - "codepoint": "F017B", - "aliases": [ - "comment-user", - "comment-person" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "18A9FFE4-B768-4A8F-BD55-778C8E8C41FC", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-account-outline", - "codepoint": "F017C", - "aliases": [ - "comment-user-outline", - "comment-person-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "04CF8C3D-0D65-41CA-8D0D-53DD7EAB25B8", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-alert", - "codepoint": "F017D", - "aliases": [ - "comment-warning" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "CBAD69A4-A6FF-4A8A-AA85-B5962910106E", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-alert-outline", - "codepoint": "F017E", - "aliases": [ - "comment-warning-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "AECA1A18-D8EA-4130-B33C-86D608E030BB", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-arrow-left", - "codepoint": "F09E1", - "aliases": [ - "comment-previous" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "192F008B-D02E-4C2A-A43F-058A19E41D30", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-arrow-left-outline", - "codepoint": "F09E2", - "aliases": [ - "comment-previous-outline" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "256DE915-25D5-4777-AA1A-A432ABB6E039", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-arrow-right", - "codepoint": "F09E3", - "aliases": [ - "comment-next" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E34BA65C-995B-4E2F-A40E-8833E55187FC", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-arrow-right-outline", - "codepoint": "F09E4", - "aliases": [ - "comment-next-outline" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "AEB3B1E9-D2B4-497C-9939-BFB549F57019", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-bookmark", - "codepoint": "F15AE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "342B6E5C-FE9B-4A5A-940C-3918AB609441", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-bookmark-outline", - "codepoint": "F15AF", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5D2CEEF1-3F19-4AD2-8965-13DB365B0013", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-check", - "codepoint": "F017F", - "aliases": [ - "comment-tick" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D9BBEE92-5775-4364-8ECD-89C0872BE79F", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-check-outline", - "codepoint": "F0180", - "aliases": [ - "comment-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8729ADA4-D1A0-477A-B670-EC5CFF2A3A7E", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-edit", - "codepoint": "F11BF", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3A7903C6-EA94-4FF6-8B95-FECC91058756", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-edit-outline", - "codepoint": "F12C4", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7CDBE4A1-9E98-419D-A309-4ECB9476DA12", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-eye", - "codepoint": "F0A3A", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "470DE0A7-8431-42B7-BC50-E46D0DEBE759", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-eye-outline", - "codepoint": "F0A3B", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "27CE0231-2BF3-43E1-9852-3044D59DA0F2", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-flash", - "codepoint": "F15B0", - "aliases": [ - "comment-quick" - ], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "68AA7A36-BF66-4F18-8BEE-78448FDBF5B9", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-flash-outline", - "codepoint": "F15B1", - "aliases": [ - "comment-quick-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B3DD4217-5AB7-4E9F-979E-7E16A2DA8E76", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-minus", - "codepoint": "F15DF", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C63B509C-5F87-42E1-A53B-0623A2EA4461", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-minus-outline", - "codepoint": "F15E0", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "63AC824E-16A4-4FBE-A6DF-588DEBCA47C1", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-multiple", - "codepoint": "F085F", - "aliases": [ - "comments" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A5FAC5DC-088F-485C-A885-FBBEEC70B352", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-multiple-outline", - "codepoint": "F0181", - "aliases": [ - "comments-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9BBD8848-EA4F-4052-9361-B5D7AFCEBFF6", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-off", - "codepoint": "F15E1", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "14104E5E-1FA3-441C-9705-66D86F8E28DB", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-off-outline", - "codepoint": "F15E2", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "B1A0A26E-3E9C-4718-8A26-2837A981D9B5", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-outline", - "codepoint": "F0182", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "6C595408-3938-4111-9566-7149810D4A73", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-plus", - "codepoint": "F09E5", - "aliases": [ - "comment-add" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "813C3AFA-56D8-472B-8C1C-C365AC752663", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-plus-outline", - "codepoint": "F0183", - "aliases": [ - "comment-add-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D07698E0-AB53-4E7A-9C25-9A25D1D5CDA9", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-processing", - "codepoint": "F0184", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0CDF5E61-25C4-4E30-8E16-32E4E7EDE705", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-processing-outline", - "codepoint": "F0185", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "49412CCB-C5F6-460F-A2DB-76BCCB668BCC", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-question", - "codepoint": "F0817", - "aliases": [ - "comment-help" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7BD335A6-C4A7-48F1-B04F-F1457B7B1F20", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-question-outline", - "codepoint": "F0186", - "aliases": [ - "comment-help-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "6A2BA297-7401-4727-B79F-8C8DD0F56FE7", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-quote", - "codepoint": "F1021", - "aliases": [ - "feedback" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5510BB9F-2D63-471A-86F3-732E91A513E4", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-quote-outline", - "codepoint": "F1022", - "aliases": [ - "feedback-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "834998BB-D7F4-41F3-86B8-5EE5631B524A", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-remove", - "codepoint": "F05DE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "520544E5-1693-4084-BB9C-B6FA70204B2C", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-remove-outline", - "codepoint": "F0187", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "02BA858D-5D62-487B-B423-22EBB73E10A9", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-search", - "codepoint": "F0A3C", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "17A45B1C-290F-4654-9C8D-3F3F641AB5CD", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-search-outline", - "codepoint": "F0A3D", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "483321DB-C7E5-4E48-B739-8500F6153446", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-text", - "codepoint": "F0188", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "88EDEE2E-AB1B-4287-A082-E3B139F8E69A", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-text-multiple", - "codepoint": "F0860", - "aliases": [ - "comments-text" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B7CBD1E2-9677-4D9B-B7BD-CA5493920BE6", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-text-multiple-outline", - "codepoint": "F0861", - "aliases": [ - "comments-text-outline" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "3D9E4543-670E-4434-8C82-3A80122ED4EE", - "baseIconId": "B42FD735-27ED-47EC-887B-F5108774E6BC", - "name": "comment-text-outline", - "codepoint": "F0189", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "A9786B48-6664-4170-B56C-6F2868D5000D", - "baseIconId": "A9786B48-6664-4170-B56C-6F2868D5000D", - "name": "compare", - "codepoint": "F018A", - "aliases": [ - "theme-light-dark" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C2F3461E-363D-42B9-AEF0-3E8A92EB2569", - "baseIconId": "C2F3461E-363D-42B9-AEF0-3E8A92EB2569", - "name": "compare-horizontal", - "codepoint": "F1492", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "89337179-88B1-4CD0-BA70-F18FC41514DF", - "baseIconId": "A9786B48-6664-4170-B56C-6F2868D5000D", - "name": "compare-remove", - "codepoint": "F18B3", - "aliases": [], - "styles": [ - "remove" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "nilsfast" - }, - { - "id": "2E95C78F-AAF9-4E1F-8241-4F781389EFF7", - "baseIconId": "2E95C78F-AAF9-4E1F-8241-4F781389EFF7", - "name": "compare-vertical", - "codepoint": "F1493", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "8FE64B61-0FD6-4056-9A4F-E62408CE70FE", - "baseIconId": "8FE64B61-0FD6-4056-9A4F-E62408CE70FE", - "name": "compass", - "codepoint": "F018B", - "aliases": [ - "explore" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "2D283145-478B-4863-9889-CFDDB88342A3", - "baseIconId": "8FE64B61-0FD6-4056-9A4F-E62408CE70FE", - "name": "compass-off", - "codepoint": "F0B80", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Navigation" - ], - "author": "Google" - }, - { - "id": "ACF5388A-9C33-4466-A6E7-E0EFE1508C28", - "baseIconId": "8FE64B61-0FD6-4056-9A4F-E62408CE70FE", - "name": "compass-off-outline", - "codepoint": "F0B81", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Navigation" - ], - "author": "Google" - }, - { - "id": "EDA6D9AB-4AAE-4080-A1D3-78762666D7B1", - "baseIconId": "8FE64B61-0FD6-4056-9A4F-E62408CE70FE", - "name": "compass-outline", - "codepoint": "F018C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Gabriel" - }, - { - "id": "D7B6D7B4-F143-477C-A402-963791DB0029", - "baseIconId": "D7B6D7B4-F143-477C-A402-963791DB0029", - "name": "compass-rose", - "codepoint": "F1382", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "75C5A894-CC25-4326-A270-6F70BE0D8AAB", - "baseIconId": "75C5A894-CC25-4326-A270-6F70BE0D8AAB", - "name": "compost", - "codepoint": "F1A38", - "aliases": [ - "regeneration", - "regenerative-agriculture" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature" - ], - "author": "Google" - }, - { - "id": "4819FE23-EEAA-496B-A8DC-C4101A1AC994", - "baseIconId": "4819FE23-EEAA-496B-A8DC-C4101A1AC994", - "name": "cone", - "codepoint": "F194C", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "76F233E1-C7AA-4C0F-BDFC-717BF22D40BB", - "baseIconId": "4819FE23-EEAA-496B-A8DC-C4101A1AC994", - "name": "cone-off", - "codepoint": "F194D", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C66F7470-8691-4B30-A8F6-5250389E1D48", - "baseIconId": "C66F7470-8691-4B30-A8F6-5250389E1D48", - "name": "connection", - "codepoint": "F1616", - "aliases": [ - "plug" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DCD0A183-A5DC-43BD-BC48-8FFF0CA0FA9C", - "baseIconId": "DCD0A183-A5DC-43BD-BC48-8FFF0CA0FA9C", - "name": "console", - "codepoint": "F018D", - "aliases": [ - "terminal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D6FF21C5-201A-43E0-B8AF-276A6BED653A", - "baseIconId": "DCD0A183-A5DC-43BD-BC48-8FFF0CA0FA9C", - "name": "console-line", - "codepoint": "F07B7", - "aliases": [ - "terminal-line" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "19A41CF5-CA4E-411C-8C34-14895B4B90DD", - "baseIconId": "DCD0A183-A5DC-43BD-BC48-8FFF0CA0FA9C", - "name": "console-network", - "codepoint": "F08A9", - "aliases": [ - "terminal-network" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "48F71C58-812D-40AA-BC4D-9D4381684E90", - "baseIconId": "DCD0A183-A5DC-43BD-BC48-8FFF0CA0FA9C", - "name": "console-network-outline", - "codepoint": "F0C60", - "aliases": [ - "terminal-network-outline" - ], - "styles": [ - "network" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "79D6D751-2470-4ACC-B67E-40F5FF12BC25", - "baseIconId": "79D6D751-2470-4ACC-B67E-40F5FF12BC25", - "name": "consolidate", - "codepoint": "F10D8", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "45F3DDED-3C5E-4B6B-941E-7283657A1577", - "baseIconId": "45F3DDED-3C5E-4B6B-941E-7283657A1577", - "name": "contactless-payment", - "codepoint": "F0D6A", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Currency" - ], - "author": "Michael Richins" - }, - { - "id": "445CF970-F03C-4DDC-A326-F77DA919CB39", - "baseIconId": "45F3DDED-3C5E-4B6B-941E-7283657A1577", - "name": "contactless-payment-circle", - "codepoint": "F0321", - "aliases": [], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency" - ], - "author": "Google" - }, - { - "id": "E7D24172-A5A7-4BAE-A679-D2191E8E7F51", - "baseIconId": "45F3DDED-3C5E-4B6B-941E-7283657A1577", - "name": "contactless-payment-circle-outline", - "codepoint": "F0408", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5A68EA78-9792-4223-808D-17E5205765E6", - "baseIconId": "5A68EA78-9792-4223-808D-17E5205765E6", - "name": "contacts", - "codepoint": "F06CB", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5D5E7753-B3F1-4D0C-B175-62749D448492", - "baseIconId": "5A68EA78-9792-4223-808D-17E5205765E6", - "name": "contacts-outline", - "codepoint": "F05B8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "44029D6D-5640-4AE5-907B-8388B0438FF0", - "baseIconId": "44029D6D-5640-4AE5-907B-8388B0438FF0", - "name": "contain", - "codepoint": "F0A3E", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B786A80C-161C-492C-B405-A10087092CDC", - "baseIconId": "44029D6D-5640-4AE5-907B-8388B0438FF0", - "name": "contain-end", - "codepoint": "F0A3F", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "5161A499-05B1-444F-84E6-359F5C46F84C", - "baseIconId": "44029D6D-5640-4AE5-907B-8388B0438FF0", - "name": "contain-start", - "codepoint": "F0A40", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2B3B8FC2-C8AB-40AF-9B3F-AFFC93482676", - "baseIconId": "2B3B8FC2-C8AB-40AF-9B3F-AFFC93482676", - "name": "content-copy", - "codepoint": "F018F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "D4028362-37C3-4EED-BE0B-C78927C3F55D", - "baseIconId": "D4028362-37C3-4EED-BE0B-C78927C3F55D", - "name": "content-cut", - "codepoint": "F0190", - "aliases": [ - "scissors", - "clip" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Health \/ Beauty", - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "B1A86989-2CB4-47DC-BC93-67A077792F72", - "baseIconId": "B1A86989-2CB4-47DC-BC93-67A077792F72", - "name": "content-duplicate", - "codepoint": "F0191", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "75856C98-A0D6-4C78-A323-BD170B6E6094", - "baseIconId": "75856C98-A0D6-4C78-A323-BD170B6E6094", - "name": "content-paste", - "codepoint": "F0192", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save", - "codepoint": "F0193", - "aliases": [ - "floppy-disc", - "floppy-disk" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E4BAD28B-B196-42B5-BD4D-92C81A8EADAE", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-alert", - "codepoint": "F0F42", - "aliases": [ - "floppy-disc-alert" - ], - "styles": [ - "alert" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "21B9916D-3D1A-43AF-91B2-56A4D5C493C2", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-alert-outline", - "codepoint": "F0F43", - "aliases": [ - "floppy-disc-alert-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "B9BE7889-D858-41A1-AB4E-9C58325261E9", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-all", - "codepoint": "F0194", - "aliases": [ - "floppy-disc-multiple" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B65ADBE9-DE1B-4879-A34F-602A3DA4D12A", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-all-outline", - "codepoint": "F0F44", - "aliases": [ - "floppy-disc-multiple-outline" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B52FC179-01B3-4E41-821E-DC162E402B5B", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-check", - "codepoint": "F18EA", - "aliases": [], - "styles": [ - "check" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4A940492-A6C2-4481-BDB0-485920679D1D", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-check-outline", - "codepoint": "F18EB", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E909F872-44CC-4D23-8AD2-95BFE02A5E2D", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-cog", - "codepoint": "F145B", - "aliases": [ - "floppy-disc-cog" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A145BFEF-B18C-49C5-B24C-7918C878307E", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-cog-outline", - "codepoint": "F145C", - "aliases": [ - "floppy-disc-cog-outline" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "12E2DE0D-BF3F-402D-8044-B18E269D32C2", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-edit", - "codepoint": "F0CFB", - "aliases": [ - "floppy-disc-edit" - ], - "styles": [ - "edit" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B8D3719E-E67F-4008-9F43-458D75857769", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-edit-outline", - "codepoint": "F0CFC", - "aliases": [ - "floppy-disc-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0FA06948-5C0F-498D-BDCD-15EB208057F9", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-minus", - "codepoint": "F1B43", - "aliases": [], - "styles": [ - "minus" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Hans B\u00f6hm" - }, - { - "id": "186EE3B9-AFE9-47BA-A3FA-0ED59797D38C", - "baseIconId": "186EE3B9-AFE9-47BA-A3FA-0ED59797D38C", - "name": "content-save-minus-outline", - "codepoint": "F1B44", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Hans B\u00f6hm" - }, - { - "id": "FC4F757F-2540-4853-89A3-7FE07FC710C0", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-move", - "codepoint": "F0E27", - "aliases": [ - "floppy-disc-move" - ], - "styles": [ - "arrow" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "12F9DD45-1D74-45E3-84B7-CDE90A3FD174", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-move-outline", - "codepoint": "F0E28", - "aliases": [ - "floppy-disc-move-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E5889AAE-7F3E-46F3-BEF6-36F4BE570DE8", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-off", - "codepoint": "F1643", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "178D08A9-7C54-4F7A-9335-726030578718", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-off-outline", - "codepoint": "F1644", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "707F4114-BD2F-4601-82C4-CFB6B2D2F359", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-outline", - "codepoint": "F0818", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F8794210-E83F-451C-AADE-35F71688F142", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-plus", - "codepoint": "F1B41", - "aliases": [ - "content-save-add" - ], - "styles": [ - "plus" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Hans B\u00f6hm" - }, - { - "id": "56051C42-5524-47EE-B8A9-66AE8CFC43C2", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-plus-outline", - "codepoint": "F1B42", - "aliases": [ - "content-save-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Hans B\u00f6hm" - }, - { - "id": "67E755F6-209A-41EF-98C5-423739A3AC10", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-settings", - "codepoint": "F061B", - "aliases": [ - "floppy-disc-settings" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Simran" - }, - { - "id": "2EDEEDF4-2AE3-4365-8F49-DC6F869EC520", - "baseIconId": "29F946C0-CA58-4287-AF0B-964961E5CC2C", - "name": "content-save-settings-outline", - "codepoint": "F0B2E", - "aliases": [ - "floppy-disc-settings-outline" - ], - "styles": [ - "outline", - "settings" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Ruslan Garifullin" - }, - { - "id": "B50D388A-4647-4780-83E7-2C5AD8375FB9", - "baseIconId": "B50D388A-4647-4780-83E7-2C5AD8375FB9", - "name": "contrast", - "codepoint": "F0195", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B7FCC914-C6E9-4919-8574-F0161C2CF28D", - "baseIconId": "B50D388A-4647-4780-83E7-2C5AD8375FB9", - "name": "contrast-box", - "codepoint": "F0196", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A7CBFD5D-FDFD-4202-A290-840219A79F2F", - "baseIconId": "B50D388A-4647-4780-83E7-2C5AD8375FB9", - "name": "contrast-circle", - "codepoint": "F0197", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "605CAD46-2EA0-47AE-8A41-953C1F27F9CD", - "baseIconId": "605CAD46-2EA0-47AE-8A41-953C1F27F9CD", - "name": "controller", - "codepoint": "F02B4", - "aliases": [ - "gamepad" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "2D97B0F0-9662-4323-8F5B-0677507461EE", - "baseIconId": "2D97B0F0-9662-4323-8F5B-0677507461EE", - "name": "controller-classic", - "codepoint": "F0B82", - "aliases": [ - "gamepad-classic" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "053ECCDF-BF30-417F-85D4-FF2614402B5A", - "baseIconId": "2D97B0F0-9662-4323-8F5B-0677507461EE", - "name": "controller-classic-outline", - "codepoint": "F0B83", - "aliases": [ - "gamepad-classic-outline" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "8C28F332-2037-476E-8FAA-D5E6BC81D8B2", - "baseIconId": "605CAD46-2EA0-47AE-8A41-953C1F27F9CD", - "name": "controller-off", - "codepoint": "F02B5", - "aliases": [ - "gamepad-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie", - "codepoint": "F0198", - "aliases": [ - "biscuit" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "D37F1726-BDD9-4AFB-84E0-A62587AAA6CC", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-alert", - "codepoint": "F16D0", - "aliases": [ - "biscuit-alert" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "927FC7C7-8DF3-47FE-BAC4-7DF8DAF3F936", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-alert-outline", - "codepoint": "F16D1", - "aliases": [ - "biscuit-alert-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DB07C270-5421-41A3-BBFF-350874DE3534", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-check", - "codepoint": "F16D2", - "aliases": [ - "biscuit-check" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "65B2C1ED-992F-45D8-A0C0-4481F99748BF", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-check-outline", - "codepoint": "F16D3", - "aliases": [ - "biscuit-check-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9DEBBFC6-6734-4D46-A7C0-3A11793C4708", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-clock", - "codepoint": "F16E4", - "aliases": [ - "biscuit-clock" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5F7A7D4A-D4ED-4AE6-987D-A735A7403C00", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-clock-outline", - "codepoint": "F16E5", - "aliases": [ - "biscuit-clock-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5923CF0C-4D34-4BF1-8401-3AEEDC0DE9BC", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-cog", - "codepoint": "F16D4", - "aliases": [ - "biscuit-cog" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "96AE483D-C5CD-424A-A553-C9D5399CAD7F", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-cog-outline", - "codepoint": "F16D5", - "aliases": [ - "biscuit-cog-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E36B77B1-913A-45CC-A23B-02EA12161352", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-edit", - "codepoint": "F16E6", - "aliases": [ - "biscuit-edit" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0A7C1A34-8BC9-4A44-93F3-59F9235274AB", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-edit-outline", - "codepoint": "F16E7", - "aliases": [ - "biscuit-edit-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FD4F6EA6-712D-4E1E-AF1E-25CB27AE66CE", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-lock", - "codepoint": "F16E8", - "aliases": [ - "biscuit-lock" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CB5D57DF-BA59-4C98-9FA7-96536EF9FAA0", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-lock-outline", - "codepoint": "F16E9", - "aliases": [ - "biscuit-lock-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "215F338E-A35C-4C54-9AC7-C4F4BB9A7206", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-minus", - "codepoint": "F16DA", - "aliases": [ - "biscuit-minus" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E5590F64-7B4E-4506-AF93-ED7F3E6AB988", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-minus-outline", - "codepoint": "F16DB", - "aliases": [ - "biscuit-minus-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9B401BB3-9510-457F-9C35-BAC5A30BF91F", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-off", - "codepoint": "F16EA", - "aliases": [ - "biscuit-off" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4355ECEC-E157-4BC8-AF80-45FAC597F188", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-off-outline", - "codepoint": "F16EB", - "aliases": [ - "biscuit-off-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AF77B3DF-8565-4A84-A58F-83FD2E55EB10", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-outline", - "codepoint": "F16DE", - "aliases": [ - "biscuit-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "272BE458-B01F-4437-B083-65175B327D05", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-plus", - "codepoint": "F16D6", - "aliases": [ - "biscuit-plus" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AB2BBE22-85B2-4D5B-9F99-099DE970A9EC", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-plus-outline", - "codepoint": "F16D7", - "aliases": [ - "biscuit-plus-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "184857B9-228F-4DD2-AF53-603277AEEB7F", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-refresh", - "codepoint": "F16EC", - "aliases": [ - "biscuit-refresh" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CA84B827-73C5-4C28-AC8B-82AADD5469E9", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-refresh-outline", - "codepoint": "F16ED", - "aliases": [ - "biscuit-refresh-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "25272102-387C-4333-BF16-3308E6EFF94F", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-remove", - "codepoint": "F16D8", - "aliases": [ - "biscuit-remove" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "12200D0C-1B01-4165-A2D1-C5BE30B3E3A7", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-remove-outline", - "codepoint": "F16D9", - "aliases": [ - "biscuit-remove-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B8F9243C-188F-4EC1-9051-5BAA942D7F42", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-settings", - "codepoint": "F16DC", - "aliases": [ - "biscuit-settings", - "cookie-crumbs", - "biscuit-crumbs" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FF72A11B-A9E5-47B7-967F-C520DC965CE2", - "baseIconId": "8E3FB537-B293-41A6-B6C5-B2BE927091F5", - "name": "cookie-settings-outline", - "codepoint": "F16DD", - "aliases": [ - "biscuit-settings-outline", - "cookie-crumbs-outline", - "biscuit-crumbs-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A260896B-178E-4E3A-9F2C-793AD68154F4", - "baseIconId": "A260896B-178E-4E3A-9F2C-793AD68154F4", - "name": "coolant-temperature", - "codepoint": "F03C8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Simran" - }, - { - "id": "430A9380-A9BB-43C3-8A16-3F41AE22C3D7", - "baseIconId": "430A9380-A9BB-43C3-8A16-3F41AE22C3D7", - "name": "copyleft", - "codepoint": "F1939", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "34B43A77-9873-4723-AA65-45D42992748E", - "baseIconId": "34B43A77-9873-4723-AA65-45D42992748E", - "name": "copyright", - "codepoint": "F05E6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C3F97D60-41A7-49A3-A8B7-C63D724B12FF", - "baseIconId": "C3F97D60-41A7-49A3-A8B7-C63D724B12FF", - "name": "cordova", - "codepoint": "F0958", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "B49614ED-B7AB-4123-BD9C-B50CE119C76C", - "baseIconId": "B49614ED-B7AB-4123-BD9C-B50CE119C76C", - "name": "corn", - "codepoint": "F07B8", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Agriculture", - "Food \/ Drink" - ], - "author": "Thomas Hunsaker" - }, - { - "id": "E2947B22-1F7A-4638-8B16-27DA49F5BD52", - "baseIconId": "B49614ED-B7AB-4123-BD9C-B50CE119C76C", - "name": "corn-off", - "codepoint": "F13EF", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4969E6E7-4311-4F1E-B9ED-070DE4473A65", - "baseIconId": "4969E6E7-4311-4F1E-B9ED-070DE4473A65", - "name": "cosine-wave", - "codepoint": "F1479", - "aliases": [ - "frequency", - "amplitude" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Haley Halcyon" - }, - { - "id": "F789F2E4-022E-4A5A-B548-30D21BC3A7F6", - "baseIconId": "F789F2E4-022E-4A5A-B548-30D21BC3A7F6", - "name": "counter", - "codepoint": "F0199", - "aliases": [ - "score", - "numbers", - "odometer" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Christopher Schreiner" - }, - { - "id": "795A2085-78E1-4721-BF6F-007B20CF92AF", - "baseIconId": "795A2085-78E1-4721-BF6F-007B20CF92AF", - "name": "countertop", - "codepoint": "F181C", - "aliases": [ - "kitchen-counter", - "sink" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "31920D18-0B33-4CE8-B5D9-7E879DB4E6AA", - "baseIconId": "795A2085-78E1-4721-BF6F-007B20CF92AF", - "name": "countertop-outline", - "codepoint": "F181D", - "aliases": [ - "kitchen-counter-outline", - "sink-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "1D459B7E-A98C-4E02-929B-FA0BA329B97F", - "baseIconId": "1D459B7E-A98C-4E02-929B-FA0BA329B97F", - "name": "cow", - "codepoint": "F019A", - "aliases": [ - "emoji-cow", - "emoticon-cow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "8FA2AEE7-EBCA-4943-AF59-FF3C4D762C53", - "baseIconId": "1D459B7E-A98C-4E02-929B-FA0BA329B97F", - "name": "cow-off", - "codepoint": "F18FC", - "aliases": [ - "dairy-off", - "dairy-free" - ], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture", - "Animal" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BC9DA934-ED6D-4EC4-9FA4-2B6FF26B3058", - "baseIconId": "BC9DA934-ED6D-4EC4-9FA4-2B6FF26B3058", - "name": "cpu-32-bit", - "codepoint": "F0EDF", - "aliases": [ - "chip-32-bit" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "BC47ABAD-66D6-4EEA-9512-CB33318F62EF", - "baseIconId": "BC47ABAD-66D6-4EEA-9512-CB33318F62EF", - "name": "cpu-64-bit", - "codepoint": "F0EE0", - "aliases": [ - "chip-64-bit" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "74B57630-EBF9-48DB-886C-36FA79D4350B", - "baseIconId": "74B57630-EBF9-48DB-886C-36FA79D4350B", - "name": "cradle", - "codepoint": "F198B", - "aliases": [ - "crib", - "bassinet", - "baby", - "nursery", - "baby-room" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "People \/ Family", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "3CDAD9E8-C4DC-42CA-9262-A0C45B94B139", - "baseIconId": "74B57630-EBF9-48DB-886C-36FA79D4350B", - "name": "cradle-outline", - "codepoint": "F1991", - "aliases": [ - "bassinet", - "crib", - "baby", - "nursery-outline", - "baby-room-outline" - ], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "People \/ Family", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "8C0FE6E3-3D82-4FCA-9CCC-73CA8C5299D1", - "baseIconId": "8C0FE6E3-3D82-4FCA-9CCC-73CA8C5299D1", - "name": "crane", - "codepoint": "F0862", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "598B7931-3DF8-4CFA-A6E6-80550CA31372", - "baseIconId": "598B7931-3DF8-4CFA-A6E6-80550CA31372", - "name": "creation", - "codepoint": "F0674", - "aliases": [ - "auto-awesome", - "sparkles", - "stars", - "shimmer" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E643EA62-6140-491A-9B2D-DE88F51BD37A", - "baseIconId": "598B7931-3DF8-4CFA-A6E6-80550CA31372", - "name": "creation-outline", - "codepoint": "F1C2B", - "aliases": [ - "auto-awesome-outline", - "sparkles-outline", - "stars-outline", - "shimmer-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "8973B8C3-527C-48D1-9E5B-CB0A35DE2B77", - "baseIconId": "8973B8C3-527C-48D1-9E5B-CB0A35DE2B77", - "name": "creative-commons", - "codepoint": "F0D6B", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card", - "codepoint": "F0FEF", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Michael Richins" - }, - { - "id": "1CE6C99F-BA66-4069-B014-67E4FB6E5EB9", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-check", - "codepoint": "F13D0", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Irigoyen" - }, - { - "id": "96023451-FCAA-40E0-839C-A7F98C3553F1", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-check-outline", - "codepoint": "F13D1", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B116C077-E89C-4079-8CEB-7946D054613D", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-chip", - "codepoint": "F190F", - "aliases": [ - "credit-card-icc-chip" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "DF35C024-A010-482D-8B28-D567A1C9389D", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-chip-outline", - "codepoint": "F1910", - "aliases": [ - "credit-card-icc-chip-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "0FBFF192-59C3-447E-A987-4BE568865C8E", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-clock", - "codepoint": "F0EE1", - "aliases": [], - "styles": [ - "clock" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Banking", - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "851D92B4-4326-4913-AA2F-05F3595614C2", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-clock-outline", - "codepoint": "F0EE2", - "aliases": [], - "styles": [ - "clock", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Banking", - "Date \/ Time" - ], - "author": "Michael Richins" - }, - { - "id": "5EF28B8C-72F7-4C83-8270-7DA1E535022C", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-edit", - "codepoint": "F17D7", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "4678D0B5-4FF5-4729-9096-2F8EA74447FE", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-edit-outline", - "codepoint": "F17D8", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "896151D2-B1B7-42C5-95E7-78517BEC5676", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-fast", - "codepoint": "F1911", - "aliases": [ - "credit-card-swipe" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "B08C2F32-A29A-4429-BFDA-97F81B704A65", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-fast-outline", - "codepoint": "F1912", - "aliases": [ - "credit-card-swipe-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "7FD3C251-310E-4A0D-B6B9-4BAC16F9909B", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-lock", - "codepoint": "F18E7", - "aliases": [], - "styles": [ - "lock" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Banking", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1B3B929E-82A7-438D-823D-4046F3C5F9A1", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-lock-outline", - "codepoint": "F18E8", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Banking", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "21D860AE-A880-4ED2-9E11-617D888BD744", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-marker", - "codepoint": "F06A8", - "aliases": [ - "credit-card-location", - "payment-on-delivery" - ], - "styles": [ - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Banking", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B026E6BC-FFD6-44FA-96AC-6F4A902FD596", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-marker-outline", - "codepoint": "F0DBE", - "aliases": [ - "cod", - "payment-on-delivery-outline", - "credit-card-location-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Banking", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "97D593C8-1C57-4597-AB1C-C6B487633BBD", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-minus", - "codepoint": "F0FAC", - "aliases": [], - "styles": [ - "minus" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "E35A35BC-A59A-440D-820A-3BB61E1AA9BA", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-minus-outline", - "codepoint": "F0FAD", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "25C1F858-600D-42A4-801F-5F85F22ACB52", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-multiple", - "codepoint": "F0FF0", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "D7C8ADB6-B7C9-4653-9EA7-EB98552304BA", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-multiple-outline", - "codepoint": "F019C", - "aliases": [ - "credit-cards" - ], - "styles": [ - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "5DC17348-DD99-40EA-804E-CB20BEE93C07", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-off", - "codepoint": "F0FF1", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "CD527CB6-15F0-41BF-BF50-2BCB8B6C769F", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-off-outline", - "codepoint": "F05E4", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "A121DBBB-C9E6-4534-AA7B-F59496787BD2", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-outline", - "codepoint": "F019B", - "aliases": [ - "payment" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping", - "Banking", - "Currency" - ], - "author": "Google" - }, - { - "id": "DE6FDD30-069D-4377-96D1-9DAC014B6A8F", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-plus", - "codepoint": "F0FF2", - "aliases": [], - "styles": [ - "plus" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "FA914D65-0F2C-463D-A54F-9B0DE9FBEED3", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-plus-outline", - "codepoint": "F0676", - "aliases": [ - "credit-card-add" - ], - "styles": [ - "outline", - "plus" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "F768F993-4A1F-4A1E-8EED-11526704C22F", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-refresh", - "codepoint": "F1645", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0ECF7DE7-9F12-4635-902C-1BBF1064DC21", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-refresh-outline", - "codepoint": "F1646", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "90A38F47-9EFD-4468-A1B9-E31A6781F69D", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-refund", - "codepoint": "F0FF3", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "4C2633A8-8E84-4301-A470-0408DCFFEEF8", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-refund-outline", - "codepoint": "F0AA8", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "6CD92C52-D816-4930-B504-ECB4B8744CEA", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-remove", - "codepoint": "F0FAE", - "aliases": [], - "styles": [ - "remove" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "003200AA-03EB-4AFA-BE66-B1858B39DA19", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-remove-outline", - "codepoint": "F0FAF", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "A3BF84E0-A214-410C-9890-851855025247", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-scan", - "codepoint": "F0FF4", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "CF494E4E-F1FC-411D-87FD-933CC17EE08C", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-scan-outline", - "codepoint": "F019D", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "8E913524-BAAE-48B9-A45A-69192B159EE4", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-search", - "codepoint": "F1647", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8A0B7BE3-D653-4009-8E42-B3E280F7152C", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-search-outline", - "codepoint": "F1648", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "194059D5-3FF9-4DA7-8C7E-81092D38889B", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-settings", - "codepoint": "F0FF5", - "aliases": [], - "styles": [ - "settings" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking", - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "8EF337DF-4858-4BC2-8C48-BD0911AF0FEB", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-settings-outline", - "codepoint": "F08D7", - "aliases": [ - "payment-settings" - ], - "styles": [ - "outline", - "settings" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Banking", - "Settings" - ], - "author": "Peter Noble" - }, - { - "id": "76407FAE-6EB4-4486-9A60-5D62801B78E4", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-sync", - "codepoint": "F1649", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FB29966A-E0BE-41FC-92D0-4218B160DCF4", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-sync-outline", - "codepoint": "F164A", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7894F13C-362E-4628-B0D4-E9AC990CCB41", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-wireless", - "codepoint": "F0802", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9BDEAB2C-8D25-43FA-9722-9FD68D21E76A", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-wireless-off", - "codepoint": "F057A", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Simran" - }, - { - "id": "00E657E0-F05A-423A-813F-3DC14C5E6439", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-wireless-off-outline", - "codepoint": "F057B", - "aliases": [], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Simran" - }, - { - "id": "694399D0-1348-4EB0-BA34-ECD2FE4987C2", - "baseIconId": "91CCFF94-D3F6-48B2-B62C-02DC1B6DBC1E", - "name": "credit-card-wireless-outline", - "codepoint": "F0D6C", - "aliases": [ - "credit-card-contactless" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "9C7DBA7B-099C-460D-BD51-2B2F70EBE39A", - "baseIconId": "9C7DBA7B-099C-460D-BD51-2B2F70EBE39A", - "name": "cricket", - "codepoint": "F0D6D", - "aliases": [ - "cricket-bat" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "FA68ACCA-389F-453E-B886-FF3DAFE10530", - "baseIconId": "FA68ACCA-389F-453E-B886-FF3DAFE10530", - "name": "crop", - "codepoint": "F019E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "17AB799B-F531-4800-A7DE-23C5D95238F4", - "baseIconId": "17AB799B-F531-4800-A7DE-23C5D95238F4", - "name": "crop-free", - "codepoint": "F019F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DE641C3F-FEF6-4764-A276-F6FECFE031DA", - "baseIconId": "DE641C3F-FEF6-4764-A276-F6FECFE031DA", - "name": "crop-landscape", - "codepoint": "F01A0", - "aliases": [ - "crop-5-4" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "02E45E84-72D2-4FE1-BF98-6A9521E31A8A", - "baseIconId": "02E45E84-72D2-4FE1-BF98-6A9521E31A8A", - "name": "crop-portrait", - "codepoint": "F01A1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "03774672-2612-4A56-9E32-69060B32B94C", - "baseIconId": "03774672-2612-4A56-9E32-69060B32B94C", - "name": "crop-rotate", - "codepoint": "F0696", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "72BA6354-04A5-4BE9-A84C-843B9441164E", - "baseIconId": "72BA6354-04A5-4BE9-A84C-843B9441164E", - "name": "crop-square", - "codepoint": "F01A2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5644CD16-FA4D-4F68-8DAC-996169C778E1", - "baseIconId": "5644CD16-FA4D-4F68-8DAC-996169C778E1", - "name": "cross", - "codepoint": "F0953", - "aliases": [ - "christianity", - "religion-christian" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Religion", - "Holiday" - ], - "author": "Nick" - }, - { - "id": "00B9DE12-462A-483B-90D3-8FA89B3D9FD5", - "baseIconId": "00B9DE12-462A-483B-90D3-8FA89B3D9FD5", - "name": "cross-bolnisi", - "codepoint": "F0CED", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Michael Irigoyen" - }, - { - "id": "63D4C7DD-5BEF-41F2-921F-48EB987F0ED3", - "baseIconId": "63D4C7DD-5BEF-41F2-921F-48EB987F0ED3", - "name": "cross-celtic", - "codepoint": "F0CF5", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Religion", - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E7B0A94D-5F09-4E77-A1E0-3DA131398A26", - "baseIconId": "5644CD16-FA4D-4F68-8DAC-996169C778E1", - "name": "cross-outline", - "codepoint": "F0CF6", - "aliases": [ - "religion-christian-outline", - "christianity-outline" - ], - "styles": [ - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Michael Irigoyen" - }, - { - "id": "33845FDE-0003-4780-8DC9-07FC29D46599", - "baseIconId": "33845FDE-0003-4780-8DC9-07FC29D46599", - "name": "crosshairs", - "codepoint": "F01A3", - "aliases": [ - "gps-not-fixed", - "location-searching" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "D3A1EC2E-98D5-46B6-BF33-DECBBAACEFBE", - "baseIconId": "33845FDE-0003-4780-8DC9-07FC29D46599", - "name": "crosshairs-gps", - "codepoint": "F01A4", - "aliases": [ - "gps-fixed", - "my-location" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "BD55C800-ECAF-4839-82BD-980B3891ADF5", - "baseIconId": "33845FDE-0003-4780-8DC9-07FC29D46599", - "name": "crosshairs-off", - "codepoint": "F0F45", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "0842BFCE-4511-40B1-8E66-33CFED0A139B", - "baseIconId": "33845FDE-0003-4780-8DC9-07FC29D46599", - "name": "crosshairs-question", - "codepoint": "F1136", - "aliases": [ - "crosshairs-unknown", - "gps-unknown" - ], - "styles": [ - "question" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "FEE6305B-081C-429E-9584-5A5C6D8FD38F", - "baseIconId": "FEE6305B-081C-429E-9584-5A5C6D8FD38F", - "name": "crowd", - "codepoint": "F1975", - "aliases": [ - "family", - "crowd-source", - "crowdsource" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Account \/ User", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "266349FD-1B26-4BCD-A682-D25C4469B682", - "baseIconId": "266349FD-1B26-4BCD-A682-D25C4469B682", - "name": "crown", - "codepoint": "F01A5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8D0845BB-6518-4178-BE14-BDE99D614A8C", - "baseIconId": "266349FD-1B26-4BCD-A682-D25C4469B682", - "name": "crown-circle", - "codepoint": "F17DC", - "aliases": [ - "checkers" - ], - "styles": [ - "circle" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A25B1BFF-7DEC-4A6C-B91A-3B2A149997F1", - "baseIconId": "266349FD-1B26-4BCD-A682-D25C4469B682", - "name": "crown-circle-outline", - "codepoint": "F17DD", - "aliases": [ - "checkers-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D0B6994F-78AD-4D69-ADED-CD0C15D0D62B", - "baseIconId": "266349FD-1B26-4BCD-A682-D25C4469B682", - "name": "crown-outline", - "codepoint": "F11D0", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "803712F9-6CAD-47C9-8B54-08B134949FB3", - "baseIconId": "803712F9-6CAD-47C9-8B54-08B134949FB3", - "name": "cryengine", - "codepoint": "F0959", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "730684B8-2187-4AD1-A257-CECF232856FD", - "baseIconId": "730684B8-2187-4AD1-A257-CECF232856FD", - "name": "crystal-ball", - "codepoint": "F0B2F", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "64E19922-572B-41F8-9139-BE6CBC8A0F80", - "baseIconId": "64E19922-572B-41F8-9139-BE6CBC8A0F80", - "name": "cube", - "codepoint": "F01A6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "C2D996BC-2459-44E7-94FB-EE181E03B8C3", - "baseIconId": "64E19922-572B-41F8-9139-BE6CBC8A0F80", - "name": "cube-off", - "codepoint": "F141C", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0A2F7725-8D0E-4C67-8EC3-03D8F92EEB33", - "baseIconId": "64E19922-572B-41F8-9139-BE6CBC8A0F80", - "name": "cube-off-outline", - "codepoint": "F141D", - "aliases": [ - "sugar-off", - "sugar-cube-off", - "sugar-free" - ], - "styles": [ - "off", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "11B7F7B5-8813-48DE-9469-B1159355DDC3", - "baseIconId": "64E19922-572B-41F8-9139-BE6CBC8A0F80", - "name": "cube-outline", - "codepoint": "F01A7", - "aliases": [ - "sugar", - "sugar-cube" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape", - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "101B8439-F611-400E-A2DF-0D7AE40C1005", - "baseIconId": "64E19922-572B-41F8-9139-BE6CBC8A0F80", - "name": "cube-scan", - "codepoint": "F0B84", - "aliases": [ - "view-in-ar", - "view-in-augmented-reality" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F0726D57-782C-44E8-A404-336480FC9E7B", - "baseIconId": "64E19922-572B-41F8-9139-BE6CBC8A0F80", - "name": "cube-send", - "codepoint": "F01A8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A22472A9-D83E-4234-AAF0-F60AFB7C57DB", - "baseIconId": "A22472A9-D83E-4234-AAF0-F60AFB7C57DB", - "name": "cube-unfolded", - "codepoint": "F01A9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D5DA2C54-C8D0-469F-99A9-C8DB9D3A6F15", - "baseIconId": "D5DA2C54-C8D0-469F-99A9-C8DB9D3A6F15", - "name": "cup", - "codepoint": "F01AA", - "aliases": [ - "glass", - "drink" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "FD336A31-52C0-41AF-A0F3-BA475DEA1A54", - "baseIconId": "D5DA2C54-C8D0-469F-99A9-C8DB9D3A6F15", - "name": "cup-off", - "codepoint": "F05E5", - "aliases": [ - "glass-off", - "drink-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "C3BC4A94-7F95-4E12-A715-45830DEDA014", - "baseIconId": "D5DA2C54-C8D0-469F-99A9-C8DB9D3A6F15", - "name": "cup-off-outline", - "codepoint": "F137D", - "aliases": [ - "glass-off-outline", - "drink-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "FEA3388A-F985-482C-8CE0-0B4ABCD31691", - "baseIconId": "D5DA2C54-C8D0-469F-99A9-C8DB9D3A6F15", - "name": "cup-outline", - "codepoint": "F130F", - "aliases": [ - "glass-outline", - "drink-outline", - "cup-empty" - ], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "AC4AD054-775A-4D59-BF92-A57A6A952607", - "baseIconId": "D5DA2C54-C8D0-469F-99A9-C8DB9D3A6F15", - "name": "cup-water", - "codepoint": "F01AB", - "aliases": [ - "local-drink", - "glass-water", - "drink-water", - "cup-liquid", - "glass-liquid" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "112A3BDB-8748-4118-8315-326E140C101B", - "baseIconId": "112A3BDB-8748-4118-8315-326E140C101B", - "name": "cupboard", - "codepoint": "F0F46", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "13FBEF67-6AB8-471D-BC66-DE521D91D0FC", - "baseIconId": "112A3BDB-8748-4118-8315-326E140C101B", - "name": "cupboard-outline", - "codepoint": "F0F47", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "CF09105E-AB0E-4393-ADCC-4E6DFC513C9C", - "baseIconId": "CF09105E-AB0E-4393-ADCC-4E6DFC513C9C", - "name": "cupcake", - "codepoint": "F095A", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nick" - }, - { - "id": "75F948EB-5A9C-4F7A-9841-2B93AC222605", - "baseIconId": "75F948EB-5A9C-4F7A-9841-2B93AC222605", - "name": "curling", - "codepoint": "F0863", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Nick" - }, - { - "id": "FB0C738C-21DE-4643-9B5D-690CE7AAEAEE", - "baseIconId": "FB0C738C-21DE-4643-9B5D-690CE7AAEAEE", - "name": "currency-bdt", - "codepoint": "F0864", - "aliases": [ - "taka", - "bangladeshi-taka" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Michael Richins" - }, - { - "id": "20E50505-DD23-4A07-AAE7-024BE3774018", - "baseIconId": "20E50505-DD23-4A07-AAE7-024BE3774018", - "name": "currency-brl", - "codepoint": "F0B85", - "aliases": [ - "brazilian-real" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Austin Andrews" - }, - { - "id": "CCAF9A48-2989-47C7-B4A5-1CF424A339CC", - "baseIconId": "CCAF9A48-2989-47C7-B4A5-1CF424A339CC", - "name": "currency-btc", - "codepoint": "F01AC", - "aliases": [ - "bitcoin" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "0F5809A3-18DD-4B42-9A7E-B35B65EF3751", - "baseIconId": "0F5809A3-18DD-4B42-9A7E-B35B65EF3751", - "name": "currency-cny", - "codepoint": "F07BA", - "aliases": [ - "yuan", - "renminbi" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "222B8F14-2217-4FC1-8940-AC1CF8AB150B", - "baseIconId": "222B8F14-2217-4FC1-8940-AC1CF8AB150B", - "name": "currency-eth", - "codepoint": "F07BB", - "aliases": [ - "ethereum", - "xi" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Peter Noble" - }, - { - "id": "94C667B3-E2EB-428D-B422-751C234CCF44", - "baseIconId": "94C667B3-E2EB-428D-B422-751C234CCF44", - "name": "currency-eur", - "codepoint": "F01AD", - "aliases": [ - "euro", - "euro-symbol" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "010841EE-1569-425A-9849-9FC6E4D05C3B", - "baseIconId": "94C667B3-E2EB-428D-B422-751C234CCF44", - "name": "currency-eur-off", - "codepoint": "F1315", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7FFA202C-D65F-4F9C-AC9B-6A17AB4C611E", - "baseIconId": "7FFA202C-D65F-4F9C-AC9B-6A17AB4C611E", - "name": "currency-fra", - "codepoint": "F1A39", - "aliases": [], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "F9BD830F-EBB6-45A4-A576-0DEC27084A95", - "baseIconId": "F9BD830F-EBB6-45A4-A576-0DEC27084A95", - "name": "currency-gbp", - "codepoint": "F01AE", - "aliases": [ - "pound", - "sterling" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "A55AD931-CE89-49C0-9F1C-F699C422843C", - "baseIconId": "A55AD931-CE89-49C0-9F1C-F699C422843C", - "name": "currency-ils", - "codepoint": "F0C61", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Austin Andrews" - }, - { - "id": "AB8EAA72-9A34-4F87-937A-9A8FDEFA1FEF", - "baseIconId": "AB8EAA72-9A34-4F87-937A-9A8FDEFA1FEF", - "name": "currency-inr", - "codepoint": "F01AF", - "aliases": [ - "rupee" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "639A8D4C-086C-4038-A569-F9387E851262", - "baseIconId": "639A8D4C-086C-4038-A569-F9387E851262", - "name": "currency-jpy", - "codepoint": "F07BC", - "aliases": [ - "yen" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "72750D9E-229F-4D77-B1CB-9C2C0FD12335", - "baseIconId": "72750D9E-229F-4D77-B1CB-9C2C0FD12335", - "name": "currency-krw", - "codepoint": "F07BD", - "aliases": [ - "won" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Haley Halcyon" - }, - { - "id": "FDA284E5-BF4A-47DC-B68F-255E07DB89CF", - "baseIconId": "FDA284E5-BF4A-47DC-B68F-255E07DB89CF", - "name": "currency-kzt", - "codepoint": "F0865", - "aliases": [ - "kazakhstani-tenge" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Augustin Ursu" - }, - { - "id": "D0B20B31-ADBD-4F8A-9B72-52CC2FE4C3F4", - "baseIconId": "D0B20B31-ADBD-4F8A-9B72-52CC2FE4C3F4", - "name": "currency-mnt", - "codepoint": "F1512", - "aliases": [ - "currency-mongolian-tugrug" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2F091499-4472-423E-A0C5-8C96CDDE1ABF", - "baseIconId": "2F091499-4472-423E-A0C5-8C96CDDE1ABF", - "name": "currency-ngn", - "codepoint": "F01B0", - "aliases": [ - "naira" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Austin Andrews" - }, - { - "id": "734CB783-C788-4F5E-BB90-BFBF4E3C22DC", - "baseIconId": "734CB783-C788-4F5E-BB90-BFBF4E3C22DC", - "name": "currency-php", - "codepoint": "F09E6", - "aliases": [ - "philippine-peso" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Michael Richins" - }, - { - "id": "55D42287-2705-451B-B87A-91C23AF3A945", - "baseIconId": "55D42287-2705-451B-B87A-91C23AF3A945", - "name": "currency-rial", - "codepoint": "F0E9C", - "aliases": [ - "currency-riyal", - "currency-irr", - "currency-omr", - "currency-yer", - "currency-sar" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Haley Halcyon" - }, - { - "id": "57057EA1-1BA7-49F3-A8C7-51AF633DED68", - "baseIconId": "57057EA1-1BA7-49F3-A8C7-51AF633DED68", - "name": "currency-rub", - "codepoint": "F01B1", - "aliases": [ - "ruble" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "4C5FB412-6649-4F26-A075-2865BAF41B5F", - "baseIconId": "4C5FB412-6649-4F26-A075-2865BAF41B5F", - "name": "currency-rupee", - "codepoint": "F1976", - "aliases": [ - "currency-npr", - "currency-pkr", - "currency-lkr", - "currency-inr" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Google" - }, - { - "id": "17CFE8D4-18D7-4414-B8EE-244D5A8FF791", - "baseIconId": "17CFE8D4-18D7-4414-B8EE-244D5A8FF791", - "name": "currency-sign", - "codepoint": "F07BE", - "aliases": [ - "currency-scarab" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Michael Richins" - }, - { - "id": "F9875997-F68E-4AE3-9B85-E8DFB6E0D054", - "baseIconId": "F9875997-F68E-4AE3-9B85-E8DFB6E0D054", - "name": "currency-thb", - "codepoint": "F1C05", - "aliases": [ - "currency-thai-baht" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Irigoyen" - }, - { - "id": "94DAFCB6-FA70-4DAE-B3DF-A107031F81E8", - "baseIconId": "94DAFCB6-FA70-4DAE-B3DF-A107031F81E8", - "name": "currency-try", - "codepoint": "F01B2", - "aliases": [ - "lira" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "E0103EBC-20BF-48EA-BC8F-BEF04BF2A581", - "baseIconId": "E0103EBC-20BF-48EA-BC8F-BEF04BF2A581", - "name": "currency-twd", - "codepoint": "F07BF", - "aliases": [ - "new-taiwan-dollar" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Haley Halcyon" - }, - { - "id": "F3A1F9C4-307D-40D8-A210-0ECFAC01BDCD", - "baseIconId": "F3A1F9C4-307D-40D8-A210-0ECFAC01BDCD", - "name": "currency-uah", - "codepoint": "F1B9B", - "aliases": [ - "currency-hryvnia", - "currency-ukraine" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3FA4946C-029B-42D3-AA31-3D607FB4A2F1", - "baseIconId": "3FA4946C-029B-42D3-AA31-3D607FB4A2F1", - "name": "currency-usd", - "codepoint": "F01C1", - "aliases": [ - "attach-money", - "dollar" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "5E9D35E4-9487-4A9B-9D4B-E1BBCA52AE0C", - "baseIconId": "3FA4946C-029B-42D3-AA31-3D607FB4A2F1", - "name": "currency-usd-off", - "codepoint": "F067A", - "aliases": [ - "money-off", - "dollar-off" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "BB0EDAF7-B538-4DAA-8406-36470F472EA1", - "baseIconId": "BB0EDAF7-B538-4DAA-8406-36470F472EA1", - "name": "current-ac", - "codepoint": "F1480", - "aliases": [ - "alternating-current" - ], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2A23AD1A-C4F1-47B1-B482-05836097CE51", - "baseIconId": "2A23AD1A-C4F1-47B1-B482-05836097CE51", - "name": "current-dc", - "codepoint": "F095C", - "aliases": [ - "direct-current" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Battery" - ], - "author": "Nick" - }, - { - "id": "2B463003-089D-47DE-97F7-434F16A4735B", - "baseIconId": "2B463003-089D-47DE-97F7-434F16A4735B", - "name": "cursor-default", - "codepoint": "F01C0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C5C0F16E-6D8B-49DB-8374-9B26C9E76B0D", - "baseIconId": "2B463003-089D-47DE-97F7-434F16A4735B", - "name": "cursor-default-click", - "codepoint": "F0CFD", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CE0F1A1D-5BE5-48A7-9DF2-3021489E4937", - "baseIconId": "2B463003-089D-47DE-97F7-434F16A4735B", - "name": "cursor-default-click-outline", - "codepoint": "F0CFE", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "450BD54E-A467-41D8-B428-50779BB451C4", - "baseIconId": "2B463003-089D-47DE-97F7-434F16A4735B", - "name": "cursor-default-gesture", - "codepoint": "F1127", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "ABCE3774-DAC9-494D-99D3-1054160ECC7E", - "baseIconId": "2B463003-089D-47DE-97F7-434F16A4735B", - "name": "cursor-default-gesture-outline", - "codepoint": "F1128", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "mchvn" - }, - { - "id": "E6A56AAF-22C5-4DAE-9E97-184501755DF5", - "baseIconId": "2B463003-089D-47DE-97F7-434F16A4735B", - "name": "cursor-default-outline", - "codepoint": "F01BF", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "EDAD5377-8923-4D6C-AC12-CBDC6C78DC7F", - "baseIconId": "EDAD5377-8923-4D6C-AC12-CBDC6C78DC7F", - "name": "cursor-move", - "codepoint": "F01BE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B5465B23-729A-405E-9155-486A36D8135F", - "baseIconId": "B5465B23-729A-405E-9155-486A36D8135F", - "name": "cursor-pointer", - "codepoint": "F01BD", - "aliases": [ - "cursor-hand" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "76C56C15-C2A3-4042-95C7-F143A3B58765", - "baseIconId": "76C56C15-C2A3-4042-95C7-F143A3B58765", - "name": "cursor-text", - "codepoint": "F05E7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8C3A8BC3-9144-4D24-A41D-BBE2B557BF51", - "baseIconId": "8C3A8BC3-9144-4D24-A41D-BBE2B557BF51", - "name": "curtains", - "codepoint": "F1846", - "aliases": [ - "drapes", - "window" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Teodor Sandu" - }, - { - "id": "EB23B6A0-2021-405D-83F2-D69D9A5CF1CD", - "baseIconId": "8C3A8BC3-9144-4D24-A41D-BBE2B557BF51", - "name": "curtains-closed", - "codepoint": "F1847", - "aliases": [ - "drapes-closed", - "window-closed" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Teodor Sandu" - }, - { - "id": "10ABF378-1E4C-479B-A99E-921605698123", - "baseIconId": "10ABF378-1E4C-479B-A99E-921605698123", - "name": "cylinder", - "codepoint": "F194E", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0CD686F7-F7EF-416B-A74D-8FDC54EAB7BF", - "baseIconId": "10ABF378-1E4C-479B-A99E-921605698123", - "name": "cylinder-off", - "codepoint": "F194F", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "82D8E45B-5E04-4094-818B-DE18775F9A91", - "baseIconId": "82D8E45B-5E04-4094-818B-DE18775F9A91", - "name": "dance-ballroom", - "codepoint": "F15FB", - "aliases": [ - "human-dance-ballroom" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "45E2144E-5240-4557-B9A9-45DD7B514738", - "baseIconId": "45E2144E-5240-4557-B9A9-45DD7B514738", - "name": "dance-pole", - "codepoint": "F1578", - "aliases": [ - "kho-kho", - "human-dance-pole" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Haley Halcyon" - }, - { - "id": "7727E2AF-BD33-4C14-9FF4-6FA4BBA8594C", - "baseIconId": "7727E2AF-BD33-4C14-9FF4-6FA4BBA8594C", - "name": "data-matrix", - "codepoint": "F153C", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "David Kon\u00ed\u0159" - }, - { - "id": "7D6DC2D9-EDDF-4C82-AA10-CEC85C4DF7BF", - "baseIconId": "7727E2AF-BD33-4C14-9FF4-6FA4BBA8594C", - "name": "data-matrix-edit", - "codepoint": "F153D", - "aliases": [], - "styles": [ - "edit" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "David Kon\u00ed\u0159" - }, - { - "id": "EA63161B-B010-4BEC-A5B0-774C2007C0D0", - "baseIconId": "7727E2AF-BD33-4C14-9FF4-6FA4BBA8594C", - "name": "data-matrix-minus", - "codepoint": "F153E", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "David Kon\u00ed\u0159" - }, - { - "id": "0B183EEE-8B38-4B8E-A049-96AC93BCD1EA", - "baseIconId": "7727E2AF-BD33-4C14-9FF4-6FA4BBA8594C", - "name": "data-matrix-plus", - "codepoint": "F153F", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "David Kon\u00ed\u0159" - }, - { - "id": "0809BEAA-8884-4116-B319-9AD6C11A86BE", - "baseIconId": "7727E2AF-BD33-4C14-9FF4-6FA4BBA8594C", - "name": "data-matrix-remove", - "codepoint": "F1540", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "David Kon\u00ed\u0159" - }, - { - "id": "8B555E52-AD00-4ECF-8533-02D9AC92E7F5", - "baseIconId": "7727E2AF-BD33-4C14-9FF4-6FA4BBA8594C", - "name": "data-matrix-scan", - "codepoint": "F1541", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "David Kon\u00ed\u0159" - }, - { - "id": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database", - "codepoint": "F01BC", - "aliases": [ - "storage" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Simran" - }, - { - "id": "7B3AB47E-C134-4AE9-82A2-DD0F95D6EF3F", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-alert", - "codepoint": "F163A", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "27B8C966-DE22-4B45-99A6-5CF769BECD07", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-alert-outline", - "codepoint": "F1624", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "82BC4255-42E2-4B69-ADE4-A3519DE84E22", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-down", - "codepoint": "F163B", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8A490A09-A803-4333-BB10-5758643AD4F4", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-down-outline", - "codepoint": "F1625", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FB778AE2-E52D-4C2A-BEF7-C48A805F8A57", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-left", - "codepoint": "F163C", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A51D37EB-0B92-4F4A-8402-E0C33825D05B", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-left-outline", - "codepoint": "F1626", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AE5DDB91-CE2C-4EE3-8247-E4818F488EE0", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-right", - "codepoint": "F163D", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "097A9369-2179-49DB-891C-5A61C88A985C", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-right-outline", - "codepoint": "F1627", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EC1BF4CB-2B6B-4B69-96E6-599E77D02885", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-up", - "codepoint": "F163E", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2E041168-F122-45CC-84AD-2A05428C211A", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-arrow-up-outline", - "codepoint": "F1628", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C241F52F-EA70-4784-9455-AA7D05663C90", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-check", - "codepoint": "F0AA9", - "aliases": [ - "database-tick" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Andrew Nenakhov" - }, - { - "id": "1B7F6C62-E464-42F6-B7C0-CDD637A520F6", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-check-outline", - "codepoint": "F1629", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1401D168-E1ED-403A-9154-F89133195BF9", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-clock", - "codepoint": "F163F", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "093C4D34-DC23-4FE7-9AD0-05FCFFBB41A6", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-clock-outline", - "codepoint": "F162A", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2D941DD1-7B07-4E4B-B164-42AF6F751D34", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-cog", - "codepoint": "F164B", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A15AD70B-D874-46B1-BD26-2A5627DBF201", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-cog-outline", - "codepoint": "F164C", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A9C5BB4C-C89F-4ADE-80C2-FB39A942DE6A", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-edit", - "codepoint": "F0B86", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Geographic Information System", - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "6428E607-E036-481B-AF42-B09894C68E19", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-edit-outline", - "codepoint": "F162B", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6E50F0F8-1116-4090-9468-54B2CE8FBB19", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-export", - "codepoint": "F095E", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "E620893F-9644-4E75-8904-C81B85B6D58D", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-export-outline", - "codepoint": "F162C", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E08D8382-BE58-41F4-B00C-4B6926C1F550", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-eye", - "codepoint": "F191F", - "aliases": [ - "database-view" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B2F93B0D-CC43-4DA0-A01F-778FA9982235", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-eye-off", - "codepoint": "F1920", - "aliases": [ - "database-view-off" - ], - "styles": [ - "off", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F80F0F20-77A0-426B-9354-D6F5C2B77473", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-eye-off-outline", - "codepoint": "F1921", - "aliases": [ - "database-view-off-outline" - ], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Irigoyen" - }, - { - "id": "67DAC11C-DFB0-40C7-B8CF-26A41469DD80", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-eye-outline", - "codepoint": "F1922", - "aliases": [ - "database-view-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Irigoyen" - }, - { - "id": "733A4C8A-FAA5-42BE-882E-98EC734E8493", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-import", - "codepoint": "F095D", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "4D0E6B34-7EAB-4EC4-9782-F2318139A3E2", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-import-outline", - "codepoint": "F162D", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3A6B098D-F7AD-4D2C-A039-201319B5FDD7", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-lock", - "codepoint": "F0AAA", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Lock", - "Geographic Information System", - "Database" - ], - "author": "Andrew Nenakhov" - }, - { - "id": "A03B26F4-54BB-4E3D-B4E7-EAFE3351A6BA", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-lock-outline", - "codepoint": "F162E", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "91AD02DB-7EBD-4B39-AACB-8037B50728AC", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-marker", - "codepoint": "F12F6", - "aliases": [ - "database-location" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "163262B4-672A-4194-B002-3F414DF6C7A5", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-marker-outline", - "codepoint": "F162F", - "aliases": [ - "database-location-outline" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "31CE0431-ABF2-4650-8439-515C0E9012CD", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-minus", - "codepoint": "F01BB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Simran" - }, - { - "id": "96D5DD75-E7C1-444F-AD36-AB601BB9C504", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-minus-outline", - "codepoint": "F1630", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5E0B7DCE-B912-4789-A0F9-86DBA5D27DBE", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-off", - "codepoint": "F1640", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4DD86D39-4EC5-44BD-BA05-AA763999E390", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-off-outline", - "codepoint": "F1631", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "76AAFFAC-C2C7-4375-A175-765848BF08AA", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-outline", - "codepoint": "F1632", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "940D2514-B309-4CE0-A2E4-D02121415CA3", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-plus", - "codepoint": "F01BA", - "aliases": [ - "database-add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Simran" - }, - { - "id": "2250D162-41A7-4852-B3E2-555180A5A57C", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-plus-outline", - "codepoint": "F1633", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C43C676A-F2BE-489A-8613-BE6EF651F0AC", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-refresh", - "codepoint": "F05C2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "03B12B1B-7AF3-42C7-89CA-482DC21F12CE", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-refresh-outline", - "codepoint": "F1634", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "20B59D03-2EF5-4C5D-BB00-2CC611297AC0", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-remove", - "codepoint": "F0D00", - "aliases": [], - "styles": [ - "remove" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "32FBEA36-9F09-4D8D-A355-2DD6FB2AA837", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-remove-outline", - "codepoint": "F1635", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "58E36A40-053B-42EB-8879-9CB0948B58D4", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-search", - "codepoint": "F0866", - "aliases": [ - "sql-query" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "GreenTurtwig" - }, - { - "id": "EFAB71E6-7F67-40B9-B388-0B4AFFC6B799", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-search-outline", - "codepoint": "F1636", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CBD96BE0-807C-4102-AC0B-AEFFE4D322F7", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-settings", - "codepoint": "F0D01", - "aliases": [], - "styles": [ - "settings" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Settings", - "Geographic Information System", - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "9AB5AF13-E028-49FA-B81E-EFFF8A8EB144", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-settings-outline", - "codepoint": "F1637", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5E954303-C1CF-406B-A9B5-A72E5C25E499", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-sync", - "codepoint": "F0CFF", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "9E1F0B0A-332A-473D-8CA2-DD30E03E76B9", - "baseIconId": "C8FC48A7-AE19-4BD8-B57E-14B76D93937B", - "name": "database-sync-outline", - "codepoint": "F1638", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Colton Wiscombe" - }, - { - "id": "309A4ABA-E450-437D-8AD1-EE6A850D421B", - "baseIconId": "309A4ABA-E450-437D-8AD1-EE6A850D421B", - "name": "death-star", - "codepoint": "F08D8", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "51D35A62-F308-48B6-B471-D58CFE4CD6BC", - "baseIconId": "309A4ABA-E450-437D-8AD1-EE6A850D421B", - "name": "death-star-variant", - "codepoint": "F08D9", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "BC446853-45C9-4374-8980-579BCD93355A", - "baseIconId": "BC446853-45C9-4374-8980-579BCD93355A", - "name": "deathly-hallows", - "codepoint": "F0B87", - "aliases": [ - "harry-potter" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "250883A1-65B8-4092-9B92-C9BD810ADB5A", - "baseIconId": "250883A1-65B8-4092-9B92-C9BD810ADB5A", - "name": "debian", - "codepoint": "F08DA", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "316468B3-C3F6-4A7B-B7B2-061E5C35FFE9", - "baseIconId": "316468B3-C3F6-4A7B-B7B2-061E5C35FFE9", - "name": "debug-step-into", - "codepoint": "F01B9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "08B9B3C7-BB6B-4110-ACEC-3BB947FFCFBA", - "baseIconId": "08B9B3C7-BB6B-4110-ACEC-3BB947FFCFBA", - "name": "debug-step-out", - "codepoint": "F01B8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8242E7C8-1400-476D-AC27-DCA7B6292C70", - "baseIconId": "8242E7C8-1400-476D-AC27-DCA7B6292C70", - "name": "debug-step-over", - "codepoint": "F01B7", - "aliases": [ - "skip", - "jump" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "DA734DBD-1239-4E30-B688-ADF6A9D222D0", - "baseIconId": "DA734DBD-1239-4E30-B688-ADF6A9D222D0", - "name": "decagram", - "codepoint": "F076C", - "aliases": [ - "starburst" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "5F4B9A38-F090-4FA3-A138-1F758A9D446E", - "baseIconId": "DA734DBD-1239-4E30-B688-ADF6A9D222D0", - "name": "decagram-outline", - "codepoint": "F076D", - "aliases": [ - "starburst-outline" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "4A055D0D-18CA-45D9-96E1-B25448138888", - "baseIconId": "4A055D0D-18CA-45D9-96E1-B25448138888", - "name": "decimal", - "codepoint": "F10A1", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "A8C5A79A-EA59-4AA8-B432-98F66AFDAFD3", - "baseIconId": "A8C5A79A-EA59-4AA8-B432-98F66AFDAFD3", - "name": "decimal-comma", - "codepoint": "F10A2", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "E9237D99-5BD3-434A-B574-97C60B544EE1", - "baseIconId": "E9237D99-5BD3-434A-B574-97C60B544EE1", - "name": "decimal-comma-decrease", - "codepoint": "F10A3", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "3B4E5DF0-02B3-469D-9C6E-754683655184", - "baseIconId": "3B4E5DF0-02B3-469D-9C6E-754683655184", - "name": "decimal-comma-increase", - "codepoint": "F10A4", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "3A6FCF00-DE3C-4CD7-BF06-1D26E37E0C47", - "baseIconId": "3A6FCF00-DE3C-4CD7-BF06-1D26E37E0C47", - "name": "decimal-decrease", - "codepoint": "F01B6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Simran" - }, - { - "id": "E99CB4D3-330D-493C-9C6B-FD43B27522FD", - "baseIconId": "E99CB4D3-330D-493C-9C6B-FD43B27522FD", - "name": "decimal-increase", - "codepoint": "F01B5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Simran" - }, - { - "id": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete", - "codepoint": "F01B4", - "aliases": [ - "trash", - "bin", - "rubbish", - "garbage", - "rubbish-bin", - "trash-can", - "garbage-can" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2FF4634B-095D-4827-9735-E345A46FC488", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-alert", - "codepoint": "F10A5", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "idevo89" - }, - { - "id": "CFE12054-7E04-4144-B0CA-0DA9FE494E82", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-alert-outline", - "codepoint": "F10A6", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "idevo89" - }, - { - "id": "1158F80B-E934-4E74-A4C6-7750BDCC409E", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-circle", - "codepoint": "F0683", - "aliases": [ - "trash-circle", - "bin-circle", - "garbage-can-circle", - "garbage-circle", - "rubbish-bin-circle", - "rubbish-circle", - "trash-can-circle" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "854068FB-F9DA-40B4-A427-F2317075CD95", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-circle-outline", - "codepoint": "F0B88", - "aliases": [ - "bin-circle-outline", - "garbage-can-circle-outline", - "garbage-circle-outline", - "rubbish-bin-circle-outline", - "rubbish-circle-outline", - "trash-can-circle-outline", - "trash-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "TheChilliPL" - }, - { - "id": "3B615510-4D78-4743-9FB0-A3D45F267B04", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-clock", - "codepoint": "F1556", - "aliases": [], - "styles": [ - "clock" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "CoreyVidal" - }, - { - "id": "7544FA9D-AFFB-4038-8D9F-FEE3EB918342", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-clock-outline", - "codepoint": "F1557", - "aliases": [], - "styles": [ - "clock", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "CoreyVidal" - }, - { - "id": "E39FB607-9058-4C00-840C-AF666F372071", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-empty", - "codepoint": "F06CC", - "aliases": [ - "trash-empty", - "bin-empty", - "rubbish-empty", - "rubbish-bin-empty", - "trash-can-empty", - "garbage-empty", - "garbage-can-empty" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "69108916-6CE9-456A-A1BE-9113F49B425E", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-empty-outline", - "codepoint": "F0E9D", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "52AFD546-8C5D-4E77-8D83-D4D058A742FE", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-forever", - "codepoint": "F05E8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "103DF12F-6279-4967-8BF8-F72ED139E8E7", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-forever-outline", - "codepoint": "F0B89", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C0E55306-EBD8-46D9-BF50-7285DC72D4B7", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-off", - "codepoint": "F10A7", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "idevo89" - }, - { - "id": "4D2C0D3A-46A6-42B9-974E-F1B677C61D21", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-off-outline", - "codepoint": "F10A8", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "idevo89" - }, - { - "id": "59ADF7EF-9F3E-4957-A789-95788D13B9E4", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-outline", - "codepoint": "F09E7", - "aliases": [ - "garbage-outline", - "bin-outline", - "rubbish-outline", - "garbage-can-outline", - "rubbish-bin-outline", - "trash-outline", - "trash-can-outline" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7837B9B7-2A6F-42E3-894D-C40D0080FB7B", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-restore", - "codepoint": "F0819", - "aliases": [ - "trash-restore", - "bin-restore", - "restore-from-trash" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3B3D514C-AFC3-4D04-91EA-E18F03BB494A", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-sweep", - "codepoint": "F05E9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "18C79874-01B2-4A65-AD4E-B8600C3F3ADD", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-sweep-outline", - "codepoint": "F0C62", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DC3862AC-6945-4104-9F15-50BD46D13705", - "baseIconId": "71CD492D-A1E8-4A7A-961A-51DA30952BAD", - "name": "delete-variant", - "codepoint": "F01B3", - "aliases": [ - "trash-variant", - "bin-variant", - "cup-ice", - "drink-ice" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D4B29470-8EE3-4ED8-BB01-6C942CE7E748", - "baseIconId": "D4B29470-8EE3-4ED8-BB01-6C942CE7E748", - "name": "delta", - "codepoint": "F01C2", - "aliases": [ - "change-history" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math", - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "35E2D33D-B4A8-4E12-B844-8EC1172F15A9", - "baseIconId": "35E2D33D-B4A8-4E12-B844-8EC1172F15A9", - "name": "desk", - "codepoint": "F1239", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Gabriel Grant" - }, - { - "id": "80459D13-2662-4F47-AB31-F6A2B84C8DEB", - "baseIconId": "80459D13-2662-4F47-AB31-F6A2B84C8DEB", - "name": "desk-lamp", - "codepoint": "F095F", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Contributors" - }, - { - "id": "3CC7EBFA-A595-4E15-8ACF-7C43267B162C", - "baseIconId": "80459D13-2662-4F47-AB31-F6A2B84C8DEB", - "name": "desk-lamp-off", - "codepoint": "F1B1F", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C5747413-9B53-48DD-8B30-A2C861EFC675", - "baseIconId": "80459D13-2662-4F47-AB31-F6A2B84C8DEB", - "name": "desk-lamp-on", - "codepoint": "F1B20", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C05777DC-F874-4231-B9EB-5675C808F7BB", - "baseIconId": "C05777DC-F874-4231-B9EB-5675C808F7BB", - "name": "deskphone", - "codepoint": "F01C3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Chris Litherland" - }, - { - "id": "40B89929-0709-461F-8C7A-ED94CDDCC4AC", - "baseIconId": "40B89929-0709-461F-8C7A-ED94CDDCC4AC", - "name": "desktop-classic", - "codepoint": "F07C0", - "aliases": [ - "computer-classic" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "362BCE24-8F91-491A-8EE8-BD08C296511A", - "baseIconId": "362BCE24-8F91-491A-8EE8-BD08C296511A", - "name": "desktop-tower", - "codepoint": "F01C5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Chris Litherland" - }, - { - "id": "D7BED84E-B592-46F0-8A5B-DD8677088837", - "baseIconId": "D7BED84E-B592-46F0-8A5B-DD8677088837", - "name": "desktop-tower-monitor", - "codepoint": "F0AAB", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "SarinManS" - }, - { - "id": "21A2819F-3B97-49D0-A588-30CF7B8915F5", - "baseIconId": "21A2819F-3B97-49D0-A588-30CF7B8915F5", - "name": "details", - "codepoint": "F01C6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D3E5B7D2-2301-4D35-A95E-1C1B0A6C9224", - "baseIconId": "D3E5B7D2-2301-4D35-A95E-1C1B0A6C9224", - "name": "dev-to", - "codepoint": "F0D6E", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7D1C43A0-CDE0-416B-A1A9-1CD07F930284", - "baseIconId": "7D1C43A0-CDE0-416B-A1A9-1CD07F930284", - "name": "developer-board", - "codepoint": "F0697", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "ECD72042-9BA7-4C24-A740-7F538B443302", - "baseIconId": "ECD72042-9BA7-4C24-A740-7F538B443302", - "name": "deviantart", - "codepoint": "F01C7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D8990892-9C02-46AC-9A91-3D4D9A2EFF19", - "baseIconId": "D8990892-9C02-46AC-9A91-3D4D9A2EFF19", - "name": "devices", - "codepoint": "F0FB0", - "aliases": [ - "monitor", - "watch", - "smartwatch", - "smartphone", - "cellphone", - "television" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "18A94F7F-1BC5-48EC-9CAF-6D2D663287DC", - "baseIconId": "18A94F7F-1BC5-48EC-9CAF-6D2D663287DC", - "name": "dharmachakra", - "codepoint": "F094B", - "aliases": [ - "dharma-wheel", - "religion-buddhist", - "buddhism" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Nick" - }, - { - "id": "B0973EC9-B27B-4666-8E9E-C766A601BB0A", - "baseIconId": "B0973EC9-B27B-4666-8E9E-C766A601BB0A", - "name": "diabetes", - "codepoint": "F1126", - "aliases": [ - "hand-blood" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Richins" - }, - { - "id": "B732FAD7-93A7-478E-810F-835069DE6EDB", - "baseIconId": "B732FAD7-93A7-478E-810F-835069DE6EDB", - "name": "dialpad", - "codepoint": "F061C", - "aliases": [ - "keypad" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "64CBC510-072A-477D-99DD-F8114E7E312E", - "baseIconId": "64CBC510-072A-477D-99DD-F8114E7E312E", - "name": "diameter", - "codepoint": "F0C63", - "aliases": [ - "circle-diameter", - "sphere-diameter" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "ABE01F05-E04E-4C5F-8F70-F8A9DB484E89", - "baseIconId": "64CBC510-072A-477D-99DD-F8114E7E312E", - "name": "diameter-outline", - "codepoint": "F0C64", - "aliases": [ - "circle-diameter-outline", - "sphere-diameter-outline" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "B1744A41-3289-4535-81F8-E23617C701FE", - "baseIconId": "64CBC510-072A-477D-99DD-F8114E7E312E", - "name": "diameter-variant", - "codepoint": "F0C65", - "aliases": [ - "circle-diameter-variant", - "sphere-diameter-variant" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "BC337E6C-8077-4D79-9596-6B9EDDA6DE0D", - "baseIconId": "BC337E6C-8077-4D79-9596-6B9EDDA6DE0D", - "name": "diamond", - "codepoint": "F0B8A", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "4D922F91-E62D-42BB-86E4-BE8A96BC2B80", - "baseIconId": "BC337E6C-8077-4D79-9596-6B9EDDA6DE0D", - "name": "diamond-outline", - "codepoint": "F0B8B", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "7AEA1B64-9B6D-4D55-91F8-05BA1BF3BF89", - "baseIconId": "BC337E6C-8077-4D79-9596-6B9EDDA6DE0D", - "name": "diamond-stone", - "codepoint": "F01C8", - "aliases": [ - "jewel" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "F8E5E9B6-9953-46F8-84DC-CFBB11DEFFB7", - "baseIconId": "F8E5E9B6-9953-46F8-84DC-CFBB11DEFFB7", - "name": "dice-1", - "codepoint": "F01CA", - "aliases": [ - "die-1", - "dice-one" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "430F434F-E5F5-4D54-97B0-F6D1CE844365", - "baseIconId": "F8E5E9B6-9953-46F8-84DC-CFBB11DEFFB7", - "name": "dice-1-outline", - "codepoint": "F114A", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "07927207-23B1-4A93-BB8A-E6B5F41B919A", - "baseIconId": "07927207-23B1-4A93-BB8A-E6B5F41B919A", - "name": "dice-2", - "codepoint": "F01CB", - "aliases": [ - "die-2", - "dice-two" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "BA4A2CA9-22E9-450E-B8CA-99A8ED5E0A1B", - "baseIconId": "07927207-23B1-4A93-BB8A-E6B5F41B919A", - "name": "dice-2-outline", - "codepoint": "F114B", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2948109E-F9DA-4306-8247-665CC05BDB21", - "baseIconId": "2948109E-F9DA-4306-8247-665CC05BDB21", - "name": "dice-3", - "codepoint": "F01CC", - "aliases": [ - "die-3", - "dice-three" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "D4689BAD-0911-4832-9A8E-AD334D834773", - "baseIconId": "2948109E-F9DA-4306-8247-665CC05BDB21", - "name": "dice-3-outline", - "codepoint": "F114C", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F7FA1307-CC98-4B93-B42A-533F1F6E851C", - "baseIconId": "F7FA1307-CC98-4B93-B42A-533F1F6E851C", - "name": "dice-4", - "codepoint": "F01CD", - "aliases": [ - "die-4", - "dice-four" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "A24BDBB1-DF5E-4022-8AF0-3D4989B0F2EE", - "baseIconId": "F7FA1307-CC98-4B93-B42A-533F1F6E851C", - "name": "dice-4-outline", - "codepoint": "F114D", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B9F7FE0-5AA9-4B5F-B865-D7F21C1382AF", - "baseIconId": "9B9F7FE0-5AA9-4B5F-B865-D7F21C1382AF", - "name": "dice-5", - "codepoint": "F01CE", - "aliases": [ - "die-5", - "dice-five" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "07A26D74-6460-4AD8-9470-E4E0A39E9DAB", - "baseIconId": "9B9F7FE0-5AA9-4B5F-B865-D7F21C1382AF", - "name": "dice-5-outline", - "codepoint": "F114E", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "015F173B-CA59-4125-8F19-925ED108BE07", - "baseIconId": "015F173B-CA59-4125-8F19-925ED108BE07", - "name": "dice-6", - "codepoint": "F01CF", - "aliases": [ - "die-6", - "dice-six" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "359B124F-4377-4580-9C7C-494539D087DB", - "baseIconId": "015F173B-CA59-4125-8F19-925ED108BE07", - "name": "dice-6-outline", - "codepoint": "F114F", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F80FBAEF-6EE5-4F02-AAA8-7E3FBA618708", - "baseIconId": "F80FBAEF-6EE5-4F02-AAA8-7E3FBA618708", - "name": "dice-d10", - "codepoint": "F1153", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "47BB1E5C-0CCD-4A50-B1EF-2437411217C0", - "baseIconId": "F80FBAEF-6EE5-4F02-AAA8-7E3FBA618708", - "name": "dice-d10-outline", - "codepoint": "F076F", - "aliases": [ - "die-d10" - ], - "styles": [ - "outline" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "87285D65-197B-46D6-BAD6-F9EE53DD5F28", - "baseIconId": "87285D65-197B-46D6-BAD6-F9EE53DD5F28", - "name": "dice-d12", - "codepoint": "F1154", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E27CCA75-CE3E-4C7D-81AA-D3A1391A819E", - "baseIconId": "87285D65-197B-46D6-BAD6-F9EE53DD5F28", - "name": "dice-d12-outline", - "codepoint": "F0867", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "948F2639-1E9E-478F-BCC9-4EC7147F8616", - "baseIconId": "948F2639-1E9E-478F-BCC9-4EC7147F8616", - "name": "dice-d20", - "codepoint": "F1155", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "926FAA94-AB58-44AA-916C-66AF56A5BCCF", - "baseIconId": "948F2639-1E9E-478F-BCC9-4EC7147F8616", - "name": "dice-d20-outline", - "codepoint": "F05EA", - "aliases": [ - "die-d20" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "876805AB-7EC6-4CD8-A9D4-17213004A83A", - "baseIconId": "876805AB-7EC6-4CD8-A9D4-17213004A83A", - "name": "dice-d4", - "codepoint": "F1150", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DCC141FA-CA87-48E1-969D-BB010C973DD5", - "baseIconId": "876805AB-7EC6-4CD8-A9D4-17213004A83A", - "name": "dice-d4-outline", - "codepoint": "F05EB", - "aliases": [ - "die-d4" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "A62117B1-58C5-4A44-B6B1-C6E1DCEB7E00", - "baseIconId": "A62117B1-58C5-4A44-B6B1-C6E1DCEB7E00", - "name": "dice-d6", - "codepoint": "F1151", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A0F00FDF-6648-475B-819B-29E4C0769FFA", - "baseIconId": "A62117B1-58C5-4A44-B6B1-C6E1DCEB7E00", - "name": "dice-d6-outline", - "codepoint": "F05ED", - "aliases": [ - "die-d6" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "5EA075B9-0455-42DA-AB57-47BAFADF0160", - "baseIconId": "5EA075B9-0455-42DA-AB57-47BAFADF0160", - "name": "dice-d8", - "codepoint": "F1152", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "64967BE6-CAAF-4F28-BF55-C5451D4E8B94", - "baseIconId": "5EA075B9-0455-42DA-AB57-47BAFADF0160", - "name": "dice-d8-outline", - "codepoint": "F05EC", - "aliases": [ - "die-d8" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "8C9D5084-1B34-4AB9-BE23-E44B03AE85E5", - "baseIconId": "8C9D5084-1B34-4AB9-BE23-E44B03AE85E5", - "name": "dice-multiple", - "codepoint": "F076E", - "aliases": [ - "die-multiple" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "4F078165-F841-4013-B24C-4FA639C7F708", - "baseIconId": "8C9D5084-1B34-4AB9-BE23-E44B03AE85E5", - "name": "dice-multiple-outline", - "codepoint": "F1156", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "58BA7D31-6B34-46E6-B325-080C95B32A6F", - "baseIconId": "58BA7D31-6B34-46E6-B325-080C95B32A6F", - "name": "digital-ocean", - "codepoint": "F1237", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Michael Richins" - }, - { - "id": "2356EE38-11BE-44B1-BAD9-D74ECE86F8E7", - "baseIconId": "2356EE38-11BE-44B1-BAD9-D74ECE86F8E7", - "name": "dip-switch", - "codepoint": "F07C1", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4C84603B-BEB6-4282-B6CE-D9AD3C098627", - "baseIconId": "4C84603B-BEB6-4282-B6CE-D9AD3C098627", - "name": "directions", - "codepoint": "F01D0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8F53DAC3-E72D-473E-ABD1-AC1849EB660A", - "baseIconId": "8F53DAC3-E72D-473E-ABD1-AC1849EB660A", - "name": "directions-fork", - "codepoint": "F0641", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "95CEA0DD-5123-4FFA-B906-E6C55766030D", - "baseIconId": "95CEA0DD-5123-4FFA-B906-E6C55766030D", - "name": "disc", - "codepoint": "F05EE", - "aliases": [ - "cd-rom", - "dvd" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Simran" - }, - { - "id": "63A41E0F-CCDB-42F8-848B-F64AA94F9BDF", - "baseIconId": "95CEA0DD-5123-4FFA-B906-E6C55766030D", - "name": "disc-alert", - "codepoint": "F01D1", - "aliases": [ - "disc-full", - "disc-warning" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "DA84CDD7-3881-4DE0-8CEB-51F1BD086A3A", - "baseIconId": "DA84CDD7-3881-4DE0-8CEB-51F1BD086A3A", - "name": "disc-player", - "codepoint": "F0960", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation", - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "41CB517E-41F5-47D4-A8A2-E9512CB065DD", - "baseIconId": "41CB517E-41F5-47D4-A8A2-E9512CB065DD", - "name": "dishwasher", - "codepoint": "F0AAC", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "A72D6C1A-A953-4F9B-BD38-0E0ACF1A6C58", - "baseIconId": "41CB517E-41F5-47D4-A8A2-E9512CB065DD", - "name": "dishwasher-alert", - "codepoint": "F11B8", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5BB3E0C6-278F-4008-8327-0124D7A209A6", - "baseIconId": "41CB517E-41F5-47D4-A8A2-E9512CB065DD", - "name": "dishwasher-off", - "codepoint": "F11B9", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "28670432-3B76-43FC-B879-558B338F1E1F", - "baseIconId": "28670432-3B76-43FC-B879-558B338F1E1F", - "name": "disqus", - "codepoint": "F01D2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "BA55B495-6775-4070-9ADC-FF56EB8E067D", - "baseIconId": "BA55B495-6775-4070-9ADC-FF56EB8E067D", - "name": "distribute-horizontal-center", - "codepoint": "F11C9", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "22C7EA3A-483D-4BFD-A115-42F86F164135", - "baseIconId": "22C7EA3A-483D-4BFD-A115-42F86F164135", - "name": "distribute-horizontal-left", - "codepoint": "F11C8", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "771135B5-F856-4AAE-9FD1-8F728964DE2F", - "baseIconId": "771135B5-F856-4AAE-9FD1-8F728964DE2F", - "name": "distribute-horizontal-right", - "codepoint": "F11CA", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DDF54E4F-65E8-407A-961F-5B02A3A0DC37", - "baseIconId": "DDF54E4F-65E8-407A-961F-5B02A3A0DC37", - "name": "distribute-vertical-bottom", - "codepoint": "F11CB", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "35AAECBA-CF24-4DCC-99F0-20D9CB21B58B", - "baseIconId": "35AAECBA-CF24-4DCC-99F0-20D9CB21B58B", - "name": "distribute-vertical-center", - "codepoint": "F11CC", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F1C73D50-8C76-4269-8CBB-D232C55BD100", - "baseIconId": "F1C73D50-8C76-4269-8CBB-D232C55BD100", - "name": "distribute-vertical-top", - "codepoint": "F11CD", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A951E9F9-30A8-4B95-AAFC-1B926A4F1E17", - "baseIconId": "A951E9F9-30A8-4B95-AAFC-1B926A4F1E17", - "name": "diversify", - "codepoint": "F1877", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "813D489B-3127-4F32-9D6E-4BB8A6F51605", - "baseIconId": "813D489B-3127-4F32-9D6E-4BB8A6F51605", - "name": "diving", - "codepoint": "F1977", - "aliases": [ - "swim-dive", - "human-diving" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "B57B062B-66A2-4F90-85A3-97446E1934D2", - "baseIconId": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "name": "diving-flippers", - "codepoint": "F0DBF", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "4732B7F8-F8EF-4E5A-A889-BA5770B1B4FF", - "baseIconId": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "name": "diving-helmet", - "codepoint": "F0DC0", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8BE8E8A6-2A2A-490D-91AB-D7C6AEFEC68C", - "baseIconId": "8BE8E8A6-2A2A-490D-91AB-D7C6AEFEC68C", - "name": "diving-scuba", - "codepoint": "F1B77", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "7B600593-08CB-42D0-B106-0EDF12132BFC", - "baseIconId": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "name": "diving-scuba-flag", - "codepoint": "F0DC2", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6C2E4BEE-6D01-4B09-A501-CE976EE20740", - "baseIconId": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "name": "diving-scuba-mask", - "codepoint": "F0DC1", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "64055E84-7F77-4020-A105-313AAD36353E", - "baseIconId": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "name": "diving-scuba-tank", - "codepoint": "F0DC3", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "868AEE51-0552-43D0-97FA-9F783BB2A67C", - "baseIconId": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "name": "diving-scuba-tank-multiple", - "codepoint": "F0DC4", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "baseIconId": "227F84AF-3BC0-4C9D-BADB-DC8B1A110ED8", - "name": "diving-snorkel", - "codepoint": "F0DC5", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "FB313489-5EA3-4F07-ABA4-F84995D7DD13", - "baseIconId": "FB313489-5EA3-4F07-ABA4-F84995D7DD13", - "name": "division", - "codepoint": "F01D4", - "aliases": [ - "obelus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "1A0BABA0-5F5E-45ED-A4BB-DCBD569F6E43", - "baseIconId": "FB313489-5EA3-4F07-ABA4-F84995D7DD13", - "name": "division-box", - "codepoint": "F01D5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "15C7622F-855B-4FFA-BA1A-ED0ED470078B", - "baseIconId": "15C7622F-855B-4FFA-BA1A-ED0ED470078B", - "name": "dlna", - "codepoint": "F0A41", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2C726E7E-53C8-410C-82F4-FE5DE9EF4BC1", - "baseIconId": "2C726E7E-53C8-410C-82F4-FE5DE9EF4BC1", - "name": "dna", - "codepoint": "F0684", - "aliases": [ - "helix" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Haley Halcyon" - }, - { - "id": "D4A20191-F5B8-4323-A0A8-F4C15A86A83B", - "baseIconId": "D4A20191-F5B8-4323-A0A8-F4C15A86A83B", - "name": "dns", - "codepoint": "F01D6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D81BA495-F83D-4CFF-A9A5-B398D7E53DC7", - "baseIconId": "D4A20191-F5B8-4323-A0A8-F4C15A86A83B", - "name": "dns-outline", - "codepoint": "F0B8C", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E6B5C99C-7C0F-4F61-AEF9-7FDF6851D426", - "baseIconId": "E6B5C99C-7C0F-4F61-AEF9-7FDF6851D426", - "name": "dock-bottom", - "codepoint": "F10A9", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "59BABD0B-E745-4389-B318-4E166F2ED0C0", - "baseIconId": "59BABD0B-E745-4389-B318-4E166F2ED0C0", - "name": "dock-left", - "codepoint": "F10AA", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "3AF2E71C-A865-4512-8B41-3803BFA84C48", - "baseIconId": "3AF2E71C-A865-4512-8B41-3803BFA84C48", - "name": "dock-right", - "codepoint": "F10AB", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "4014E87F-B3F7-465B-B84D-ED2408AA95EE", - "baseIconId": "4014E87F-B3F7-465B-B84D-ED2408AA95EE", - "name": "dock-top", - "codepoint": "F1513", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6EF77419-3085-4805-804C-096C6D8A4450", - "baseIconId": "6EF77419-3085-4805-804C-096C6D8A4450", - "name": "dock-window", - "codepoint": "F10AC", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8EE88381-B350-4C63-B26D-F340FE54D668", - "baseIconId": "8EE88381-B350-4C63-B26D-F340FE54D668", - "name": "docker", - "codepoint": "F0868", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "3772A377-C71A-429B-A4A6-3979DA3BC588", - "baseIconId": "3772A377-C71A-429B-A4A6-3979DA3BC588", - "name": "doctor", - "codepoint": "F0A42", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Augustin Ursu" - }, - { - "id": "8D6EB954-B4C9-44D5-9E70-C4E186C35957", - "baseIconId": "8D6EB954-B4C9-44D5-9E70-C4E186C35957", - "name": "dog", - "codepoint": "F0A43", - "aliases": [ - "emoji-dog", - "emoticon-dog" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C0CF99F2-5D8E-4478-9602-9866AF83B94B", - "baseIconId": "4A3EEFF6-77EF-498F-9450-7AE3D3EC7BC6", - "name": "dog-service", - "codepoint": "F0AAD", - "aliases": [ - "guide-dog", - "k9", - "canine" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Michael Richins" - }, - { - "id": "4A3EEFF6-77EF-498F-9450-7AE3D3EC7BC6", - "baseIconId": "4A3EEFF6-77EF-498F-9450-7AE3D3EC7BC6", - "name": "dog-side", - "codepoint": "F0A44", - "aliases": [ - "k9", - "canine" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Nick" - }, - { - "id": "74FE76CF-E5A5-42F3-97BD-0BCDF17DBFFF", - "baseIconId": "4A3EEFF6-77EF-498F-9450-7AE3D3EC7BC6", - "name": "dog-side-off", - "codepoint": "F16EE", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FE71CD75-B2E7-49A5-B00B-732BACB52F6F", - "baseIconId": "FE71CD75-B2E7-49A5-B00B-732BACB52F6F", - "name": "dolby", - "codepoint": "F06B3", - "aliases": [], - "styles": [], - "version": "1.7.22", - "deprecated": true, - "tags": [ - "Audio", - "Brand \/ Logo", - "Home Automation" - ], - "author": "Contributors" - }, - { - "id": "6F2EAC1C-802A-48CF-A9E1-7EBFD4893BAF", - "baseIconId": "6F2EAC1C-802A-48CF-A9E1-7EBFD4893BAF", - "name": "dolly", - "codepoint": "F0E9E", - "aliases": [ - "hand-truck", - "trolley" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "578351FA-0F35-41B0-BC7C-A9B33EBEBC4D", - "baseIconId": "578351FA-0F35-41B0-BC7C-A9B33EBEBC4D", - "name": "dolphin", - "codepoint": "F18B4", - "aliases": [ - "porpoise" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CA264BA4-62A9-4823-A172-22DD413A6CF5", - "baseIconId": "CA264BA4-62A9-4823-A172-22DD413A6CF5", - "name": "domain", - "codepoint": "F01D7", - "aliases": [ - "building", - "company", - "business" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Google" - }, - { - "id": "77232563-20F2-4C73-B30E-5F83D237E7D7", - "baseIconId": "CA264BA4-62A9-4823-A172-22DD413A6CF5", - "name": "domain-off", - "codepoint": "F0D6F", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C19B8872-80EF-439B-A7B8-5F043DC66991", - "baseIconId": "CA264BA4-62A9-4823-A172-22DD413A6CF5", - "name": "domain-plus", - "codepoint": "F10AD", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BB1C669D-D6EA-47D7-B15C-10A236D214AA", - "baseIconId": "CA264BA4-62A9-4823-A172-22DD413A6CF5", - "name": "domain-remove", - "codepoint": "F10AE", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "27E6BA2C-0A33-4FE7-AF71-B3B9AE767C0B", - "baseIconId": "CA264BA4-62A9-4823-A172-22DD413A6CF5", - "name": "domain-switch", - "codepoint": "F1C2C", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "E17E8B8F-361D-4467-97BE-71C3ABE9355A", - "baseIconId": "E17E8B8F-361D-4467-97BE-71C3ABE9355A", - "name": "dome-light", - "codepoint": "F141E", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Tim Grelka" - }, - { - "id": "4621ACB1-6F3D-414D-8724-B276982DB087", - "baseIconId": "4621ACB1-6F3D-414D-8724-B276982DB087", - "name": "domino-mask", - "codepoint": "F1023", - "aliases": [ - "robber-mask", - "zorro-mask" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Andrew Nenakhov" - }, - { - "id": "7027E5FC-228D-4E32-B2BB-02287E94D132", - "baseIconId": "7027E5FC-228D-4E32-B2BB-02287E94D132", - "name": "donkey", - "codepoint": "F07C2", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Contributors" - }, - { - "id": "858F8782-5001-4950-96F2-65032091A847", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door", - "codepoint": "F081A", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Haley Halcyon" - }, - { - "id": "DFE96305-5114-4F53-AB08-08F99F37C2FE", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door-closed", - "codepoint": "F081B", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Haley Halcyon" - }, - { - "id": "4F2F0F07-CF86-40E1-A204-E5BAB501B5F5", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door-closed-cancel", - "codepoint": "F1C93", - "aliases": [ - "door-forbidden", - "door-do-not-enter", - "door-unavailable" - ], - "styles": [ - "cancel" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "792A98B0-E031-43CF-AF8B-ACF21C97C4C2", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door-closed-lock", - "codepoint": "F10AF", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "A64D06DE-1EE4-400F-9E17-2B5D319475A3", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door-open", - "codepoint": "F081C", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Haley Halcyon" - }, - { - "id": "73FBEFFD-7EE3-4272-AB1F-A480C698FD5E", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door-sliding", - "codepoint": "F181E", - "aliases": [ - "patio-door", - "french-door" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "933F6908-12B7-4448-9A83-1FAD909ECC53", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door-sliding-lock", - "codepoint": "F181F", - "aliases": [ - "patio-door-lock", - "french-door-lock" - ], - "styles": [ - "lock", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B8358F0C-19A7-4E55-AF98-F4FEFA983148", - "baseIconId": "858F8782-5001-4950-96F2-65032091A847", - "name": "door-sliding-open", - "codepoint": "F1820", - "aliases": [ - "patio-door-open", - "french-door-open" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "91D0BB43-E5D4-4F0B-89E7-B379A6F9A455", - "baseIconId": "91D0BB43-E5D4-4F0B-89E7-B379A6F9A455", - "name": "doorbell", - "codepoint": "F12E6", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "63848BB0-8CBA-491A-9D3A-5964BAA67CC2", - "baseIconId": "91D0BB43-E5D4-4F0B-89E7-B379A6F9A455", - "name": "doorbell-video", - "codepoint": "F0869", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "E05A9EE4-A599-4195-93F9-0E4024670E81", - "baseIconId": "E05A9EE4-A599-4195-93F9-0E4024670E81", - "name": "dot-net", - "codepoint": "F0AAE", - "aliases": [ - "microsoft-dot-net" - ], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "FDC05366-F73E-4D60-B048-8AA4732B2C1F", - "baseIconId": "FDC05366-F73E-4D60-B048-8AA4732B2C1F", - "name": "dots-circle", - "codepoint": "F1978", - "aliases": [ - "perimeter" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9BBDE78A-ADFF-4FFB-AC79-C7B1FDAB633E", - "baseIconId": "9BBDE78A-ADFF-4FFB-AC79-C7B1FDAB633E", - "name": "dots-grid", - "codepoint": "F15FC", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "92CE1CCF-7652-4292-831D-CFE1ADBB54B6", - "baseIconId": "92CE1CCF-7652-4292-831D-CFE1ADBB54B6", - "name": "dots-hexagon", - "codepoint": "F15FF", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "9156AFAA-25BB-4E97-9EC8-BB9BE9AF60B0", - "baseIconId": "9156AFAA-25BB-4E97-9EC8-BB9BE9AF60B0", - "name": "dots-horizontal", - "codepoint": "F01D8", - "aliases": [ - "more", - "ellipsis-horizontal", - "more-horiz", - "menu" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2ED6A664-DAE9-427C-8810-496C331C9BE0", - "baseIconId": "9156AFAA-25BB-4E97-9EC8-BB9BE9AF60B0", - "name": "dots-horizontal-circle", - "codepoint": "F07C3", - "aliases": [ - "ellipsis-horizontal-circle", - "more-circle", - "menu" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "378E8311-F963-41EC-9AFF-5B30EF975313", - "baseIconId": "9156AFAA-25BB-4E97-9EC8-BB9BE9AF60B0", - "name": "dots-horizontal-circle-outline", - "codepoint": "F0B8D", - "aliases": [ - "ellipsis-horizontal-circle-outline", - "more-circle-outline", - "menu" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "57A090F9-EBDF-4A60-8B83-1D5E5A61B73E", - "baseIconId": "57A090F9-EBDF-4A60-8B83-1D5E5A61B73E", - "name": "dots-square", - "codepoint": "F15FD", - "aliases": [ - "perimeter" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "37FA940A-635C-48A5-988B-D1F4BBC0A7E0", - "baseIconId": "37FA940A-635C-48A5-988B-D1F4BBC0A7E0", - "name": "dots-triangle", - "codepoint": "F15FE", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "5D70B3D1-8407-42C9-A3C1-42EE68FF18F3", - "baseIconId": "5D70B3D1-8407-42C9-A3C1-42EE68FF18F3", - "name": "dots-vertical", - "codepoint": "F01D9", - "aliases": [ - "ellipsis-vertical", - "more-vert", - "menu" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5D23E65D-271A-463B-972F-E8524E76E6D7", - "baseIconId": "5D70B3D1-8407-42C9-A3C1-42EE68FF18F3", - "name": "dots-vertical-circle", - "codepoint": "F07C4", - "aliases": [ - "ellipsis-vertical-circle", - "menu" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E2CD4D50-D64C-47B9-AF3B-C464D65CD4EB", - "baseIconId": "5D70B3D1-8407-42C9-A3C1-42EE68FF18F3", - "name": "dots-vertical-circle-outline", - "codepoint": "F0B8E", - "aliases": [ - "ellipsis-vertical-circle-outline", - "menu" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "704F7397-0E85-4213-8D76-FE156DF1795F", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download", - "codepoint": "F01DA", - "aliases": [ - "file-download", - "get-app" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "49E1E432-8C28-43AA-818C-EB62ACF5EC06", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-box", - "codepoint": "F1462", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "48A14899-8641-40E7-BF9D-06BD6AE9BB54", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-box-outline", - "codepoint": "F1463", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B4B33DFC-4361-478D-A3A3-3FD224B95C16", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-circle", - "codepoint": "F1464", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0F2CB73D-1357-4004-88DE-6E57549B8F1C", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-circle-outline", - "codepoint": "F1465", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F70D7D6A-B496-4182-A423-939E2CCF21AC", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-lock", - "codepoint": "F1320", - "aliases": [], - "styles": [ - "lock" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "CDB71553-149F-452B-A0DC-2CD8EFA41150", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-lock-outline", - "codepoint": "F1321", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "EEECC393-B78C-43DE-BDA4-F31DACA25F56", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-multiple", - "codepoint": "F09E9", - "aliases": [ - "downloads" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "8DD93DC3-060D-4CB3-AB41-8A1A5243BFFD", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-network", - "codepoint": "F06F4", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "EACBF539-FF17-4F63-8782-AB4146D9B072", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-network-outline", - "codepoint": "F0C66", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C582FB3E-A708-411C-91C8-FA660E313AAE", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-off", - "codepoint": "F10B0", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0FFB4F5B-34FB-4E1F-AA6B-96C5CD8F9632", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-off-outline", - "codepoint": "F10B1", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "AB9770C4-6886-4A46-8F4E-B96CBCCCF839", - "baseIconId": "704F7397-0E85-4213-8D76-FE156DF1795F", - "name": "download-outline", - "codepoint": "F0B8F", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2366C232-208F-4A03-9FC9-D9C8C52622CA", - "baseIconId": "2366C232-208F-4A03-9FC9-D9C8C52622CA", - "name": "drag", - "codepoint": "F01DB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "544A0702-E7DC-4E1F-9A6E-8785AA3048D8", - "baseIconId": "2366C232-208F-4A03-9FC9-D9C8C52622CA", - "name": "drag-horizontal", - "codepoint": "F01DC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "FA5B1F76-C0C4-4F08-B545-D28E78781F67", - "baseIconId": "2366C232-208F-4A03-9FC9-D9C8C52622CA", - "name": "drag-horizontal-variant", - "codepoint": "F12F0", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5B3C7AEE-2539-4DD7-AA86-D5B3ED1EB097", - "baseIconId": "2366C232-208F-4A03-9FC9-D9C8C52622CA", - "name": "drag-variant", - "codepoint": "F0B90", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4B8D8E9B-547D-4DE3-B8E1-5023867EF965", - "baseIconId": "2366C232-208F-4A03-9FC9-D9C8C52622CA", - "name": "drag-vertical", - "codepoint": "F01DD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "BAD1F323-E74E-4E04-A1F6-4CCC7CAC2E34", - "baseIconId": "2366C232-208F-4A03-9FC9-D9C8C52622CA", - "name": "drag-vertical-variant", - "codepoint": "F12F1", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "ACAF4137-3EA8-4B7C-A1DB-C34759C70A5D", - "baseIconId": "ACAF4137-3EA8-4B7C-A1DB-C34759C70A5D", - "name": "drama-masks", - "codepoint": "F0D02", - "aliases": [ - "comedy", - "tragedy", - "theatre" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Augustin Ursu" - }, - { - "id": "ECDE04BF-F8A5-4DAD-B4F9-887CAE97CBE3", - "baseIconId": "ECDE04BF-F8A5-4DAD-B4F9-887CAE97CBE3", - "name": "draw", - "codepoint": "F0F49", - "aliases": [ - "sign", - "signature" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "152EF3D9-A7C4-40AC-8691-D5A4D48CFD37", - "baseIconId": "ECDE04BF-F8A5-4DAD-B4F9-887CAE97CBE3", - "name": "draw-pen", - "codepoint": "F19B9", - "aliases": [ - "sign", - "signature" - ], - "styles": [ - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Form", - "Drawing \/ Art" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E8557F02-8241-47FB-B546-402947A5818C", - "baseIconId": "E8557F02-8241-47FB-B546-402947A5818C", - "name": "drawing", - "codepoint": "F01DE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "BF9750EC-EB85-4670-A4DE-4808729249B5", - "baseIconId": "E8557F02-8241-47FB-B546-402947A5818C", - "name": "drawing-box", - "codepoint": "F01DF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Shape" - ], - "author": "Google" - }, - { - "id": "BBA92DC7-D461-44FA-8FA2-6D8846368E5C", - "baseIconId": "BBA92DC7-D461-44FA-8FA2-6D8846368E5C", - "name": "dresser", - "codepoint": "F0F4A", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "B70C7178-DB6F-4172-8440-3A9003AA040D", - "baseIconId": "BBA92DC7-D461-44FA-8FA2-6D8846368E5C", - "name": "dresser-outline", - "codepoint": "F0F4B", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "B6A0EC44-BDF3-4001-ABBF-51E0F2522BD3", - "baseIconId": "B6A0EC44-BDF3-4001-ABBF-51E0F2522BD3", - "name": "drone", - "codepoint": "F01E2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Austin Andrews" - }, - { - "id": "C8E22510-9369-4C7C-B598-8799DB9FE2A2", - "baseIconId": "C8E22510-9369-4C7C-B598-8799DB9FE2A2", - "name": "dropbox", - "codepoint": "F01E3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "5FCCAA35-0339-4B8F-984A-D4112C3277C1", - "baseIconId": "5FCCAA35-0339-4B8F-984A-D4112C3277C1", - "name": "drupal", - "codepoint": "F01E4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "74F300CC-D7A5-45AF-A946-B219E82F8997", - "baseIconId": "74F300CC-D7A5-45AF-A946-B219E82F8997", - "name": "duck", - "codepoint": "F01E5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Austin Andrews" - }, - { - "id": "E792948B-8E66-49B5-83E7-8CDF1ECE6C5D", - "baseIconId": "E792948B-8E66-49B5-83E7-8CDF1ECE6C5D", - "name": "dumbbell", - "codepoint": "F01E6", - "aliases": [ - "weights", - "fitness-center", - "gym", - "barbell" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "50BCAB01-5182-4FBA-9F6D-62DF6872B743", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "dump-truck", - "codepoint": "F0C67", - "aliases": [ - "tipper-lorry" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9F02DA93-0C4D-4A77-8F6B-E4220480AB55", - "baseIconId": "9F02DA93-0C4D-4A77-8F6B-E4220480AB55", - "name": "ear-hearing", - "codepoint": "F07C5", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "E95219F9-AA02-4031-940F-D76757183F96", - "baseIconId": "9F02DA93-0C4D-4A77-8F6B-E4220480AB55", - "name": "ear-hearing-loop", - "codepoint": "F1AEE", - "aliases": [ - "audio-induction-loop", - "telecoil" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "78ACE34A-8AC2-4259-AD8D-1118A11C6800", - "baseIconId": "9F02DA93-0C4D-4A77-8F6B-E4220480AB55", - "name": "ear-hearing-off", - "codepoint": "F0A45", - "aliases": [ - "hearing-impaired" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Henrique C\u00e9sar Madeira" - }, - { - "id": "F809C249-6B8A-4A3E-B945-7EA3D0F71AB0", - "baseIconId": "F809C249-6B8A-4A3E-B945-7EA3D0F71AB0", - "name": "earbuds", - "codepoint": "F184F", - "aliases": [ - "headphones" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3938606F-6B8D-45D2-A835-8F3A08E97CB1", - "baseIconId": "F809C249-6B8A-4A3E-B945-7EA3D0F71AB0", - "name": "earbuds-off", - "codepoint": "F1850", - "aliases": [ - "headphones-off" - ], - "styles": [ - "off" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E9DB591B-AB1E-4C5B-9596-63EA899D54AF", - "baseIconId": "F809C249-6B8A-4A3E-B945-7EA3D0F71AB0", - "name": "earbuds-off-outline", - "codepoint": "F1851", - "aliases": [ - "headphones-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "15AB1BAE-A458-4107-9C96-07BF755F3EBA", - "baseIconId": "F809C249-6B8A-4A3E-B945-7EA3D0F71AB0", - "name": "earbuds-outline", - "codepoint": "F1852", - "aliases": [ - "headphones-outline" - ], - "styles": [ - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth", - "codepoint": "F01E7", - "aliases": [ - "globe", - "public", - "planet", - "world" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Navigation" - ], - "author": "Google" - }, - { - "id": "7EAEFA1D-7544-43E9-A93E-3869A3E50CB4", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-arrow-down", - "codepoint": "F1C87", - "aliases": [ - "globe-arrow-down", - "world-arrow-down", - "planet-arrow-down" - ], - "styles": [ - "arrow" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "01449F7D-91CD-46C4-A645-654860CEB1E0", - "baseIconId": "01449F7D-91CD-46C4-A645-654860CEB1E0", - "name": "earth-arrow-left", - "codepoint": "F1C88", - "aliases": [ - "globe-arrow-left", - "world-arrow-left", - "planet-arrow-left" - ], - "styles": [ - "arrow" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "E6C7261B-1CC0-41EA-844B-0DA761CDCC12", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-arrow-right", - "codepoint": "F1311", - "aliases": [ - "globe-arrow-right", - "world-arrow-right", - "planet-arrow-right" - ], - "styles": [ - "arrow" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9D8CB6F6-F5F6-4D11-8194-F392B52601F3", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-arrow-up", - "codepoint": "F1C89", - "aliases": [ - "globe-arrow-up", - "planet-arrow-up", - "world-arrow-up" - ], - "styles": [ - "arrow" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "3F4C3330-49D5-4F2B-8FCC-A3448BEF521E", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-box", - "codepoint": "F06CD", - "aliases": [ - "globe-box", - "world-box", - "planet-box" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "GreenTurtwig" - }, - { - "id": "C6EEACD5-6E55-4A4A-8E66-0CC8233470DA", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-box-minus", - "codepoint": "F1407", - "aliases": [ - "globe-box-minus", - "world-box-minus", - "planet-box-minus" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Muhammet Balsoy" - }, - { - "id": "CAE8B8BC-E89F-49C3-8178-6F09ACED1FC3", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-box-off", - "codepoint": "F06CE", - "aliases": [ - "globe-box-off", - "world-box-off", - "planet-box-off" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "GreenTurtwig" - }, - { - "id": "5CEC6008-A993-410B-985A-4E41291BE614", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-box-plus", - "codepoint": "F1406", - "aliases": [ - "globe-box-plus", - "world-box-plus", - "planet-box-plus" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Muhammet Balsoy" - }, - { - "id": "A7F1974D-8084-4EBF-A932-2051938CB985", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-box-remove", - "codepoint": "F1408", - "aliases": [ - "globe-box-remove", - "world-box-remove", - "planet-box-remove" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Muhammet Balsoy" - }, - { - "id": "1C8EADAE-667F-4048-A393-B05980A7CA11", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-minus", - "codepoint": "F1404", - "aliases": [ - "globe-minus", - "world-minus", - "planet-minus" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Muhammet Balsoy" - }, - { - "id": "519E0041-FD5F-4DAD-96A4-BED1EDE9A20B", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-off", - "codepoint": "F01E8", - "aliases": [ - "globe-off", - "world-off", - "planet-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Navigation" - ], - "author": "Austin Andrews" - }, - { - "id": "046CC069-3771-4172-A9E6-F8D18161551F", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-plus", - "codepoint": "F1403", - "aliases": [ - "globe-plus", - "world-plus", - "planet-plus" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Muhammet Balsoy" - }, - { - "id": "75FA6A35-88AE-4790-9B1A-0D0FD453E472", - "baseIconId": "0D1618BF-A3AD-4B4A-92EA-5DBF93BF7625", - "name": "earth-remove", - "codepoint": "F1405", - "aliases": [ - "globe-remove", - "world-remove", - "planet-remove" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Muhammet Balsoy" - }, - { - "id": "993BB952-DF8E-47E6-AF9A-1FCBF15C6B63", - "baseIconId": "993BB952-DF8E-47E6-AF9A-1FCBF15C6B63", - "name": "egg", - "codepoint": "F0AAF", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "5A81CAFD-E110-476D-9F72-70CC1E05D164", - "baseIconId": "993BB952-DF8E-47E6-AF9A-1FCBF15C6B63", - "name": "egg-easter", - "codepoint": "F0AB0", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Michael Richins" - }, - { - "id": "F7C1B0EE-A1E2-4376-BFB2-C0EEAF251B2C", - "baseIconId": "F7C1B0EE-A1E2-4376-BFB2-C0EEAF251B2C", - "name": "egg-fried", - "codepoint": "F184A", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AF15DB15-3F15-4D7B-9EBA-EFA8E0735D30", - "baseIconId": "993BB952-DF8E-47E6-AF9A-1FCBF15C6B63", - "name": "egg-off", - "codepoint": "F13F0", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1813E684-616A-403C-9D59-B1ED3373B750", - "baseIconId": "993BB952-DF8E-47E6-AF9A-1FCBF15C6B63", - "name": "egg-off-outline", - "codepoint": "F13F1", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9C36DCFC-FBBE-4AE2-8E27-952D10E296E3", - "baseIconId": "993BB952-DF8E-47E6-AF9A-1FCBF15C6B63", - "name": "egg-outline", - "codepoint": "F13F2", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2E11359F-82B1-469C-9A51-F7B0EFAA3171", - "baseIconId": "2E11359F-82B1-469C-9A51-F7B0EFAA3171", - "name": "eiffel-tower", - "codepoint": "F156B", - "aliases": [ - "paris", - "france" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Nicolas Gres" - }, - { - "id": "589595AF-C8FF-451B-A623-2A22D0D2A181", - "baseIconId": "589595AF-C8FF-451B-A623-2A22D0D2A181", - "name": "eight-track", - "codepoint": "F09EA", - "aliases": [ - "8-track" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "GreenTurtwig" - }, - { - "id": "4B57E9DF-354F-460D-9551-65C0DB55D788", - "baseIconId": "4B57E9DF-354F-460D-9551-65C0DB55D788", - "name": "eject", - "codepoint": "F01EA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B9D113A6-7D1C-4290-9B95-D051DDBAB680", - "baseIconId": "4B57E9DF-354F-460D-9551-65C0DB55D788", - "name": "eject-circle", - "codepoint": "F1B23", - "aliases": [], - "styles": [ - "circle" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "300F7913-D559-4679-A7ED-A6F4C311E5BA", - "baseIconId": "4B57E9DF-354F-460D-9551-65C0DB55D788", - "name": "eject-circle-outline", - "codepoint": "F1B24", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6E8EC35B-2DF2-4451-9649-E0DBA823E3B7", - "baseIconId": "4B57E9DF-354F-460D-9551-65C0DB55D788", - "name": "eject-outline", - "codepoint": "F0B91", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "70653C90-39FA-4FA7-81D9-F1D792253067", - "baseIconId": "70653C90-39FA-4FA7-81D9-F1D792253067", - "name": "electric-switch", - "codepoint": "F0E9F", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Louistwee" - }, - { - "id": "7F2511AE-AD30-41EB-AEEA-5CF18C81CF91", - "baseIconId": "70653C90-39FA-4FA7-81D9-F1D792253067", - "name": "electric-switch-closed", - "codepoint": "F10D9", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B17B6901-E163-48A2-8101-E1986C1400C0", - "baseIconId": "B17B6901-E163-48A2-8101-E1986C1400C0", - "name": "electron-framework", - "codepoint": "F1024", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "0332819B-1686-4375-86E9-0866AE19C2BF", - "baseIconId": "0332819B-1686-4375-86E9-0866AE19C2BF", - "name": "elephant", - "codepoint": "F07C6", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Contributors" - }, - { - "id": "6057DE08-41EC-4DE6-9ACC-7FB5AF3D4536", - "baseIconId": "6057DE08-41EC-4DE6-9ACC-7FB5AF3D4536", - "name": "elevation-decline", - "codepoint": "F01EB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "CEFE04E6-CBE8-4DDD-BCF2-F445579B68FE", - "baseIconId": "CEFE04E6-CBE8-4DDD-BCF2-F445579B68FE", - "name": "elevation-rise", - "codepoint": "F01EC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8A9045D4-D6AC-4660-8C55-D622156A1B8C", - "baseIconId": "8A9045D4-D6AC-4660-8C55-D622156A1B8C", - "name": "elevator", - "codepoint": "F01ED", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "57DB3FF8-34D8-46A7-8D41-1A99EB31AD59", - "baseIconId": "8A9045D4-D6AC-4660-8C55-D622156A1B8C", - "name": "elevator-down", - "codepoint": "F12C2", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "559121CE-CD01-4B96-9C0B-66DF7EED8944", - "baseIconId": "559121CE-CD01-4B96-9C0B-66DF7EED8944", - "name": "elevator-passenger", - "codepoint": "F1381", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "CD32CB18-7B1F-4150-B4F4-322C3326BC48", - "baseIconId": "559121CE-CD01-4B96-9C0B-66DF7EED8944", - "name": "elevator-passenger-off", - "codepoint": "F1979", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2F62C19F-24FE-45C0-A43F-9A148C4B8042", - "baseIconId": "559121CE-CD01-4B96-9C0B-66DF7EED8944", - "name": "elevator-passenger-off-outline", - "codepoint": "F197A", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8343D53B-57D1-46B5-AC0F-295E3F261E74", - "baseIconId": "559121CE-CD01-4B96-9C0B-66DF7EED8944", - "name": "elevator-passenger-outline", - "codepoint": "F197B", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "8EA26066-2C66-4A38-996B-8F23E288E0B7", - "baseIconId": "8A9045D4-D6AC-4660-8C55-D622156A1B8C", - "name": "elevator-up", - "codepoint": "F12C1", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "0CAAACF8-3D1C-4CCA-A3E4-3590CDEEC5D6", - "baseIconId": "0CAAACF8-3D1C-4CCA-A3E4-3590CDEEC5D6", - "name": "ellipse", - "codepoint": "F0EA0", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Richins" - }, - { - "id": "EA110B23-B08F-4DAE-8F23-37A298B89A74", - "baseIconId": "0CAAACF8-3D1C-4CCA-A3E4-3590CDEEC5D6", - "name": "ellipse-outline", - "codepoint": "F0EA1", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Richins" - }, - { - "id": "14AAE073-8399-4D67-9F7E-8E9424328681", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email", - "codepoint": "F01EE", - "aliases": [ - "local-post-office", - "mail", - "markunread", - "envelope" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8031577D-2528-4278-9F7B-93BD5DED18E3", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-alert", - "codepoint": "F06CF", - "aliases": [ - "email-warning", - "envelope-alert", - "envelope-warning" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "91B50C6E-CEBB-42A7-8D07-8D73F2EB20C1", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-alert-outline", - "codepoint": "F0D42", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "68040E6F-6BCD-4505-94D6-55D1E11E82ED", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-arrow-left", - "codepoint": "F10DA", - "aliases": [ - "email-receive" - ], - "styles": [ - "arrow" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2DF250FF-F6DC-4C7D-A5A6-AFEAEBAD45F4", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-arrow-left-outline", - "codepoint": "F10DB", - "aliases": [ - "email-receive-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "7C66176F-E1BF-4F04-A761-377F67916FDA", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-arrow-right", - "codepoint": "F10DC", - "aliases": [ - "email-send" - ], - "styles": [ - "arrow" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "795B1734-652A-4DCC-98B6-433C79C33001", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-arrow-right-outline", - "codepoint": "F10DD", - "aliases": [ - "email-arrow-right-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6930A4EF-08EB-4649-B2BB-369269DA918F", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-box", - "codepoint": "F0D03", - "aliases": [ - "envelope-box" - ], - "styles": [ - "box" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "04876E3C-0FEA-43D5-9B5C-9CFFC711B180", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-check", - "codepoint": "F0AB1", - "aliases": [ - "email-tick" - ], - "styles": [ - "check" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Andrew Nenakhov" - }, - { - "id": "465CA7E2-56E8-4AC8-9A0D-CFF225C3948A", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-check-outline", - "codepoint": "F0AB2", - "aliases": [ - "email-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Andrew Nenakhov" - }, - { - "id": "99DE8F28-37C2-4784-8B62-5E5FD499A664", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-edit", - "codepoint": "F0EE3", - "aliases": [], - "styles": [ - "edit" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Richins" - }, - { - "id": "D2C2975C-678E-40BB-A313-44340B286BBE", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-edit-outline", - "codepoint": "F0EE4", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Richins" - }, - { - "id": "3BDD7A0B-DA90-459E-8219-58EDC08661FE", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-fast", - "codepoint": "F186F", - "aliases": [ - "envelope-fast", - "email-quick", - "email-sent", - "email-send" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8A3DDFE7-F2D8-47F1-8FFB-2B0C2145CE60", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-fast-outline", - "codepoint": "F1870", - "aliases": [ - "email-send-outline", - "email-sent-outline", - "envelope-fast-outline", - "email-quick-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "763A453D-9B1C-4E6A-A28C-2534AD4641A7", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-heart-outline", - "codepoint": "F1C5B", - "aliases": [ - "love-letter", - "envelope-heart-outline", - "greeting-card" - ], - "styles": [ - "heart", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "04288F6D-7E3C-4BB6-8FDE-B8951C0D0BDF", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-lock", - "codepoint": "F01F1", - "aliases": [ - "envelope-secure", - "email-secure", - "envelope-lock" - ], - "styles": [ - "lock" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "F4DE5AAA-B343-46ED-B1D3-CBDA05A61E87", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-lock-outline", - "codepoint": "F1B61", - "aliases": [ - "email-secure-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F5FF3FDF-2BEC-4DCB-A6AB-9FF483126C70", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-mark-as-unread", - "codepoint": "F0B92", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FCBACFB7-0431-4F59-BCEB-75D4325DC82C", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-minus", - "codepoint": "F0EE5", - "aliases": [], - "styles": [ - "minus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F2B06422-BB50-4C83-B1F2-591120544972", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-minus-outline", - "codepoint": "F0EE6", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7DCBC245-D966-4018-8E53-272058C73507", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-multiple", - "codepoint": "F0EE7", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "A92BBC88-FCE7-41A7-813E-873B81C7F4E9", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-multiple-outline", - "codepoint": "F0EE8", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "97179388-624E-48F5-9E21-1179BE74829B", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-newsletter", - "codepoint": "F0FB1", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "D14EAB52-8253-40C3-AABC-43267D588B01", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-off", - "codepoint": "F13E3", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8495D960-EBB0-487C-A97B-64CF696DCDF4", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-off-outline", - "codepoint": "F13E4", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1E550A45-9D97-4918-9DEC-F536EC5C7A1C", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-open", - "codepoint": "F01EF", - "aliases": [ - "drafts", - "envelope-open" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "BA4C3DC0-3F05-4464-BA25-CB5AA0E96789", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-open-heart-outline", - "codepoint": "F1C5C", - "aliases": [ - "love-letter-open", - "greeting-card-open", - "envelope-open-heart-outline" - ], - "styles": [ - "heart", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "36BC0D33-4834-41EA-8EA2-90285635005A", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-open-multiple", - "codepoint": "F0EE9", - "aliases": [], - "styles": [ - "multiple", - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "A45E544D-6002-4F11-A03C-05221DE5C502", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-open-multiple-outline", - "codepoint": "F0EEA", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4F7B4311-FC6B-463D-A2A3-760554AF144E", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-open-outline", - "codepoint": "F05EF", - "aliases": [ - "envelope-open-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "53CE3621-DBCC-45E8-B105-2BEA7493CCA0", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-outline", - "codepoint": "F01F0", - "aliases": [ - "mail-outline", - "envelope-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "910E199F-4A9F-473A-90A9-F69C05BD67F1", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-plus", - "codepoint": "F09EB", - "aliases": [ - "email-add", - "envelope-add", - "envelope-plus" - ], - "styles": [ - "plus" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "156DF0DC-6BDA-4204-BDDB-5FA69911CDDB", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-plus-outline", - "codepoint": "F09EC", - "aliases": [ - "email-add-outline", - "envelope-add-outline", - "envelope-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "AB3FC883-2737-4D9D-AAF4-3695BD6C7882", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-remove", - "codepoint": "F1661", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "5EDCFB59-BBEC-407A-B079-5EC7E7686800", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-remove-outline", - "codepoint": "F1662", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "9671987F-A6B4-4934-90B1-E2C590CEB1B9", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-seal", - "codepoint": "F195B", - "aliases": [ - "email-certified", - "mail-certified", - "mail-seal", - "email-verified", - "mail-verified" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5E7FB53A-EDC8-4FF3-AA66-708C617ECCD6", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-seal-outline", - "codepoint": "F195C", - "aliases": [ - "email-verified-outline", - "email-certified-outline", - "mail-verified-outline", - "mail-certified-outline", - "mail-seal-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "AE2AF6F2-9E5A-4949-901F-0B5F599428C7", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-search", - "codepoint": "F0961", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "3BC4A964-0137-4E75-B25E-7F01EDFEE1A8", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-search-outline", - "codepoint": "F0962", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "72B2D41E-42AA-44E7-8F1E-42AC62577F73", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-sync", - "codepoint": "F12C7", - "aliases": [ - "email-refresh", - "email-resend" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "0FAB1B0E-FEAB-4F12-A7FC-58D48CB9682F", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-sync-outline", - "codepoint": "F12C8", - "aliases": [ - "email-refresh-outline", - "email-resend-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "80BB05EB-8F75-4205-9952-60B09204A9F6", - "baseIconId": "14AAE073-8399-4D67-9F7E-8E9424328681", - "name": "email-variant", - "codepoint": "F05F0", - "aliases": [ - "envelope-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "37F09EC6-7F8F-4DDB-BB18-774880A5C312", - "baseIconId": "37F09EC6-7F8F-4DDB-BB18-774880A5C312", - "name": "ember", - "codepoint": "F0B30", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7CACE4E9-A4B1-461E-A8E5-8032C22E86A1", - "baseIconId": "7CACE4E9-A4B1-461E-A8E5-8032C22E86A1", - "name": "emby", - "codepoint": "F06B4", - "aliases": [], - "styles": [], - "version": "1.7.22", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "E8F2B8BE-F4EC-4B9C-BB15-001752B29FFD", - "baseIconId": "E8F2B8BE-F4EC-4B9C-BB15-001752B29FFD", - "name": "emoticon", - "codepoint": "F0C68", - "aliases": [ - "smiley", - "face", - "emoji" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "5DD5C53F-8D3F-43DE-81B9-667A5372A808", - "baseIconId": "5DD5C53F-8D3F-43DE-81B9-667A5372A808", - "name": "emoticon-angry", - "codepoint": "F0C69", - "aliases": [ - "smiley-angry", - "face-angry", - "emoji-angry" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EEE3E9C1-D1B5-4D57-AD8B-7F6AD4852EE6", - "baseIconId": "5DD5C53F-8D3F-43DE-81B9-667A5372A808", - "name": "emoticon-angry-outline", - "codepoint": "F0C6A", - "aliases": [ - "smiley-angry-outline", - "face-angry-outline", - "emoji-angry-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DD5A65E9-E309-457F-9662-94AAB236A703", - "baseIconId": "DD5A65E9-E309-457F-9662-94AAB236A703", - "name": "emoticon-confused", - "codepoint": "F10DE", - "aliases": [ - "face-confused", - "emoji-confused" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Richins" - }, - { - "id": "CB195387-50AC-46A3-B1C4-F3DA96E0EE42", - "baseIconId": "DD5A65E9-E309-457F-9662-94AAB236A703", - "name": "emoticon-confused-outline", - "codepoint": "F10DF", - "aliases": [ - "face-confused-outline", - "emoji-confused-outline" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Richins" - }, - { - "id": "77FAFB8C-4322-4A18-8E92-0CE311F775D3", - "baseIconId": "77FAFB8C-4322-4A18-8E92-0CE311F775D3", - "name": "emoticon-cool", - "codepoint": "F0C6B", - "aliases": [ - "smiley-cool", - "face-cool", - "face-sunglasses", - "emoji-cool" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "62BB1B4E-67AC-4DFE-B37C-65D0F04F71D0", - "baseIconId": "77FAFB8C-4322-4A18-8E92-0CE311F775D3", - "name": "emoticon-cool-outline", - "codepoint": "F01F3", - "aliases": [ - "smiley-cool-outline", - "face-cool-outline", - "face-sunglasses-outline", - "emoji-cool-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Austin Andrews" - }, - { - "id": "39704938-DF4F-4E60-8C20-0569B4B1819C", - "baseIconId": "39704938-DF4F-4E60-8C20-0569B4B1819C", - "name": "emoticon-cry", - "codepoint": "F0C6C", - "aliases": [ - "smiley-cry", - "face-cry", - "emoji-cry" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BA4B161E-72CB-476B-9894-20A90B28B4A3", - "baseIconId": "39704938-DF4F-4E60-8C20-0569B4B1819C", - "name": "emoticon-cry-outline", - "codepoint": "F0C6D", - "aliases": [ - "smiley-cry-outline", - "face-cry-outline", - "emoji-cry-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "187185AC-5567-44DC-AC70-14B0D89C270C", - "baseIconId": "187185AC-5567-44DC-AC70-14B0D89C270C", - "name": "emoticon-dead", - "codepoint": "F0C6E", - "aliases": [ - "smiley-dead", - "face-dead", - "emoji-dead" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "47AD308C-C9D8-43DB-8E92-B0FB02B906CF", - "baseIconId": "187185AC-5567-44DC-AC70-14B0D89C270C", - "name": "emoticon-dead-outline", - "codepoint": "F069B", - "aliases": [ - "smiley-dead-outline", - "face-dead-outline", - "emoji-dead-outline" - ], - "styles": [ - "outline" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "7781F4B7-849F-42A4-82B1-791DBDE91295", - "baseIconId": "7781F4B7-849F-42A4-82B1-791DBDE91295", - "name": "emoticon-devil", - "codepoint": "F0C6F", - "aliases": [ - "smiley-devil", - "face-devil", - "emoji-devil" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Austin Andrews" - }, - { - "id": "916B1319-9E91-48C0-AD65-B21B599D8FCA", - "baseIconId": "7781F4B7-849F-42A4-82B1-791DBDE91295", - "name": "emoticon-devil-outline", - "codepoint": "F01F4", - "aliases": [ - "smiley-devil-outline", - "face-devil-outline", - "emoji-devil-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Austin Andrews" - }, - { - "id": "86E664CC-39C1-4E36-81BB-AC3BFFE65281", - "baseIconId": "86E664CC-39C1-4E36-81BB-AC3BFFE65281", - "name": "emoticon-excited", - "codepoint": "F0C70", - "aliases": [ - "smiley-excited", - "face-excited", - "emoji-excited" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "828FF1EE-1B9B-4407-A45B-A071FA938158", - "baseIconId": "86E664CC-39C1-4E36-81BB-AC3BFFE65281", - "name": "emoticon-excited-outline", - "codepoint": "F069C", - "aliases": [ - "smiley-excited-outline", - "face-excited-outline", - "emoji-excited-outline" - ], - "styles": [ - "outline" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "D5AC778B-0269-4AC5-A2D8-FD5F4D27785F", - "baseIconId": "D5AC778B-0269-4AC5-A2D8-FD5F4D27785F", - "name": "emoticon-frown", - "codepoint": "F0F4C", - "aliases": [ - "face-frown", - "emoji-frown" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AE6333C6-8334-4F90-9230-6527F3A38C8A", - "baseIconId": "D5AC778B-0269-4AC5-A2D8-FD5F4D27785F", - "name": "emoticon-frown-outline", - "codepoint": "F0F4D", - "aliases": [ - "face-frown-outline", - "emoji-frown-outline" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "CCA0187D-B8BA-4AC3-8523-B6B8F05EA5BA", - "baseIconId": "CCA0187D-B8BA-4AC3-8523-B6B8F05EA5BA", - "name": "emoticon-happy", - "codepoint": "F0C71", - "aliases": [ - "smiley-happy", - "face-happy", - "emoji-happy" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F51C2659-3EE9-471C-A919-190D3C1A9681", - "baseIconId": "CCA0187D-B8BA-4AC3-8523-B6B8F05EA5BA", - "name": "emoticon-happy-outline", - "codepoint": "F01F5", - "aliases": [ - "smiley-happy-outline", - "face-happy-outline", - "emoji-happy-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Gabriel" - }, - { - "id": "01F0C520-7626-4BA6-A678-1EAB14AE2C1B", - "baseIconId": "01F0C520-7626-4BA6-A678-1EAB14AE2C1B", - "name": "emoticon-kiss", - "codepoint": "F0C72", - "aliases": [ - "smiley-kiss", - "face-kiss", - "emoji-kiss" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "806569AC-841D-4B4E-849E-43BACC3D2268", - "baseIconId": "01F0C520-7626-4BA6-A678-1EAB14AE2C1B", - "name": "emoticon-kiss-outline", - "codepoint": "F0C73", - "aliases": [ - "smiley-kiss-outline", - "face-kiss-outline", - "emoji-kiss-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "11CEDEB3-DB1A-45F4-92C9-6AF6FCEE4FC5", - "baseIconId": "11CEDEB3-DB1A-45F4-92C9-6AF6FCEE4FC5", - "name": "emoticon-lol", - "codepoint": "F1214", - "aliases": [ - "face-lol", - "emoji-lol" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Richins" - }, - { - "id": "2A7BA4B1-C436-4EE6-BF5A-34B150A9A746", - "baseIconId": "11CEDEB3-DB1A-45F4-92C9-6AF6FCEE4FC5", - "name": "emoticon-lol-outline", - "codepoint": "F1215", - "aliases": [ - "face-lol-outline", - "emoji-lol-outline" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Richins" - }, - { - "id": "922B06B7-9C78-452C-AF29-79A47F0F6931", - "baseIconId": "922B06B7-9C78-452C-AF29-79A47F0F6931", - "name": "emoticon-neutral", - "codepoint": "F0C74", - "aliases": [ - "smiley-neutral", - "face-neutral", - "emoji-neutral" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "17F30B32-37E2-41BB-876C-70E568D04623", - "baseIconId": "922B06B7-9C78-452C-AF29-79A47F0F6931", - "name": "emoticon-neutral-outline", - "codepoint": "F01F6", - "aliases": [ - "smiley-neutral-outline", - "face-neutral-outline", - "emoji-neutral-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Austin Andrews" - }, - { - "id": "69AAECAA-0B17-4C53-8345-4F172B7FEF50", - "baseIconId": "E8F2B8BE-F4EC-4B9C-BB15-001752B29FFD", - "name": "emoticon-outline", - "codepoint": "F01F2", - "aliases": [ - "insert-emoticon", - "mood", - "sentiment-very-satisfied", - "tag-faces", - "smiley-outline", - "face-outline", - "emoji-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "968319FB-0E94-4F04-A6D8-9E71DF200E1F", - "baseIconId": "968319FB-0E94-4F04-A6D8-9E71DF200E1F", - "name": "emoticon-poop", - "codepoint": "F01F7", - "aliases": [ - "smiley-poop", - "face-poop", - "emoji-poop" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Austin Andrews" - }, - { - "id": "1E402C80-69DB-432F-BB0F-C05ACB6A7839", - "baseIconId": "968319FB-0E94-4F04-A6D8-9E71DF200E1F", - "name": "emoticon-poop-outline", - "codepoint": "F0C75", - "aliases": [ - "face-poop-outline", - "emoji-poop-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CDA3C920-C286-4000-A7FC-C530CBC62CF7", - "baseIconId": "CDA3C920-C286-4000-A7FC-C530CBC62CF7", - "name": "emoticon-sad", - "codepoint": "F0C76", - "aliases": [ - "smiley-sad", - "face-sad", - "emoji-sad" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6D8A3A11-7A90-424C-82A6-93C455379743", - "baseIconId": "CDA3C920-C286-4000-A7FC-C530CBC62CF7", - "name": "emoticon-sad-outline", - "codepoint": "F01F8", - "aliases": [ - "smiley-sad-outline", - "face-sad-outline", - "emoji-sad-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Gabriel" - }, - { - "id": "523F5AB1-3598-40F1-AAB5-6DF361FF6970", - "baseIconId": "523F5AB1-3598-40F1-AAB5-6DF361FF6970", - "name": "emoticon-sick", - "codepoint": "F157C", - "aliases": [ - "face-sick", - "fever", - "emoji-sick" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Emoji", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "CBB4F1C3-3479-4F94-9F15-3D844889609A", - "baseIconId": "523F5AB1-3598-40F1-AAB5-6DF361FF6970", - "name": "emoticon-sick-outline", - "codepoint": "F157D", - "aliases": [ - "face-sick-outline", - "fever-outline", - "emoji-sick-outline" - ], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Emoji", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "57288378-59EE-4705-ACD5-3B424ACA70C1", - "baseIconId": "57288378-59EE-4705-ACD5-3B424ACA70C1", - "name": "emoticon-tongue", - "codepoint": "F01F9", - "aliases": [ - "smiley-tongue", - "face-tongue", - "emoji-tongue" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Austin Andrews" - }, - { - "id": "A08556AE-A0AD-4C7E-9A14-0CD05EE66E03", - "baseIconId": "57288378-59EE-4705-ACD5-3B424ACA70C1", - "name": "emoticon-tongue-outline", - "codepoint": "F0C77", - "aliases": [ - "smiley-tongue-outline", - "face-tongue-outline", - "emoji-tongue-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "652D2244-1764-4B42-B04D-157DDD9DC464", - "baseIconId": "652D2244-1764-4B42-B04D-157DDD9DC464", - "name": "emoticon-wink", - "codepoint": "F0C78", - "aliases": [ - "smiley-wink", - "face-wink", - "emoji-wink" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C8E56EC6-52DA-4BC7-81C0-1E5B14509086", - "baseIconId": "652D2244-1764-4B42-B04D-157DDD9DC464", - "name": "emoticon-wink-outline", - "codepoint": "F0C79", - "aliases": [ - "smiley-wink-outline", - "face-wink-outline", - "emoji-wink-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Michael Irigoyen" - }, - { - "id": "290CA835-F009-4630-87D3-D4515E1F5527", - "baseIconId": "290CA835-F009-4630-87D3-D4515E1F5527", - "name": "engine", - "codepoint": "F01FA", - "aliases": [ - "motor" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Simran" - }, - { - "id": "114C29E0-B66E-49EF-8D45-77FF8EED43B1", - "baseIconId": "290CA835-F009-4630-87D3-D4515E1F5527", - "name": "engine-off", - "codepoint": "F0A46", - "aliases": [ - "motor-off" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "81317A61-047B-47D4-A154-CEA3C6B9F61C", - "baseIconId": "290CA835-F009-4630-87D3-D4515E1F5527", - "name": "engine-off-outline", - "codepoint": "F0A47", - "aliases": [ - "motor-off-outline" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "75A5F242-D136-49B9-9DFF-25F0631743A7", - "baseIconId": "290CA835-F009-4630-87D3-D4515E1F5527", - "name": "engine-outline", - "codepoint": "F01FB", - "aliases": [ - "motor-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Simran" - }, - { - "id": "C0C7DFD3-F590-4965-A38F-167F48469E6F", - "baseIconId": "C0C7DFD3-F590-4965-A38F-167F48469E6F", - "name": "epsilon", - "codepoint": "F10E0", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Sascha Wohlgemuth" - }, - { - "id": "119DD58E-769B-47C2-9AB8-1671DEC4FE4A", - "baseIconId": "119DD58E-769B-47C2-9AB8-1671DEC4FE4A", - "name": "equal", - "codepoint": "F01FC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "F98CD2ED-FD62-414E-9116-94BA99713526", - "baseIconId": "119DD58E-769B-47C2-9AB8-1671DEC4FE4A", - "name": "equal-box", - "codepoint": "F01FD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "4F6A532E-58ED-4CB5-9BBB-9E77C128D536", - "baseIconId": "4F6A532E-58ED-4CB5-9BBB-9E77C128D536", - "name": "equalizer", - "codepoint": "F0EA2", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Google" - }, - { - "id": "D3AB11FD-F0D5-4228-A6C7-69AC34649A53", - "baseIconId": "4F6A532E-58ED-4CB5-9BBB-9E77C128D536", - "name": "equalizer-outline", - "codepoint": "F0EA3", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Michael Irigoyen" - }, - { - "id": "758CA292-BBF5-4C08-BCBD-88B7A84C8BC6", - "baseIconId": "758CA292-BBF5-4C08-BCBD-88B7A84C8BC6", - "name": "eraser", - "codepoint": "F01FE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8E45C70B-EE1A-48AE-B97F-204F1958E788", - "baseIconId": "758CA292-BBF5-4C08-BCBD-88B7A84C8BC6", - "name": "eraser-variant", - "codepoint": "F0642", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2DB352CF-8F2F-43FD-BCA0-675F7C9D298C", - "baseIconId": "2DB352CF-8F2F-43FD-BCA0-675F7C9D298C", - "name": "escalator", - "codepoint": "F01FF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "B4972D96-B8A1-4964-8A58-FAEA2D0C5FF9", - "baseIconId": "2DB352CF-8F2F-43FD-BCA0-675F7C9D298C", - "name": "escalator-box", - "codepoint": "F1399", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Moma Design Studio" - }, - { - "id": "F29A47AC-C3B6-4568-8ADA-94C5F92F0DC0", - "baseIconId": "2DB352CF-8F2F-43FD-BCA0-675F7C9D298C", - "name": "escalator-down", - "codepoint": "F12C0", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "4BA51088-9403-4E34-A829-1F31D8DE2646", - "baseIconId": "2DB352CF-8F2F-43FD-BCA0-675F7C9D298C", - "name": "escalator-up", - "codepoint": "F12BF", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "9D305B93-7722-4784-A9D3-8F64824A67AB", - "baseIconId": "9D305B93-7722-4784-A9D3-8F64824A67AB", - "name": "eslint", - "codepoint": "F0C7A", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C3E4BC72-74F1-450D-8B6F-FCF0CB60AA27", - "baseIconId": "C3E4BC72-74F1-450D-8B6F-FCF0CB60AA27", - "name": "et", - "codepoint": "F0AB3", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D59C885E-233F-4472-AB8C-00C41F96134E", - "baseIconId": "D59C885E-233F-4472-AB8C-00C41F96134E", - "name": "ethereum", - "codepoint": "F086A", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "3AB3C243-0FD3-4903-A6EA-B0B29ABFAD6C", - "baseIconId": "3AB3C243-0FD3-4903-A6EA-B0B29ABFAD6C", - "name": "ethernet", - "codepoint": "F0200", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "FC900F32-A228-4E42-9E09-EA7CCDEC08F2", - "baseIconId": "FC900F32-A228-4E42-9E09-EA7CCDEC08F2", - "name": "ethernet-cable", - "codepoint": "F0201", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "79E1B678-8458-4750-9EE0-C5CE7E57E9F1", - "baseIconId": "FC900F32-A228-4E42-9E09-EA7CCDEC08F2", - "name": "ethernet-cable-off", - "codepoint": "F0202", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "7C687673-B2F0-43B6-A5E3-E25B9FFA0F8E", - "baseIconId": "7C687673-B2F0-43B6-A5E3-E25B9FFA0F8E", - "name": "ev-plug-ccs1", - "codepoint": "F1519", - "aliases": [ - "ev-plug-ccs-combo-1", - "ev-charger-ccs1" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4FE92E92-170B-495E-A16E-0897AD787E02", - "baseIconId": "4FE92E92-170B-495E-A16E-0897AD787E02", - "name": "ev-plug-ccs2", - "codepoint": "F151A", - "aliases": [ - "ev-plug-ccs-combo-2", - "ev-charger-ccs2" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C2C4C1DC-0FB1-4A1A-AA85-8FD1D8DF4532", - "baseIconId": "C2C4C1DC-0FB1-4A1A-AA85-8FD1D8DF4532", - "name": "ev-plug-chademo", - "codepoint": "F151B", - "aliases": [ - "ev-charger-chademo" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "04B5C8D6-9732-4D4D-AC1B-0C9ED9E3B8DF", - "baseIconId": "04B5C8D6-9732-4D4D-AC1B-0C9ED9E3B8DF", - "name": "ev-plug-tesla", - "codepoint": "F151C", - "aliases": [ - "ev-charger-tesla" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "781567F7-B41B-4CB2-BDD8-DDF3AB75CC57", - "baseIconId": "781567F7-B41B-4CB2-BDD8-DDF3AB75CC57", - "name": "ev-plug-type1", - "codepoint": "F151D", - "aliases": [ - "ev-plug-j1772", - "ev-charger-type1" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F5687378-A23D-4D4C-98A2-55E95642FD06", - "baseIconId": "F5687378-A23D-4D4C-98A2-55E95642FD06", - "name": "ev-plug-type2", - "codepoint": "F151E", - "aliases": [ - "ev-plug-mennekes", - "ev-charger-type2" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7C859DE1-16F6-4EF2-9097-A1D0C14CC3A2", - "baseIconId": "7C859DE1-16F6-4EF2-9097-A1D0C14CC3A2", - "name": "ev-station", - "codepoint": "F05F1", - "aliases": [ - "charging-station", - "ev-charger", - "wall-charger", - "wallbox", - "electric-vehicle-charger", - "evse", - "electric-charger" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places", - "Automotive" - ], - "author": "Google" - }, - { - "id": "193F4AB4-12B2-4E3C-965F-284967A7F736", - "baseIconId": "193F4AB4-12B2-4E3C-965F-284967A7F736", - "name": "evernote", - "codepoint": "F0204", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "0BD56A12-3F3B-4A3E-96E4-868B5414FD06", - "baseIconId": "0BD56A12-3F3B-4A3E-96E4-868B5414FD06", - "name": "excavator", - "codepoint": "F1025", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Transportation + Other" - ], - "author": "Michael Irigoyen" - }, - { - "id": "06E68A9B-2ED4-4697-82A2-02F1FA342D55", - "baseIconId": "06E68A9B-2ED4-4697-82A2-02F1FA342D55", - "name": "exclamation", - "codepoint": "F0205", - "aliases": [ - "factorial" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "2DEA5CA1-8412-4DA4-95C4-7E1AA2C27404", - "baseIconId": "06E68A9B-2ED4-4697-82A2-02F1FA342D55", - "name": "exclamation-thick", - "codepoint": "F1238", - "aliases": [ - "exclamation-bold" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "9F68722F-B500-48AD-BE3A-EB7591496084", - "baseIconId": "9F68722F-B500-48AD-BE3A-EB7591496084", - "name": "exit-run", - "codepoint": "F0A48", - "aliases": [ - "emergency-exit" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "DD2BE6C6-A15C-44D4-807A-C29DE965CF22", - "baseIconId": "DD2BE6C6-A15C-44D4-807A-C29DE965CF22", - "name": "exit-to-app", - "codepoint": "F0206", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "85080AB7-D860-4D74-86D8-1A2BFF0C0514", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "expand-all", - "codepoint": "F0AB4", - "aliases": [ - "animation-plus" - ], - "styles": [ - "plus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "934C9329-AC58-499E-BE89-A5E43FA71C6F", - "baseIconId": "4FE8F135-8FF9-427B-8857-122FBB0A300A", - "name": "expand-all-outline", - "codepoint": "F0AB5", - "aliases": [ - "animation-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6FFC7116-2E5B-40A8-A612-90706DC5EECF", - "baseIconId": "6FFC7116-2E5B-40A8-A612-90706DC5EECF", - "name": "expansion-card", - "codepoint": "F08AE", - "aliases": [ - "gpu", - "graphics-processing-unit", - "nic", - "network-interface-card" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "A644DCA0-BDC5-480E-AA15-EFD1B1D4BDEB", - "baseIconId": "6FFC7116-2E5B-40A8-A612-90706DC5EECF", - "name": "expansion-card-variant", - "codepoint": "F0FB2", - "aliases": [ - "graphics-processing-unit", - "gpu", - "network-interface-card", - "nice" - ], - "styles": [ - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E26684D6-5292-4B09-98A9-C6C416FD236D", - "baseIconId": "E26684D6-5292-4B09-98A9-C6C416FD236D", - "name": "exponent", - "codepoint": "F0963", - "aliases": [ - "power" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "F061DE5C-F495-4EDF-BD16-DAD6B07605BC", - "baseIconId": "E26684D6-5292-4B09-98A9-C6C416FD236D", - "name": "exponent-box", - "codepoint": "F0964", - "aliases": [ - "power-box" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "670C2CEA-D9B1-4126-89F4-C881D032F3AD", - "baseIconId": "670C2CEA-D9B1-4126-89F4-C881D032F3AD", - "name": "export", - "codepoint": "F0207", - "aliases": [ - "output" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "ECCA4152-AD73-4986-ADC4-9FACDC925868", - "baseIconId": "ECCA4152-AD73-4986-ADC4-9FACDC925868", - "name": "export-variant", - "codepoint": "F0B93", - "aliases": [ - "ios-share" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye", - "codepoint": "F0208", - "aliases": [ - "show", - "visibility", - "remove-red-eye" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B3FA5237-3FE4-4822-87EE-0001DD784EE7", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-arrow-left", - "codepoint": "F18FD", - "aliases": [ - "view-arrow-left" - ], - "styles": [ - "arrow" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D979FDDF-45AE-4F37-AC6C-A92B2860BC02", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-arrow-left-outline", - "codepoint": "F18FE", - "aliases": [ - "view-arrow-left-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FFAF8600-64E9-4DEF-B689-D14B95B608CA", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-arrow-right", - "codepoint": "F18FF", - "aliases": [ - "view-arrow-right" - ], - "styles": [ - "arrow" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A682E4C4-6048-4BF7-BBCC-57167CE33687", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-arrow-right-outline", - "codepoint": "F1900", - "aliases": [ - "view-arrow-right-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7534EBC5-1A5B-4837-8C13-88CFA5FB4D49", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-check", - "codepoint": "F0D04", - "aliases": [ - "eye-tick" - ], - "styles": [ - "check" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "A2829948-6FFA-48BB-B387-959A7E3658DE", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-check-outline", - "codepoint": "F0D05", - "aliases": [ - "eye-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9E70DE8C-C973-4A18-A68D-DB6670F5F38A", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-circle", - "codepoint": "F0B94", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "4F1A805C-7120-44A2-9A3F-8285411EFE87", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-circle-outline", - "codepoint": "F0B95", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "81421142-BE10-4918-8720-5858B7BC2E4B", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-closed", - "codepoint": "F1CA3", - "aliases": [ - "eye-shut", - "visibility-hidden" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "joshua-maros" - }, - { - "id": "D0F73A84-81BB-47B2-993B-0FB019C854B4", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-lock", - "codepoint": "F1C06", - "aliases": [], - "styles": [ - "lock" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BC6FEA4D-DD3C-4EAD-9402-CF1153E8AE52", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-lock-open", - "codepoint": "F1C07", - "aliases": [], - "styles": [ - "lock" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "89FC8E98-DF54-42AA-99BA-4AC234151FC6", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-lock-open-outline", - "codepoint": "F1C08", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EA9ACDD8-28EF-41E1-BE27-64979D52FB0D", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-lock-outline", - "codepoint": "F1C09", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "67AEA391-FE01-41D0-B594-36433AAB099E", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-minus", - "codepoint": "F1026", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F36594D9-9F22-4C8B-BB09-6B89CF203881", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-minus-outline", - "codepoint": "F1027", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4D1385CF-1389-43D3-BD88-A83018434FB6", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-off", - "codepoint": "F0209", - "aliases": [ - "hide", - "visibility-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D88D00BE-0B70-40F5-AFD0-51C65DE8D674", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-off-outline", - "codepoint": "F06D1", - "aliases": [ - "hide-outline", - "visibility-off-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F2AA59FA-23F6-4FE8-A52A-AEC674A9E864", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-outline", - "codepoint": "F06D0", - "aliases": [ - "show-outline", - "visibility-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "644FD0C7-1B46-48D8-A410-FDA22E63BFCF", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-plus", - "codepoint": "F086B", - "aliases": [ - "eye-add" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "C82BEE88-7AAC-4F8D-9A8A-4B0C7CCDF216", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-plus-outline", - "codepoint": "F086C", - "aliases": [ - "eye-add-outline" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "2CC60524-7C0C-4AE3-A996-E24066985409", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-refresh", - "codepoint": "F197C", - "aliases": [ - "view-refresh" - ], - "styles": [ - "refresh" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "B9A630A0-AF26-4EBC-A822-DFFE9AA01878", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-refresh-outline", - "codepoint": "F197D", - "aliases": [ - "view-refresh-outline" - ], - "styles": [ - "outline", - "refresh" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "4CAD2E1D-F56B-40AA-B008-46DEFF9C9540", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-remove", - "codepoint": "F15E3", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A1F300D2-BA71-410B-BB70-F18FC666CF35", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-remove-outline", - "codepoint": "F15E4", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1155E86D-5CA5-4CC0-B089-23DFFC1A3DDD", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-settings", - "codepoint": "F086D", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "45112AC7-F34D-40E8-8C37-D8660B7017E9", - "baseIconId": "3C2B7DF3-97FE-4EC4-B6A9-69A75FB26B67", - "name": "eye-settings-outline", - "codepoint": "F086E", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "89350468-16D8-4F39-AA78-C3E00EE8FB2C", - "baseIconId": "89350468-16D8-4F39-AA78-C3E00EE8FB2C", - "name": "eyedropper", - "codepoint": "F020A", - "aliases": [ - "pipette" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Color", - "Drawing \/ Art", - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "384E765A-8184-4E9C-8300-FB4928CADA31", - "baseIconId": "89350468-16D8-4F39-AA78-C3E00EE8FB2C", - "name": "eyedropper-minus", - "codepoint": "F13DD", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F4A65E44-6B1F-4E9C-954A-B05FAAB3EE6D", - "baseIconId": "89350468-16D8-4F39-AA78-C3E00EE8FB2C", - "name": "eyedropper-off", - "codepoint": "F13DF", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FF767930-F19C-4935-8ABB-566DD8B8CF0D", - "baseIconId": "89350468-16D8-4F39-AA78-C3E00EE8FB2C", - "name": "eyedropper-plus", - "codepoint": "F13DC", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1224B69E-00A5-422C-A358-61201346175F", - "baseIconId": "89350468-16D8-4F39-AA78-C3E00EE8FB2C", - "name": "eyedropper-remove", - "codepoint": "F13DE", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "24A1E7A8-D8A4-4216-B467-72C144972358", - "baseIconId": "89350468-16D8-4F39-AA78-C3E00EE8FB2C", - "name": "eyedropper-variant", - "codepoint": "F020B", - "aliases": [ - "colorize", - "colourise", - "pipette-variant" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Color", - "Science" - ], - "author": "Google" - }, - { - "id": "3E0B74E0-1F0F-4820-A02F-B370CD56E463", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-agent", - "codepoint": "F0D70", - "aliases": [ - "customer-service", - "support", - "emoji-agent", - "emoticon-agent" - ], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Mark Joseph Monserrat" - }, - { - "id": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-man", - "codepoint": "F0643", - "aliases": [ - "face-male", - "emoji-man", - "emoticon-man" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "CFDA13BC-C61A-4FE0-8094-7B51E8EB3F82", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-man-outline", - "codepoint": "F0B96", - "aliases": [ - "face-male-outline", - "emoji-man-outline", - "emoticon-man-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "97E9CDDB-45B3-4592-8E1F-0DB66E16E1A3", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-man-profile", - "codepoint": "F0644", - "aliases": [ - "face-male-profile", - "emoji-man-profile", - "emoticon-man-profile" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "4680BCD4-CD85-45A0-9F1C-FB367E768664", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-man-shimmer", - "codepoint": "F15CC", - "aliases": [ - "face-retouching-natural", - "face-male-shimmer", - "emoji-man-shimmer", - "emoticon-man-shimmer" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Photography", - "Account \/ User", - "Health \/ Beauty", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "CC7A66A4-2118-4635-B227-C184D8903867", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-man-shimmer-outline", - "codepoint": "F15CD", - "aliases": [ - "face-retouching-natural-outline", - "face-male-shimmer-outline", - "emoji-man-shimmer-outline", - "emoticon-man-shimmer-outline" - ], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "People \/ Family", - "Photography", - "Health \/ Beauty", - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "8E3EC802-4BC1-44CA-83AB-9A43E55E238C", - "baseIconId": "8E3EC802-4BC1-44CA-83AB-9A43E55E238C", - "name": "face-mask", - "codepoint": "F1586", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "Clothing" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0143A0CC-E3FA-485F-B3CA-6B61EE86F066", - "baseIconId": "8E3EC802-4BC1-44CA-83AB-9A43E55E238C", - "name": "face-mask-outline", - "codepoint": "F1587", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "Clothing" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FDC4CFE0-5CA9-4F8E-A126-EC98BF900228", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-recognition", - "codepoint": "F0C7B", - "aliases": [ - "facial-recognition", - "scan" - ], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Richins" - }, - { - "id": "C591017E-E3D0-48CA-A517-86B21DE853A0", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-woman", - "codepoint": "F1077", - "aliases": [ - "face-female", - "emoji-woman", - "emoticon-woman" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F8B0D936-DFD2-469C-B671-599D3B277B51", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-woman-outline", - "codepoint": "F1078", - "aliases": [ - "face-female-outline", - "emoji-woman-outline", - "emoticon-woman-outline" - ], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "144C6FB3-DBAC-4CA7-B07C-51265D8EE619", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-woman-profile", - "codepoint": "F1076", - "aliases": [ - "face-female-profile", - "emoji-woman-profile", - "emoticon-woman-profile" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "97F4C885-AB98-45C3-85C7-E5DA25ECD271", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-woman-shimmer", - "codepoint": "F15CE", - "aliases": [ - "face-retouching-natural-woman", - "face-female-shimmer", - "emoji-woman-shimmer", - "emoticon-woman-shimmer" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "People \/ Family", - "Photography", - "Health \/ Beauty", - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "43851D4C-D310-45C3-9A86-6BF5DFD51055", - "baseIconId": "D41E7F40-FF48-422F-A64B-4908C6C10F00", - "name": "face-woman-shimmer-outline", - "codepoint": "F15CF", - "aliases": [ - "face-retouching-natural-woman-outline", - "face-female-shimmer-outline", - "emoji-woman-shimmer-outline", - "emoticon-woman-shimmer-outline" - ], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "People \/ Family", - "Photography", - "Health \/ Beauty", - "Account \/ User" - ], - "author": "Simran" - }, - { - "id": "95CC9E46-A553-42B3-B44E-2E88DB13C1E1", - "baseIconId": "95CC9E46-A553-42B3-B44E-2E88DB13C1E1", - "name": "facebook", - "codepoint": "F020C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Social Media" - ], - "author": "Contributors" - }, - { - "id": "62F96579-80AE-4827-9C18-1C1FD239DE49", - "baseIconId": "62F96579-80AE-4827-9C18-1C1FD239DE49", - "name": "facebook-gaming", - "codepoint": "F07DD", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "1989DA16-DAA9-4C95-A61F-BA512FE5592D", - "baseIconId": "1989DA16-DAA9-4C95-A61F-BA512FE5592D", - "name": "facebook-messenger", - "codepoint": "F020E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Social Media" - ], - "author": "Contributors" - }, - { - "id": "767ACA6B-1ECD-4D4E-AE5D-4E1EB3C87D72", - "baseIconId": "767ACA6B-1ECD-4D4E-AE5D-4E1EB3C87D72", - "name": "facebook-workplace", - "codepoint": "F0B31", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Social Media" - ], - "author": "Contributors" - }, - { - "id": "B74F1DE6-5DEC-4866-AEED-DE85FE09C52F", - "baseIconId": "B74F1DE6-5DEC-4866-AEED-DE85FE09C52F", - "name": "factory", - "codepoint": "F020F", - "aliases": [ - "industrial" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Austin Andrews" - }, - { - "id": "AB0F3BD7-1D6E-4ED6-8CC4-28E5ECCEF017", - "baseIconId": "AB0F3BD7-1D6E-4ED6-8CC4-28E5ECCEF017", - "name": "family-tree", - "codepoint": "F160E", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Simran" - }, - { - "id": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan", - "codepoint": "F0210", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "94B156B3-7C70-4C0A-B1A8-99BEEA9C6357", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-alert", - "codepoint": "F146C", - "aliases": [], - "styles": [ - "alert" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E695511A-9F45-44DC-9F98-9E946CC02ECC", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-auto", - "codepoint": "F171D", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Hans B\u00f6hm" - }, - { - "id": "33DAA830-9E16-4AF0-A1B8-F44EA4EF9787", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-chevron-down", - "codepoint": "F146D", - "aliases": [ - "fan-speed-down" - ], - "styles": [ - "arrow" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "1FC6584B-6B87-40C8-BA9D-C18E221A247D", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-chevron-up", - "codepoint": "F146E", - "aliases": [ - "fan-speed-up" - ], - "styles": [ - "arrow" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "BF3F7855-4971-4FA7-9BB8-8ED99E697D7A", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-clock", - "codepoint": "F1A3A", - "aliases": [ - "fan-clock", - "fan-schedule", - "fan-timer" - ], - "styles": [ - "clock" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FB53FDB5-A8D0-42F6-882F-63C1A683577E", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-minus", - "codepoint": "F1470", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BB761A30-6F3C-484D-A0C9-501972F544AB", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-off", - "codepoint": "F081D", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Home Automation", - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "DD3CD93C-5877-4234-9944-61C10457FDCE", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-plus", - "codepoint": "F146F", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3E4A1DFD-92C2-4CA0-BD74-A98496721825", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-remove", - "codepoint": "F1471", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F01D5822-D36A-4A41-9544-3B1E8702582F", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-speed-1", - "codepoint": "F1472", - "aliases": [ - "fan-speed-low" - ], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AFC8D4DB-4196-41E6-8EBC-A6509F96EA71", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-speed-2", - "codepoint": "F1473", - "aliases": [ - "fan-speed-medium" - ], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0EA7825B-6236-40D5-A8D9-858B2B4DB595", - "baseIconId": "2606F8A3-AFD7-41EB-BD2D-C3546FEADB2F", - "name": "fan-speed-3", - "codepoint": "F1474", - "aliases": [ - "fan-speed-high" - ], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "98B9D071-70A9-422B-BCC1-55DC4C2E0744", - "baseIconId": "98B9D071-70A9-422B-BCC1-55DC4C2E0744", - "name": "fast-forward", - "codepoint": "F0211", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "960E88C3-D86B-4A9A-8581-799816D12194", - "baseIconId": "960E88C3-D86B-4A9A-8581-799816D12194", - "name": "fast-forward-10", - "codepoint": "F0D71", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5C0FCEDF-44B3-4F3A-8D6A-6AB54EBC55F6", - "baseIconId": "5C0FCEDF-44B3-4F3A-8D6A-6AB54EBC55F6", - "name": "fast-forward-15", - "codepoint": "F193A", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "23895783-905C-45DE-BF43-D58214199B75", - "baseIconId": "23895783-905C-45DE-BF43-D58214199B75", - "name": "fast-forward-30", - "codepoint": "F0D06", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4F6C14E9-E2B0-4A04-B5F8-F33035191724", - "baseIconId": "4F6C14E9-E2B0-4A04-B5F8-F33035191724", - "name": "fast-forward-45", - "codepoint": "F1B12", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C57CDDE7-5F5E-44B4-B1E2-E5FEFBB17A85", - "baseIconId": "C57CDDE7-5F5E-44B4-B1E2-E5FEFBB17A85", - "name": "fast-forward-5", - "codepoint": "F11F8", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "CF6C15FF-1B2F-4E4B-AE45-C1487815CA07", - "baseIconId": "CF6C15FF-1B2F-4E4B-AE45-C1487815CA07", - "name": "fast-forward-60", - "codepoint": "F160B", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Terren" - }, - { - "id": "05435BA8-4BB4-4581-A2BA-D2D7679B831F", - "baseIconId": "98B9D071-70A9-422B-BCC1-55DC4C2E0744", - "name": "fast-forward-outline", - "codepoint": "F06D2", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AEE38946-ADDE-4AFA-B450-D13590926CA4", - "baseIconId": "AEE38946-ADDE-4AFA-B450-D13590926CA4", - "name": "faucet", - "codepoint": "F1B29", - "aliases": [ - "kitchen-tap", - "bathroom-tap", - "sink" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "17559442-5EF5-416D-A96A-51ED8526C530", - "baseIconId": "17559442-5EF5-416D-A96A-51ED8526C530", - "name": "faucet-variant", - "codepoint": "F1B2A", - "aliases": [ - "bathroom-tap", - "kitchen-tap", - "sink" - ], - "styles": [ - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2C398569-5DBF-4405-AF73-6F5CA629AEE1", - "baseIconId": "2C398569-5DBF-4405-AF73-6F5CA629AEE1", - "name": "fax", - "codepoint": "F0212", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Printer", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "A0C975EA-A25D-4882-96DE-39CB72DAC2CA", - "baseIconId": "A0C975EA-A25D-4882-96DE-39CB72DAC2CA", - "name": "feather", - "codepoint": "F06D3", - "aliases": [ - "quill" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Simran" - }, - { - "id": "FC8210F4-FE5E-4A83-86DE-DA1B19739118", - "baseIconId": "FC8210F4-FE5E-4A83-86DE-DA1B19739118", - "name": "feature-search", - "codepoint": "F0A49", - "aliases": [ - "box", - "box-search" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "AE8C42B6-43EE-433C-83A3-83CE7464240E", - "baseIconId": "FC8210F4-FE5E-4A83-86DE-DA1B19739118", - "name": "feature-search-outline", - "codepoint": "F0A4A", - "aliases": [ - "box", - "box-outline", - "box-search-outline" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "15F2366C-5930-4473-B298-A5B952F07D59", - "baseIconId": "15F2366C-5930-4473-B298-A5B952F07D59", - "name": "fedora", - "codepoint": "F08DB", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "CAFE2FF6-D1D5-4411-9AA1-33C5076F0E4E", - "baseIconId": "CAFE2FF6-D1D5-4411-9AA1-33C5076F0E4E", - "name": "fence", - "codepoint": "F179A", - "aliases": [ - "railway", - "train-track" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B54CB49-9186-4EB1-80D2-A92E616B9603", - "baseIconId": "CAFE2FF6-D1D5-4411-9AA1-33C5076F0E4E", - "name": "fence-electric", - "codepoint": "F17F6", - "aliases": [ - "railway-electric", - "train-track-electric" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "325210DA-E889-4CBD-B0A7-8A32D706322B", - "baseIconId": "325210DA-E889-4CBD-B0A7-8A32D706322B", - "name": "fencing", - "codepoint": "F14C1", - "aliases": [ - "sword-fight" - ], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "AD285056-9A97-4C52-8D7D-06D4D1DA4213", - "baseIconId": "AD285056-9A97-4C52-8D7D-06D4D1DA4213", - "name": "ferris-wheel", - "codepoint": "F0EA4", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F138AC6A-406B-4EB0-BB85-0FDB5415B6F8", - "baseIconId": "F138AC6A-406B-4EB0-BB85-0FDB5415B6F8", - "name": "ferry", - "codepoint": "F0213", - "aliases": [ - "cargo-ship", - "boat", - "ship", - "directions-boat", - "directions-ferry" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Water", - "Navigation" - ], - "author": "Google" - }, - { - "id": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file", - "codepoint": "F0214", - "aliases": [ - "insert-drive-file", - "draft", - "paper" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "94A8A0E0-B69E-4099-A32E-34B83449AFBC", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-account", - "codepoint": "F073B", - "aliases": [ - "file-user", - "resume" - ], - "styles": [ - "account" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Account \/ User", - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "E0043E71-ED74-419B-82A9-10D678DF74B3", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-account-outline", - "codepoint": "F1028", - "aliases": [], - "styles": [ - "account", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Account \/ User" - ], - "author": "Terren" - }, - { - "id": "33050FDD-7F04-44B1-AF59-BFED56FE34CF", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-alert", - "codepoint": "F0A4B", - "aliases": [ - "file-warning" - ], - "styles": [ - "alert" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "0FF64B42-C9F6-4A0A-B09D-38D2AED8C81C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-alert-outline", - "codepoint": "F0A4C", - "aliases": [ - "file-warning-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "05D3C734-5B81-429E-8D2D-45E1AF5CD6A7", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-arrow-left-right", - "codepoint": "F1A93", - "aliases": [ - "file-exchange", - "file-transfer", - "file-swap" - ], - "styles": [ - "arrow" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F926E7AB-0C0A-45B6-BC16-F922C8CB6BED", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-arrow-left-right-outline", - "codepoint": "F1A94", - "aliases": [ - "file-exchange-outline", - "file-swap-outline", - "file-transfer-outline" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8D429186-1CB7-4DC1-AD90-43F2F41AF424", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-arrow-up-down", - "codepoint": "F1A95", - "aliases": [ - "file-exchange", - "file-swap", - "file-transfer", - "file-upload-download" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4D08B9C5-576C-430B-9319-597190ABA71D", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-arrow-up-down-outline", - "codepoint": "F1A96", - "aliases": [ - "file-exchange-outline", - "file-swap-outline", - "file-transfer-outline", - "file-upload-download-outline" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1B650467-2000-4A2D-B16D-9BD8A8F32B85", - "baseIconId": "1B650467-2000-4A2D-B16D-9BD8A8F32B85", - "name": "file-cabinet", - "codepoint": "F0AB6", - "aliases": [ - "filing-cabinet" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AA9999FD-3434-42B9-B589-606EF1D563EA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-cad", - "codepoint": "F0EEB", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "GreenTurtwig" - }, - { - "id": "7FF119BB-AE68-49A0-8104-0C4CA4FE829F", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "file-cad-box", - "codepoint": "F0EEC", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "GreenTurtwig" - }, - { - "id": "1C9C326F-B0B6-41A9-825D-83A458689345", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-cancel", - "codepoint": "F0DC6", - "aliases": [ - "ban", - "forbid" - ], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1DCEA17F-A76F-412E-8C25-52C9F3D63B48", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-cancel-outline", - "codepoint": "F0DC7", - "aliases": [ - "ban", - "forbid" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5BEF006A-53C0-4401-87DB-F21642667712", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-certificate", - "codepoint": "F1186", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "06595A20-8863-4B8C-B74D-C1DA1D32D88F", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-certificate-outline", - "codepoint": "F1187", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "303BB890-634F-405C-B77C-4AC831BCAEC4", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-chart", - "codepoint": "F0215", - "aliases": [ - "file-report", - "file-graph" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "B7778AA5-6982-4820-A733-996314D07B82", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-chart-check", - "codepoint": "F19C6", - "aliases": [], - "styles": [ - "check", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "8051BED5-0582-4A3A-91F3-E29484840427", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-chart-check-outline", - "codepoint": "F19C7", - "aliases": [], - "styles": [ - "check", - "outline", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "E8F550E7-DE55-47CE-B548-4B6987B9FDE7", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-chart-outline", - "codepoint": "F1029", - "aliases": [ - "file-graph-outline", - "file-report-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "9E66E6CF-74AD-4DB5-953B-DC135B4AD44C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-check", - "codepoint": "F0216", - "aliases": [ - "file-tick" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "8F78A49B-57D2-4DCC-8A49-8E07F3F5C0D5", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-check-outline", - "codepoint": "F0E29", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "AA0F1B90-E844-4BE2-BD8F-6D7AAB2451AB", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-clock", - "codepoint": "F12E1", - "aliases": [], - "styles": [ - "clock" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "90AB6510-AEEC-4C00-BCFD-71B3F6E591CC", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-clock-outline", - "codepoint": "F12E2", - "aliases": [], - "styles": [ - "clock", - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "452A53B0-3718-4483-ABB0-2897EBE97312", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-cloud", - "codepoint": "F0217", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cloud", - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "99B45E9A-4FCA-429F-B98D-1E9C0EAAE0CF", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-cloud-outline", - "codepoint": "F102A", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Cloud" - ], - "author": "Terren" - }, - { - "id": "F11E3989-CBFD-4431-BDC1-44AEBBCDD8F6", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-code", - "codepoint": "F022E", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "B226F0F1-F2C9-45C1-A940-2517FAC9F623", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-code-outline", - "codepoint": "F102B", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Developer \/ Languages" - ], - "author": "Terren" - }, - { - "id": "73890E82-6C92-4578-B1D4-51D83CB5DDDE", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-cog", - "codepoint": "F107B", - "aliases": [ - "file-settings-cog" - ], - "styles": [ - "settings", - "variant" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "6ABE5D01-4204-46C0-B0D8-B3904C2E64C2", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-cog-outline", - "codepoint": "F107C", - "aliases": [ - "file-settings-cog-outline" - ], - "styles": [ - "outline", - "settings", - "variant" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "2169C66B-967F-4AB4-9123-A8A2C6129D6C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-compare", - "codepoint": "F08AA", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "46650D6B-318F-4202-AB77-79A113EC77AA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-delimited", - "codepoint": "F0218", - "aliases": [ - "file-csv" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "35CE4750-7CA9-4C9B-AB11-5C1F2A092C9C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-delimited-outline", - "codepoint": "F0EA5", - "aliases": [ - "file-csv-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "B8F65B26-E57F-4879-852E-D894E4ACAB65", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document", - "codepoint": "F0219", - "aliases": [ - "file-text" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "67AF0ACC-DE69-4E39-8226-B913764EAFE5", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-alert", - "codepoint": "F1A97", - "aliases": [ - "file-document-error", - "file-text-alert", - "file-text-error" - ], - "styles": [ - "alert", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "CF5F798F-BB0B-4F5A-98C4-3CFADF57BAA3", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-alert-outline", - "codepoint": "F1A98", - "aliases": [ - "file-document-error-outline", - "file-text-error-outline", - "file-text-alert-outline" - ], - "styles": [ - "alert", - "outline", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "31314AE5-195A-4F48-847C-AC6D8A69360D", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-arrow-right", - "codepoint": "F1C0F", - "aliases": [ - "file-document-move", - "file-text-move", - "file-text-arrow-right" - ], - "styles": [ - "arrow" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Andrej Sharapov" - }, - { - "id": "DF8391C4-0B76-4A72-A39E-4DDB40092B8C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-arrow-right-outline", - "codepoint": "F1C10", - "aliases": [ - "file-document-move-outline", - "file-text-move-outline", - "file-text-arrow-right-outline" - ], - "styles": [ - "arrow" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Andrej Sharapov" - }, - { - "id": "F51E0270-13FD-4DA5-945B-FE8C4C45AF60", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-check", - "codepoint": "F1A99", - "aliases": [ - "file-document-tick", - "file-text-tick", - "file-text-check" - ], - "styles": [ - "check", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "AC9C336A-83D0-4FB0-B61A-C6AC0FC2A069", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-check-outline", - "codepoint": "F1A9A", - "aliases": [ - "file-document-tick-outline", - "file-text-tick-outline", - "file-text-check-outline" - ], - "styles": [ - "check", - "outline", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "83E06672-D36B-41FF-8463-080EB639F00F", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-edit", - "codepoint": "F0DC8", - "aliases": [ - "contract", - "file-text-edit" - ], - "styles": [ - "edit" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Files \/ Folders" - ], - "author": "GreenTurtwig" - }, - { - "id": "E33F3608-CA6A-4BC3-BA3B-16AC369F10FD", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-edit-outline", - "codepoint": "F0DC9", - "aliases": [ - "contract-outline", - "file-text-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A7695AE5-5CF1-42B3-BBAE-516D143CF87C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-minus", - "codepoint": "F1A9B", - "aliases": [ - "file-text-minus" - ], - "styles": [ - "minus", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "17759ECD-FE1E-446F-96C1-ED8C0F5EA783", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-minus-outline", - "codepoint": "F1A9C", - "aliases": [ - "file-text-minus-outline" - ], - "styles": [ - "minus", - "outline", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "05A5AF1D-055E-4FBB-BDD4-D20F3EF105DC", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-multiple", - "codepoint": "F1517", - "aliases": [ - "file-text-multiple" - ], - "styles": [ - "multiple" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Robbert Gurdeep Singh" - }, - { - "id": "F0545588-B29A-454E-B023-4FC4ED30BCDD", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-multiple-outline", - "codepoint": "F1518", - "aliases": [ - "file-text-multiple-outline" - ], - "styles": [ - "multiple", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5CB4D11F-6B3A-465D-A2CD-F4172AD287B0", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-outline", - "codepoint": "F09EE", - "aliases": [ - "file-text-outline" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "2382A261-E45B-429D-A2E2-29DA654064E1", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-plus", - "codepoint": "F1A9D", - "aliases": [ - "file-document-add", - "file-text-add", - "file-text-plus" - ], - "styles": [ - "plus", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "99FAD22E-FB80-45AA-9423-3E4E2A369F1F", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-plus-outline", - "codepoint": "F1A9E", - "aliases": [ - "file-document-add-outline", - "file-text-plus-outline", - "file-text-add-outline" - ], - "styles": [ - "outline", - "plus", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "8FD1C2DF-1063-4E5F-966B-99794441E8C6", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-refresh", - "codepoint": "F1C7A", - "aliases": [], - "styles": [ - "refresh" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Jeff Anders" - }, - { - "id": "552EA028-A83A-4018-8277-58191691C816", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-refresh-outline", - "codepoint": "F1C7B", - "aliases": [], - "styles": [ - "outline", - "refresh" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Jeff Anders" - }, - { - "id": "E5F73E5B-9876-469A-B992-EC6DA553DE1B", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-remove", - "codepoint": "F1A9F", - "aliases": [ - "file-document-delete", - "file-text-remove", - "file-text-delete" - ], - "styles": [ - "remove", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "9125073F-13EB-4FAD-AE78-30E02AC5B906", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-document-remove-outline", - "codepoint": "F1AA0", - "aliases": [ - "file-document-delete-outline", - "file-text-remove-outline", - "file-text-delete-outline" - ], - "styles": [ - "outline", - "remove", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "305DC085-34BD-4CC1-8943-E8A3B64FD110", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-download", - "codepoint": "F0965", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "50DFA593-C997-41BD-B77E-2468649E2C1B", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-download-outline", - "codepoint": "F0966", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "65092A6A-E7E4-42BF-91F7-9AE7F50727D4", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-edit", - "codepoint": "F11E7", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Files \/ Folders" - ], - "author": "frankgrinaert" - }, - { - "id": "2EE03BED-7F6F-422E-9AAE-AAED4B591266", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-edit-outline", - "codepoint": "F11E8", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Files \/ Folders" - ], - "author": "frankgrinaert" - }, - { - "id": "C3AADE94-4136-4D8E-8DFE-9AA7C88EE5D5", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-excel", - "codepoint": "F021B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "A2FE83DC-3544-4D13-85BD-2C54CDC1A460", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "file-excel-box", - "codepoint": "F021C", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "0C257A18-698B-4FF4-BC68-828FFF2A9C34", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "file-excel-box-outline", - "codepoint": "F102C", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "73706EB5-5497-459A-B9C7-1C64089F31CE", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-excel-outline", - "codepoint": "F102D", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "5693BB52-A00A-45E6-8DDD-C84FE3D9D440", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-export", - "codepoint": "F021D", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "25475106-D60D-4D23-BF07-4BAADB0EA9AA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-export-outline", - "codepoint": "F102E", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "1417ADBB-4A11-448B-A6BA-E5D4B5A20BFF", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-eye", - "codepoint": "F0DCA", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A2B55937-B45F-441A-802F-4FAD69EB2144", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-eye-outline", - "codepoint": "F0DCB", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A9D2E13D-A9F6-48AC-9998-22756DA6C709", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-find", - "codepoint": "F021E", - "aliases": [ - "print-preview", - "find-in-page" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "6CB8D807-BD25-4270-80F7-F71A8D4D57C7", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-find-outline", - "codepoint": "F0B97", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "7FCFB449-8096-408A-88E4-B73343DB201F", - "baseIconId": "7FCFB449-8096-408A-88E4-B73343DB201F", - "name": "file-gif-box", - "codepoint": "F0D78", - "aliases": [], - "styles": [ - "box" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "22033CAF-C8AF-4C33-9FCD-9D6FC4EE7EAF", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-hidden", - "codepoint": "F0613", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "2318EAB3-F03A-40C3-A245-668B244A9AC1", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image", - "codepoint": "F021F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "5E5F502C-C492-45EC-886C-CC55C6E4C504", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-marker", - "codepoint": "F1772", - "aliases": [ - "file-image-location" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BE46BBCE-2872-4DBE-976E-AC9BC2CE19D3", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-marker-outline", - "codepoint": "F1773", - "aliases": [ - "file-image-location-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C287BF1A-101C-42E3-BD19-3F1D8D3FDAA6", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-minus", - "codepoint": "F193B", - "aliases": [], - "styles": [ - "minus", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "533EE300-7DC5-4F89-898D-E1E005303AFD", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-minus-outline", - "codepoint": "F193C", - "aliases": [], - "styles": [ - "minus", - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C86DDD85-B79F-43C4-9497-839FF4BD7526", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-outline", - "codepoint": "F0EB0", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "687ED5E3-8466-48F0-A5D3-1D5EBB95B9F4", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-plus", - "codepoint": "F193D", - "aliases": [ - "file-image-add" - ], - "styles": [ - "plus", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0D25D768-827E-4FE8-9A45-67D883E3B6FA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-plus-outline", - "codepoint": "F193E", - "aliases": [ - "file-image-add-outline" - ], - "styles": [ - "outline", - "plus", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EB4547CB-7AEA-4FB0-B840-5ABA6FA4F1F8", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-remove", - "codepoint": "F193F", - "aliases": [], - "styles": [ - "remove", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "472463C9-3A6A-47E9-9ED9-9DEF17C3ACDA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-image-remove-outline", - "codepoint": "F1940", - "aliases": [], - "styles": [ - "outline", - "remove", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1294020B-960A-4390-916F-BF8118A6E7C6", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-import", - "codepoint": "F0220", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "EA70B568-90C1-4512-BF97-00F4AD27F459", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-import-outline", - "codepoint": "F102F", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "D5A23F56-0398-40EF-8B0D-640CD1F39669", - "baseIconId": "D5A23F56-0398-40EF-8B0D-640CD1F39669", - "name": "file-jpg-box", - "codepoint": "F0225", - "aliases": [ - "file-jpeg-box", - "image-jpg-box", - "image-jpeg-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E854DC61-449E-4BA2-BAC7-656A3BB3D775", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-key", - "codepoint": "F1184", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "4E2214AD-9EB5-498C-BA9B-38072C463B43", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-key-outline", - "codepoint": "F1185", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "AD9A7D67-1BCF-42D6-8321-AFE1705DE2A6", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-link", - "codepoint": "F1177", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "337D2BB6-6230-4896-B51B-9A8527FF3DFA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-link-outline", - "codepoint": "F1178", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1D017133-E895-4103-98C1-E90D26126003", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-lock", - "codepoint": "F0221", - "aliases": [], - "styles": [ - "lock" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "E59676A5-2E82-4B91-8887-4ADDEB5E2204", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-lock-open", - "codepoint": "F19C8", - "aliases": [], - "styles": [ - "lock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Lock", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "D94F03DE-9FA8-4AF4-AB95-3EDB4DB97522", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-lock-open-outline", - "codepoint": "F19C9", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Lock", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "658B01A1-E16D-4D8E-B274-C66465BF1CE3", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-lock-outline", - "codepoint": "F1030", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Lock" - ], - "author": "Simran" - }, - { - "id": "C6C876E6-1A2C-4776-9A4C-5114EF50D3DA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-marker", - "codepoint": "F1774", - "aliases": [ - "file-location" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "96A7C92B-3EDA-40C8-B21D-45355968345C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-marker-outline", - "codepoint": "F1775", - "aliases": [ - "file-location-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "64C92887-5567-486D-97DC-C0353EA9EA98", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-minus", - "codepoint": "F1AA1", - "aliases": [], - "styles": [ - "minus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "02C02D19-06BA-45DF-AE33-40EA2B7F5E19", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-minus-outline", - "codepoint": "F1AA2", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "BB72067F-4002-409B-BD46-6FD6F9CEBA51", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-move", - "codepoint": "F0AB9", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "B1BE9CC2-F8BF-4EB9-94BB-0B3041D0FBB4", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-move-outline", - "codepoint": "F1031", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "7696AF65-B943-4BA3-94DB-5E85077F7BA9", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-multiple", - "codepoint": "F0222", - "aliases": [ - "files" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "13BC9B18-661D-4517-84E9-756EC2536F4E", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-multiple-outline", - "codepoint": "F1032", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "C6CD26A5-C5F6-4C5D-AF2C-919E8ED4166C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-music", - "codepoint": "F0223", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "C40C225E-F046-442C-BA4D-0531B626609F", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-music-outline", - "codepoint": "F0E2A", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Music" - ], - "author": "Terren" - }, - { - "id": "36FCB7D4-D7DE-4B44-BD28-53615689D2C6", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-outline", - "codepoint": "F0224", - "aliases": [ - "paper-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "C09B20B5-3650-4F36-AC40-540ACE36EB6E", - "baseIconId": "C09B20B5-3650-4F36-AC40-540ACE36EB6E", - "name": "file-pdf-box", - "codepoint": "F0226", - "aliases": [ - "file-acrobat-box", - "adobe-acrobat" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "267C5350-A0FC-4683-9FA1-30CD64AAA7E5", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-percent", - "codepoint": "F081E", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "5ED4C3D2-3E7E-4C28-8FC7-63DE741E186A", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-percent-outline", - "codepoint": "F1033", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "DA6C6F33-3262-442B-8E07-C22ACA9F3F94", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-phone", - "codepoint": "F1179", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Cellphone \/ Phone" - ], - "author": "Victor" - }, - { - "id": "2ED01F6A-EC44-442B-925B-F3A194574EBA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-phone-outline", - "codepoint": "F117A", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Cellphone \/ Phone" - ], - "author": "Victor" - }, - { - "id": "9C42F83F-4C75-4E0A-A1C2-F10FA032E495", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-plus", - "codepoint": "F0752", - "aliases": [ - "note-add" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "3BC5B0CB-8FEA-4C63-A9E3-59471DF11FA1", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-plus-outline", - "codepoint": "F0EED", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "4DEDCDD8-4C71-46DA-A8C6-04B424DF621C", - "baseIconId": "4DEDCDD8-4C71-46DA-A8C6-04B424DF621C", - "name": "file-png-box", - "codepoint": "F0E2D", - "aliases": [], - "styles": [ - "box", - "outline", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "62D44147-9B6F-4B4A-A06B-1AF92C2E7F3E", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-powerpoint", - "codepoint": "F0227", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "2C917F0E-C35E-45B2-9E60-0C3D7C2630CF", - "baseIconId": "2C917F0E-C35E-45B2-9E60-0C3D7C2630CF", - "name": "file-powerpoint-box", - "codepoint": "F0228", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "1620AEF6-DDC2-4FC0-9117-6A3DC4C80FEB", - "baseIconId": "2C917F0E-C35E-45B2-9E60-0C3D7C2630CF", - "name": "file-powerpoint-box-outline", - "codepoint": "F1034", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "6A605E14-B9F9-4753-A439-C9F38C0B561D", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-powerpoint-outline", - "codepoint": "F1035", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "A7F6B3BE-8D61-4AF3-BBFC-15A795254F6A", - "baseIconId": "A7F6B3BE-8D61-4AF3-BBFC-15A795254F6A", - "name": "file-presentation-box", - "codepoint": "F0229", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "C5EBED58-BD25-4E0C-AEB8-C6316B88B620", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-question", - "codepoint": "F086F", - "aliases": [], - "styles": [ - "question" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "GreenTurtwig" - }, - { - "id": "B2E908FB-D29C-4F80-BD90-B1F6676C6337", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-question-outline", - "codepoint": "F1036", - "aliases": [], - "styles": [ - "outline", - "question" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "6AAC6C2E-4B51-4A21-8CDC-BA516D7BAB6B", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-refresh", - "codepoint": "F0918", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "B48358A6-983D-4E15-8FE1-905D706A4A4B", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-refresh-outline", - "codepoint": "F0541", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "1D2987A7-950D-45DF-AF0C-F465350C6374", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-remove", - "codepoint": "F0B98", - "aliases": [], - "styles": [ - "remove" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "26E534DA-72D9-48CD-8748-4E3924E0A974", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-remove-outline", - "codepoint": "F1037", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "8C05288A-4D13-4252-ABD1-CB288AFE9B4E", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-replace", - "codepoint": "F0B32", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "C47F7F19-362E-49BA-8BC4-2FE6161AD44D", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-replace-outline", - "codepoint": "F0B33", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "EE0E5547-D368-43CB-8BDD-7F3774985BEF", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-restore", - "codepoint": "F0670", - "aliases": [ - "restore-page" - ], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "3D9EE6A3-0ECC-49C6-84E1-438D2CF2C053", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-restore-outline", - "codepoint": "F1038", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "1111BC67-6DD5-4AE2-9541-9D5E890D823A", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-rotate-left", - "codepoint": "F1A3B", - "aliases": [ - "file-rotate-counter-clockwise", - "file-rotate-ccw" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7DC8418D-3AE2-4BC3-9A5B-068FE316D172", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-rotate-left-outline", - "codepoint": "F1A3C", - "aliases": [ - "file-rotate-counter-clockwise-outline", - "file-rotate-ccw-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "599A2E2D-E84A-4BF5-A835-9B13E2765606", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-rotate-right", - "codepoint": "F1A3D", - "aliases": [ - "file-rotate-clockwise" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "221C1942-DB8B-40D9-AED7-B202C0085832", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-rotate-right-outline", - "codepoint": "F1A3E", - "aliases": [ - "file-rotate-clockwise" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8FA2DBB9-E874-4CBB-A466-2691223D0FEF", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-search", - "codepoint": "F0C7C", - "aliases": [], - "styles": [ - "search" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "499004C4-2F88-4681-A8AC-EDE9A4ECE922", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-search-outline", - "codepoint": "F0C7D", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "CEB97477-6633-4486-BDD4-9E7D7C747805", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-send", - "codepoint": "F022A", - "aliases": [ - "file-move" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "B828E75F-BBA9-41F9-B877-CB1F1BF29ECA", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-send-outline", - "codepoint": "F1039", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "DAD983AE-28E9-481D-B0F0-38E1EFD0CAFE", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-settings", - "codepoint": "F1079", - "aliases": [], - "styles": [ - "settings" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "6F77BE81-0AD4-4886-93FF-0FA1382B8501", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-settings-outline", - "codepoint": "F107A", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "F6BB607C-B55A-4E62-8C45-490F6AE9F0A2", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-sign", - "codepoint": "F19C3", - "aliases": [ - "contract-sign", - "document-sign" - ], - "styles": [ - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Banking", - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E7E04B34-BC51-466F-92A1-78C8A00DDC9D", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-star", - "codepoint": "F103A", - "aliases": [ - "file-favorite" - ], - "styles": [ - "star" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E78BF233-EE37-492B-8E41-3965576E4A7C", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-star-four-points", - "codepoint": "F1C2D", - "aliases": [ - "file-auto" - ], - "styles": [ - "star" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Jeff Anders" - }, - { - "id": "D97DE718-4746-41B5-9168-4F5F08513158", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-star-four-points-outline", - "codepoint": "F1C2E", - "aliases": [ - "file-auto-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Jeff Anders" - }, - { - "id": "B418C938-EE23-4073-B10C-C1D93D54B288", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-star-outline", - "codepoint": "F103B", - "aliases": [ - "file-favorite-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Miday" - }, - { - "id": "01893B96-44C2-43EF-B979-5768B6AF7695", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-swap", - "codepoint": "F0FB4", - "aliases": [ - "file-transfer" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "22D7F491-0873-43A4-9EE1-330F5BDC0829", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-swap-outline", - "codepoint": "F0FB5", - "aliases": [ - "file-transfer-outline" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "C17D4D8C-F028-4EED-9C77-B9E1A66FE372", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-sync", - "codepoint": "F1216", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F642DE27-0183-4EF7-87FD-70A1D8E031D4", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-sync-outline", - "codepoint": "F1217", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "663EC5E6-16C5-4075-AB5C-1215864F3B2B", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-table", - "codepoint": "F0C7E", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "7CBD5B51-1AE9-4FCA-905F-719540F0EA40", - "baseIconId": "7CBD5B51-1AE9-4FCA-905F-719540F0EA40", - "name": "file-table-box", - "codepoint": "F10E1", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6847431F-22A9-4EAD-A9C6-645C6694D050", - "baseIconId": "7CBD5B51-1AE9-4FCA-905F-719540F0EA40", - "name": "file-table-box-multiple", - "codepoint": "F10E2", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1C6DE56C-E364-4D47-BA2F-4CE1DF34ACF4", - "baseIconId": "7CBD5B51-1AE9-4FCA-905F-719540F0EA40", - "name": "file-table-box-multiple-outline", - "codepoint": "F10E3", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3598E989-EAC7-4255-A78F-BB1914D3153F", - "baseIconId": "7CBD5B51-1AE9-4FCA-905F-719540F0EA40", - "name": "file-table-box-outline", - "codepoint": "F10E4", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D365B2EB-0B21-42D3-BC9E-7A51DE5F0A57", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-table-outline", - "codepoint": "F0C7F", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "FE2B1AE3-7158-473B-B1EE-45FB9CAE1137", - "baseIconId": "FE2B1AE3-7158-473B-B1EE-45FB9CAE1137", - "name": "file-tree", - "codepoint": "F0645", - "aliases": [ - "subtasks" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Kai Faust" - }, - { - "id": "86EB0B3A-E46E-4439-B7BA-67A88B280961", - "baseIconId": "FE2B1AE3-7158-473B-B1EE-45FB9CAE1137", - "name": "file-tree-outline", - "codepoint": "F13D2", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5CCC54A4-04AF-4241-80AB-177C8365A905", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-undo", - "codepoint": "F08DC", - "aliases": [ - "file-revert", - "file-discard" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "6B690FE5-C7C6-49FE-90C1-B021BDB1B2A6", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-undo-outline", - "codepoint": "F103C", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "38FC6E1D-C2F0-4B73-BA30-2C7FAFC0C48E", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-upload", - "codepoint": "F0A4D", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "0719AAB6-7E18-402E-9E27-C51D44C0A856", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-upload-outline", - "codepoint": "F0A4E", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "7BEB068A-898D-43FF-AAA6-BC239FBA74F2", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-video", - "codepoint": "F022B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "6F2D3BA3-B23D-4476-B3D8-920033F6B68B", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-video-outline", - "codepoint": "F0E2C", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Peter Noble" - }, - { - "id": "05004893-1DB7-4A34-AC50-D4B46133A603", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-word", - "codepoint": "F022C", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "AE6B9B24-DD1E-4896-B385-8DBB9D21C9E7", - "baseIconId": "AE6B9B24-DD1E-4896-B385-8DBB9D21C9E7", - "name": "file-word-box", - "codepoint": "F022D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "09E0675C-053B-4548-9FC1-2F8DC3B49364", - "baseIconId": "AE6B9B24-DD1E-4896-B385-8DBB9D21C9E7", - "name": "file-word-box-outline", - "codepoint": "F103D", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "C261E28B-72D8-4D0E-B74A-93333AE4EF4D", - "baseIconId": "BFF59001-B52D-47E6-A217-C9095F81C3B8", - "name": "file-word-outline", - "codepoint": "F103E", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "BEFCABB1-11BE-4D8D-A2F4-48E80E404C90", - "baseIconId": "BEFCABB1-11BE-4D8D-A2F4-48E80E404C90", - "name": "file-xml-box", - "codepoint": "F1B4B", - "aliases": [], - "styles": [ - "box" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2EFEE436-9663-4C09-AD65-6727A0ED2AFD", - "baseIconId": "2EFEE436-9663-4C09-AD65-6727A0ED2AFD", - "name": "film", - "codepoint": "F022F", - "aliases": [ - "camera-roll" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography", - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "10A06B6D-A551-425C-B084-DA3F2239DFA1", - "baseIconId": "10A06B6D-A551-425C-B084-DA3F2239DFA1", - "name": "filmstrip", - "codepoint": "F0230", - "aliases": [ - "local-movies", - "theaters" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "FB635DB5-18DA-448E-81C7-0602181EE21A", - "baseIconId": "10A06B6D-A551-425C-B084-DA3F2239DFA1", - "name": "filmstrip-box", - "codepoint": "F0332", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "392DCBD5-0766-4719-B198-42A9A66C18B4", - "baseIconId": "10A06B6D-A551-425C-B084-DA3F2239DFA1", - "name": "filmstrip-box-multiple", - "codepoint": "F0D18", - "aliases": [ - "library-movie" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "CB040E6C-85FD-4C09-9ACD-C41EE5FB770E", - "baseIconId": "10A06B6D-A551-425C-B084-DA3F2239DFA1", - "name": "filmstrip-off", - "codepoint": "F0231", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Austin Andrews" - }, - { - "id": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter", - "codepoint": "F0232", - "aliases": [ - "funnel" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "176E2D7F-C16A-4941-9A42-3DBE264E4148", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-check", - "codepoint": "F18EC", - "aliases": [ - "funnel-check" - ], - "styles": [ - "check" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FFDED2FF-7CB6-4D02-BEE6-A82C16625386", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-check-outline", - "codepoint": "F18ED", - "aliases": [ - "funnel-check-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F8F482FA-5AA4-462B-8B38-717FF8568270", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-cog", - "codepoint": "F1AA3", - "aliases": [ - "funnel-settings", - "filter-settings", - "funnel-cog", - "filter-gear", - "funnel-gear" - ], - "styles": [ - "cog" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Simran" - }, - { - "id": "6E54B42B-896D-4598-83D7-96E592B1B15F", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-cog-outline", - "codepoint": "F1AA4", - "aliases": [ - "filter-settings-outline", - "filter-gear-outline", - "funnel-cog-outline", - "funnel-settings-outline", - "funnel-gear-outline" - ], - "styles": [ - "cog", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Simran" - }, - { - "id": "36805F11-BE23-49C3-8D72-682859DD5551", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-menu", - "codepoint": "F10E5", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "18CFDA0C-648C-4513-AE67-F5BB93817E0B", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-menu-outline", - "codepoint": "F10E6", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BCA7EE0A-BADF-441A-B660-C37C0DFEF83A", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-minus", - "codepoint": "F0EEE", - "aliases": [ - "funnel-minus" - ], - "styles": [ - "minus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "7AB99674-5A9A-40BE-94B4-B8CFA4A97434", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-minus-outline", - "codepoint": "F0EEF", - "aliases": [ - "funnel-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "EC7474F7-BE1F-4076-8CDB-DD5779095168", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-multiple", - "codepoint": "F1A3F", - "aliases": [ - "funnel-multiple" - ], - "styles": [ - "multiple" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "9124AC57-0F66-4F90-ABF4-167CDA8E46BC", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-multiple-outline", - "codepoint": "F1A40", - "aliases": [ - "funnel-multiple-outline" - ], - "styles": [ - "multiple", - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "049BC23B-DE87-4AB6-AFC3-38AC296045A3", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-off", - "codepoint": "F14EF", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "kikuchan" - }, - { - "id": "156D4779-7EC6-4BD9-A7B1-F123A387B109", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-off-outline", - "codepoint": "F14F0", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "kikuchan" - }, - { - "id": "524BE3DE-F5C8-4E2E-A329-8480136DCBDB", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-outline", - "codepoint": "F0233", - "aliases": [ - "funnel-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3587C73B-5120-4206-9036-2FA87974681B", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-plus", - "codepoint": "F0EF0", - "aliases": [ - "funnel-plus" - ], - "styles": [ - "plus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "69D6704C-5371-48C4-AAE1-A53EB581CF72", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-plus-outline", - "codepoint": "F0EF1", - "aliases": [ - "funnel-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "F0D392A7-69A4-4301-8E3B-46A8FC7C3DF9", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-remove", - "codepoint": "F0234", - "aliases": [ - "funnel-remove" - ], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C6DD0143-A7E3-464D-B0AC-F97E5C51F74C", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-remove-outline", - "codepoint": "F0235", - "aliases": [ - "funnel-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2F76CF21-B111-4B8D-A09A-6B6B98366375", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-settings", - "codepoint": "F1AA5", - "aliases": [ - "funnel-settings" - ], - "styles": [ - "settings" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Simran" - }, - { - "id": "FC722964-4A11-4A22-94B1-D4812E1FE2C1", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-settings-outline", - "codepoint": "F1AA6", - "aliases": [ - "funnel-settings-outline" - ], - "styles": [ - "outline", - "settings" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Simran" - }, - { - "id": "AECECEA4-9E56-4B4B-ACD6-2C85AB09788A", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-variant", - "codepoint": "F0236", - "aliases": [ - "filter-list" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "10D650FB-B7AA-4439-A3BF-3F5DE934A22C", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-variant-minus", - "codepoint": "F1112", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "5F4F40C3-F04B-47BE-BB4F-13F080A81C6A", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-variant-plus", - "codepoint": "F1113", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "AE1B79F5-59D9-4FA4-8006-CE60BB5F5207", - "baseIconId": "39CAC4E6-CC95-42C8-94E9-E29089F1E91E", - "name": "filter-variant-remove", - "codepoint": "F103F", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "David Jackson" - }, - { - "id": "C39421CD-2A2D-4D92-B59B-69D70A328DF4", - "baseIconId": "C39421CD-2A2D-4D92-B59B-69D70A328DF4", - "name": "finance", - "codepoint": "F081F", - "aliases": [ - "chart-finance", - "report-finance", - "graph-bar" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Banking", - "Math" - ], - "author": "Google" - }, - { - "id": "D093813C-B59B-42BD-B6C7-B451FA51E87E", - "baseIconId": "D093813C-B59B-42BD-B6C7-B451FA51E87E", - "name": "find-replace", - "codepoint": "F06D4", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F71C897D-9858-40AE-8DB4-253CE675D823", - "baseIconId": "F71C897D-9858-40AE-8DB4-253CE675D823", - "name": "fingerprint", - "codepoint": "F0237", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EC570B4F-91D7-4478-9B9F-4C61BC709652", - "baseIconId": "F71C897D-9858-40AE-8DB4-253CE675D823", - "name": "fingerprint-off", - "codepoint": "F0EB1", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "5259DBA5-B2FB-4112-B1F2-5DC17002205C", - "baseIconId": "5259DBA5-B2FB-4112-B1F2-5DC17002205C", - "name": "fire", - "codepoint": "F0238", - "aliases": [ - "whatshot", - "flame", - "gas", - "natural-gas", - "hot" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "69B65938-BBEB-4E19-9D12-3924EEAAACF0", - "baseIconId": "5259DBA5-B2FB-4112-B1F2-5DC17002205C", - "name": "fire-alert", - "codepoint": "F15D7", - "aliases": [ - "flame-alert" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "942AE48C-F54D-4CD3-87A0-DC8DDDAD6F44", - "baseIconId": "5259DBA5-B2FB-4112-B1F2-5DC17002205C", - "name": "fire-circle", - "codepoint": "F1807", - "aliases": [ - "flame-circle", - "hot-circle", - "gas-circle", - "natural-gas-circle" - ], - "styles": [ - "circle" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D056C9A3-AA4C-4220-BEE7-79E189C12711", - "baseIconId": "D056C9A3-AA4C-4220-BEE7-79E189C12711", - "name": "fire-extinguisher", - "codepoint": "F0EF2", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "78842C69-653C-40B5-BA05-578361EA0620", - "baseIconId": "78842C69-653C-40B5-BA05-578361EA0620", - "name": "fire-hydrant", - "codepoint": "F1137", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "506CEB31-5A28-4D8F-947E-A0B0B5211DA1", - "baseIconId": "78842C69-653C-40B5-BA05-578361EA0620", - "name": "fire-hydrant-alert", - "codepoint": "F1138", - "aliases": [], - "styles": [ - "alert" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B09CB3ED-6B3A-4B3D-B795-92E96DE01F4B", - "baseIconId": "78842C69-653C-40B5-BA05-578361EA0620", - "name": "fire-hydrant-off", - "codepoint": "F1139", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DAB67757-2065-4741-A03A-563D0EA202E0", - "baseIconId": "5259DBA5-B2FB-4112-B1F2-5DC17002205C", - "name": "fire-off", - "codepoint": "F1722", - "aliases": [ - "flame-off" - ], - "styles": [ - "off" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1C8EC9A6-0545-4A59-B9F8-5E498E40529D", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "fire-truck", - "codepoint": "F08AB", - "aliases": [ - "fire-engine" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Nick" - }, - { - "id": "3A3D9EFD-ABA4-444F-9CB5-A2D8C1322B2C", - "baseIconId": "3A3D9EFD-ABA4-444F-9CB5-A2D8C1322B2C", - "name": "firebase", - "codepoint": "F0967", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "2A7EE574-62BE-4000-B8D8-B601C29D2960", - "baseIconId": "2A7EE574-62BE-4000-B8D8-B601C29D2960", - "name": "firefox", - "codepoint": "F0239", - "aliases": [ - "mozilla-firefox" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "B69CC506-E44A-4B60-A170-F4FFD53C67A6", - "baseIconId": "B69CC506-E44A-4B60-A170-F4FFD53C67A6", - "name": "fireplace", - "codepoint": "F0E2E", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E2D6EF7A-6C31-4DCD-B385-FC8C9B113538", - "baseIconId": "B69CC506-E44A-4B60-A170-F4FFD53C67A6", - "name": "fireplace-off", - "codepoint": "F0E2F", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5415674F-E6F6-433D-9A9F-E976FD7245F8", - "baseIconId": "5415674F-E6F6-433D-9A9F-E976FD7245F8", - "name": "firewire", - "codepoint": "F05BE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Contributors" - }, - { - "id": "6385008C-99E4-4459-8B18-0CD594EC5C7E", - "baseIconId": "6385008C-99E4-4459-8B18-0CD594EC5C7E", - "name": "firework", - "codepoint": "F0E30", - "aliases": [ - "bottle-rocket" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Augustin Ursu" - }, - { - "id": "16CFC5D9-C749-4148-BF17-D002AFFF9D09", - "baseIconId": "6385008C-99E4-4459-8B18-0CD594EC5C7E", - "name": "firework-off", - "codepoint": "F1723", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "91D8C321-95BC-4AC6-9B3E-D38D457BFF75", - "baseIconId": "91D8C321-95BC-4AC6-9B3E-D38D457BFF75", - "name": "fish", - "codepoint": "F023A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal", - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "4F854008-B48E-4134-829A-9D3086C8F1E9", - "baseIconId": "91D8C321-95BC-4AC6-9B3E-D38D457BFF75", - "name": "fish-off", - "codepoint": "F13F3", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "50A773A8-4349-4B7F-A211-6CB14E9C090B", - "baseIconId": "50A773A8-4349-4B7F-A211-6CB14E9C090B", - "name": "fishbowl", - "codepoint": "F0EF3", - "aliases": [ - "aquarium" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Michael Irigoyen" - }, - { - "id": "860D1C47-AD7E-4424-9CB7-BA9D2F86C129", - "baseIconId": "50A773A8-4349-4B7F-A211-6CB14E9C090B", - "name": "fishbowl-outline", - "codepoint": "F0EF4", - "aliases": [ - "aquarium-outline" - ], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Michael Irigoyen" - }, - { - "id": "05E31726-71FE-41C1-B2CC-93E5B4DF25CE", - "baseIconId": "05E31726-71FE-41C1-B2CC-93E5B4DF25CE", - "name": "fit-to-page", - "codepoint": "F0EF5", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0DB84D18-659E-4E93-A078-B3822742C0D4", - "baseIconId": "05E31726-71FE-41C1-B2CC-93E5B4DF25CE", - "name": "fit-to-page-outline", - "codepoint": "F0EF6", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2491A740-6415-4CDB-805F-675D8EBF89A3", - "baseIconId": "2491A740-6415-4CDB-805F-675D8EBF89A3", - "name": "fit-to-screen", - "codepoint": "F18F4", - "aliases": [], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E7D43483-A3ED-4B9B-AEB8-72BF8BC189E4", - "baseIconId": "2491A740-6415-4CDB-805F-675D8EBF89A3", - "name": "fit-to-screen-outline", - "codepoint": "F18F5", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "55271063-77EF-43FA-917C-657E57135A24", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag", - "codepoint": "F023B", - "aliases": [ - "assistant-photo" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B7386AC8-4DBF-4948-AD45-49234A8A019B", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-checkered", - "codepoint": "F023C", - "aliases": [ - "goal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Austin Andrews" - }, - { - "id": "55982621-FCB3-4A76-8F8C-50E7B6B1C93D", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-minus", - "codepoint": "F0B99", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "370C68CC-A001-4368-9617-B7D683361B27", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-minus-outline", - "codepoint": "F10B2", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D670073A-229E-474A-BDF8-ED5F07C1FC41", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-off", - "codepoint": "F18EE", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "07AE6191-FF49-4F10-A6E1-F4BD0E6C9029", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-off-outline", - "codepoint": "F18EF", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3C0BD546-A778-4BDC-A30A-A627D61CBA47", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-outline", - "codepoint": "F023D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EF2E3070-75EC-44C3-9ECE-780BB330D51B", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-plus", - "codepoint": "F0B9A", - "aliases": [ - "flag-add" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "32EF248B-1462-486E-AEF1-A0ED29670568", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-plus-outline", - "codepoint": "F10B3", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D0FB8B1E-3270-4562-A660-968995E1B9A9", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-remove", - "codepoint": "F0B9B", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "65132686-1842-48E2-9AD3-17FEB5EA56F5", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-remove-outline", - "codepoint": "F10B4", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "3E14D0C4-25AA-405E-89A7-37E9A224BA93", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-triangle", - "codepoint": "F023F", - "aliases": [ - "milestone" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9A9DB93D-CE2E-4887-B648-9C70E1922092", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant", - "codepoint": "F0240", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7FAF4B80-9616-4F37-98FF-DC02DD98AA08", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-minus", - "codepoint": "F1BB4", - "aliases": [], - "styles": [ - "minus", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2181A952-90BC-49E9-BC57-40CADFEF6E89", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-minus-outline", - "codepoint": "F1BB5", - "aliases": [], - "styles": [ - "minus", - "outline", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C90BB119-B3C8-4D8B-9652-7CE62A1861F7", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-off", - "codepoint": "F1BB0", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "24434A29-5FE9-40F3-9BD0-DDA50E1B7900", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-off-outline", - "codepoint": "F1BB1", - "aliases": [], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "756B772A-F638-48EB-918C-2FA4237C7767", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-outline", - "codepoint": "F023E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4005BD44-56B4-4F6E-962D-EF83ED5C69EC", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-plus", - "codepoint": "F1BB2", - "aliases": [], - "styles": [ - "plus", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "98EECB14-D708-4096-958C-22B3C7BDFB78", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-plus-outline", - "codepoint": "F1BB3", - "aliases": [], - "styles": [ - "outline", - "plus", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "302B6AE5-07C8-4C6C-BB99-6AA7482F1604", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-remove", - "codepoint": "F1BB6", - "aliases": [], - "styles": [ - "remove", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "121F3FEE-B1F0-4818-9512-2923E7E90AE3", - "baseIconId": "55271063-77EF-43FA-917C-657E57135A24", - "name": "flag-variant-remove-outline", - "codepoint": "F1BB7", - "aliases": [], - "styles": [ - "outline", - "remove", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8F4F8B2A-9E7D-432F-978E-F3F108DA701B", - "baseIconId": "8F4F8B2A-9E7D-432F-978E-F3F108DA701B", - "name": "flare", - "codepoint": "F0D72", - "aliases": [ - "star" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EF3D6923-793B-410C-B349-90A6A338F06C", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash", - "codepoint": "F0241", - "aliases": [ - "lightning-bolt", - "flash-on", - "electricity" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Google" - }, - { - "id": "59E94B6E-589B-4DB9-AAB7-397E17E2B272", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-alert", - "codepoint": "F0EF7", - "aliases": [ - "lightning-alert", - "storm-advisory" - ], - "styles": [ - "alert" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2770517A-B0A3-4AC5-A6E6-6EFD9DA2C3E5", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-alert-outline", - "codepoint": "F0EF8", - "aliases": [ - "lightning-alert-outline", - "storm-advisory-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D3251831-8AEF-420A-9AA8-2BA0A0621538", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-auto", - "codepoint": "F0242", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A6D1B09D-EDB0-4241-B42D-E56052A070DE", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-off", - "codepoint": "F0243", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "39EECEAB-80E1-486A-972E-CFBF84E02A26", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-off-outline", - "codepoint": "F1B45", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "088BF56F-9281-43DB-879E-EB5158428EB7", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-outline", - "codepoint": "F06D5", - "aliases": [ - "lightning-bolt-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C25CEF12-DF9C-45A4-8399-3102B79BDF14", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-red-eye", - "codepoint": "F067B", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E5881C80-1B80-472E-AFD9-A337D38C7A2F", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-triangle", - "codepoint": "F1B1D", - "aliases": [ - "high-voltage" - ], - "styles": [ - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "tetzla" - }, - { - "id": "825BA6A5-367F-42F8-A2B2-EBE84D7CBCF3", - "baseIconId": "EF3D6923-793B-410C-B349-90A6A338F06C", - "name": "flash-triangle-outline", - "codepoint": "F1B1E", - "aliases": [ - "high-voltage-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "tetzla" - }, - { - "id": "0EC7CDC8-86F4-4C72-AC2E-1DEDB196043F", - "baseIconId": "0EC7CDC8-86F4-4C72-AC2E-1DEDB196043F", - "name": "flashlight", - "codepoint": "F0244", - "aliases": [ - "torch" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "043DEA8B-1F5B-49CE-BC9F-AA3FC802A58A", - "baseIconId": "0EC7CDC8-86F4-4C72-AC2E-1DEDB196043F", - "name": "flashlight-off", - "codepoint": "F0245", - "aliases": [ - "torch-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask", - "codepoint": "F0093", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "D036C297-DB1B-42F5-A856-13EEBDB48613", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty", - "codepoint": "F0094", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "845569FD-A57A-4F03-9048-707A046521E9", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-minus", - "codepoint": "F123A", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "500AF1DD-69C7-4C42-AE74-B6AC589BA8A8", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-minus-outline", - "codepoint": "F123B", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "26005876-74DC-411D-BB27-557623A42F8A", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-off", - "codepoint": "F13F4", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E04A35A9-0B00-4FCF-A524-CB3331FFA346", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-off-outline", - "codepoint": "F13F5", - "aliases": [], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E9FFE6A9-C641-47BE-988B-A94B34A90CED", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-outline", - "codepoint": "F0095", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "716D7945-ED6F-40B5-890A-18A1F93247B0", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-plus", - "codepoint": "F123C", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "DD0BAE86-6060-4A90-8A57-32CCFBC7D617", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-plus-outline", - "codepoint": "F123D", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "64BC4DF4-E408-446C-975F-20A2F1646F1F", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-remove", - "codepoint": "F123E", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "5B25EC76-4EB5-46AC-9445-7411CD0567DD", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-empty-remove-outline", - "codepoint": "F123F", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "E4673F66-5785-4A63-855D-92A9F6B0E4AE", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-minus", - "codepoint": "F1240", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "B8EB4BF1-B423-4C0D-9DE5-24D691E9EAF3", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-minus-outline", - "codepoint": "F1241", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "D886A9E0-E952-4DF0-97B0-0C630E956766", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-off", - "codepoint": "F13F6", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4AA0C752-79B8-4EF6-A4E2-7B610599DEE3", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-off-outline", - "codepoint": "F13F7", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "14C068EE-90AC-42DA-AA1E-D24F74EE7263", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-outline", - "codepoint": "F0096", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "6FA94A7A-788F-44B6-90A7-B4EACF9B6FD3", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-plus", - "codepoint": "F1242", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "AE491BF6-EA26-4732-AF63-8A3D83379CC6", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-plus-outline", - "codepoint": "F1243", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "ED698844-E3E9-4FD3-89F2-A41163ACD80A", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-remove", - "codepoint": "F1244", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "67E2EA68-867E-4514-A952-2E0A90D5C2AC", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-remove-outline", - "codepoint": "F1245", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "E7D0BD51-A831-4355-AE75-1D903C121D3F", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-round-bottom", - "codepoint": "F124B", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "A08CBFD8-DD21-47F9-B213-7EF3AD89EDAD", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-round-bottom-empty", - "codepoint": "F124C", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "2BD05FF6-4E09-40EC-9D34-59FB9CCD09FF", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-round-bottom-empty-outline", - "codepoint": "F124D", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "383DEA4E-9820-4C4C-A5FD-05C151C7B82A", - "baseIconId": "5E171637-949C-4091-9A6E-1A56C1DC8347", - "name": "flask-round-bottom-outline", - "codepoint": "F124E", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "1BB3488A-A7B4-4DA5-99A2-AD23A184606B", - "baseIconId": "1BB3488A-A7B4-4DA5-99A2-AD23A184606B", - "name": "fleur-de-lis", - "codepoint": "F1303", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "9D29290D-A243-4C72-BC8C-ABCDFB4448B2", - "baseIconId": "9D29290D-A243-4C72-BC8C-ABCDFB4448B2", - "name": "flip-horizontal", - "codepoint": "F10E7", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Arrange" - ], - "author": "Google" - }, - { - "id": "F9DD0BF3-1CF8-456E-A542-2D22131A5761", - "baseIconId": "F9DD0BF3-1CF8-456E-A542-2D22131A5761", - "name": "flip-to-back", - "codepoint": "F0247", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrange" - ], - "author": "Google" - }, - { - "id": "6CEAE4F9-F6CB-4DA8-A25C-1F41494C6DD5", - "baseIconId": "6CEAE4F9-F6CB-4DA8-A25C-1F41494C6DD5", - "name": "flip-to-front", - "codepoint": "F0248", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrange" - ], - "author": "Google" - }, - { - "id": "D5DC28B3-CD69-465C-9333-9463A75072DC", - "baseIconId": "D5DC28B3-CD69-465C-9333-9463A75072DC", - "name": "flip-vertical", - "codepoint": "F10E8", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Arrange" - ], - "author": "Google" - }, - { - "id": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp", - "codepoint": "F08DD", - "aliases": [ - "floor-light" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "08F74DD4-A57F-4CC8-9568-88E826BE71E5", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp-dual", - "codepoint": "F1040", - "aliases": [ - "floor-light-dual" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Borre Haugen" - }, - { - "id": "E53D8FB5-A010-4EFA-91EB-731E8C6B7321", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp-dual-outline", - "codepoint": "F17CE", - "aliases": [ - "floor-light-dual-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9768571C-CF87-4146-A9AF-A4E76BBD9248", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp-outline", - "codepoint": "F17C8", - "aliases": [ - "floor-light-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Teodor Sandu" - }, - { - "id": "9042476D-79AC-4D50-AA53-EE71D3416BF3", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp-torchiere", - "codepoint": "F1747", - "aliases": [ - "floor-light-torchiere" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F2BD0434-FE75-43EB-BA3A-AFCE445DE335", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp-torchiere-outline", - "codepoint": "F17D6", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "85969E2D-500B-4565-8B80-A59FB6C8A73B", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp-torchiere-variant", - "codepoint": "F1041", - "aliases": [ - "floor-light-torchiere-variant" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Borre Haugen" - }, - { - "id": "03B09B13-4FA7-46CD-9E3B-48D460AB3986", - "baseIconId": "BEF1218E-7AF7-45F9-930E-915791D51EDC", - "name": "floor-lamp-torchiere-variant-outline", - "codepoint": "F17CF", - "aliases": [ - "floor-light-torchiere-variant-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "131D3C5D-880D-486B-A041-039B1F1E5284", - "baseIconId": "131D3C5D-880D-486B-A041-039B1F1E5284", - "name": "floor-plan", - "codepoint": "F0821", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "james-fry" - }, - { - "id": "B4AC5BF4-AF66-4DC5-9743-F62A80489149", - "baseIconId": "B4AC5BF4-AF66-4DC5-9743-F62A80489149", - "name": "floppy", - "codepoint": "F0249", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8A4453F7-03E3-4F10-B93F-3213645300F8", - "baseIconId": "8A4453F7-03E3-4F10-B93F-3213645300F8", - "name": "floppy-variant", - "codepoint": "F09EF", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "D73BB486-A112-48C1-A4EE-993825164C43", - "baseIconId": "D73BB486-A112-48C1-A4EE-993825164C43", - "name": "flower", - "codepoint": "F024A", - "aliases": [ - "local-florist", - "plant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "0BF283D1-7C12-4E5F-B136-558BE534AC8D", - "baseIconId": "D73BB486-A112-48C1-A4EE-993825164C43", - "name": "flower-outline", - "codepoint": "F09F0", - "aliases": [ - "local-florist-outline", - "plant" - ], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "00031D77-25BC-41B3-A6A3-F83EF92743A5", - "baseIconId": "D73BB486-A112-48C1-A4EE-993825164C43", - "name": "flower-pollen", - "codepoint": "F1885", - "aliases": [ - "allergy" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "24A80A28-E963-4E59-BA21-9D97C0434950", - "baseIconId": "D73BB486-A112-48C1-A4EE-993825164C43", - "name": "flower-pollen-outline", - "codepoint": "F1886", - "aliases": [ - "allergy-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9C310133-C0AC-4456-B8A0-9ED17F2C08BA", - "baseIconId": "D73BB486-A112-48C1-A4EE-993825164C43", - "name": "flower-poppy", - "codepoint": "F0D08", - "aliases": [ - "plant" - ], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4CD0F242-7779-4B61-B13C-876236FE92B4", - "baseIconId": "D73BB486-A112-48C1-A4EE-993825164C43", - "name": "flower-tulip", - "codepoint": "F09F1", - "aliases": [ - "plant" - ], - "styles": [ - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "D6449362-3D4B-42FB-BD25-020B104B4602", - "baseIconId": "D73BB486-A112-48C1-A4EE-993825164C43", - "name": "flower-tulip-outline", - "codepoint": "F09F2", - "aliases": [ - "plant" - ], - "styles": [ - "outline", - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "F04E0123-6365-491F-9A98-1D634D2F3071", - "baseIconId": "F04E0123-6365-491F-9A98-1D634D2F3071", - "name": "focus-auto", - "codepoint": "F0F4E", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Simran" - }, - { - "id": "4B35FE7D-BD1E-46D1-9C4C-DCCFC3DCEC44", - "baseIconId": "4B35FE7D-BD1E-46D1-9C4C-DCCFC3DCEC44", - "name": "focus-field", - "codepoint": "F0F4F", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Simran" - }, - { - "id": "B7F6C8DE-200D-4BCA-9E71-2AF633968C43", - "baseIconId": "B7F6C8DE-200D-4BCA-9E71-2AF633968C43", - "name": "focus-field-horizontal", - "codepoint": "F0F50", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Simran" - }, - { - "id": "CC4C833A-A1B9-4847-9BCB-3EAC3CCF15F5", - "baseIconId": "CC4C833A-A1B9-4847-9BCB-3EAC3CCF15F5", - "name": "focus-field-vertical", - "codepoint": "F0F51", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Simran" - }, - { - "id": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder", - "codepoint": "F024B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "0C56278E-06DE-4D32-BA08-C78F3EB572CC", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-account", - "codepoint": "F024C", - "aliases": [ - "folder-user", - "folder-shared" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User", - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "B905BF65-7312-4F62-8979-EDB2906B38E6", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-account-outline", - "codepoint": "F0B9C", - "aliases": [ - "folder-user-outline", - "folder-shared-outline" - ], - "styles": [ - "account", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "D26F1A90-B76E-4C13-A956-2EBA33493563", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-alert", - "codepoint": "F0DCC", - "aliases": [ - "folder-warning" - ], - "styles": [ - "alert" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9CF67925-5A21-47F8-8EF5-F567D902C1D2", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-alert-outline", - "codepoint": "F0DCD", - "aliases": [ - "folder-warning-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "40D3B512-FD3C-4F69-922E-DE4EC33AB3A5", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-down", - "codepoint": "F19E8", - "aliases": [ - "folder-download" - ], - "styles": [ - "arrow" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "65D7B690-9532-44AC-B537-82B136036F15", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-down-outline", - "codepoint": "F19E9", - "aliases": [ - "folder-download-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "25BB41F5-0A33-4F15-8C92-FBA086F0C6EA", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-left", - "codepoint": "F19EA", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "79455D10-F086-4724-A89A-CA23815D9A2A", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-left-outline", - "codepoint": "F19EB", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BCD77C22-F711-42AD-BFD7-46EA0DCA2AD0", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-left-right", - "codepoint": "F19EC", - "aliases": [], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "51BC71E5-596D-4FAC-A254-5E3F9E0C8AA2", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-left-right-outline", - "codepoint": "F19ED", - "aliases": [], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "56C26607-0AD8-47DC-8ECE-5180A20BE4B2", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-right", - "codepoint": "F19EE", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7FCB1874-45D5-4DD4-8F82-172FCADE562A", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-right-outline", - "codepoint": "F19EF", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "90B8DA2E-A381-4226-8F27-E085B391B5A1", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-up", - "codepoint": "F19F0", - "aliases": [ - "folder-upload" - ], - "styles": [ - "arrow" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F710484C-04A2-41A6-82BA-D0900A94E2DB", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-up-down", - "codepoint": "F19F1", - "aliases": [ - "folder-transfer" - ], - "styles": [ - "arrow" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0D1FD0C5-6A2C-475F-8824-A1EC1B93E85F", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-up-down-outline", - "codepoint": "F19F2", - "aliases": [ - "folder-transfer-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "320546E6-E809-47EA-BF2A-7EE3369AA89D", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-arrow-up-outline", - "codepoint": "F19F3", - "aliases": [ - "folder-upload-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EF125AA8-4CB8-4608-9E99-F50F7756F375", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-cancel", - "codepoint": "F19F4", - "aliases": [], - "styles": [ - "cancel" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "54D65B1D-7337-435B-8E69-BA2E721F9DE5", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-cancel-outline", - "codepoint": "F19F5", - "aliases": [], - "styles": [ - "cancel", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B231DD3B-3FD4-4D82-9BD4-329B5A1F59A5", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-check", - "codepoint": "F197E", - "aliases": [], - "styles": [ - "check" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "87616DE6-0ADE-412A-B67F-C115DF131B06", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-check-outline", - "codepoint": "F197F", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A3CB34A0-7E6E-4DF8-B17A-20C9180B3C76", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-clock", - "codepoint": "F0ABA", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Date \/ Time" - ], - "author": "GreenTurtwig" - }, - { - "id": "3EC459AC-889B-4D24-A6E2-978BA7A908BB", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-clock-outline", - "codepoint": "F0ABB", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "C5113090-DFDF-461C-BD5F-885DF9938A9E", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-cog", - "codepoint": "F107F", - "aliases": [ - "folder-cog" - ], - "styles": [ - "settings", - "variant" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "FDC5F42F-066B-4833-B8E9-E2E245FC80F6", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-cog-outline", - "codepoint": "F1080", - "aliases": [ - "folder-cog-outline" - ], - "styles": [ - "outline", - "settings", - "variant" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "E10E0982-353D-484A-886B-30D343261422", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-download", - "codepoint": "F024D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "20FEED41-F560-4872-82F4-4ED5D01EA474", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-download-outline", - "codepoint": "F10E9", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "1C40CBC9-118F-4145-B0A5-B10007870272", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-edit", - "codepoint": "F08DE", - "aliases": [], - "styles": [ - "edit" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Edit \/ Modify" - ], - "author": "GreenTurtwig" - }, - { - "id": "A990E58F-2E88-4293-892E-F58252416749", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-edit-outline", - "codepoint": "F0DCE", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D36D03A5-01AD-4F0B-9C63-ACA149117B73", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-eye", - "codepoint": "F178A", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7589978B-4D0B-4C1E-965A-38B5077BB7E1", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-eye-outline", - "codepoint": "F178B", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "92D3CAE7-0191-42CE-8D9F-7AE3C8D067DA", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-file", - "codepoint": "F19F6", - "aliases": [], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9DEB2414-C7DC-4AE8-831C-32FE8C5ECFCF", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-file-outline", - "codepoint": "F19F7", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B8ACEEFF-E80A-42A9-BCAE-A804D47D8929", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-google-drive", - "codepoint": "F024E", - "aliases": [ - "folder-mydrive" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Files \/ Folders", - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "E67BA814-6FCF-48CB-BBB3-359070145BCF", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-heart", - "codepoint": "F10EA", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B8BBFB97-F4D8-4FE1-B2CE-6590CBA2A337", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-heart-outline", - "codepoint": "F10EB", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "95C4CD8D-86FA-4F13-91AA-3AAEF0CD5CEE", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-hidden", - "codepoint": "F179E", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EF46E7D8-3062-41E5-8FC6-92D66DEF7603", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-home", - "codepoint": "F10B5", - "aliases": [ - "folder-house" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Home Automation" - ], - "author": "Mitch Berninger" - }, - { - "id": "5CFE89BB-F160-4C01-95C8-CFDF3D2099DA", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-home-outline", - "codepoint": "F10B6", - "aliases": [ - "folder-house-outline" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Home Automation" - ], - "author": "Mitch Berninger" - }, - { - "id": "726DE98D-9BA1-4E73-8632-FF3F3768A3B3", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-image", - "codepoint": "F024F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "A2C97734-F322-430B-BA09-02B0EB2D2CB5", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-information", - "codepoint": "F10B7", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C31ED401-6424-4436-84A8-3E82C95B1E79", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-information-outline", - "codepoint": "F10B8", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "30D99FD0-397C-49B6-A5CE-B9D6CFD7E66E", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-key", - "codepoint": "F08AC", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "0C6934F1-2CC9-4689-B388-B3F2A78E026A", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-key-network", - "codepoint": "F08AD", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "59629095-DF90-4405-8164-0EFB00808958", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-key-network-outline", - "codepoint": "F0C80", - "aliases": [], - "styles": [ - "key", - "network", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DE3EB621-D1A5-4F61-96F4-C8794191D34F", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-key-outline", - "codepoint": "F10EC", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FABB67CE-5F69-4D45-95B9-02D7BFC9EABD", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-lock", - "codepoint": "F0250", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock", - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F89AD3B3-DD09-44F7-81A7-0433ECD44A8F", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-lock-open", - "codepoint": "F0251", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock", - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "27E16474-6081-4DA7-AD05-707CC64369C7", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-lock-open-outline", - "codepoint": "F1AA7", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E201B591-1235-409C-A620-862909114374", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-lock-outline", - "codepoint": "F1AA8", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "00FD0F50-240F-4654-9712-C219B0FF9A97", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-marker", - "codepoint": "F126D", - "aliases": [ - "folder-location" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Files \/ Folders", - "Navigation" - ], - "author": "Andrea Antonello" - }, - { - "id": "A542AF06-5931-4B8A-8DE0-777F11304ACC", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-marker-outline", - "codepoint": "F126E", - "aliases": [ - "folder-location-outline" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Files \/ Folders", - "Navigation" - ], - "author": "Andrea Antonello" - }, - { - "id": "8C184D42-0C9C-402E-9B8E-EB78E5A5A21D", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-minus", - "codepoint": "F1B49", - "aliases": [], - "styles": [ - "minus" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A8D2A9D7-8B44-4BFE-B84E-B1FFB889759C", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-minus-outline", - "codepoint": "F1B4A", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B7AD0302-5738-4474-9679-AC118E566A7E", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-move", - "codepoint": "F0252", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "F3985E52-B82C-4008-98E3-48DCDBC21749", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-move-outline", - "codepoint": "F1246", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Sascha Wohlgemuth" - }, - { - "id": "7116841C-C243-4A44-8C68-267048AAF939", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-multiple", - "codepoint": "F0253", - "aliases": [ - "folders" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "29BE785E-BAAB-4824-A0BF-6892D8027B1E", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-multiple-image", - "codepoint": "F0254", - "aliases": [ - "perm-media", - "folders-image" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "F91AD38D-33E3-46A4-83BC-17B671750D6C", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-multiple-outline", - "codepoint": "F0255", - "aliases": [ - "folders-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "C7BBAA2A-AE24-41E9-AED3-6932D2D0CCAF", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-multiple-plus", - "codepoint": "F147E", - "aliases": [], - "styles": [ - "multiple", - "plus" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "CF776532-C79F-4319-B2FB-F9EDD407E063", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-multiple-plus-outline", - "codepoint": "F147F", - "aliases": [], - "styles": [ - "multiple", - "outline", - "plus" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Terren" - }, - { - "id": "4D36C1AA-F109-485C-8D3C-EDDD054057AF", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-music", - "codepoint": "F1359", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Music" - ], - "author": "\u00d6zg\u00fcr G\u00f6rg\u00fcl\u00fc" - }, - { - "id": "629FB453-89C2-4B3F-A12E-2FDC427FCD0D", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-music-outline", - "codepoint": "F135A", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Music" - ], - "author": "\u00d6zg\u00fcr G\u00f6rg\u00fcl\u00fc" - }, - { - "id": "7C4EED9D-D897-4B8C-9C0B-FE9A9D820A2D", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-network", - "codepoint": "F0870", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "1C9D27B7-BBF8-45BD-AF63-200A7E67E8DA", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-network-outline", - "codepoint": "F0C81", - "aliases": [], - "styles": [ - "network", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A792FD60-AF2F-4EDD-8CCB-42FFBEE61286", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-off", - "codepoint": "F19F8", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3DA5D076-3943-4968-A375-3DB3A73C3E69", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-off-outline", - "codepoint": "F19F9", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7BBC57AE-0EBA-4198-8B85-5082A38522DE", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-open", - "codepoint": "F0770", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "DFC9E65E-7019-4520-9797-418E410FEABC", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-open-outline", - "codepoint": "F0DCF", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0524FF60-B273-4675-9B69-043730244645", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-outline", - "codepoint": "F0256", - "aliases": [ - "folder-open" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "C3FACC18-E546-4E6F-A140-48541C0B808E", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-play", - "codepoint": "F19FA", - "aliases": [ - "folder-media", - "folder-music", - "folder-video" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "63119A3C-5E35-4BC5-9DA6-74EB4DD748DB", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-play-outline", - "codepoint": "F19FB", - "aliases": [ - "folder-media-outline", - "folder-music-outline", - "folder-video-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BAE32170-6509-4D1F-A6A5-A2FD1A0C679B", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-plus", - "codepoint": "F0257", - "aliases": [ - "create-new-folder", - "folder-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "5615B9DB-A490-4977-9513-B21B086BB542", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-plus-outline", - "codepoint": "F0B9D", - "aliases": [ - "create-new-folder-outline", - "folder-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "FEA28688-AA8C-4CEE-937C-9110076B3214", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-pound", - "codepoint": "F0D09", - "aliases": [ - "folder-hash" - ], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AA3153A7-917B-4D2B-9D8E-297AE296F195", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-pound-outline", - "codepoint": "F0D0A", - "aliases": [ - "folder-hash-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "772568CD-A665-4EBA-ACEA-6D6D5D23CDFB", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-question", - "codepoint": "F19CA", - "aliases": [ - "folder-help" - ], - "styles": [ - "question" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DF184C5C-BF3B-47C7-8E37-6992E1E7480E", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-question-outline", - "codepoint": "F19CB", - "aliases": [ - "folder-help-outline" - ], - "styles": [ - "outline", - "question" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B23FB77-FAF2-4F8E-B071-D23726EA8632", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-refresh", - "codepoint": "F0749", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "DBC01AAD-8FE1-4668-9E76-7AF716D30C32", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-refresh-outline", - "codepoint": "F0542", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "3FF41316-69DC-4913-A299-84206E12FE42", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-remove", - "codepoint": "F0258", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "1990909C-A843-4BE0-83B9-83FB51707CAD", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-remove-outline", - "codepoint": "F0B9E", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "8F02F34C-2C77-43BF-BF20-5EDCA4C37A85", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-search", - "codepoint": "F0968", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "GreenTurtwig" - }, - { - "id": "05CF7DE7-1D45-45C3-9BCC-363735A36550", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-search-outline", - "codepoint": "F0969", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "GreenTurtwig" - }, - { - "id": "E9863879-31CD-48D3-B40B-FD49B692A787", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-settings", - "codepoint": "F107D", - "aliases": [], - "styles": [ - "settings" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "BE00F5DD-75FB-43C5-BE8F-56117E1EC823", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-settings-outline", - "codepoint": "F107E", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Settings", - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "58C8B00C-897C-4381-9AD2-33B754B96865", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-star", - "codepoint": "F069D", - "aliases": [ - "folder-special", - "folder-favorite" - ], - "styles": [ - "star" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "407F7D88-25F6-4EDF-8489-3F8B7996F704", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-star-multiple", - "codepoint": "F13D3", - "aliases": [ - "folder-favorite-multiple" - ], - "styles": [ - "multiple", - "star" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C7DD0CB0-EEA4-4D24-BCE2-8184382EF419", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-star-multiple-outline", - "codepoint": "F13D4", - "aliases": [ - "folder-favorite-multiple-outline" - ], - "styles": [ - "multiple", - "outline", - "star" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3CE11413-D500-4DFA-8913-A22A16D6DAD5", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-star-outline", - "codepoint": "F0B9F", - "aliases": [ - "folder-special-outline", - "folder-favorite-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "B8D54537-7FBC-44B4-8091-2F85D8ACF05B", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-swap", - "codepoint": "F0FB6", - "aliases": [ - "folder-transfer" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "EE80C9C6-6C17-4049-9C87-B6E7E3D956EA", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-swap-outline", - "codepoint": "F0FB7", - "aliases": [ - "folder-transfer-outline" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "8E493781-E2CB-48C6-8C07-24BD1F5F3BF0", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-sync", - "codepoint": "F0D0B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "AE853799-5608-4541-BD65-C7AC6AD09256", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-sync-outline", - "codepoint": "F0D0C", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "58AC43F6-6A0B-43AC-B681-A68B6714B4F1", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-table", - "codepoint": "F12E3", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "1C994AC5-D1CA-457D-8A8C-F6E40821815F", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-table-outline", - "codepoint": "F12E4", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Simran" - }, - { - "id": "2A24B473-B162-4B0E-9723-6867EEA702A9", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-text", - "codepoint": "F0C82", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "D80E4CB4-F5E6-4BA8-A8C9-B24A3C31E56F", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-text-outline", - "codepoint": "F0C83", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "9F84EC25-D8C7-4BB0-B39F-E71919F4EE6D", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-upload", - "codepoint": "F0259", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "841EF884-AC6E-4930-8DEA-6C87F91BE11F", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-upload-outline", - "codepoint": "F10ED", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Richins" - }, - { - "id": "4A9F791A-45FC-42C8-BBBB-1963868C4E44", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-wrench", - "codepoint": "F19FC", - "aliases": [ - "folder-settings" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D489D931-A6B8-4363-B4E4-C76190FE4B18", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-wrench-outline", - "codepoint": "F19FD", - "aliases": [ - "folder-settings-outline" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1573C575-7FBA-4BCD-A960-02D42043FE6F", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-zip", - "codepoint": "F06EB", - "aliases": [ - "compressed-folder" - ], - "styles": [ - "variant" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "55AE86E1-C6DB-4F41-BC21-1750DB608D23", - "baseIconId": "9D8C1CEE-19BE-4B0B-85CC-DEB829F9F045", - "name": "folder-zip-outline", - "codepoint": "F07B9", - "aliases": [ - "compressed-folder-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0D7EBC60-1884-41C7-B37E-E0EED68E896E", - "baseIconId": "0D7EBC60-1884-41C7-B37E-E0EED68E896E", - "name": "font-awesome", - "codepoint": "F003A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "140954DE-20F5-4A8B-BFC3-DB8E49922AF3", - "baseIconId": "140954DE-20F5-4A8B-BFC3-DB8E49922AF3", - "name": "food", - "codepoint": "F025A", - "aliases": [ - "fast-food", - "burger", - "cup", - "drink", - "hamburger" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "D5B1A45F-8C43-4E3B-8E75-09EAF1984021", - "baseIconId": "D5B1A45F-8C43-4E3B-8E75-09EAF1984021", - "name": "food-apple", - "codepoint": "F025B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "F1E2E692-7E18-4D28-8F6C-6E6D16161CF2", - "baseIconId": "D5B1A45F-8C43-4E3B-8E75-09EAF1984021", - "name": "food-apple-outline", - "codepoint": "F0C84", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "28363B2E-72C8-481E-B702-7DE52F72717C", - "baseIconId": "28363B2E-72C8-481E-B702-7DE52F72717C", - "name": "food-croissant", - "codepoint": "F07C8", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Alex Efremo" - }, - { - "id": "83BA130B-E603-4455-B7C6-EDE9BE1FCC7E", - "baseIconId": "83BA130B-E603-4455-B7C6-EDE9BE1FCC7E", - "name": "food-drumstick", - "codepoint": "F141F", - "aliases": [ - "chicken-leg", - "turkey-leg", - "meat" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BC4982E1-86E2-48A1-AE1B-8FD95D6BA850", - "baseIconId": "83BA130B-E603-4455-B7C6-EDE9BE1FCC7E", - "name": "food-drumstick-off", - "codepoint": "F1468", - "aliases": [ - "chicken-leg-off", - "turkey-leg-off", - "meat-off" - ], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CC221369-59E9-45B7-9CBD-79AB2828689A", - "baseIconId": "83BA130B-E603-4455-B7C6-EDE9BE1FCC7E", - "name": "food-drumstick-off-outline", - "codepoint": "F1469", - "aliases": [ - "chicken-leg-off-outline", - "turkey-leg-off-outline", - "meat-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D60C4F90-EE53-4A92-84F7-076DAC23FD31", - "baseIconId": "83BA130B-E603-4455-B7C6-EDE9BE1FCC7E", - "name": "food-drumstick-outline", - "codepoint": "F1420", - "aliases": [ - "chicken-leg-outline", - "turkey-leg-outline", - "meat-outline" - ], - "styles": [ - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4CE93EC4-0938-4CB2-AB0E-0DCA0AF27B91", - "baseIconId": "4CE93EC4-0938-4CB2-AB0E-0DCA0AF27B91", - "name": "food-fork-drink", - "codepoint": "F05F2", - "aliases": [ - "food-fork-cup" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "F576B145-F06D-49FA-9616-2423C5D322AD", - "baseIconId": "F576B145-F06D-49FA-9616-2423C5D322AD", - "name": "food-halal", - "codepoint": "F1572", - "aliases": [ - "food-muslim", - "dietary-restriction" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Haley Halcyon" - }, - { - "id": "71DB0C17-56B2-4664-9AD2-BF6EDB375D59", - "baseIconId": "71DB0C17-56B2-4664-9AD2-BF6EDB375D59", - "name": "food-hot-dog", - "codepoint": "F184B", - "aliases": [ - "food-weiner", - "food-frankfurter" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BC887CBF-E298-4E05-8C7D-B13539C4BA15", - "baseIconId": "BC887CBF-E298-4E05-8C7D-B13539C4BA15", - "name": "food-kosher", - "codepoint": "F1573", - "aliases": [ - "food-jewish", - "dietary-restriction" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Haley Halcyon" - }, - { - "id": "3731F58E-CAEA-4B54-87A6-7F4E039F2B31", - "baseIconId": "140954DE-20F5-4A8B-BFC3-DB8E49922AF3", - "name": "food-off", - "codepoint": "F05F3", - "aliases": [ - "fast-food-off", - "burger-off", - "cup-off", - "drink-off", - "hamburger-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "339A2EDA-7C62-4D1F-AB2E-2E5F7F5200FC", - "baseIconId": "140954DE-20F5-4A8B-BFC3-DB8E49922AF3", - "name": "food-off-outline", - "codepoint": "F1915", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "7E16BC17-6002-4EB2-A8FA-7982CF05426E", - "baseIconId": "140954DE-20F5-4A8B-BFC3-DB8E49922AF3", - "name": "food-outline", - "codepoint": "F1916", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "1A357DD0-01F0-4FF9-83D3-41B9AA22E5D1", - "baseIconId": "1A357DD0-01F0-4FF9-83D3-41B9AA22E5D1", - "name": "food-steak", - "codepoint": "F146A", - "aliases": [ - "meat", - "beef" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A0482E2B-FA1E-4478-BA16-A7EF749920B3", - "baseIconId": "1A357DD0-01F0-4FF9-83D3-41B9AA22E5D1", - "name": "food-steak-off", - "codepoint": "F146B", - "aliases": [ - "meat-off", - "beef-off" - ], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "12052E35-8005-45AD-8901-7861C8404EF8", - "baseIconId": "12052E35-8005-45AD-8901-7861C8404EF8", - "name": "food-takeout-box", - "codepoint": "F1836", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "BEF6335C-F745-472D-9C83-F0ED033B38B6", - "baseIconId": "12052E35-8005-45AD-8901-7861C8404EF8", - "name": "food-takeout-box-outline", - "codepoint": "F1837", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "D5900301-8742-4D92-8E56-525DCDE97E0F", - "baseIconId": "D5900301-8742-4D92-8E56-525DCDE97E0F", - "name": "food-turkey", - "codepoint": "F171C", - "aliases": [ - "dinner", - "thanksgiving" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1D25DDEC-2656-4729-BEBD-BB17F972DD09", - "baseIconId": "140954DE-20F5-4A8B-BFC3-DB8E49922AF3", - "name": "food-variant", - "codepoint": "F025C", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "C24FE6CB-D1AA-4BAB-BB6B-956307D28D1D", - "baseIconId": "140954DE-20F5-4A8B-BFC3-DB8E49922AF3", - "name": "food-variant-off", - "codepoint": "F13E5", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "DAAA09E2-055A-4D74-BF60-C46DC6019035", - "baseIconId": "DAAA09E2-055A-4D74-BF60-C46DC6019035", - "name": "foot-print", - "codepoint": "F0F52", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "aardloper" - }, - { - "id": "3C0488C6-E807-401D-9689-7770550EC2E7", - "baseIconId": "3C0488C6-E807-401D-9689-7770550EC2E7", - "name": "football", - "codepoint": "F025D", - "aliases": [ - "football-american" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "97B1FB51-7C30-4B83-AEED-95700B38F65F", - "baseIconId": "97B1FB51-7C30-4B83-AEED-95700B38F65F", - "name": "football-australian", - "codepoint": "F025E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Austin Andrews" - }, - { - "id": "8F719D4B-9A91-46E1-81B0-00C23AA0D313", - "baseIconId": "8F719D4B-9A91-46E1-81B0-00C23AA0D313", - "name": "football-helmet", - "codepoint": "F025F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Austin Andrews" - }, - { - "id": "70EFA358-6CE3-4CC1-9F46-6283D491F2E2", - "baseIconId": "70EFA358-6CE3-4CC1-9F46-6283D491F2E2", - "name": "forest", - "codepoint": "F1897", - "aliases": [ - "forestry", - "pine-tree-multiple" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture", - "Places" - ], - "author": "Google" - }, - { - "id": "E247BE22-952A-42FB-9741-F4607385A99B", - "baseIconId": "70EFA358-6CE3-4CC1-9F46-6283D491F2E2", - "name": "forest-outline", - "codepoint": "F1C63", - "aliases": [ - "forestry-outline", - "pine-tree-multiple-outline" - ], - "styles": [ - "multiple", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture", - "Places" - ], - "author": "Jeff Anders" - }, - { - "id": "9CB941AF-8C23-4201-B891-A23521B011CD", - "baseIconId": "9CB941AF-8C23-4201-B891-A23521B011CD", - "name": "forklift", - "codepoint": "F07C9", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "34C52C66-C35A-470B-A618-303A8B0DBD17", - "baseIconId": "34C52C66-C35A-470B-A618-303A8B0DBD17", - "name": "form-dropdown", - "codepoint": "F1400", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Charlie Davis" - }, - { - "id": "09F44862-B3EA-4F67-8C4F-67C830FC8CF3", - "baseIconId": "09F44862-B3EA-4F67-8C4F-67C830FC8CF3", - "name": "form-select", - "codepoint": "F1401", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Charlie Davis" - }, - { - "id": "9C901687-3535-4B54-B963-7E92EB9CE229", - "baseIconId": "9C901687-3535-4B54-B963-7E92EB9CE229", - "name": "form-textarea", - "codepoint": "F1095", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Richins" - }, - { - "id": "BB7E18FD-F473-4A80-B6A9-A17D3648E0A4", - "baseIconId": "BB7E18FD-F473-4A80-B6A9-A17D3648E0A4", - "name": "form-textbox", - "codepoint": "F060E", - "aliases": [ - "rename" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Austin Andrews" - }, - { - "id": "32C3C391-9B80-4659-BCB3-6653FE4E5108", - "baseIconId": "BB7E18FD-F473-4A80-B6A9-A17D3648E0A4", - "name": "form-textbox-lock", - "codepoint": "F135D", - "aliases": [], - "styles": [ - "lock" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Form", - "Lock" - ], - "author": "Austin Andrews" - }, - { - "id": "F35B5B3C-762F-473C-B229-B6818D50E045", - "baseIconId": "BB7E18FD-F473-4A80-B6A9-A17D3648E0A4", - "name": "form-textbox-password", - "codepoint": "F07F5", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Richins" - }, - { - "id": "CF22AACF-228D-4C3A-9BE7-D5DE853A0139", - "baseIconId": "CF22AACF-228D-4C3A-9BE7-D5DE853A0139", - "name": "format-align-bottom", - "codepoint": "F0753", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "9B295DCA-8352-407E-84F1-34890975D010", - "baseIconId": "56F0424F-3D53-486E-BC4C-0738457ACBA8", - "name": "format-align-center", - "codepoint": "F0260", - "aliases": [ - "format-align-centre" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "521B67DD-EC96-4B1D-B884-BE155D850F85", - "baseIconId": "56F0424F-3D53-486E-BC4C-0738457ACBA8", - "name": "format-align-justify", - "codepoint": "F0261", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "56F0424F-3D53-486E-BC4C-0738457ACBA8", - "baseIconId": "56F0424F-3D53-486E-BC4C-0738457ACBA8", - "name": "format-align-left", - "codepoint": "F0262", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "59384E78-B7EF-4BDA-B537-35E537C00130", - "baseIconId": "59384E78-B7EF-4BDA-B537-35E537C00130", - "name": "format-align-middle", - "codepoint": "F0754", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "7289388F-3768-4833-B282-0662FD9B9A73", - "baseIconId": "56F0424F-3D53-486E-BC4C-0738457ACBA8", - "name": "format-align-right", - "codepoint": "F0263", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "71140AD8-A0A6-45DD-9414-5DB2FBC875F1", - "baseIconId": "71140AD8-A0A6-45DD-9414-5DB2FBC875F1", - "name": "format-align-top", - "codepoint": "F0755", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "55770606-AFB4-441F-B3AA-2CDE46136F4B", - "baseIconId": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "name": "format-annotation-minus", - "codepoint": "F0ABC", - "aliases": [], - "styles": [ - "minus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "591A45AB-511C-4791-957C-303186C666AA", - "baseIconId": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "name": "format-annotation-plus", - "codepoint": "F0646", - "aliases": [ - "format-annotation-add" - ], - "styles": [ - "plus" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Kai Faust" - }, - { - "id": "2107C153-0FEC-4171-8602-6549ACABA768", - "baseIconId": "2107C153-0FEC-4171-8602-6549ACABA768", - "name": "format-bold", - "codepoint": "F0264", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "D5213C5D-AC53-40A5-BBCC-C8B3F849D6B4", - "baseIconId": "D5213C5D-AC53-40A5-BBCC-C8B3F849D6B4", - "name": "format-clear", - "codepoint": "F0265", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "C4E2DE69-EC92-490F-814A-5D8A20E7E595", - "baseIconId": "C4E2DE69-EC92-490F-814A-5D8A20E7E595", - "name": "format-color-fill", - "codepoint": "F0266", - "aliases": [ - "format-colour-fill", - "paint", - "paint-bucket", - "ink-color", - "ink-colour" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Color" - ], - "author": "Google" - }, - { - "id": "3681D567-0B40-47FF-843A-3258A16F935B", - "baseIconId": "71E6D8F0-A3D2-43CB-8940-16AA4E1D9825", - "name": "format-color-highlight", - "codepoint": "F0E31", - "aliases": [ - "format-colour-highlight" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Color", - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "C6D32152-B2F3-43D3-A78E-D69CBDC5E054", - "baseIconId": "C6D32152-B2F3-43D3-A78E-D69CBDC5E054", - "name": "format-color-marker-cancel", - "codepoint": "F1313", - "aliases": [ - "format-color-redact" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Color" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D28EF658-3CE7-4F5B-99B3-50F60F5B0BA0", - "baseIconId": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "name": "format-color-text", - "codepoint": "F069E", - "aliases": [ - "format-colour-text" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Color" - ], - "author": "Google" - }, - { - "id": "FB93EA15-A9E8-432C-BC34-419DDCE44E3B", - "baseIconId": "FB93EA15-A9E8-432C-BC34-419DDCE44E3B", - "name": "format-columns", - "codepoint": "F08DF", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Peter Noble" - }, - { - "id": "3BC78F10-A7C3-4F15-9328-138E35CFC259", - "baseIconId": "3BC78F10-A7C3-4F15-9328-138E35CFC259", - "name": "format-float-center", - "codepoint": "F0267", - "aliases": [ - "format-float-centre" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "E595D32A-5108-4E9A-BF98-52DEFC1A50EE", - "baseIconId": "E595D32A-5108-4E9A-BF98-52DEFC1A50EE", - "name": "format-float-left", - "codepoint": "F0268", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "22DE1517-7E6C-43B9-B0E1-F3EDAEFE6398", - "baseIconId": "22DE1517-7E6C-43B9-B0E1-F3EDAEFE6398", - "name": "format-float-none", - "codepoint": "F0269", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "8F5AF64B-3A3D-449C-9FCC-374EAF6D523C", - "baseIconId": "8F5AF64B-3A3D-449C-9FCC-374EAF6D523C", - "name": "format-float-right", - "codepoint": "F026A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "C7D57EF8-207C-48F9-953A-EAFB03308A1E", - "baseIconId": "C7D57EF8-207C-48F9-953A-EAFB03308A1E", - "name": "format-font", - "codepoint": "F06D6", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Haley Halcyon" - }, - { - "id": "4FA696A5-8843-4E3F-B9BF-5BCF5B6C4D2C", - "baseIconId": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "name": "format-font-size-decrease", - "codepoint": "F09F3", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "934DCE7F-D2A8-40F5-B945-A35DBD3F207B", - "baseIconId": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "name": "format-font-size-increase", - "codepoint": "F09F4", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F64E046B-8690-4ACF-90F7-98896159BB34", - "baseIconId": "F64E046B-8690-4ACF-90F7-98896159BB34", - "name": "format-header-1", - "codepoint": "F026B", - "aliases": [ - "format-heading-1" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "00E2A358-A6A9-493C-BFC2-A259AA0092CF", - "baseIconId": "00E2A358-A6A9-493C-BFC2-A259AA0092CF", - "name": "format-header-2", - "codepoint": "F026C", - "aliases": [ - "format-heading-2" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "EE76BE9D-B10D-43C8-9B5A-746BE228C344", - "baseIconId": "EE76BE9D-B10D-43C8-9B5A-746BE228C344", - "name": "format-header-3", - "codepoint": "F026D", - "aliases": [ - "format-heading-3" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "CC669D6C-53AD-43C2-A660-EFF783847D6F", - "baseIconId": "CC669D6C-53AD-43C2-A660-EFF783847D6F", - "name": "format-header-4", - "codepoint": "F026E", - "aliases": [ - "format-heading-4" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "FFC1FF08-CEFF-4623-B715-4731CDEF27D4", - "baseIconId": "FFC1FF08-CEFF-4623-B715-4731CDEF27D4", - "name": "format-header-5", - "codepoint": "F026F", - "aliases": [ - "format-heading-5" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "854D0158-05E0-47A7-8E6E-2F66DCD415EE", - "baseIconId": "854D0158-05E0-47A7-8E6E-2F66DCD415EE", - "name": "format-header-6", - "codepoint": "F0270", - "aliases": [ - "format-heading-6" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "CF17BB12-9537-4F2E-9E88-3E1DE3D0DCE6", - "baseIconId": "CF17BB12-9537-4F2E-9E88-3E1DE3D0DCE6", - "name": "format-header-decrease", - "codepoint": "F0271", - "aliases": [ - "format-heading-decease" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "99554AA1-419F-420F-9AEB-0826D411B420", - "baseIconId": "99554AA1-419F-420F-9AEB-0826D411B420", - "name": "format-header-equal", - "codepoint": "F0272", - "aliases": [ - "format-heading-equal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "20BCC8DA-F055-46B0-9C27-68791E3BA80E", - "baseIconId": "20BCC8DA-F055-46B0-9C27-68791E3BA80E", - "name": "format-header-increase", - "codepoint": "F0273", - "aliases": [ - "format-heading-increase" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "C632F7EE-B560-4FAA-802E-968DAB3EA979", - "baseIconId": "C632F7EE-B560-4FAA-802E-968DAB3EA979", - "name": "format-header-pound", - "codepoint": "F0274", - "aliases": [ - "format-header-hash", - "format-heading-pound", - "format-heading-hash", - "format-heading-markdown" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "83EE24A9-9D1A-45AA-B4CD-F75F1174F0EB", - "baseIconId": "83EE24A9-9D1A-45AA-B4CD-F75F1174F0EB", - "name": "format-horizontal-align-center", - "codepoint": "F061E", - "aliases": [ - "format-horizontal-align-centre", - "arrow-horizontal-collapse" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "AEA5545F-4C74-4A14-8F9E-92CC258216AD", - "baseIconId": "AEA5545F-4C74-4A14-8F9E-92CC258216AD", - "name": "format-horizontal-align-left", - "codepoint": "F061F", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "7EFCB642-F9B5-41C8-B2CF-2566C6AC45C2", - "baseIconId": "7EFCB642-F9B5-41C8-B2CF-2566C6AC45C2", - "name": "format-horizontal-align-right", - "codepoint": "F0620", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "148FD97C-E3C6-4E41-87B8-488036159CC6", - "baseIconId": "148FD97C-E3C6-4E41-87B8-488036159CC6", - "name": "format-indent-decrease", - "codepoint": "F0275", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "18B9F49B-7A69-4E93-AEA6-8CB30F22E100", - "baseIconId": "18B9F49B-7A69-4E93-AEA6-8CB30F22E100", - "name": "format-indent-increase", - "codepoint": "F0276", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "F766C5E3-1BBB-4ADE-9D33-170A223DB6F9", - "baseIconId": "F766C5E3-1BBB-4ADE-9D33-170A223DB6F9", - "name": "format-italic", - "codepoint": "F0277", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "B9EB5A17-979C-47C5-8F20-E2436511E0C4", - "baseIconId": "B9EB5A17-979C-47C5-8F20-E2436511E0C4", - "name": "format-letter-case", - "codepoint": "F0B34", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "79F06165-5718-4618-8056-1BEB689BF7CF", - "baseIconId": "B9EB5A17-979C-47C5-8F20-E2436511E0C4", - "name": "format-letter-case-lower", - "codepoint": "F0B35", - "aliases": [ - "format-lowercase" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "0C748102-1ABB-4762-A407-B64C960618D7", - "baseIconId": "B9EB5A17-979C-47C5-8F20-E2436511E0C4", - "name": "format-letter-case-upper", - "codepoint": "F0B36", - "aliases": [ - "format-uppercase" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "B2B22BA8-6F5A-45F8-9A48-B6CC932DFD62", - "baseIconId": "62D729FA-8643-4FAF-9D2D-176AE4ED3774", - "name": "format-letter-ends-with", - "codepoint": "F0FB8", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "62D729FA-8643-4FAF-9D2D-176AE4ED3774", - "baseIconId": "62D729FA-8643-4FAF-9D2D-176AE4ED3774", - "name": "format-letter-matches", - "codepoint": "F0FB9", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "868506A4-50DB-4C9C-9CEA-278969298EF4", - "baseIconId": "868506A4-50DB-4C9C-9CEA-278969298EF4", - "name": "format-letter-spacing", - "codepoint": "F1956", - "aliases": [ - "format-kerning" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5EC5D417-1D27-4B48-A2DD-DC4DDCF96BA3", - "baseIconId": "868506A4-50DB-4C9C-9CEA-278969298EF4", - "name": "format-letter-spacing-variant", - "codepoint": "F1AFB", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Sintija" - }, - { - "id": "870F391E-A069-461E-9296-904B34308D98", - "baseIconId": "62D729FA-8643-4FAF-9D2D-176AE4ED3774", - "name": "format-letter-starts-with", - "codepoint": "F0FBA", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "87E942A2-9A34-4EF0-9025-63CA97919465", - "baseIconId": "87E942A2-9A34-4EF0-9025-63CA97919465", - "name": "format-line-height", - "codepoint": "F1AFC", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Sintija" - }, - { - "id": "24F69EED-721D-48A1-BA3C-3C1657B65C04", - "baseIconId": "24F69EED-721D-48A1-BA3C-3C1657B65C04", - "name": "format-line-spacing", - "codepoint": "F0278", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "2E9CEB4F-7C1F-4572-9A8E-830A3258407A", - "baseIconId": "2E9CEB4F-7C1F-4572-9A8E-830A3258407A", - "name": "format-line-style", - "codepoint": "F05C8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "1BA8A6A0-348E-4268-B02B-6708E1E30373", - "baseIconId": "1BA8A6A0-348E-4268-B02B-6708E1E30373", - "name": "format-line-weight", - "codepoint": "F05C9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "baseIconId": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "name": "format-list-bulleted", - "codepoint": "F0279", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "4AA98685-EEBB-4816-801E-3B12DCB4413F", - "baseIconId": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "name": "format-list-bulleted-square", - "codepoint": "F0DD0", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "C436DF00-A54E-48D1-9A4A-EA21A90E4FF5", - "baseIconId": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "name": "format-list-bulleted-triangle", - "codepoint": "F0EB2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Richins" - }, - { - "id": "535ABAF7-65D8-4CAB-A3B0-D5B732B6C36F", - "baseIconId": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "name": "format-list-bulleted-type", - "codepoint": "F027A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "45A8DC8E-AD79-4205-AC8B-4BCC17B6F465", - "baseIconId": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "name": "format-list-checkbox", - "codepoint": "F096A", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "2B19EECF-71BF-41F3-B62A-468607BA0B47", - "baseIconId": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "name": "format-list-checks", - "codepoint": "F0756", - "aliases": [ - "to-do" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "894BF6B9-23A6-4C91-813C-9867E63DA5AD", - "baseIconId": "2FBAE8A7-BAC7-44C8-85DC-EB458871BF29", - "name": "format-list-group", - "codepoint": "F1860", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "6272EE7E-4A0B-4A08-AFC4-6FD3845FAD6B", - "baseIconId": "894BF6B9-23A6-4C91-813C-9867E63DA5AD", - "name": "format-list-group-plus", - "codepoint": "F1B56", - "aliases": [ - "format-list-group-add" - ], - "styles": [ - "plus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andy Giesen" - }, - { - "id": "EFEB4AB3-780B-4C2D-B673-36BB0A4FE0B2", - "baseIconId": "EFEB4AB3-780B-4C2D-B673-36BB0A4FE0B2", - "name": "format-list-numbered", - "codepoint": "F027B", - "aliases": [ - "format-list-numbers" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "8480FB3F-93B8-4445-BE6D-56A47441D6A6", - "baseIconId": "EFEB4AB3-780B-4C2D-B673-36BB0A4FE0B2", - "name": "format-list-numbered-rtl", - "codepoint": "F0D0D", - "aliases": [ - "format-list-numbered-right-to-left" - ], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "5458AB97-471F-4A96-92E0-FB0AE72AFF33", - "baseIconId": "5458AB97-471F-4A96-92E0-FB0AE72AFF33", - "name": "format-list-text", - "codepoint": "F126F", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Yaroslav Bandura" - }, - { - "id": "5D87D3E1-C59B-47A2-9ADE-C96FF1C7CA21", - "baseIconId": "DD218F3D-C302-477A-9B9F-482813328DE6", - "name": "format-overline", - "codepoint": "F0EB3", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael" - }, - { - "id": "4C2390EF-6AE7-4868-945B-AACD2E581F46", - "baseIconId": "4C2390EF-6AE7-4868-945B-AACD2E581F46", - "name": "format-page-break", - "codepoint": "F06D7", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "841FF2DA-C31C-48B1-A566-10238590DAF9", - "baseIconId": "841FF2DA-C31C-48B1-A566-10238590DAF9", - "name": "format-page-split", - "codepoint": "F1917", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "70232BC6-D883-48CD-B992-9EE1DABEBFD7", - "baseIconId": "70232BC6-D883-48CD-B992-9EE1DABEBFD7", - "name": "format-paint", - "codepoint": "F027C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Color", - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "252574CE-020B-461A-995B-D4BA81741BBC", - "baseIconId": "252574CE-020B-461A-995B-D4BA81741BBC", - "name": "format-paragraph", - "codepoint": "F027D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "D92E7B40-A6F6-479D-9FFD-807AE3E470E6", - "baseIconId": "D92E7B40-A6F6-479D-9FFD-807AE3E470E6", - "name": "format-paragraph-spacing", - "codepoint": "F1AFD", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Sintija" - }, - { - "id": "9AF465C3-5FEF-48E4-8D38-5A5A3D2A9799", - "baseIconId": "9AF465C3-5FEF-48E4-8D38-5A5A3D2A9799", - "name": "format-pilcrow", - "codepoint": "F06D8", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Richins" - }, - { - "id": "C317FCCF-DCDB-4429-B1A7-850FED29F5B3", - "baseIconId": "C317FCCF-DCDB-4429-B1A7-850FED29F5B3", - "name": "format-pilcrow-arrow-left", - "codepoint": "F0286", - "aliases": [ - "format-textdirection-r-to-l" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "D6B79C3B-22FB-4B52-90B8-6979AB48C3E8", - "baseIconId": "D6B79C3B-22FB-4B52-90B8-6979AB48C3E8", - "name": "format-pilcrow-arrow-right", - "codepoint": "F0285", - "aliases": [ - "format-textdirection-l-to-r" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "0450C081-EE6B-4CB1-A7F7-B6F0F524CA99", - "baseIconId": "0450C081-EE6B-4CB1-A7F7-B6F0F524CA99", - "name": "format-quote-close", - "codepoint": "F027E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "55118B26-26AC-43F3-B85C-1FF22306A77E", - "baseIconId": "0450C081-EE6B-4CB1-A7F7-B6F0F524CA99", - "name": "format-quote-close-outline", - "codepoint": "F11A8", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "CF5D126B-7DC1-4BE7-B5A1-E31B715EDBAA", - "baseIconId": "CF5D126B-7DC1-4BE7-B5A1-E31B715EDBAA", - "name": "format-quote-open", - "codepoint": "F0757", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "B9143BB9-06E0-40A3-8B38-D0687A1BEA69", - "baseIconId": "CF5D126B-7DC1-4BE7-B5A1-E31B715EDBAA", - "name": "format-quote-open-outline", - "codepoint": "F11A7", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "99448D5B-50D3-4F49-8E88-DD75F7DFB231", - "baseIconId": "99448D5B-50D3-4F49-8E88-DD75F7DFB231", - "name": "format-rotate-90", - "codepoint": "F06AA", - "aliases": [ - "rotate-90-degrees-ccw", - "format-rotate-ninety" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "6F0198AB-0903-4B36-AC27-B72EBC7A8A83", - "baseIconId": "6F0198AB-0903-4B36-AC27-B72EBC7A8A83", - "name": "format-section", - "codepoint": "F069F", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Richins" - }, - { - "id": "3F6E54F6-CF3E-46C8-BD72-A9BCF6DCF80C", - "baseIconId": "3F6E54F6-CF3E-46C8-BD72-A9BCF6DCF80C", - "name": "format-size", - "codepoint": "F027F", - "aliases": [ - "font-size" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "0BE83BB5-3D22-478D-AAC2-F586A4E5FA69", - "baseIconId": "DD218F3D-C302-477A-9B9F-482813328DE6", - "name": "format-strikethrough", - "codepoint": "F0280", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "CB728339-FA66-440F-9E88-8A6FFE827EA1", - "baseIconId": "DD218F3D-C302-477A-9B9F-482813328DE6", - "name": "format-strikethrough-variant", - "codepoint": "F0281", - "aliases": [ - "strikethrough-s" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "4765CE92-9095-4C00-9137-1C35761C7B59", - "baseIconId": "4765CE92-9095-4C00-9137-1C35761C7B59", - "name": "format-subscript", - "codepoint": "F0282", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "41BF2594-97C2-481A-AA66-029CE1BF4C2D", - "baseIconId": "41BF2594-97C2-481A-AA66-029CE1BF4C2D", - "name": "format-superscript", - "codepoint": "F0283", - "aliases": [ - "exponent" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "FE7F03F1-79D3-4113-A35E-088C3F2AB8AD", - "baseIconId": "FE7F03F1-79D3-4113-A35E-088C3F2AB8AD", - "name": "format-text", - "codepoint": "F0284", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "C40131F3-E8A5-44CB-90A0-E230114C0DC3", - "baseIconId": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "name": "format-text-rotation-angle-down", - "codepoint": "F0FBB", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "9C650D6F-20FE-4496-8973-B19509A47A18", - "baseIconId": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "name": "format-text-rotation-angle-up", - "codepoint": "F0FBC", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "580E85A8-696F-46FE-B141-F13A94078F22", - "baseIconId": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "name": "format-text-rotation-down", - "codepoint": "F0D73", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "D6CC1545-8778-4A0D-9B2B-7A34DB91ADD9", - "baseIconId": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "name": "format-text-rotation-down-vertical", - "codepoint": "F0FBD", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "baseIconId": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "name": "format-text-rotation-none", - "codepoint": "F0D74", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "2A113842-ED83-4F44-B7DE-A0AFF5DDB452", - "baseIconId": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "name": "format-text-rotation-up", - "codepoint": "F0FBE", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "A8232518-D348-46AF-953C-907F7F0F3D51", - "baseIconId": "D5935D28-A7D0-4F35-9917-625E5A9666CD", - "name": "format-text-rotation-vertical", - "codepoint": "F0FBF", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "baseIconId": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "name": "format-text-variant", - "codepoint": "F0E32", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "98078792-391E-4CB0-8C7A-8F76868FA289", - "baseIconId": "E79B26A6-CAA3-4CD8-B5C8-1D5797C4C765", - "name": "format-text-variant-outline", - "codepoint": "F150F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Haley Halcyon" - }, - { - "id": "DD6BADDA-B656-424C-AF6D-509CB7E382D2", - "baseIconId": "AB362496-50E2-4978-BA63-41F90057BB64", - "name": "format-text-wrapping-clip", - "codepoint": "F0D0E", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "EF57DF3A-9441-45FD-B124-5247DB8E04C2", - "baseIconId": "AB362496-50E2-4978-BA63-41F90057BB64", - "name": "format-text-wrapping-overflow", - "codepoint": "F0D0F", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "AB362496-50E2-4978-BA63-41F90057BB64", - "baseIconId": "AB362496-50E2-4978-BA63-41F90057BB64", - "name": "format-text-wrapping-wrap", - "codepoint": "F0D10", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "8A502343-16E9-4FF5-A0FE-28328B37E7C2", - "baseIconId": "8A502343-16E9-4FF5-A0FE-28328B37E7C2", - "name": "format-textbox", - "codepoint": "F0D11", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "4B4B86CC-C989-4629-9B9D-C31243A29DB9", - "baseIconId": "4B4B86CC-C989-4629-9B9D-C31243A29DB9", - "name": "format-title", - "codepoint": "F05F4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "DD218F3D-C302-477A-9B9F-482813328DE6", - "baseIconId": "DD218F3D-C302-477A-9B9F-482813328DE6", - "name": "format-underline", - "codepoint": "F0287", - "aliases": [ - "format-underlined" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "27068E58-4DC3-4C61-96A2-876C621B6039", - "baseIconId": "DD218F3D-C302-477A-9B9F-482813328DE6", - "name": "format-underline-wavy", - "codepoint": "F18E9", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "723F4461-61B3-4D53-A03D-302F5D9401E1", - "baseIconId": "723F4461-61B3-4D53-A03D-302F5D9401E1", - "name": "format-vertical-align-bottom", - "codepoint": "F0621", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "4C8985BA-B48F-4015-9389-35672ECDE544", - "baseIconId": "4C8985BA-B48F-4015-9389-35672ECDE544", - "name": "format-vertical-align-center", - "codepoint": "F0622", - "aliases": [ - "format-vertical-align-centre", - "arrow-vertical-collapse" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "06A3A04F-F7F7-4707-86FC-5DEBA497B79E", - "baseIconId": "06A3A04F-F7F7-4707-86FC-5DEBA497B79E", - "name": "format-vertical-align-top", - "codepoint": "F0623", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "556AFB1F-1857-4CB9-94B8-2E7E8A8DD292", - "baseIconId": "556AFB1F-1857-4CB9-94B8-2E7E8A8DD292", - "name": "format-wrap-inline", - "codepoint": "F0288", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "D5787449-1950-4A7C-8CD9-CABC628AFBCE", - "baseIconId": "D5787449-1950-4A7C-8CD9-CABC628AFBCE", - "name": "format-wrap-square", - "codepoint": "F0289", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "4AA96763-2A6C-4BF0-BA64-32AD08B530F6", - "baseIconId": "4AA96763-2A6C-4BF0-BA64-32AD08B530F6", - "name": "format-wrap-tight", - "codepoint": "F028A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "0378C7CD-8331-42A0-9C0F-114960FD5966", - "baseIconId": "0378C7CD-8331-42A0-9C0F-114960FD5966", - "name": "format-wrap-top-bottom", - "codepoint": "F028B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Andreas Gohr" - }, - { - "id": "3AC84477-2308-4445-868C-9666AE25B054", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum", - "codepoint": "F028C", - "aliases": [ - "message-group", - "question-answer", - "chat" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7FA0128C-C4DF-413B-9D6A-070344D26FFD", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum-minus", - "codepoint": "F1AA9", - "aliases": [ - "chat-minus", - "forum-subtract", - "chat-subtract" - ], - "styles": [ - "minus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "B62A5E78-9D61-47C7-97DA-B1DFFDACFACC", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum-minus-outline", - "codepoint": "F1AAA", - "aliases": [ - "chat-minus-outline", - "forum-subtract-outline", - "chat-subtract-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "E6469D88-74CE-4242-8226-85BB8F8EFFB0", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum-outline", - "codepoint": "F0822", - "aliases": [ - "chat-outline" - ], - "styles": [ - "outline" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "148303DA-1AF8-48FF-82C4-A4B91108B231", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum-plus", - "codepoint": "F1AAB", - "aliases": [ - "chat-plus", - "forum-add", - "chat-add" - ], - "styles": [ - "plus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "9AFD97C2-4B94-49EB-8D08-E2802D6FC377", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum-plus-outline", - "codepoint": "F1AAC", - "aliases": [ - "chat-plus-outline", - "chat-add-outline", - "forum-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "nlsve" - }, - { - "id": "E7013FF6-E962-4ED4-BCA9-5BE12DF03146", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum-remove", - "codepoint": "F1AAD", - "aliases": [ - "forum-delete", - "chat-remove", - "chat-delete" - ], - "styles": [ - "remove" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D58EAFB0-F7C3-4541-A585-43F80F273833", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "forum-remove-outline", - "codepoint": "F1AAE", - "aliases": [ - "forum-delete-outline", - "chat-remove-outline", - "chat-delete-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EAE07425-A6D5-4B33-A9C5-6D7E9E9E1908", - "baseIconId": "EAE07425-A6D5-4B33-A9C5-6D7E9E9E1908", - "name": "forward", - "codepoint": "F028D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "A626AD09-C436-4622-905C-9C7E8164CD54", - "baseIconId": "A626AD09-C436-4622-905C-9C7E8164CD54", - "name": "forwardburger", - "codepoint": "F0D75", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9267CA84-62FD-4346-BCA8-42B4617CCB43", - "baseIconId": "9267CA84-62FD-4346-BCA8-42B4617CCB43", - "name": "fountain", - "codepoint": "F096B", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Augustin Ursu" - }, - { - "id": "E7415545-8386-424D-8CF5-933EE43D74CB", - "baseIconId": "E7415545-8386-424D-8CF5-933EE43D74CB", - "name": "fountain-pen", - "codepoint": "F0D12", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Michael Irigoyen" - }, - { - "id": "892B5243-DF37-4511-B4A1-1D688A39ED52", - "baseIconId": "E7415545-8386-424D-8CF5-933EE43D74CB", - "name": "fountain-pen-tip", - "codepoint": "F0D13", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2B87DDFB-9230-4374-BE31-996E5D21639C", - "baseIconId": "2B87DDFB-9230-4374-BE31-996E5D21639C", - "name": "fraction-one-half", - "codepoint": "F1992", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "54CA035A-3BAB-4349-8FD1-D50A1990D301", - "baseIconId": "54CA035A-3BAB-4349-8FD1-D50A1990D301", - "name": "freebsd", - "codepoint": "F08E0", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C7BD4B3A-4B63-4FDE-99D5-87B4DA460492", - "baseIconId": "C7BD4B3A-4B63-4FDE-99D5-87B4DA460492", - "name": "french-fries", - "codepoint": "F1957", - "aliases": [ - "chips", - "finger-chips", - "french-fry", - "fried-potatoes", - "fries", - "frites" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A53E5953-2094-419A-A418-57BE05F751C8", - "baseIconId": "3AC84477-2308-4445-868C-9666AE25B054", - "name": "frequently-asked-questions", - "codepoint": "F0EB4", - "aliases": [ - "faq" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "148520BB-2172-4261-9336-3E85E5131869", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge", - "codepoint": "F0290", - "aliases": [ - "fridge-filled", - "refrigerator", - "kitchen" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "032BF3C7-46C6-40D8-BBD4-4CDE8CBCC48B", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-alert", - "codepoint": "F11B1", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9BC979D8-9012-4CB1-A041-7A19ADC8E08D", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-alert-outline", - "codepoint": "F11B2", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F88B80D0-1521-48F8-BC15-94BA5F14BFC1", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-bottom", - "codepoint": "F0292", - "aliases": [ - "fridge-filled-top", - "refrigerator-bottom" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "48D0CA48-04CB-4C87-8F19-DBD5286A6E7B", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-industrial", - "codepoint": "F15EE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3A45CCD3-F520-4A5D-BF83-2F0C28F66337", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-industrial-alert", - "codepoint": "F15EF", - "aliases": [], - "styles": [ - "alert", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8AAF0069-BCC9-4922-A32B-C1625C27AF98", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-industrial-alert-outline", - "codepoint": "F15F0", - "aliases": [], - "styles": [ - "alert", - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6670F529-AA9D-41B4-9D0B-D435209CE045", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-industrial-off", - "codepoint": "F15F1", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5A046326-A491-45B3-A524-E9CA61BC7255", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-industrial-off-outline", - "codepoint": "F15F2", - "aliases": [], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C3B23703-739D-45E6-9FEB-CEB630D638CC", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-industrial-outline", - "codepoint": "F15F3", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "417BCDA5-DCA7-4EFF-B2BF-670E9DD10961", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-off", - "codepoint": "F11AF", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4430029A-EC83-4078-A287-AD986DE6B2AE", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-off-outline", - "codepoint": "F11B0", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "214668FF-C50D-4D69-B916-AE66E73CB3B0", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-outline", - "codepoint": "F028F", - "aliases": [ - "kitchen", - "refrigerator-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "3D6FCDAF-F7F8-42C2-87C6-6DF36EB8C935", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-top", - "codepoint": "F0291", - "aliases": [ - "fridge-filled-bottom", - "refrigerator-top" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "3066672D-30F0-44BF-B396-C0A2E5BCC1FF", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-variant", - "codepoint": "F15F4", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "091DA8FF-AD64-4F13-BF05-E21B39C1E171", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-variant-alert", - "codepoint": "F15F5", - "aliases": [], - "styles": [ - "alert", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "782A053A-D6FF-4B8E-B3A2-4ADCB6A7BA9A", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-variant-alert-outline", - "codepoint": "F15F6", - "aliases": [], - "styles": [ - "alert", - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "99BB3B9D-0011-4493-B80C-539874638521", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-variant-off", - "codepoint": "F15F7", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7B4DCE91-4647-4646-A93C-D7542FEAC5AC", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-variant-off-outline", - "codepoint": "F15F8", - "aliases": [], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B1E31148-2318-459A-AA91-1C87D306D71A", - "baseIconId": "148520BB-2172-4261-9336-3E85E5131869", - "name": "fridge-variant-outline", - "codepoint": "F15F9", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "11A7EAA3-B398-4F36-80B0-A4C50965E812", - "baseIconId": "11A7EAA3-B398-4F36-80B0-A4C50965E812", - "name": "fruit-cherries", - "codepoint": "F1042", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "693BA957-6E56-406A-B061-CCA1B916E408", - "baseIconId": "11A7EAA3-B398-4F36-80B0-A4C50965E812", - "name": "fruit-cherries-off", - "codepoint": "F13F8", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1F2DF3F1-F380-491D-BC09-B3262612DF23", - "baseIconId": "1F2DF3F1-F380-491D-BC09-B3262612DF23", - "name": "fruit-citrus", - "codepoint": "F1043", - "aliases": [ - "fruit-lemon", - "fruit-lime" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AA24652D-2BA2-4C09-87A4-9E71C1A18CA9", - "baseIconId": "1F2DF3F1-F380-491D-BC09-B3262612DF23", - "name": "fruit-citrus-off", - "codepoint": "F13F9", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C2A76F16-19FC-4D88-B131-B90E5B3ED517", - "baseIconId": "C2A76F16-19FC-4D88-B131-B90E5B3ED517", - "name": "fruit-grapes", - "codepoint": "F1044", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D2E95893-08FB-4C63-9420-AD5C890EBAE6", - "baseIconId": "C2A76F16-19FC-4D88-B131-B90E5B3ED517", - "name": "fruit-grapes-outline", - "codepoint": "F1045", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E17D31CC-F130-4832-95AD-EBC299E1B8E5", - "baseIconId": "E17D31CC-F130-4832-95AD-EBC299E1B8E5", - "name": "fruit-pear", - "codepoint": "F1A0E", - "aliases": [], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Contributors" - }, - { - "id": "F28FDEF7-E169-45AA-84E7-13DB0A6CA241", - "baseIconId": "F28FDEF7-E169-45AA-84E7-13DB0A6CA241", - "name": "fruit-pineapple", - "codepoint": "F1046", - "aliases": [ - "fruit-ananas" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0219370F-F54F-444F-8312-288CB435784E", - "baseIconId": "0219370F-F54F-444F-8312-288CB435784E", - "name": "fruit-watermelon", - "codepoint": "F1047", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8E016660-0C3A-46EA-B3A5-8DC490238EC7", - "baseIconId": "8E016660-0C3A-46EA-B3A5-8DC490238EC7", - "name": "fuel", - "codepoint": "F07CA", - "aliases": [ - "petrol", - "gasoline" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Haley Halcyon" - }, - { - "id": "AF7C2BB9-3C7B-4309-89BD-58158E0CDF2A", - "baseIconId": "AF7C2BB9-3C7B-4309-89BD-58158E0CDF2A", - "name": "fuel-cell", - "codepoint": "F18B5", - "aliases": [ - "battery" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Automotive", - "Battery" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "A4F7E2E4-704C-4A71-99D5-4BD19AD8E755", - "baseIconId": "A4F7E2E4-704C-4A71-99D5-4BD19AD8E755", - "name": "fullscreen", - "codepoint": "F0293", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CE6DC9C1-A636-4B3E-B838-34069330D3B2", - "baseIconId": "CE6DC9C1-A636-4B3E-B838-34069330D3B2", - "name": "fullscreen-exit", - "codepoint": "F0294", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "76B75225-53BF-4523-BD48-CB555FFF0C67", - "baseIconId": "76B75225-53BF-4523-BD48-CB555FFF0C67", - "name": "function", - "codepoint": "F0295", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "8424F867-9F66-42FB-92D3-91724FB2CA38", - "baseIconId": "76B75225-53BF-4523-BD48-CB555FFF0C67", - "name": "function-variant", - "codepoint": "F0871", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "D9CC1449-7E53-4305-A521-C4E705390012", - "baseIconId": "D9CC1449-7E53-4305-A521-C4E705390012", - "name": "furigana-horizontal", - "codepoint": "F1081", - "aliases": [ - "ruby-horizontal" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Haley Halcyon" - }, - { - "id": "68042B53-6F94-4EE1-A40D-9415AE0EE14A", - "baseIconId": "D9CC1449-7E53-4305-A521-C4E705390012", - "name": "furigana-vertical", - "codepoint": "F1082", - "aliases": [ - "zhuyin", - "ruby-vertical" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Haley Halcyon" - }, - { - "id": "E1A77AA6-9DC6-49C8-8049-89EEE3545A4A", - "baseIconId": "E1A77AA6-9DC6-49C8-8049-89EEE3545A4A", - "name": "fuse", - "codepoint": "F0C85", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EDE0F403-427B-468D-9CCA-75608159964C", - "baseIconId": "E1A77AA6-9DC6-49C8-8049-89EEE3545A4A", - "name": "fuse-alert", - "codepoint": "F142D", - "aliases": [], - "styles": [ - "alert" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Automotive", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "84BD762F-B0EC-4195-A6E2-7BF1E9386AE6", - "baseIconId": "E1A77AA6-9DC6-49C8-8049-89EEE3545A4A", - "name": "fuse-blade", - "codepoint": "F0C86", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "174BB611-F232-474B-B563-DCC770985930", - "baseIconId": "E1A77AA6-9DC6-49C8-8049-89EEE3545A4A", - "name": "fuse-off", - "codepoint": "F142C", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5C29EFA9-0FF3-4101-BC87-C9C15ACBA7AB", - "baseIconId": "5C29EFA9-0FF3-4101-BC87-C9C15ACBA7AB", - "name": "gamepad", - "codepoint": "F0296", - "aliases": [ - "games", - "controller" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "C2CE3BF5-B623-4170-AD29-CAC89C4EBB93", - "baseIconId": "C2CE3BF5-B623-4170-AD29-CAC89C4EBB93", - "name": "gamepad-circle", - "codepoint": "F0E33", - "aliases": [ - "controller-circle" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "A7E881F0-76BD-4711-A238-5ECAEA02EAFC", - "baseIconId": "C2CE3BF5-B623-4170-AD29-CAC89C4EBB93", - "name": "gamepad-circle-down", - "codepoint": "F0E34", - "aliases": [ - "controller-circle-down" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "AE90913A-5172-4699-98FC-7B935C753E1E", - "baseIconId": "C2CE3BF5-B623-4170-AD29-CAC89C4EBB93", - "name": "gamepad-circle-left", - "codepoint": "F0E35", - "aliases": [ - "controller-circle-left" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "D227F063-202F-4B7D-9175-790055F07506", - "baseIconId": "C2CE3BF5-B623-4170-AD29-CAC89C4EBB93", - "name": "gamepad-circle-outline", - "codepoint": "F0E36", - "aliases": [ - "controller-circle-outline" - ], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "97C7D65D-6073-473D-9D21-7DCB3CA7556D", - "baseIconId": "C2CE3BF5-B623-4170-AD29-CAC89C4EBB93", - "name": "gamepad-circle-right", - "codepoint": "F0E37", - "aliases": [ - "controller-circle-right" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "233618F0-A837-4938-AEF8-93DA6A92A70E", - "baseIconId": "C2CE3BF5-B623-4170-AD29-CAC89C4EBB93", - "name": "gamepad-circle-up", - "codepoint": "F0E38", - "aliases": [ - "controller-circle-up" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "E007AB79-ED6E-4746-9D55-A35F6BD2C93C", - "baseIconId": "5C29EFA9-0FF3-4101-BC87-C9C15ACBA7AB", - "name": "gamepad-down", - "codepoint": "F0E39", - "aliases": [ - "controller-down" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "D8A2D400-73A0-467E-9144-581D51735E0F", - "baseIconId": "5C29EFA9-0FF3-4101-BC87-C9C15ACBA7AB", - "name": "gamepad-left", - "codepoint": "F0E3A", - "aliases": [ - "controller-left" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "57E03360-C609-4F40-85D0-10A2019A1EE4", - "baseIconId": "5C29EFA9-0FF3-4101-BC87-C9C15ACBA7AB", - "name": "gamepad-outline", - "codepoint": "F1919", - "aliases": [ - "controller-outline", - "games-outline" - ], - "styles": [ - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D513E54E-6492-4C2A-99E9-3E50C5662B88", - "baseIconId": "5C29EFA9-0FF3-4101-BC87-C9C15ACBA7AB", - "name": "gamepad-right", - "codepoint": "F0E3B", - "aliases": [ - "controller-right" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "3AD46D54-4369-483C-A0B5-E03D7CF62F3B", - "baseIconId": "3AD46D54-4369-483C-A0B5-E03D7CF62F3B", - "name": "gamepad-round", - "codepoint": "F0E3C", - "aliases": [ - "controller-round" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "ABC572E9-CE00-450F-A1E0-E59BCF0C3DC3", - "baseIconId": "3AD46D54-4369-483C-A0B5-E03D7CF62F3B", - "name": "gamepad-round-down", - "codepoint": "F0E3D", - "aliases": [ - "controller-round-down" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "07D26BD5-0B09-4FAF-9710-DA1F19C40C39", - "baseIconId": "3AD46D54-4369-483C-A0B5-E03D7CF62F3B", - "name": "gamepad-round-left", - "codepoint": "F0E3E", - "aliases": [ - "controller-round-left" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "808C141C-877E-49D3-93D6-A69F985A7881", - "baseIconId": "3AD46D54-4369-483C-A0B5-E03D7CF62F3B", - "name": "gamepad-round-outline", - "codepoint": "F0E3F", - "aliases": [ - "controller-round-outline" - ], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "4D10A9D6-5E25-457D-B4ED-25BCC647E62E", - "baseIconId": "3AD46D54-4369-483C-A0B5-E03D7CF62F3B", - "name": "gamepad-round-right", - "codepoint": "F0E40", - "aliases": [ - "controller-round-right" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "D3C1F57B-FF1A-4CD9-AD39-E3F3AB752779", - "baseIconId": "3AD46D54-4369-483C-A0B5-E03D7CF62F3B", - "name": "gamepad-round-up", - "codepoint": "F0E41", - "aliases": [ - "controller-round-up" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "0FE0FB42-286B-4D56-AE93-6D93EA514C4B", - "baseIconId": "0FE0FB42-286B-4D56-AE93-6D93EA514C4B", - "name": "gamepad-square", - "codepoint": "F0EB5", - "aliases": [ - "controller-square" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "1370B995-F9FF-4B39-9414-055908214152", - "baseIconId": "0FE0FB42-286B-4D56-AE93-6D93EA514C4B", - "name": "gamepad-square-outline", - "codepoint": "F0EB6", - "aliases": [ - "controller-square-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "56D5F5A6-18F7-4FA5-8D16-48058EBD98D3", - "baseIconId": "5C29EFA9-0FF3-4101-BC87-C9C15ACBA7AB", - "name": "gamepad-up", - "codepoint": "F0E42", - "aliases": [ - "controller-up" - ], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "A4DB98F5-FFD6-4F36-BB90-1B06AB202096", - "baseIconId": "A4DB98F5-FFD6-4F36-BB90-1B06AB202096", - "name": "gamepad-variant", - "codepoint": "F0297", - "aliases": [ - "controller-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "25A261F0-9C5E-4103-88C8-70CEBA27270D", - "baseIconId": "A4DB98F5-FFD6-4F36-BB90-1B06AB202096", - "name": "gamepad-variant-outline", - "codepoint": "F0EB7", - "aliases": [ - "controller-variant-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "9D9227EC-5170-4765-832D-CDCF4AD79CAE", - "baseIconId": "9D9227EC-5170-4765-832D-CDCF4AD79CAE", - "name": "gamma", - "codepoint": "F10EE", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Sascha Wohlgemuth" - }, - { - "id": "CB6D190E-D7B6-4B40-804A-B868BE682C4D", - "baseIconId": "CB6D190E-D7B6-4B40-804A-B868BE682C4D", - "name": "gantry-crane", - "codepoint": "F0DD1", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage", - "codepoint": "F06D9", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Alex Efremo" - }, - { - "id": "03ED4E2F-41CE-47D7-ABB4-C8515C202499", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage-alert", - "codepoint": "F0872", - "aliases": [ - "garage-warning" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "25425A4D-48BD-4139-BA72-81D0DAB54020", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage-alert-variant", - "codepoint": "F12D5", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E0AE077B-AE61-4760-95DD-7ACC9423327B", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage-lock", - "codepoint": "F17FB", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6B34986A-5D17-4C64-9840-994B66EC00AB", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage-open", - "codepoint": "F06DA", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Alex Efremo" - }, - { - "id": "8AE7213F-00BD-40D9-A524-2CCB60511BBA", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage-open-variant", - "codepoint": "F12D4", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "11A3EA2E-E0A4-435D-B53D-55EB0E8A5F10", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage-variant", - "codepoint": "F12D3", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "53BD8FE6-E6BE-48B5-A68C-3064A5C0710E", - "baseIconId": "FC744BA5-2E98-459F-BBD6-60788B23D93E", - "name": "garage-variant-lock", - "codepoint": "F17FC", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BB98FED5-2967-4D6D-B133-8447CE90C089", - "baseIconId": "BB98FED5-2967-4D6D-B133-8447CE90C089", - "name": "gas-burner", - "codepoint": "F1A1B", - "aliases": [ - "stove-burner", - "cooktop-burner", - "grill", - "natural-gas", - "energy" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "7CEC48C5-3A70-4BA2-9FB8-A383387DC4A1", - "baseIconId": "7CEC48C5-3A70-4BA2-9FB8-A383387DC4A1", - "name": "gas-cylinder", - "codepoint": "F0647", - "aliases": [ - "tank", - "oxygen-tank" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "50E30598-BCD8-4167-BDAC-FF6971E745D7", - "baseIconId": "50E30598-BCD8-4167-BDAC-FF6971E745D7", - "name": "gas-station", - "codepoint": "F0298", - "aliases": [ - "gas-pump", - "petrol-pump", - "petrol-station", - "local-gas-station", - "fuel-station", - "fuel-pump" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places", - "Automotive" - ], - "author": "Google" - }, - { - "id": "7ED35A9C-D8FD-4892-84E5-3700C907AE28", - "baseIconId": "50E30598-BCD8-4167-BDAC-FF6971E745D7", - "name": "gas-station-off", - "codepoint": "F1409", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "7C77CE4A-4C13-4853-8F4D-0F6F99EC0248", - "baseIconId": "50E30598-BCD8-4167-BDAC-FF6971E745D7", - "name": "gas-station-off-outline", - "codepoint": "F140A", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E489326F-90B9-43E6-91CF-9123E914E84F", - "baseIconId": "50E30598-BCD8-4167-BDAC-FF6971E745D7", - "name": "gas-station-outline", - "codepoint": "F0EB8", - "aliases": [ - "gas-pump-outline", - "petrol-pump-outline", - "petrol-station-outline", - "fuel-station-outline", - "fuel-pump-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "340B7941-DB9B-40A2-9968-100AB599F204", - "baseIconId": "340B7941-DB9B-40A2-9968-100AB599F204", - "name": "gate", - "codepoint": "F0299", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "C9B04A2B-FB69-4F05-B2E9-32468822F4DD", - "baseIconId": "340B7941-DB9B-40A2-9968-100AB599F204", - "name": "gate-alert", - "codepoint": "F17F8", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "01E01742-E5ED-4E63-9F19-48CBE619C7A5", - "baseIconId": "01E01742-E5ED-4E63-9F19-48CBE619C7A5", - "name": "gate-and", - "codepoint": "F08E1", - "aliases": [ - "logic-gate-and" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "1D07255B-B5EF-4715-9926-B91757893552", - "baseIconId": "340B7941-DB9B-40A2-9968-100AB599F204", - "name": "gate-arrow-left", - "codepoint": "F17F7", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "314B9DB4-1D98-4394-BAD4-8FA5FB2EA160", - "baseIconId": "340B7941-DB9B-40A2-9968-100AB599F204", - "name": "gate-arrow-right", - "codepoint": "F1169", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "AC9017C0-F5E5-4AD8-819F-5B540AC12FED", - "baseIconId": "AC9017C0-F5E5-4AD8-819F-5B540AC12FED", - "name": "gate-buffer", - "codepoint": "F1AFE", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FF2BA1EF-7AAE-4271-B799-6A51FE84427E", - "baseIconId": "FF2BA1EF-7AAE-4271-B799-6A51FE84427E", - "name": "gate-nand", - "codepoint": "F08E2", - "aliases": [ - "logic-gate-nand" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "9BFED3B5-B327-480D-BFCD-18F9CC52D82A", - "baseIconId": "9BFED3B5-B327-480D-BFCD-18F9CC52D82A", - "name": "gate-nor", - "codepoint": "F08E3", - "aliases": [ - "logic-gate-nor" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "3A4475B4-3774-4A2A-B672-59DAF8AE3398", - "baseIconId": "3A4475B4-3774-4A2A-B672-59DAF8AE3398", - "name": "gate-not", - "codepoint": "F08E4", - "aliases": [ - "logic-gate-not" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "F5A29B6C-A003-423D-912A-A23D40E51D3C", - "baseIconId": "340B7941-DB9B-40A2-9968-100AB599F204", - "name": "gate-open", - "codepoint": "F116A", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "13B88427-8795-48CF-B647-597997C6C541", - "baseIconId": "13B88427-8795-48CF-B647-597997C6C541", - "name": "gate-or", - "codepoint": "F08E5", - "aliases": [ - "logic-gate-or" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "DA573FDA-7BEE-4B80-90BA-AA04932B43C6", - "baseIconId": "DA573FDA-7BEE-4B80-90BA-AA04932B43C6", - "name": "gate-xnor", - "codepoint": "F08E6", - "aliases": [ - "logic-gate-xnor" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "AFA3ABA2-1237-417E-8277-8509C7A58C1C", - "baseIconId": "AFA3ABA2-1237-417E-8277-8509C7A58C1C", - "name": "gate-xor", - "codepoint": "F08E7", - "aliases": [ - "logic-gate-xor" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "2D5D41CF-9332-42E5-B6E9-C3A62E3A8135", - "baseIconId": "2D5D41CF-9332-42E5-B6E9-C3A62E3A8135", - "name": "gatsby", - "codepoint": "F0E43", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "EC7B7499-25F1-43D4-9A09-9742F5B6D3F2", - "baseIconId": "EC7B7499-25F1-43D4-9A09-9742F5B6D3F2", - "name": "gauge", - "codepoint": "F029A", - "aliases": [ - "swap-driving-apps-wheel", - "barometer" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "2ED34069-D2CE-427F-8E96-C493C3D9DC5D", - "baseIconId": "EC7B7499-25F1-43D4-9A09-9742F5B6D3F2", - "name": "gauge-empty", - "codepoint": "F0873", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Automotive", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "3AA721AB-566F-461F-812B-CC6652E9E800", - "baseIconId": "EC7B7499-25F1-43D4-9A09-9742F5B6D3F2", - "name": "gauge-full", - "codepoint": "F0874", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Automotive", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "BFF1F377-BBAF-4354-A914-D0FD1BC9DA22", - "baseIconId": "EC7B7499-25F1-43D4-9A09-9742F5B6D3F2", - "name": "gauge-low", - "codepoint": "F0875", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Automotive", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "AB600896-534E-4A82-8E7F-99E0F22B54AE", - "baseIconId": "AB600896-534E-4A82-8E7F-99E0F22B54AE", - "name": "gavel", - "codepoint": "F029B", - "aliases": [ - "court-hammer" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0441EBEF-476C-420E-A04E-58367F99BD93", - "baseIconId": "0441EBEF-476C-420E-A04E-58367F99BD93", - "name": "gender-female", - "codepoint": "F029C", - "aliases": [ - "venus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "78C91AE2-F79B-48EF-9CCD-5E6874BA20CA", - "baseIconId": "78C91AE2-F79B-48EF-9CCD-5E6874BA20CA", - "name": "gender-male", - "codepoint": "F029D", - "aliases": [ - "mars" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9B06F269-893F-4F1C-910D-D26578C6D976", - "baseIconId": "9B06F269-893F-4F1C-910D-D26578C6D976", - "name": "gender-male-female", - "codepoint": "F029E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1599350F-AA11-47A2-8D1C-B60DF1A0A5AD", - "baseIconId": "1599350F-AA11-47A2-8D1C-B60DF1A0A5AD", - "name": "gender-male-female-variant", - "codepoint": "F113F", - "aliases": [ - "mercury" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "85F577F7-626B-4D2D-A392-2671C979BEF3", - "baseIconId": "85F577F7-626B-4D2D-A392-2671C979BEF3", - "name": "gender-non-binary", - "codepoint": "F1140", - "aliases": [ - "gender-enby" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "47F759DA-8ECB-4BAA-8102-A843844EEBB3", - "baseIconId": "47F759DA-8ECB-4BAA-8102-A843844EEBB3", - "name": "gender-transgender", - "codepoint": "F029F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D97956CD-8749-401C-A45B-04D6D20017A9", - "baseIconId": "D97956CD-8749-401C-A45B-04D6D20017A9", - "name": "generator-mobile", - "codepoint": "F1C8A", - "aliases": [ - "power-generator", - "electricity-generator" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Transportation + Other" - ], - "author": "Michael Richins" - }, - { - "id": "E2964412-DEC3-4D20-AFD3-C70CB191BAA2", - "baseIconId": "E2964412-DEC3-4D20-AFD3-C70CB191BAA2", - "name": "generator-portable", - "codepoint": "F1C8B", - "aliases": [ - "power-generator", - "electricity-generator" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "3E1998B7-F3FC-44A6-A20D-33E492E963D4", - "baseIconId": "3E1998B7-F3FC-44A6-A20D-33E492E963D4", - "name": "generator-stationary", - "codepoint": "F1C8C", - "aliases": [ - "power-generator", - "electricity-generator" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "D6664050-0082-4C50-B5AD-D6D0D23B842D", - "baseIconId": "D6664050-0082-4C50-B5AD-D6D0D23B842D", - "name": "gentoo", - "codepoint": "F08E8", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "FFC2833D-65AB-47BB-AC7C-8CFA41DF9250", - "baseIconId": "FFC2833D-65AB-47BB-AC7C-8CFA41DF9250", - "name": "gesture", - "codepoint": "F07CB", - "aliases": [ - "freehand-line" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "D02C7FA0-E8E6-48B7-BEB7-4678B8D9DCA1", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-double-tap", - "codepoint": "F073C", - "aliases": [ - "interaction-double-tap", - "hand-double-tap" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "17A555A5-0518-42D0-87F8-6C332F81DF18", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-pinch", - "codepoint": "F0ABD", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "82C8D8F3-13FE-4B69-A554-1FA74E516480", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-spread", - "codepoint": "F0ABE", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "0C51419E-7710-4BE2-B509-425E4E7E2CC5", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-swipe", - "codepoint": "F0D76", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "92FD3A8C-813E-4AC1-8D0B-85B89747C598", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-swipe-down", - "codepoint": "F073D", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "5032C271-1D07-4318-9FC6-813C3ECA11FF", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-swipe-horizontal", - "codepoint": "F0ABF", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "D0887CD1-2BF1-4A5A-B573-2BA6FF8A6129", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-swipe-left", - "codepoint": "F073E", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "9B3D3150-CF71-473E-AF65-403C389C308A", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-swipe-right", - "codepoint": "F073F", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "CE26D04A-C6AC-4379-AA25-A702F49F1DC2", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-swipe-up", - "codepoint": "F0740", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8883FDF0-A6B8-4252-BC2A-D12F99D20501", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-swipe-vertical", - "codepoint": "F0AC0", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "D881AFBC-7477-46C2-9269-324676F19E51", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-tap", - "codepoint": "F0741", - "aliases": [ - "interaction-tap", - "hand-tap", - "gesture-touch" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "FC2EE3B3-9885-4278-9BCE-491B27B4666E", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-tap-box", - "codepoint": "F12A9", - "aliases": [ - "gesture-touch-box" - ], - "styles": [ - "box" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "51E5488F-71C4-4E08-950D-EAAAB7B22D53", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-tap-button", - "codepoint": "F12A8", - "aliases": [ - "call-to-action", - "cta", - "button-pointer", - "gesture-touch-button" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B502F4A5-5545-42F7-A0B4-E90BF4421D17", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-tap-hold", - "codepoint": "F0D77", - "aliases": [ - "gesture-touch-hold" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "96C02705-84D1-4677-9DDE-CCDE1D43FE11", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-two-double-tap", - "codepoint": "F0742", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "AA47E759-39DE-4A5C-B3CF-FAEB215EAB91", - "baseIconId": "D881AFBC-7477-46C2-9269-324676F19E51", - "name": "gesture-two-tap", - "codepoint": "F0743", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6B39D7DA-255C-4615-84D4-FFCF34D76A4A", - "baseIconId": "6B39D7DA-255C-4615-84D4-FFCF34D76A4A", - "name": "ghost", - "codepoint": "F02A0", - "aliases": [ - "inky", - "blinky", - "pinky", - "clyde" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Simran" - }, - { - "id": "5322EB23-9081-4E99-9735-7C31003C0167", - "baseIconId": "6B39D7DA-255C-4615-84D4-FFCF34D76A4A", - "name": "ghost-off", - "codepoint": "F09F5", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "9B371D94-3C53-410F-A4A5-024415B30244", - "baseIconId": "6B39D7DA-255C-4615-84D4-FFCF34D76A4A", - "name": "ghost-off-outline", - "codepoint": "F165C", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Colton Wiscombe" - }, - { - "id": "71BF426E-71FE-4AEC-946A-A2CCAC371C31", - "baseIconId": "6B39D7DA-255C-4615-84D4-FFCF34D76A4A", - "name": "ghost-outline", - "codepoint": "F165D", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Colton Wiscombe" - }, - { - "id": "62403C7B-F20E-489B-8835-28F7544D9712", - "baseIconId": "62403C7B-F20E-489B-8835-28F7544D9712", - "name": "gift", - "codepoint": "F0E44", - "aliases": [ - "present", - "package", - "donate" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Simran" - }, - { - "id": "17729CE1-90B8-4C63-A142-99056CDDC860", - "baseIconId": "62403C7B-F20E-489B-8835-28F7544D9712", - "name": "gift-off", - "codepoint": "F16EF", - "aliases": [ - "present-off", - "package-off", - "donate-off" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E1260280-2F0F-4D7D-AA15-0322C8699541", - "baseIconId": "62403C7B-F20E-489B-8835-28F7544D9712", - "name": "gift-off-outline", - "codepoint": "F16F0", - "aliases": [ - "present-off-outline", - "package-off-outline", - "donate-off-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "04D976AC-875C-42F1-A9F6-B86FDAAD6990", - "baseIconId": "62403C7B-F20E-489B-8835-28F7544D9712", - "name": "gift-open", - "codepoint": "F16F1", - "aliases": [ - "present-open", - "package-open" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "64BCFFC7-8E6B-4644-B14D-5B1F9EF16899", - "baseIconId": "62403C7B-F20E-489B-8835-28F7544D9712", - "name": "gift-open-outline", - "codepoint": "F16F2", - "aliases": [ - "present-open-outline", - "package-open-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "22D0C782-CD05-4FEB-845F-BBA7126C7326", - "baseIconId": "62403C7B-F20E-489B-8835-28F7544D9712", - "name": "gift-outline", - "codepoint": "F02A1", - "aliases": [ - "donate-outline", - "present-outline", - "package-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping", - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "4CB8AF2D-5373-4247-AB9D-3B28B72EB7BC", - "baseIconId": "4CB8AF2D-5373-4247-AB9D-3B28B72EB7BC", - "name": "git", - "codepoint": "F02A2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "5C6175DD-8549-4004-AB77-A545D721A0DE", - "baseIconId": "5C6175DD-8549-4004-AB77-A545D721A0DE", - "name": "github", - "codepoint": "F02A4", - "aliases": [ - "microsoft-github" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6C0EA9E0-8F4F-40CB-A2B2-A2D84C97EE6A", - "baseIconId": "6C0EA9E0-8F4F-40CB-A2B2-A2D84C97EE6A", - "name": "gitlab", - "codepoint": "F0BA0", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9291BDB1-CE57-4802-8CD2-7AD2ED9D9959", - "baseIconId": "9291BDB1-CE57-4802-8CD2-7AD2ED9D9959", - "name": "glass-cocktail", - "codepoint": "F0356", - "aliases": [ - "local-bar", - "cocktail", - "martini", - "alcohol", - "bar", - "cup", - "drink" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "5CB87909-09B4-47FD-B4BF-EB4A949F3CA2", - "baseIconId": "9291BDB1-CE57-4802-8CD2-7AD2ED9D9959", - "name": "glass-cocktail-off", - "codepoint": "F15E6", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CD1215BB-D889-4A86-8944-AF724C71DF21", - "baseIconId": "CD1215BB-D889-4A86-8944-AF724C71DF21", - "name": "glass-flute", - "codepoint": "F02A5", - "aliases": [ - "alcohol", - "cocktail", - "cup", - "drink" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "8D20FB31-71AC-4697-899B-2156B6193F75", - "baseIconId": "8D20FB31-71AC-4697-899B-2156B6193F75", - "name": "glass-fragile", - "codepoint": "F1873", - "aliases": [ - "glass-broken" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9081982B-5EB6-47C1-A1F3-A83A0ED1B609", - "baseIconId": "9081982B-5EB6-47C1-A1F3-A83A0ED1B609", - "name": "glass-mug", - "codepoint": "F02A6", - "aliases": [ - "pub", - "bar", - "beer", - "alcohol", - "cup", - "drink", - "local-bar" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "BEAE85BE-708C-4D0D-82AE-370BB43B3D0D", - "baseIconId": "9081982B-5EB6-47C1-A1F3-A83A0ED1B609", - "name": "glass-mug-off", - "codepoint": "F15E7", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "04D0C33A-12E7-4DC1-96FA-A83A481962D4", - "baseIconId": "9081982B-5EB6-47C1-A1F3-A83A0ED1B609", - "name": "glass-mug-variant", - "codepoint": "F1116", - "aliases": [ - "pub", - "bar", - "beer", - "drink", - "alcohol", - "cup", - "local-bar" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "61B2CF99-322E-448E-A1DB-E27B94600BC4", - "baseIconId": "9081982B-5EB6-47C1-A1F3-A83A0ED1B609", - "name": "glass-mug-variant-off", - "codepoint": "F15E8", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AFF2782E-A558-40EF-9B8C-787BAE055D57", - "baseIconId": "AFF2782E-A558-40EF-9B8C-787BAE055D57", - "name": "glass-pint-outline", - "codepoint": "F130D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "E26942A0-61AE-4D1A-941C-895D92E94C5D", - "baseIconId": "E26942A0-61AE-4D1A-941C-895D92E94C5D", - "name": "glass-stange", - "codepoint": "F02A7", - "aliases": [ - "alcohol", - "bar", - "cocktail", - "cup", - "drink" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "43E8B624-633D-472F-991E-4AEDB20A5454", - "baseIconId": "43E8B624-633D-472F-991E-4AEDB20A5454", - "name": "glass-tulip", - "codepoint": "F02A8", - "aliases": [ - "bar", - "alcohol", - "cocktail", - "cup", - "drink" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "0AF778AB-1048-4307-84AD-CB88D259DC02", - "baseIconId": "0AF778AB-1048-4307-84AD-CB88D259DC02", - "name": "glass-wine", - "codepoint": "F0876", - "aliases": [ - "bar", - "alcohol", - "cocktail", - "cup", - "drink" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Richins" - }, - { - "id": "BE4C1227-C47E-4839-85AA-4EA6928BAAAE", - "baseIconId": "BE4C1227-C47E-4839-85AA-4EA6928BAAAE", - "name": "glasses", - "codepoint": "F02AA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Simran" - }, - { - "id": "2C23A3F9-54C7-4C7F-8C2F-182A4F75F894", - "baseIconId": "2C23A3F9-54C7-4C7F-8C2F-182A4F75F894", - "name": "globe-light", - "codepoint": "F066F", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A498671D-3C09-4874-B7BA-3F371208F4A0", - "baseIconId": "A498671D-3C09-4874-B7BA-3F371208F4A0", - "name": "globe-light-outline", - "codepoint": "F12D7", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3E5EE2B1-AE6A-4675-BBAB-1D6B70FBFC36", - "baseIconId": "3E5EE2B1-AE6A-4675-BBAB-1D6B70FBFC36", - "name": "globe-model", - "codepoint": "F08E9", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "259F5EC9-395F-40C8-9389-6B6A82D9997C", - "baseIconId": "259F5EC9-395F-40C8-9389-6B6A82D9997C", - "name": "gmail", - "codepoint": "F02AB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "2C4AF25A-8EC5-4B3B-BBCD-60F801F553B8", - "baseIconId": "2C4AF25A-8EC5-4B3B-BBCD-60F801F553B8", - "name": "gnome", - "codepoint": "F02AC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9E6D217A-874E-4295-9F85-9490FF14201C", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "go-kart", - "codepoint": "F0D79", - "aliases": [ - "cart" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "04D32441-2FD3-4273-8C9A-D5C7BD1F261E", - "baseIconId": "04D32441-2FD3-4273-8C9A-D5C7BD1F261E", - "name": "go-kart-track", - "codepoint": "F0D7A", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "3B6D59D1-6329-4453-A11D-FB1D53B745F9", - "baseIconId": "3B6D59D1-6329-4453-A11D-FB1D53B745F9", - "name": "gog", - "codepoint": "F0BA1", - "aliases": [ - "gog-com" - ], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "8B0AC7A2-11DB-43DF-96AF-D6193A2DCEFE", - "baseIconId": "8B0AC7A2-11DB-43DF-96AF-D6193A2DCEFE", - "name": "gold", - "codepoint": "F124F", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "80A4F47A-3512-4C76-AA10-C0232C57E624", - "baseIconId": "80A4F47A-3512-4C76-AA10-C0232C57E624", - "name": "golf", - "codepoint": "F0823", - "aliases": [ - "golf-course" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "70C7E562-43DC-4F7A-BF4C-77162406605A", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "golf-cart", - "codepoint": "F11A4", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Sport", - "Transportation + Other" - ], - "author": "Michael Richins" - }, - { - "id": "A37545D0-964F-4975-A004-8EEF7CE91ED4", - "baseIconId": "A37545D0-964F-4975-A004-8EEF7CE91ED4", - "name": "golf-tee", - "codepoint": "F1083", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "9FE486F5-20A0-4CB5-A820-93AD82F52EB6", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "gondola", - "codepoint": "F0686", - "aliases": [ - "cable-car" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "DECFD1E8-72A4-41F7-AF7F-68ED710AC1AD", - "baseIconId": "DECFD1E8-72A4-41F7-AF7F-68ED710AC1AD", - "name": "goodreads", - "codepoint": "F0D7B", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "F787FBCA-3C54-43CC-AE16-E23436AD0720", - "baseIconId": "F787FBCA-3C54-43CC-AE16-E23436AD0720", - "name": "google", - "codepoint": "F02AD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "300B71B3-499A-4998-BA9D-22F2190229AA", - "baseIconId": "300B71B3-499A-4998-BA9D-22F2190229AA", - "name": "google-ads", - "codepoint": "F0C87", - "aliases": [ - "google-adwords" - ], - "styles": [], - "version": "3.2.89", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "B328003D-F2FD-4C31-8171-BD6EB5A81A8A", - "baseIconId": "B328003D-F2FD-4C31-8171-BD6EB5A81A8A", - "name": "google-analytics", - "codepoint": "F07CC", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "3DD7794E-8603-49D0-B34E-DD0939225AAF", - "baseIconId": "3DD7794E-8603-49D0-B34E-DD0939225AAF", - "name": "google-assistant", - "codepoint": "F07CD", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "8CC1E909-6274-4738-AF1D-0E2C3239E853", - "baseIconId": "8CC1E909-6274-4738-AF1D-0E2C3239E853", - "name": "google-cardboard", - "codepoint": "F02AE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "0B7D7D86-21E1-4759-8E4D-5D2BB291BB3F", - "baseIconId": "0B7D7D86-21E1-4759-8E4D-5D2BB291BB3F", - "name": "google-chrome", - "codepoint": "F02AF", - "aliases": [ - "chromecast" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "FAF03601-DED3-4AD2-B252-DF739AC96986", - "baseIconId": "FAF03601-DED3-4AD2-B252-DF739AC96986", - "name": "google-circles", - "codepoint": "F02B0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "073A8D2A-C834-4655-AA4F-792D7ADD7E6E", - "baseIconId": "073A8D2A-C834-4655-AA4F-792D7ADD7E6E", - "name": "google-circles-communities", - "codepoint": "F02B1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "9ABBC701-54DE-48B3-A579-6FB3503F8929", - "baseIconId": "9ABBC701-54DE-48B3-A579-6FB3503F8929", - "name": "google-circles-extended", - "codepoint": "F02B2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "00CC15EA-653E-4F50-B681-3176664F9B3C", - "baseIconId": "00CC15EA-653E-4F50-B681-3176664F9B3C", - "name": "google-circles-group", - "codepoint": "F02B3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "432C2FB2-AA01-40F8-AAB1-CB964967D3BD", - "baseIconId": "432C2FB2-AA01-40F8-AAB1-CB964967D3BD", - "name": "google-classroom", - "codepoint": "F02C0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "14A23373-DFBF-443C-9143-90E6C78D144C", - "baseIconId": "14A23373-DFBF-443C-9143-90E6C78D144C", - "name": "google-cloud", - "codepoint": "F11F6", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "D9285386-5BA5-423A-8F3B-435E7A57363A", - "baseIconId": "D9285386-5BA5-423A-8F3B-435E7A57363A", - "name": "google-downasaur", - "codepoint": "F1362", - "aliases": [ - "dinosaur-pixel", - "t-rex", - "tyrannosaurus-rex" - ], - "styles": [], - "version": "4.9.95", - "deprecated": true, - "tags": [ - "Animal", - "Gaming \/ RPG" - ], - "author": "Simran" - }, - { - "id": "EE98C0AD-0A55-4A6B-BB7A-01CBD3D819A2", - "baseIconId": "EE98C0AD-0A55-4A6B-BB7A-01CBD3D819A2", - "name": "google-drive", - "codepoint": "F02B6", - "aliases": [ - "attach-drive" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "8A61F8F2-511B-45E9-9459-27BBD58936F8", - "baseIconId": "8A61F8F2-511B-45E9-9459-27BBD58936F8", - "name": "google-earth", - "codepoint": "F02B7", - "aliases": [ - "marble" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "0BBD8E67-124A-4788-B44F-9583BC6E7503", - "baseIconId": "0BBD8E67-124A-4788-B44F-9583BC6E7503", - "name": "google-fit", - "codepoint": "F096C", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "6A73A89B-2C02-4DB5-89DF-0449750171BC", - "baseIconId": "6A73A89B-2C02-4DB5-89DF-0449750171BC", - "name": "google-glass", - "codepoint": "F02B8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "3EA0D516-133D-4A5E-865B-82B7CC2763D5", - "baseIconId": "3EA0D516-133D-4A5E-865B-82B7CC2763D5", - "name": "google-hangouts", - "codepoint": "F02C9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "73BACA3B-710C-4F23-9730-D88ADA3EA914", - "baseIconId": "73BACA3B-710C-4F23-9730-D88ADA3EA914", - "name": "google-keep", - "codepoint": "F06DC", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "BB7275FF-E0B1-4D63-8EF5-467F23BC5D33", - "baseIconId": "BB7275FF-E0B1-4D63-8EF5-467F23BC5D33", - "name": "google-lens", - "codepoint": "F09F6", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "21FBF51C-0081-4987-8129-CFB0BB81729F", - "baseIconId": "21FBF51C-0081-4987-8129-CFB0BB81729F", - "name": "google-maps", - "codepoint": "F05F5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Navigation", - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "8DBB2A33-94F4-4676-95F2-F81D87C21FE1", - "baseIconId": "8DBB2A33-94F4-4676-95F2-F81D87C21FE1", - "name": "google-my-business", - "codepoint": "F1048", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": true, - "tags": [], - "author": "Google" - }, - { - "id": "576EFEB3-D7E0-463F-A783-19A0F97D45EE", - "baseIconId": "576EFEB3-D7E0-463F-A783-19A0F97D45EE", - "name": "google-nearby", - "codepoint": "F02B9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [], - "author": "Google" - }, - { - "id": "5FE693A7-2A33-46A5-B502-D42588072E56", - "baseIconId": "5FE693A7-2A33-46A5-B502-D42588072E56", - "name": "google-play", - "codepoint": "F02BC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "0D3A668A-E3B7-4512-B22D-10B13362DC2B", - "baseIconId": "0D3A668A-E3B7-4512-B22D-10B13362DC2B", - "name": "google-plus", - "codepoint": "F02BD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Social Media" - ], - "author": "Google" - }, - { - "id": "2C6E6048-97ED-4CA1-B8CE-31CEB31670C3", - "baseIconId": "2C6E6048-97ED-4CA1-B8CE-31CEB31670C3", - "name": "google-podcast", - "codepoint": "F0EB9", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": true, - "tags": [], - "author": "Google" - }, - { - "id": "837DFB0D-633B-4667-9C40-272186D68351", - "baseIconId": "837DFB0D-633B-4667-9C40-272186D68351", - "name": "google-spreadsheet", - "codepoint": "F09F7", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": true, - "tags": [], - "author": "Google" - }, - { - "id": "EC38CB3D-A8A1-48E8-9A71-9BE93D6847FC", - "baseIconId": "EC38CB3D-A8A1-48E8-9A71-9BE93D6847FC", - "name": "google-street-view", - "codepoint": "F0C88", - "aliases": [ - "pegman" - ], - "styles": [], - "version": "3.2.89", - "deprecated": true, - "tags": [], - "author": "Google" - }, - { - "id": "DFF485C3-0A13-4546-A267-7687AF1AB82F", - "baseIconId": "DFF485C3-0A13-4546-A267-7687AF1AB82F", - "name": "google-translate", - "codepoint": "F02BF", - "aliases": [ - "g-translate" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "525D2C64-FE7A-44F8-84E2-B1DDDF3FA668", - "baseIconId": "525D2C64-FE7A-44F8-84E2-B1DDDF3FA668", - "name": "gradient-horizontal", - "codepoint": "F174A", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Jeff Anders" - }, - { - "id": "F10A05F8-FD09-4BDA-B906-747E9A89AB6E", - "baseIconId": "F10A05F8-FD09-4BDA-B906-747E9A89AB6E", - "name": "gradient-vertical", - "codepoint": "F06A0", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "D1784DB9-E2F2-44AA-AF8D-E562D8E3CBBC", - "baseIconId": "D1784DB9-E2F2-44AA-AF8D-E562D8E3CBBC", - "name": "grain", - "codepoint": "F0D7C", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Photography", - "Video \/ Movie", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "76AC59FA-C58D-4A55-AE8F-A351AF2CD43A", - "baseIconId": "76AC59FA-C58D-4A55-AE8F-A351AF2CD43A", - "name": "graph", - "codepoint": "F1049", - "aliases": [ - "dependency", - "dependencies" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "2B8A2BB1-0887-493F-A644-88015BFA507A", - "baseIconId": "76AC59FA-C58D-4A55-AE8F-A351AF2CD43A", - "name": "graph-outline", - "codepoint": "F104A", - "aliases": [ - "dependency", - "dependencies" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "50FEA1C7-FB0B-4920-BDA4-D56A87928A75", - "baseIconId": "50FEA1C7-FB0B-4920-BDA4-D56A87928A75", - "name": "graphql", - "codepoint": "F0877", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "8688646A-F06F-421F-83B1-8AA8FABF7BD8", - "baseIconId": "8688646A-F06F-421F-83B1-8AA8FABF7BD8", - "name": "grass", - "codepoint": "F1510", - "aliases": [ - "lawn" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "4986CAC4-4886-4868-8D81-28F00376536A", - "baseIconId": "4986CAC4-4886-4868-8D81-28F00376536A", - "name": "grave-stone", - "codepoint": "F0BA2", - "aliases": [ - "headstone", - "tombstone", - "cemetery", - "graveyard" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "137F01F1-86AC-4923-A9D7-C72057367BB7", - "baseIconId": "137F01F1-86AC-4923-A9D7-C72057367BB7", - "name": "grease-pencil", - "codepoint": "F0648", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "8E839EA1-A50F-41C5-BB89-14904048B885", - "baseIconId": "8E839EA1-A50F-41C5-BB89-14904048B885", - "name": "greater-than", - "codepoint": "F096D", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "62C57FBE-8457-442F-AD8D-510CF2080FFF", - "baseIconId": "8E839EA1-A50F-41C5-BB89-14904048B885", - "name": "greater-than-or-equal", - "codepoint": "F096E", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "9AE6BA3C-694B-47D5-99C3-7D063228F053", - "baseIconId": "9AE6BA3C-694B-47D5-99C3-7D063228F053", - "name": "greenhouse", - "codepoint": "F002D", - "aliases": [ - "glasshouse", - "hothouse", - "shed" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Agriculture", - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "8D4C203D-A1F0-42DA-997A-AB7BAC63D97B", - "baseIconId": "8D4C203D-A1F0-42DA-997A-AB7BAC63D97B", - "name": "grid", - "codepoint": "F02C1", - "aliases": [ - "grid-on" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4A3863FA-620C-4564-8A7B-57681117B81D", - "baseIconId": "8D4C203D-A1F0-42DA-997A-AB7BAC63D97B", - "name": "grid-large", - "codepoint": "F0758", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4A8DDCEF-7E60-4864-9CC3-64C9A5B0D6D4", - "baseIconId": "8D4C203D-A1F0-42DA-997A-AB7BAC63D97B", - "name": "grid-off", - "codepoint": "F02C2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "22C8B00E-9BA8-4C66-994B-A2F0B4D369DD", - "baseIconId": "22C8B00E-9BA8-4C66-994B-A2F0B4D369DD", - "name": "grill", - "codepoint": "F0E45", - "aliases": [ - "bbq", - "barbecue", - "charcoal" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "36BD13EA-FFEC-48CF-855C-C30831680961", - "baseIconId": "22C8B00E-9BA8-4C66-994B-A2F0B4D369DD", - "name": "grill-outline", - "codepoint": "F118A", - "aliases": [ - "barbecue-outline", - "bbq-outline", - "charcoal-outline" - ], - "styles": [ - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "D1B31666-9F9A-4CAB-843B-4BFEDBCC5347", - "baseIconId": "D1B31666-9F9A-4CAB-843B-4BFEDBCC5347", - "name": "group", - "codepoint": "F02C3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "C4015804-7FF3-4483-94CA-CEB79F7B34BC", - "baseIconId": "C4015804-7FF3-4483-94CA-CEB79F7B34BC", - "name": "guitar-acoustic", - "codepoint": "F0771", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Haley Halcyon" - }, - { - "id": "C2F16EBD-E72B-45E0-9A34-0BAF7ADB87B3", - "baseIconId": "C2F16EBD-E72B-45E0-9A34-0BAF7ADB87B3", - "name": "guitar-electric", - "codepoint": "F02C4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Haley Halcyon" - }, - { - "id": "68377A86-6428-4553-B768-7E9FC306E962", - "baseIconId": "68377A86-6428-4553-B768-7E9FC306E962", - "name": "guitar-pick", - "codepoint": "F02C5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Gabriel" - }, - { - "id": "0FA22632-A0B2-49E0-A779-56022111C9D8", - "baseIconId": "68377A86-6428-4553-B768-7E9FC306E962", - "name": "guitar-pick-outline", - "codepoint": "F02C6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Gabriel" - }, - { - "id": "FDDC802D-37F5-4E15-96DA-8A6D553B1D67", - "baseIconId": "FDDC802D-37F5-4E15-96DA-8A6D553B1D67", - "name": "guy-fawkes-mask", - "codepoint": "F0825", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Augustin Ursu" - }, - { - "id": "450F9873-EC55-4361-99EB-BBFF202647C6", - "baseIconId": "450F9873-EC55-4361-99EB-BBFF202647C6", - "name": "gymnastics", - "codepoint": "F1A41", - "aliases": [], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "B4AC04DD-9F29-4F55-ABB6-A4AE4F272EC4", - "baseIconId": "B4AC04DD-9F29-4F55-ABB6-A4AE4F272EC4", - "name": "hail", - "codepoint": "F0AC1", - "aliases": [ - "hail-taxi", - "hail-cab" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Navigation" - ], - "author": "Google" - }, - { - "id": "57248AE7-78F7-4493-8909-5EA0A48821ED", - "baseIconId": "57248AE7-78F7-4493-8909-5EA0A48821ED", - "name": "hair-dryer", - "codepoint": "F10EF", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Health \/ Beauty" - ], - "author": "Michael Richins" - }, - { - "id": "AC508D19-C3A8-4EC3-A46B-21F15DB6A8B1", - "baseIconId": "57248AE7-78F7-4493-8909-5EA0A48821ED", - "name": "hair-dryer-outline", - "codepoint": "F10F0", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Health \/ Beauty" - ], - "author": "Michael Richins" - }, - { - "id": "CE482051-152D-4A7F-A696-74D8CD398FEF", - "baseIconId": "CE482051-152D-4A7F-A696-74D8CD398FEF", - "name": "halloween", - "codepoint": "F0BA3", - "aliases": [ - "pumpkin-face", - "pumpkin-carved", - "jack-o-lantern", - "emoji-halloween", - "emoticon-halloween" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "F5BC2290-D719-4974-9920-DF8E08E5F955", - "baseIconId": "F5BC2290-D719-4974-9920-DF8E08E5F955", - "name": "hamburger", - "codepoint": "F0685", - "aliases": [ - "burger", - "fast-food", - "food" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Haley Halcyon" - }, - { - "id": "15C2280B-B4C8-436A-8D57-80FFD3C4FB62", - "baseIconId": "F5BC2290-D719-4974-9920-DF8E08E5F955", - "name": "hamburger-check", - "codepoint": "F1776", - "aliases": [ - "burger-check" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CCD3F888-3CB7-4FB2-AB04-E7D8F803ABE9", - "baseIconId": "F5BC2290-D719-4974-9920-DF8E08E5F955", - "name": "hamburger-minus", - "codepoint": "F1777", - "aliases": [ - "burger-minus" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "540219BD-FDFC-484B-8ACC-D75760F31FD7", - "baseIconId": "F5BC2290-D719-4974-9920-DF8E08E5F955", - "name": "hamburger-off", - "codepoint": "F1778", - "aliases": [ - "burger-off", - "fast-food-off", - "food-off" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AD90D2EE-E142-45C3-977E-4D8299E12930", - "baseIconId": "F5BC2290-D719-4974-9920-DF8E08E5F955", - "name": "hamburger-plus", - "codepoint": "F1779", - "aliases": [ - "burger-plus", - "burger-add" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "52F5DBCE-78B0-49ED-BBDB-73B8F34084A0", - "baseIconId": "F5BC2290-D719-4974-9920-DF8E08E5F955", - "name": "hamburger-remove", - "codepoint": "F177A", - "aliases": [ - "burger-remove" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A3F55E77-82C2-48F6-B1B1-92C9259C9C26", - "baseIconId": "A3F55E77-82C2-48F6-B1B1-92C9259C9C26", - "name": "hammer", - "codepoint": "F08EA", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "CDD24BC0-E8F8-4B6E-B160-BC8DABC286A9", - "baseIconId": "A3F55E77-82C2-48F6-B1B1-92C9259C9C26", - "name": "hammer-screwdriver", - "codepoint": "F1322", - "aliases": [ - "tools" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "B990F624-1A91-424E-9AC0-08D95788FC9C", - "baseIconId": "B990F624-1A91-424E-9AC0-08D95788FC9C", - "name": "hammer-sickle", - "codepoint": "F1887", - "aliases": [ - "communism" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "86D5756B-DE86-4273-A475-4E2D9856B0C3", - "baseIconId": "A3F55E77-82C2-48F6-B1B1-92C9259C9C26", - "name": "hammer-wrench", - "codepoint": "F1323", - "aliases": [ - "tools" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "D2652D4F-E184-4BCC-A8A3-E53145D27911", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-left", - "codepoint": "F0E46", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FFD6548D-6F8F-4C98-A918-19213C6E30AD", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-left-off", - "codepoint": "F1830", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "20F7B0D0-5EB2-4F42-9EFD-2F7CA2C1D49D", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-left-off-outline", - "codepoint": "F1832", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "07ED0125-29A3-4DFE-8838-AABAE30A98EE", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-left-outline", - "codepoint": "F182C", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "35FBF26D-56C0-4699-A2A8-19BC2C37D6AF", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-right", - "codepoint": "F0E47", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B7FB9D4E-CCF7-4368-88FC-5BDDE33E3FAF", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-right-off", - "codepoint": "F1831", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EBFF43CF-9625-46EF-A223-CC17DBF78CBE", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-right-off-outline", - "codepoint": "F1833", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F1DF9FAF-F8B8-4B11-BDFB-EE6BEFAC322A", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-back-right-outline", - "codepoint": "F182D", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8FEFA10A-395F-47B9-B5B9-0040905E9E1F", - "baseIconId": "8FEFA10A-395F-47B9-B5B9-0040905E9E1F", - "name": "hand-clap", - "codepoint": "F194B", - "aliases": [ - "applause" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9B126394-E75C-416A-8959-F76B5FE2A5E0", - "baseIconId": "8FEFA10A-395F-47B9-B5B9-0040905E9E1F", - "name": "hand-clap-off", - "codepoint": "F1A42", - "aliases": [ - "applause-off" - ], - "styles": [ - "off" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "861C015B-47CA-41A6-8994-E43D980ECD58", - "baseIconId": "861C015B-47CA-41A6-8994-E43D980ECD58", - "name": "hand-coin", - "codepoint": "F188F", - "aliases": [ - "charity", - "donation" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "11B36B9E-D054-4A10-996E-62F897EF12C7", - "baseIconId": "861C015B-47CA-41A6-8994-E43D980ECD58", - "name": "hand-coin-outline", - "codepoint": "F1890", - "aliases": [ - "charity-outline", - "donation-outline" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "CC8C7CF5-103C-4D0F-A209-05A19DF80F24", - "baseIconId": "CC8C7CF5-103C-4D0F-A209-05A19DF80F24", - "name": "hand-cycle", - "codepoint": "F1B9C", - "aliases": [ - "hand-bike" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "94B9D1E7-C84C-413B-B999-92BD6508D013", - "baseIconId": "94B9D1E7-C84C-413B-B999-92BD6508D013", - "name": "hand-extended", - "codepoint": "F18B6", - "aliases": [ - "hand-open", - "hand-palm" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F0A0EEAD-9751-407D-87C5-AA9300E15043", - "baseIconId": "94B9D1E7-C84C-413B-B999-92BD6508D013", - "name": "hand-extended-outline", - "codepoint": "F18B7", - "aliases": [ - "hand-open-outline", - "hand-palm-outline" - ], - "styles": [ - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9A2B8032-A5D9-4E2A-8865-511EFE742611", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-front-left", - "codepoint": "F182B", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "09E98CF1-3EEC-4A94-B5F1-A6A734631959", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-front-left-outline", - "codepoint": "F182E", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-front-right", - "codepoint": "F0A4F", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EC0CC485-BD34-49FB-AB06-D8244F1B9166", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-front-right-outline", - "codepoint": "F182F", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5B605565-DBBC-4141-8B07-D8009B74D4E1", - "baseIconId": "5B605565-DBBC-4141-8B07-D8009B74D4E1", - "name": "hand-heart", - "codepoint": "F10F1", - "aliases": [ - "volunteer", - "love", - "hope" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "169736D6-CE5B-4143-A4A2-5D95088493F3", - "baseIconId": "5B605565-DBBC-4141-8B07-D8009B74D4E1", - "name": "hand-heart-outline", - "codepoint": "F157E", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F81DD09B-46EB-466D-A0E3-DE4CAEC86793", - "baseIconId": "F81DD09B-46EB-466D-A0E3-DE4CAEC86793", - "name": "hand-okay", - "codepoint": "F0A50", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "19740ECA-C3A2-49D1-B7BA-91C97EA150D7", - "baseIconId": "19740ECA-C3A2-49D1-B7BA-91C97EA150D7", - "name": "hand-peace", - "codepoint": "F0A51", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1B7E8570-378E-4099-9683-505B4E2744EA", - "baseIconId": "1B7E8570-378E-4099-9683-505B4E2744EA", - "name": "hand-peace-variant", - "codepoint": "F0A52", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1D015884-E9B8-401E-8931-E2DA1604BF1B", - "baseIconId": "1D015884-E9B8-401E-8931-E2DA1604BF1B", - "name": "hand-pointing-down", - "codepoint": "F0A53", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "26BC12CA-4558-4C45-BBDB-04BE1E13E814", - "baseIconId": "26BC12CA-4558-4C45-BBDB-04BE1E13E814", - "name": "hand-pointing-left", - "codepoint": "F0A54", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C18F21E1-2363-42DD-8FFF-3381AC368C23", - "baseIconId": "C18F21E1-2363-42DD-8FFF-3381AC368C23", - "name": "hand-pointing-right", - "codepoint": "F02C7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "457F3CB5-7B39-417F-A1CE-D1DB5A22159D", - "baseIconId": "457F3CB5-7B39-417F-A1CE-D1DB5A22159D", - "name": "hand-pointing-up", - "codepoint": "F0A55", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A0B645B5-20F6-4682-9E88-96784D8732CF", - "baseIconId": "A0B645B5-20F6-4682-9E88-96784D8732CF", - "name": "hand-saw", - "codepoint": "F0E48", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4C201756-1101-4C58-9FBE-5F781347F535", - "baseIconId": "4C201756-1101-4C58-9FBE-5F781347F535", - "name": "hand-wash", - "codepoint": "F157F", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "C5EA3223-8736-4F38-82A1-B3FC5F206879", - "baseIconId": "4C201756-1101-4C58-9FBE-5F781347F535", - "name": "hand-wash-outline", - "codepoint": "F1580", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "C3BBE9FF-7FF7-4C8F-8185-A8F3825F3CAE", - "baseIconId": "C3BBE9FF-7FF7-4C8F-8185-A8F3825F3CAE", - "name": "hand-water", - "codepoint": "F139F", - "aliases": [ - "hand-wash" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Moma Design Studio" - }, - { - "id": "2AE6B41D-EC56-4851-BEB2-B6A22B1E9D44", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-wave", - "codepoint": "F1821", - "aliases": [ - "greeting", - "farewell" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0E2992F4-2F2E-4A96-8402-FBA2B9C8675C", - "baseIconId": "C30FC465-2DF1-4716-AAC9-F48213F23D65", - "name": "hand-wave-outline", - "codepoint": "F1822", - "aliases": [ - "greeting-outline", - "farewell-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "845C7000-7198-490F-8043-EC1F61CE4F53", - "baseIconId": "845C7000-7198-490F-8043-EC1F61CE4F53", - "name": "handball", - "codepoint": "F0F53", - "aliases": [ - "volleyball", - "human-handball" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "1451F3F4-D421-4A26-A22D-0ED80A815DF6", - "baseIconId": "1451F3F4-D421-4A26-A22D-0ED80A815DF6", - "name": "handcuffs", - "codepoint": "F113E", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9098736F-D298-4724-AE04-6BEA124F3854", - "baseIconId": "9098736F-D298-4724-AE04-6BEA124F3854", - "name": "hands-pray", - "codepoint": "F0579", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A41E35E2-6756-46D9-BE48-4DFA705A6A6A", - "baseIconId": "A41E35E2-6756-46D9-BE48-4DFA705A6A6A", - "name": "handshake", - "codepoint": "F1218", - "aliases": [ - "business", - "deal", - "help", - "partnership" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "11A33144-9847-4ED2-A429-682B79AAE06F", - "baseIconId": "A41E35E2-6756-46D9-BE48-4DFA705A6A6A", - "name": "handshake-outline", - "codepoint": "F15A1", - "aliases": [ - "business-outline", - "deal-outline", - "help-outline", - "partnership-outline" - ], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2FB0994B-BBA8-4F59-93AF-87F2065F34EA", - "baseIconId": "2FB0994B-BBA8-4F59-93AF-87F2065F34EA", - "name": "hanger", - "codepoint": "F02C8", - "aliases": [ - "coat-hanger", - "clothes-hanger", - "closet" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Clothing", - "Home Automation" - ], - "author": "Moma Design Studio" - }, - { - "id": "C0F69308-03DA-446D-9B7F-A5B2B5BF1D90", - "baseIconId": "C0F69308-03DA-446D-9B7F-A5B2B5BF1D90", - "name": "hard-hat", - "codepoint": "F096F", - "aliases": [ - "helmet" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Clothing" - ], - "author": "Michael Richins" - }, - { - "id": "6CBB2398-E7ED-4A08-8489-1FFF87D0605C", - "baseIconId": "6CBB2398-E7ED-4A08-8489-1FFF87D0605C", - "name": "harddisk", - "codepoint": "F02CA", - "aliases": [ - "hdd" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C4EE3559-8772-4A8D-A549-A1A11DEEC830", - "baseIconId": "6CBB2398-E7ED-4A08-8489-1FFF87D0605C", - "name": "harddisk-plus", - "codepoint": "F104B", - "aliases": [ - "hdd-plus" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "07449A81-73AE-484C-8739-E008C38502F1", - "baseIconId": "6CBB2398-E7ED-4A08-8489-1FFF87D0605C", - "name": "harddisk-remove", - "codepoint": "F104C", - "aliases": [ - "hdd-remove" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "65EED4C7-8306-4688-83ED-7D1D527B39AB", - "baseIconId": "65EED4C7-8306-4688-83ED-7D1D527B39AB", - "name": "hat-fedora", - "codepoint": "F0BA4", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Google" - }, - { - "id": "AEB30C8D-5159-4897-8D17-6EFB9715D3CD", - "baseIconId": "AEB30C8D-5159-4897-8D17-6EFB9715D3CD", - "name": "hazard-lights", - "codepoint": "F0C89", - "aliases": [ - "warning-lights" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "96185CFC-B966-48B1-AC7A-EF12F73C2096", - "baseIconId": "96185CFC-B966-48B1-AC7A-EF12F73C2096", - "name": "hdmi-port", - "codepoint": "F1BB8", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "81182C14-380B-4F56-AFF9-EF636EC7BF7E", - "baseIconId": "81182C14-380B-4F56-AFF9-EF636EC7BF7E", - "name": "hdr", - "codepoint": "F0D7D", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D0ACA2D8-09A4-4C13-81FE-26F7D9C617E5", - "baseIconId": "81182C14-380B-4F56-AFF9-EF636EC7BF7E", - "name": "hdr-off", - "codepoint": "F0D7E", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head", - "codepoint": "F135E", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "783B2BB8-1ECA-4E19-8F45-9FCC8D749F99", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-alert", - "codepoint": "F1338", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BF11BF96-445C-478B-8A66-ECBD839415EA", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-alert-outline", - "codepoint": "F1339", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E10C1F47-D7CB-458A-A374-467CF9462045", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-check", - "codepoint": "F133A", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0A0ADE26-77AE-4BC3-8F9D-3D25669197FE", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-check-outline", - "codepoint": "F133B", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "58C540DF-30BA-449B-8426-61AD2C43959D", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-cog", - "codepoint": "F133C", - "aliases": [ - "psychology" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "C4C50873-9844-42F6-A37B-16FE905873D9", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-cog-outline", - "codepoint": "F133D", - "aliases": [ - "psychology-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DE191219-96D0-4189-8BE1-8F24A5E3E492", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-dots-horizontal", - "codepoint": "F133E", - "aliases": [ - "head-thinking" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E07B33BA-5E14-45A2-AE38-EA80CE0ED909", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-dots-horizontal-outline", - "codepoint": "F133F", - "aliases": [ - "head-thinking-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "86AC6B0F-62ED-4691-88DB-A95DF86CBFF9", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-flash", - "codepoint": "F1340", - "aliases": [ - "head-ache" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "28D19749-AD74-4017-B4B1-AFA65AA7B47F", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-flash-outline", - "codepoint": "F1341", - "aliases": [ - "head-ache-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "619BBE2E-46B1-4FC8-91CF-13FE138FC601", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-heart", - "codepoint": "F1342", - "aliases": [ - "head-love" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0DA85FAF-88F1-4DF1-8DA6-CB3CEFA2A505", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-heart-outline", - "codepoint": "F1343", - "aliases": [ - "head-love-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A94C16AE-DBA8-4DC4-B52E-589D1605C765", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-lightbulb", - "codepoint": "F1344", - "aliases": [ - "head-idea", - "head-bulb" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A7FCF7AB-00BF-404B-8AF6-B384B034B6F7", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-lightbulb-outline", - "codepoint": "F1345", - "aliases": [ - "head-idea-outline", - "head-bulb-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "ACE0E86B-603A-4B3A-9AF5-D6C2F3B4F121", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-minus", - "codepoint": "F1346", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9550EB76-4099-4179-9310-339C2D7B0358", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-minus-outline", - "codepoint": "F1347", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FC339D79-C2E3-4F70-BDEE-E8DB99E06050", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-outline", - "codepoint": "F135F", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "84EDC185-89D4-4F6A-9C28-9911ADA41950", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-plus", - "codepoint": "F1348", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FDEA8867-C576-4065-87D9-945ADE51C543", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-plus-outline", - "codepoint": "F1349", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1E4E72A9-FC83-4971-8B21-4FCACC4DD679", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-question", - "codepoint": "F134A", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B396941C-27C0-4386-96AF-D0AB15842EC2", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-question-outline", - "codepoint": "F134B", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "277090C1-C626-4DA8-B620-1A709668E5BA", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-remove", - "codepoint": "F134C", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7BB28522-3861-439B-A804-D86C580A8FCB", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-remove-outline", - "codepoint": "F134D", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9EB1D22F-C7FC-43FB-8689-40AB3FFB98E7", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-snowflake", - "codepoint": "F134E", - "aliases": [ - "head-freeze", - "brain-freeze" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C7A97A26-B7C3-406A-9087-2463AC624926", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-snowflake-outline", - "codepoint": "F134F", - "aliases": [ - "head-freeze-outline", - "brain-freeze-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CB0FD2AA-6EA8-4324-8207-6C4FFCCB5143", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-sync", - "codepoint": "F1350", - "aliases": [ - "head-reload", - "head-refresh" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8EC8806B-0E06-4EA4-915E-C061D4930ECC", - "baseIconId": "6C83ACD1-95E8-4DE0-837A-4C66E07533DD", - "name": "head-sync-outline", - "codepoint": "F1351", - "aliases": [ - "head-reload-outline", - "head-refresh-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headphones", - "codepoint": "F02CB", - "aliases": [ - "headset" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Device \/ Tech", - "Music" - ], - "author": "Google" - }, - { - "id": "B14FD2A1-C292-49CC-B0AC-78E22C2BD611", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headphones-bluetooth", - "codepoint": "F0970", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "5B608320-1BEB-499C-9CAB-0897D3A2D2B6", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headphones-box", - "codepoint": "F02CC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Google" - }, - { - "id": "678F779A-DE83-4DC0-A49D-657CBAF631F0", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headphones-off", - "codepoint": "F07CE", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Audio", - "Device \/ Tech", - "Music" - ], - "author": "GreenTurtwig" - }, - { - "id": "54A22337-9D03-4F52-8D3E-B2A0A32147B7", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headphones-settings", - "codepoint": "F02CD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Settings" - ], - "author": "Austin Andrews" - }, - { - "id": "AFF98802-E02B-4EC8-8AFF-F0F5373D86C5", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headset", - "codepoint": "F02CE", - "aliases": [ - "headset-mic" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "36F33522-9167-42DD-BA0A-8920F480F38C", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headset-dock", - "codepoint": "F02CF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Chris Litherland" - }, - { - "id": "E2A86F6D-6E4D-4C61-B54A-85BEDACA052F", - "baseIconId": "51F72F83-1559-4037-8BF9-2D8AE3BCB1A8", - "name": "headset-off", - "codepoint": "F02D0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart", - "codepoint": "F02D1", - "aliases": [ - "favorite", - "favourite" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape", - "Gaming \/ RPG", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "558E28AE-47E7-4C95-9846-7653C79CBA33", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-box", - "codepoint": "F02D2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "24811FE6-6C95-4CAB-B708-71862BA40C05", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-box-outline", - "codepoint": "F02D3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "64D15AD4-07A4-4D43-8730-6C9860C89B44", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-broken", - "codepoint": "F02D4", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "365602DD-C53F-42AC-AE3E-2058F47B5C53", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-broken-outline", - "codepoint": "F0D14", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2EFEF959-D5E7-4E69-863D-4E12C413A6D9", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-circle", - "codepoint": "F0971", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "DD5AC3DA-1CA0-4F53-9A50-C095417D7346", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-circle-outline", - "codepoint": "F0972", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "759FA294-1DB6-4B54-BA13-AD852764E3C9", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-cog", - "codepoint": "F1663", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A28DF1A9-5A1F-49AB-959D-249313639228", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-cog-outline", - "codepoint": "F1664", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9B033C3C-210D-4EFD-AD4E-FF9E36E44509", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-flash", - "codepoint": "F0EF9", - "aliases": [ - "aed", - "defibrillator" - ], - "styles": [ - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1B01BAE0-095E-424E-9552-6ECEF5E4FC62", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-half", - "codepoint": "F06DF", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "0FC24699-3C95-4319-A60B-286B0D328D7A", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-half-full", - "codepoint": "F06DE", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Case Sandberg" - }, - { - "id": "F4384972-741C-4BB6-91BF-9509E75C8AF8", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-half-outline", - "codepoint": "F06E0", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "3FD1EF68-1D57-436E-9EF5-D6721DCCF5CF", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-minus", - "codepoint": "F142F", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "12C099C0-0232-49B7-A909-F91594FD7FBA", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-minus-outline", - "codepoint": "F1432", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BDAF5217-358E-4673-BF16-FFFBD09EAD8F", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-multiple", - "codepoint": "F0A56", - "aliases": [ - "hearts" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A4672312-BF75-4CE0-88FF-C7D3BC724AA0", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-multiple-outline", - "codepoint": "F0A57", - "aliases": [ - "hearts-outline" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "012A92C0-E5DE-4FB4-9AB1-9BD5F53861E0", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-off", - "codepoint": "F0759", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "E84E6A73-A238-4F6D-9A63-658358BB4A06", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-off-outline", - "codepoint": "F1434", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9BCD22D2-7304-4BB3-9C41-3431ED13542A", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-outline", - "codepoint": "F02D5", - "aliases": [ - "favorite-border", - "favourite-border", - "favorite-outline", - "favourite-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape", - "Gaming \/ RPG", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "412C8571-A7A4-4029-B5D4-7C67D2B243CC", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-plus", - "codepoint": "F142E", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "644CF687-E873-46D4-9595-FF3F1C455861", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-plus-outline", - "codepoint": "F1431", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "389486F3-5A73-4C65-8EA6-43D432F6490E", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-pulse", - "codepoint": "F05F6", - "aliases": [ - "heart-vitals" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "B01C8EB2-7765-4858-846F-078ADBFDD33B", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-remove", - "codepoint": "F1430", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3FB606F6-D5C4-4036-80D0-EFD3F8A0E06B", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-remove-outline", - "codepoint": "F1433", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FC5F1079-0F24-415E-9364-573853A4BD34", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-search", - "codepoint": "F1C8D", - "aliases": [ - "find-love" - ], - "styles": [ - "search" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Ryan Donahue" - }, - { - "id": "E0A4635A-2115-425E-8103-4C88CBDB10F3", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-settings", - "codepoint": "F1665", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9B32C2D5-B2BE-4646-9C41-53F10F7C1628", - "baseIconId": "32B56DB2-B6BF-4B54-AD0C-9444106B1C1D", - "name": "heart-settings-outline", - "codepoint": "F1666", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "12F2787E-C3CE-4321-98D5-3376DFD0606D", - "baseIconId": "12F2787E-C3CE-4321-98D5-3376DFD0606D", - "name": "heat-pump", - "codepoint": "F1A43", - "aliases": [], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "926E83A9-0AF9-4933-B30E-E7D17680B611", - "baseIconId": "12F2787E-C3CE-4321-98D5-3376DFD0606D", - "name": "heat-pump-outline", - "codepoint": "F1A44", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "8AD5E52C-320C-4071-B891-552B4D71A42C", - "baseIconId": "8AD5E52C-320C-4071-B891-552B4D71A42C", - "name": "heat-wave", - "codepoint": "F1A45", - "aliases": [ - "keep-warm", - "warmth" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FD4E8AC3-C868-429A-A7B9-5460AD347BC2", - "baseIconId": "FD4E8AC3-C868-429A-A7B9-5460AD347BC2", - "name": "heating-coil", - "codepoint": "F1AAF", - "aliases": [ - "radiator-coil", - "heated-floor" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "47397A0C-273D-4D13-A4FD-61572F3E4953", - "baseIconId": "47397A0C-273D-4D13-A4FD-61572F3E4953", - "name": "helicopter", - "codepoint": "F0AC2", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Doodlemandk" - }, - { - "id": "62675A10-D453-40EB-8AED-A789A39EEF11", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help", - "codepoint": "F02D6", - "aliases": [ - "question-mark" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "6EFBBE96-37EA-4372-98CC-9B0D84B92C34", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-box", - "codepoint": "F078B", - "aliases": [ - "question-mark-box" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "52053B96-D72E-4C97-8841-EC5F646F08BB", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-box-multiple", - "codepoint": "F1C0A", - "aliases": [ - "quiz", - "question-box-multiple" - ], - "styles": [ - "box", - "multiple" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "F2D1319A-DF90-41CD-8791-B9B5685EFAC8", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-box-multiple-outline", - "codepoint": "F1C0B", - "aliases": [ - "quiz-outline", - "question-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "C7559D85-14BB-4C5C-B37C-D37E85FEE258", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-box-outline", - "codepoint": "F1C0C", - "aliases": [ - "question-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "49B41103-DD15-4FF4-A18A-44D8586704B6", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-circle", - "codepoint": "F02D7", - "aliases": [ - "question-mark-circle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "60E15D8D-3956-4461-91D8-E8059D02ECE6", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-circle-outline", - "codepoint": "F0625", - "aliases": [ - "help-outline", - "question-mark-circle-outline" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FE0A3DAC-0D3D-4D49-A869-F78B44B26E35", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-network", - "codepoint": "F06F5", - "aliases": [ - "question-network" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "918BA71B-ED4F-4259-9089-0CF2A1EDCFD1", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-network-outline", - "codepoint": "F0C8A", - "aliases": [ - "question-network-outline" - ], - "styles": [ - "network", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FC7F2A59-0296-45CC-966D-EF69FB042DD9", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-rhombus", - "codepoint": "F0BA5", - "aliases": [ - "question-mark-rhombus" - ], - "styles": [ - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B08F035A-9304-4D3B-AADD-395971E74294", - "baseIconId": "62675A10-D453-40EB-8AED-A789A39EEF11", - "name": "help-rhombus-outline", - "codepoint": "F0BA6", - "aliases": [ - "question-mark-rhombus-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4FB1FDA2-96F8-4983-83B9-470C1526042F", - "baseIconId": "4FB1FDA2-96F8-4983-83B9-470C1526042F", - "name": "hexadecimal", - "codepoint": "F12A7", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "229D267D-F77F-4F33-ADD4-325647EC2662", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon", - "codepoint": "F02D8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "60636193-AC27-470B-BCA5-94CEA29719A8", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-multiple", - "codepoint": "F06E1", - "aliases": [ - "hexagons" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "D0D73659-5BB0-4109-A7E1-E4B09D31B940", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-multiple-outline", - "codepoint": "F10F2", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0A85BE3F-ACF1-4D93-A66B-34C7F29D10A3", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-outline", - "codepoint": "F02D9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "6FD9B907-A06F-4923-9ABB-C977E8F14D0E", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-slice-1", - "codepoint": "F0AC3", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "B711E5EB-95CC-4835-A18A-066E1A242DB5", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-slice-2", - "codepoint": "F0AC4", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "0F1666BA-D919-4230-96C9-6DD64A82EB3D", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-slice-3", - "codepoint": "F0AC5", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "4AD333BE-32D1-4EA2-BA76-05896A9D2698", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-slice-4", - "codepoint": "F0AC6", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "4DE91E6B-4F94-40E8-BB70-2B54105C67D0", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-slice-5", - "codepoint": "F0AC7", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "0EE5E66B-A73E-455F-BF0B-5FEBC93A58E9", - "baseIconId": "229D267D-F77F-4F33-ADD4-325647EC2662", - "name": "hexagon-slice-6", - "codepoint": "F0AC8", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "SarinManS" - }, - { - "id": "A965D069-BF40-4F96-B64D-6C1C93F0E2E3", - "baseIconId": "A965D069-BF40-4F96-B64D-6C1C93F0E2E3", - "name": "hexagram", - "codepoint": "F0AC9", - "aliases": [ - "star", - "christmas-star" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Shape", - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C1F53791-B46C-4327-B355-AF3175766CB8", - "baseIconId": "A965D069-BF40-4F96-B64D-6C1C93F0E2E3", - "name": "hexagram-outline", - "codepoint": "F0ACA", - "aliases": [ - "star-outline", - "christmas-star-outline" - ], - "styles": [ - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Shape", - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8FC812E7-2B7B-412B-9114-1899203DECC4", - "baseIconId": "8FC812E7-2B7B-412B-9114-1899203DECC4", - "name": "high-definition", - "codepoint": "F07CF", - "aliases": [ - "hd" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Austin Andrews" - }, - { - "id": "BD1F0404-AA98-4FCF-8947-D0589C91A610", - "baseIconId": "8FC812E7-2B7B-412B-9114-1899203DECC4", - "name": "high-definition-box", - "codepoint": "F0878", - "aliases": [ - "hd-box", - "hd" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "81E5D79D-2ECD-4040-9B07-3A0C19792348", - "baseIconId": "81E5D79D-2ECD-4040-9B07-3A0C19792348", - "name": "highway", - "codepoint": "F05F7", - "aliases": [ - "autobahn", - "motorway" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Christopher Schreiner" - }, - { - "id": "DA3D64F2-C874-420A-917A-0F66C9854D84", - "baseIconId": "DA3D64F2-C874-420A-917A-0F66C9854D84", - "name": "hiking", - "codepoint": "F0D7F", - "aliases": [ - "human-hiking" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "55AF2D53-7FAD-4A1D-8440-10301C95D3B8", - "baseIconId": "55AF2D53-7FAD-4A1D-8440-10301C95D3B8", - "name": "history", - "codepoint": "F02DA", - "aliases": [ - "recent", - "latest", - "clock-arrow", - "counterclockwise", - "restore-clock" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "7A41C6CC-578B-4125-9647-548A298D5B3C", - "baseIconId": "7A41C6CC-578B-4125-9647-548A298D5B3C", - "name": "hockey-puck", - "codepoint": "F0879", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Nick" - }, - { - "id": "1D4E526E-EA07-4493-AF7D-C9B62B4CBC77", - "baseIconId": "1D4E526E-EA07-4493-AF7D-C9B62B4CBC77", - "name": "hockey-sticks", - "codepoint": "F087A", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "826E9B16-2A0D-4E8C-9C3A-BBBE3319AE4D", - "baseIconId": "826E9B16-2A0D-4E8C-9C3A-BBBE3319AE4D", - "name": "hololens", - "codepoint": "F02DB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home", - "codepoint": "F02DC", - "aliases": [ - "house" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Places" - ], - "author": "Google" - }, - { - "id": "9A7BCD6C-B4FB-4AE5-B22F-C5B8E2FB3B66", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-account", - "codepoint": "F0826", - "aliases": [ - "home-user", - "house-account", - "house-user" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Account \/ User", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "A13368F4-66F6-4014-968E-7A7B2D99F038", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-alert", - "codepoint": "F087B", - "aliases": [ - "home-warning", - "house-alert", - "house-warning" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "0A46973B-0029-4BCF-9728-F3E13DC9FE91", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-alert-outline", - "codepoint": "F15D0", - "aliases": [ - "house-alert-outline", - "home-warning-outline", - "house-warning-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "381A61B9-0D73-4CB8-B525-C67697443F43", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-analytics", - "codepoint": "F0EBA", - "aliases": [ - "chart-home", - "home-chart", - "home-report", - "house-analytics", - "house-chart" - ], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "80923357-29F3-429E-A186-F3561451398C", - "baseIconId": "80923357-29F3-429E-A186-F3561451398C", - "name": "home-assistant", - "codepoint": "F07D0", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Home Automation" - ], - "author": "Contributors" - }, - { - "id": "FD2567BF-09EC-4871-B3E8-DAE9CDCF3A38", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-automation", - "codepoint": "F07D1", - "aliases": [ - "house-automation", - "home-wireless", - "house-wireless", - "smart-home", - "smart-house" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "3BCACB97-3EEE-453B-81A7-1136F167B23D", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-battery", - "codepoint": "F1901", - "aliases": [ - "home-energy", - "home-power", - "home-electricity", - "house-energy", - "house-battery", - "house-power" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Battery" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EFDF1C9C-3566-4312-ACBC-AC5B10EA28DE", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-battery-outline", - "codepoint": "F1902", - "aliases": [ - "home-energy-outline", - "home-power-outline", - "home-electricity-outline", - "house-battery-outline", - "house-power-outline", - "house-energy-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Battery" - ], - "author": "Michael Irigoyen" - }, - { - "id": "59CB69E0-6F23-4572-90C7-9B360121C266", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-circle", - "codepoint": "F07D2", - "aliases": [ - "house-circle" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "bentraynham" - }, - { - "id": "2AD26260-A0C1-42BE-99A2-889F460EF25D", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-circle-outline", - "codepoint": "F104D", - "aliases": [ - "house-circle-outline" - ], - "styles": [ - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Terren" - }, - { - "id": "4D49A420-B80E-48FA-A331-A556002EA46F", - "baseIconId": "4D49A420-B80E-48FA-A331-A556002EA46F", - "name": "home-city", - "codepoint": "F0D15", - "aliases": [ - "house-city" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "69A854BB-0CC9-4E1B-855E-FD26E9E6D119", - "baseIconId": "4D49A420-B80E-48FA-A331-A556002EA46F", - "name": "home-city-outline", - "codepoint": "F0D16", - "aliases": [ - "house-city-outline" - ], - "styles": [ - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Home Automation", - "Places" - ], - "author": "Google" - }, - { - "id": "F3391DCE-6EC9-4C63-869D-36ED374054FC", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-clock", - "codepoint": "F1A12", - "aliases": [ - "home-time", - "home-schedule", - "house-time", - "house-clock", - "house-schedule" - ], - "styles": [ - "clock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9ADA7472-66EE-4F9A-8494-C4292C29207C", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-clock-outline", - "codepoint": "F1A13", - "aliases": [ - "home-time-outline", - "home-schedule-outline", - "house-clock-outline", - "house-time-outline", - "house-schedule-outline" - ], - "styles": [ - "clock", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6D381D99-24F0-46B5-AD04-F527B97830AE", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-edit", - "codepoint": "F1159", - "aliases": [ - "house-edit" - ], - "styles": [ - "edit" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Edit \/ Modify" - ], - "author": "Simran" - }, - { - "id": "B56AB73F-0A3C-4562-88DF-ED70B51877DE", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-edit-outline", - "codepoint": "F115A", - "aliases": [ - "house-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Edit \/ Modify" - ], - "author": "Simran" - }, - { - "id": "6D0FFE6B-65D9-4D72-9743-C2537F3E6307", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-export-outline", - "codepoint": "F0F9B", - "aliases": [ - "house-export-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AC4506FC-3368-416C-8E9A-BADD6F66E7D5", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-flood", - "codepoint": "F0EFA", - "aliases": [ - "house-flood" - ], - "styles": [ - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation", - "Nature" - ], - "author": "Google" - }, - { - "id": "6732D314-97CA-4433-9CB5-260359AC131F", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-0", - "codepoint": "F0DD2", - "aliases": [ - "house-floor-0", - "home-floor-zero", - "house-floor-zero" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B83F1FBD-0D66-4CEE-91FC-640B78AABF4E", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-1", - "codepoint": "F0D80", - "aliases": [ - "house-floor-1", - "home-floor-one", - "house-floor-one", - "home-floor-first", - "house-floor-first" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "FB09500A-A871-409C-B7D4-B18BDF0D8511", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-2", - "codepoint": "F0D81", - "aliases": [ - "house-floor-2", - "home-floor-two", - "house-floor-two", - "home-floor-second", - "house-floor-second" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "E7714A6B-EE3B-4819-81B8-1E9FF342598F", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-3", - "codepoint": "F0D82", - "aliases": [ - "house-floor-3", - "home-floor-three", - "house-floor-three", - "home-floor-third", - "house-floor-third" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "5A227D09-2828-4606-81B8-7622D7C8724C", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-a", - "codepoint": "F0D83", - "aliases": [ - "home-floor-attic", - "house-floor-a", - "house-floor-attic" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "004E747A-FD00-4B6E-8AEF-2031D217D035", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-b", - "codepoint": "F0D84", - "aliases": [ - "home-floor-basement", - "house-floor-b", - "house-floor-basement" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "B2D19D07-ACC6-462B-BD11-50CC805E104B", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-g", - "codepoint": "F0D85", - "aliases": [ - "home-floor-ground", - "house-floor-g", - "house-floor-ground" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "D6B418D4-1B34-4E5C-B406-0E27B72DC0AC", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-l", - "codepoint": "F0D86", - "aliases": [ - "home-floor-loft", - "home-floor-lower", - "house-floor-l", - "house-floor-loft", - "house-floor-lower" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "8809DA4E-CB12-48C9-AA91-8E377701862F", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-floor-negative-1", - "codepoint": "F0DD3", - "aliases": [ - "house-floor-negative-1", - "home-floor-negative-one", - "home-floor-minus-1", - "home-floor-minus-one", - "house-floor-negative-one", - "house-floor-minus-1", - "house-floor-minus-one" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B4E54DBF-164E-41D3-8C9F-D7E67C9F9B10", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-group", - "codepoint": "F0DD4", - "aliases": [ - "house-group", - "neighbourhood", - "estate", - "housing-estate" - ], - "styles": [ - "multiple" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "786A8373-A89F-4905-9698-B8AD3CF4D230", - "baseIconId": "B4E54DBF-164E-41D3-8C9F-D7E67C9F9B10", - "name": "home-group-minus", - "codepoint": "F19C1", - "aliases": [ - "house-group-minus" - ], - "styles": [ - "minus" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6A0C18F6-510F-4AC3-88FE-6B24C7669BAD", - "baseIconId": "B4E54DBF-164E-41D3-8C9F-D7E67C9F9B10", - "name": "home-group-plus", - "codepoint": "F19C0", - "aliases": [ - "house-group-plus", - "home-group-add", - "house-group-add" - ], - "styles": [ - "plus" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "LEANNOVATORS.TECH" - }, - { - "id": "A4438B5F-FA4C-4C73-8514-3D0364BBB7A5", - "baseIconId": "B4E54DBF-164E-41D3-8C9F-D7E67C9F9B10", - "name": "home-group-remove", - "codepoint": "F19C2", - "aliases": [ - "house-group-remove" - ], - "styles": [ - "remove" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "513D2CF1-31F5-4F3B-8543-2499ABB20924", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-heart", - "codepoint": "F0827", - "aliases": [ - "family", - "house-heart" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Home Automation", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "041C4C4F-6D85-4F8B-90CC-FB17E9202862", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-import-outline", - "codepoint": "F0F9C", - "aliases": [ - "house-import-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "06C5C86B-2918-4501-B247-890B18874E8E", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-lightbulb", - "codepoint": "F1251", - "aliases": [ - "home-bulb", - "house-lightbulb", - "house-bulb" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "5F0E0727-76E9-4793-9406-FD513FF7CB58", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-lightbulb-outline", - "codepoint": "F1252", - "aliases": [ - "home-bulb-outline", - "house-lightbulb-outline", - "house-bulb-outline" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "077E7728-7FDE-4846-9F55-9818EB397D58", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-lightning-bolt", - "codepoint": "F1903", - "aliases": [ - "home-energy", - "home-power", - "home-electricity", - "home-flash", - "house-lightning-bolt", - "house-flash" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "12538408-E644-4222-84BF-9A64670E9187", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-lightning-bolt-outline", - "codepoint": "F1904", - "aliases": [ - "home-energy", - "home-power", - "home-electricity", - "home-flash", - "house-lightning-bolt-outline", - "house-flash-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "ECB8FF23-47EC-4038-9673-1A3A1619C071", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-lock", - "codepoint": "F08EB", - "aliases": [ - "house-lock", - "home-secure", - "house-secure" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Nick" - }, - { - "id": "0E63785D-BB37-4A60-B09D-F985DC4FAD5F", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-lock-open", - "codepoint": "F08EC", - "aliases": [ - "house-lock-open" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Nick" - }, - { - "id": "D543BDC6-BC40-4A36-B2F0-60313D8F4EEB", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-map-marker", - "codepoint": "F05F8", - "aliases": [ - "house-map-marker", - "home-location" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Navigation" - ], - "author": "Simran" - }, - { - "id": "825AF439-6839-48DA-A6D4-B62BB2710103", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-minus", - "codepoint": "F0974", - "aliases": [ - "house-minus" - ], - "styles": [ - "minus" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Peter Noble" - }, - { - "id": "8DB9C230-99DF-4137-9A32-2D1058D824EA", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-minus-outline", - "codepoint": "F13D5", - "aliases": [ - "house-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6949FE9A-5B8C-4EDF-B74E-E0268A4F69F1", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-modern", - "codepoint": "F02DD", - "aliases": [ - "house-modern" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "D9B08A72-EDEB-459D-89C9-C12DFB088E98", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-off", - "codepoint": "F1A46", - "aliases": [ - "house-off" - ], - "styles": [ - "off" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8AFA6E09-694A-4C0B-9F34-6567B3CA1690", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-off-outline", - "codepoint": "F1A47", - "aliases": [ - "house-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B4E2287E-8872-48AD-B765-83D82AF66CA3", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-outline", - "codepoint": "F06A1", - "aliases": [ - "house-outline" - ], - "styles": [ - "outline" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Home Automation", - "Places" - ], - "author": "Google" - }, - { - "id": "2873F779-5D6C-4735-AF84-104BD9F41B7D", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-percent", - "codepoint": "F1C7C", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "D947D6EA-6AFF-41EA-B631-DC5AB95EFED6", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-percent-outline", - "codepoint": "F1C7D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "E844FA32-E45E-4D71-B74C-34DFAD7F6830", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-plus", - "codepoint": "F0975", - "aliases": [ - "home-add", - "house-plus", - "house-add" - ], - "styles": [ - "plus" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Peter Noble" - }, - { - "id": "CDAF170C-BB2C-4217-9B96-D99EE9B725F9", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-plus-outline", - "codepoint": "F13D6", - "aliases": [ - "house-plus-outline", - "house-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FEF8AC85-F9E6-4C9B-B0C2-A5158AAD8A8B", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-remove", - "codepoint": "F1247", - "aliases": [ - "house-remove" - ], - "styles": [ - "remove" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CD3129FD-EDCB-4B65-85F8-900E59E308B7", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-remove-outline", - "codepoint": "F13D7", - "aliases": [ - "house-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "32EF139A-14EB-4767-ADDD-08120FB530A0", - "baseIconId": "32EF139A-14EB-4767-ADDD-08120FB530A0", - "name": "home-roof", - "codepoint": "F112B", - "aliases": [ - "home-chimney", - "home-attic", - "house-roof", - "house-attic", - "house-chimney" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "156F3CF1-D7CD-487B-AF83-4A7270413A62", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-search", - "codepoint": "F13B0", - "aliases": [ - "house-search", - "home-find", - "house-find" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D261AFB1-2C65-41D6-AE5A-E25D2FC120ED", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-search-outline", - "codepoint": "F13B1", - "aliases": [ - "house-search-outline", - "home-find-outline", - "house-find-outline" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1F67690D-B143-4CF0-9888-54F647E62F33", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-silo", - "codepoint": "F1BA0", - "aliases": [ - "farm-house", - "farm-home" - ], - "styles": [ - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "8943314B-A992-48BD-B030-700F2190B781", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-silo-outline", - "codepoint": "F1BA1", - "aliases": [ - "farm-house-outline", - "farm-home-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Agriculture", - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "30477CDE-7E54-4B3F-830D-F846520A28B2", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-sound-in", - "codepoint": "F1C2F", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "4B4ED868-C3DB-4D85-BCF2-4B2214BAF0CA", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-sound-in-outline", - "codepoint": "F1C30", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "8922F49A-8B55-4B61-A893-A5E370AA39BD", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-sound-out", - "codepoint": "F1C31", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "87C2DE8C-2E23-467B-9C6C-AD258E1C4DE9", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-sound-out-outline", - "codepoint": "F1C32", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "1DBBF908-7F93-4FAE-8A2A-555851E7C3BE", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-switch", - "codepoint": "F1794", - "aliases": [ - "home-swap", - "house-switch", - "house-swap" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4C8FD8F1-0690-4B2D-A614-A03F58D48370", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-switch-outline", - "codepoint": "F1795", - "aliases": [ - "home-swap-outline", - "house-swap-outline", - "house-switch-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "833E3484-3C40-4F98-96CB-537FB6225711", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-thermometer", - "codepoint": "F0F54", - "aliases": [ - "home-climate", - "home-temperature", - "house-thermometer", - "house-climate", - "house-temperature" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Tim Grelka" - }, - { - "id": "2782AA6E-C46A-4CEC-B753-35768CA30163", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-thermometer-outline", - "codepoint": "F0F55", - "aliases": [ - "home-climate-outline", - "home-temperature-outline", - "house-thermometer-outline", - "house-climate-outline", - "house-temperature-outline" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "7AFA8EEF-6A41-4A7D-97D2-F9F03DB24DB0", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-variant", - "codepoint": "F02DE", - "aliases": [ - "house-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "5DF1214D-79EC-4EA0-B435-CB73B877DCA9", - "baseIconId": "5D085274-15B9-42EC-8CCE-2F94C5EC039C", - "name": "home-variant-outline", - "codepoint": "F0BA7", - "aliases": [ - "house-variant-outline" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "8A2A8364-B33C-4931-BF78-EB171C569D5F", - "baseIconId": "8A2A8364-B33C-4931-BF78-EB171C569D5F", - "name": "hook", - "codepoint": "F06E2", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "984487C2-EBB2-474C-8914-046E6BDC6EC6", - "baseIconId": "8A2A8364-B33C-4931-BF78-EB171C569D5F", - "name": "hook-off", - "codepoint": "F06E3", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "088F07BD-BEA9-46D5-A2DF-0B9FA37BBF99", - "baseIconId": "088F07BD-BEA9-46D5-A2DF-0B9FA37BBF99", - "name": "hoop-house", - "codepoint": "F0E56", - "aliases": [ - "green-house" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Agriculture", - "Home Automation" - ], - "author": "Jeff Anders" - }, - { - "id": "E82A026A-DD54-4C5F-8961-A7C97754CF04", - "baseIconId": "E82A026A-DD54-4C5F-8961-A7C97754CF04", - "name": "hops", - "codepoint": "F02DF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "7B242778-9748-4E06-8738-E3325EE88F08", - "baseIconId": "7B242778-9748-4E06-8738-E3325EE88F08", - "name": "horizontal-rotate-clockwise", - "codepoint": "F10F3", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C6DC8E07-B9BA-4F4E-B415-40AAD8AE17A4", - "baseIconId": "C6DC8E07-B9BA-4F4E-B415-40AAD8AE17A4", - "name": "horizontal-rotate-counterclockwise", - "codepoint": "F10F4", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EA8A87CE-C2FE-4C05-8CD0-32C9716737D4", - "baseIconId": "EA8A87CE-C2FE-4C05-8CD0-32C9716737D4", - "name": "horse", - "codepoint": "F15BF", - "aliases": [ - "equestrian" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Animal", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "784CE1E7-3523-4E04-910C-3E969FEA4E55", - "baseIconId": "EA8A87CE-C2FE-4C05-8CD0-32C9716737D4", - "name": "horse-human", - "codepoint": "F15C0", - "aliases": [ - "horseback-riding", - "horse-riding", - "equestrian" - ], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Agriculture", - "People \/ Family" - ], - "author": "Colton Wiscombe" - }, - { - "id": "359CB8BA-79AF-43F7-AE85-562432388C2E", - "baseIconId": "EA8A87CE-C2FE-4C05-8CD0-32C9716737D4", - "name": "horse-variant", - "codepoint": "F15C1", - "aliases": [ - "equestrian-variant" - ], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Animal", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B78A53B2-16C0-40FF-8923-9EE03B7D6059", - "baseIconId": "EA8A87CE-C2FE-4C05-8CD0-32C9716737D4", - "name": "horse-variant-fast", - "codepoint": "F186E", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Animal", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1955609E-8F53-41B3-9C71-0A71E4FBEED3", - "baseIconId": "1955609E-8F53-41B3-9C71-0A71E4FBEED3", - "name": "horseshoe", - "codepoint": "F0A58", - "aliases": [ - "luck" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Sport", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D7402851-FBF5-4861-8B6E-D141EBBDBB70", - "baseIconId": "D7402851-FBF5-4861-8B6E-D141EBBDBB70", - "name": "hospital", - "codepoint": "F0FF6", - "aliases": [ - "swiss-cross", - "dispensary" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "83D0E9E7-B196-4515-A9C8-6E6FEB03ADD1", - "baseIconId": "D7402851-FBF5-4861-8B6E-D141EBBDBB70", - "name": "hospital-box", - "codepoint": "F02E0", - "aliases": [ - "local-hospital", - "swiss-cross-box", - "dispensary-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "2D50B6E0-C01B-4EDE-BA85-A14757A27D54", - "baseIconId": "D7402851-FBF5-4861-8B6E-D141EBBDBB70", - "name": "hospital-box-outline", - "codepoint": "F0FF7", - "aliases": [ - "swiss-cross-box-outline", - "dispensary-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D4FAA416-4429-451F-B4EE-647CCABDF3EB", - "baseIconId": "D4FAA416-4429-451F-B4EE-647CCABDF3EB", - "name": "hospital-building", - "codepoint": "F02E1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places", - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "FA30BC13-BE77-44F6-BEB1-942749E019A7", - "baseIconId": "FA30BC13-BE77-44F6-BEB1-942749E019A7", - "name": "hospital-marker", - "codepoint": "F02E2", - "aliases": [ - "hospital-location" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "Navigation" - ], - "author": "Austin Andrews" - }, - { - "id": "832FBA55-F65E-4706-93B1-9018D651CAA3", - "baseIconId": "832FBA55-F65E-4706-93B1-9018D651CAA3", - "name": "hot-tub", - "codepoint": "F0828", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A2BB919C-0296-4CAE-83EA-07AD9A9A378C", - "baseIconId": "A2BB919C-0296-4CAE-83EA-07AD9A9A378C", - "name": "hours-12", - "codepoint": "F1C94", - "aliases": [], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "circa1665" - }, - { - "id": "0AAC6125-3343-4D4A-AF22-69BC930FA96F", - "baseIconId": "0AAC6125-3343-4D4A-AF22-69BC930FA96F", - "name": "hours-24", - "codepoint": "F1478", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Haley Halcyon" - }, - { - "id": "0BEA7CE4-5642-406D-A995-E2502E85D184", - "baseIconId": "0BEA7CE4-5642-406D-A995-E2502E85D184", - "name": "hub", - "codepoint": "F1C95", - "aliases": [], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "64A2362A-CC88-40D3-B071-09207B9CE7E0", - "baseIconId": "0BEA7CE4-5642-406D-A995-E2502E85D184", - "name": "hub-outline", - "codepoint": "F1C96", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "04125F27-F2CB-4304-8C9D-81E4D72A0B6E", - "baseIconId": "04125F27-F2CB-4304-8C9D-81E4D72A0B6E", - "name": "hubspot", - "codepoint": "F0D17", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Contributors" - }, - { - "id": "788D7C34-3E50-468B-A205-D953D844F1B7", - "baseIconId": "788D7C34-3E50-468B-A205-D953D844F1B7", - "name": "hulu", - "codepoint": "F0829", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "B05E458D-886A-491D-9969-156562C52105", - "baseIconId": "10E7CAB4-7B15-4F73-82B1-E42562B9103C", - "name": "human", - "codepoint": "F02E6", - "aliases": [ - "accessibility" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "CF40C1CD-0F3A-4BC7-A1D7-7C33C8EFD307", - "baseIconId": "CF40C1CD-0F3A-4BC7-A1D7-7C33C8EFD307", - "name": "human-baby-changing-table", - "codepoint": "F138B", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "People \/ Family", - "Medical \/ Hospital" - ], - "author": "Moma Design Studio" - }, - { - "id": "40DD914F-1089-4A7B-AA3D-630C643E8FFF", - "baseIconId": "40DD914F-1089-4A7B-AA3D-630C643E8FFF", - "name": "human-cane", - "codepoint": "F1581", - "aliases": [ - "elderly" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "98227CA7-A56F-4C3F-85FC-0FAD616B9762", - "baseIconId": "98227CA7-A56F-4C3F-85FC-0FAD616B9762", - "name": "human-capacity-decrease", - "codepoint": "F159B", - "aliases": [ - "human-capacity-reduce" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Account \/ User", - "Transportation + Other", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "AFFFC442-E5B7-4D2C-9B87-81D2AD52997A", - "baseIconId": "AFFFC442-E5B7-4D2C-9B87-81D2AD52997A", - "name": "human-capacity-increase", - "codepoint": "F159C", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Account \/ User", - "Transportation + Other", - "People \/ Family" - ], - "author": "Simran" - }, - { - "id": "ABBC3761-B437-4800-9C57-BCBE5AC8FA31", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-child", - "codepoint": "F02E7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Austin Andrews" - }, - { - "id": "24AA9CD4-6B25-4B7C-A3A2-0C1A29DC5E1F", - "baseIconId": "24AA9CD4-6B25-4B7C-A3A2-0C1A29DC5E1F", - "name": "human-dolly", - "codepoint": "F1980", - "aliases": [ - "human-hand-truck", - "human-trolley" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1B83707C-D3DF-4181-93D5-5B513B649E1C", - "baseIconId": "1B83707C-D3DF-4181-93D5-5B513B649E1C", - "name": "human-edit", - "codepoint": "F14E8", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "People \/ Family", - "Edit \/ Modify" - ], - "author": "Austin Andrews" - }, - { - "id": "059421A9-4F27-493A-8835-4B49B5286366", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-female", - "codepoint": "F0649", - "aliases": [ - "woman" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "6FAD3199-1AC7-4265-84B0-E72818AD2447", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-female-boy", - "codepoint": "F0A59", - "aliases": [ - "mother", - "mom", - "woman-child", - "mum" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Henrique C\u00e9sar Madeira" - }, - { - "id": "DCBC03CA-8A3A-41FD-9C96-BA738EDA9F05", - "baseIconId": "DCBC03CA-8A3A-41FD-9C96-BA738EDA9F05", - "name": "human-female-dance", - "codepoint": "F15C9", - "aliases": [ - "ballet" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "People \/ Family", - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "63BC56A3-B593-4789-BEAE-2696E6DC2CB6", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-female-female", - "codepoint": "F0A5A", - "aliases": [ - "woman-woman", - "women" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Henrique C\u00e9sar Madeira" - }, - { - "id": "51D1E4B3-A76C-4CA6-A389-177B6A7EFDBB", - "baseIconId": "B05E458D-886A-491D-9969-156562C52105", - "name": "human-female-female-child", - "codepoint": "F1C8E", - "aliases": [ - "family" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0F41B01E-9981-4BF8-8CC9-A44593ECB3BA", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-female-girl", - "codepoint": "F0A5B", - "aliases": [ - "mother", - "mom", - "woman-child", - "mum" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Henrique C\u00e9sar Madeira" - }, - { - "id": "59728070-C172-44A6-9076-5D5C29D08880", - "baseIconId": "B05E458D-886A-491D-9969-156562C52105", - "name": "human-greeting", - "codepoint": "F17C4", - "aliases": [ - "human-hello", - "human-welcome" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "200F7489-F20F-4506-A27A-081A0CA8A312", - "baseIconId": "200F7489-F20F-4506-A27A-081A0CA8A312", - "name": "human-greeting-proximity", - "codepoint": "F159D", - "aliases": [ - "connect-without-contact" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Account \/ User", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "1C9856E1-6945-464E-85E7-A46C4A974C9D", - "baseIconId": "10E7CAB4-7B15-4F73-82B1-E42562B9103C", - "name": "human-greeting-variant", - "codepoint": "F064A", - "aliases": [ - "human-hello-variant" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "10E7CAB4-7B15-4F73-82B1-E42562B9103C", - "baseIconId": "10E7CAB4-7B15-4F73-82B1-E42562B9103C", - "name": "human-handsdown", - "codepoint": "F064B", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "FA427178-750A-425C-81F2-B46DDC061771", - "baseIconId": "10E7CAB4-7B15-4F73-82B1-E42562B9103C", - "name": "human-handsup", - "codepoint": "F064C", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-male", - "codepoint": "F064D", - "aliases": [ - "man" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "A989F68B-23B9-4B50-BE4D-E3DF6E9420C9", - "baseIconId": "A989F68B-23B9-4B50-BE4D-E3DF6E9420C9", - "name": "human-male-board", - "codepoint": "F0890", - "aliases": [ - "teacher", - "teaching", - "lecture", - "college", - "blackboard", - "whiteboard", - "human-man-board" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Richins" - }, - { - "id": "7016027D-C32A-4462-A9E5-98132FA518B4", - "baseIconId": "A989F68B-23B9-4B50-BE4D-E3DF6E9420C9", - "name": "human-male-board-poll", - "codepoint": "F0846", - "aliases": [ - "teach-poll" - ], - "styles": [ - "variant" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "MaksUr" - }, - { - "id": "07AB2970-AE77-417B-BEB3-8B6FDEF43EDE", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-male-boy", - "codepoint": "F0A5C", - "aliases": [ - "father", - "dad", - "man-child" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Henrique C\u00e9sar Madeira" - }, - { - "id": "4FDB5D5D-02F8-4B99-AA54-C9344F1DB02D", - "baseIconId": "4FDB5D5D-02F8-4B99-AA54-C9344F1DB02D", - "name": "human-male-child", - "codepoint": "F138C", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Moma Design Studio" - }, - { - "id": "0FC16450-7A7E-43C5-AED4-E27C4A6BFF99", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-male-female", - "codepoint": "F02E8", - "aliases": [ - "wc", - "man-woman" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "26B43897-F5DF-4CBC-A89F-514E200B5937", - "baseIconId": "B05E458D-886A-491D-9969-156562C52105", - "name": "human-male-female-child", - "codepoint": "F1823", - "aliases": [ - "family", - "mom-dad-child" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "764B2DA8-53A8-4D7D-A156-D73CDA4F0C63", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-male-girl", - "codepoint": "F0A5D", - "aliases": [ - "father", - "dad", - "man-child" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Henrique C\u00e9sar Madeira" - }, - { - "id": "38807077-1E35-4599-83CA-110DA473794A", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-male-height", - "codepoint": "F0EFB", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "People \/ Family" - ], - "author": "Michael Richins" - }, - { - "id": "51DB457C-C26A-4579-8C34-9ED95D270EA4", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-male-height-variant", - "codepoint": "F0EFC", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "People \/ Family" - ], - "author": "Michael Richins" - }, - { - "id": "AB5B56A8-CB56-4502-B388-BA02ECEB2D1A", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-male-male", - "codepoint": "F0A5E", - "aliases": [ - "man-man", - "men" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Henrique C\u00e9sar Madeira" - }, - { - "id": "67F4CFA6-CBE2-4915-931B-D43AFBB11F97", - "baseIconId": "B05E458D-886A-491D-9969-156562C52105", - "name": "human-male-male-child", - "codepoint": "F1C8F", - "aliases": [ - "family" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0993FCF5-5C89-4F54-ABFC-310CDF2AED15", - "baseIconId": "B05E458D-886A-491D-9969-156562C52105", - "name": "human-non-binary", - "codepoint": "F1848", - "aliases": [ - "human-genderless", - "human-transgender" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "05DB88BC-FA28-4DF1-8308-541E338E0234", - "baseIconId": "1369FF9C-0E57-4644-BE89-7B5EED0131B0", - "name": "human-pregnant", - "codepoint": "F05CF", - "aliases": [ - "pregnant-woman" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "FAD84EF2-E1C0-4834-8FFD-677E424F2693", - "baseIconId": "FAD84EF2-E1C0-4834-8FFD-677E424F2693", - "name": "human-queue", - "codepoint": "F1571", - "aliases": [ - "human-line" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Haley Halcyon" - }, - { - "id": "08B3209B-7D10-4C1C-9962-E4DAC71DD06F", - "baseIconId": "08B3209B-7D10-4C1C-9962-E4DAC71DD06F", - "name": "human-scooter", - "codepoint": "F11E9", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Sport", - "Transportation + Other", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "6248F0D3-5347-4AEF-A1FE-903BDD78D4AA", - "baseIconId": "B05E458D-886A-491D-9969-156562C52105", - "name": "human-walker", - "codepoint": "F1B71", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "People \/ Family", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "B0529853-AE3D-475C-94EB-0C775E934806", - "baseIconId": "B05E458D-886A-491D-9969-156562C52105", - "name": "human-wheelchair", - "codepoint": "F138D", - "aliases": [ - "human-accessible" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "People \/ Family", - "Medical \/ Hospital" - ], - "author": "Moma Design Studio" - }, - { - "id": "D85C481D-1B39-47A3-92D6-975E862AF70A", - "baseIconId": "D85C481D-1B39-47A3-92D6-975E862AF70A", - "name": "human-white-cane", - "codepoint": "F1981", - "aliases": [ - "human-blind" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "People \/ Family", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9A2A1178-7E30-49E7-A639-2D16464EA7EA", - "baseIconId": "9A2A1178-7E30-49E7-A639-2D16464EA7EA", - "name": "humble-bundle", - "codepoint": "F0744", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "EE07113F-BD81-424C-B228-7EC802F7CFB2", - "baseIconId": "EE07113F-BD81-424C-B228-7EC802F7CFB2", - "name": "hvac", - "codepoint": "F1352", - "aliases": [ - "heating", - "ventilation", - "air-conditioning" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "30019019-F955-40EE-B811-C634718E6FAD", - "baseIconId": "EE07113F-BD81-424C-B228-7EC802F7CFB2", - "name": "hvac-off", - "codepoint": "F159E", - "aliases": [ - "heating-off", - "ventilation-off", - "air-conditioning-off" - ], - "styles": [ - "off" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FBFEC6FC-C311-4B53-8445-18B604AA7C12", - "baseIconId": "FBFEC6FC-C311-4B53-8445-18B604AA7C12", - "name": "hydraulic-oil-level", - "codepoint": "F1324", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "54AC2207-9F8D-4A1D-B8B4-ED626D0C8C38", - "baseIconId": "54AC2207-9F8D-4A1D-B8B4-ED626D0C8C38", - "name": "hydraulic-oil-temperature", - "codepoint": "F1325", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "97D5D644-DB37-4DA8-8B37-444B242A88EF", - "baseIconId": "97D5D644-DB37-4DA8-8B37-444B242A88EF", - "name": "hydro-power", - "codepoint": "F12E5", - "aliases": [ - "hydraulic-turbine", - "water-turbine", - "watermill" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Agriculture" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "B1407DA8-3E25-4878-A31F-34112A2D586B", - "baseIconId": "B1407DA8-3E25-4878-A31F-34112A2D586B", - "name": "hydrogen-station", - "codepoint": "F1894", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "C8D5186F-BF39-40DA-9F7A-747DB166EABD", - "baseIconId": "C8D5186F-BF39-40DA-9F7A-747DB166EABD", - "name": "ice-cream", - "codepoint": "F082A", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "9620A768-2570-423E-8D3C-D65C9CACA7EC", - "baseIconId": "C8D5186F-BF39-40DA-9F7A-747DB166EABD", - "name": "ice-cream-off", - "codepoint": "F0E52", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "58AA127F-3523-4B91-AFED-018FA36D0876", - "baseIconId": "C8D5186F-BF39-40DA-9F7A-747DB166EABD", - "name": "ice-pop", - "codepoint": "F0EFD", - "aliases": [ - "popsicle" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nikos Pappas" - }, - { - "id": "44423F53-F28B-49F5-86F1-D71FAC4B4C07", - "baseIconId": "44423F53-F28B-49F5-86F1-D71FAC4B4C07", - "name": "id-card", - "codepoint": "F0FC0", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "58048473-346E-4473-A18D-36C29B789322", - "baseIconId": "58048473-346E-4473-A18D-36C29B789322", - "name": "identifier", - "codepoint": "F0EFE", - "aliases": [ - "key" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "86B5194A-AB94-4C20-8110-FA463B705B39", - "baseIconId": "86B5194A-AB94-4C20-8110-FA463B705B39", - "name": "ideogram-cjk", - "codepoint": "F1331", - "aliases": [ - "ideogram-chinese-japanese-korean", - "writing-system-cjk" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "1D315F53-EBD0-42C7-89D6-5E682B756B22", - "baseIconId": "86B5194A-AB94-4C20-8110-FA463B705B39", - "name": "ideogram-cjk-variant", - "codepoint": "F1332", - "aliases": [ - "ideogram-chinese-japanese-korean-variant", - "writing-system-cjk-variant" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image", - "codepoint": "F02E9", - "aliases": [ - "insert-photo" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DD2262AA-A145-4788-899D-46D807B4FC0D", - "baseIconId": "FFF82791-D12F-4643-8128-71CF5FE38C9B", - "name": "image-album", - "codepoint": "F02EA", - "aliases": [ - "photo-album", - "book-image" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D23B9039-C6D4-45F8-B625-EEDE883FF5BD", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-area", - "codepoint": "F02EB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3BE3AA75-C604-45F3-9DD3-5E8731201F08", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-area-close", - "codepoint": "F02EC", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F528B8DF-1FE3-47C0-B406-70FAC5718CE1", - "baseIconId": "F528B8DF-1FE3-47C0-B406-70FAC5718CE1", - "name": "image-auto-adjust", - "codepoint": "F0FC1", - "aliases": [ - "image-filter" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "40DCC37F-8A3F-4C15-97E8-2AB88B4DC756", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-broken", - "codepoint": "F02ED", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D243B11E-D824-4185-B14F-B1C53DB11C24", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-broken-variant", - "codepoint": "F02EE", - "aliases": [ - "broken-image" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "92E042AA-1660-4069-AA56-F2D749C778AF", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-check", - "codepoint": "F1B25", - "aliases": [], - "styles": [ - "check" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "32FD6900-16FE-45E0-932C-EBCF6834ACA6", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-check-outline", - "codepoint": "F1B26", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "3E168631-4E4A-47D7-839A-CEB6B4640510", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-edit", - "codepoint": "F11E3", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "frankgrinaert" - }, - { - "id": "DD3FFC3D-A4AF-4F1D-8239-8F5195BC4C29", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-edit-outline", - "codepoint": "F11E4", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7D3932BA-9061-40D7-B624-044EE7A7B445", - "baseIconId": "7D3932BA-9061-40D7-B624-044EE7A7B445", - "name": "image-filter-black-white", - "codepoint": "F02F0", - "aliases": [ - "filter-b-and-w" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "E3745997-1AD2-4D79-83FE-72ADE96E3C69", - "baseIconId": "E3745997-1AD2-4D79-83FE-72ADE96E3C69", - "name": "image-filter-center-focus", - "codepoint": "F02F1", - "aliases": [ - "image-filter-centre-focus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "3A8D45DA-5897-4B18-BDA5-951967BD4CF8", - "baseIconId": "3A8D45DA-5897-4B18-BDA5-951967BD4CF8", - "name": "image-filter-center-focus-strong", - "codepoint": "F0EFF", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "0012643E-5753-42C0-A1CF-E4FBB5D5E311", - "baseIconId": "0012643E-5753-42C0-A1CF-E4FBB5D5E311", - "name": "image-filter-center-focus-strong-outline", - "codepoint": "F0F00", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "50F3F396-4286-4D09-B726-4F626649BC04", - "baseIconId": "50F3F396-4286-4D09-B726-4F626649BC04", - "name": "image-filter-center-focus-weak", - "codepoint": "F02F2", - "aliases": [ - "image-filter-centre-focus-weak" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "882F82B8-EDF8-4F1A-A6BA-9C6DAEDBB259", - "baseIconId": "882F82B8-EDF8-4F1A-A6BA-9C6DAEDBB259", - "name": "image-filter-drama", - "codepoint": "F02F3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography", - "Nature", - "Cloud" - ], - "author": "Google" - }, - { - "id": "D4F6DC2A-643B-4690-8E0A-BF56C4585BC4", - "baseIconId": "882F82B8-EDF8-4F1A-A6BA-9C6DAEDBB259", - "name": "image-filter-drama-outline", - "codepoint": "F1BFF", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Photography", - "Nature", - "Cloud" - ], - "author": "Google" - }, - { - "id": "8EC8847F-E96F-4D14-BF88-F4BE47856865", - "baseIconId": "8EC8847F-E96F-4D14-BF88-F4BE47856865", - "name": "image-filter-frames", - "codepoint": "F02F4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "999CF81E-71B7-48E1-8B8F-70FDE391F647", - "baseIconId": "999CF81E-71B7-48E1-8B8F-70FDE391F647", - "name": "image-filter-hdr", - "codepoint": "F02F5", - "aliases": [ - "mountain", - "landscape" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography", - "Nature" - ], - "author": "Google" - }, - { - "id": "45B91FE5-E3A6-44A3-B89E-5AE492BE231A", - "baseIconId": "999CF81E-71B7-48E1-8B8F-70FDE391F647", - "name": "image-filter-hdr-outline", - "codepoint": "F1C64", - "aliases": [ - "mountain-outline", - "landscape-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Photography", - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "56164312-7555-4017-8A1A-48954BE7F7C5", - "baseIconId": "BCCF75AE-F73D-4B7A-BDFD-9E767DED0B28", - "name": "image-filter-none", - "codepoint": "F02F6", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "368537EA-9261-4097-A1FA-D33EE48A7D59", - "baseIconId": "368537EA-9261-4097-A1FA-D33EE48A7D59", - "name": "image-filter-tilt-shift", - "codepoint": "F02F7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "0E6F8B1C-14D2-4A98-9414-FFC4B2146748", - "baseIconId": "0E6F8B1C-14D2-4A98-9414-FFC4B2146748", - "name": "image-filter-vintage", - "codepoint": "F02F8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography", - "Nature" - ], - "author": "Google" - }, - { - "id": "27E31ADA-EF15-4A4E-A17A-45F4C032256F", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-frame", - "codepoint": "F0E49", - "aliases": [ - "hallway", - "foyer", - "entry-room" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "77796DB4-93FF-45E6-AC26-AE74713E6758", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-lock", - "codepoint": "F1AB0", - "aliases": [ - "image-secure" - ], - "styles": [ - "lock" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Lock", - "Photography" - ], - "author": "Simran" - }, - { - "id": "1F5591F3-542A-4369-9F1B-721E54C513B2", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-lock-outline", - "codepoint": "F1AB1", - "aliases": [ - "image-secure-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Photography", - "Lock" - ], - "author": "Simran" - }, - { - "id": "39EFA2D6-FC32-491C-8ABE-384AA47B94D3", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-marker", - "codepoint": "F177B", - "aliases": [ - "image-location" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "754F7051-3979-499F-B7E6-9513619D7609", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-marker-outline", - "codepoint": "F177C", - "aliases": [ - "image-location-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "ED40AC55-00BA-4086-8906-1FA1EDA65839", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-minus", - "codepoint": "F1419", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "293B433C-5A31-4802-9516-6CF1D649158A", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-minus-outline", - "codepoint": "F1B47", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4E0C0467-BF17-4C60-8834-4627DE6D79D5", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-move", - "codepoint": "F09F8", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E7CA4672-9863-4015-B3C5-D2C8DEBD2F2F", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-multiple", - "codepoint": "F02F9", - "aliases": [ - "collections", - "photo-library", - "images" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BCCF75AE-F73D-4B7A-BDFD-9E767DED0B28", - "baseIconId": "BCCF75AE-F73D-4B7A-BDFD-9E767DED0B28", - "name": "image-multiple-outline", - "codepoint": "F02EF", - "aliases": [ - "image-filter", - "images-outline" - ], - "styles": [ - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "73924BC5-DB17-49B2-BB88-E40C1E45E010", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-off", - "codepoint": "F082B", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "8C0E595D-8D0E-4D1E-8E62-850DB25103B3", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-off-outline", - "codepoint": "F11D1", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "F6A782BB-5FAB-4FC4-A61B-A0F399A0A5AC", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-outline", - "codepoint": "F0976", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "8D6FECF2-E4C4-4858-81E2-502104BE2E55", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-plus", - "codepoint": "F087C", - "aliases": [ - "image-add" - ], - "styles": [ - "plus" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "EAB45270-C25D-4493-A71B-9268CC7D2E88", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-plus-outline", - "codepoint": "F1B46", - "aliases": [ - "image-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F91A5FFA-04D3-40A5-AFD1-C7F79D1CE20D", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-refresh", - "codepoint": "F19FE", - "aliases": [], - "styles": [ - "refresh" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Colton Wiscombe" - }, - { - "id": "243DB52F-654F-488F-86DB-BD7EA47B3BA8", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-refresh-outline", - "codepoint": "F19FF", - "aliases": [], - "styles": [ - "outline", - "refresh" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Colton Wiscombe" - }, - { - "id": "95B5A056-E7FE-4C3F-95A6-1E826DD80076", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-remove", - "codepoint": "F1418", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "BC17E5CC-2CF0-4BB8-B467-2672A62E9CCA", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-remove-outline", - "codepoint": "F1B48", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F00F5E5A-AD8A-440B-9B31-00D266A538A8", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-search", - "codepoint": "F0977", - "aliases": [], - "styles": [ - "search" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A36A87C1-E35B-4BCA-AD53-700F6F937EE8", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-search-outline", - "codepoint": "F0978", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "84644CCB-31DB-471C-AF2C-6E8AD1DE94CA", - "baseIconId": "84644CCB-31DB-471C-AF2C-6E8AD1DE94CA", - "name": "image-size-select-actual", - "codepoint": "F0C8D", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "58C0E0A5-F760-4893-99C4-3C1E92DBC6DB", - "baseIconId": "84644CCB-31DB-471C-AF2C-6E8AD1DE94CA", - "name": "image-size-select-large", - "codepoint": "F0C8E", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A0771C0A-E46B-4985-98D8-C6EC748D03A2", - "baseIconId": "84644CCB-31DB-471C-AF2C-6E8AD1DE94CA", - "name": "image-size-select-small", - "codepoint": "F0C8F", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8597FAE8-2093-48A1-8B87-9717D9AB968B", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-sync", - "codepoint": "F1A00", - "aliases": [], - "styles": [ - "sync" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DB8F481F-1215-4093-8B6F-C50C34C93A4C", - "baseIconId": "3238BA72-FEE8-4C90-A440-AD701359A7BC", - "name": "image-sync-outline", - "codepoint": "F1A01", - "aliases": [], - "styles": [ - "outline", - "sync" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E404BB7C-724B-4390-9DE4-D08DA29B151A", - "baseIconId": "E404BB7C-724B-4390-9DE4-D08DA29B151A", - "name": "image-text", - "codepoint": "F160D", - "aliases": [ - "image-description" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FB8BEE36-EF77-4820-92B3-5B4C4291D751", - "baseIconId": "FB8BEE36-EF77-4820-92B3-5B4C4291D751", - "name": "import", - "codepoint": "F02FA", - "aliases": [ - "input" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox", - "codepoint": "F0687", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A20D1ABC-DD99-404B-8BEE-967BB1C636B0", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-arrow-down", - "codepoint": "F02FB", - "aliases": [ - "move-to-inbox" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B7B431BB-E448-47F4-A7DC-03CCCA93C3D1", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-arrow-down-outline", - "codepoint": "F1270", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "5317ED5A-9D37-4C50-AA7D-83491547D214", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-arrow-up", - "codepoint": "F03D1", - "aliases": [ - "move-from-inbox" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B84765D3-091A-483D-A788-C0269238CF6D", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-arrow-up-outline", - "codepoint": "F1271", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "1CB38744-AE8F-4B42-ACED-10749BBF81F5", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-full", - "codepoint": "F1272", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BD7DE99A-F6EC-46CF-BE18-8371E6BCD9CA", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-full-outline", - "codepoint": "F1273", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6FF18A17-48D4-4173-9CBD-8DB77F5A6E2A", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-multiple", - "codepoint": "F08B0", - "aliases": [ - "inboxes" - ], - "styles": [ - "multiple" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AA22D582-9319-4AB0-BBF8-08824D7605B8", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-multiple-outline", - "codepoint": "F0BA8", - "aliases": [ - "inboxes-outline" - ], - "styles": [ - "multiple", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7082C01E-4FF9-489E-BD05-53140FCD382A", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-outline", - "codepoint": "F1274", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2166DBC6-19EC-4A1D-BE92-8366CEE53B8F", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-remove", - "codepoint": "F159F", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Terren" - }, - { - "id": "628C4376-372F-4880-875B-DE838A6B4B70", - "baseIconId": "4DDB79C2-C3AE-41DC-B560-AFBF3F689E86", - "name": "inbox-remove-outline", - "codepoint": "F15A0", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Terren" - }, - { - "id": "1350E7BA-9354-4F62-9B21-0238E3DF4D81", - "baseIconId": "1350E7BA-9354-4F62-9B21-0238E3DF4D81", - "name": "incognito", - "codepoint": "F05F9", - "aliases": [ - "anonymous", - "spy" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Christopher Schreiner" - }, - { - "id": "80DE3C45-2A19-412F-9FA2-DCFB853F60ED", - "baseIconId": "1350E7BA-9354-4F62-9B21-0238E3DF4D81", - "name": "incognito-circle", - "codepoint": "F1421", - "aliases": [ - "anonymous-circle", - "spy-circle" - ], - "styles": [ - "circle" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3F362E64-C60F-416B-834D-E5C2A88ED23F", - "baseIconId": "1350E7BA-9354-4F62-9B21-0238E3DF4D81", - "name": "incognito-circle-off", - "codepoint": "F1422", - "aliases": [ - "anonymous-circle-off", - "spy-circle-off" - ], - "styles": [ - "circle", - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "26B94EEC-5090-4DF4-99FC-C4A90830720A", - "baseIconId": "1350E7BA-9354-4F62-9B21-0238E3DF4D81", - "name": "incognito-off", - "codepoint": "F0075", - "aliases": [ - "spy-off", - "anonymous-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "nilsfast" - }, - { - "id": "9B626C0C-73AD-4209-BEB6-70AE9BA4D1FF", - "baseIconId": "9B626C0C-73AD-4209-BEB6-70AE9BA4D1FF", - "name": "induction", - "codepoint": "F184C", - "aliases": [ - "ignition" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8C4EBD04-376D-41AC-86D3-2BBDD56768C7", - "baseIconId": "8C4EBD04-376D-41AC-86D3-2BBDD56768C7", - "name": "infinity", - "codepoint": "F06E4", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information", - "codepoint": "F02FC", - "aliases": [ - "about", - "information-circle", - "info-circle", - "about-circle", - "info" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "7B6B57AD-05FF-4D58-ADC5-EE9E2DAF5D53", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-box", - "codepoint": "F1C65", - "aliases": [ - "info-box" - ], - "styles": [ - "box" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "AAB1D0C8-033F-4C5F-8ACD-6620947D9858", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-box-outline", - "codepoint": "F1C66", - "aliases": [ - "info-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "68E3EA61-207C-444B-9CC5-8A7016D9953C", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-off", - "codepoint": "F178C", - "aliases": [ - "info-off", - "info-circle-off", - "information-circle-off" - ], - "styles": [ - "circle", - "off" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "25B8EEBF-60AA-422C-8E9C-E8D6004E9614", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-off-outline", - "codepoint": "F178D", - "aliases": [ - "info-circle-off-outline", - "information-circle-off-outline", - "information-off-outline", - "info-off-outline" - ], - "styles": [ - "circle", - "off", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F7C01A96-16E0-44C0-A261-2CF22D056A7F", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-outline", - "codepoint": "F02FD", - "aliases": [ - "info-outline", - "about-outline", - "information-circle-outline", - "info-circle-outline", - "about-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "5E1C3338-5309-4631-A9A9-9D41E4CEC8A7", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-slab-box", - "codepoint": "F1C67", - "aliases": [ - "info-slab-box" - ], - "styles": [ - "box", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "996F0E18-7078-44A0-A0DC-F2A829210F07", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-slab-box-outline", - "codepoint": "F1C68", - "aliases": [ - "info-slab-box-outline" - ], - "styles": [ - "box", - "outline", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "7AF3BC52-D506-4CCB-A813-A7785CFD6524", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-slab-circle", - "codepoint": "F1C69", - "aliases": [ - "info-slab-circle" - ], - "styles": [ - "circle", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "0A06A44E-09F4-491E-B221-24E401CA3DDB", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-slab-circle-outline", - "codepoint": "F1C6A", - "aliases": [ - "info-slab-circle-outline" - ], - "styles": [ - "circle", - "outline", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "ACA42E0C-6EEF-47B6-8824-FD916C58E87F", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-slab-symbol", - "codepoint": "F1C6B", - "aliases": [ - "info-slab-symbol" - ], - "styles": [ - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "EAA6E06D-B798-4198-BF74-3B31F564A807", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-symbol", - "codepoint": "F1C6C", - "aliases": [ - "info-symbol" - ], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "D991D5FA-BD60-48E1-979D-A103D005725A", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-variant", - "codepoint": "F064E", - "aliases": [ - "info-variant", - "about-variant", - "information-serif-symbol", - "info-variant-symbol" - ], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A146B034-84AF-47AD-BA0F-C2D779C95356", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-variant-box", - "codepoint": "F1C6D", - "aliases": [ - "info-variant-box", - "information-serif-box", - "info-serif-box" - ], - "styles": [ - "box", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "4D7338FF-73D3-49EC-A9A8-070039557830", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-variant-box-outline", - "codepoint": "F1C6E", - "aliases": [ - "info-variant-box-outline", - "information-serif-box-outline", - "info-serif-box-outline" - ], - "styles": [ - "box", - "outline", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "5569AF9F-4D90-4D8B-91B3-EBBCFD5644AB", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-variant-circle", - "codepoint": "F1C6F", - "aliases": [ - "information-serif-circle", - "info-serif-circle", - "info-variant-circle" - ], - "styles": [ - "circle", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "1100F1C0-2FFF-49ED-99C3-AE0A2F0ECFF7", - "baseIconId": "2BC4A4B6-119B-4637-BF3D-1FB9394E1F38", - "name": "information-variant-circle-outline", - "codepoint": "F1C70", - "aliases": [ - "information-serif-circle-outline", - "info-variant-circle-outline", - "info-serif-circle-outline" - ], - "styles": [ - "circle", - "outline", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Jeff Anders" - }, - { - "id": "2AA07220-461B-4070-AA95-17DEFE501444", - "baseIconId": "2AA07220-461B-4070-AA95-17DEFE501444", - "name": "instagram", - "codepoint": "F02FE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7A8E4735-E738-4ECE-8386-889694014C22", - "baseIconId": "7A8E4735-E738-4ECE-8386-889694014C22", - "name": "instrument-triangle", - "codepoint": "F104E", - "aliases": [ - "dinner-bell" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D9D79C34-BE5A-4EA2-BB40-07E941C1632B", - "baseIconId": "D9D79C34-BE5A-4EA2-BB40-07E941C1632B", - "name": "integrated-circuit-chip", - "codepoint": "F1913", - "aliases": [ - "icc", - "chip" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "2B0100AC-D0EB-4B85-A9AB-EB921C9A65AC", - "baseIconId": "2B0100AC-D0EB-4B85-A9AB-EB921C9A65AC", - "name": "invert-colors", - "codepoint": "F0301", - "aliases": [ - "invert-colours" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Color" - ], - "author": "Google" - }, - { - "id": "B3F155FA-57B1-4781-AC45-98A1A47673DC", - "baseIconId": "2B0100AC-D0EB-4B85-A9AB-EB921C9A65AC", - "name": "invert-colors-off", - "codepoint": "F0E4A", - "aliases": [ - "invert-colours-off" - ], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Color" - ], - "author": "Google" - }, - { - "id": "A360D72F-7DC7-4E24-B7F0-1856C918CB8A", - "baseIconId": "A360D72F-7DC7-4E24-B7F0-1856C918CB8A", - "name": "iobroker", - "codepoint": "F12E8", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "4560EF32-158B-40B1-829E-A078219A808A", - "baseIconId": "4560EF32-158B-40B1-829E-A078219A808A", - "name": "ip", - "codepoint": "F0A5F", - "aliases": [ - "internet-protocol" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "54CCA164-149B-4050-9747-529EF134460A", - "baseIconId": "4560EF32-158B-40B1-829E-A078219A808A", - "name": "ip-network", - "codepoint": "F0A60", - "aliases": [], - "styles": [ - "network" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BB20E65D-DA61-4A5E-8B2E-52CB92DE3771", - "baseIconId": "4560EF32-158B-40B1-829E-A078219A808A", - "name": "ip-network-outline", - "codepoint": "F0C90", - "aliases": [], - "styles": [ - "network", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C251F57E-6443-4109-A61E-2F98D6609A47", - "baseIconId": "4560EF32-158B-40B1-829E-A078219A808A", - "name": "ip-outline", - "codepoint": "F1982", - "aliases": [ - "internet-protocol-outline" - ], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "63BFCC93-117D-45ED-8E42-4019C6D7B970", - "baseIconId": "63BFCC93-117D-45ED-8E42-4019C6D7B970", - "name": "ipod", - "codepoint": "F0C91", - "aliases": [ - "apple-ipod" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "43DA7407-CFBA-44CE-9857-D75DF5581CE2", - "baseIconId": "43DA7407-CFBA-44CE-9857-D75DF5581CE2", - "name": "iron", - "codepoint": "F1824", - "aliases": [ - "flatiron", - "smoothing-iron" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Clothing" - ], - "author": "Google" - }, - { - "id": "60A790B9-4A75-4778-98A4-84C46B827924", - "baseIconId": "60A790B9-4A75-4778-98A4-84C46B827924", - "name": "iron-board", - "codepoint": "F1838", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Clothing" - ], - "author": "Colton Wiscombe" - }, - { - "id": "82FEA1DA-69DE-436E-9D68-9116ADBE7D9B", - "baseIconId": "43DA7407-CFBA-44CE-9857-D75DF5581CE2", - "name": "iron-outline", - "codepoint": "F1825", - "aliases": [ - "flatiron-outline", - "smoothing-iron-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Clothing" - ], - "author": "Google" - }, - { - "id": "A39024B8-5991-409C-8E68-DC9562D52F86", - "baseIconId": "A39024B8-5991-409C-8E68-DC9562D52F86", - "name": "island", - "codepoint": "F104F", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0921F3AE-3BFF-4913-BB68-CB48587D14E4", - "baseIconId": "0921F3AE-3BFF-4913-BB68-CB48587D14E4", - "name": "iv-bag", - "codepoint": "F10B9", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5F75012D-D248-4275-B274-6D6AB3B95F3B", - "baseIconId": "5F75012D-D248-4275-B274-6D6AB3B95F3B", - "name": "jabber", - "codepoint": "F0DD5", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2C0278A5-D43D-4B8B-8870-878BEAF6BE17", - "baseIconId": "2C0278A5-D43D-4B8B-8870-878BEAF6BE17", - "name": "jeepney", - "codepoint": "F0302", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "2F73C05F-4D6E-49B3-B41B-BCDA372E1774", - "baseIconId": "2F73C05F-4D6E-49B3-B41B-BCDA372E1774", - "name": "jellyfish", - "codepoint": "F0F01", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Simran" - }, - { - "id": "4F49A0D7-8E63-411E-97E0-7CA054831A38", - "baseIconId": "2F73C05F-4D6E-49B3-B41B-BCDA372E1774", - "name": "jellyfish-outline", - "codepoint": "F0F02", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Simran" - }, - { - "id": "2F0CB359-6C54-4723-9E8D-94481F0A8E30", - "baseIconId": "2F0CB359-6C54-4723-9E8D-94481F0A8E30", - "name": "jira", - "codepoint": "F0303", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "3A14C142-9D2F-44BC-882E-333745FACAA3", - "baseIconId": "3A14C142-9D2F-44BC-882E-333745FACAA3", - "name": "jquery", - "codepoint": "F087D", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "B6B10BEF-B1E3-43D7-AAAA-85566157B30B", - "baseIconId": "B6B10BEF-B1E3-43D7-AAAA-85566157B30B", - "name": "jsfiddle", - "codepoint": "F0304", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "FC2D912E-451A-4AE8-8399-67F116ED12D9", - "baseIconId": "FC2D912E-451A-4AE8-8399-67F116ED12D9", - "name": "jump-rope", - "codepoint": "F12FF", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "24CB8442-6875-4A22-A265-0C625118C7E7", - "baseIconId": "24CB8442-6875-4A22-A265-0C625118C7E7", - "name": "kabaddi", - "codepoint": "F0D87", - "aliases": [ - "wrestling", - "human-kabaddi" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "70EC6F3B-31E9-4F1A-8E48-408CEB706FB8", - "baseIconId": "70EC6F3B-31E9-4F1A-8E48-408CEB706FB8", - "name": "kangaroo", - "codepoint": "F1558", - "aliases": [ - "marsupial" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "85144563-B019-4B8A-AB76-3DE0797D517E", - "baseIconId": "85144563-B019-4B8A-AB76-3DE0797D517E", - "name": "karate", - "codepoint": "F082C", - "aliases": [ - "martial-arts", - "kickboxing", - "human-karate" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "21C7383B-5839-4F3E-A4EC-81A9980F531B", - "baseIconId": "21C7383B-5839-4F3E-A4EC-81A9980F531B", - "name": "kayaking", - "codepoint": "F08AF", - "aliases": [ - "human-kayaking" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "EEF9C07A-019A-49B4-805D-0DF8601F09DF", - "baseIconId": "EEF9C07A-019A-49B4-805D-0DF8601F09DF", - "name": "keg", - "codepoint": "F0305", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "C4476901-9B29-410C-BCA7-67814F5421B4", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle", - "codepoint": "F05FA", - "aliases": [ - "tea-kettle", - "kettle-full", - "tea-kettle-full" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "123DA4E5-7243-4495-8CE4-2CDA32A65C01", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle-alert", - "codepoint": "F1317", - "aliases": [ - "tea-kettle-alert", - "kettle-full-alert", - "tea-kettle-full-alert" - ], - "styles": [ - "alert" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4F1F1AC0-68D1-4C74-8F03-DF6EBC2C8B29", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle-alert-outline", - "codepoint": "F1318", - "aliases": [ - "tea-kettle-alert-outline", - "kettle-empty-alert", - "tea-kettle-empty-alert" - ], - "styles": [ - "alert", - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A28C7FA8-2D3A-482A-ADC8-46391CF201E1", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle-off", - "codepoint": "F131B", - "aliases": [ - "tea-kettle-off", - "tea-kettle-full-off", - "kettle-full-off" - ], - "styles": [ - "off" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "15C6F7FE-65D4-4116-AF5C-7A171407E460", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle-off-outline", - "codepoint": "F131C", - "aliases": [ - "tea-kettle-off-outline", - "kettle-empty-off", - "tea-kettle-empty-off" - ], - "styles": [ - "off", - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FCE0A2B1-414F-4E9F-AF73-F878AE890F38", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle-outline", - "codepoint": "F0F56", - "aliases": [ - "tea-kettle-outline", - "kettle-empty", - "tea-kettle-empty" - ], - "styles": [ - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Home Automation" - ], - "author": "Nick" - }, - { - "id": "30064882-D796-4A8E-8BD1-CAED8C9A49DA", - "baseIconId": "30064882-D796-4A8E-8BD1-CAED8C9A49DA", - "name": "kettle-pour-over", - "codepoint": "F173C", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "nilsfast" - }, - { - "id": "B976C4B0-D50C-49ED-B072-CD8E8A38A4AF", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle-steam", - "codepoint": "F1319", - "aliases": [ - "tea-kettle-steam", - "kettle-full-steam", - "tea-kettle-full-steam" - ], - "styles": [ - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6D9BDFFF-63EE-45DE-A6F5-712B0EE12534", - "baseIconId": "C4476901-9B29-410C-BCA7-67814F5421B4", - "name": "kettle-steam-outline", - "codepoint": "F131A", - "aliases": [ - "tea-kettle-steam-outline", - "kettle-empty-steam", - "tea-kettle-empty-steam" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E3220479-E885-4EDD-9678-E60F670DFBAA", - "baseIconId": "E3220479-E885-4EDD-9678-E60F670DFBAA", - "name": "kettlebell", - "codepoint": "F1300", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D6208581-CF7F-438A-8578-B6ADEE462212", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key", - "codepoint": "F0306", - "aliases": [ - "vpn-key" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Google" - }, - { - "id": "62432542-54AA-42CB-B866-EFF80DDEB97C", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-alert", - "codepoint": "F1983", - "aliases": [], - "styles": [ - "alert" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1038F818-4017-42DB-A290-6FD069D3989C", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-alert-outline", - "codepoint": "F1984", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7A79C7BB-6669-46CA-8AB0-E3B537D83EA2", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-arrow-right", - "codepoint": "F1312", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "80B6B5A5-0FE3-4CA0-924C-05311090832D", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-chain", - "codepoint": "F1574", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Automotive", - "Home Automation" - ], - "author": "Mateo Silguero" - }, - { - "id": "01B0561A-56B4-4215-A811-1572D35331F6", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-chain-variant", - "codepoint": "F1575", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Automotive", - "Home Automation" - ], - "author": "Mateo Silguero" - }, - { - "id": "FEEA71CA-4810-46DD-B459-6D9327720D17", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-change", - "codepoint": "F0307", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "08C0F709-4E1C-4BFD-8CC6-BC12FE5CDD9B", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-link", - "codepoint": "F119F", - "aliases": [ - "foreign-key", - "sql-foreign-key" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Haley Halcyon" - }, - { - "id": "F58302B9-82F4-46AC-9A60-4640CFCE33B2", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-minus", - "codepoint": "F0308", - "aliases": [], - "styles": [ - "minus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "83238148-C76D-4C83-904D-911A9E9C2715", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-outline", - "codepoint": "F0DD6", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "000AAEC6-5E6C-40F4-B589-AE85920E7EC2", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-plus", - "codepoint": "F0309", - "aliases": [ - "key-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5A1609F7-424E-417F-B1C4-7EDA3051A4BA", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-remove", - "codepoint": "F030A", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7C312A2D-A502-4F06-89D4-0783EADC3B3F", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-star", - "codepoint": "F119E", - "aliases": [ - "primary-key", - "sql-primary-key", - "key-favorite" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Haley Halcyon" - }, - { - "id": "967692C3-B061-425E-A0E4-FF1F580275E5", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-variant", - "codepoint": "F030B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "196889AF-CD00-44BC-BAD3-932B936E4EAE", - "baseIconId": "D6208581-CF7F-438A-8578-B6ADEE462212", - "name": "key-wireless", - "codepoint": "F0FC2", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard", - "codepoint": "F030C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "21C8B558-8398-43E8-A79A-8BA99BE693D6", - "baseIconId": "21C8B558-8398-43E8-A79A-8BA99BE693D6", - "name": "keyboard-backspace", - "codepoint": "F030D", - "aliases": [ - "keyboard-clear", - "keyboard-erase" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0F441009-7A1F-45BF-A239-B9591B0A5404", - "baseIconId": "0F441009-7A1F-45BF-A239-B9591B0A5404", - "name": "keyboard-caps", - "codepoint": "F030E", - "aliases": [ - "keyboard-capslock" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8545C0A1-5625-422F-AF38-624FB54237D3", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-close", - "codepoint": "F030F", - "aliases": [ - "keyboard-hide" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "6F1662E0-9571-4412-9075-6982D2636788", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-close-outline", - "codepoint": "F1C00", - "aliases": [ - "keyboard-hide-outline" - ], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "mpardieck" - }, - { - "id": "3EB07099-2309-466E-8BC0-EA835C273E37", - "baseIconId": "3EB07099-2309-466E-8BC0-EA835C273E37", - "name": "keyboard-esc", - "codepoint": "F12B7", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "512A5D44-18A8-4644-AA17-E8E026E0F1B0", - "baseIconId": "512A5D44-18A8-4644-AA17-E8E026E0F1B0", - "name": "keyboard-f1", - "codepoint": "F12AB", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "29296B9C-9A28-4F04-A2AD-550CB1EC89E1", - "baseIconId": "29296B9C-9A28-4F04-A2AD-550CB1EC89E1", - "name": "keyboard-f10", - "codepoint": "F12B4", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "DDF92650-C04B-4826-BD5A-FB12B06F7E6E", - "baseIconId": "DDF92650-C04B-4826-BD5A-FB12B06F7E6E", - "name": "keyboard-f11", - "codepoint": "F12B5", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7C97B45E-8039-41C4-A188-A21475A4FB3F", - "baseIconId": "7C97B45E-8039-41C4-A188-A21475A4FB3F", - "name": "keyboard-f12", - "codepoint": "F12B6", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3DFC5B29-C785-4D97-A04D-E63FAD987C25", - "baseIconId": "3DFC5B29-C785-4D97-A04D-E63FAD987C25", - "name": "keyboard-f2", - "codepoint": "F12AC", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7776F4B4-2F61-47FF-83F5-A768239E3F80", - "baseIconId": "7776F4B4-2F61-47FF-83F5-A768239E3F80", - "name": "keyboard-f3", - "codepoint": "F12AD", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C227FD26-6801-4545-AC74-66C63B56807A", - "baseIconId": "C227FD26-6801-4545-AC74-66C63B56807A", - "name": "keyboard-f4", - "codepoint": "F12AE", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C50601AF-7AD6-4677-B8B3-181B978613A8", - "baseIconId": "C50601AF-7AD6-4677-B8B3-181B978613A8", - "name": "keyboard-f5", - "codepoint": "F12AF", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9B4318C8-A2CC-43A9-8706-C9D3DDF33D5E", - "baseIconId": "9B4318C8-A2CC-43A9-8706-C9D3DDF33D5E", - "name": "keyboard-f6", - "codepoint": "F12B0", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "DDE4A6E4-BDE8-4E63-8F77-E3D06BF29BF1", - "baseIconId": "DDE4A6E4-BDE8-4E63-8F77-E3D06BF29BF1", - "name": "keyboard-f7", - "codepoint": "F12B1", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3392982E-1464-49EF-B22F-EE0FBA421D4E", - "baseIconId": "3392982E-1464-49EF-B22F-EE0FBA421D4E", - "name": "keyboard-f8", - "codepoint": "F12B2", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "BBFF3508-533C-4378-B9FC-60EC20CAB214", - "baseIconId": "BBFF3508-533C-4378-B9FC-60EC20CAB214", - "name": "keyboard-f9", - "codepoint": "F12B3", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "A7DFF78C-C6DD-4BB6-BBFA-A88242516A74", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-off", - "codepoint": "F0310", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4DC89B68-BD60-4D89-BD32-F15C0CFCEF79", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-off-outline", - "codepoint": "F0E4B", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6E751B9F-72AD-4554-8C62-24E457B80FDB", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-outline", - "codepoint": "F097B", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7816CE91-EBD1-4136-8523-CF47F677F4C6", - "baseIconId": "7816CE91-EBD1-4136-8523-CF47F677F4C6", - "name": "keyboard-return", - "codepoint": "F0311", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4894BA3C-C713-4ACA-9918-1AF74B5E5427", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-settings", - "codepoint": "F09F9", - "aliases": [], - "styles": [ - "settings" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "7D765BD9-7B7E-4288-89E5-4A74E72E1083", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-settings-outline", - "codepoint": "F09FA", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "803E5E8E-04C6-41E1-9EE0-B8C3C723D507", - "baseIconId": "803E5E8E-04C6-41E1-9EE0-B8C3C723D507", - "name": "keyboard-space", - "codepoint": "F1050", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D7C0D37A-BF75-4542-8AFF-614FA0EC498C", - "baseIconId": "D7C0D37A-BF75-4542-8AFF-614FA0EC498C", - "name": "keyboard-tab", - "codepoint": "F0312", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CFF782E5-F36B-4F80-B105-68E6B4B91C64", - "baseIconId": "D7C0D37A-BF75-4542-8AFF-614FA0EC498C", - "name": "keyboard-tab-reverse", - "codepoint": "F0325", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BCAA42FF-BF36-42D8-B8FD-5DE2968162D8", - "baseIconId": "520C8488-DD34-43E1-AEA0-A188B2DE6B01", - "name": "keyboard-variant", - "codepoint": "F0313", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "8F5B2685-A656-45ED-89C2-032E76322358", - "baseIconId": "8F5B2685-A656-45ED-89C2-032E76322358", - "name": "khanda", - "codepoint": "F10FD", - "aliases": [ - "sikh" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D881D589-79F0-4255-B050-13E396293D1F", - "baseIconId": "D881D589-79F0-4255-B050-13E396293D1F", - "name": "kickstarter", - "codepoint": "F0745", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "8B89609E-5F12-4A3B-99AE-F6698FEA48E4", - "baseIconId": "8B89609E-5F12-4A3B-99AE-F6698FEA48E4", - "name": "kite", - "codepoint": "F1985", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "C95E036C-B786-490E-B7A7-9704E049DCE1", - "baseIconId": "8B89609E-5F12-4A3B-99AE-F6698FEA48E4", - "name": "kite-outline", - "codepoint": "F1986", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "2B23BD24-9796-4D72-85CC-76BE23854F0F", - "baseIconId": "2B23BD24-9796-4D72-85CC-76BE23854F0F", - "name": "kitesurfing", - "codepoint": "F1744", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1A131BAA-CFEE-41F3-9B15-01A4A9F1B341", - "baseIconId": "1A131BAA-CFEE-41F3-9B15-01A4A9F1B341", - "name": "klingon", - "codepoint": "F135B", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "AF35DB46-1B52-4721-8475-F3CD107325B4", - "baseIconId": "AF35DB46-1B52-4721-8475-F3CD107325B4", - "name": "knife", - "codepoint": "F09FB", - "aliases": [ - "silverware-knife", - "cutlery-knife" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Augustin Ursu" - }, - { - "id": "D31C18C1-776C-4444-9A12-F2BD366CF929", - "baseIconId": "AF35DB46-1B52-4721-8475-F3CD107325B4", - "name": "knife-military", - "codepoint": "F09FC", - "aliases": [ - "dagger" - ], - "styles": [ - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Simran" - }, - { - "id": "BF72875E-F657-4469-B7B6-CC8116EC20D1", - "baseIconId": "BF72875E-F657-4469-B7B6-CC8116EC20D1", - "name": "knob", - "codepoint": "F1B96", - "aliases": [ - "volume-knob", - "volume-control", - "dial", - "tuner", - "switch", - "adjuster" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Michael Irigoyen" - }, - { - "id": "180CACBF-4272-4D07-B9A0-63A5625DCB0C", - "baseIconId": "180CACBF-4272-4D07-B9A0-63A5625DCB0C", - "name": "koala", - "codepoint": "F173F", - "aliases": [ - "marsupial", - "emoji-koala", - "emoticon-koala" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Claire Casaregola" - }, - { - "id": "AD953D07-5F33-439B-895F-7AD5615EA14A", - "baseIconId": "AD953D07-5F33-439B-895F-7AD5615EA14A", - "name": "kodi", - "codepoint": "F0314", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9823C48B-5D2E-4058-9836-F2C6DCACAB71", - "baseIconId": "9823C48B-5D2E-4058-9836-F2C6DCACAB71", - "name": "kubernetes", - "codepoint": "F10FE", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label", - "codepoint": "F0315", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9373446C-95C3-4160-9CBC-FF1DEF5C9F28", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-multiple", - "codepoint": "F1375", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "nilsfast" - }, - { - "id": "D504ED4D-5F02-4501-A223-59BF2D4CD9EB", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-multiple-outline", - "codepoint": "F1376", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "nilsfast" - }, - { - "id": "BCBB111E-0DF2-4498-831D-E547AE9EE0FB", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-off", - "codepoint": "F0ACB", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "94A3D797-3936-4FBE-A6B5-6C88934B40BD", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-off-outline", - "codepoint": "F0ACC", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "91C2FA0C-2273-42F9-ACBF-BD418B8F970D", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-outline", - "codepoint": "F0316", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "62FCE66D-4003-4B22-8C47-501947EA4CC8", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-percent", - "codepoint": "F12EA", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7EBE7C17-4905-43F9-A084-0756FBB3905D", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-percent-outline", - "codepoint": "F12EB", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3A54255E-EDE1-4622-87F4-9FCB31B1B688", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-variant", - "codepoint": "F0ACD", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "75106002-9EFE-4771-8B68-C60B60589C42", - "baseIconId": "C749E06B-E75E-4D9B-97A6-47E9399D01FC", - "name": "label-variant-outline", - "codepoint": "F0ACE", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F2C62DAD-9011-4495-B542-87407FFB7EA1", - "baseIconId": "F2C62DAD-9011-4495-B542-87407FFB7EA1", - "name": "ladder", - "codepoint": "F15A2", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "97AFF594-E421-4757-BE72-1D6C428E27AE", - "baseIconId": "97AFF594-E421-4757-BE72-1D6C428E27AE", - "name": "ladybug", - "codepoint": "F082D", - "aliases": [ - "bugfood", - "ladybird" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "1815038E-B466-4F5F-91D9-9D03DDA6A9DA", - "baseIconId": "1815038E-B466-4F5F-91D9-9D03DDA6A9DA", - "name": "lambda", - "codepoint": "F0627", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "A39CC0FD-32DA-4AB2-8483-9E4C4F03D220", - "baseIconId": "A39CC0FD-32DA-4AB2-8483-9E4C4F03D220", - "name": "lamp", - "codepoint": "F06B5", - "aliases": [], - "styles": [], - "version": "1.7.22", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "F2FF97D8-A51F-4F32-A18A-6A14437EF5CC", - "baseIconId": "A39CC0FD-32DA-4AB2-8483-9E4C4F03D220", - "name": "lamp-outline", - "codepoint": "F17D0", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9AC5919E-2271-42D0-A5FA-ACB9BE022547", - "baseIconId": "A39CC0FD-32DA-4AB2-8483-9E4C4F03D220", - "name": "lamps", - "codepoint": "F1576", - "aliases": [ - "lights" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7BDA9890-697C-4E97-A604-D34803DAAD39", - "baseIconId": "A39CC0FD-32DA-4AB2-8483-9E4C4F03D220", - "name": "lamps-outline", - "codepoint": "F17D1", - "aliases": [ - "lights-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A20B1B0B-DC60-4ED1-A7E6-F390BA31D613", - "baseIconId": "A20B1B0B-DC60-4ED1-A7E6-F390BA31D613", - "name": "lan", - "codepoint": "F0317", - "aliases": [ - "local-area-network" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "9DF15E25-DE45-4D9B-8E3B-EA6D643EA0CC", - "baseIconId": "A20B1B0B-DC60-4ED1-A7E6-F390BA31D613", - "name": "lan-check", - "codepoint": "F12AA", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B52D6944-3AC2-4113-A91C-199C0CD577A6", - "baseIconId": "A20B1B0B-DC60-4ED1-A7E6-F390BA31D613", - "name": "lan-connect", - "codepoint": "F0318", - "aliases": [ - "local-area-network-connect" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "10DCD7DC-998B-4631-B8A6-A0D8C93412A3", - "baseIconId": "A20B1B0B-DC60-4ED1-A7E6-F390BA31D613", - "name": "lan-disconnect", - "codepoint": "F0319", - "aliases": [ - "local-area-network-disconnect" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "B5E302E3-DF81-430E-AAE0-4CAF44AFAD00", - "baseIconId": "A20B1B0B-DC60-4ED1-A7E6-F390BA31D613", - "name": "lan-pending", - "codepoint": "F031A", - "aliases": [ - "local-area-network-pending" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A06B998D-336F-4FDC-A0C8-04BD7AE6AAB3", - "baseIconId": "A06B998D-336F-4FDC-A0C8-04BD7AE6AAB3", - "name": "land-fields", - "codepoint": "F1AB2", - "aliases": [], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "B6AD150F-5C19-421E-9A2A-D3F43F38D440", - "baseIconId": "B6AD150F-5C19-421E-9A2A-D3F43F38D440", - "name": "land-plots", - "codepoint": "F1AB3", - "aliases": [], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "9D236600-B0B0-41E8-9F93-91F0E97B3C81", - "baseIconId": "B6AD150F-5C19-421E-9A2A-D3F43F38D440", - "name": "land-plots-circle", - "codepoint": "F1AB4", - "aliases": [], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "B2285EFF-7160-43A7-8037-B3C1F96987D0", - "baseIconId": "B6AD150F-5C19-421E-9A2A-D3F43F38D440", - "name": "land-plots-circle-variant", - "codepoint": "F1AB5", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "C0C79B16-C79F-430E-9C4F-6342B86421FB", - "baseIconId": "B6AD150F-5C19-421E-9A2A-D3F43F38D440", - "name": "land-plots-marker", - "codepoint": "F1C5D", - "aliases": [], - "styles": [ - "marker" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "6D69ADDA-D5A1-47F9-9597-D4529C893789", - "baseIconId": "6D69ADDA-D5A1-47F9-9597-D4529C893789", - "name": "land-rows-horizontal", - "codepoint": "F1AB6", - "aliases": [], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "0CE60AA4-FF6E-4899-AE30-830BD1E4F898", - "baseIconId": "0CE60AA4-FF6E-4899-AE30-830BD1E4F898", - "name": "land-rows-vertical", - "codepoint": "F1AB7", - "aliases": [], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "AD048AA5-6C71-49DF-B5B2-427F634C3538", - "baseIconId": "AD048AA5-6C71-49DF-B5B2-427F634C3538", - "name": "landslide", - "codepoint": "F1A48", - "aliases": [ - "avalanche", - "mudslide" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "847329AA-B841-48A2-9700-6363FA219184", - "baseIconId": "AD048AA5-6C71-49DF-B5B2-427F634C3538", - "name": "landslide-outline", - "codepoint": "F1A49", - "aliases": [ - "avalanche-outline", - "mudslide-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "082F25B3-8413-4CC7-B908-8BBD40BB32D8", - "baseIconId": "082F25B3-8413-4CC7-B908-8BBD40BB32D8", - "name": "language-c", - "codepoint": "F0671", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "74446CD2-562D-44E7-AAC1-62D4CCDB9F43", - "baseIconId": "74446CD2-562D-44E7-AAC1-62D4CCDB9F43", - "name": "language-cpp", - "codepoint": "F0672", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "EFF1E516-3470-456C-AC79-0F9C82C79391", - "baseIconId": "EFF1E516-3470-456C-AC79-0F9C82C79391", - "name": "language-csharp", - "codepoint": "F031B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "DA72E30D-C562-4E93-B8C8-CAFA686A1D23", - "baseIconId": "DA72E30D-C562-4E93-B8C8-CAFA686A1D23", - "name": "language-css3", - "codepoint": "F031C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "F1DEF74B-8116-4E0E-98BE-97A699812E5A", - "baseIconId": "F1DEF74B-8116-4E0E-98BE-97A699812E5A", - "name": "language-fortran", - "codepoint": "F121A", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "ACAFCF05-E04D-4212-AB53-C72BD8DB5768", - "baseIconId": "ACAFCF05-E04D-4212-AB53-C72BD8DB5768", - "name": "language-go", - "codepoint": "F07D3", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "87E5CF33-FA30-4CCA-8FAD-AAD3D7C17904", - "baseIconId": "87E5CF33-FA30-4CCA-8FAD-AAD3D7C17904", - "name": "language-haskell", - "codepoint": "F0C92", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "98D9A5A1-626A-4273-B895-4C838936613C", - "baseIconId": "98D9A5A1-626A-4273-B895-4C838936613C", - "name": "language-html5", - "codepoint": "F031D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "CF5C2532-318B-4866-B8CE-319601ADD95E", - "baseIconId": "CF5C2532-318B-4866-B8CE-319601ADD95E", - "name": "language-java", - "codepoint": "F0B37", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9D3ED5EB-8951-4E75-A623-EEF618ED4172", - "baseIconId": "9D3ED5EB-8951-4E75-A623-EEF618ED4172", - "name": "language-javascript", - "codepoint": "F031E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D3EC3384-B91D-46C9-8D43-7D333DB2273D", - "baseIconId": "D3EC3384-B91D-46C9-8D43-7D333DB2273D", - "name": "language-kotlin", - "codepoint": "F1219", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "0B0DE3A6-7ED1-497C-BAF4-CDAA3F9713C9", - "baseIconId": "0B0DE3A6-7ED1-497C-BAF4-CDAA3F9713C9", - "name": "language-lua", - "codepoint": "F08B1", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "42875A08-46EC-4077-95A9-86D16888F2D4", - "baseIconId": "42875A08-46EC-4077-95A9-86D16888F2D4", - "name": "language-markdown", - "codepoint": "F0354", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Austin Andrews" - }, - { - "id": "A8970A35-C4F5-452B-B8CA-13BACF5C29F5", - "baseIconId": "42875A08-46EC-4077-95A9-86D16888F2D4", - "name": "language-markdown-outline", - "codepoint": "F0F5B", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2A153653-6727-4DE1-95DC-AC6801A7DC01", - "baseIconId": "2A153653-6727-4DE1-95DC-AC6801A7DC01", - "name": "language-php", - "codepoint": "F031F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "4E453C2B-40D4-4D60-8EAF-750091283FAC", - "baseIconId": "4E453C2B-40D4-4D60-8EAF-750091283FAC", - "name": "language-python", - "codepoint": "F0320", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Austin Andrews" - }, - { - "id": "2F197131-0666-4F07-8BDE-B6FB3C4BB39B", - "baseIconId": "2F197131-0666-4F07-8BDE-B6FB3C4BB39B", - "name": "language-r", - "codepoint": "F07D4", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2BC47DF3-B959-44C0-BE1A-8D1EB0B18FEF", - "baseIconId": "2BC47DF3-B959-44C0-BE1A-8D1EB0B18FEF", - "name": "language-ruby", - "codepoint": "F0D2D", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6898147E-618C-4A16-A06B-5270C63AAB2B", - "baseIconId": "6898147E-618C-4A16-A06B-5270C63AAB2B", - "name": "language-ruby-on-rails", - "codepoint": "F0ACF", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D88C59AC-3310-4AA7-8432-BFA51BF2DCE4", - "baseIconId": "D88C59AC-3310-4AA7-8432-BFA51BF2DCE4", - "name": "language-rust", - "codepoint": "F1617", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9F060254-CB0B-4DD9-87C5-BADAE8F2F8C4", - "baseIconId": "9F060254-CB0B-4DD9-87C5-BADAE8F2F8C4", - "name": "language-swift", - "codepoint": "F06E5", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "BFE7B3A3-4B61-4583-B22D-395E1FCE1A07", - "baseIconId": "BFE7B3A3-4B61-4583-B22D-395E1FCE1A07", - "name": "language-typescript", - "codepoint": "F06E6", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "1AC4596D-76B2-4F11-AF23-157736CABB86", - "baseIconId": "1AC4596D-76B2-4F11-AF23-157736CABB86", - "name": "language-xaml", - "codepoint": "F0673", - "aliases": [ - "xaml", - "microsoft-xaml" - ], - "styles": [], - "version": "1.6.50", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A8B6481F-EE91-4F90-81AC-DEB8A096F45A", - "baseIconId": "A8B6481F-EE91-4F90-81AC-DEB8A096F45A", - "name": "laptop", - "codepoint": "F0322", - "aliases": [ - "computer" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "63808048-CB00-41F6-AE66-3CB683197A9E", - "baseIconId": "A8B6481F-EE91-4F90-81AC-DEB8A096F45A", - "name": "laptop-account", - "codepoint": "F1A4A", - "aliases": [ - "teleconference", - "virtual-meeting", - "video-chat" - ], - "styles": [ - "account" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Account \/ User", - "Device \/ Tech" - ], - "author": "John Brissette" - }, - { - "id": "C9A08F85-B996-498D-ADDC-20A9B77B5489", - "baseIconId": "A8B6481F-EE91-4F90-81AC-DEB8A096F45A", - "name": "laptop-off", - "codepoint": "F06E7", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Michael Richins" - }, - { - "id": "B8CF1F73-D020-43C3-83CB-34DB20820628", - "baseIconId": "B8CF1F73-D020-43C3-83CB-34DB20820628", - "name": "laravel", - "codepoint": "F0AD0", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D202901C-7C33-48DF-925A-BB3506158E99", - "baseIconId": "D202901C-7C33-48DF-925A-BB3506158E99", - "name": "laser-pointer", - "codepoint": "F1484", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5A1E325C-36BD-4BAC-BF4F-E349D9016B28", - "baseIconId": "5A1E325C-36BD-4BAC-BF4F-E349D9016B28", - "name": "lasso", - "codepoint": "F0F03", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Louistwee" - }, - { - "id": "65AC32C4-911E-4005-8BD1-663AE0000988", - "baseIconId": "65AC32C4-911E-4005-8BD1-663AE0000988", - "name": "lastpass", - "codepoint": "F0446", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "E72ED7A1-8133-4E0F-8EC6-28F053DF51B1", - "baseIconId": "E72ED7A1-8133-4E0F-8EC6-28F053DF51B1", - "name": "latitude", - "codepoint": "F0F57", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Richins" - }, - { - "id": "ED8AF9CE-E555-49C9-8E7E-F9B85CD94CDF", - "baseIconId": "ED8AF9CE-E555-49C9-8E7E-F9B85CD94CDF", - "name": "launch", - "codepoint": "F0327", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B1E2F856-253B-465C-861A-40C5C7D6C8DB", - "baseIconId": "B1E2F856-253B-465C-861A-40C5C7D6C8DB", - "name": "lava-lamp", - "codepoint": "F07D5", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "36A9B462-C487-458E-BFB6-2415739BC968", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers", - "codepoint": "F0328", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "D091B0C7-B40D-4F9B-836A-CCA680354ACE", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-edit", - "codepoint": "F1892", - "aliases": [], - "styles": [ - "edit" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Edit \/ Modify" - ], - "author": "ButchMonkey" - }, - { - "id": "E72B7CB5-1A02-49C0-AC64-DF2559F026F1", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-minus", - "codepoint": "F0E4C", - "aliases": [], - "styles": [ - "minus" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "1ADB303D-B8D9-49EF-8EB0-C02AFD269F02", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-off", - "codepoint": "F0329", - "aliases": [ - "layers-clear" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "FAC5EA16-5C62-49FA-8BE4-7D797604A425", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-off-outline", - "codepoint": "F09FD", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "9026C3EC-9903-40FE-B3DF-EDB7FE10191A", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-outline", - "codepoint": "F09FE", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "74FE9D86-D461-4C92-8981-E5A67954D6FA", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-plus", - "codepoint": "F0E4D", - "aliases": [], - "styles": [ - "plus" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "4FE9D22C-A632-4B2E-8257-D6789764B1F6", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-remove", - "codepoint": "F0E4E", - "aliases": [], - "styles": [ - "remove" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "8502BBC1-8C93-4D63-97C6-1BA163C1DDC0", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-search", - "codepoint": "F1206", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6EC54CC3-3FAD-4692-B123-9FA5A8F3D80E", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-search-outline", - "codepoint": "F1207", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E13ACA71-A398-4E3F-A1DF-ED7E4A1E1A84", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-triple", - "codepoint": "F0F58", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "B5AC4711-8218-4B94-9372-628616C5CBD8", - "baseIconId": "36A9B462-C487-458E-BFB6-2415739BC968", - "name": "layers-triple-outline", - "codepoint": "F0F59", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "5EB00CD5-91CA-438E-B569-2D680E6102D6", - "baseIconId": "5EB00CD5-91CA-438E-B569-2D680E6102D6", - "name": "lead-pencil", - "codepoint": "F064F", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "30AC82B4-6073-462B-B63E-0F64706AAC2F", - "baseIconId": "30AC82B4-6073-462B-B63E-0F64706AAC2F", - "name": "leaf", - "codepoint": "F032A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Nature", - "Food \/ Drink", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "30A6559D-F917-44DE-B7C7-9C1AB4DD8BD4", - "baseIconId": "30AC82B4-6073-462B-B63E-0F64706AAC2F", - "name": "leaf-circle", - "codepoint": "F1905", - "aliases": [ - "green-circle", - "organic" - ], - "styles": [ - "circle" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "C480BC5A-402E-46EB-B913-51AFA64FA26E", - "baseIconId": "30AC82B4-6073-462B-B63E-0F64706AAC2F", - "name": "leaf-circle-outline", - "codepoint": "F1906", - "aliases": [ - "green-circle-outline", - "organic-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "C7FF59F8-8D2F-4866-B8D3-27ED83C324F0", - "baseIconId": "30AC82B4-6073-462B-B63E-0F64706AAC2F", - "name": "leaf-maple", - "codepoint": "F0C93", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Michael Richins" - }, - { - "id": "D1DE0E7A-928A-430D-BD2B-B80C9FA2D2F4", - "baseIconId": "30AC82B4-6073-462B-B63E-0F64706AAC2F", - "name": "leaf-maple-off", - "codepoint": "F12DA", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Michael Irigoyen" - }, - { - "id": "96F48C59-4C64-4584-9E07-73AAD3533FAA", - "baseIconId": "30AC82B4-6073-462B-B63E-0F64706AAC2F", - "name": "leaf-off", - "codepoint": "F12D9", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Nature", - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D648ECFA-B185-4041-8B54-6D1C125CD08E", - "baseIconId": "D648ECFA-B185-4041-8B54-6D1C125CD08E", - "name": "leak", - "codepoint": "F0DD7", - "aliases": [ - "proximity-sensor" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EDA0BABB-A354-481B-8E60-108E3B20D64C", - "baseIconId": "D648ECFA-B185-4041-8B54-6D1C125CD08E", - "name": "leak-off", - "codepoint": "F0DD8", - "aliases": [ - "proximity-sensor-off" - ], - "styles": [ - "off" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8EBB4944-6CD1-40E3-A5B7-6962BD23C0E6", - "baseIconId": "8EBB4944-6CD1-40E3-A5B7-6962BD23C0E6", - "name": "lectern", - "codepoint": "F1AF0", - "aliases": [ - "podium", - "dais", - "rostrum", - "lecturn" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8A29D85F-1BAD-4610-AF2F-B4AF0F0D2755", - "baseIconId": "9929F712-7241-468C-B10B-5739356EC85C", - "name": "led-off", - "codepoint": "F032B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "5DACA128-6BEE-424D-83BA-8C94E01F5C0A", - "baseIconId": "9929F712-7241-468C-B10B-5739356EC85C", - "name": "led-on", - "codepoint": "F032C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "423F2C55-8E79-441A-A987-45A97FAA3F53", - "baseIconId": "9929F712-7241-468C-B10B-5739356EC85C", - "name": "led-outline", - "codepoint": "F032D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "F301BDB9-027C-40D0-A21F-3111A7AB218F", - "baseIconId": "F301BDB9-027C-40D0-A21F-3111A7AB218F", - "name": "led-strip", - "codepoint": "F07D6", - "aliases": [ - "light-strip" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "E4D78AC1-63FD-4BF0-89CD-91D80CCAAE40", - "baseIconId": "F301BDB9-027C-40D0-A21F-3111A7AB218F", - "name": "led-strip-variant", - "codepoint": "F1051", - "aliases": [ - "light-strip-variant" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Borre Haugen" - }, - { - "id": "6EAFDD56-E5C5-459A-B31A-0BAC693931E0", - "baseIconId": "F301BDB9-027C-40D0-A21F-3111A7AB218F", - "name": "led-strip-variant-off", - "codepoint": "F1A4B", - "aliases": [ - "light-strip-variant-off" - ], - "styles": [ - "off", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BBDD4244-D5C9-4150-9936-31C775AA463F", - "baseIconId": "9929F712-7241-468C-B10B-5739356EC85C", - "name": "led-variant-off", - "codepoint": "F032E", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "9929F712-7241-468C-B10B-5739356EC85C", - "baseIconId": "9929F712-7241-468C-B10B-5739356EC85C", - "name": "led-variant-on", - "codepoint": "F032F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "AEACBB35-5466-4C5B-8AA5-B366D0322A27", - "baseIconId": "9929F712-7241-468C-B10B-5739356EC85C", - "name": "led-variant-outline", - "codepoint": "F0330", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "48662A59-F777-4513-9023-17D826B11F5C", - "baseIconId": "48662A59-F777-4513-9023-17D826B11F5C", - "name": "leek", - "codepoint": "F117D", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "098E9BF3-3E1F-43E3-ACFF-2D35123A3186", - "baseIconId": "098E9BF3-3E1F-43E3-ACFF-2D35123A3186", - "name": "less-than", - "codepoint": "F097C", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "9CA22101-6F3D-4EE1-B9F1-C64CE0EFC911", - "baseIconId": "9CA22101-6F3D-4EE1-B9F1-C64CE0EFC911", - "name": "less-than-or-equal", - "codepoint": "F097D", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "45FA5A9C-DFF1-4D7E-B683-DB7DE2BAEFC7", - "baseIconId": "45FA5A9C-DFF1-4D7E-B683-DB7DE2BAEFC7", - "name": "library", - "codepoint": "F0331", - "aliases": [ - "local-library" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Google" - }, - { - "id": "1A100B37-6238-49F0-81EB-05FDE23DAA3E", - "baseIconId": "45FA5A9C-DFF1-4D7E-B683-DB7DE2BAEFC7", - "name": "library-outline", - "codepoint": "F1A22", - "aliases": [ - "local-library-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Jeff Anders" - }, - { - "id": "282A591C-4D91-4AAF-B401-00F3AE4B73F2", - "baseIconId": "282A591C-4D91-4AAF-B401-00F3AE4B73F2", - "name": "library-shelves", - "codepoint": "F0BA9", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8398466C-F905-444F-81E6-B5B2103BD873", - "baseIconId": "8398466C-F905-444F-81E6-B5B2103BD873", - "name": "license", - "codepoint": "F0FC3", - "aliases": [ - "ribbon", - "prize", - "award", - "seal" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7936EB1E-FCE1-4501-A339-C5EB7E4301E9", - "baseIconId": "7936EB1E-FCE1-4501-A339-C5EB7E4301E9", - "name": "lifebuoy", - "codepoint": "F087E", - "aliases": [ - "life-preserver", - "support", - "help", - "overboard" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Transportation + Water" - ], - "author": "Simran" - }, - { - "id": "25729A2F-D0FA-4C82-AEEC-3A771EB4D12A", - "baseIconId": "25729A2F-D0FA-4C82-AEEC-3A771EB4D12A", - "name": "light-flood-down", - "codepoint": "F1987", - "aliases": [ - "floodlight-down" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Tim Grelka" - }, - { - "id": "9CE460EF-B246-4833-AF6D-B6ACB2A1E9A8", - "baseIconId": "9CE460EF-B246-4833-AF6D-B6ACB2A1E9A8", - "name": "light-flood-up", - "codepoint": "F1988", - "aliases": [ - "floodlight-up" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Tim Grelka" - }, - { - "id": "F309BA75-39A7-45AC-9B1A-22D1F7D41345", - "baseIconId": "F309BA75-39A7-45AC-9B1A-22D1F7D41345", - "name": "light-recessed", - "codepoint": "F179B", - "aliases": [ - "can-light", - "pot-light", - "high-hat-light", - "hi-hat-light", - "downlight" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "647E0001-A60B-4D74-B127-BF522712922F", - "baseIconId": "647E0001-A60B-4D74-B127-BF522712922F", - "name": "light-switch", - "codepoint": "F097E", - "aliases": [ - "toggle-switch", - "rocker-switch" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Matthias de Baat" - }, - { - "id": "39A7777B-C9F7-4468-95B0-FE0037A635E9", - "baseIconId": "647E0001-A60B-4D74-B127-BF522712922F", - "name": "light-switch-off", - "codepoint": "F1A24", - "aliases": [ - "toggle-switch-off", - "rocker-switch-off" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Matthias de Baat" - }, - { - "id": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb", - "codepoint": "F0335", - "aliases": [ - "idea", - "bulb" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "1FED2710-D8D6-41FC-9318-51A23EDD13CF", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-alert", - "codepoint": "F19E1", - "aliases": [ - "lightbulb-error" - ], - "styles": [ - "alert" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AC5BBA36-C64C-4E2F-B0E9-2B35A4D9FFE8", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-alert-outline", - "codepoint": "F19E2", - "aliases": [ - "lightbulb-error-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DB38FD91-5875-4D53-81A9-A0B5400D53AE", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-auto", - "codepoint": "F1800", - "aliases": [ - "lightbulb-automatic", - "lightbulb-motion" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "34AE1531-6F13-40A5-8E15-ABDD1227DB19", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-auto-outline", - "codepoint": "F1801", - "aliases": [ - "lightbulb-automatic-outline", - "lightbulb-motion-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7D6FF098-D459-4B89-A13C-C9145A1EB992", - "baseIconId": "7D6FF098-D459-4B89-A13C-C9145A1EB992", - "name": "lightbulb-cfl", - "codepoint": "F1208", - "aliases": [ - "bulb-cfl" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "9E3FA5DD-7C93-4283-A7BD-30AE71ACD2C6", - "baseIconId": "7D6FF098-D459-4B89-A13C-C9145A1EB992", - "name": "lightbulb-cfl-off", - "codepoint": "F1209", - "aliases": [ - "bulb-cfl-off" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0F61D2EB-5321-4D49-B9DD-4F205DA010A2", - "baseIconId": "7D6FF098-D459-4B89-A13C-C9145A1EB992", - "name": "lightbulb-cfl-spiral", - "codepoint": "F1275", - "aliases": [ - "bulb-cfl-spiral" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "undearius" - }, - { - "id": "49D60773-F400-491A-AD3F-B50110089F63", - "baseIconId": "7D6FF098-D459-4B89-A13C-C9145A1EB992", - "name": "lightbulb-cfl-spiral-off", - "codepoint": "F12C3", - "aliases": [ - "bulb-cfl-spiral-off" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "43164D2A-705D-4D6E-9195-E2D559E493B1", - "baseIconId": "43164D2A-705D-4D6E-9195-E2D559E493B1", - "name": "lightbulb-fluorescent-tube", - "codepoint": "F1804", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "5D974435-3D3A-4BE6-8422-AD3F6E908BD7", - "baseIconId": "43164D2A-705D-4D6E-9195-E2D559E493B1", - "name": "lightbulb-fluorescent-tube-outline", - "codepoint": "F1805", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "DB267C0E-F298-4380-99C8-E18FA8E06554", - "baseIconId": "DB267C0E-F298-4380-99C8-E18FA8E06554", - "name": "lightbulb-group", - "codepoint": "F1253", - "aliases": [ - "bulb-group" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "CA2B5020-40AD-44C1-8868-F14927FCD535", - "baseIconId": "DB267C0E-F298-4380-99C8-E18FA8E06554", - "name": "lightbulb-group-off", - "codepoint": "F12CD", - "aliases": [ - "bulb-group-off" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "54E68537-16C8-48C4-82F8-4A1000DA605D", - "baseIconId": "DB267C0E-F298-4380-99C8-E18FA8E06554", - "name": "lightbulb-group-off-outline", - "codepoint": "F12CE", - "aliases": [ - "bulb-group-off-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C4751630-A657-4A0B-89C5-6FD3037A8CD6", - "baseIconId": "DB267C0E-F298-4380-99C8-E18FA8E06554", - "name": "lightbulb-group-outline", - "codepoint": "F1254", - "aliases": [ - "bulb-group-outline" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "33D321D2-E427-469E-9646-D5758B4D5038", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-multiple", - "codepoint": "F1255", - "aliases": [ - "lightbulbs", - "bulb-multiple", - "bulbs" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "B336C5E4-48AB-4620-9DA4-DB1144885F7C", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-multiple-off", - "codepoint": "F12CF", - "aliases": [ - "lightbulbs-off", - "bulb-multiple-off", - "bulbs-off" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "827B8418-9667-4429-A4D3-7C0553D1946E", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-multiple-off-outline", - "codepoint": "F12D0", - "aliases": [ - "lightbulbs-off-outline", - "bulb-multiple-off-outline", - "bulbs-off-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7AAEC297-D587-4D13-9397-50C8C93B48C8", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-multiple-outline", - "codepoint": "F1256", - "aliases": [ - "lightbulbs-outline", - "bulb-multiple-outline", - "bulbs-outline" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "E544DBA9-FBF4-4563-82BB-2D6F37788E2F", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-night", - "codepoint": "F1A4C", - "aliases": [ - "night-light", - "nite-light", - "lightbulb-moon-star" - ], - "styles": [ - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2C6EE261-B451-4F1F-A260-D34AA0EB341A", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-night-outline", - "codepoint": "F1A4D", - "aliases": [ - "night-light-outline", - "nite-light-outline", - "lightbulb-moon-star-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "14D09F5A-C467-428B-9C5A-F2B3939D1678", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-off", - "codepoint": "F0E4F", - "aliases": [ - "bulb-off" - ], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "02757DC7-3D66-4244-B115-C69A74D24B66", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-off-outline", - "codepoint": "F0E50", - "aliases": [ - "bulb-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "4B3F67C4-02C3-4083-B47A-645AD24992FA", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on", - "codepoint": "F06E8", - "aliases": [ - "idea", - "bulb-on", - "lightbulb-dimmer-100" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "5AF7B110-A35F-437B-B4F2-5DAED54DE86F", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-10", - "codepoint": "F1A4E", - "aliases": [ - "lightbulb-dimmer-10" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "00B793C1-0C24-417A-8332-EAECCB47021D", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-20", - "codepoint": "F1A4F", - "aliases": [ - "lightbulb-dimmer-20" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F0353E04-7AA3-4C04-981B-FE96F8659B23", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-30", - "codepoint": "F1A50", - "aliases": [ - "lightbulb-dimmer-30" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D0ADCBE7-2C7B-4A9F-A20B-F094AE655227", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-40", - "codepoint": "F1A51", - "aliases": [ - "lightbulb-dimmer-40" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5E462F24-AED9-49A6-ACAE-6137F79179D3", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-50", - "codepoint": "F1A52", - "aliases": [ - "lightbulb-dimmer-50" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A2914A9E-96D7-4B17-9340-8194656F4201", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-60", - "codepoint": "F1A53", - "aliases": [ - "lightbulb-dimmer-60" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "20E12565-5814-472B-8F9D-B37296DF345E", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-70", - "codepoint": "F1A54", - "aliases": [ - "lightbulb-dimmer-70" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F3C06B83-1208-4E69-A039-692D4B870B5A", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-80", - "codepoint": "F1A55", - "aliases": [ - "lightbulb-dimmer-80" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "33D9D6A7-250C-46B6-9FD2-81A6477CC8EC", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-90", - "codepoint": "F1A56", - "aliases": [ - "lightbulb-dimmer-90" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1FDA626F-5858-43AE-92A0-9CCE7168F08F", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-on-outline", - "codepoint": "F06E9", - "aliases": [ - "idea", - "bulb-on-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "BF6C3B65-0795-43E0-B373-058414FDD485", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-outline", - "codepoint": "F0336", - "aliases": [ - "idea", - "bulb-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "CB600C6A-E43E-4723-A8F0-963222692C23", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-question", - "codepoint": "F19E3", - "aliases": [ - "lightbulb-help" - ], - "styles": [ - "question" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8EFBF4AB-73DD-41EC-BF3C-2503A5BDF93E", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-question-outline", - "codepoint": "F19E4", - "aliases": [ - "lightbulb-help-outline" - ], - "styles": [ - "outline", - "question" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2D6C2BB9-CF5E-4BD1-A44B-262F2A61FAC2", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-spot", - "codepoint": "F17F4", - "aliases": [ - "lightbulb-halogen", - "lightbulb-gu10" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "A4DF4624-753B-440B-98C9-A25EE330B0AE", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-spot-off", - "codepoint": "F17F5", - "aliases": [ - "lightbulb-halogen-off", - "lightbulb-gu10-off" - ], - "styles": [ - "off", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "52A21A41-EC71-4807-BE6B-CF5ED8BBAD10", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-variant", - "codepoint": "F1802", - "aliases": [ - "lightbulb-edison", - "lightbulb-filament" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "70DD894F-1717-4C05-9C34-D7CE1ACF36CC", - "baseIconId": "ECC94305-DFA6-4D9B-85C8-CC79F3F05FB5", - "name": "lightbulb-variant-outline", - "codepoint": "F1803", - "aliases": [ - "lightbulb-edison-outline", - "lightbulb-filament-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "95534506-8ECD-49B3-9F87-64D52CC874BA", - "baseIconId": "95534506-8ECD-49B3-9F87-64D52CC874BA", - "name": "lighthouse", - "codepoint": "F09FF", - "aliases": [ - "beacon" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "85B287CF-D036-4E36-934F-B6FA28892D9C", - "baseIconId": "95534506-8ECD-49B3-9F87-64D52CC874BA", - "name": "lighthouse-on", - "codepoint": "F0A00", - "aliases": [ - "beacon" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A4A9C031-02B0-45C7-B9C8-EA1541DB9A38", - "baseIconId": "A4A9C031-02B0-45C7-B9C8-EA1541DB9A38", - "name": "lightning-bolt", - "codepoint": "F140B", - "aliases": [ - "thunder", - "storm", - "energy", - "electricity" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Brooke Clifton" - }, - { - "id": "F055DA49-5992-4DDC-8C71-E5D331520DEA", - "baseIconId": "A4A9C031-02B0-45C7-B9C8-EA1541DB9A38", - "name": "lightning-bolt-circle", - "codepoint": "F0820", - "aliases": [ - "amp", - "offline-bolt", - "flash-circle", - "electricity-circle", - "energy-circle", - "thunder-circle", - "storm-circle" - ], - "styles": [ - "circle" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Google" - }, - { - "id": "908D1C1F-8D3A-4316-8CF5-ABDF16747DA1", - "baseIconId": "A4A9C031-02B0-45C7-B9C8-EA1541DB9A38", - "name": "lightning-bolt-outline", - "codepoint": "F140C", - "aliases": [ - "thunder-outline", - "storm-outline", - "energy-outline", - "electricity-outline" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Brooke Clifton" - }, - { - "id": "A19711E4-E339-4016-970B-F81D14B303AC", - "baseIconId": "C74BA4DC-A838-471E-AA2D-A5C2D0B74BF3", - "name": "line-scan", - "codepoint": "F0624", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "TheSnowfield" - }, - { - "id": "F718A4A1-9D7B-45E5-B0AD-50FDA06BA3C3", - "baseIconId": "F718A4A1-9D7B-45E5-B0AD-50FDA06BA3C3", - "name": "lingerie", - "codepoint": "F1476", - "aliases": [ - "underwear", - "bra", - "panties" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Kristian Mohl" - }, - { - "id": "462769C2-0A30-4B31-B66C-55168B10D705", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link", - "codepoint": "F0337", - "aliases": [ - "insert-link" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A1FC74FE-BCA4-447F-AA0D-837A8E33C945", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-box", - "codepoint": "F0D1A", - "aliases": [], - "styles": [ - "box" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7CBB0F91-4D15-414D-8623-EB84F13AFA75", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-box-outline", - "codepoint": "F0D1B", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "76AB74B7-D753-4AE9-9FDD-5A0C2B8AB823", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-box-variant", - "codepoint": "F0D1C", - "aliases": [], - "styles": [ - "box" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8BEB1816-449A-43E8-8A08-0030E1D4DB93", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-box-variant-outline", - "codepoint": "F0D1D", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CDEA2CC8-FD08-49E6-AC29-A5DD70956C35", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-lock", - "codepoint": "F10BA", - "aliases": [ - "block-chain" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "0DACA19D-EFEB-4D22-BE20-9E8FB8C1BBEB", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-off", - "codepoint": "F0338", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0436D77E-F53E-4A1E-A402-916D7D90A1BE", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-plus", - "codepoint": "F0C94", - "aliases": [ - "link-add" - ], - "styles": [ - "plus" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4D09DDBE-9716-4162-9DA9-B50892241E15", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-variant", - "codepoint": "F0339", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1D8C8A91-65E7-4FED-B4C6-C29550080C43", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-variant-minus", - "codepoint": "F10FF", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BC8F07E8-9157-49BB-B8DF-CCCDB19C5467", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-variant-off", - "codepoint": "F033A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9132A003-2D40-49A6-9D8B-F2AD2EC98788", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-variant-plus", - "codepoint": "F1100", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E1733CFB-12E3-436F-A0EC-F75AE38BAEDB", - "baseIconId": "462769C2-0A30-4B31-B66C-55168B10D705", - "name": "link-variant-remove", - "codepoint": "F1101", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "248F9A0F-7732-4FC9-8E64-2E4B47BBFDCD", - "baseIconId": "248F9A0F-7732-4FC9-8E64-2E4B47BBFDCD", - "name": "linkedin", - "codepoint": "F033B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Social Media" - ], - "author": "Contributors" - }, - { - "id": "A58FE3A3-BC2C-48A4-8146-0D15F1B80128", - "baseIconId": "A58FE3A3-BC2C-48A4-8146-0D15F1B80128", - "name": "linux", - "codepoint": "F033D", - "aliases": [ - "tux" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Animal", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "608E356A-A5F0-4992-BE8D-E99CCC533FC7", - "baseIconId": "608E356A-A5F0-4992-BE8D-E99CCC533FC7", - "name": "linux-mint", - "codepoint": "F08ED", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "95390315-999E-4E82-8D89-CDF89AE6478F", - "baseIconId": "95390315-999E-4E82-8D89-CDF89AE6478F", - "name": "lipstick", - "codepoint": "F13B5", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Health \/ Beauty" - ], - "author": "iiiiiiines" - }, - { - "id": "BAB8D475-0C50-46EB-9B05-8101442C4F33", - "baseIconId": "BAB8D475-0C50-46EB-9B05-8101442C4F33", - "name": "liquid-spot", - "codepoint": "F1826", - "aliases": [ - "ink-spot", - "puddle", - "water", - "blood", - "spill", - "oil", - "dirty" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Automotive", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "48C6596F-07B5-495C-82E2-683B09DD7040", - "baseIconId": "48C6596F-07B5-495C-82E2-683B09DD7040", - "name": "liquor", - "codepoint": "F191E", - "aliases": [ - "booze", - "alcohol", - "beverages", - "whiskey", - "rum", - "wine", - "tequila", - "beer", - "spirits" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "E1277D63-636E-479A-974A-83901A84A8F0", - "baseIconId": "4AA98685-EEBB-4816-801E-3B12DCB4413F", - "name": "list-box", - "codepoint": "F1B7B", - "aliases": [ - "form" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "3EE285E0-8234-4B20-BFD4-B82AEA64EA57", - "baseIconId": "4AA98685-EEBB-4816-801E-3B12DCB4413F", - "name": "list-box-outline", - "codepoint": "F1B7C", - "aliases": [ - "form-outline" - ], - "styles": [ - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "CC9CEDB3-55DE-4CCA-B31F-888383F6C69E", - "baseIconId": "CC9CEDB3-55DE-4CCA-B31F-888383F6C69E", - "name": "list-status", - "codepoint": "F15AB", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "1EB3C314-463F-488D-9DC6-3589C661984E", - "baseIconId": "1EB3C314-463F-488D-9DC6-3589C661984E", - "name": "litecoin", - "codepoint": "F0A61", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": true, - "tags": [ - "Banking", - "Brand \/ Logo", - "Currency" - ], - "author": "Contributors" - }, - { - "id": "205A2FF1-8827-4D3D-8580-FF7FFCD5232C", - "baseIconId": "205A2FF1-8827-4D3D-8580-FF7FFCD5232C", - "name": "loading", - "codepoint": "F0772", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Kateryna Porshnieva" - }, - { - "id": "2D8B2899-C765-48CF-9AEA-64327CB14542", - "baseIconId": "2D8B2899-C765-48CF-9AEA-64327CB14542", - "name": "location-enter", - "codepoint": "F0FC4", - "aliases": [ - "presence-enter" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "83A1C782-63D7-476B-8A6D-A694F29AE3A9", - "baseIconId": "83A1C782-63D7-476B-8A6D-A694F29AE3A9", - "name": "location-exit", - "codepoint": "F0FC5", - "aliases": [ - "presence-exit" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock", - "codepoint": "F033E", - "aliases": [ - "https", - "password", - "secure", - "protected", - "encryption" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "6AFF2FDC-D4F8-41F6-8B80-908D1AB87424", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-alert", - "codepoint": "F08EE", - "aliases": [ - "lock-warning", - "password-alert", - "encryption-alert", - "password-warning", - "encryption-warning" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Lock", - "Alert \/ Error", - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "6DE0B795-B0C1-4CFC-A47E-0D1C3A203248", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-alert-outline", - "codepoint": "F15D1", - "aliases": [ - "lock-warning-outline", - "password-alert-outline", - "encryption-alert-outline", - "password-warning-outline", - "encryption-warning-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CA254138-2001-4A37-8D52-E65D608E0E10", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-check", - "codepoint": "F139A", - "aliases": [ - "password-check", - "password-secure", - "encryption-check", - "encryption-secure", - "password-verified", - "encryption-verified" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "4A17CD48-4EFA-41A5-9A40-4BF9C01F2B18", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-check-outline", - "codepoint": "F16A8", - "aliases": [ - "password-check-outline", - "password-secure-outline", - "encryption-check-outline", - "encryption-secure-outline", - "password-verified-outline", - "encryption-verified-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C16C2563-9EA4-4545-9CF4-56C5EA9FD9F9", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-clock", - "codepoint": "F097F", - "aliases": [ - "confidential-mode", - "password-clock", - "password-expiration", - "encryption-expiration" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Lock", - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "1C00C37C-183D-41D7-ACEF-18ACFF70DE80", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-minus", - "codepoint": "F16A9", - "aliases": [ - "password-minus", - "encryption-minus" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "073A5F44-B5D1-4112-AD20-1F86F94ADF60", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-minus-outline", - "codepoint": "F16AA", - "aliases": [ - "password-minus-outline", - "encryption-minus" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "481E2C2A-E70D-4323-867E-5632966B9555", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-off", - "codepoint": "F1671", - "aliases": [ - "password-off", - "not-protected", - "unsecure", - "encryption-off" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AAC1BB51-BA46-4FB6-B901-F602E7C55351", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-off-outline", - "codepoint": "F1672", - "aliases": [ - "password-off-outline", - "unsecure-outline", - "not-protected-outline", - "encryption-off-outline" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E357D5CD-7E42-463B-899A-7D7B038A3E31", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open", - "codepoint": "F033F", - "aliases": [ - "unlocked", - "decrypted" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "D8707612-8DFB-4F83-9FAE-2058254A651F", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-alert", - "codepoint": "F139B", - "aliases": [ - "unlocked-alert", - "decrypted-alert", - "lock-open-warning", - "unlocked-warning", - "decrypted-warning" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Home Automation", - "Lock" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "47EFC7F8-698E-4466-8EDE-DB6334FE6C18", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-alert-outline", - "codepoint": "F15D2", - "aliases": [ - "unlocked-alert-outline", - "lock-open-warning-outline", - "decrypted-alert-outline", - "unlocked-warning-outline", - "decrypted-warning-outline" - ], - "styles": [ - "alert", - "outline", - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5ED06AF8-75C7-4AC3-962E-F742236AFDA6", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-check", - "codepoint": "F139C", - "aliases": [ - "unlocked-check", - "decrypted-check" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "FA8CFB4F-319F-42BE-8615-B4FECDA27719", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-check-outline", - "codepoint": "F16AB", - "aliases": [ - "unlocked-check-outline", - "decrypted-check-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5487A862-47C1-445A-B6F4-16AAAD6D058B", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-minus", - "codepoint": "F16AC", - "aliases": [ - "unlocked-minus", - "decrypted-minus" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A268FC79-9328-4B33-A734-9A4614BB3776", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-minus-outline", - "codepoint": "F16AD", - "aliases": [ - "unlocked-minus-outline", - "decrypted-minus-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DCE8B967-BCDE-4130-8BF3-DDA78A78326F", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-outline", - "codepoint": "F0340", - "aliases": [ - "unlocked-outline", - "decrypted-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "8062D7E8-C9C1-42E1-B42F-E5A9618F1DCD", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-plus", - "codepoint": "F16AE", - "aliases": [ - "unlocked-plus", - "decrypted-plus", - "lock-open-add", - "unlocked-add", - "decrypted-add" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "804F39C9-F4EB-4663-8EA6-67F668C8CCDF", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-plus-outline", - "codepoint": "F16AF", - "aliases": [ - "unlocked-plus-outline", - "lock-open-add-outline", - "unlocked-add-outline", - "decrypted-plus-outline", - "decrypted-add-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DBA50293-BCD6-4CC6-81E7-E63AF1EB56AE", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-remove", - "codepoint": "F16B0", - "aliases": [ - "unlocked-remove", - "decrypted-remove" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "73C80D40-9B24-42A8-A22A-94DDE61DDCFC", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-remove-outline", - "codepoint": "F16B1", - "aliases": [ - "unlocked-remove-outline", - "decrypted-remove-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4171E1EE-CA1A-4885-B41B-3EAE135BA8FE", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-variant", - "codepoint": "F0FC6", - "aliases": [ - "unlocked-variant", - "decrypted-variant" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "D3253799-FA57-4E62-967B-088FD6F1BF62", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-open-variant-outline", - "codepoint": "F0FC7", - "aliases": [ - "unlocked-variant-outline", - "decrypted-variant-outline" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "86AD97CA-6028-45C2-8C9A-8C4A562A8E49", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-outline", - "codepoint": "F0341", - "aliases": [ - "password-outline", - "secure-outline", - "https-outline", - "protected-outline", - "encryption-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation", - "Automotive" - ], - "author": "Google" - }, - { - "id": "6921C166-7D1E-44E4-90B9-ADF6668DDFB9", - "baseIconId": "6921C166-7D1E-44E4-90B9-ADF6668DDFB9", - "name": "lock-pattern", - "codepoint": "F06EA", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Haley Halcyon" - }, - { - "id": "2FFF3573-6379-4712-AC2D-0FDDFECE2103", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-percent", - "codepoint": "F1C12", - "aliases": [ - "lock-rate" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "mocking-mike" - }, - { - "id": "D37BC87E-8B6E-4D69-A35C-2C2EE9B85243", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-percent-open", - "codepoint": "F1C13", - "aliases": [ - "lock-rate-open" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "mocking-mike" - }, - { - "id": "AF474E3E-6D21-4C03-9D59-F784287C35AC", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-percent-open-outline", - "codepoint": "F1C14", - "aliases": [ - "lock-rate-open-outline" - ], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "mocking-mike" - }, - { - "id": "4F6E68BA-D1BA-4AD7-AA6D-A80E04CC2D6F", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-percent-open-variant", - "codepoint": "F1C15", - "aliases": [ - "lock-rate-open-variant" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "mocking-mike" - }, - { - "id": "8E4A2141-8B43-4CC8-9DC4-C48251A0ECCF", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-percent-open-variant-outline", - "codepoint": "F1C16", - "aliases": [ - "lock-rate-open-variant-outline" - ], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "mocking-mike" - }, - { - "id": "E83F528B-42AE-49BE-9236-18C6212ACA9D", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-percent-outline", - "codepoint": "F1C17", - "aliases": [ - "lock-rate-outline" - ], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "mocking-mike" - }, - { - "id": "BA4D2E1E-2BCB-4B17-AC02-52C8F34FAEAE", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-plus", - "codepoint": "F05FB", - "aliases": [ - "enhanced-encryption", - "lock-add", - "encryption-add", - "password-add", - "password-plus", - "encryption-plus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A4B343ED-8C07-4BD5-9F01-B360F971D23C", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-plus-outline", - "codepoint": "F16B2", - "aliases": [ - "lock-add-outline", - "password-plus-outline", - "password-add-outline", - "encryption-plus-outline", - "encryption-add-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "390C2479-98DD-46FB-AA39-CD816E7982C8", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-question", - "codepoint": "F08EF", - "aliases": [ - "forgot-password", - "password-question", - "encryption-question" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "201B2126-8481-413A-884F-BE6C8C62D531", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-remove", - "codepoint": "F16B3", - "aliases": [ - "password-remove", - "encryption-remove" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D5069461-8385-4424-8E19-CE2BEF2C1BAC", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-remove-outline", - "codepoint": "F16B4", - "aliases": [ - "password-remove-outline", - "encryption-remove-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "82312B48-E128-494E-9D84-DAACB41986F4", - "baseIconId": "D711AFDE-2B8D-4932-82AC-A04E7B2810AE", - "name": "lock-reset", - "codepoint": "F0773", - "aliases": [ - "password-reset", - "encryption-reset" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Google" - }, - { - "id": "1D8C9A6B-26F4-45E1-B922-E0BAED0A5FBD", - "baseIconId": "1D8C9A6B-26F4-45E1-B922-E0BAED0A5FBD", - "name": "lock-smart", - "codepoint": "F08B2", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "B8B0EAF4-369F-412A-A092-4AA85BBE77FD", - "baseIconId": "B8B0EAF4-369F-412A-A092-4AA85BBE77FD", - "name": "locker", - "codepoint": "F07D7", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4A5533A8-402C-45F2-9D7A-A8949C22C33B", - "baseIconId": "B8B0EAF4-369F-412A-A092-4AA85BBE77FD", - "name": "locker-multiple", - "codepoint": "F07D8", - "aliases": [ - "lockers" - ], - "styles": [ - "multiple" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "63D8BFA5-7AE4-4002-A4C2-C464638C38FC", - "baseIconId": "63D8BFA5-7AE4-4002-A4C2-C464638C38FC", - "name": "login", - "codepoint": "F0342", - "aliases": [ - "log-in", - "sign-in" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B590AA80-D315-4344-8036-8FBC25C87D2C", - "baseIconId": "63D8BFA5-7AE4-4002-A4C2-C464638C38FC", - "name": "login-variant", - "codepoint": "F05FC", - "aliases": [ - "log-in-variant", - "sign-in-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "47DF41F2-49C7-4081-8419-F49C7894E7F1", - "baseIconId": "47DF41F2-49C7-4081-8419-F49C7894E7F1", - "name": "logout", - "codepoint": "F0343", - "aliases": [ - "log-out", - "sign-out" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FD2A4CE0-AD1F-45D4-B487-BB6E57F2143F", - "baseIconId": "47DF41F2-49C7-4081-8419-F49C7894E7F1", - "name": "logout-variant", - "codepoint": "F05FD", - "aliases": [ - "log-out-variant", - "sign-out-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F4604109-DEBB-424C-9972-9ACFF76BBEC7", - "baseIconId": "F4604109-DEBB-424C-9972-9ACFF76BBEC7", - "name": "longitude", - "codepoint": "F0F5A", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Richins" - }, - { - "id": "3633613A-B8A7-49D0-8C1B-5415EC76F426", - "baseIconId": "3633613A-B8A7-49D0-8C1B-5415EC76F426", - "name": "looks", - "codepoint": "F0344", - "aliases": [ - "rainbow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Color" - ], - "author": "Google" - }, - { - "id": "8DD7B5D3-1361-460A-8029-6948337CC153", - "baseIconId": "8DD7B5D3-1361-460A-8029-6948337CC153", - "name": "lotion", - "codepoint": "F1582", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "Health \/ Beauty" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DB23DCE8-81D6-449E-B6C2-E29804FFF3BD", - "baseIconId": "8DD7B5D3-1361-460A-8029-6948337CC153", - "name": "lotion-outline", - "codepoint": "F1583", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "Health \/ Beauty" - ], - "author": "Michael Irigoyen" - }, - { - "id": "74C0DC3D-4DE3-4E67-9100-0B59F2B9A6B2", - "baseIconId": "8DD7B5D3-1361-460A-8029-6948337CC153", - "name": "lotion-plus", - "codepoint": "F1584", - "aliases": [ - "hand-sanitizer" - ], - "styles": [ - "plus" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "85DF6891-1BE0-4D66-8728-553846F98B1F", - "baseIconId": "8DD7B5D3-1361-460A-8029-6948337CC153", - "name": "lotion-plus-outline", - "codepoint": "F1585", - "aliases": [ - "hand-sanitizer-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "DB75FD27-01F6-4232-AA23-86C115751A0C", - "baseIconId": "DB75FD27-01F6-4232-AA23-86C115751A0C", - "name": "loupe", - "codepoint": "F0345", - "aliases": [ - "zoom-plus", - "circle-plus-outline", - "magnify" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "235EF258-40BB-47C3-9D5F-1497A7FD34D9", - "baseIconId": "235EF258-40BB-47C3-9D5F-1497A7FD34D9", - "name": "lumx", - "codepoint": "F0346", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6E54F325-2998-4301-9062-8770A4868453", - "baseIconId": "6E54F325-2998-4301-9062-8770A4868453", - "name": "lungs", - "codepoint": "F1084", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7AF70024-F9FA-4B50-BD29-3073B6E508B4", - "baseIconId": "7AF70024-F9FA-4B50-BD29-3073B6E508B4", - "name": "mace", - "codepoint": "F1843", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DC51467E-30C0-4144-9AE6-80762ACA972C", - "baseIconId": "DC51467E-30C0-4144-9AE6-80762ACA972C", - "name": "magazine-pistol", - "codepoint": "F0324", - "aliases": [ - "ammunition-pistol" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Andrew Laws" - }, - { - "id": "70793340-E8F2-43A0-8AB1-0DAB70CC8B9A", - "baseIconId": "70793340-E8F2-43A0-8AB1-0DAB70CC8B9A", - "name": "magazine-rifle", - "codepoint": "F0323", - "aliases": [ - "ammunition-rifle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Andrew Laws" - }, - { - "id": "A7255F1C-0207-4202-B1E5-11DC2BED7161", - "baseIconId": "A7255F1C-0207-4202-B1E5-11DC2BED7161", - "name": "magic-staff", - "codepoint": "F1844", - "aliases": [ - "staff-shimmer", - "magic-wand" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Colton Wiscombe" - }, - { - "id": "65B3A914-578A-468F-95C1-9C2B6D0C3A52", - "baseIconId": "65B3A914-578A-468F-95C1-9C2B6D0C3A52", - "name": "magnet", - "codepoint": "F0347", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "3A386A5A-35AC-4760-9384-33A9A43CF584", - "baseIconId": "65B3A914-578A-468F-95C1-9C2B6D0C3A52", - "name": "magnet-on", - "codepoint": "F0348", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify", - "codepoint": "F0349", - "aliases": [ - "search" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "C48FDEBE-952C-4B4A-9EB8-47A18186EB0B", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-close", - "codepoint": "F0980", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D6842910-49FD-4F74-8D67-86865549097A", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-expand", - "codepoint": "F1874", - "aliases": [ - "search-expand" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "snis" - }, - { - "id": "36D3966F-BFA2-407B-BF36-D21FBA930930", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-minus", - "codepoint": "F034A", - "aliases": [ - "zoom-out", - "search-minus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "616EA8BF-F84A-41BC-A933-5A4AF1E4E793", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-minus-cursor", - "codepoint": "F0A62", - "aliases": [ - "zoom-out-cursor" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "9E259697-7035-4E17-82D6-431C74215E67", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-minus-outline", - "codepoint": "F06EC", - "aliases": [ - "zoom-out-outline", - "search-minus-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "798F7C9D-2EC7-47EF-8729-845B4E2DDD16", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-plus", - "codepoint": "F034B", - "aliases": [ - "zoom-in", - "magnify-add", - "search-plus", - "search-add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "950E718A-089B-4266-AAFA-B9FA8BB0D3B3", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-plus-cursor", - "codepoint": "F0A63", - "aliases": [ - "zoom-in-cursor", - "magnify-add-cursor" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "521EC414-ECAD-435D-BAE3-4CF772659845", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-plus-outline", - "codepoint": "F06ED", - "aliases": [ - "zoom-in-outline", - "magnify-add-outline", - "search-plus-outline", - "search-add-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "845BBEA5-F20E-4E1B-AB42-FE7BF45FCDAB", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-remove-cursor", - "codepoint": "F120C", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1465D0D4-32FE-4495-B137-CFE49A390474", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-remove-outline", - "codepoint": "F120D", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DF9ACF3F-5AF0-4F55-845C-569018942B95", - "baseIconId": "C2889545-7F08-4AE1-9142-ECF9B79957E1", - "name": "magnify-scan", - "codepoint": "F1276", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Sascha Wohlgemuth" - }, - { - "id": "269E49C3-261D-42CD-8EFA-FD76C0BA7B7C", - "baseIconId": "269E49C3-261D-42CD-8EFA-FD76C0BA7B7C", - "name": "mail", - "codepoint": "F0EBB", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox", - "codepoint": "F06EE", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E1072975-827C-4320-A7D9-AEEADA1BCAD9", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox-open", - "codepoint": "F0D88", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B5D3F2A9-4CF7-4030-8909-482E23D3A8DC", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox-open-outline", - "codepoint": "F0D89", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "01EC4EC7-B90D-4E1E-B3CF-E9B2E9C16077", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox-open-up", - "codepoint": "F0D8A", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "793AC378-1C34-4882-B3A7-6ACA108ACE76", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox-open-up-outline", - "codepoint": "F0D8B", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "69A2883B-C904-4769-898E-8BAEB8F8309C", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox-outline", - "codepoint": "F0D8C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "C378F407-C2C4-48CD-9AA3-22B6C4C0E0AF", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox-up", - "codepoint": "F0D8D", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D9ECA2BA-AFCB-46C8-9EC4-3155063670CC", - "baseIconId": "CCEA599C-8CED-4D49-83FB-7AC452AADFA0", - "name": "mailbox-up-outline", - "codepoint": "F0D8E", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "75EE1BFB-90E7-4500-A7E1-72E898059E16", - "baseIconId": "75EE1BFB-90E7-4500-A7E1-72E898059E16", - "name": "manjaro", - "codepoint": "F160A", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "99738FF8-01AE-420D-8481-8B9E1402255B", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map", - "codepoint": "F034D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "39D94D7A-D161-409F-8FFC-889474A4DCE9", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-check", - "codepoint": "F0EBC", - "aliases": [ - "map-tick" - ], - "styles": [ - "check" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "mocking-mike" - }, - { - "id": "8EF339C7-1106-40FC-B2CC-3387F915824E", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-check-outline", - "codepoint": "F0EBD", - "aliases": [ - "map-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "mocking-mike" - }, - { - "id": "A3A8668B-BEF0-48CC-AEB1-ACC765D10CC0", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-clock", - "codepoint": "F0D1E", - "aliases": [ - "timezone" - ], - "styles": [ - "clock" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System", - "Date \/ Time" - ], - "author": "Augustin Ursu" - }, - { - "id": "EEB984B2-6639-452D-AD56-06A8EC862EE4", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-clock-outline", - "codepoint": "F0D1F", - "aliases": [ - "timezone-outline" - ], - "styles": [ - "clock", - "outline" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System", - "Date \/ Time" - ], - "author": "Augustin Ursu" - }, - { - "id": "69651FB0-089C-4D57-8465-46716D86DBCA", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-legend", - "codepoint": "F0A01", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Perth Totty" - }, - { - "id": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker", - "codepoint": "F034E", - "aliases": [ - "location", - "address-marker", - "location-on", - "place", - "room" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "518FF04A-58EC-4917-BF7F-BBAFDD9B00DD", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-account", - "codepoint": "F18E3", - "aliases": [], - "styles": [ - "account" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Navigation", - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "9EE1A46D-F991-45D7-A170-2DE8AED0D1EA", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-account-outline", - "codepoint": "F18E4", - "aliases": [], - "styles": [ - "account", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Navigation", - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "DE87F14C-101D-47F2-87C5-118BE76F7C58", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-alert", - "codepoint": "F0F05", - "aliases": [ - "location-alert", - "location-warning" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Alert \/ Error", - "Geographic Information System" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "65B4F317-EB12-4BD4-8E9B-C6D3A153B868", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-alert-outline", - "codepoint": "F0F06", - "aliases": [ - "location-alert-outline", - "location-warning-outline" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Alert \/ Error", - "Geographic Information System" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "FA10B579-AC1E-48F7-BF8C-AB7F1380F3F9", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-check", - "codepoint": "F0C95", - "aliases": [ - "map-marker-tick", - "where-to-vote", - "location-check" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "76C82A3D-F79E-46D9-8234-456F39A35567", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-check-outline", - "codepoint": "F12FB", - "aliases": [ - "location-check-outline", - "where-to-vote-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "03F79839-314C-4F29-B3E3-43B97D7F7FA6", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-circle", - "codepoint": "F034F", - "aliases": [ - "explore-nearby", - "location-circle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "B2FF0F5A-4B2C-480C-9022-D84AD78E72ED", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-distance", - "codepoint": "F08F0", - "aliases": [ - "location-distance" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Richins" - }, - { - "id": "6E4368BF-7150-40D2-861B-375421A7774B", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-down", - "codepoint": "F1102", - "aliases": [ - "location-down" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "5FFC5505-B029-4487-A68E-EDE4B708E5B9", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-left", - "codepoint": "F12DB", - "aliases": [ - "location-left" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0283CCF3-BC73-4642-92FA-38E62D635368", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-left-outline", - "codepoint": "F12DD", - "aliases": [ - "location-left-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "34DD1168-3875-4F77-9C0B-5BCFFB80FBBD", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-minus", - "codepoint": "F0650", - "aliases": [ - "location-minus" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "21A7EBBF-D884-4A4E-B722-01600B89FFB4", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-minus-outline", - "codepoint": "F12F9", - "aliases": [ - "location-minus-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6283577D-6B31-4297-8747-4F466580E79A", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-multiple", - "codepoint": "F0350", - "aliases": [ - "map-markers", - "location-multiple", - "locations" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "360866E5-D407-4E54-9470-7ECF6759F941", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-multiple-outline", - "codepoint": "F1277", - "aliases": [ - "locations-outline", - "location-multiple-outline", - "map-markers-outline" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "92410469-09D9-4C29-AC79-CD0DF882D05F", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-off", - "codepoint": "F0351", - "aliases": [ - "location-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "48218DC3-F2A6-4C4B-9B5E-0648815B8864", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-off-outline", - "codepoint": "F12FD", - "aliases": [ - "location-off-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DE8F4623-A6D4-4DD4-B61A-5936A0538FD2", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-outline", - "codepoint": "F07D9", - "aliases": [ - "location-outline", - "address-marker-outline", - "location-on-outline", - "place-outline" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "A20F1915-26FB-41BD-A407-B73A90936E76", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-path", - "codepoint": "F0D20", - "aliases": [ - "location-path" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "40CBD1A1-11E1-44A6-8627-6F7C658F5E0F", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-plus", - "codepoint": "F0651", - "aliases": [ - "location-plus", - "map-marker-add", - "location-add" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "C1F80E9D-2408-46FC-9E92-AE61A8D5C650", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-plus-outline", - "codepoint": "F12F8", - "aliases": [ - "map-marker-add-outline", - "location-plus-outline", - "location-add-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C9930FE9-E831-4194-A4FA-905CE141CFEA", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-question", - "codepoint": "F0F07", - "aliases": [ - "location-question" - ], - "styles": [ - "question" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "0F3F436D-95BF-4578-A209-CF8B26DEDA15", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-question-outline", - "codepoint": "F0F08", - "aliases": [ - "location-question-outline" - ], - "styles": [ - "outline", - "question" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "8F346B27-607A-4C98-B83E-C32E921D0468", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-radius", - "codepoint": "F0352", - "aliases": [ - "location-radius" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "865AB612-D546-431D-85A8-52C305B263F8", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-radius-outline", - "codepoint": "F12FC", - "aliases": [ - "location-radius-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8BC7ABEC-FE5F-4C2F-889C-8C8804DD12E4", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-remove", - "codepoint": "F0F09", - "aliases": [ - "location-remove" - ], - "styles": [ - "remove" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "GreenTurtwig" - }, - { - "id": "75FDE93C-EB66-4824-9F96-1B4212BDA785", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-remove-outline", - "codepoint": "F12FA", - "aliases": [ - "location-remove-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Geographic Information System", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D19361A0-41AB-4E11-B4D4-AE50D42B3B2C", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-remove-variant", - "codepoint": "F0F0A", - "aliases": [ - "location-remove-variant-outline" - ], - "styles": [ - "remove", - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "GreenTurtwig" - }, - { - "id": "445C4B6D-5A56-42F3-845F-92C22A11BB64", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-right", - "codepoint": "F12DC", - "aliases": [ - "location-right" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9456009F-0387-4A76-8B0F-22CCBBA53071", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-right-outline", - "codepoint": "F12DE", - "aliases": [ - "location-right-outline" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B4FB6A62-C598-4E96-8E09-C6A2145EE24C", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-star", - "codepoint": "F1608", - "aliases": [ - "map-marker-favorite", - "location-star", - "location-favorite" - ], - "styles": [ - "star" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B256D01-4CB0-4736-BBB7-6D44417DD02B", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-star-outline", - "codepoint": "F1609", - "aliases": [ - "map-marker-favorite-outline", - "location-star-outline", - "location-favorite-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0C1B9015-C0F4-4710-87D2-BA7B710943F2", - "baseIconId": "379B9D93-434B-46E7-9ABC-CAFAB694B209", - "name": "map-marker-up", - "codepoint": "F1103", - "aliases": [ - "location-up" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "3C2F6429-F2F9-49A9-AF23-DD33413D2619", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-minus", - "codepoint": "F0981", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Peter Noble" - }, - { - "id": "164AE88B-F990-471C-8663-EFDC05BA14F0", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-outline", - "codepoint": "F0982", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "3D7A000E-3E94-4B9B-8CAB-2F6923D425B7", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-plus", - "codepoint": "F0983", - "aliases": [ - "map-add" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "Peter Noble" - }, - { - "id": "6FB911AA-DE27-441D-8C62-CD97ECB99DA7", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-search", - "codepoint": "F0984", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "GreenTurtwig" - }, - { - "id": "4EDC2B6E-3E09-41BF-B08C-EB75CEBFFB96", - "baseIconId": "99738FF8-01AE-420D-8481-8B9E1402255B", - "name": "map-search-outline", - "codepoint": "F0985", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Navigation", - "Geographic Information System" - ], - "author": "GreenTurtwig" - }, - { - "id": "061C11C7-55DC-4F79-989C-81756790342A", - "baseIconId": "061C11C7-55DC-4F79-989C-81756790342A", - "name": "mapbox", - "codepoint": "F0BAA", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "4A7710D4-41B8-4D98-A5B9-591943C3B3EF", - "baseIconId": "4A7710D4-41B8-4D98-A5B9-591943C3B3EF", - "name": "margin", - "codepoint": "F0353", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "71E6D8F0-A3D2-43CB-8940-16AA4E1D9825", - "baseIconId": "71E6D8F0-A3D2-43CB-8940-16AA4E1D9825", - "name": "marker", - "codepoint": "F0652", - "aliases": [ - "highlighter" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "CFB791C3-6476-418F-80D4-7B8C5A6D1350", - "baseIconId": "71E6D8F0-A3D2-43CB-8940-16AA4E1D9825", - "name": "marker-cancel", - "codepoint": "F0DD9", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "74C5E15E-D227-4272-94E6-EDFDD0F66C9A", - "baseIconId": "74C5E15E-D227-4272-94E6-EDFDD0F66C9A", - "name": "marker-check", - "codepoint": "F0355", - "aliases": [ - "beenhere", - "marker-tick" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7DA03280-B018-4813-973A-9CBC0F6C462B", - "baseIconId": "7DA03280-B018-4813-973A-9CBC0F6C462B", - "name": "mastodon", - "codepoint": "F0AD1", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "224604D9-8F3D-454A-B11F-D4C00231B15B", - "baseIconId": "224604D9-8F3D-454A-B11F-D4C00231B15B", - "name": "material-design", - "codepoint": "F0986", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "878C7F4D-DAD0-4334-A3AA-695FD3AD5391", - "baseIconId": "878C7F4D-DAD0-4334-A3AA-695FD3AD5391", - "name": "material-ui", - "codepoint": "F0357", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "10E7FA7C-8451-44B9-979F-1916AAC7FE28", - "baseIconId": "10E7FA7C-8451-44B9-979F-1916AAC7FE28", - "name": "math-compass", - "codepoint": "F0358", - "aliases": [ - "maths-compass" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math", - "Drawing \/ Art", - "Navigation" - ], - "author": "Gabriel" - }, - { - "id": "6C00C0F3-F537-4591-B7BA-752A1CCD7E38", - "baseIconId": "6C00C0F3-F537-4591-B7BA-752A1CCD7E38", - "name": "math-cos", - "codepoint": "F0C96", - "aliases": [ - "math-cosine", - "maths-cos" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E911AE3C-8505-42CD-889B-0EE3BEDC3B0D", - "baseIconId": "E911AE3C-8505-42CD-889B-0EE3BEDC3B0D", - "name": "math-integral", - "codepoint": "F0FC8", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0C6E8DE8-731B-451C-809A-22BFF1DADE36", - "baseIconId": "E911AE3C-8505-42CD-889B-0EE3BEDC3B0D", - "name": "math-integral-box", - "codepoint": "F0FC9", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DD9D199B-D026-4771-8028-A813A3893CDE", - "baseIconId": "DD9D199B-D026-4771-8028-A813A3893CDE", - "name": "math-log", - "codepoint": "F1085", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6C9569E6-55F1-48AF-A11C-2284315D0CE6", - "baseIconId": "6C9569E6-55F1-48AF-A11C-2284315D0CE6", - "name": "math-norm", - "codepoint": "F0FCA", - "aliases": [ - "code-or", - "parallel" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math", - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4FBD0287-AD44-452B-A97A-E5FDD3542A1F", - "baseIconId": "6C9569E6-55F1-48AF-A11C-2284315D0CE6", - "name": "math-norm-box", - "codepoint": "F0FCB", - "aliases": [ - "code-or-box", - "parallel-box" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math", - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CB473E87-BD2F-4416-A36E-6C4C12194D14", - "baseIconId": "CB473E87-BD2F-4416-A36E-6C4C12194D14", - "name": "math-sin", - "codepoint": "F0C97", - "aliases": [ - "math-sine", - "maths-sin" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "47194CCD-AF78-430F-AD95-4D564D6E1D18", - "baseIconId": "47194CCD-AF78-430F-AD95-4D564D6E1D18", - "name": "math-tan", - "codepoint": "F0C98", - "aliases": [ - "math-tangent", - "maths-tan" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5D5ED3F2-71BD-44B6-B4BB-61D73211335F", - "baseIconId": "5D5ED3F2-71BD-44B6-B4BB-61D73211335F", - "name": "matrix", - "codepoint": "F0628", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "626FA95C-E655-44A6-BA6A-4B60CED44B6D", - "baseIconId": "626FA95C-E655-44A6-BA6A-4B60CED44B6D", - "name": "medal", - "codepoint": "F0987", - "aliases": [ - "award" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "22F9B575-7D95-46A3-BA55-625B12E75AC2", - "baseIconId": "626FA95C-E655-44A6-BA6A-4B60CED44B6D", - "name": "medal-outline", - "codepoint": "F1326", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "7F6DF58A-C9A3-4CE7-9664-28C04218C628", - "baseIconId": "7F6DF58A-C9A3-4CE7-9664-28C04218C628", - "name": "medical-bag", - "codepoint": "F06EF", - "aliases": [ - "first-aid-kit", - "medicine" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Thomas Hunsaker" - }, - { - "id": "EC9D77A4-739A-4641-BE6C-86050DD25FFE", - "baseIconId": "EC9D77A4-739A-4641-BE6C-86050DD25FFE", - "name": "medical-cotton-swab", - "codepoint": "F1AB8", - "aliases": [ - "covid-test", - "medicine" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "57211BE3-0055-4D43-B05C-3CD0FE10322C", - "baseIconId": "57211BE3-0055-4D43-B05C-3CD0FE10322C", - "name": "medication", - "codepoint": "F1B14", - "aliases": [ - "pill-bottle", - "medicine-bottle", - "bottle-plus" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Health \/ Beauty", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "8C286097-F93C-490C-A01F-BB1445A6953C", - "baseIconId": "57211BE3-0055-4D43-B05C-3CD0FE10322C", - "name": "medication-outline", - "codepoint": "F1B15", - "aliases": [ - "pill-bottle-outline", - "medicine-bottle-outline", - "bottle-plus-outline" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Health \/ Beauty", - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "B68AA118-B8B5-4A2A-BCA2-A12C8C119319", - "baseIconId": "B68AA118-B8B5-4A2A-BCA2-A12C8C119319", - "name": "meditation", - "codepoint": "F117B", - "aliases": [ - "human-meditation" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "E404434E-17DB-4E90-9D97-5355258E1FCF", - "baseIconId": "E404434E-17DB-4E90-9D97-5355258E1FCF", - "name": "memory", - "codepoint": "F035B", - "aliases": [ - "chip" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "6F7286C3-4653-4443-A5A4-400D42A101C5", - "baseIconId": "E404434E-17DB-4E90-9D97-5355258E1FCF", - "name": "memory-arrow-down", - "codepoint": "F1CA6", - "aliases": [ - "chip-arrow-down" - ], - "styles": [ - "arrow" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7D2EBF4F-6B48-4DAE-B5B5-005B4FC7C9BC", - "baseIconId": "7D2EBF4F-6B48-4DAE-B5B5-005B4FC7C9BC", - "name": "menorah", - "codepoint": "F17D4", - "aliases": [ - "candelabrum", - "candelabra", - "candle" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Religion", - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "05D5D57F-2565-4D15-8241-F778B49430CD", - "baseIconId": "05D5D57F-2565-4D15-8241-F778B49430CD", - "name": "menorah-fire", - "codepoint": "F17D5", - "aliases": [ - "menorah-flame", - "candle-flame", - "candelabra-flame", - "candelabra-fire", - "candle-fire", - "candelabrum-fire", - "candelabrum-flame" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Religion", - "Holiday" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0BD2CD08-CCFB-4EC3-B96D-08B0B8230A91", - "baseIconId": "0BD2CD08-CCFB-4EC3-B96D-08B0B8230A91", - "name": "menu", - "codepoint": "F035C", - "aliases": [ - "hamburger-menu" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "04E66167-8706-4CEF-8748-63BDAAF0F19C", - "baseIconId": "0BD2CD08-CCFB-4EC3-B96D-08B0B8230A91", - "name": "menu-close", - "codepoint": "F1C90", - "aliases": [ - "hamburger-close" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "624A47B1-947E-45AD-A34F-D5DCC1143C5A", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "menu-down", - "codepoint": "F035D", - "aliases": [ - "arrow-drop-down", - "caret-down" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "EE6F8AAE-7856-4E4C-AC01-3589A2C66D98", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "menu-down-outline", - "codepoint": "F06B6", - "aliases": [ - "caret-down-outline" - ], - "styles": [ - "outline" - ], - "version": "1.7.22", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "91F83E23-FD44-4277-BD91-037B3D7EB72E", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "menu-left", - "codepoint": "F035E", - "aliases": [ - "arrow-left" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "BC54AA3D-A450-4079-B40C-457FAE2211D5", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "menu-left-outline", - "codepoint": "F0A02", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "AEB414A7-E7A2-46D6-BAA3-CAFA4E06DA38", - "baseIconId": "0BD2CD08-CCFB-4EC3-B96D-08B0B8230A91", - "name": "menu-open", - "codepoint": "F0BAB", - "aliases": [ - "hamburger-open" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "51157881-5A20-4D7D-8E5F-FB0E815C9B3D", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "menu-right", - "codepoint": "F035F", - "aliases": [ - "arrow-right" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "DFE8FD81-B967-4E07-A1C9-44A608613E26", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "menu-right-outline", - "codepoint": "F0A03", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "6B937FF1-FF63-4829-8BAE-D5E4D1EB64A0", - "baseIconId": "6B937FF1-FF63-4829-8BAE-D5E4D1EB64A0", - "name": "menu-swap", - "codepoint": "F0A64", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "GreenTurtwig" - }, - { - "id": "AAADBDE7-CC0D-4F69-A795-B38C0B00DC62", - "baseIconId": "6B937FF1-FF63-4829-8BAE-D5E4D1EB64A0", - "name": "menu-swap-outline", - "codepoint": "F0A65", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "GreenTurtwig" - }, - { - "id": "A526C6AC-3E29-49D1-91FA-07F95B470626", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "menu-up", - "codepoint": "F0360", - "aliases": [ - "arrow-drop-up", - "caret-up" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "33B1FB6B-D4F4-4B76-820C-4A2B075DB1B3", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "menu-up-outline", - "codepoint": "F06B7", - "aliases": [ - "caret-up-outline" - ], - "styles": [ - "outline" - ], - "version": "1.7.22", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "0D0E7E15-9615-4A66-8933-8BC98675AE3D", - "baseIconId": "0D0E7E15-9615-4A66-8933-8BC98675AE3D", - "name": "merge", - "codepoint": "F0F5C", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message", - "codepoint": "F0361", - "aliases": [ - "chat-bubble" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "213A797A-41C0-4804-A5B1-A841898CCC11", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-alert", - "codepoint": "F0362", - "aliases": [ - "feedback", - "message-warning", - "announcement", - "sms-failed" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "3487FE3E-2B9B-4C69-B64C-B3E699E9EC8C", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-alert-outline", - "codepoint": "F0A04", - "aliases": [ - "announcement-outline", - "feedback-outline", - "message-warning-outline", - "sms-failed-outline" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F359CA31-2575-4648-B1E1-466A757F2184", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-arrow-left", - "codepoint": "F12F2", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EAF47F59-C768-4B46-841F-1D8C216D15F2", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-arrow-left-outline", - "codepoint": "F12F3", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3292CBC5-7E1D-405F-A8CD-BAB528B88D45", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-arrow-right", - "codepoint": "F12F4", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BEDCDC33-9EAE-46D2-B380-80A6B47B400C", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-arrow-right-outline", - "codepoint": "F12F5", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B34D5D57-7A9B-43CD-B58F-D18CD484DCC9", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-badge", - "codepoint": "F1941", - "aliases": [ - "message-unread", - "message-notification" - ], - "styles": [ - "badge" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "E3DAA0CA-4F39-49E0-9D3D-5306D764167D", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-badge-outline", - "codepoint": "F1942", - "aliases": [ - "message-unread-outline", - "message-notification-outline" - ], - "styles": [ - "badge", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "80D7EBEA-4C3B-43B9-8181-BEEE728D5D90", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-bookmark", - "codepoint": "F15AC", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "94793E49-C5C4-47A8-87FD-215A923ACA2A", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-bookmark-outline", - "codepoint": "F15AD", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1EC9427A-2A02-4F74-9C1B-C4EC5E62B793", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-bulleted", - "codepoint": "F06A2", - "aliases": [ - "speaker-notes" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5AAB267C-9A9C-4966-862D-A2AC910494E5", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-bulleted-off", - "codepoint": "F06A3", - "aliases": [ - "speaker-notes-off" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "84A64220-7304-4667-AAA4-1A347B997199", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-check", - "codepoint": "F1B8A", - "aliases": [], - "styles": [ - "check" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "1F5EB171-8FDB-4C8A-B748-6B4EAF022243", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-check-outline", - "codepoint": "F1B8B", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "F0F27B00-3C37-4AC0-B8D7-DB2554894079", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-cog", - "codepoint": "F06F1", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "B4FCC7EE-5464-4713-A4F4-8C0CA0E9472E", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-cog-outline", - "codepoint": "F1172", - "aliases": [], - "styles": [ - "outline", - "settings", - "variant" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6434A4B3-F803-4C8B-A03C-BE39E947166B", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-draw", - "codepoint": "F0363", - "aliases": [ - "rate-review" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1FAB8199-286D-4D00-9AA5-7D4D14AC1B74", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-fast", - "codepoint": "F19CC", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "13E100B1-AEB4-4398-9A8D-404F8C765642", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-fast-outline", - "codepoint": "F19CD", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A9181976-10D1-4CB7-993E-AE8B7DEDEC64", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-flash", - "codepoint": "F15A9", - "aliases": [ - "message-quick" - ], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DA7B2430-9A55-42D5-AE19-92E108303E79", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-flash-outline", - "codepoint": "F15AA", - "aliases": [ - "message-quick-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C4C9B194-78C3-47FB-ABF6-5129230527AC", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-image", - "codepoint": "F0364", - "aliases": [ - "mms" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9C0BC648-202E-476E-A034-48C03F7554BF", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-image-outline", - "codepoint": "F116C", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "953DF020-3B6E-44ED-B858-A220EC7BE82A", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-lock", - "codepoint": "F0FCC", - "aliases": [ - "message-secure" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "D7D6AAFB-1292-4EA1-A067-728532693834", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-lock-outline", - "codepoint": "F116D", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CF8F9CE5-0B38-4412-A3DD-F9E333C23EF6", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-minus", - "codepoint": "F116E", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B5CAE2E8-8D8A-4E7C-AAD3-F5EFDE92A8F7", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-minus-outline", - "codepoint": "F116F", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1F9E05D2-75B6-4039-B0A8-9EF2B647882E", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-off", - "codepoint": "F164D", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2B210400-A3CE-4EE4-8A9B-A88ACDF47061", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-off-outline", - "codepoint": "F164E", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2AE3707D-5DE3-41E6-968B-A56D3D9ADD40", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-outline", - "codepoint": "F0365", - "aliases": [ - "chat-bubble-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C0B4CC94-B6B5-462F-93C2-98F07093614C", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-plus", - "codepoint": "F0653", - "aliases": [ - "message-add" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "47A1A8D9-33C6-4EF4-9F8B-C327A7F45F65", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-plus-outline", - "codepoint": "F10BB", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Mike Behnke" - }, - { - "id": "602EE454-C61C-4608-919E-FCCF3B58DE65", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-processing", - "codepoint": "F0366", - "aliases": [ - "sms", - "textsms" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "21EDB8E6-9829-4028-9A40-F03BF23C14DA", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-processing-outline", - "codepoint": "F1170", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "088D1765-3A4B-4BCB-A17B-B07970B3DDAA", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-question", - "codepoint": "F173A", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "32AA3ACF-FADE-4ECB-8A16-DECB4CB9ECB9", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-question-outline", - "codepoint": "F173B", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6657779A-7238-4686-B3D5-1244862D7B2C", - "baseIconId": "6657779A-7238-4686-B3D5-1244862D7B2C", - "name": "message-reply", - "codepoint": "F0367", - "aliases": [ - "mode-comment" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9B0263DD-74DB-4AC6-BF1C-0C7C0170C845", - "baseIconId": "6657779A-7238-4686-B3D5-1244862D7B2C", - "name": "message-reply-outline", - "codepoint": "F173D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "FF34C5A8-4433-4B47-A9E5-EB836CFFCEC9", - "baseIconId": "6657779A-7238-4686-B3D5-1244862D7B2C", - "name": "message-reply-text", - "codepoint": "F0368", - "aliases": [ - "comment", - "insert-comment" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "56D756E1-57CB-4EA5-9AC3-409D0046C643", - "baseIconId": "6657779A-7238-4686-B3D5-1244862D7B2C", - "name": "message-reply-text-outline", - "codepoint": "F173E", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4B15BF16-CD96-4427-9EA4-5A8B09F3A2B6", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-settings", - "codepoint": "F06F0", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Richins" - }, - { - "id": "28C31415-ECC5-4192-A04A-C3C1F810019B", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-settings-outline", - "codepoint": "F1171", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FF8D4F38-8A77-4FDD-8C6D-D17F6A44516D", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-star", - "codepoint": "F069A", - "aliases": [], - "styles": [ - "star" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "F2B4075E-3226-40CB-9165-2C66A4BB4BBD", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-star-outline", - "codepoint": "F1250", - "aliases": [], - "styles": [ - "outline", - "star" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "D2AFF074-2CE4-442D-AF1A-64B168BC622A", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text", - "codepoint": "F0369", - "aliases": [ - "chat" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BF83F7B1-BA68-4443-9FD1-FB0A9C8D9D60", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text-clock", - "codepoint": "F1173", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "461285B8-FAB1-46BA-95C5-611476333EE4", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text-clock-outline", - "codepoint": "F1174", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9CD08DBB-70E0-41B6-8BAA-79B9D4FE11AA", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text-fast", - "codepoint": "F19CE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "3EA07D0B-1C28-4140-9CF3-60E741D34A65", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text-fast-outline", - "codepoint": "F19CF", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "362401F1-947F-45FD-8047-F515CB2F7C44", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text-lock", - "codepoint": "F0FCD", - "aliases": [ - "message-text-secure" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "223FE0D4-F0C4-426A-8784-72F28455AB67", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text-lock-outline", - "codepoint": "F1175", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E8C7D2D2-5B78-40E9-A3E6-51B9C31A43F8", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-text-outline", - "codepoint": "F036A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7AEB07C3-0EFC-4D74-BB5B-2EB1288DC27D", - "baseIconId": "99DA4752-8C79-44D8-8286-6EBD696F0B45", - "name": "message-video", - "codepoint": "F036B", - "aliases": [ - "voice-chat" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "78644A46-55EA-4208-B3DC-89C79B5F96A5", - "baseIconId": "78644A46-55EA-4208-B3DC-89C79B5F96A5", - "name": "meteor", - "codepoint": "F0629", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A42A0B48-3570-4056-9745-6FEC4CE8EB8E", - "baseIconId": "A42A0B48-3570-4056-9745-6FEC4CE8EB8E", - "name": "meter-electric", - "codepoint": "F1A57", - "aliases": [ - "power-meter", - "electricity" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "463AE2E1-1BA3-444B-9182-D252575B2C8E", - "baseIconId": "A42A0B48-3570-4056-9745-6FEC4CE8EB8E", - "name": "meter-electric-outline", - "codepoint": "F1A58", - "aliases": [ - "power-meter-outline", - "electricity-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "44BDA87A-AB07-4DC1-89FB-0D1F55B6622F", - "baseIconId": "44BDA87A-AB07-4DC1-89FB-0D1F55B6622F", - "name": "meter-gas", - "codepoint": "F1A59", - "aliases": [ - "natural-gas" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "7960EDB3-0C0D-47C8-B837-C606FEA6B524", - "baseIconId": "44BDA87A-AB07-4DC1-89FB-0D1F55B6622F", - "name": "meter-gas-outline", - "codepoint": "F1A5A", - "aliases": [ - "natural-gas-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "13256CBF-E284-4229-AAB9-5612FBADD060", - "baseIconId": "13256CBF-E284-4229-AAB9-5612FBADD060", - "name": "metronome", - "codepoint": "F07DA", - "aliases": [ - "tempo", - "bpm", - "beats-per-minute" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Haley Halcyon" - }, - { - "id": "43A2B10E-F7DF-4181-B607-EC2039AFFA0D", - "baseIconId": "13256CBF-E284-4229-AAB9-5612FBADD060", - "name": "metronome-tick", - "codepoint": "F07DB", - "aliases": [ - "tempo-tick", - "bpm-tick", - "beats-per-minute-tick" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Haley Halcyon" - }, - { - "id": "6A3136A3-62AD-4DE6-A783-D9D69AAD8919", - "baseIconId": "6A3136A3-62AD-4DE6-A783-D9D69AAD8919", - "name": "micro-sd", - "codepoint": "F07DC", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "18C99959-2A0E-4095-BAEA-F5B266377648", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone", - "codepoint": "F036C", - "aliases": [ - "keyboard-voice" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "5B1FA77D-0384-4931-AFD8-C4FF5D73D372", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-message", - "codepoint": "F050A", - "aliases": [ - "tts", - "text-to-speech" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1AE8F7A9-5454-44D2-B16D-1D383E33978D", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-message-off", - "codepoint": "F050B", - "aliases": [ - "tts-off", - "text-to-speech-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "FFAA9F2E-96F9-43A3-BC4E-F7562703E6A1", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-minus", - "codepoint": "F08B3", - "aliases": [ - "microphone-remove" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "90AD0141-2243-49F0-8B84-FF909244D237", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-off", - "codepoint": "F036D", - "aliases": [ - "mic-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "E152DB47-F7EE-42A5-A01B-DC5E54A525D8", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-outline", - "codepoint": "F036E", - "aliases": [ - "mic-none" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "61F84878-9DAD-45D9-8A79-65143EA32F37", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-plus", - "codepoint": "F08B4", - "aliases": [ - "microphone-add" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "C209FA9B-CE60-4CC6-853D-0180D05CDF93", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-question", - "codepoint": "F1989", - "aliases": [ - "microphone-help" - ], - "styles": [ - "question" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "89B1E3B0-1970-4ACC-B2DC-B45DFC33DE4B", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-question-outline", - "codepoint": "F198A", - "aliases": [ - "microphone-help-outline" - ], - "styles": [ - "outline", - "question" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E8F70177-01CF-4C20-9956-DCA7B331FED6", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-settings", - "codepoint": "F036F", - "aliases": [ - "settings-voice" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "5824EE2F-01BA-42E7-A943-B0D1C569B2C5", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-variant", - "codepoint": "F0370", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "B0811263-2D40-44D9-945D-13393A170311", - "baseIconId": "18C99959-2A0E-4095-BAEA-F5B266377648", - "name": "microphone-variant-off", - "codepoint": "F0371", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "CFCFD9FE-AFF3-4D4F-A7C6-A40E0886B064", - "baseIconId": "CFCFD9FE-AFF3-4D4F-A7C6-A40E0886B064", - "name": "microscope", - "codepoint": "F0654", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Simran" - }, - { - "id": "4636AAFF-A0E5-494C-8630-31142B4A2F48", - "baseIconId": "4636AAFF-A0E5-494C-8630-31142B4A2F48", - "name": "microsoft", - "codepoint": "F0372", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "94560EAB-E027-4462-BBD8-C6921D90CC07", - "baseIconId": "94560EAB-E027-4462-BBD8-C6921D90CC07", - "name": "microsoft-access", - "codepoint": "F138E", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7701BECC-343D-4BE8-B33A-B88ABACA8F26", - "baseIconId": "7701BECC-343D-4BE8-B33A-B88ABACA8F26", - "name": "microsoft-azure", - "codepoint": "F0805", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "67025D74-AB54-43B5-82EE-085CCDA019E6", - "baseIconId": "67025D74-AB54-43B5-82EE-085CCDA019E6", - "name": "microsoft-azure-devops", - "codepoint": "F0FD5", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "CB038F2A-85DE-4F59-B694-D4805D66322B", - "baseIconId": "CB038F2A-85DE-4F59-B694-D4805D66322B", - "name": "microsoft-bing", - "codepoint": "F00A4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9846C329-0B20-40A4-9362-D350C063F53C", - "baseIconId": "9846C329-0B20-40A4-9362-D350C063F53C", - "name": "microsoft-dynamics-365", - "codepoint": "F0988", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C2D33448-5C6E-41D9-89B4-65184FF5EE15", - "baseIconId": "C2D33448-5C6E-41D9-89B4-65184FF5EE15", - "name": "microsoft-edge", - "codepoint": "F01E9", - "aliases": [ - "microsoft-edge" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "ACD47746-F44B-496D-990B-58FC729F372E", - "baseIconId": "ACD47746-F44B-496D-990B-58FC729F372E", - "name": "microsoft-excel", - "codepoint": "F138F", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "255BB365-7B2F-46C7-B85E-EFDAD527BB54", - "baseIconId": "255BB365-7B2F-46C7-B85E-EFDAD527BB54", - "name": "microsoft-internet-explorer", - "codepoint": "F0300", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7E2456A3-891B-43F4-B233-AA0D890815CF", - "baseIconId": "7E2456A3-891B-43F4-B233-AA0D890815CF", - "name": "microsoft-office", - "codepoint": "F03C6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "455893F6-D0C4-4257-ABE4-85B1D68F60FF", - "baseIconId": "455893F6-D0C4-4257-ABE4-85B1D68F60FF", - "name": "microsoft-onedrive", - "codepoint": "F03CA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "E95EC3DF-2A48-4167-9F22-F4E735D4F298", - "baseIconId": "E95EC3DF-2A48-4167-9F22-F4E735D4F298", - "name": "microsoft-onenote", - "codepoint": "F0747", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "0AE81D55-4520-4975-B406-145C74ECF033", - "baseIconId": "0AE81D55-4520-4975-B406-145C74ECF033", - "name": "microsoft-outlook", - "codepoint": "F0D22", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6EA8C442-3C67-4AC3-89F9-C628942CA8E0", - "baseIconId": "6EA8C442-3C67-4AC3-89F9-C628942CA8E0", - "name": "microsoft-powerpoint", - "codepoint": "F1390", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D4F99553-AAF4-406A-8C02-71850F75E07E", - "baseIconId": "D4F99553-AAF4-406A-8C02-71850F75E07E", - "name": "microsoft-sharepoint", - "codepoint": "F1391", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "390FC04F-F2A9-44F5-9808-6370A647BAF0", - "baseIconId": "390FC04F-F2A9-44F5-9808-6370A647BAF0", - "name": "microsoft-teams", - "codepoint": "F02BB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "E009DA08-136C-465C-8481-308E99BCA3BF", - "baseIconId": "E009DA08-136C-465C-8481-308E99BCA3BF", - "name": "microsoft-visual-studio", - "codepoint": "F0610", - "aliases": [ - "visualstudio" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6D1D5836-B731-41C4-A829-86E5741A0784", - "baseIconId": "6D1D5836-B731-41C4-A829-86E5741A0784", - "name": "microsoft-visual-studio-code", - "codepoint": "F0A1E", - "aliases": [ - "vs-code" - ], - "styles": [], - "version": "2.5.94", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6E06B49E-5127-4D5A-9C8B-F58BA8943BC4", - "baseIconId": "6E06B49E-5127-4D5A-9C8B-F58BA8943BC4", - "name": "microsoft-windows", - "codepoint": "F05B3", - "aliases": [ - "microsoft-windows" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "AD21ACB2-11A5-4C30-907B-FFF1A5904738", - "baseIconId": "6E06B49E-5127-4D5A-9C8B-F58BA8943BC4", - "name": "microsoft-windows-classic", - "codepoint": "F0A21", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "BBB336AA-A225-44EE-B8AA-14AB109C505D", - "baseIconId": "BBB336AA-A225-44EE-B8AA-14AB109C505D", - "name": "microsoft-word", - "codepoint": "F1392", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "B7B4ECD9-2895-4E36-88A9-5F3AC5D6C264", - "baseIconId": "B7B4ECD9-2895-4E36-88A9-5F3AC5D6C264", - "name": "microsoft-xbox", - "codepoint": "F05B9", - "aliases": [ - "xbox-live", - "microsoft" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Social Media", - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller", - "codepoint": "F05BA", - "aliases": [ - "microsoft-xbox-gamepad" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "57F11EDC-2759-4D62-BDD2-C7C3F5199623", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-battery-alert", - "codepoint": "F074B", - "aliases": [ - "xbox-controller-battery-warning", - "microsoft-xbox-gamepad-battery-alert" - ], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Battery", - "Gaming \/ RPG", - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "738FB781-E590-444B-85B8-1773DDC814E9", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-battery-charging", - "codepoint": "F0A22", - "aliases": [ - "microsoft-xbox-gamepad-battery-charging" - ], - "styles": [], - "version": "2.5.94", - "deprecated": true, - "tags": [ - "Gaming \/ RPG", - "Battery" - ], - "author": "Contributors" - }, - { - "id": "51BB7455-5893-4F47-92D1-B3FD408C2ADC", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-battery-empty", - "codepoint": "F074C", - "aliases": [ - "microsoft-xbox-gamepad-battery-empty" - ], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Battery", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "CC73B4E7-6B14-459D-AED5-35E50655C05C", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-battery-full", - "codepoint": "F074D", - "aliases": [ - "microsoft-xbox-gamepad-battery-full" - ], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Battery", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "B65873D1-4808-4C3C-8AD6-A242D61B1985", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-battery-low", - "codepoint": "F074E", - "aliases": [ - "microsoft-xbox-gamepad-battery-low" - ], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Battery", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "2B434E26-4ECE-4654-BBDC-4FE13CCCEE3E", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-battery-medium", - "codepoint": "F074F", - "aliases": [ - "microsoft-xbox-gamepad-battery-medium" - ], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Battery", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "9CC18C3C-57B6-470C-9F09-80B62ECFABD7", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-battery-unknown", - "codepoint": "F0750", - "aliases": [ - "microsoft-xbox-gamepad-battery-unknown" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Battery", - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "03720A4C-EA6B-4D58-B7D8-5A8DA745B125", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-menu", - "codepoint": "F0E6F", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": true, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "F73FF165-CE6C-4E27-B492-93F3B82C70EE", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-off", - "codepoint": "F05BB", - "aliases": [ - "microsoft-xbox-gamepad-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "38E0BCE2-2A91-4D68-B921-9854E18FFB20", - "baseIconId": "74BB58AC-EF8B-447C-A15D-C444F1F67D93", - "name": "microsoft-xbox-controller-view", - "codepoint": "F0E70", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": true, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "62F69C7A-4CBA-444A-8BFE-E5B7A891CF5D", - "baseIconId": "62F69C7A-4CBA-444A-8BFE-E5B7A891CF5D", - "name": "microwave", - "codepoint": "F0C99", - "aliases": [ - "microwave-oven" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "GreenTurtwig" - }, - { - "id": "8A96C224-F70E-4DBC-996C-57B8591A0D85", - "baseIconId": "62F69C7A-4CBA-444A-8BFE-E5B7A891CF5D", - "name": "microwave-off", - "codepoint": "F1423", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EF5AA157-F8E2-47FB-9A9C-8ACC66A9C2FB", - "baseIconId": "EF5AA157-F8E2-47FB-9A9C-8ACC66A9C2FB", - "name": "middleware", - "codepoint": "F0F5D", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "3F74E489-26F5-4BC9-8567-8935E8E8559A", - "baseIconId": "EF5AA157-F8E2-47FB-9A9C-8ACC66A9C2FB", - "name": "middleware-outline", - "codepoint": "F0F5E", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "57B4C4BB-A8D9-409D-A3A4-E512A4E50CA2", - "baseIconId": "57B4C4BB-A8D9-409D-A3A4-E512A4E50CA2", - "name": "midi", - "codepoint": "F08F1", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Music" - ], - "author": "Contributors" - }, - { - "id": "9AA75C8F-4091-4C92-81A9-DA58CC95E794", - "baseIconId": "9AA75C8F-4091-4C92-81A9-DA58CC95E794", - "name": "midi-port", - "codepoint": "F08F2", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "GreenTurtwig" - }, - { - "id": "F1D9E59B-F221-46E3-91E9-1D98C478CBF3", - "baseIconId": "F1D9E59B-F221-46E3-91E9-1D98C478CBF3", - "name": "mine", - "codepoint": "F0DDA", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "84402452-AA4A-43D6-A26C-A0946B48310C", - "baseIconId": "84402452-AA4A-43D6-A26C-A0946B48310C", - "name": "minecraft", - "codepoint": "F0373", - "aliases": [ - "microsoft-minecraft" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A2E311D2-225E-4AD7-948D-D27AD0362D9F", - "baseIconId": "A2E311D2-225E-4AD7-948D-D27AD0362D9F", - "name": "mini-sd", - "codepoint": "F0A05", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "1BFCC4B4-5BA5-4E64-889D-D64B61EA8D81", - "baseIconId": "1BFCC4B4-5BA5-4E64-889D-D64B61EA8D81", - "name": "minidisc", - "codepoint": "F0A06", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus", - "codepoint": "F0374", - "aliases": [ - "remove", - "horizontal-line", - "minimize" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "6BFAE994-AF2D-4B04-965D-9734631D5F0D", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-box", - "codepoint": "F0375", - "aliases": [ - "indeterminate-check-box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math", - "Form" - ], - "author": "Google" - }, - { - "id": "8B150753-A2AC-4750-B6EC-686D213805DE", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-box-multiple", - "codepoint": "F1141", - "aliases": [ - "library-minus" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FCAD03B0-9332-41AF-9992-AF53DDDF6BBA", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-box-multiple-outline", - "codepoint": "F1142", - "aliases": [ - "library-minus-outline" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D37AECEA-5BC3-4C57-8886-BC6C1A86987D", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-box-outline", - "codepoint": "F06F2", - "aliases": [ - "checkbox-indeterminate-outline" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Math", - "Form" - ], - "author": "Google" - }, - { - "id": "DDEB98E7-E016-44CA-8DE7-A31969C2CC04", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-circle", - "codepoint": "F0376", - "aliases": [ - "do-not-disturb-on", - "remove-circle", - "do-not-enter", - "pill-tablet", - "medicine", - "pharmaceutical" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Medical \/ Hospital", - "Form" - ], - "author": "Google" - }, - { - "id": "C7561067-F057-4E26-B8F1-791BD24E0A2C", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-circle-multiple", - "codepoint": "F035A", - "aliases": [ - "coins-minus" - ], - "styles": [ - "circle", - "minus", - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "313B60B3-A740-4F5B-A63E-A5772C20AC0D", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-circle-multiple-outline", - "codepoint": "F0AD3", - "aliases": [ - "coins-minus-outline" - ], - "styles": [ - "circle", - "minus", - "multiple", - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6A57F7D9-D5F6-42B2-A5E2-D160F7E0DB4B", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-circle-off", - "codepoint": "F1459", - "aliases": [ - "do-not-disturb-off", - "remove-circle-off", - "do-not-enter-off" - ], - "styles": [ - "circle", - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2A82D040-8856-437D-B478-DF448C7BE6A6", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-circle-off-outline", - "codepoint": "F145A", - "aliases": [ - "do-not-disturb-off-outline", - "remove-circle-off-outline", - "do-not-enter-off-outline" - ], - "styles": [ - "circle", - "off", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E1568BA6-EA0E-478F-933F-102F76996D6C", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-circle-outline", - "codepoint": "F0377", - "aliases": [ - "remove-circle-outline", - "do-not-enter-outline", - "do-not-disturb-outline", - "pill-tablet-outline", - "medicine-outline", - "pharmaceutical" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Medical \/ Hospital", - "Form" - ], - "author": "Google" - }, - { - "id": "F48994C7-4A76-43B8-B851-F7389F8B2B59", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-network", - "codepoint": "F0378", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "27A3D3DC-42D9-43CF-B783-8B779BE9AEE6", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-network-outline", - "codepoint": "F0C9A", - "aliases": [], - "styles": [ - "network" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7761450F-6D9D-452D-B604-1853124C09E2", - "baseIconId": "2CEA6B7B-E7C9-4D52-9D9D-286E50001B70", - "name": "minus-thick", - "codepoint": "F1639", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "AB90BAF0-E671-4418-9CBB-74C3F03A94DB", - "baseIconId": "AB90BAF0-E671-4418-9CBB-74C3F03A94DB", - "name": "mirror", - "codepoint": "F11FD", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "91FE9FDB-B4E7-41CC-ABA2-01FF868F612D", - "baseIconId": "AB90BAF0-E671-4418-9CBB-74C3F03A94DB", - "name": "mirror-rectangle", - "codepoint": "F179F", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5E742652-9430-4B8E-9C4C-19F326A74523", - "baseIconId": "AB90BAF0-E671-4418-9CBB-74C3F03A94DB", - "name": "mirror-variant", - "codepoint": "F17A0", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BF0B21D2-7266-4639-B2C4-24199863849D", - "baseIconId": "BF0B21D2-7266-4639-B2C4-24199863849D", - "name": "mixed-martial-arts", - "codepoint": "F0D8F", - "aliases": [ - "mma", - "glove" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "5E441030-6DAA-42F9-AF03-A4EB86AF0A51", - "baseIconId": "5E441030-6DAA-42F9-AF03-A4EB86AF0A51", - "name": "mixed-reality", - "codepoint": "F087F", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "9DD7B3EE-91B8-4D42-A781-2B12B0343C0B", - "baseIconId": "9DD7B3EE-91B8-4D42-A781-2B12B0343C0B", - "name": "molecule", - "codepoint": "F0BAC", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "F3FDFD25-C4F6-4ECF-8F8B-C460E4C6BD7C", - "baseIconId": "F3FDFD25-C4F6-4ECF-8F8B-C460E4C6BD7C", - "name": "molecule-co", - "codepoint": "F12FE", - "aliases": [ - "carbon-monoxide", - "gas-co" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6F7A0011-054A-4805-A970-A48BEAA9454B", - "baseIconId": "6F7A0011-054A-4805-A970-A48BEAA9454B", - "name": "molecule-co2", - "codepoint": "F07E4", - "aliases": [ - "periodic-table-carbon-dioxide", - "gas-co2" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Science", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor", - "codepoint": "F0379", - "aliases": [ - "desktop-windows" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "F40F74F4-288D-495A-9B2E-1C9D3160B272", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-account", - "codepoint": "F1A5B", - "aliases": [ - "teleconference", - "virtual-meeting", - "video-chat" - ], - "styles": [ - "account" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Account \/ User", - "Device \/ Tech" - ], - "author": "John Brissette" - }, - { - "id": "8C772F38-CA90-4CAD-BC26-DE68A84FD6F4", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-arrow-down", - "codepoint": "F19D0", - "aliases": [ - "monitor-download" - ], - "styles": [ - "arrow" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D3299EA1-1120-4457-86B0-7162B329B826", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-arrow-down-variant", - "codepoint": "F19D1", - "aliases": [ - "monitor-download" - ], - "styles": [ - "arrow", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B2A9CF60-30E4-46DC-9116-ED206912B156", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-cellphone", - "codepoint": "F0989", - "aliases": [ - "monitor-mobile-phone", - "monitor-smartphone" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "6665F86B-B97E-4AB8-8476-06B045706183", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-cellphone-star", - "codepoint": "F098A", - "aliases": [ - "important-devices", - "monitor-mobile-phone-star", - "monitor-smartphone-star", - "monitor-cellphone-favorite" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "B4B96C77-6C5D-40A5-83E4-548E48CBECED", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-dashboard", - "codepoint": "F0A07", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "E04B6974-751D-4A55-9309-02336DDB5070", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-edit", - "codepoint": "F12C6", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Richins" - }, - { - "id": "598E13C9-CC60-4FAF-A13A-024B1B4CF1EE", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-eye", - "codepoint": "F13B4", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "MaksUr" - }, - { - "id": "59544B54-B690-47F4-AE30-4A9D9FE08FD1", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-lock", - "codepoint": "F0DDB", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Lock" - ], - "author": "Austin Andrews" - }, - { - "id": "7768BF7B-0A52-4492-88BD-5A482E4D61C3", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-multiple", - "codepoint": "F037A", - "aliases": [ - "monitors" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Chris Litherland" - }, - { - "id": "73F67174-7800-44CB-9850-61A01F9DAD34", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-off", - "codepoint": "F0D90", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "9211237F-8920-49C2-90A6-63D97045F5EB", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-screenshot", - "codepoint": "F0E51", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "905C2321-6A99-46C7-8EE7-D7193A95E5E7", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-share", - "codepoint": "F1483", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E02B1C8D-DA14-4AF2-8EB3-397AD9DAF1AB", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-shimmer", - "codepoint": "F1104", - "aliases": [ - "monitor-clean" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "kevin-hens" - }, - { - "id": "CE677999-FD3D-4120-A755-2EF579A82528", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-small", - "codepoint": "F1876", - "aliases": [ - "monitor-crt" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0D49AB2B-17E4-43B8-B72E-05C4A11500F6", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-speaker", - "codepoint": "F0F5F", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "56879DCE-4616-45D0-A1C2-B9262776840B", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-speaker-off", - "codepoint": "F0F60", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "6E372D46-ECFB-4275-B058-036C89A3413B", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-star", - "codepoint": "F0DDC", - "aliases": [ - "monitor-favorite" - ], - "styles": [ - "star" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "1F476F4F-1689-4729-A5A5-A2BB1C49DC90", - "baseIconId": "35091AEB-2AF7-4F92-A249-2955F01404A3", - "name": "monitor-vertical", - "codepoint": "F1C33", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "F9A81054-5651-47DE-9507-E0743AE78E77", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-first-quarter", - "codepoint": "F0F61", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "536FA8E5-13DF-49A6-9C43-9874847AA01A", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-full", - "codepoint": "F0F62", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "690C3986-7EEB-4DD2-87EE-BEB93A917B14", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-last-quarter", - "codepoint": "F0F63", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-new", - "codepoint": "F0F64", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B324215D-A609-4B93-A859-1A0A24391C01", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-waning-crescent", - "codepoint": "F0F65", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B03A16BE-0679-4635-B2F7-6553C3761211", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-waning-gibbous", - "codepoint": "F0F66", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FAE0DF65-BA66-4F45-B246-35EFD1DF6FF2", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-waxing-crescent", - "codepoint": "F0F67", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6DF419CE-770C-4662-8681-5D8ADE9C789E", - "baseIconId": "1F3CFDCC-7391-4AA6-994C-DCC6F3D28A46", - "name": "moon-waxing-gibbous", - "codepoint": "F0F68", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DC294862-E625-444E-83A4-7D5F2255EE0C", - "baseIconId": "DC294862-E625-444E-83A4-7D5F2255EE0C", - "name": "moped", - "codepoint": "F1086", - "aliases": [ - "scooter", - "vespa", - "delivery-dining" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "5DA43EA9-3DE7-49D8-8884-BB4D8ED31305", - "baseIconId": "DC294862-E625-444E-83A4-7D5F2255EE0C", - "name": "moped-electric", - "codepoint": "F15B7", - "aliases": [ - "scooter-electric", - "vespa-electric", - "delivery-dining-electric" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "FF5A5D35-99C8-475C-B672-362AF0FA9FC6", - "baseIconId": "DC294862-E625-444E-83A4-7D5F2255EE0C", - "name": "moped-electric-outline", - "codepoint": "F15B8", - "aliases": [ - "scooter-electric-outline", - "vespa-electric-outline", - "delivery-dining-electric-outline" - ], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "2C84B4E2-F872-423E-B9E2-918DD013E131", - "baseIconId": "DC294862-E625-444E-83A4-7D5F2255EE0C", - "name": "moped-outline", - "codepoint": "F15B9", - "aliases": [ - "scooter-outline", - "vespa-outline", - "delivery-dining-outline" - ], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "6284690E-A12C-4209-A779-18284E241DE3", - "baseIconId": "6284690E-A12C-4209-A779-18284E241DE3", - "name": "more", - "codepoint": "F037B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C810823C-6678-43F7-8DBB-5D32F503BC59", - "baseIconId": "C810823C-6678-43F7-8DBB-5D32F503BC59", - "name": "mortar-pestle", - "codepoint": "F1748", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "71BD315A-B0C1-4B8B-93CB-2A952C3A7C16", - "baseIconId": "C810823C-6678-43F7-8DBB-5D32F503BC59", - "name": "mortar-pestle-plus", - "codepoint": "F03F1", - "aliases": [ - "chemist", - "local-pharmacy", - "mortar-pestle", - "pharmaceutical" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "55847C89-2AE5-4F91-85AA-761FD8CE57F0", - "baseIconId": "55847C89-2AE5-4F91-85AA-761FD8CE57F0", - "name": "mosque", - "codepoint": "F0D45", - "aliases": [ - "islam", - "muslim" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Google" - }, - { - "id": "60E1CDBF-4EB9-4240-A7F8-B0476CC62CBC", - "baseIconId": "55847C89-2AE5-4F91-85AA-761FD8CE57F0", - "name": "mosque-outline", - "codepoint": "F1827", - "aliases": [ - "islam", - "muslim" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "12E07384-2645-4F67-9A4F-4DA26FA1F75C", - "baseIconId": "12E07384-2645-4F67-9A4F-4DA26FA1F75C", - "name": "mother-heart", - "codepoint": "F1314", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "ACE8B129-F064-47BF-9FD5-AB472736ED43", - "baseIconId": "ACE8B129-F064-47BF-9FD5-AB472736ED43", - "name": "mother-nurse", - "codepoint": "F0D21", - "aliases": [ - "breast-feed" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D5136ED4-FC45-44D8-9DE4-C266844D5131", - "baseIconId": "D5136ED4-FC45-44D8-9DE4-C266844D5131", - "name": "motion", - "codepoint": "F15B2", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0D1E834E-0B33-49ED-B02B-1EA0E966ADE1", - "baseIconId": "D5136ED4-FC45-44D8-9DE4-C266844D5131", - "name": "motion-outline", - "codepoint": "F15B3", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B0DBB2D0-8C87-4DD3-AB7A-4BF35A9BFC6C", - "baseIconId": "B0DBB2D0-8C87-4DD3-AB7A-4BF35A9BFC6C", - "name": "motion-pause", - "codepoint": "F1590", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "DE3F5084-9C1D-459E-B3EC-514C040A9C22", - "baseIconId": "B0DBB2D0-8C87-4DD3-AB7A-4BF35A9BFC6C", - "name": "motion-pause-outline", - "codepoint": "F1592", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "04CF9E56-DAFA-474B-8405-2F554F66AEEC", - "baseIconId": "04CF9E56-DAFA-474B-8405-2F554F66AEEC", - "name": "motion-play", - "codepoint": "F158F", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "520E825E-1F91-4EFA-B16F-488E61C02091", - "baseIconId": "04CF9E56-DAFA-474B-8405-2F554F66AEEC", - "name": "motion-play-outline", - "codepoint": "F1591", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "2607909D-AA27-448A-B0E5-E5898790414A", - "baseIconId": "DA42DA16-21E0-4A08-89E4-F634EBBCF85A", - "name": "motion-sensor", - "codepoint": "F0D91", - "aliases": [ - "motion-detector" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "94EEC5E7-5BF7-456E-8A9C-970E3CD46F55", - "baseIconId": "DA42DA16-21E0-4A08-89E4-F634EBBCF85A", - "name": "motion-sensor-off", - "codepoint": "F1435", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D6AADAF8-D44E-44C0-8647-E578B277441D", - "baseIconId": "D6AADAF8-D44E-44C0-8647-E578B277441D", - "name": "motorbike", - "codepoint": "F037C", - "aliases": [ - "motorcycle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Sport" - ], - "author": "Google" - }, - { - "id": "91B25A35-38AC-497B-A0D8-82053E09E43A", - "baseIconId": "D6AADAF8-D44E-44C0-8647-E578B277441D", - "name": "motorbike-electric", - "codepoint": "F15BA", - "aliases": [ - "motorcycle-electric" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E048C1A8-480D-4289-B026-9D1C64BA4236", - "baseIconId": "D6AADAF8-D44E-44C0-8647-E578B277441D", - "name": "motorbike-off", - "codepoint": "F1B16", - "aliases": [ - "motorcycle-off" - ], - "styles": [ - "off" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse", - "codepoint": "F037D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "82AF407C-1290-4636-9299-E4FBA02EC25F", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse-bluetooth", - "codepoint": "F098B", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "63EB8966-D3A4-40C1-BC5C-BD4B34069D17", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse-move-down", - "codepoint": "F1550", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "63B2417B-4DCD-4DE3-A899-10851795B46F", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse-move-up", - "codepoint": "F1551", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FD9503DC-1ADF-4E78-B0E9-DC3831C6B849", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse-move-vertical", - "codepoint": "F1552", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2FB92E91-9B25-46BF-85D2-BC0A2DB877B1", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse-off", - "codepoint": "F037E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2E7ADC17-384C-4763-9D52-31AFF16BC864", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse-variant", - "codepoint": "F037F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7542DE09-B799-4ED5-8ADB-AE809808FAE1", - "baseIconId": "965CDBD7-9E52-4169-B363-E0428C75C19D", - "name": "mouse-variant-off", - "codepoint": "F0380", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4E3B74C0-3E85-4A50-B5FF-3D6AED1CF016", - "baseIconId": "4E3B74C0-3E85-4A50-B5FF-3D6AED1CF016", - "name": "move-resize", - "codepoint": "F0655", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "7A5B3547-16C4-4000-9082-E13A9139C737", - "baseIconId": "7A5B3547-16C4-4000-9082-E13A9139C737", - "name": "move-resize-variant", - "codepoint": "F0656", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie", - "codepoint": "F0381", - "aliases": [ - "slate", - "clapperboard", - "film", - "movie-creation" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "8B5A9F9F-D0F3-4B9A-844F-D6EE34154837", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-check", - "codepoint": "F16F3", - "aliases": [ - "slate-check", - "clapperboard-check", - "film-check" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "74A2D617-040C-4313-9D9B-CDB2FFDCC0D7", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-check-outline", - "codepoint": "F16F4", - "aliases": [ - "slate-check-outline", - "clapperboard-check-outline", - "film-check-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B06E7709-247C-4F57-BFA6-345C1ABAE8C3", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-cog", - "codepoint": "F16F5", - "aliases": [ - "slate-cog", - "clapperboard-cog", - "film-cog" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "388C5417-3BC7-491F-B708-AD81DCB237C8", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-cog-outline", - "codepoint": "F16F6", - "aliases": [ - "slate-cog-outline", - "clapperboard-cog-outline", - "film-cog-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EBABD564-B269-4D31-995B-062C7EBEFC15", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-edit", - "codepoint": "F1122", - "aliases": [ - "slate-edit", - "clapperboard-edit", - "film-edit" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Edit \/ Modify" - ], - "author": "Christopher Schreiner" - }, - { - "id": "16912257-3D89-4630-9CC5-1FB0EB4A112C", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-edit-outline", - "codepoint": "F1123", - "aliases": [ - "slate-edit-outline", - "clapperboard-edit-outline", - "film-edit-outline" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Edit \/ Modify" - ], - "author": "Christopher Schreiner" - }, - { - "id": "89C25EF5-4F0B-43A3-9B70-8B87E71FAB8A", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-filter", - "codepoint": "F1124", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "90E11F43-169D-46A2-868F-3EE7B8238371", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-filter-outline", - "codepoint": "F1125", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "8437938B-8D4E-4CE9-BE88-D5BBBC39140A", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-minus", - "codepoint": "F16F7", - "aliases": [ - "slate-minus", - "clapperboard-minus", - "film-minus" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "44B3B4FB-C569-4D4D-A463-C2F6B87A584C", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-minus-outline", - "codepoint": "F16F8", - "aliases": [ - "slate-minus-outline", - "clapperboard-minus-outline", - "film-minus-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2260571C-D9DD-4720-AFB7-C54A32585767", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-off", - "codepoint": "F16F9", - "aliases": [ - "slate-off", - "clapperboard-off", - "film-off" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6E94BD0C-39BF-4D74-99BB-738062232A19", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-off-outline", - "codepoint": "F16FA", - "aliases": [ - "slate-off-outline", - "clapperboard-off-outline", - "film-off-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F23718ED-A1EE-42D7-84B2-773E110AAB63", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open", - "codepoint": "F0FCE", - "aliases": [ - "slate-open", - "clapperboard-open", - "film-open", - "movie-creation" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "GreenTurtwig" - }, - { - "id": "C3078403-9C18-4F30-983B-E755B9CBA37B", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-check", - "codepoint": "F16FB", - "aliases": [ - "slate-open-check", - "clapperboard-open-check", - "film-open-check" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3CA87DEB-5A40-4DAF-960B-2AA9A4385F1D", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-check-outline", - "codepoint": "F16FC", - "aliases": [ - "slate-open-check-outline", - "clapperboard-open-check-outline", - "film-open-check-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "20ADB8D7-DA55-463B-A523-9FA0377A1C74", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-cog", - "codepoint": "F16FD", - "aliases": [ - "slate-open-cog", - "clapperboard-open-cog", - "film-open-cog" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F4936EA7-C151-4D41-84CC-4E02BCA4E01B", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-cog-outline", - "codepoint": "F16FE", - "aliases": [ - "slate-open-cog-outline", - "clapperboard-open-cog-outline", - "film-open-cog-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BC0C6C6B-C6BE-4E96-BFAF-782866BCF8C2", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-edit", - "codepoint": "F16FF", - "aliases": [ - "slate-open-edit", - "clapperboard-open-edit", - "film-open-edit" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "83B13E8A-4202-47CF-B67E-34335B0E5B29", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-edit-outline", - "codepoint": "F1700", - "aliases": [ - "slate-open-edit-outline", - "clapperboard-open-edit-outline", - "film-open-edit-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6AF20375-5B60-41D4-B63C-7572F590741C", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-minus", - "codepoint": "F1701", - "aliases": [ - "slate-open-minus", - "clapperboard-open-minus", - "film-open-minus" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "61DDE079-6865-4609-B2F6-2770A3A039E1", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-minus-outline", - "codepoint": "F1702", - "aliases": [ - "slate-open-minus-outline", - "clapperboard-open-minus-outline", - "film-open-minus-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A58F23CF-24CA-42B3-B877-FA9DEA317A3B", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-off", - "codepoint": "F1703", - "aliases": [ - "slate-open-off", - "clapperboard-open-off", - "film-open-off" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AF946982-D5F6-4E17-8B0A-B091A873F86E", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-off-outline", - "codepoint": "F1704", - "aliases": [ - "slate-open-off-outline", - "clapperboard-open-off-outline", - "film-open-off-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "17E4DACC-FDBF-4206-9F03-428157B91803", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-outline", - "codepoint": "F0FCF", - "aliases": [ - "slate-open-outline", - "clapperboard-open-outline", - "film-open-outline", - "movie-creation" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "GreenTurtwig" - }, - { - "id": "F3CB37FD-2C97-4CD1-83C0-18677B81DAC6", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-play", - "codepoint": "F1705", - "aliases": [ - "slate-open-play", - "clapperboard-open-play", - "film-open-play" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C855F888-FB96-40F5-9346-6B7A993C960A", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-play-outline", - "codepoint": "F1706", - "aliases": [ - "slate-open-play-outline", - "clapperboard-open-play-outline", - "film-open-play-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C9068163-63A6-44B7-BE11-2FCE6B427CF6", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-plus", - "codepoint": "F1707", - "aliases": [ - "clapperboard-open-plus", - "slate-open-plus", - "flim-open-plus" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A060D40D-A702-4EA0-9B66-95C31103C223", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-plus-outline", - "codepoint": "F1708", - "aliases": [ - "slate-open-plus-outline", - "clapperboard-open-plus-outline", - "film-open-plus-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1AA27DAA-CD6F-41C5-BB25-8860B368DC0B", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-remove", - "codepoint": "F1709", - "aliases": [ - "slate-open-remove", - "clapperboard-open-remove", - "film-open-remove" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "320C9DCC-5845-46F6-B3E6-412D22B8BF47", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-remove-outline", - "codepoint": "F170A", - "aliases": [ - "slate-open-remove-outline", - "clapperboard-open-remove-outline", - "film-open-remove-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FC6ECE54-744A-4A77-B032-897B24064048", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-settings", - "codepoint": "F170B", - "aliases": [ - "slate-open-settings", - "clapperboard-open-settings", - "film-open-settings" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C481209F-DE3F-4D25-8C4F-0D21CB8D3385", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-settings-outline", - "codepoint": "F170C", - "aliases": [ - "slate-open-settings-outline", - "clapperboard-open-settings-outline", - "film-open-settings-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D370E43D-3692-4654-B67E-12AA40956EF3", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-star", - "codepoint": "F170D", - "aliases": [ - "slate-open-star", - "clapperboard-open-star", - "film-open-star", - "movie-open-favorite" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "85F303FB-9847-450E-BF4B-7A38C86386AF", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-open-star-outline", - "codepoint": "F170E", - "aliases": [ - "slate-open-star-outline", - "clapperboard-open-star-outline", - "film-open-star-outline", - "movie-open-favorite-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8198AA61-F267-4A56-B9D8-5D492B519545", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-outline", - "codepoint": "F0DDD", - "aliases": [ - "slate-outline", - "clapperboard-outline", - "film-outline" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "44B019DA-A010-4B5F-AF03-61DBCC6206DD", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-play", - "codepoint": "F170F", - "aliases": [ - "slate-play", - "clapperboard-play", - "film-play" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "48071069-C2BD-4B35-97A1-0167DB7B1B13", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-play-outline", - "codepoint": "F1710", - "aliases": [ - "slate-play-outline", - "clapperboard-play-outline", - "film-play-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "543E83B1-B4CD-4D26-9813-A7F23C44AC5F", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-plus", - "codepoint": "F1711", - "aliases": [ - "slate-plus", - "clapperboard-plus", - "film-plus" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1171D3A1-94AD-4DF5-81E0-D7800C05A0AC", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-plus-outline", - "codepoint": "F1712", - "aliases": [ - "slate-plus-outline", - "clapperboard-plus-outline", - "film-plus-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A55FA4A8-DD49-4A4E-8DC0-ED7979F2469B", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-remove", - "codepoint": "F1713", - "aliases": [ - "slate-remove", - "clapperboard-remove", - "film-remove" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6FC268E0-F315-4818-B25F-0576DA4B9A84", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-remove-outline", - "codepoint": "F1714", - "aliases": [ - "slate-remove-outline", - "clapperboard-remove-outline", - "film-remove-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "21D0F9FB-6814-4CE7-B37D-FC97EBF1D0D2", - "baseIconId": "21D0F9FB-6814-4CE7-B37D-FC97EBF1D0D2", - "name": "movie-roll", - "codepoint": "F07DE", - "aliases": [ - "film-reel" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "fraaalk" - }, - { - "id": "83E13559-040A-4EB7-BBA5-A2455CCEBBB9", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-search", - "codepoint": "F11D2", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "frankgrinaert" - }, - { - "id": "8BF9EEDF-1AE8-4382-8544-3F650525371B", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-search-outline", - "codepoint": "F11D3", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "frankgrinaert" - }, - { - "id": "0A90A107-BB52-4DBA-BC4F-E285D87EB4DF", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-settings", - "codepoint": "F1715", - "aliases": [ - "slate-settings", - "clapperboard-settings", - "film-settings" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D90C8E93-5B99-4604-A597-5DA45FC3CEB2", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-settings-outline", - "codepoint": "F1716", - "aliases": [ - "slate-settings-outline", - "clapperboard-settings-outline", - "film-settings-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "07D0534A-0D01-428A-8915-0C3930BE8C41", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-star", - "codepoint": "F1717", - "aliases": [ - "slate-star", - "clapperboard-star", - "film-star", - "movie-favorite" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "31542EFD-68FE-435F-8B00-1BDFB218D9E2", - "baseIconId": "122C53AA-C8BC-41B3-89B2-B9A9F8BB56DC", - "name": "movie-star-outline", - "codepoint": "F1718", - "aliases": [ - "slate-star-outline", - "clapperboard-star-outline", - "film-star-outline", - "movie-favorite-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Colton Wiscombe" - }, - { - "id": "27842852-CDEB-4575-AAEB-D7F15F0928F8", - "baseIconId": "27842852-CDEB-4575-AAEB-D7F15F0928F8", - "name": "mower", - "codepoint": "F166F", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1AF71C6B-087D-493D-81B4-8BDD6A07B2ED", - "baseIconId": "27842852-CDEB-4575-AAEB-D7F15F0928F8", - "name": "mower-bag", - "codepoint": "F1670", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E6E507D5-3440-4E48-A346-3EAA70810BA6", - "baseIconId": "27842852-CDEB-4575-AAEB-D7F15F0928F8", - "name": "mower-bag-on", - "codepoint": "F1B60", - "aliases": [], - "styles": [ - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Home Automation" - ], - "author": "Andrej Sharapov" - }, - { - "id": "6DE40A54-9555-4B66-A698-0B22894BDE68", - "baseIconId": "27842852-CDEB-4575-AAEB-D7F15F0928F8", - "name": "mower-on", - "codepoint": "F1B5F", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Home Automation" - ], - "author": "Andrej Sharapov" - }, - { - "id": "730FEADE-1281-422D-9E31-9DF7D06AD4E3", - "baseIconId": "730FEADE-1281-422D-9E31-9DF7D06AD4E3", - "name": "muffin", - "codepoint": "F098C", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nick" - }, - { - "id": "8D4D600F-56EB-488D-992A-24B393EE6D47", - "baseIconId": "8D4D600F-56EB-488D-992A-24B393EE6D47", - "name": "multicast", - "codepoint": "F1893", - "aliases": [ - "multiplex", - "broadcast" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "2EE192A7-497B-41B8-B68A-34A32B8445F2", - "baseIconId": "2EE192A7-497B-41B8-B68A-34A32B8445F2", - "name": "multimedia", - "codepoint": "F1B97", - "aliases": [ - "audio", - "video", - "image", - "music", - "movie", - "picture" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Audio", - "Video \/ Movie", - "Photography" - ], - "author": "Michael Irigoyen" - }, - { - "id": "489C9004-CF90-483E-83E3-CD40DD5B9ACF", - "baseIconId": "489C9004-CF90-483E-83E3-CD40DD5B9ACF", - "name": "multiplication", - "codepoint": "F0382", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "38DF4F2F-85CF-4F71-B170-AAAAF25799E0", - "baseIconId": "489C9004-CF90-483E-83E3-CD40DD5B9ACF", - "name": "multiplication-box", - "codepoint": "F0383", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "FCA4F099-5FCB-43DE-8166-2CE30508C1EC", - "baseIconId": "FCA4F099-5FCB-43DE-8166-2CE30508C1EC", - "name": "mushroom", - "codepoint": "F07DF", - "aliases": [ - "fungus" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Nature", - "Food \/ Drink", - "Agriculture" - ], - "author": "Chris Thron" - }, - { - "id": "F061399A-D4F9-49C6-B70A-B4D2603699AC", - "baseIconId": "FCA4F099-5FCB-43DE-8166-2CE30508C1EC", - "name": "mushroom-off", - "codepoint": "F13FA", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Nature", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5421FAF8-CBB9-43C7-A8C1-EE90C949DD56", - "baseIconId": "FCA4F099-5FCB-43DE-8166-2CE30508C1EC", - "name": "mushroom-off-outline", - "codepoint": "F13FB", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Nature", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D6C17EB7-0A54-4ECA-81AA-86311E311934", - "baseIconId": "FCA4F099-5FCB-43DE-8166-2CE30508C1EC", - "name": "mushroom-outline", - "codepoint": "F07E0", - "aliases": [ - "fungus-outline" - ], - "styles": [ - "outline" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Nature", - "Food \/ Drink", - "Agriculture" - ], - "author": "Chris Thron" - }, - { - "id": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music", - "codepoint": "F075A", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "0273309C-CE51-4243-8EDF-F86B0B73AAE4", - "baseIconId": "1ED310B2-EE64-4011-B725-3D4FFB10E26A", - "name": "music-accidental-double-flat", - "codepoint": "F0F69", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "89EC2121-104F-4814-849A-AF9AA744E239", - "baseIconId": "6FD5E083-A276-4433-8D67-FBC8D9163719", - "name": "music-accidental-double-sharp", - "codepoint": "F0F6A", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1ED310B2-EE64-4011-B725-3D4FFB10E26A", - "baseIconId": "1ED310B2-EE64-4011-B725-3D4FFB10E26A", - "name": "music-accidental-flat", - "codepoint": "F0F6B", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4AA4E035-3A6F-40FA-8355-A38F9294E399", - "baseIconId": "4AA4E035-3A6F-40FA-8355-A38F9294E399", - "name": "music-accidental-natural", - "codepoint": "F0F6C", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6FD5E083-A276-4433-8D67-FBC8D9163719", - "baseIconId": "6FD5E083-A276-4433-8D67-FBC8D9163719", - "name": "music-accidental-sharp", - "codepoint": "F0F6D", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2EDBEBA6-8590-4049-BB28-8959378DC44C", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-box", - "codepoint": "F0384", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "56F24AF4-9E5B-4E53-89ED-3472E08C9466", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-box-multiple", - "codepoint": "F0333", - "aliases": [ - "library-music" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "16F694B0-E5B4-4262-91AE-DB3D0C73EEC0", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-box-multiple-outline", - "codepoint": "F0F04", - "aliases": [ - "library-music-outline" - ], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9E8ADF62-9136-40F3-BED9-54A2934B4B3B", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-box-outline", - "codepoint": "F0385", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "33A79A85-7985-4E08-8AA8-D6242A9C2700", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-circle", - "codepoint": "F0386", - "aliases": [ - "note-circle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "C8E3DFB3-2F22-489D-90F5-D8C47B66DB3C", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-circle-outline", - "codepoint": "F0AD4", - "aliases": [ - "note-circle-outline" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Music", - "Audio" - ], - "author": "Austin Andrews" - }, - { - "id": "9AA4CF34-3341-41F7-AC35-E8556A91787B", - "baseIconId": "9AA4CF34-3341-41F7-AC35-E8556A91787B", - "name": "music-clef-alto", - "codepoint": "F0F6E", - "aliases": [ - "music-c-clef", - "music-clef-tenor", - "music-clef-soprano", - "music-clef-baritone" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Haley Halcyon" - }, - { - "id": "279EAB4C-7D62-4C41-A67F-2928723476DA", - "baseIconId": "7ED69559-58ED-432E-800F-9B8DE4CD53A2", - "name": "music-clef-bass", - "codepoint": "F0F6F", - "aliases": [ - "music-f-clef" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Haley Halcyon" - }, - { - "id": "7ED69559-58ED-432E-800F-9B8DE4CD53A2", - "baseIconId": "7ED69559-58ED-432E-800F-9B8DE4CD53A2", - "name": "music-clef-treble", - "codepoint": "F0F70", - "aliases": [ - "music-g-clef" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Haley Halcyon" - }, - { - "id": "05F3F5DD-59CC-4FBD-9428-0D0CB125A8AE", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note", - "codepoint": "F0387", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "40A9BA37-B1BD-4869-A3F9-8F534258DB3F", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-bluetooth", - "codepoint": "F05FE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Simran" - }, - { - "id": "98CC5D8B-5D4B-4379-8FFF-1C7FEA82672C", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-bluetooth-off", - "codepoint": "F05FF", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Simran" - }, - { - "id": "44EDC206-CF12-4DA5-8DA6-E72FDC35BBD2", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-eighth", - "codepoint": "F0388", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "9E5589FE-17DF-4167-9DDE-D41D6503B433", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-eighth-dotted", - "codepoint": "F0F71", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2F2FC9A9-FAC3-4736-B8EC-B7DF9548586C", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-half", - "codepoint": "F0389", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "53666387-B7D7-4C48-96B9-3D6CAA6E2468", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-half-dotted", - "codepoint": "F0F72", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F6A55EE0-3A9F-4A76-9711-D752F54005FA", - "baseIconId": "05F3F5DD-59CC-4FBD-9428-0D0CB125A8AE", - "name": "music-note-minus", - "codepoint": "F1B89", - "aliases": [], - "styles": [ - "minus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "08305F79-B7E4-4FC9-9B5B-8E76920C3DCC", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-off", - "codepoint": "F038A", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "C47B2AE6-FB1F-4E54-A951-AD26609ECB80", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-off-outline", - "codepoint": "F0F73", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5888AA23-7D87-46D3-83F3-1AB820E9F77D", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-outline", - "codepoint": "F0F74", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "ED5D1835-D69E-458A-9CCE-F1B81EB831D2", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-plus", - "codepoint": "F0DDE", - "aliases": [ - "music-note-add" - ], - "styles": [ - "plus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "GreenTurtwig" - }, - { - "id": "D71DFC98-3401-4268-9956-3EFEEE336235", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-quarter", - "codepoint": "F038B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "56364DE5-01AE-4702-BC79-F85D07E485C7", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-quarter-dotted", - "codepoint": "F0F75", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "882DF0E2-C223-4B3F-A538-81EC05421BA9", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-sixteenth", - "codepoint": "F038C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "F98989F8-DE11-42A7-A814-5C988CBD7989", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-sixteenth-dotted", - "codepoint": "F0F76", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "13454604-C50C-4381-AC96-552848F0DF9E", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-whole", - "codepoint": "F038D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "6A2B3740-C02F-4097-9713-80C34636CA12", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-note-whole-dotted", - "codepoint": "F0F77", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E9D8BB99-B31B-4940-9EEE-B69569060B0D", - "baseIconId": "E7DA3CF2-C345-441D-BFC2-ABC4DB195A6A", - "name": "music-off", - "codepoint": "F075B", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Austin Andrews" - }, - { - "id": "D77BE879-A1D5-48F5-9068-B74A2ED4017A", - "baseIconId": "64309B5C-51CC-42D0-B2D1-F42454CC1E2E", - "name": "music-rest-eighth", - "codepoint": "F0F78", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C9124F85-BB56-414C-BEAF-EE02E921B6D2", - "baseIconId": "64309B5C-51CC-42D0-B2D1-F42454CC1E2E", - "name": "music-rest-half", - "codepoint": "F0F79", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "64309B5C-51CC-42D0-B2D1-F42454CC1E2E", - "baseIconId": "64309B5C-51CC-42D0-B2D1-F42454CC1E2E", - "name": "music-rest-quarter", - "codepoint": "F0F7A", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E7CCD9CF-3FC1-44F0-996B-841B293B1793", - "baseIconId": "64309B5C-51CC-42D0-B2D1-F42454CC1E2E", - "name": "music-rest-sixteenth", - "codepoint": "F0F7B", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E11E01A9-8231-456F-AF61-82A069BBDAAB", - "baseIconId": "64309B5C-51CC-42D0-B2D1-F42454CC1E2E", - "name": "music-rest-whole", - "codepoint": "F0F7C", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "766E10EA-23CD-42BD-9DB8-633FBF8C584A", - "baseIconId": "766E10EA-23CD-42BD-9DB8-633FBF8C584A", - "name": "mustache", - "codepoint": "F15DE", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D1A8C00E-5FE4-4016-9C38-40CD9804D7C9", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "nail", - "codepoint": "F0DDF", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "001157C4-1AAA-41FF-B204-906ACDB427C3", - "baseIconId": "001157C4-1AAA-41FF-B204-906ACDB427C3", - "name": "nas", - "codepoint": "F08F3", - "aliases": [ - "network-attached-storage" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A69196BD-730F-4684-8604-8668FD60183A", - "baseIconId": "A69196BD-730F-4684-8604-8668FD60183A", - "name": "nativescript", - "codepoint": "F0880", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C5FCAD4F-C7E6-4BDB-9F2F-A665CB68B7FD", - "baseIconId": "C5FCAD4F-C7E6-4BDB-9F2F-A665CB68B7FD", - "name": "nature", - "codepoint": "F038E", - "aliases": [ - "plant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "EB1EF432-4028-4431-BED1-9E446BCFCA09", - "baseIconId": "C5FCAD4F-C7E6-4BDB-9F2F-A665CB68B7FD", - "name": "nature-outline", - "codepoint": "F1C71", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "B0635A70-D2A9-41CE-82C6-3FB1D1D353B4", - "baseIconId": "C5FCAD4F-C7E6-4BDB-9F2F-A665CB68B7FD", - "name": "nature-people", - "codepoint": "F038F", - "aliases": [ - "plant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User", - "Nature" - ], - "author": "Google" - }, - { - "id": "2DE09F55-8A0A-4D95-BC0E-3D7C5E55D609", - "baseIconId": "C5FCAD4F-C7E6-4BDB-9F2F-A665CB68B7FD", - "name": "nature-people-outline", - "codepoint": "F1C72", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Account \/ User", - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "DAAF6988-6EE9-4595-A758-294C83C7304B", - "baseIconId": "DAAF6988-6EE9-4595-A758-294C83C7304B", - "name": "navigation", - "codepoint": "F0390", - "aliases": [ - "arrow-compass" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Google" - }, - { - "id": "8CEE19E5-13B9-4AFF-8880-B04D36B144BA", - "baseIconId": "DAAF6988-6EE9-4595-A758-294C83C7304B", - "name": "navigation-outline", - "codepoint": "F1607", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Google" - }, - { - "id": "FAF89CE7-022F-4AD0-BCB6-0F4F22EE0B26", - "baseIconId": "DAAF6988-6EE9-4595-A758-294C83C7304B", - "name": "navigation-variant", - "codepoint": "F18F0", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Google" - }, - { - "id": "23292DC7-A187-4818-8944-1144B38E183C", - "baseIconId": "DAAF6988-6EE9-4595-A758-294C83C7304B", - "name": "navigation-variant-outline", - "codepoint": "F18F1", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Google" - }, - { - "id": "6766F53D-88E4-452A-A222-7F50DDFB757C", - "baseIconId": "6766F53D-88E4-452A-A222-7F50DDFB757C", - "name": "near-me", - "codepoint": "F05CD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "70C6DD45-DD16-4629-8BBA-B60FB5D60382", - "baseIconId": "70C6DD45-DD16-4629-8BBA-B60FB5D60382", - "name": "necklace", - "codepoint": "F0F0B", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Michael Richins" - }, - { - "id": "2B76647F-92FE-4F8E-B193-7EC20DADD5D2", - "baseIconId": "2B76647F-92FE-4F8E-B193-7EC20DADD5D2", - "name": "needle", - "codepoint": "F0391", - "aliases": [ - "syringe", - "injection", - "medicine", - "shot", - "drug", - "immunization", - "pharmaceutical" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "EF95D4D3-9095-412A-A109-BF170FA2A1D9", - "baseIconId": "2B76647F-92FE-4F8E-B193-7EC20DADD5D2", - "name": "needle-off", - "codepoint": "F19D2", - "aliases": [ - "syringe-off", - "injection-off", - "medicine-off", - "shot-off", - "drug-off", - "immunization-off", - "pharmaceutical-off" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7AEF7097-EC88-4D09-A65E-5244DDA99599", - "baseIconId": "7AEF7097-EC88-4D09-A65E-5244DDA99599", - "name": "netflix", - "codepoint": "F0746", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "089C6F75-2FF5-4B48-B4B4-651AEAD3D24F", - "baseIconId": "089C6F75-2FF5-4B48-B4B4-651AEAD3D24F", - "name": "network", - "codepoint": "F06F3", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B4F8AA0D-E5C6-4FC1-A91C-A7E47269FB31", - "baseIconId": "089C6F75-2FF5-4B48-B4B4-651AEAD3D24F", - "name": "network-off", - "codepoint": "F0C9B", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6CFA3244-3420-4234-BFC6-80DEA8F38CCC", - "baseIconId": "089C6F75-2FF5-4B48-B4B4-651AEAD3D24F", - "name": "network-off-outline", - "codepoint": "F0C9C", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D6F66231-B4F7-4E89-80D5-D9DDD2354D02", - "baseIconId": "089C6F75-2FF5-4B48-B4B4-651AEAD3D24F", - "name": "network-outline", - "codepoint": "F0C9D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D9BB8F7B-1014-42A4-BBC3-3ED704847943", - "baseIconId": "089C6F75-2FF5-4B48-B4B4-651AEAD3D24F", - "name": "network-pos", - "codepoint": "F1ACB", - "aliases": [ - "network-point-of-sale", - "network-cash-box" - ], - "styles": [ - "network" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "emeraldmor" - }, - { - "id": "7AEB6E6A-4B4E-42C3-9AB2-1F47FE1BD29B", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-1", - "codepoint": "F08F4", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "9C2C41A2-7BA9-46C3-B017-941C7B2C2E60", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-1-alert", - "codepoint": "F08F5", - "aliases": [ - "network-strength-1-warning" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "DF3CEC8C-F6B7-467B-833C-92FE260C6A73", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-2", - "codepoint": "F08F6", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "DB8EEB5C-3705-4DE7-A770-D63ACE14F1BD", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-2-alert", - "codepoint": "F08F7", - "aliases": [ - "network-strength-2-warning" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "7FAA15D1-1E1D-41F5-98F0-1B640DFB0688", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-3", - "codepoint": "F08F8", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "99771A39-B621-45BA-96BE-7589E5A85B9E", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-3-alert", - "codepoint": "F08F9", - "aliases": [ - "network-strength-3-warning" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-4", - "codepoint": "F08FA", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "1173684B-E68C-4BE5-BD9C-53C01A619896", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-4-alert", - "codepoint": "F08FB", - "aliases": [ - "network-strength-4-warning" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "AB7248F1-C9F3-4EF3-ACD5-8B7EE11771C3", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-4-cog", - "codepoint": "F191A", - "aliases": [ - "network-strength-4-settings", - "data-settings" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E3FEE803-9C91-4BAE-9528-D016588E99AD", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-off", - "codepoint": "F08FC", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "E7A4CEE7-C6E2-4FD6-B0BF-B3DD131100CB", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-off-outline", - "codepoint": "F08FD", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "5A80D579-DF12-4B68-AAD8-AFE8039E6657", - "baseIconId": "87FF7D68-6F78-44AB-80C4-DC7FE976E3A3", - "name": "network-strength-outline", - "codepoint": "F08FE", - "aliases": [ - "network-strength-0" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "1ABEE375-A0DC-4262-9CCD-3B9C78B5FE7D", - "baseIconId": "1ABEE375-A0DC-4262-9CCD-3B9C78B5FE7D", - "name": "new-box", - "codepoint": "F0394", - "aliases": [ - "fiber-new" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EE440B14-2E25-4C8E-99A7-A3C98CBC9151", - "baseIconId": "EE440B14-2E25-4C8E-99A7-A3C98CBC9151", - "name": "newspaper", - "codepoint": "F0395", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F329B5C0-F6CC-4402-B4BF-A8744C9D802E", - "baseIconId": "EE440B14-2E25-4C8E-99A7-A3C98CBC9151", - "name": "newspaper-check", - "codepoint": "F1943", - "aliases": [], - "styles": [ - "check" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4949C4CF-3395-466E-B459-9FEBA1BFD1AC", - "baseIconId": "EE440B14-2E25-4C8E-99A7-A3C98CBC9151", - "name": "newspaper-minus", - "codepoint": "F0F0C", - "aliases": [], - "styles": [ - "minus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7B4B8A85-6E8F-4C2B-938C-58DF98E8823B", - "baseIconId": "EE440B14-2E25-4C8E-99A7-A3C98CBC9151", - "name": "newspaper-plus", - "codepoint": "F0F0D", - "aliases": [], - "styles": [ - "plus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9E4ABD6C-A1C6-4209-B977-83A7A03667A8", - "baseIconId": "EE440B14-2E25-4C8E-99A7-A3C98CBC9151", - "name": "newspaper-remove", - "codepoint": "F1944", - "aliases": [], - "styles": [ - "remove" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B7E3A571-DF01-4CBF-A3AE-CDEF835F2A21", - "baseIconId": "B7E3A571-DF01-4CBF-A3AE-CDEF835F2A21", - "name": "newspaper-variant", - "codepoint": "F1001", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2672B224-C14E-41B7-B7F2-632CA02F9D3B", - "baseIconId": "B7E3A571-DF01-4CBF-A3AE-CDEF835F2A21", - "name": "newspaper-variant-multiple", - "codepoint": "F1002", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "687B9CDE-25C6-49DF-B28F-051B30FD11D3", - "baseIconId": "B7E3A571-DF01-4CBF-A3AE-CDEF835F2A21", - "name": "newspaper-variant-multiple-outline", - "codepoint": "F1003", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1859420B-45AE-4AC1-AC8D-91AB0FF84BBA", - "baseIconId": "B7E3A571-DF01-4CBF-A3AE-CDEF835F2A21", - "name": "newspaper-variant-outline", - "codepoint": "F1004", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "961106B7-BD56-462C-936C-E2CDC83051B5", - "baseIconId": "961106B7-BD56-462C-936C-E2CDC83051B5", - "name": "nfc", - "codepoint": "F0396", - "aliases": [ - "near-field-communication" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2AD73512-8D95-4CCB-8A7E-528E70F510B9", - "baseIconId": "4DFF5414-0EA3-4255-BC50-B40B0E3ADB15", - "name": "nfc-search-variant", - "codepoint": "F0E53", - "aliases": [], - "styles": [ - "search" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Terren" - }, - { - "id": "656C274C-CDC8-4FB6-AFFA-F704784BC997", - "baseIconId": "656C274C-CDC8-4FB6-AFFA-F704784BC997", - "name": "nfc-tap", - "codepoint": "F0397", - "aliases": [ - "near-field-communication-tap" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4DFF5414-0EA3-4255-BC50-B40B0E3ADB15", - "baseIconId": "4DFF5414-0EA3-4255-BC50-B40B0E3ADB15", - "name": "nfc-variant", - "codepoint": "F0398", - "aliases": [ - "near-field-communication-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "2BD17DBC-5002-4378-B885-A1952D740C0B", - "baseIconId": "4DFF5414-0EA3-4255-BC50-B40B0E3ADB15", - "name": "nfc-variant-off", - "codepoint": "F0E54", - "aliases": [ - "near-field-communication-off" - ], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "TheChilliPL" - }, - { - "id": "8E7C1B4B-C4E8-4072-9FB7-90E207038FFB", - "baseIconId": "8E7C1B4B-C4E8-4072-9FB7-90E207038FFB", - "name": "ninja", - "codepoint": "F0774", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A067CF52-3D9E-43DB-9542-44BE780B4117", - "baseIconId": "A067CF52-3D9E-43DB-9542-44BE780B4117", - "name": "nintendo-game-boy", - "codepoint": "F1393", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "GreenTurtwig" - }, - { - "id": "D57C5D23-1122-4DEB-BEC4-77D5A4D685FE", - "baseIconId": "D57C5D23-1122-4DEB-BEC4-77D5A4D685FE", - "name": "nintendo-switch", - "codepoint": "F07E1", - "aliases": [ - "nintendo-switch-online" - ], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "AA2F2BCF-A9BD-4B3A-83A4-880E518F9428", - "baseIconId": "AA2F2BCF-A9BD-4B3A-83A4-880E518F9428", - "name": "nintendo-wii", - "codepoint": "F05AB", - "aliases": [ - "nintendo-wii" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "7D322B2B-5B7D-46B4-ACC3-A8900CFED5C9", - "baseIconId": "7D322B2B-5B7D-46B4-ACC3-A8900CFED5C9", - "name": "nintendo-wiiu", - "codepoint": "F072D", - "aliases": [ - "nintendo-wiiu" - ], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "525A43D5-4292-4C31-9E7D-7B65DB386BF9", - "baseIconId": "525A43D5-4292-4C31-9E7D-7B65DB386BF9", - "name": "nix", - "codepoint": "F1105", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "46A696BA-7A78-40C1-A685-C9B9851286A6", - "baseIconId": "46A696BA-7A78-40C1-A685-C9B9851286A6", - "name": "nodejs", - "codepoint": "F0399", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "1655675D-A197-44BD-83E9-76E2BAD31740", - "baseIconId": "1655675D-A197-44BD-83E9-76E2BAD31740", - "name": "noodles", - "codepoint": "F117E", - "aliases": [ - "food-ramen", - "asian-noodles" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "A301F5C0-B760-4EA0-B803-DEF84D1B01CD", - "baseIconId": "A301F5C0-B760-4EA0-B803-DEF84D1B01CD", - "name": "not-equal", - "codepoint": "F098D", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "AF2B1665-3D54-4017-BF7C-AE03A7C6AA52", - "baseIconId": "AF2B1665-3D54-4017-BF7C-AE03A7C6AA52", - "name": "not-equal-variant", - "codepoint": "F098E", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note", - "codepoint": "F039A", - "aliases": [ - "paper", - "sticky-note", - "post-it-note" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1673B5E0-CB7A-4430-9D36-9B42F1189D4F", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-alert", - "codepoint": "F177D", - "aliases": [ - "paper-alert", - "sticky-note-alert", - "post-it-note-alert" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "52710BFA-E892-49B7-9157-8C9A5E08BC21", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-alert-outline", - "codepoint": "F177E", - "aliases": [ - "paper-alert-outline", - "post-it-note-alert-outline", - "sticky-note-alert-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A4B7F3B4-25B2-4786-A02F-FDA4F963E580", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-check", - "codepoint": "F177F", - "aliases": [ - "paper-check", - "sticky-note-check", - "post-it-note-check" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "827B10E4-F154-4101-BB5C-492EA37B7D08", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-check-outline", - "codepoint": "F1780", - "aliases": [ - "paper-check-outline", - "sticky-note-check-outline", - "post-it-note-check-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "80075448-6EB3-4318-9887-6C199DB9A86E", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-edit", - "codepoint": "F1781", - "aliases": [ - "paper-edit", - "sticky-note-edit", - "post-it-note-edit" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DD82356F-AF1D-4A08-A740-880F31AE563D", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-edit-outline", - "codepoint": "F1782", - "aliases": [ - "paper-edit-outline", - "sticky-note-edit-outline", - "post-it-note-edit-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5F9984C8-D7D1-42A8-9167-52B0B849CF22", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-minus", - "codepoint": "F164F", - "aliases": [ - "paper-minus", - "sticky-note-minus", - "post-it-note-minus" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "244AEF5D-38E8-42E6-9C4F-8D4AFF831651", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-minus-outline", - "codepoint": "F1650", - "aliases": [ - "paper-minus-outline", - "sticky-note-minus-outline", - "post-it-note-minus-outline" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "0A0E42BA-FE9D-44C6-BF6A-D29D6013F2E0", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-multiple", - "codepoint": "F06B8", - "aliases": [ - "notes", - "papers", - "sticky-notes", - "post-it-notes" - ], - "styles": [], - "version": "1.7.22", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "6294246C-A524-4121-B141-5262D89FFD4D", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-multiple-outline", - "codepoint": "F06B9", - "aliases": [ - "notes-outline", - "papers-outline", - "sticky-notes-outline", - "post-it-notes-outline" - ], - "styles": [], - "version": "1.7.22", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9EE3CDDD-BFF7-4BCF-B07E-B120D646DE0D", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-off", - "codepoint": "F1783", - "aliases": [ - "paper-off", - "sticky-note-off", - "post-it-note-off" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "321C9AFB-4A83-4B8F-A361-ADFA32318258", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-off-outline", - "codepoint": "F1784", - "aliases": [ - "paper-off-outline", - "sticky-note-off-outline", - "post-it-note-off-outline" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "DD6D5075-A7F5-4183-9F99-93C295F18B0B", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-outline", - "codepoint": "F039B", - "aliases": [ - "paper-outline", - "sticky-note-outline", - "post-it-note-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "753F2E09-A32F-4790-9C07-7CD9AB69104D", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-plus", - "codepoint": "F039C", - "aliases": [ - "note-add", - "paper-plus", - "paper-add", - "sticky-note-plus", - "sticky-note-add", - "post-it-note-plus", - "post-it-note-add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "706F4C63-412B-44CD-81DE-612D4483D09C", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-plus-outline", - "codepoint": "F039D", - "aliases": [ - "note-add-outline", - "paper-plus-outline", - "paper-add-outline", - "sticky-note-plus-outline", - "sticky-note-add-outline", - "post-it-note-plus-outline", - "post-it-note-add-outline" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "948C92D0-A16F-48FD-8A25-37898D6B9768", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-remove", - "codepoint": "F1651", - "aliases": [ - "paper-remove", - "sticky-note-remove", - "post-it-note-remove" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4F471FC1-C060-4081-9866-21830957AE90", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-remove-outline", - "codepoint": "F1652", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "D914BB12-8F9A-4B71-86A0-DA016AA91B90", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-search", - "codepoint": "F1653", - "aliases": [ - "paper-search", - "sticky-note-search", - "post-it-note-search" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "FAA55692-47B7-492B-897A-9225E7F0C766", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-search-outline", - "codepoint": "F1654", - "aliases": [ - "paper-search-outline", - "sticky-note-search-outline", - "post-it-note-search-outline" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2ADC4253-F51B-4BC2-B04C-0DDD139425CF", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-text", - "codepoint": "F039E", - "aliases": [ - "paper-text", - "sticky-note-text", - "post-it-note-text" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E39F6865-3E35-4BE8-8440-643FC83351F7", - "baseIconId": "5E1DF73F-AEF5-48F8-B766-419FBB05C5D0", - "name": "note-text-outline", - "codepoint": "F11D7", - "aliases": [ - "paper-text-outline", - "sticky-note-text-outline", - "post-it-note-text-outline" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook", - "codepoint": "F082E", - "aliases": [ - "journal", - "planner", - "diary" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Gabriel Grant" - }, - { - "id": "7DBD97BD-376C-45C2-85BA-74BE45C03F2E", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-check", - "codepoint": "F14F5", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0C11F6D4-B9DE-4927-AB54-B17695167B25", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-check-outline", - "codepoint": "F14F6", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "EFBA00EA-395F-47DF-A0B9-8F42C1A697E1", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-edit", - "codepoint": "F14E7", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Austin Andrews" - }, - { - "id": "31A232F5-6134-4A8D-A9D1-41DC4404922D", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-edit-outline", - "codepoint": "F14E9", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Austin Andrews" - }, - { - "id": "BA533C71-48B2-4D1D-8069-98F53EC6224B", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-heart", - "codepoint": "F1A0B", - "aliases": [ - "notebook-favorite", - "notebook-love" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0F8BCA10-0144-4507-850B-777AE12B3A80", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-heart-outline", - "codepoint": "F1A0C", - "aliases": [ - "notebook-favorite-outline", - "notebook-love-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "60952B51-85EE-45B0-9834-7117F8DED9D7", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-minus", - "codepoint": "F1610", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0B3667B2-5DB3-4C7B-8E01-4601666EE765", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-minus-outline", - "codepoint": "F1611", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3F75C3D8-9360-4C31-AF58-1C01321620F0", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-multiple", - "codepoint": "F0E55", - "aliases": [ - "journal-multiple", - "planner-multiple" - ], - "styles": [ - "multiple" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Gabriel Grant" - }, - { - "id": "71D72BE3-C04C-40EF-87B7-A08E74045DC0", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-outline", - "codepoint": "F0EBF", - "aliases": [ - "journal-outline", - "planner-outline" - ], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "03D29CD4-AFB3-41E3-9B35-80F27ABFDD13", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-plus", - "codepoint": "F1612", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8652F3A3-ED31-48CA-B051-A4ADCFC722F6", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-plus-outline", - "codepoint": "F1613", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "318A0AA0-55F5-4242-B377-BA972C7B3AD3", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-remove", - "codepoint": "F1614", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "92BD7E81-2B29-48FB-B0B0-F38C94BE4B51", - "baseIconId": "2D28230E-DAF3-4A49-ACB6-7D9C3E9E6495", - "name": "notebook-remove-outline", - "codepoint": "F1615", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E758A025-3B14-4A2F-A1D7-2D12C38B47E4", - "baseIconId": "E758A025-3B14-4A2F-A1D7-2D12C38B47E4", - "name": "notification-clear-all", - "codepoint": "F039F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Notification" - ], - "author": "Google" - }, - { - "id": "5E072845-A46E-4D62-A65D-28CD7DAD976B", - "baseIconId": "5E072845-A46E-4D62-A65D-28CD7DAD976B", - "name": "npm", - "codepoint": "F06F7", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "DB44684C-B1E7-4039-8BAA-C7C0BC4EB075", - "baseIconId": "DB44684C-B1E7-4039-8BAA-C7C0BC4EB075", - "name": "nuke", - "codepoint": "F06A4", - "aliases": [ - "nuclear", - "atomic-bomb" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "5004722B-DE0B-4F37-BCAD-36B46477E80F", - "baseIconId": "5004722B-DE0B-4F37-BCAD-36B46477E80F", - "name": "null", - "codepoint": "F07E2", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1293DBCD-E538-4AD1-97C9-3F17BBD28457", - "baseIconId": "1293DBCD-E538-4AD1-97C9-3F17BBD28457", - "name": "numeric", - "codepoint": "F03A0", - "aliases": [ - "numbers", - "1-2-3", - "one-two-three", - "123" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Austin Andrews" - }, - { - "id": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "baseIconId": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "name": "numeric-0", - "codepoint": "F0B39", - "aliases": [ - "number-0", - "numeric-zero" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "C676CDFC-A808-4BCA-A670-49EE8478ED32", - "baseIconId": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "name": "numeric-0-box", - "codepoint": "F03A1", - "aliases": [ - "numeric-zero-box", - "number-0-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "D54CC81B-F785-4896-BA17-454BBBE96EC5", - "baseIconId": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "name": "numeric-0-box-multiple", - "codepoint": "F0F0E", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "B3652E81-9CA5-4B7C-B603-FE94CB2D1323", - "baseIconId": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "name": "numeric-0-box-multiple-outline", - "codepoint": "F03A2", - "aliases": [ - "numeric-zero-box-multiple-outline", - "numeric-0-boxes-outline", - "number-0-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "1EB53615-9A62-4377-A2D0-246C8F42CAF8", - "baseIconId": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "name": "numeric-0-box-outline", - "codepoint": "F03A3", - "aliases": [ - "numeric-zero-box-outline", - "number-0-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "802F5332-8865-46C9-890D-130209044E17", - "baseIconId": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "name": "numeric-0-circle", - "codepoint": "F0C9E", - "aliases": [ - "numeric-zero-circle", - "number-0-circle", - "number-zero-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "BB859C27-AAAC-4ED4-A50B-45427C15CF05", - "baseIconId": "3396CDF3-94D7-4F1B-B0FF-58FA3935468C", - "name": "numeric-0-circle-outline", - "codepoint": "F0C9F", - "aliases": [ - "numeric-zero-circle-outline", - "number-0-circle-outline", - "number-zero-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-1", - "codepoint": "F0B3A", - "aliases": [ - "number-1", - "numeric-one" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "0EF5316E-7978-4F6C-B38E-297837B3CFF5", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-1-box", - "codepoint": "F03A4", - "aliases": [ - "looks-one", - "numeric-one-box", - "number-1-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "9CF3C6FF-4E68-478B-85B9-02ABA9A7980C", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-1-box-multiple", - "codepoint": "F0F0F", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "55513DD6-D73E-438E-8834-D6761C47BA4B", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-1-box-multiple-outline", - "codepoint": "F03A5", - "aliases": [ - "filter-1", - "numeric-one-box-multiple-outline", - "numeric-1-boxes-outline", - "number-1-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "50AEDC65-99B1-45CA-8078-CD6D8633995A", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-1-box-outline", - "codepoint": "F03A6", - "aliases": [ - "numeric-one-box-outline", - "number-1-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "77E2B22B-C6FB-4759-B2BB-0528DAFA6210", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-1-circle", - "codepoint": "F0CA0", - "aliases": [ - "numeric-one-circle", - "number-1-circle", - "number-one-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "7621E523-93F4-47A9-A7A5-9BC2A01A4DD4", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-1-circle-outline", - "codepoint": "F0CA1", - "aliases": [ - "numeric-one-circle-outline", - "number-1-circle-outline", - "number-one-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "baseIconId": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "name": "numeric-10", - "codepoint": "F0FE9", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "BD0566FC-D422-4ABD-8D6E-7E08EED3708D", - "baseIconId": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "name": "numeric-10-box", - "codepoint": "F0F7D", - "aliases": [], - "styles": [ - "box" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0ABCD0B7-C95E-4BD9-AFBB-C1CF415FE53C", - "baseIconId": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "name": "numeric-10-box-multiple", - "codepoint": "F0FEA", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "4C455257-74B0-4140-BA07-71582A9750FD", - "baseIconId": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "name": "numeric-10-box-multiple-outline", - "codepoint": "F0FEB", - "aliases": [], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "12AB352E-27A7-43D6-BF2E-EF35BC4CA288", - "baseIconId": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "name": "numeric-10-box-outline", - "codepoint": "F0F7E", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "487FE19B-CDA9-4895-B904-606B73BB66E7", - "baseIconId": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "name": "numeric-10-circle", - "codepoint": "F0FEC", - "aliases": [], - "styles": [ - "circle" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "FAABED75-FE76-4109-824D-F16C54E43FA2", - "baseIconId": "59F26CDB-B593-4675-941C-68F0E99F2CFF", - "name": "numeric-10-circle-outline", - "codepoint": "F0FED", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "baseIconId": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "name": "numeric-2", - "codepoint": "F0B3B", - "aliases": [ - "number-2", - "numeric-two" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "0F35B058-84BF-42A1-8EC2-4DF8A5F2CB6D", - "baseIconId": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "name": "numeric-2-box", - "codepoint": "F03A7", - "aliases": [ - "looks-two", - "numeric-two-box", - "number-2-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "4950EF31-6A39-4EFE-91CD-10CB750A3634", - "baseIconId": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "name": "numeric-2-box-multiple", - "codepoint": "F0F10", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "989BAC0E-21F6-4AF2-849A-3DA35BA5958F", - "baseIconId": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "name": "numeric-2-box-multiple-outline", - "codepoint": "F03A8", - "aliases": [ - "filter-2", - "numeric-two-box-multiple-outline", - "numeric-2-boxes-outline", - "number-2-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "0C255402-1176-46B5-B38C-60118732FCC7", - "baseIconId": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "name": "numeric-2-box-outline", - "codepoint": "F03A9", - "aliases": [ - "numeric-two-box-outline", - "number-2-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "C8CF7706-2522-4EB4-A304-C25BAD47C1C7", - "baseIconId": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "name": "numeric-2-circle", - "codepoint": "F0CA2", - "aliases": [ - "numeric-two-circle", - "number-2-circle", - "number-two-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "36906959-9333-4F37-9BB3-BE1481F2A99A", - "baseIconId": "55F915B1-69CB-4394-9313-F8A0B7A8EBB9", - "name": "numeric-2-circle-outline", - "codepoint": "F0CA3", - "aliases": [ - "numeric-two-circle-outline", - "number-2-circle-outline", - "number-two-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "baseIconId": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "name": "numeric-3", - "codepoint": "F0B3C", - "aliases": [ - "number-3", - "numeric-three" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "F34D170B-4DF1-470D-ABC4-AE0A93035227", - "baseIconId": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "name": "numeric-3-box", - "codepoint": "F03AA", - "aliases": [ - "looks-3", - "numeric-three-box", - "number-3-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "9D8EBAFA-19A3-4E74-9800-570AFD910814", - "baseIconId": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "name": "numeric-3-box-multiple", - "codepoint": "F0F11", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "394B1DFD-7009-4057-AD14-7F7D99B3A658", - "baseIconId": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "name": "numeric-3-box-multiple-outline", - "codepoint": "F03AB", - "aliases": [ - "filter-3", - "numeric-three-box-multiple-outline", - "numeric-3-boxes-outline", - "number-3-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "0A0F7443-4234-4990-9C0B-A8AC88F924E5", - "baseIconId": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "name": "numeric-3-box-outline", - "codepoint": "F03AC", - "aliases": [ - "numeric-three-box-outline", - "number-3-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "07FDE137-E119-45E9-8100-3C0194FFF51D", - "baseIconId": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "name": "numeric-3-circle", - "codepoint": "F0CA4", - "aliases": [ - "numeric-three-circle", - "number-3-circle", - "number-three-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "4AF81318-EC08-4E9D-9853-F7C8AD694E10", - "baseIconId": "E7B3F9D9-BC8D-4BE8-B02D-F2E20B3B357A", - "name": "numeric-3-circle-outline", - "codepoint": "F0CA5", - "aliases": [ - "numeric-three-circle-outline", - "number-3-circle-outline", - "number-three-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "baseIconId": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "name": "numeric-4", - "codepoint": "F0B3D", - "aliases": [ - "number-4", - "numeric-four" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "9C9EEFA4-B764-41CE-A679-3927454AE59A", - "baseIconId": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "name": "numeric-4-box", - "codepoint": "F03AD", - "aliases": [ - "looks-4", - "numeric-four-box", - "number-4-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "DB253DAA-77F7-41F0-A1A4-76388FEFA092", - "baseIconId": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "name": "numeric-4-box-multiple", - "codepoint": "F0F12", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "EB320CFB-296A-4C6F-9585-76CA21DDCD04", - "baseIconId": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "name": "numeric-4-box-multiple-outline", - "codepoint": "F03B2", - "aliases": [ - "filter-4", - "numeric-four-box-multiple-outline", - "numeric-4-boxes-outline", - "number-4-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "18423C69-0B97-4590-A690-1AAF99615875", - "baseIconId": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "name": "numeric-4-box-outline", - "codepoint": "F03AE", - "aliases": [ - "numeric-four-box-outline", - "number-4-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "3C8A2386-5BBE-495F-A1BE-BFBB3385D857", - "baseIconId": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "name": "numeric-4-circle", - "codepoint": "F0CA6", - "aliases": [ - "numeric-four-circle", - "number-4-circle", - "number-four-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "898E368A-092D-45E4-B84D-9C99ABFFF2AC", - "baseIconId": "099C1A7A-865B-4BA2-951B-EED8F8665083", - "name": "numeric-4-circle-outline", - "codepoint": "F0CA7", - "aliases": [ - "numeric-four-circle-outline", - "number-4-circle-outline", - "number-four-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "baseIconId": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "name": "numeric-5", - "codepoint": "F0B3E", - "aliases": [ - "number-5", - "numeric-five" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "1F91841C-B56D-486E-8113-187E28F1E53A", - "baseIconId": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "name": "numeric-5-box", - "codepoint": "F03B1", - "aliases": [ - "looks-5", - "numeric-five-box", - "number-5-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "C3FBC921-E4A1-4B04-BDEA-E883EE5FB695", - "baseIconId": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "name": "numeric-5-box-multiple", - "codepoint": "F0F13", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "A39788D6-B09D-42CF-ADC3-7575B14DBE79", - "baseIconId": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "name": "numeric-5-box-multiple-outline", - "codepoint": "F03AF", - "aliases": [ - "filter-5", - "numeric-five-box-multiple-outline", - "numeric-5-boxes-outline", - "number-5-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "38CB37B2-2BF9-4890-8060-5576DDAE6FC6", - "baseIconId": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "name": "numeric-5-box-outline", - "codepoint": "F03B0", - "aliases": [ - "numeric-five-box-outline", - "number-5-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "B4079A0A-5D66-4982-B31F-4145B49E5512", - "baseIconId": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "name": "numeric-5-circle", - "codepoint": "F0CA8", - "aliases": [ - "numeric-five-circle", - "number-5-circle", - "number-five-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "1FFAD3CC-0B61-4A7A-90F0-E5A5D78D7D3A", - "baseIconId": "EFB5FA9A-E828-4D71-A35F-011D873DE490", - "name": "numeric-5-circle-outline", - "codepoint": "F0CA9", - "aliases": [ - "numeric-five-circle-outline", - "number-5-circle-outline", - "number-five-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "baseIconId": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "name": "numeric-6", - "codepoint": "F0B3F", - "aliases": [ - "number-6", - "numeric-six" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "DC1FE999-3DD7-423B-95A5-89005C66875E", - "baseIconId": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "name": "numeric-6-box", - "codepoint": "F03B3", - "aliases": [ - "looks-6", - "numeric-six-box", - "number-6-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "231F08AC-E082-407D-9EC9-55C2E654EF16", - "baseIconId": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "name": "numeric-6-box-multiple", - "codepoint": "F0F14", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F3AA6A15-D060-40D7-A301-9EB1BAAF2F12", - "baseIconId": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "name": "numeric-6-box-multiple-outline", - "codepoint": "F03B4", - "aliases": [ - "filter-6", - "numeric-six-box-multiple-outline", - "numeric-6-boxes-outline", - "number-6-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "8ED3719B-D733-46ED-BFCF-0BDE0819F7EF", - "baseIconId": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "name": "numeric-6-box-outline", - "codepoint": "F03B5", - "aliases": [ - "numeric-six-box-outline", - "number-6-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "E15A2826-796D-439A-9A10-4F068C76C6FC", - "baseIconId": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "name": "numeric-6-circle", - "codepoint": "F0CAA", - "aliases": [ - "numeric-six-circle", - "number-6-circle", - "number-six-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "6D644C9F-A3C4-45E6-A2E8-E3077A170E4A", - "baseIconId": "8B73A4D3-4AC9-448B-8C60-497EC2167898", - "name": "numeric-6-circle-outline", - "codepoint": "F0CAB", - "aliases": [ - "numeric-six-circle-outline", - "number-6-circle-outline", - "number-six-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "baseIconId": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "name": "numeric-7", - "codepoint": "F0B40", - "aliases": [ - "number-7", - "numeric-seven" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "C01DF00A-5B63-4B15-B6A5-FEA9E3E084B1", - "baseIconId": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "name": "numeric-7-box", - "codepoint": "F03B6", - "aliases": [ - "numeric-seven-box", - "number-7-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "C69F2D2A-7226-4D0A-87A8-3D53753C0572", - "baseIconId": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "name": "numeric-7-box-multiple", - "codepoint": "F0F15", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "CF43DB99-4419-491B-A5E3-2486A36F24DB", - "baseIconId": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "name": "numeric-7-box-multiple-outline", - "codepoint": "F03B7", - "aliases": [ - "filter-7", - "numeric-seven-box-multiple-outline", - "numeric-7-boxes-outline", - "number-7-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "373DD873-E15F-4B7C-8328-76389DC81DB0", - "baseIconId": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "name": "numeric-7-box-outline", - "codepoint": "F03B8", - "aliases": [ - "numeric-seven-box-outline", - "number-7-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "FE25714F-69B5-463B-8C11-5E4E057C83C3", - "baseIconId": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "name": "numeric-7-circle", - "codepoint": "F0CAC", - "aliases": [ - "numeric-seven-circle", - "number-7-circle", - "number-seven-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "67707F91-E498-46C6-816B-2A6D1BE437F6", - "baseIconId": "19BDA673-8B20-4A75-87B9-7286F0B14730", - "name": "numeric-7-circle-outline", - "codepoint": "F0CAD", - "aliases": [ - "numeric-seven-circle-outline", - "number-7-circle-outline", - "number-seven-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "baseIconId": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "name": "numeric-8", - "codepoint": "F0B41", - "aliases": [ - "number-8", - "numeric-eight" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "863E0667-F376-4303-9261-CAA4B7F073C6", - "baseIconId": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "name": "numeric-8-box", - "codepoint": "F03B9", - "aliases": [ - "numeric-eight-box", - "number-8-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "D032F5F3-670D-4576-AD76-A17562377466", - "baseIconId": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "name": "numeric-8-box-multiple", - "codepoint": "F0F16", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "869A508B-5F8E-41A7-BCE5-E205FC66C80F", - "baseIconId": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "name": "numeric-8-box-multiple-outline", - "codepoint": "F03BA", - "aliases": [ - "filter-8", - "numeric-eight-box-multiple-outline", - "numeric-8-boxes-outline", - "number-8-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "DC2B6D38-A6B3-4171-AAC6-E08EF2C23710", - "baseIconId": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "name": "numeric-8-box-outline", - "codepoint": "F03BB", - "aliases": [ - "numeric-eight-box-outline", - "number-8-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "26382400-22B1-40A6-9C1A-46C649C36783", - "baseIconId": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "name": "numeric-8-circle", - "codepoint": "F0CAE", - "aliases": [ - "numeric-eight-circle", - "number-8-circle", - "number-eight-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "C1306EC5-E7F0-4152-A19D-84E851537171", - "baseIconId": "F92BFF4C-3D23-466A-BBE6-AF98DB0F43A9", - "name": "numeric-8-circle-outline", - "codepoint": "F0CAF", - "aliases": [ - "numeric-eight-circle-outline", - "number-8-circle-outline", - "number-eight-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9", - "codepoint": "F0B42", - "aliases": [ - "number-9", - "numeric-nine" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "12DCC44D-8BA2-4D25-A88B-665920C8B730", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-box", - "codepoint": "F03BC", - "aliases": [ - "numeric-nine-box", - "number-9-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "3DAA435E-D837-4AD3-9937-0D554F409BB0", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-box-multiple", - "codepoint": "F0F17", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "A41F44A0-816E-497E-A08C-C9646FE161BE", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-box-multiple-outline", - "codepoint": "F03BD", - "aliases": [ - "filter-9", - "numeric-nine-box-multiple-outline", - "numeric-9-boxes-outline", - "number-9-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "EE2E9486-0C32-4EC9-9D4F-9B8A7287F696", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-box-outline", - "codepoint": "F03BE", - "aliases": [ - "numeric-nine-box-outline", - "number-9-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "FB06011B-B2CC-4F3A-8ADE-2F7E78F0AE7C", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-circle", - "codepoint": "F0CB0", - "aliases": [ - "numeric-nine-circle", - "number-9-circle", - "number-nine-circle" - ], - "styles": [ - "circle" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "F27ABCBB-C6D6-4C1E-AF0C-C406057245AA", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-circle-outline", - "codepoint": "F0CB1", - "aliases": [ - "numeric-nine-circle-outline", - "number-9-circle-outline", - "number-nine-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "CF313E88-0D2F-49B9-B2BC-6651ACEAA677", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-plus", - "codepoint": "F0FEE", - "aliases": [], - "styles": [ - "plus" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "GreenTurtwig" - }, - { - "id": "7CF309F0-D751-44A3-A313-BA7F2F8865FD", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-plus-box", - "codepoint": "F03BF", - "aliases": [ - "numeric-nine-plus-box", - "number-9-plus-box" - ], - "styles": [ - "box", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "20E22DC1-795D-432F-9CB9-D339EA3B96DB", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-plus-box-multiple", - "codepoint": "F0F18", - "aliases": [], - "styles": [ - "box", - "multiple", - "plus" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "46A850FC-F6E6-4000-A93F-6B954DA62886", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-plus-box-multiple-outline", - "codepoint": "F03C0", - "aliases": [ - "filter-9-plus", - "numeric-nine-plus-box-multiple-outline", - "numeric-9-plus-boxes-outline", - "number-9-plus-box-multiple-outline" - ], - "styles": [ - "box", - "multiple", - "outline", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "C1F38C40-BD01-45FE-A94C-B3C1432707E0", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-plus-box-outline", - "codepoint": "F03C1", - "aliases": [ - "numeric-nine-plus-box-outline", - "number-9-plus-box-outline" - ], - "styles": [ - "box", - "outline", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Google" - }, - { - "id": "757FDF81-DCCF-4B75-9A2A-9ED3D2DB966E", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-plus-circle", - "codepoint": "F0CB2", - "aliases": [ - "numeric-nine-plus-circle", - "number-9-plus-circle", - "number-nine-plus-circle" - ], - "styles": [ - "circle", - "plus" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "00BD21E8-FAF1-470D-8F64-0030C1C222F3", - "baseIconId": "11F0ADB8-0CC8-48A3-8653-11E7F58B5C9B", - "name": "numeric-9-plus-circle-outline", - "codepoint": "F0CB3", - "aliases": [ - "numeric-nine-plus-circle-outline", - "number-9-plus-circle-outline", - "number-nine-plus-circle-outline" - ], - "styles": [ - "circle", - "outline", - "plus" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "B198FE0B-15C3-4FFB-B5C9-2D6E60E825A1", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-negative-1", - "codepoint": "F1052", - "aliases": [ - "decrement", - "minus-one" - ], - "styles": [ - "minus" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "560615BB-A023-4B98-88A6-F38FBF3272E2", - "baseIconId": "1293DBCD-E538-4AD1-97C9-3F17BBD28457", - "name": "numeric-off", - "codepoint": "F19D3", - "aliases": [ - "numbers-off", - "123-off", - "one-two-three-off" - ], - "styles": [ - "off" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Piotr \u0141ado\u0144ski" - }, - { - "id": "73DE8F6E-A301-42D1-B2C3-3699265BA2BB", - "baseIconId": "DF225E4A-DED0-43C3-83B1-4867ABA9D45B", - "name": "numeric-positive-1", - "codepoint": "F15CB", - "aliases": [ - "increment", - "plus-one" - ], - "styles": [ - "plus" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8B702257-4232-459E-BDA8-C4E698DF8E8E", - "baseIconId": "8B702257-4232-459E-BDA8-C4E698DF8E8E", - "name": "nut", - "codepoint": "F06F8", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Simran" - }, - { - "id": "723E0BBB-78CC-4192-98B1-426B17D694B9", - "baseIconId": "723E0BBB-78CC-4192-98B1-426B17D694B9", - "name": "nutrition", - "codepoint": "F03C2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "EDCDD59F-BD6B-49C9-B93A-36879031CEA3", - "baseIconId": "EDCDD59F-BD6B-49C9-B93A-36879031CEA3", - "name": "nuxt", - "codepoint": "F1106", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A065A53E-118C-424A-8A81-0D300975AB04", - "baseIconId": "A065A53E-118C-424A-8A81-0D300975AB04", - "name": "oar", - "codepoint": "F067C", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Thomas Hunsaker" - }, - { - "id": "1C1A3850-DB11-4F6D-B031-8E4CE14E9760", - "baseIconId": "1C1A3850-DB11-4F6D-B031-8E4CE14E9760", - "name": "ocarina", - "codepoint": "F0DE0", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Music", - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "53021908-1FB5-4293-896E-94C5330E6101", - "baseIconId": "53021908-1FB5-4293-896E-94C5330E6101", - "name": "oci", - "codepoint": "F12E9", - "aliases": [ - "open-container-initiative" - ], - "styles": [], - "version": "4.8.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2943D362-A548-448C-A868-19E6D37C8B2D", - "baseIconId": "2943D362-A548-448C-A868-19E6D37C8B2D", - "name": "ocr", - "codepoint": "F113A", - "aliases": [ - "optical-character-recognition" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "5E3C88DE-A208-471A-9096-7C7868CC957C", - "baseIconId": "5E3C88DE-A208-471A-9096-7C7868CC957C", - "name": "octagon", - "codepoint": "F03C3", - "aliases": [ - "stop" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape", - "Transportation + Road" - ], - "author": "Simran" - }, - { - "id": "3CF63E10-42E7-4E13-8BFF-10E9257953AB", - "baseIconId": "5E3C88DE-A208-471A-9096-7C7868CC957C", - "name": "octagon-outline", - "codepoint": "F03C4", - "aliases": [ - "stop-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape", - "Transportation + Road" - ], - "author": "Simran" - }, - { - "id": "455C8475-5555-49B7-825B-206581104AB2", - "baseIconId": "455C8475-5555-49B7-825B-206581104AB2", - "name": "octagram", - "codepoint": "F06F9", - "aliases": [ - "starburst" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "7069C1C4-8C2E-4E67-B167-FA1A1FE61418", - "baseIconId": "455C8475-5555-49B7-825B-206581104AB2", - "name": "octagram-edit", - "codepoint": "F1C34", - "aliases": [ - "starburst-edit" - ], - "styles": [ - "edit" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "02D856A6-74E6-41EA-8938-054DD39B627D", - "baseIconId": "455C8475-5555-49B7-825B-206581104AB2", - "name": "octagram-edit-outline", - "codepoint": "F1C35", - "aliases": [ - "starburst-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "FA0E4A6E-0AED-4C67-B4AD-B52CF53C6D92", - "baseIconId": "455C8475-5555-49B7-825B-206581104AB2", - "name": "octagram-minus", - "codepoint": "F1C36", - "aliases": [ - "starburst-plus" - ], - "styles": [ - "plus" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "E11403C7-999F-4EEF-BD97-5598280C54A2", - "baseIconId": "455C8475-5555-49B7-825B-206581104AB2", - "name": "octagram-minus-outline", - "codepoint": "F1C37", - "aliases": [ - "starburst-minus-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "8316E0F1-5F66-4C4E-ACA8-EE61AD93A42A", - "baseIconId": "455C8475-5555-49B7-825B-206581104AB2", - "name": "octagram-outline", - "codepoint": "F0775", - "aliases": [ - "starburst-outline" - ], - "styles": [ - "outline" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "DF81ADEE-1450-4D83-A54C-25D9868FCF3F", - "baseIconId": "455C8475-5555-49B7-825B-206581104AB2", - "name": "octagram-plus", - "codepoint": "F1C38", - "aliases": [ - "starburst-plus" - ], - "styles": [ - "plus" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "EC917461-058B-41D0-8BEA-FDB91DCCB63F", - "baseIconId": "8316E0F1-5F66-4C4E-ACA8-EE61AD93A42A", - "name": "octagram-plus-outline", - "codepoint": "F1C39", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "45CD61D9-B0D0-43FA-B50E-F6E71A95128A", - "baseIconId": "45CD61D9-B0D0-43FA-B50E-F6E71A95128A", - "name": "octahedron", - "codepoint": "F1950", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AD67A41D-5524-4F72-8658-C3F78A06333E", - "baseIconId": "45CD61D9-B0D0-43FA-B50E-F6E71A95128A", - "name": "octahedron-off", - "codepoint": "F1951", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8BB24B94-491F-4465-8E87-45FF8FED7C4A", - "baseIconId": "8BB24B94-491F-4465-8E87-45FF8FED7C4A", - "name": "odnoklassniki", - "codepoint": "F03C5", - "aliases": [ - "ok-ru" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "64C3CB40-BBDF-4A82-9B07-62CA527A258C", - "baseIconId": "64C3CB40-BBDF-4A82-9B07-62CA527A258C", - "name": "offer", - "codepoint": "F121B", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building", - "codepoint": "F0991", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "GreenTurtwig" - }, - { - "id": "4A51F91C-857B-454A-8753-7AACF3B085A9", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-cog", - "codepoint": "F1949", - "aliases": [ - "office-building-settings" - ], - "styles": [ - "cog" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings", - "Places" - ], - "author": "Joshua Solomon" - }, - { - "id": "09BF7DAE-15CA-4539-BD8A-A741EB7E6405", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-cog-outline", - "codepoint": "F194A", - "aliases": [ - "office-building-settings-outline" - ], - "styles": [ - "cog", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Settings", - "Places" - ], - "author": "Joshua Solomon" - }, - { - "id": "8409886F-203E-45A5-8A70-C1670406BBA2", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-marker", - "codepoint": "F1520", - "aliases": [ - "office-building-location" - ], - "styles": [ - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Navigation", - "Places" - ], - "author": "Joshua Solomon" - }, - { - "id": "B9C8DF7B-34D7-4D58-B769-B3ABAD0990FC", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-marker-outline", - "codepoint": "F1521", - "aliases": [ - "office-building-location-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Navigation", - "Places" - ], - "author": "Joshua Solomon" - }, - { - "id": "F328F94A-8174-49FC-9FB9-C2F28B1F7A4E", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-minus", - "codepoint": "F1BAA", - "aliases": [], - "styles": [ - "minus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C993C6FF-1C20-4E52-BC40-A62004B89D56", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-minus-outline", - "codepoint": "F1BAB", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1171525F-C510-44B9-9E5C-0F5CAC7A71D2", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-outline", - "codepoint": "F151F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Joshua Solomon" - }, - { - "id": "DD2249E8-1290-41DB-9D68-DD3142413A2A", - "baseIconId": "DD2249E8-1290-41DB-9D68-DD3142413A2A", - "name": "office-building-plus", - "codepoint": "F1BA8", - "aliases": [], - "styles": [ - "plus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "061CBB0D-D91D-4E6C-9C69-BCE3D119D45F", - "baseIconId": "061CBB0D-D91D-4E6C-9C69-BCE3D119D45F", - "name": "office-building-plus-outline", - "codepoint": "F1BA9", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "arnoldlepineux" - }, - { - "id": "9FDDD96F-B993-47DD-BE60-1995CBBA973C", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-remove", - "codepoint": "F1BAC", - "aliases": [], - "styles": [ - "remove" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1B9F3A92-AC49-4D8E-8CE9-07A70164548F", - "baseIconId": "C6BEE3A0-C734-48D4-A2E4-622E9B16CA06", - "name": "office-building-remove-outline", - "codepoint": "F1BAD", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DE398350-B7B7-4E6B-AE4C-F99AAE56C7CF", - "baseIconId": "DE398350-B7B7-4E6B-AE4C-F99AAE56C7CF", - "name": "oil", - "codepoint": "F03C7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "790DAFDA-8291-47F5-A5B9-9563AE201832", - "baseIconId": "790DAFDA-8291-47F5-A5B9-9563AE201832", - "name": "oil-lamp", - "codepoint": "F0F19", - "aliases": [ - "wish", - "genie-lamp" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A6579EB0-C38D-4052-A6C9-C1ECD97E482C", - "baseIconId": "DE398350-B7B7-4E6B-AE4C-F99AAE56C7CF", - "name": "oil-level", - "codepoint": "F1053", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C8743DBF-39CD-43E8-8EC3-B99D422422FC", - "baseIconId": "DE398350-B7B7-4E6B-AE4C-F99AAE56C7CF", - "name": "oil-temperature", - "codepoint": "F0FF8", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F1EE1708-7EAF-4929-97AA-D4BAC093D157", - "baseIconId": "F1EE1708-7EAF-4929-97AA-D4BAC093D157", - "name": "om", - "codepoint": "F0973", - "aliases": [ - "religion-hindu", - "hinduism" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Nick" - }, - { - "id": "A98F63CB-AB27-4A2D-B76C-6994507BCDBB", - "baseIconId": "A98F63CB-AB27-4A2D-B76C-6994507BCDBB", - "name": "omega", - "codepoint": "F03C9", - "aliases": [ - "ohm", - "electrical-resistance" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "DF8CCF67-8BD2-4632-8647-2B42BA2047A5", - "baseIconId": "DF8CCF67-8BD2-4632-8647-2B42BA2047A5", - "name": "one-up", - "codepoint": "F0BAD", - "aliases": [ - "1up", - "extra-life" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2B9B64C7-B799-45C5-BDCC-BEC3B8672CFE", - "baseIconId": "2B9B64C7-B799-45C5-BDCC-BEC3B8672CFE", - "name": "onepassword", - "codepoint": "F0881", - "aliases": [ - "1password" - ], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "27C36043-E269-4223-ADCE-568B1EFB4623", - "baseIconId": "27C36043-E269-4223-ADCE-568B1EFB4623", - "name": "opacity", - "codepoint": "F05CC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AF69E2E1-8119-49A2-8E24-915E2254522A", - "baseIconId": "AF69E2E1-8119-49A2-8E24-915E2254522A", - "name": "open-in-app", - "codepoint": "F03CB", - "aliases": [ - "open-in-browser" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "12B95238-1D74-4C6C-9BBD-C055B4DD0E4D", - "baseIconId": "12B95238-1D74-4C6C-9BBD-C055B4DD0E4D", - "name": "open-in-new", - "codepoint": "F03CC", - "aliases": [ - "external-link" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DA48F078-4BE9-42DC-AF35-F557E16DD2AE", - "baseIconId": "DA48F078-4BE9-42DC-AF35-F557E16DD2AE", - "name": "open-source-initiative", - "codepoint": "F0BAE", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C9525FF9-FE74-467C-99CE-F8DD8FE3576C", - "baseIconId": "C9525FF9-FE74-467C-99CE-F8DD8FE3576C", - "name": "openid", - "codepoint": "F03CD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A0BCE6D1-D558-487E-9629-F7CCC495C27B", - "baseIconId": "A0BCE6D1-D558-487E-9629-F7CCC495C27B", - "name": "opera", - "codepoint": "F03CE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D672819E-C3D1-49FC-A1E7-9F4732D034DC", - "baseIconId": "D672819E-C3D1-49FC-A1E7-9F4732D034DC", - "name": "orbit", - "codepoint": "F0018", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Roberto Graham" - }, - { - "id": "4A0C34D7-1D3D-472B-9E5D-858DBBCBC7B2", - "baseIconId": "D672819E-C3D1-49FC-A1E7-9F4732D034DC", - "name": "orbit-variant", - "codepoint": "F15DB", - "aliases": [ - "camera-flip" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B6FBB02F-98A0-4521-BA9B-D00EA8A2FC57", - "baseIconId": "B6FBB02F-98A0-4521-BA9B-D00EA8A2FC57", - "name": "order-alphabetical-ascending", - "codepoint": "F020D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "D9CEAAB0-32D3-4A42-A0F3-74B1FC50E9F0", - "baseIconId": "B6FBB02F-98A0-4521-BA9B-D00EA8A2FC57", - "name": "order-alphabetical-descending", - "codepoint": "F0D07", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "2D12922D-3C06-4916-9575-CA9A1014C4BF", - "baseIconId": "2D12922D-3C06-4916-9575-CA9A1014C4BF", - "name": "order-bool-ascending", - "codepoint": "F02BE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "FA5DB7BA-69CB-4DF5-9DE9-B0681889CB2D", - "baseIconId": "2D12922D-3C06-4916-9575-CA9A1014C4BF", - "name": "order-bool-ascending-variant", - "codepoint": "F098F", - "aliases": [ - "order-checkbox-ascending" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "62006FDB-1540-4E32-B74D-A758C8974661", - "baseIconId": "2D12922D-3C06-4916-9575-CA9A1014C4BF", - "name": "order-bool-descending", - "codepoint": "F1384", - "aliases": [ - "order-checkbox-descending" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "56E79669-E557-4D22-A21D-E07FFDB1C2B6", - "baseIconId": "2D12922D-3C06-4916-9575-CA9A1014C4BF", - "name": "order-bool-descending-variant", - "codepoint": "F0990", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "1ADB886B-B791-42BF-AC04-5EB73E665EA6", - "baseIconId": "1ADB886B-B791-42BF-AC04-5EB73E665EA6", - "name": "order-numeric-ascending", - "codepoint": "F0545", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "3979C805-4C53-4F45-A6E5-9CAADE1C2D80", - "baseIconId": "1ADB886B-B791-42BF-AC04-5EB73E665EA6", - "name": "order-numeric-descending", - "codepoint": "F0546", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "E41855D5-FB0E-4FAD-8CD8-D085B1577D2F", - "baseIconId": "E41855D5-FB0E-4FAD-8CD8-D085B1577D2F", - "name": "origin", - "codepoint": "F0B43", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "ADC4F1DD-B840-4C28-8D5C-08F3BE15A424", - "baseIconId": "ADC4F1DD-B840-4C28-8D5C-08F3BE15A424", - "name": "ornament", - "codepoint": "F03CF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "9C3E1D75-FB73-44AA-8BCC-9B30692D8D79", - "baseIconId": "ADC4F1DD-B840-4C28-8D5C-08F3BE15A424", - "name": "ornament-variant", - "codepoint": "F03D0", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "09F61849-C1AA-4755-B49E-75DB800B5273", - "baseIconId": "09F61849-C1AA-4755-B49E-75DB800B5273", - "name": "outdoor-lamp", - "codepoint": "F1054", - "aliases": [ - "outdoor-light" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Borre Haugen" - }, - { - "id": "059B5D2A-9B8B-412D-BAF1-F3F9B7E14A44", - "baseIconId": "059B5D2A-9B8B-412D-BAF1-F3F9B7E14A44", - "name": "overscan", - "codepoint": "F1005", - "aliases": [ - "fullscreen" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1F963457-7A4F-4BEE-AE9C-0E54CF804DD3", - "baseIconId": "1F963457-7A4F-4BEE-AE9C-0E54CF804DD3", - "name": "owl", - "codepoint": "F03D2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "29FC6427-61B9-4961-9004-FCD4A6E6522D", - "baseIconId": "29FC6427-61B9-4961-9004-FCD4A6E6522D", - "name": "pac-man", - "codepoint": "F0BAF", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package", - "codepoint": "F03D3", - "aliases": [ - "box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B1DB46BF-FA20-40F6-88CD-A5B06CB3E488", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-check", - "codepoint": "F1B51", - "aliases": [ - "package-delivered" - ], - "styles": [ - "check" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Hans B\u00f6hm" - }, - { - "id": "0C18B335-700A-4D68-BF88-C95A69479F2E", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-down", - "codepoint": "F03D4", - "aliases": [ - "archive", - "box-down", - "this-side-down" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "383EF914-6014-473D-8C54-0314432007E3", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-up", - "codepoint": "F03D5", - "aliases": [ - "unarchive", - "box-up", - "this-side-up" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "558C8C17-E4E1-4921-874D-F9ACB26C35C8", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant", - "codepoint": "F03D6", - "aliases": [ - "box-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "290F16B3-147C-446D-B14B-56AECCA76276", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-closed", - "codepoint": "F03D7", - "aliases": [ - "box-variant-closed" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "CAA724DF-E0C7-4010-8265-0C2E594D3094", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-closed-check", - "codepoint": "F1B52", - "aliases": [ - "package-variant-closed-delivered" - ], - "styles": [ - "check", - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Hans B\u00f6hm" - }, - { - "id": "DF9F88A2-7B9A-4881-A2E4-6BC6F4387A0F", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-closed-minus", - "codepoint": "F19D4", - "aliases": [ - "package-variant-closed-subtract", - "box-variant-closed-minus", - "box-variant-closed-subtract" - ], - "styles": [ - "minus", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Ferenc Szabo" - }, - { - "id": "749AB237-2B69-4BB9-9B2D-6F22B1F85D50", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-closed-plus", - "codepoint": "F19D5", - "aliases": [ - "box-variant-closed-plus", - "package-variant-closed-add", - "box-variant-closed-add" - ], - "styles": [ - "plus", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Ferenc Szabo" - }, - { - "id": "425F62CE-0308-47E5-9825-CEE711EE34B2", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-closed-remove", - "codepoint": "F19D6", - "aliases": [ - "box-variant-closed-remove" - ], - "styles": [ - "remove", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Ferenc Szabo" - }, - { - "id": "C204643B-C7FA-48A9-9910-C2258F77E707", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-minus", - "codepoint": "F19D7", - "aliases": [ - "box-variant-minus", - "package-variant-subtract", - "box-variant-subtract" - ], - "styles": [ - "minus", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8E0543FE-6EC4-4D0F-9109-E77254414DD7", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-plus", - "codepoint": "F19D8", - "aliases": [ - "box-variant-plus", - "package-variant-add", - "box-variant-add" - ], - "styles": [ - "plus", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1E482E98-310D-4A28-B461-DD48ADE915E8", - "baseIconId": "57771FFC-0E2C-40DE-AF7C-F3F51EFFE2C0", - "name": "package-variant-remove", - "codepoint": "F19D9", - "aliases": [ - "box-variant-remove" - ], - "styles": [ - "remove", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DF23FF47-4DD3-4CB3-9BEC-6EE986B0FA65", - "baseIconId": "DF23FF47-4DD3-4CB3-9BEC-6EE986B0FA65", - "name": "page-first", - "codepoint": "F0600", - "aliases": [ - "first-page", - "chevron-left-first" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CF9B4635-FE27-4DA5-BE51-F5F4116AFC54", - "baseIconId": "CF9B4635-FE27-4DA5-BE51-F5F4116AFC54", - "name": "page-last", - "codepoint": "F0601", - "aliases": [ - "last-page", - "chevron-right-last" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "39AF8334-4244-49DD-A8A4-D4F638B9D939", - "baseIconId": "39AF8334-4244-49DD-A8A4-D4F638B9D939", - "name": "page-layout-body", - "codepoint": "F06FA", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "74636C38-381A-46B8-97FD-B312735DE60D", - "baseIconId": "74636C38-381A-46B8-97FD-B312735DE60D", - "name": "page-layout-footer", - "codepoint": "F06FB", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3606AC64-ABC8-4DA6-ACE8-64D58E0B0A46", - "baseIconId": "3606AC64-ABC8-4DA6-ACE8-64D58E0B0A46", - "name": "page-layout-header", - "codepoint": "F06FC", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C1258752-7002-4714-81E3-D90828B5A896", - "baseIconId": "C1258752-7002-4714-81E3-D90828B5A896", - "name": "page-layout-header-footer", - "codepoint": "F0F7F", - "aliases": [ - "page-layout-marginals" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6E39564D-2B4B-4940-9E74-5274ED12E800", - "baseIconId": "6E39564D-2B4B-4940-9E74-5274ED12E800", - "name": "page-layout-sidebar-left", - "codepoint": "F06FD", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "29C8714B-1CAD-41B8-829B-2A14F6F87684", - "baseIconId": "29C8714B-1CAD-41B8-829B-2A14F6F87684", - "name": "page-layout-sidebar-right", - "codepoint": "F06FE", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "760D3DDF-F710-4BE1-A4E6-CC5AD6AF49DB", - "baseIconId": "760D3DDF-F710-4BE1-A4E6-CC5AD6AF49DB", - "name": "page-next", - "codepoint": "F0BB0", - "aliases": [ - "read-more" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "9213C60D-0232-4ECB-91C6-8D2BF812FE6A", - "baseIconId": "760D3DDF-F710-4BE1-A4E6-CC5AD6AF49DB", - "name": "page-next-outline", - "codepoint": "F0BB1", - "aliases": [ - "read-more-outline" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "AF1A8DA7-B3AC-4E11-A50B-59FBA8B34CF5", - "baseIconId": "AF1A8DA7-B3AC-4E11-A50B-59FBA8B34CF5", - "name": "page-previous", - "codepoint": "F0BB2", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A26AE0CE-1223-4A40-B7B6-E4FDCC5AE820", - "baseIconId": "AF1A8DA7-B3AC-4E11-A50B-59FBA8B34CF5", - "name": "page-previous-outline", - "codepoint": "F0BB3", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail", - "codepoint": "F1417", - "aliases": [ - "bucket" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "ECD25F41-E1C8-438E-BFF3-54F529504071", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-minus", - "codepoint": "F1437", - "aliases": [ - "bucket-minus" - ], - "styles": [ - "minus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "599354BE-5249-40F9-8E62-466F89203E5B", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-minus-outline", - "codepoint": "F143C", - "aliases": [ - "bucket-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2F1D4972-0025-4EB4-ADFC-2ACBEF34C7EA", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-off", - "codepoint": "F1439", - "aliases": [ - "bucket-off" - ], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "896E500B-797D-4687-917C-063906BB503F", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-off-outline", - "codepoint": "F143E", - "aliases": [ - "bucket-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "02152202-9609-4E5D-A6C5-1C7FE35F97E8", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-outline", - "codepoint": "F143A", - "aliases": [ - "bucket-outline" - ], - "styles": [ - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "ED64CE31-8F78-4383-A3BF-2AFBE5485E38", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-plus", - "codepoint": "F1436", - "aliases": [ - "bucket-plus" - ], - "styles": [ - "plus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "63B16204-CDD1-425F-8DDD-7DD80F2639D9", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-plus-outline", - "codepoint": "F143B", - "aliases": [ - "bucket-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FC5A2451-43C6-40D1-905D-7E473ACA134C", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-remove", - "codepoint": "F1438", - "aliases": [ - "bucket-remove" - ], - "styles": [ - "remove" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "48413062-A335-454F-9349-04CD2B7BC628", - "baseIconId": "C4C17ED6-0DB6-4A13-9C6F-0C3146B0CD80", - "name": "pail-remove-outline", - "codepoint": "F143D", - "aliases": [ - "bucket-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "954CCE2B-7FEE-4F9C-9923-4E1D567607C3", - "baseIconId": "954CCE2B-7FEE-4F9C-9923-4E1D567607C3", - "name": "palette", - "codepoint": "F03D8", - "aliases": [ - "color-lens", - "colour-lens", - "paint", - "art", - "color" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Color", - "Drawing \/ Art" - ], - "author": "Google" - }, - { - "id": "3617B5EE-9A4A-4C3C-9C9A-8C69C7569EB4", - "baseIconId": "3617B5EE-9A4A-4C3C-9C9A-8C69C7569EB4", - "name": "palette-advanced", - "codepoint": "F03D9", - "aliases": [ - "paint" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Color", - "Drawing \/ Art" - ], - "author": "Austin Andrews" - }, - { - "id": "6C41ED7D-CA9F-45BA-B94D-F20ABB54519B", - "baseIconId": "954CCE2B-7FEE-4F9C-9923-4E1D567607C3", - "name": "palette-outline", - "codepoint": "F0E0C", - "aliases": [ - "paint-outline" - ], - "styles": [ - "outline" - ], - "version": "3.5.95", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Color", - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "158F8306-CE63-45E8-94E5-58484FF5F050", - "baseIconId": "158F8306-CE63-45E8-94E5-58484FF5F050", - "name": "palette-swatch", - "codepoint": "F08B5", - "aliases": [ - "style", - "paint", - "material" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Color" - ], - "author": "Google" - }, - { - "id": "3D2690B4-4A3D-4B7C-B384-1C0AB180DD0B", - "baseIconId": "158F8306-CE63-45E8-94E5-58484FF5F050", - "name": "palette-swatch-outline", - "codepoint": "F135C", - "aliases": [ - "style-outline", - "paint-outline" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Color" - ], - "author": "Google" - }, - { - "id": "C4B3CA22-1868-4216-807B-ED852BAA3C21", - "baseIconId": "158F8306-CE63-45E8-94E5-58484FF5F050", - "name": "palette-swatch-variant", - "codepoint": "F195A", - "aliases": [ - "style", - "paint", - "material" - ], - "styles": [ - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Color" - ], - "author": "Erdem YILMAZ" - }, - { - "id": "787F9145-5272-4028-94C8-46B0623FE039", - "baseIconId": "787F9145-5272-4028-94C8-46B0623FE039", - "name": "palm-tree", - "codepoint": "F1055", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan", - "codepoint": "F0BB4", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "F5AFD529-AD6F-4A1B-AB69-E3E10FD0E654", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-bottom-left", - "codepoint": "F0BB5", - "aliases": [ - "pan-down-left" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "BAAF741C-C242-49A8-8A16-DA1EC373385D", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-bottom-right", - "codepoint": "F0BB6", - "aliases": [ - "pan-down-right" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "408FB11D-9531-4C8F-A592-48CD10A1AF4B", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-down", - "codepoint": "F0BB7", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "9881BB2E-CCAF-4698-83B5-452ED749C314", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-horizontal", - "codepoint": "F0BB8", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "59CEB0A5-75F5-4D3D-AF4D-2F0D8AEAEB0C", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-left", - "codepoint": "F0BB9", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "D563253F-1895-4DB7-95E9-A0C4C5562D12", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-right", - "codepoint": "F0BBA", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "C497D005-A9A3-4B1A-B440-CE574E81AF2F", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-top-left", - "codepoint": "F0BBB", - "aliases": [ - "pan-up-left" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "E9886955-5257-4E95-A017-C903F5F850C2", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-top-right", - "codepoint": "F0BBC", - "aliases": [ - "pan-up-right" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "989DC863-1210-44A7-88A3-B414994983F6", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-up", - "codepoint": "F0BBD", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A27AD714-E988-4970-B995-8EEADCDA5D55", - "baseIconId": "FEDAC98D-95D1-44FE-81DE-2BAACA196408", - "name": "pan-vertical", - "codepoint": "F0BBE", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A797FE46-DF68-4179-85BE-172BD79F0667", - "baseIconId": "A797FE46-DF68-4179-85BE-172BD79F0667", - "name": "panda", - "codepoint": "F03DA", - "aliases": [ - "emoji-panda", - "emoticon-panda" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Austin Andrews" - }, - { - "id": "24BCD03F-8D84-4154-95F5-086230CE3BBA", - "baseIconId": "24BCD03F-8D84-4154-95F5-086230CE3BBA", - "name": "pandora", - "codepoint": "F03DB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama", - "codepoint": "F03DC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "6D0BD840-6985-440A-9C55-782B5C3F4F9C", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-fisheye", - "codepoint": "F03DD", - "aliases": [ - "panorama-fish-eye" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "FCE8C530-5626-4B4A-9260-ECD7C1E93956", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-horizontal", - "codepoint": "F1928", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "42B1DAD8-8731-49DB-B415-9BFD78A8DDEA", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-horizontal-outline", - "codepoint": "F03DE", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "E676EFD3-32EC-4F24-9A9A-65EF5518AA01", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-outline", - "codepoint": "F198C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "B0B17758-277D-4AA6-8567-E87451EF1139", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-sphere", - "codepoint": "F198D", - "aliases": [ - "panorama-360" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "F364E6E7-1129-4076-B915-0DA77003C891", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-sphere-outline", - "codepoint": "F198E", - "aliases": [ - "panorama-360-outline" - ], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "06830F7E-C93D-445A-AED5-7832A9E885C5", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-variant", - "codepoint": "F198F", - "aliases": [ - "panorama-vr", - "image-vr", - "picture-vr", - "picture-360", - "image-360" - ], - "styles": [ - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "BE67BFD1-97AD-4EC3-B3E7-19BA48708172", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-variant-outline", - "codepoint": "F1990", - "aliases": [ - "panorama-vr-outline", - "image-vr-outline", - "picture-vr-outline", - "picture-360-outline", - "image-360-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "DB54A44E-20B6-435E-9CFE-D53966AE0855", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-vertical", - "codepoint": "F1929", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "7EC1E0AF-1AC5-4CC8-BDCC-5E2D3BF2AC70", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-vertical-outline", - "codepoint": "F03DF", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "64F3926D-42E9-4819-92A2-C524031CD9BA", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-wide-angle", - "codepoint": "F195F", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "12D83006-87DE-49CE-B8C3-7D6492934CDA", - "baseIconId": "4054A322-F348-49BA-B85F-B978EFC1BDAD", - "name": "panorama-wide-angle-outline", - "codepoint": "F03E0", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "4E8B4DBC-83EE-4CBD-BEDD-5866DE057324", - "baseIconId": "4E8B4DBC-83EE-4CBD-BEDD-5866DE057324", - "name": "paper-cut-vertical", - "codepoint": "F03E1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1666E605-F46A-4AD2-8345-A599811B7D45", - "baseIconId": "1666E605-F46A-4AD2-8345-A599811B7D45", - "name": "paper-roll", - "codepoint": "F1157", - "aliases": [ - "lavatory-roll", - "bathroom-tissue", - "toilet-paper", - "kitchen-roll", - "paper-towels", - "receipt-roll" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Printer" - ], - "author": "Simran" - }, - { - "id": "2A7CBB78-4672-450C-8578-48AFB13243CD", - "baseIconId": "1666E605-F46A-4AD2-8345-A599811B7D45", - "name": "paper-roll-outline", - "codepoint": "F1158", - "aliases": [ - "lavatory-roll-outline", - "bathroom-tissue-outline", - "kitchen-roll-outline", - "paper-towels-outline", - "toilet-paper-outline", - "receipt-roll-outline" - ], - "styles": [ - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Printer" - ], - "author": "Simran" - }, - { - "id": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "baseIconId": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "name": "paperclip", - "codepoint": "F03E2", - "aliases": [ - "attachment-vertical", - "attach-file" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8B0FAA58-E315-4474-B9B0-E7E10CBC9542", - "baseIconId": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "name": "paperclip-check", - "codepoint": "F1AC6", - "aliases": [ - "paperclip-tick", - "attachment-check", - "attachment-tick" - ], - "styles": [ - "check" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3A005420-791A-45DA-A903-EED63E35C1C6", - "baseIconId": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "name": "paperclip-lock", - "codepoint": "F19DA", - "aliases": [ - "attachment-lock" - ], - "styles": [ - "lock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "9D2D90D0-260E-4465-817D-875B741B62F3", - "baseIconId": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "name": "paperclip-minus", - "codepoint": "F1AC7", - "aliases": [ - "paperclip-subtract", - "attachment-minus", - "attachment-subtract" - ], - "styles": [ - "minus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1DA3EF2F-D91E-40AD-B325-FF4E42BF76DD", - "baseIconId": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "name": "paperclip-off", - "codepoint": "F1AC8", - "aliases": [ - "attachment-off" - ], - "styles": [ - "off" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3AC39192-3F6B-4BCB-9F13-110C362619FA", - "baseIconId": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "name": "paperclip-plus", - "codepoint": "F1AC9", - "aliases": [ - "paperclip-add", - "attachment-plus", - "attachment-add" - ], - "styles": [ - "plus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "BF4A933D-776E-4533-B9ED-88F9795E1598", - "baseIconId": "27BCEC7F-ABF8-4506-B339-EE2425E1BAF9", - "name": "paperclip-remove", - "codepoint": "F1ACA", - "aliases": [ - "attachment-remove" - ], - "styles": [ - "remove" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "47070C5A-B989-49C6-A635-3B764DC112CB", - "baseIconId": "47070C5A-B989-49C6-A635-3B764DC112CB", - "name": "parachute", - "codepoint": "F0CB4", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "739633DB-1136-4AD6-8E4E-80077562E9F1", - "baseIconId": "47070C5A-B989-49C6-A635-3B764DC112CB", - "name": "parachute-outline", - "codepoint": "F0CB5", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "24CD918E-9458-4D8D-A00C-746F8AB5D17E", - "baseIconId": "24CD918E-9458-4D8D-A00C-746F8AB5D17E", - "name": "paragliding", - "codepoint": "F1745", - "aliases": [ - "parasail", - "paraglide" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "07C8266A-A135-443C-B2DD-4148CD718C51", - "baseIconId": "07C8266A-A135-443C-B2DD-4148CD718C51", - "name": "parking", - "codepoint": "F03E3", - "aliases": [ - "car-park", - "local-parking" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Google" - }, - { - "id": "AED614C4-13E2-4009-9D9F-950258DB5124", - "baseIconId": "AED614C4-13E2-4009-9D9F-950258DB5124", - "name": "party-popper", - "codepoint": "F1056", - "aliases": [ - "celebration" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Google" - }, - { - "id": "31BE5768-FCE0-46D5-A20B-E8CBFED471E0", - "baseIconId": "31BE5768-FCE0-46D5-A20B-E8CBFED471E0", - "name": "passport", - "codepoint": "F07E3", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "86A974C4-6E5A-48F6-A3B9-35B3DCD1DE7A", - "baseIconId": "31BE5768-FCE0-46D5-A20B-E8CBFED471E0", - "name": "passport-biometric", - "codepoint": "F0DE1", - "aliases": [ - "passport-electronic" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "8288CA76-67E5-4EEA-82CD-DE0E0842F34D", - "baseIconId": "8288CA76-67E5-4EEA-82CD-DE0E0842F34D", - "name": "pasta", - "codepoint": "F1160", - "aliases": [ - "food-italian", - "spaghetti" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "03B35003-B782-475E-AE4C-13021109AD97", - "baseIconId": "03B35003-B782-475E-AE4C-13021109AD97", - "name": "patio-heater", - "codepoint": "F0F80", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B72D845-E704-489C-A447-D02306AF5228", - "baseIconId": "9B72D845-E704-489C-A447-D02306AF5228", - "name": "patreon", - "codepoint": "F0882", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "baseIconId": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "name": "pause", - "codepoint": "F03E4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "6B7FCAFD-C14A-49FC-A959-A2B6C7C2C5BC", - "baseIconId": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "name": "pause-box", - "codepoint": "F00BC", - "aliases": [], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8F48F520-011A-4B09-853E-33E1C7D5714A", - "baseIconId": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "name": "pause-box-outline", - "codepoint": "F1B7A", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7AA13CBC-D472-4462-8263-88DA2BDCD6BB", - "baseIconId": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "name": "pause-circle", - "codepoint": "F03E5", - "aliases": [ - "pause-circle-filled" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "6F271406-B475-45D0-9B37-EF3DBE7D0DAA", - "baseIconId": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "name": "pause-circle-outline", - "codepoint": "F03E6", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D0A95719-9B9F-4E86-A6E5-8013C1A6D4A7", - "baseIconId": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "name": "pause-octagon", - "codepoint": "F03E7", - "aliases": [ - "stop-pause" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "95AA0ED2-4221-4123-B3BF-9FACF3702CA4", - "baseIconId": "2A1F0831-13CA-4419-BBD7-1F1FAF62A32B", - "name": "pause-octagon-outline", - "codepoint": "F03E8", - "aliases": [ - "stop-pause-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "802EBFA2-6D86-4E93-BEBF-7F69F6C98C01", - "baseIconId": "802EBFA2-6D86-4E93-BEBF-7F69F6C98C01", - "name": "paw", - "codepoint": "F03E9", - "aliases": [ - "pets" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal", - "Nature" - ], - "author": "Simran" - }, - { - "id": "039D7C7E-AB09-4364-B08D-1FC120442AFE", - "baseIconId": "802EBFA2-6D86-4E93-BEBF-7F69F6C98C01", - "name": "paw-off", - "codepoint": "F0657", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Simran" - }, - { - "id": "EADDFE7F-B2A0-40AD-B060-555080D02BCB", - "baseIconId": "802EBFA2-6D86-4E93-BEBF-7F69F6C98C01", - "name": "paw-off-outline", - "codepoint": "F1676", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C0FB173F-3D34-4DC2-9D54-C82BEE350FFB", - "baseIconId": "802EBFA2-6D86-4E93-BEBF-7F69F6C98C01", - "name": "paw-outline", - "codepoint": "F1675", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7E574E80-7DB1-4722-9BC4-60F53509AACD", - "baseIconId": "7E574E80-7DB1-4722-9BC4-60F53509AACD", - "name": "peace", - "codepoint": "F0884", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "87A5BD64-6069-4C5B-8D50-69D9049B80BC", - "baseIconId": "87A5BD64-6069-4C5B-8D50-69D9049B80BC", - "name": "peanut", - "codepoint": "F0FFC", - "aliases": [ - "allergen", - "food-allergy" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "D8BD17A2-5CE7-4219-8363-E87D80C2E7DF", - "baseIconId": "87A5BD64-6069-4C5B-8D50-69D9049B80BC", - "name": "peanut-off", - "codepoint": "F0FFD", - "aliases": [ - "allergen-off", - "food-allergy-off" - ], - "styles": [ - "off" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "A3B86034-EAD9-4DE1-AF76-A11F21285DF9", - "baseIconId": "87A5BD64-6069-4C5B-8D50-69D9049B80BC", - "name": "peanut-off-outline", - "codepoint": "F0FFF", - "aliases": [ - "allergen-off-outline", - "food-allergy-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "C3883026-99A7-48ED-898E-37AC117A6C4F", - "baseIconId": "87A5BD64-6069-4C5B-8D50-69D9049B80BC", - "name": "peanut-outline", - "codepoint": "F0FFE", - "aliases": [ - "allergen-outline", - "food-allergy-outline" - ], - "styles": [ - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "054B1710-EE28-4AA8-9D7E-705B5703E33E", - "baseIconId": "054B1710-EE28-4AA8-9D7E-705B5703E33E", - "name": "pen", - "codepoint": "F03EA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Austin Andrews" - }, - { - "id": "BDCCD15F-231E-4449-AADF-E2D21286396A", - "baseIconId": "054B1710-EE28-4AA8-9D7E-705B5703E33E", - "name": "pen-lock", - "codepoint": "F0DE2", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "19D98B8F-B4D1-49B2-A870-20F7E72E4133", - "baseIconId": "054B1710-EE28-4AA8-9D7E-705B5703E33E", - "name": "pen-minus", - "codepoint": "F0DE3", - "aliases": [], - "styles": [ - "minus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9D2F36EB-BE54-482B-9EBD-083699503E16", - "baseIconId": "054B1710-EE28-4AA8-9D7E-705B5703E33E", - "name": "pen-off", - "codepoint": "F0DE4", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "299ED912-E240-41D8-AA28-5FB0025BC782", - "baseIconId": "054B1710-EE28-4AA8-9D7E-705B5703E33E", - "name": "pen-plus", - "codepoint": "F0DE5", - "aliases": [ - "pen-add" - ], - "styles": [ - "plus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "71997C15-3E04-4212-B08D-3F03AA110261", - "baseIconId": "054B1710-EE28-4AA8-9D7E-705B5703E33E", - "name": "pen-remove", - "codepoint": "F0DE6", - "aliases": [], - "styles": [ - "remove" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil", - "codepoint": "F03EB", - "aliases": [ - "edit", - "create", - "mode-edit" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Edit \/ Modify" - ], - "author": "Google" - }, - { - "id": "56CC04F4-4E58-434D-962A-C824F5959D20", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-box", - "codepoint": "F03EC", - "aliases": [ - "edit-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Austin Andrews" - }, - { - "id": "3E7031C9-56EE-458C-BE57-B1A737E09998", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-box-multiple", - "codepoint": "F1144", - "aliases": [ - "library-edit" - ], - "styles": [ - "box", - "multiple" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "071E2A53-1647-4747-98BE-A7787AF39C15", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-box-multiple-outline", - "codepoint": "F1145", - "aliases": [ - "library-edit-outline" - ], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "48A9B269-08B8-4DCB-85F1-68F2334DC004", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-box-outline", - "codepoint": "F03ED", - "aliases": [ - "edit-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Austin Andrews" - }, - { - "id": "F5C5B903-7160-4B46-AC15-28C965289469", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-circle", - "codepoint": "F06FF", - "aliases": [ - "edit-circle" - ], - "styles": [ - "circle" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "GreenTurtwig" - }, - { - "id": "5D68DE43-969F-40BE-8A2D-F5C25F2B0853", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-circle-outline", - "codepoint": "F0776", - "aliases": [ - "edit-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Austin Andrews" - }, - { - "id": "33BBFD25-1E97-49AA-BA9A-0B42369DF4A6", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-lock", - "codepoint": "F03EE", - "aliases": [], - "styles": [ - "lock" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "0EDDA4FC-DC06-4621-AE19-5E0CF693997B", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-lock-outline", - "codepoint": "F0DE7", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "07FDD339-D255-4ED3-BDEB-00B57F521A0E", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-minus", - "codepoint": "F0DE8", - "aliases": [], - "styles": [ - "minus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "030723AA-4B87-4648-8A6A-CECB909A3140", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-minus-outline", - "codepoint": "F0DE9", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "AEB0F9CD-B3FF-4F64-9D6E-4916D5C720C3", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-off", - "codepoint": "F03EF", - "aliases": [ - "edit-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "5B4952DA-7867-403A-AC98-12CFA78B52C0", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-off-outline", - "codepoint": "F0DEA", - "aliases": [ - "edit-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A17D67B7-C5FF-45E2-91AE-975584067388", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-outline", - "codepoint": "F0CB6", - "aliases": [ - "edit-outline", - "create-outline", - "mode-edit-outline" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Edit \/ Modify" - ], - "author": "Google" - }, - { - "id": "F6194D2A-B09D-416D-98B9-C80FDA45D831", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-plus", - "codepoint": "F0DEB", - "aliases": [ - "pencil-add" - ], - "styles": [ - "plus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "831CF37A-6530-48BB-8CB7-B3FF50D61860", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-plus-outline", - "codepoint": "F0DEC", - "aliases": [ - "pencil-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B536A740-BC15-4F6B-A923-28450B1ED3BD", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-remove", - "codepoint": "F0DED", - "aliases": [], - "styles": [ - "remove" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EEEC97B0-5E06-4D77-9934-6AC66B8F8538", - "baseIconId": "BB27CE6C-769A-4C0C-A53C-F1B10B9C4423", - "name": "pencil-remove-outline", - "codepoint": "F0DEE", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B8F0B132-5AD7-4E4B-ADDB-311FDBDD35CC", - "baseIconId": "B8F0B132-5AD7-4E4B-ADDB-311FDBDD35CC", - "name": "pencil-ruler", - "codepoint": "F1353", - "aliases": [ - "design" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1D79B079-87DB-4956-A68D-DE69EE3C371E", - "baseIconId": "B8F0B132-5AD7-4E4B-ADDB-311FDBDD35CC", - "name": "pencil-ruler-outline", - "codepoint": "F1C11", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Drawing \/ Art" - ], - "author": "frankgrinaert" - }, - { - "id": "B2649A8A-D1EC-43AF-9C99-F233AF709155", - "baseIconId": "B2649A8A-D1EC-43AF-9C99-F233AF709155", - "name": "penguin", - "codepoint": "F0EC0", - "aliases": [ - "emoji-penguin", - "emoticon-penguin", - "linux" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Augustin Ursu" - }, - { - "id": "A1E0EA60-79AF-42FD-966D-485276671F9C", - "baseIconId": "A1E0EA60-79AF-42FD-966D-485276671F9C", - "name": "pentagon", - "codepoint": "F0701", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7251D20A-5A23-456D-9A68-0107EF2BF01B", - "baseIconId": "A1E0EA60-79AF-42FD-966D-485276671F9C", - "name": "pentagon-outline", - "codepoint": "F0700", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EA9C6D1A-79AE-4114-9AF6-59A2A39FC8DF", - "baseIconId": "EA9C6D1A-79AE-4114-9AF6-59A2A39FC8DF", - "name": "pentagram", - "codepoint": "F1667", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3AB307BF-41D9-4CA4-9D44-58C82304C7BB", - "baseIconId": "3AB307BF-41D9-4CA4-9D44-58C82304C7BB", - "name": "percent", - "codepoint": "F03F0", - "aliases": [ - "discount", - "sale" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math", - "Shopping" - ], - "author": "Simran" - }, - { - "id": "DD3C1F53-8265-4133-8C96-BC9EFF0A30D5", - "baseIconId": "3AB307BF-41D9-4CA4-9D44-58C82304C7BB", - "name": "percent-box", - "codepoint": "F1A02", - "aliases": [ - "discount-box", - "sale-box" - ], - "styles": [ - "box" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Math", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4B5165F6-736B-44F7-961C-420A1F2EEFE7", - "baseIconId": "3AB307BF-41D9-4CA4-9D44-58C82304C7BB", - "name": "percent-box-outline", - "codepoint": "F1A03", - "aliases": [ - "discount-box-outline", - "sale-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Math", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CA4A3F7A-B20E-4937-9FD6-207B1F974DE8", - "baseIconId": "3AB307BF-41D9-4CA4-9D44-58C82304C7BB", - "name": "percent-circle", - "codepoint": "F1A04", - "aliases": [ - "discount-circle", - "sale-circle" - ], - "styles": [ - "circle" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Math", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "30332F97-18B5-4866-A31F-912C262ACDBE", - "baseIconId": "3AB307BF-41D9-4CA4-9D44-58C82304C7BB", - "name": "percent-circle-outline", - "codepoint": "F1A05", - "aliases": [ - "discount-circle-outline", - "sale-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Math", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0625AC7C-AD52-4221-8F53-A9AE6DAA57BD", - "baseIconId": "3AB307BF-41D9-4CA4-9D44-58C82304C7BB", - "name": "percent-outline", - "codepoint": "F1278", - "aliases": [ - "discount-outline", - "sale-outline" - ], - "styles": [ - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Math", - "Shopping" - ], - "author": "MC\u7684wither\u83cc" - }, - { - "id": "1DB2BD6D-830D-4A4F-8E04-94D14901895A", - "baseIconId": "1DB2BD6D-830D-4A4F-8E04-94D14901895A", - "name": "periodic-table", - "codepoint": "F08B6", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Simran" - }, - { - "id": "408FA22D-2054-4579-A991-DF061CDE5A00", - "baseIconId": "6F54CAE0-D2B7-4E00-83AA-0B98A7601CF6", - "name": "perspective-less", - "codepoint": "F0D23", - "aliases": [ - "perspective-decrease" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6F54CAE0-D2B7-4E00-83AA-0B98A7601CF6", - "baseIconId": "6F54CAE0-D2B7-4E00-83AA-0B98A7601CF6", - "name": "perspective-more", - "codepoint": "F0D24", - "aliases": [ - "perspective-increase" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "57738B55-57CB-47EF-9758-32686AA78212", - "baseIconId": "57738B55-57CB-47EF-9758-32686AA78212", - "name": "ph", - "codepoint": "F17C5", - "aliases": [ - "acid", - "base", - "potential-of-hydrogen", - "power-of-hydrogen" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Science", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone", - "codepoint": "F03F2", - "aliases": [ - "call", - "local-phone", - "telephone" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "B7AE9DEE-6F1D-4CAF-9FD8-C6A6BF5D739D", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-alert", - "codepoint": "F0F1A", - "aliases": [], - "styles": [ - "alert" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Alert \/ Error" - ], - "author": "Patricia Cadenas" - }, - { - "id": "A4D67201-7E48-469A-A424-0D772DBAD344", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-alert-outline", - "codepoint": "F118E", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "34F52268-8571-4501-93C1-D4BF606BB10E", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-bluetooth", - "codepoint": "F03F3", - "aliases": [ - "phone-bluetooth-speaker", - "telephone-bluetooth" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "64F560E8-6BEE-4CDC-81D4-FE87B76C906C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-bluetooth-outline", - "codepoint": "F118F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "C97B6119-5EB1-4930-AEFA-7E3E216D3875", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-cancel", - "codepoint": "F10BC", - "aliases": [ - "phone-block" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Patricia Cadenas" - }, - { - "id": "70F0895F-EF78-404A-9CBE-D3FCAD39CE32", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-cancel-outline", - "codepoint": "F1190", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7FA6178B-0275-4545-BBCB-F10B77E9603D", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-check", - "codepoint": "F11A9", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "A91DFA4F-355A-4CB2-9013-F2ADFAA482D4", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-check-outline", - "codepoint": "F11AA", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "A9ED94F7-0ADB-4CB3-AAF1-35B87D9B7724", - "baseIconId": "A9ED94F7-0ADB-4CB3-AAF1-35B87D9B7724", - "name": "phone-classic", - "codepoint": "F0602", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "4D938684-537A-4ED1-B227-6859EA3DADAF", - "baseIconId": "A9ED94F7-0ADB-4CB3-AAF1-35B87D9B7724", - "name": "phone-classic-off", - "codepoint": "F1279", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1B8EA976-32FD-4A71-94FA-EF40FC346FBD", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-clock", - "codepoint": "F19DB", - "aliases": [ - "phone-schedule", - "phone-time" - ], - "styles": [ - "clock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Date \/ Time" - ], - "author": "Simran" - }, - { - "id": "8F4DBE23-BD53-447F-917D-5343B4DDE8B8", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-dial", - "codepoint": "F1559", - "aliases": [ - "phone-keypad" - ], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "90BA0013-C6A8-47E9-960C-A1DE13516B25", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-dial-outline", - "codepoint": "F155A", - "aliases": [ - "phone-keypad-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "5EF77B27-31D7-47F8-8D72-8BC040CD154E", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-forward", - "codepoint": "F03F4", - "aliases": [ - "phone-forwarded", - "telephone-forward" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "B168C56E-76CD-47CC-AD20-BA116911E3F8", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-forward-outline", - "codepoint": "F1191", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "2018B4C8-A296-4D62-A30A-85F988B206EA", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-hangup", - "codepoint": "F03F5", - "aliases": [ - "call-end", - "telephone-hangup" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "56BBAAEB-F773-4C5D-B122-74F698048F5C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-hangup-outline", - "codepoint": "F1192", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "F9BA7066-C1F8-4B19-9860-37BDCEB6F11C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-in-talk", - "codepoint": "F03F6", - "aliases": [ - "telephone-in-talk" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "BC90A08C-75FB-4E14-9795-3E408CB021AB", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-in-talk-outline", - "codepoint": "F1182", - "aliases": [ - "telephone-in-talk-outline" - ], - "styles": [ - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "AA8EEDF8-EB34-46C5-8117-9258E1349197", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-incoming", - "codepoint": "F03F7", - "aliases": [ - "telephone-incoming" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "2B5D9AA8-0D2D-455F-8585-B8BB5D69717B", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-incoming-outgoing", - "codepoint": "F1B3F", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3F877B20-07A5-43A8-BAAE-C89686C4E043", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-incoming-outgoing-outline", - "codepoint": "F1B40", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "75D9229A-5E93-4E44-8259-0808D47D6458", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-incoming-outline", - "codepoint": "F1193", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "31349A83-A803-48DF-98C8-55D5E27B81E4", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-lock", - "codepoint": "F03F8", - "aliases": [ - "telephone-locked", - "phone-locked", - "telephone-lock" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Lock" - ], - "author": "Google" - }, - { - "id": "436AB859-CF22-4225-9606-5D2F603C102C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-lock-outline", - "codepoint": "F1194", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Lock" - ], - "author": "Google" - }, - { - "id": "B87821E3-2131-4C50-BB88-880BE6D0066F", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-log", - "codepoint": "F03F9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "232EE7DD-4AC1-442D-B8E4-B914038E92CB", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-log-outline", - "codepoint": "F1195", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "16930FBE-3379-43F2-BEA6-057D64D18348", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-message", - "codepoint": "F1196", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "CBA2C764-2B58-4914-A5C9-F0DAB190BB4C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-message-outline", - "codepoint": "F1197", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "7F431DF5-245C-4572-962C-CC57177BD8D0", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-minus", - "codepoint": "F0658", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "F27193C4-051E-4142-A17D-9AFD5D15687D", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-minus-outline", - "codepoint": "F1198", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "BF6662C4-D1D0-42E6-8C0A-B071F12975F2", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-missed", - "codepoint": "F03FA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "1E87E90C-5DCD-4250-81EF-61138B268FBB", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-missed-outline", - "codepoint": "F11A5", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "43E0E6E7-ABC0-4146-A3D3-B2355FA84A5E", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-off", - "codepoint": "F0DEF", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "DDD4308D-34BE-4708-B9B6-E547DDAFC6B3", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-off-outline", - "codepoint": "F11A6", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "52280181-270B-4624-97FE-F46126C65BE7", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-outgoing", - "codepoint": "F03FB", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "AE3A49AE-0125-448B-8EFF-0146293FD123", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-outgoing-outline", - "codepoint": "F1199", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "79252282-1FDF-4DE8-A00F-51CD9D23311D", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-outline", - "codepoint": "F0DF0", - "aliases": [ - "telephone-outline", - "call-outline" - ], - "styles": [ - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "1ABFB2C1-72CB-46C7-8E8B-B8A24C0285EA", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-paused", - "codepoint": "F03FC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "3DF9D1F2-FE29-4385-9741-4B7F4B381EE6", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-paused-outline", - "codepoint": "F119A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "E58A5CD8-2D42-4A3A-BCC2-70870B43752C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-plus", - "codepoint": "F0659", - "aliases": [ - "add-call" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "64C853E0-F60C-435D-9E93-261CCE84B0EB", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-plus-outline", - "codepoint": "F119B", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "F8A826E0-7094-488F-ADF4-ACC23B865B8E", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-refresh", - "codepoint": "F1993", - "aliases": [ - "phone-redial" - ], - "styles": [ - "refresh" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7B9734DE-AFAE-451B-B4DD-D10361B8148C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-refresh-outline", - "codepoint": "F1994", - "aliases": [ - "phone-redial-outline" - ], - "styles": [ - "outline", - "refresh" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7AE0A1C1-0FFD-4182-93B5-95F2419AEE8E", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-remove", - "codepoint": "F152F", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E829DF09-29F7-4FEF-A934-9C7A2119A628", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-remove-outline", - "codepoint": "F1530", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B0FC2BB4-6C44-42CA-8F90-52CBCD0F1AD4", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-return", - "codepoint": "F082F", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "7D826B1C-8945-48EA-95F8-30F864E4EA7D", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-return-outline", - "codepoint": "F119C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "280ECA2D-5D38-4B9E-81FA-58EEB580481A", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-ring", - "codepoint": "F11AB", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "172E080A-5125-42C8-83FB-980DDE41715C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-ring-outline", - "codepoint": "F11AC", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "48667BD8-2891-45D0-92E9-F4FF292527A4", - "baseIconId": "48667BD8-2891-45D0-92E9-F4FF292527A4", - "name": "phone-rotate-landscape", - "codepoint": "F0885", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "B839A0B6-9E89-40C2-811F-2253514267C9", - "baseIconId": "B839A0B6-9E89-40C2-811F-2253514267C9", - "name": "phone-rotate-portrait", - "codepoint": "F0886", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "C9E81E97-C4DA-4612-AC4D-0F81C7986CD8", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-settings", - "codepoint": "F03FD", - "aliases": [ - "settings-phone" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "E4A0F700-DF2C-4A72-AE99-8249ADDBB5FD", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-settings-outline", - "codepoint": "F119D", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Settings" - ], - "author": "Google" - }, - { - "id": "038DA763-AA65-43B6-B6D6-F6967EE0DC4C", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-sync", - "codepoint": "F1995", - "aliases": [ - "phone-redial" - ], - "styles": [ - "sync" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E463CA1E-92BB-4389-9EE8-BBA74EDA159F", - "baseIconId": "B5BA809F-FCE8-476C-8388-6A9CFFF73015", - "name": "phone-sync-outline", - "codepoint": "F1996", - "aliases": [ - "phone-redial-outline" - ], - "styles": [ - "outline", - "sync" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "43DAD9DC-C484-452A-9450-1F9C83C6B50E", - "baseIconId": "43DAD9DC-C484-452A-9450-1F9C83C6B50E", - "name": "phone-voip", - "codepoint": "F03FE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "0E3F11DA-8458-4A89-BB7B-D3A6972D3E30", - "baseIconId": "0E3F11DA-8458-4A89-BB7B-D3A6972D3E30", - "name": "pi", - "codepoint": "F03FF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Simran" - }, - { - "id": "7C14B1F3-D836-42D6-AC5F-9FD31ADEBFFD", - "baseIconId": "0E3F11DA-8458-4A89-BB7B-D3A6972D3E30", - "name": "pi-box", - "codepoint": "F0400", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Simran" - }, - { - "id": "C41264FE-89C3-47A7-AE24-36F4B419B4E4", - "baseIconId": "C41264FE-89C3-47A7-AE24-36F4B419B4E4", - "name": "pi-hole", - "codepoint": "F0DF1", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "E7651219-1BF9-4D06-9B4A-7599A2E0A407", - "baseIconId": "E7651219-1BF9-4D06-9B4A-7599A2E0A407", - "name": "piano", - "codepoint": "F067D", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "F33DB278-2B2B-4731-9FDD-6D053EC2CBAB", - "baseIconId": "E7651219-1BF9-4D06-9B4A-7599A2E0A407", - "name": "piano-off", - "codepoint": "F0698", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "A4DE211E-02E2-4514-9059-17AEFADA22F7", - "baseIconId": "A4DE211E-02E2-4514-9059-17AEFADA22F7", - "name": "pickaxe", - "codepoint": "F08B7", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D184F762-16C9-4266-A485-8AA14A83A575", - "baseIconId": "D184F762-16C9-4266-A485-8AA14A83A575", - "name": "picture-in-picture-bottom-right", - "codepoint": "F0E57", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C9D5809D-900A-418A-98C3-2EF4106E620E", - "baseIconId": "D184F762-16C9-4266-A485-8AA14A83A575", - "name": "picture-in-picture-bottom-right-outline", - "codepoint": "F0E58", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C75700F6-A468-4452-BFFB-FFB4A496563B", - "baseIconId": "C75700F6-A468-4452-BFFB-FFB4A496563B", - "name": "picture-in-picture-top-right", - "codepoint": "F0E59", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3910AABC-4BEB-4D91-B35D-AAE58A1115C8", - "baseIconId": "C75700F6-A468-4452-BFFB-FFB4A496563B", - "name": "picture-in-picture-top-right-outline", - "codepoint": "F0E5A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "68AE7D9F-95E4-4AAC-B39F-748FD8677ACF", - "baseIconId": "68AE7D9F-95E4-4AAC-B39F-748FD8677ACF", - "name": "pier", - "codepoint": "F0887", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Places", - "Transportation + Water" - ], - "author": "Michael Irigoyen" - }, - { - "id": "547D5950-A129-411D-92AF-B8477D21230D", - "baseIconId": "68AE7D9F-95E4-4AAC-B39F-748FD8677ACF", - "name": "pier-crane", - "codepoint": "F0888", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Transportation + Water", - "Places" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5E4A3F96-7779-44C8-86EF-948EDBD53C20", - "baseIconId": "5E4A3F96-7779-44C8-86EF-948EDBD53C20", - "name": "pig", - "codepoint": "F0401", - "aliases": [ - "emoji-pig", - "emoticon-pig" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Animal", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "A25A5576-C967-444E-989D-750CD275BF27", - "baseIconId": "5E4A3F96-7779-44C8-86EF-948EDBD53C20", - "name": "pig-variant", - "codepoint": "F1006", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Animal", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "04A432B2-ABA5-49D7-9650-D6518D5D0A94", - "baseIconId": "5E4A3F96-7779-44C8-86EF-948EDBD53C20", - "name": "pig-variant-outline", - "codepoint": "F1678", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Agriculture", - "Animal" - ], - "author": "Google" - }, - { - "id": "7168E9C8-32AE-4E0F-B3A4-EA05452C63C0", - "baseIconId": "7168E9C8-32AE-4E0F-B3A4-EA05452C63C0", - "name": "piggy-bank", - "codepoint": "F1007", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Google" - }, - { - "id": "37D67BA6-70A1-44C4-9C62-0647BBB7CDA2", - "baseIconId": "7168E9C8-32AE-4E0F-B3A4-EA05452C63C0", - "name": "piggy-bank-outline", - "codepoint": "F1679", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "Google" - }, - { - "id": "6487E4ED-C501-416C-9DCE-1B7C1F676050", - "baseIconId": "6487E4ED-C501-416C-9DCE-1B7C1F676050", - "name": "pill", - "codepoint": "F0402", - "aliases": [ - "medicine", - "capsule", - "drug", - "pharmaceutical" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "F4398329-8140-4053-A17D-D96501E7C467", - "baseIconId": "6487E4ED-C501-416C-9DCE-1B7C1F676050", - "name": "pill-multiple", - "codepoint": "F1B4C", - "aliases": [ - "medicine", - "medication", - "drugs" - ], - "styles": [ - "multiple" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "70E290E6-75B8-4976-8206-C066C02C5344", - "baseIconId": "6487E4ED-C501-416C-9DCE-1B7C1F676050", - "name": "pill-off", - "codepoint": "F1A5C", - "aliases": [ - "medicine-off", - "capsule-off", - "drug-off", - "pharmaceutical-off" - ], - "styles": [ - "off" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Contributors" - }, - { - "id": "AD451D24-BA4B-466E-8146-D3FBBDA6E275", - "baseIconId": "AD451D24-BA4B-466E-8146-D3FBBDA6E275", - "name": "pillar", - "codepoint": "F0702", - "aliases": [ - "historic", - "column" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "B1337135-0E57-465F-8C0C-E658C9981A19", - "baseIconId": "B1337135-0E57-465F-8C0C-E658C9981A19", - "name": "pin", - "codepoint": "F0403", - "aliases": [ - "keep" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8C59FE68-D89C-4A86-8E01-5C8109D1B028", - "baseIconId": "B1337135-0E57-465F-8C0C-E658C9981A19", - "name": "pin-off", - "codepoint": "F0404", - "aliases": [ - "keep-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0ED785A3-7387-4989-BF3A-11F2F53C81B5", - "baseIconId": "B1337135-0E57-465F-8C0C-E658C9981A19", - "name": "pin-off-outline", - "codepoint": "F0930", - "aliases": [ - "keep-off-outline" - ], - "styles": [], - "version": "2.3.54", - "deprecated": false, - "tags": [], - "author": "At Abbey's side" - }, - { - "id": "BF736212-EE8D-49D0-8C8B-63A463488E88", - "baseIconId": "B1337135-0E57-465F-8C0C-E658C9981A19", - "name": "pin-outline", - "codepoint": "F0931", - "aliases": [ - "keep-outline" - ], - "styles": [], - "version": "2.3.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F053196C-66BC-4D0D-B75F-24773CA618E5", - "baseIconId": "F053196C-66BC-4D0D-B75F-24773CA618E5", - "name": "pine-tree", - "codepoint": "F0405", - "aliases": [ - "forest", - "plant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday", - "Nature", - "Places", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "A8F37CBB-10AA-42DE-9CD6-BDCE10C2AF8C", - "baseIconId": "F053196C-66BC-4D0D-B75F-24773CA618E5", - "name": "pine-tree-box", - "codepoint": "F0406", - "aliases": [ - "plant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday", - "Nature", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "707539BB-56A1-4346-B907-95DEE51799A3", - "baseIconId": "F053196C-66BC-4D0D-B75F-24773CA618E5", - "name": "pine-tree-fire", - "codepoint": "F141A", - "aliases": [ - "wildfire", - "controlled-burn" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "04EE87F5-A61D-4CD0-89E5-BE7032F07A00", - "baseIconId": "F053196C-66BC-4D0D-B75F-24773CA618E5", - "name": "pine-tree-variant", - "codepoint": "F1C73", - "aliases": [], - "styles": [ - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Nature", - "Places", - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "77B7101F-D4EC-4E5E-9BF0-F4C83A5FD10F", - "baseIconId": "F053196C-66BC-4D0D-B75F-24773CA618E5", - "name": "pine-tree-variant-outline", - "codepoint": "F1C74", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Places", - "Nature", - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "6BAC7A7E-340B-474D-8448-2DEC0FE66146", - "baseIconId": "6BAC7A7E-340B-474D-8448-2DEC0FE66146", - "name": "pinterest", - "codepoint": "F0407", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "BB298846-B608-4289-987C-A8F2A904409F", - "baseIconId": "BB298846-B608-4289-987C-A8F2A904409F", - "name": "pinwheel", - "codepoint": "F0AD5", - "aliases": [ - "toys" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "279BF513-8015-4F28-83FD-B69CE7E0EB78", - "baseIconId": "BB298846-B608-4289-987C-A8F2A904409F", - "name": "pinwheel-outline", - "codepoint": "F0AD6", - "aliases": [ - "toys-outline" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "840AF950-F514-452B-AD1F-18EC878CB1F8", - "baseIconId": "840AF950-F514-452B-AD1F-18EC878CB1F8", - "name": "pipe", - "codepoint": "F07E5", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "01D59BE4-7863-471D-840D-8C810F934344", - "baseIconId": "840AF950-F514-452B-AD1F-18EC878CB1F8", - "name": "pipe-disconnected", - "codepoint": "F07E6", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "A39D910A-D5C9-4A9D-86CF-F61A60486758", - "baseIconId": "840AF950-F514-452B-AD1F-18EC878CB1F8", - "name": "pipe-leak", - "codepoint": "F0889", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "CAF49DCD-781B-4F6A-B692-9E2ED6D68786", - "baseIconId": "840AF950-F514-452B-AD1F-18EC878CB1F8", - "name": "pipe-valve", - "codepoint": "F184D", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5767EA8C-592F-4CEF-A01D-52F3CD0D111E", - "baseIconId": "5767EA8C-592F-4CEF-A01D-52F3CD0D111E", - "name": "pipe-wrench", - "codepoint": "F1354", - "aliases": [ - "monkey-wrench" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "5CDFFABD-F3B4-4E4D-97A3-F8B1AE403809", - "baseIconId": "5CDFFABD-F3B4-4E4D-97A3-F8B1AE403809", - "name": "pirate", - "codepoint": "F0A08", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "34C9947D-5943-4C3E-9E7A-2CD95061222B", - "baseIconId": "34C9947D-5943-4C3E-9E7A-2CD95061222B", - "name": "pistol", - "codepoint": "F0703", - "aliases": [ - "gun" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "212476A4-B98A-4A84-BE27-37F28847A7D2", - "baseIconId": "212476A4-B98A-4A84-BE27-37F28847A7D2", - "name": "piston", - "codepoint": "F088A", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Richins" - }, - { - "id": "BD8E12AD-25AA-42FA-9C9C-EA023794A93D", - "baseIconId": "BD8E12AD-25AA-42FA-9C9C-EA023794A93D", - "name": "pitchfork", - "codepoint": "F1553", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E617E8BD-2C63-4E59-B1F4-EB3F9F3916D3", - "baseIconId": "E617E8BD-2C63-4E59-B1F4-EB3F9F3916D3", - "name": "pizza", - "codepoint": "F0409", - "aliases": [ - "pizzeria", - "local-pizza" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Places" - ], - "author": "Google" - }, - { - "id": "604EF539-0143-4862-957A-AA04EFF9CD4E", - "baseIconId": "604EF539-0143-4862-957A-AA04EFF9CD4E", - "name": "plane-car", - "codepoint": "F1AFF", - "aliases": [ - "airport-shuttle", - "airport-taxi", - "airplane-car" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F485C550-203A-48D9-BFFC-35400109374C", - "baseIconId": "F485C550-203A-48D9-BFFC-35400109374C", - "name": "plane-train", - "codepoint": "F1B00", - "aliases": [ - "airport-shuttle", - "airplane-train" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Transportation + Other" - ], - "author": "Michael Irigoyen" - }, - { - "id": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play", - "codepoint": "F040A", - "aliases": [ - "play-arrow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "B60DF8C7-F693-4E2B-B5AB-65CA6DC21A8E", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box", - "codepoint": "F127A", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "11C9308E-3310-49C4-90AF-79ECA629386A", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-edit-outline", - "codepoint": "F1C3A", - "aliases": [], - "styles": [ - "box", - "edit", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Sintija" - }, - { - "id": "0B180C29-3ADF-47C2-ACC6-C5EE5E744AD4", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-lock", - "codepoint": "F1A16", - "aliases": [], - "styles": [ - "box", - "lock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Lock" - ], - "author": "Simran" - }, - { - "id": "560E6993-9435-4447-8A14-235913D80579", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-lock-open", - "codepoint": "F1A17", - "aliases": [], - "styles": [ - "box", - "lock" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Lock" - ], - "author": "Simran" - }, - { - "id": "3C88B8D8-AFDD-4A9F-A976-BCD74895D1F5", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-lock-open-outline", - "codepoint": "F1A18", - "aliases": [], - "styles": [ - "box", - "lock", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Lock" - ], - "author": "Simran" - }, - { - "id": "F7617311-2473-4D67-A62D-1B06033CFAE7", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-lock-outline", - "codepoint": "F1A19", - "aliases": [], - "styles": [ - "box", - "lock", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Lock" - ], - "author": "Simran" - }, - { - "id": "9700DCD7-8658-479A-A817-1241A09F9654", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-multiple", - "codepoint": "F0D19", - "aliases": [], - "styles": [ - "box", - "multiple" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "73F0C681-0A20-484A-B276-3EE052090089", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-multiple-outline", - "codepoint": "F13E6", - "aliases": [], - "styles": [ - "box", - "multiple", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D0431F42-A1C2-409B-9D44-2EDDEF3F9AB3", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-box-outline", - "codepoint": "F040B", - "aliases": [ - "slideshow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "79F68E60-010F-4A8E-8E30-06CB64A5DBF6", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-circle", - "codepoint": "F040C", - "aliases": [ - "play-circle-filled" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E0C875C2-16F3-4C92-BABF-DAB2D08258DC", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-circle-outline", - "codepoint": "F040D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5B10237B-B7AA-4B35-B8C0-C97747F1E3E7", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-network", - "codepoint": "F088B", - "aliases": [ - "media-network" - ], - "styles": [ - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "951FE34F-7D2E-45FF-8014-FB4EBC49BED1", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-network-outline", - "codepoint": "F0CB7", - "aliases": [ - "media-network-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "554AC834-1F9C-401A-86F5-E26FFD201683", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-outline", - "codepoint": "F0F1B", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "93DAA69E-9A21-4D5A-B6B1-0AF0A24B7FEB", - "baseIconId": "93DAA69E-9A21-4D5A-B6B1-0AF0A24B7FEB", - "name": "play-pause", - "codepoint": "F040E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "FEB9507A-DA7D-4CB3-918A-E64BBB9D4CC9", - "baseIconId": "FEB9507A-DA7D-4CB3-918A-E64BBB9D4CC9", - "name": "play-protected-content", - "codepoint": "F040F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "72410FAF-5315-452B-ACE1-C0FEB3B897F8", - "baseIconId": "90AD6D2A-7986-49D0-8DA5-DC92F9F92A15", - "name": "play-speed", - "codepoint": "F08FF", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F3E26F6E-9F9A-490B-A28A-1BD32A60D143", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-check", - "codepoint": "F05C7", - "aliases": [ - "subscriptions", - "playlist-add-check", - "playlist-tick" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EBBE4C11-9C6D-40AA-844A-167B274A4E81", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-edit", - "codepoint": "F0900", - "aliases": [], - "styles": [ - "edit" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "GreenTurtwig" - }, - { - "id": "1D472295-8F79-4F51-B68A-63A2CD2DF634", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-minus", - "codepoint": "F0410", - "aliases": [], - "styles": [ - "minus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-music", - "codepoint": "F0CB8", - "aliases": [ - "playlist-note", - "queue-music" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "97526C1D-E3B9-4900-8C13-3969E80949B3", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-music-outline", - "codepoint": "F0CB9", - "aliases": [ - "playlist-note-outline", - "queue-music-outline" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "313918D8-1CB9-40FC-B24F-3A974F1A6EAF", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-play", - "codepoint": "F0411", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "350D7B60-3F36-4FB0-9959-B90625F5267C", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-plus", - "codepoint": "F0412", - "aliases": [ - "playlist-add" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "526856F3-6DF1-454A-B905-3DA120370563", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-remove", - "codepoint": "F0413", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "80A0AA10-9B8E-4AAA-BDEA-EDDADB94A7CC", - "baseIconId": "F7BFD179-3B1E-4347-BD64-C51686B00E65", - "name": "playlist-star", - "codepoint": "F0DF2", - "aliases": [ - "playlist-favorite" - ], - "styles": [ - "star" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D390D1E2-571E-49DB-BBB9-9D3821EAF819", - "baseIconId": "D390D1E2-571E-49DB-BBB9-9D3821EAF819", - "name": "plex", - "codepoint": "F06BA", - "aliases": [], - "styles": [], - "version": "1.7.22", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7AD950E9-0961-4D65-9B78-40FC56D5D206", - "baseIconId": "7AD950E9-0961-4D65-9B78-40FC56D5D206", - "name": "pliers", - "codepoint": "F19A4", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus", - "codepoint": "F0415", - "aliases": [ - "add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "87EE041D-81D2-4F1A-A757-F76E9D8686EF", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-box", - "codepoint": "F0416", - "aliases": [ - "add-box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "BF1B666E-57AC-41B0-950B-4F4060BDF601", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-box-multiple", - "codepoint": "F0334", - "aliases": [ - "add-to-photos", - "library-add", - "queue", - "library-plus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "910CB053-6597-49C2-A20D-EBC310D03364", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-box-multiple-outline", - "codepoint": "F1143", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "75A7BDE6-40BC-4938-AFCD-D4DDF1B65B2A", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-box-outline", - "codepoint": "F0704", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "0F76DADF-2A8D-4C1F-B43E-DC3C6D282BBF", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-circle", - "codepoint": "F0417", - "aliases": [ - "add-circle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "93BBA1EA-76F8-4D2E-B4D0-98F684B15AC3", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-circle-multiple", - "codepoint": "F034C", - "aliases": [ - "coins-plus" - ], - "styles": [ - "circle", - "multiple", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0C5565E9-9E74-4E50-BF9E-6F904BB83E52", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-circle-multiple-outline", - "codepoint": "F0418", - "aliases": [ - "control-point-duplicate", - "plus-circles-outline", - "coins-plus-outline" - ], - "styles": [ - "circle", - "multiple", - "outline", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EFB8C700-D60B-4995-B8DE-F3A3E2DA75F3", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-circle-outline", - "codepoint": "F0419", - "aliases": [ - "add-circle-outline", - "control-point", - "circles-add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "04ACEC00-DCEE-4FC8-9608-A2875F7A92A1", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-lock", - "codepoint": "F1A5D", - "aliases": [ - "plus-secure" - ], - "styles": [ - "lock" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Contributors" - }, - { - "id": "A147BEF7-1952-44F9-98EB-BF2D2F4F625E", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-lock-open", - "codepoint": "F1A5E", - "aliases": [], - "styles": [ - "lock" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Contributors" - }, - { - "id": "34BDA78C-9BF6-441A-9924-E8619719C333", - "baseIconId": "34BDA78C-9BF6-441A-9924-E8619719C333", - "name": "plus-minus", - "codepoint": "F0992", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "C8A8A7E4-7745-4CA1-A99B-724C2471CAF5", - "baseIconId": "34BDA78C-9BF6-441A-9924-E8619719C333", - "name": "plus-minus-box", - "codepoint": "F0993", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Nick" - }, - { - "id": "D86C99FA-DFA7-4DD2-9EB8-CBB094BD1366", - "baseIconId": "34BDA78C-9BF6-441A-9924-E8619719C333", - "name": "plus-minus-variant", - "codepoint": "F14C9", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "14F6A9EC-BD40-4181-B084-05A9FCFA3973", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-network", - "codepoint": "F041A", - "aliases": [ - "add-network" - ], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "349600D3-B39C-46C2-8E61-5A256C4BA98C", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-network-outline", - "codepoint": "F0CBA", - "aliases": [ - "add-network-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "680B6AD6-C9AD-44D1-9228-EDDB8C242343", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-outline", - "codepoint": "F0705", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2FD9933D-7226-4745-B5DB-C8E6245FB170", - "baseIconId": "2DE4F8E6-F25C-4FCA-8405-109FA8918B78", - "name": "plus-thick", - "codepoint": "F11EC", - "aliases": [ - "add-thick", - "add-bold", - "plus-bold" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "56B37BA8-E973-4B53-812A-7F47BCFF217A", - "baseIconId": "56B37BA8-E973-4B53-812A-7F47BCFF217A", - "name": "podcast", - "codepoint": "F0994", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9C9AF6D4-1E8A-414A-9935-B7B8BE9F0962", - "baseIconId": "9C9AF6D4-1E8A-414A-9935-B7B8BE9F0962", - "name": "podium", - "codepoint": "F0D25", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "4F2BE6B3-071D-4EE3-8E86-71F0AF06619F", - "baseIconId": "9C9AF6D4-1E8A-414A-9935-B7B8BE9F0962", - "name": "podium-bronze", - "codepoint": "F0D26", - "aliases": [ - "podium-third" - ], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "CB4B60CC-1B22-4288-997F-D59FE2AFC198", - "baseIconId": "9C9AF6D4-1E8A-414A-9935-B7B8BE9F0962", - "name": "podium-gold", - "codepoint": "F0D27", - "aliases": [ - "podium-first" - ], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "FF783CFF-DD54-492C-A1E1-323AB6CAAFC1", - "baseIconId": "9C9AF6D4-1E8A-414A-9935-B7B8BE9F0962", - "name": "podium-silver", - "codepoint": "F0D28", - "aliases": [ - "podium-second" - ], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "1DDDF76A-2C40-4BEE-87B1-0B95D4E233DA", - "baseIconId": "1DDDF76A-2C40-4BEE-87B1-0B95D4E233DA", - "name": "point-of-sale", - "codepoint": "F0D92", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Alex Efremo" - }, - { - "id": "48329A9B-7B16-469C-9D64-B2E9381620BF", - "baseIconId": "48329A9B-7B16-469C-9D64-B2E9381620BF", - "name": "pokeball", - "codepoint": "F041D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "A1D5B3DC-2A72-4548-AB36-985E98BB6FCE", - "baseIconId": "A1D5B3DC-2A72-4548-AB36-985E98BB6FCE", - "name": "pokemon-go", - "codepoint": "F0A09", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": true, - "tags": [ - "Gaming \/ RPG", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D73F724D-EEE6-43EC-BA3A-E185ABD7A258", - "baseIconId": "D73F724D-EEE6-43EC-BA3A-E185ABD7A258", - "name": "poker-chip", - "codepoint": "F0830", - "aliases": [ - "casino-chip", - "gambling-chip" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "8408CE08-26C2-49B9-95CE-C5A9AAF4455E", - "baseIconId": "8408CE08-26C2-49B9-95CE-C5A9AAF4455E", - "name": "polaroid", - "codepoint": "F041E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "80E26409-5A5C-4BDC-9722-8A8CC6981B90", - "baseIconId": "80E26409-5A5C-4BDC-9722-8A8CC6981B90", - "name": "police-badge", - "codepoint": "F1167", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9262CC3D-85E6-4881-AE14-B760E93DBBFE", - "baseIconId": "80E26409-5A5C-4BDC-9722-8A8CC6981B90", - "name": "police-badge-outline", - "codepoint": "F1168", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E0ED9455-85A4-4C77-9C79-533CE242ABA5", - "baseIconId": "E0ED9455-85A4-4C77-9C79-533CE242ABA5", - "name": "police-station", - "codepoint": "F1839", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C4A1DAE5-04E0-47EF-84D8-CB81FA58EF87", - "baseIconId": "C4A1DAE5-04E0-47EF-84D8-CB81FA58EF87", - "name": "poll", - "codepoint": "F041F", - "aliases": [ - "bar-chart", - "report", - "performance", - "analytics" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5ACE4E72-9576-405A-A17F-314A1FF864C8", - "baseIconId": "5ACE4E72-9576-405A-A17F-314A1FF864C8", - "name": "polo", - "codepoint": "F14C3", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "528FF16A-C55C-43F9-8E0B-3879A209AEDE", - "baseIconId": "528FF16A-C55C-43F9-8E0B-3879A209AEDE", - "name": "polymer", - "codepoint": "F0421", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "F42C2F0C-BEFC-46EB-A46C-665032BD6641", - "baseIconId": "F42C2F0C-BEFC-46EB-A46C-665032BD6641", - "name": "pool", - "codepoint": "F0606", - "aliases": [ - "swimming-pool" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "7216DA73-CAB3-46A6-8940-809FFE3DBD26", - "baseIconId": "F42C2F0C-BEFC-46EB-A46C-665032BD6641", - "name": "pool-thermometer", - "codepoint": "F1A5F", - "aliases": [ - "pool-temperature" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3401BCC7-DECF-4A92-9B6C-34AF063B2FED", - "baseIconId": "3401BCC7-DECF-4A92-9B6C-34AF063B2FED", - "name": "popcorn", - "codepoint": "F0422", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "9B1DF082-5266-408A-A057-92E9AEB81BFA", - "baseIconId": "9B1DF082-5266-408A-A057-92E9AEB81BFA", - "name": "post", - "codepoint": "F1008", - "aliases": [ - "blog" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DA9F3CE2-81E2-4113-B8E7-64CE579D0890", - "baseIconId": "DA9F3CE2-81E2-4113-B8E7-64CE579D0890", - "name": "post-lamp", - "codepoint": "F1A60", - "aliases": [ - "post-light" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "benjocaz45" - }, - { - "id": "A7CB61B3-B3C5-4EEE-AC94-D0B2347FFA1B", - "baseIconId": "9B1DF082-5266-408A-A057-92E9AEB81BFA", - "name": "post-outline", - "codepoint": "F1009", - "aliases": [ - "blog-outline" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D76042A4-6370-4DF4-BF35-B00BE339805A", - "baseIconId": "D76042A4-6370-4DF4-BF35-B00BE339805A", - "name": "postage-stamp", - "codepoint": "F0CBB", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "267AF23F-D48A-493E-91BD-E78CD3EFCCBA", - "baseIconId": "267AF23F-D48A-493E-91BD-E78CD3EFCCBA", - "name": "pot", - "codepoint": "F02E5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "C264A721-9CFD-4AE5-BD97-404E7DCDC6C2", - "baseIconId": "267AF23F-D48A-493E-91BD-E78CD3EFCCBA", - "name": "pot-mix", - "codepoint": "F065B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "857C302E-0AC9-438D-A8E5-DE3DC9680FAB", - "baseIconId": "267AF23F-D48A-493E-91BD-E78CD3EFCCBA", - "name": "pot-mix-outline", - "codepoint": "F0677", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "EB68865A-2308-4667-9B2F-C550923180A9", - "baseIconId": "267AF23F-D48A-493E-91BD-E78CD3EFCCBA", - "name": "pot-outline", - "codepoint": "F02FF", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "444286FD-F41C-4945-BF9D-7C2913EC663E", - "baseIconId": "267AF23F-D48A-493E-91BD-E78CD3EFCCBA", - "name": "pot-steam", - "codepoint": "F065A", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "A6C14603-8189-4CC5-82CF-1231422B6F70", - "baseIconId": "267AF23F-D48A-493E-91BD-E78CD3EFCCBA", - "name": "pot-steam-outline", - "codepoint": "F0326", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Holiday" - ], - "author": "Simran" - }, - { - "id": "9344AA1D-FF8B-432F-A314-C416DFA37F12", - "baseIconId": "9344AA1D-FF8B-432F-A314-C416DFA37F12", - "name": "pound", - "codepoint": "F0423", - "aliases": [ - "hashtag" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "597DF175-F0F5-4892-9F13-EA712DBC947E", - "baseIconId": "9344AA1D-FF8B-432F-A314-C416DFA37F12", - "name": "pound-box", - "codepoint": "F0424", - "aliases": [ - "hashtag-box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "BC212E3B-C9D9-4FC5-B73B-DDA77D94A5C9", - "baseIconId": "9344AA1D-FF8B-432F-A314-C416DFA37F12", - "name": "pound-box-outline", - "codepoint": "F117F", - "aliases": [ - "hashtag-box-outline" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "C945D203-9737-4C25-87CA-29D97B862DD2", - "baseIconId": "C945D203-9737-4C25-87CA-29D97B862DD2", - "name": "power", - "codepoint": "F0425", - "aliases": [ - "power-settings-new", - "shutdown" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "DD119EDC-92B2-48F6-8014-73AD2AB65DA7", - "baseIconId": "C945D203-9737-4C25-87CA-29D97B862DD2", - "name": "power-cycle", - "codepoint": "F0901", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "39D3928C-2739-4A57-A81C-3DF67328A160", - "baseIconId": "C945D203-9737-4C25-87CA-29D97B862DD2", - "name": "power-off", - "codepoint": "F0902", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "566141F9-DB64-4210-8384-EB77CFA9E8A0", - "baseIconId": "C945D203-9737-4C25-87CA-29D97B862DD2", - "name": "power-on", - "codepoint": "F0903", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "60E77DB8-2D58-462F-8512-41D9E0E42795", - "baseIconId": "60E77DB8-2D58-462F-8512-41D9E0E42795", - "name": "power-plug", - "codepoint": "F06A5", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "1F41CB15-B611-4FBF-A789-7A404C7D81D1", - "baseIconId": "60E77DB8-2D58-462F-8512-41D9E0E42795", - "name": "power-plug-battery", - "codepoint": "F1C3B", - "aliases": [ - "battery-backup" - ], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Battery" - ], - "author": "Jeff Anders" - }, - { - "id": "936AF163-1DC9-4F38-8B7E-5F165695F56C", - "baseIconId": "60E77DB8-2D58-462F-8512-41D9E0E42795", - "name": "power-plug-battery-outline", - "codepoint": "F1C3C", - "aliases": [ - "battery-backup-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Battery" - ], - "author": "Jeff Anders" - }, - { - "id": "ACF38F54-4726-4F8F-9916-8C582137FA69", - "baseIconId": "60E77DB8-2D58-462F-8512-41D9E0E42795", - "name": "power-plug-off", - "codepoint": "F06A6", - "aliases": [ - "power-off" - ], - "styles": [ - "off" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "D4F5AEAB-DD00-4101-8661-13260BE9D087", - "baseIconId": "60E77DB8-2D58-462F-8512-41D9E0E42795", - "name": "power-plug-off-outline", - "codepoint": "F1424", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E439723C-E8DA-4BD6-8AE8-F944FD96B31D", - "baseIconId": "60E77DB8-2D58-462F-8512-41D9E0E42795", - "name": "power-plug-outline", - "codepoint": "F1425", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B5587844-E70A-4F55-A2DA-CE85D8F79689", - "baseIconId": "C945D203-9737-4C25-87CA-29D97B862DD2", - "name": "power-settings", - "codepoint": "F0426", - "aliases": [ - "settings-power" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "AA011772-1BE4-4E00-A838-9D0D1DCA2773", - "baseIconId": "AA011772-1BE4-4E00-A838-9D0D1DCA2773", - "name": "power-sleep", - "codepoint": "F0904", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "175A9E67-3723-4D49-85EC-8D34B4BA0C14", - "baseIconId": "175A9E67-3723-4D49-85EC-8D34B4BA0C14", - "name": "power-socket", - "codepoint": "F0427", - "aliases": [ - "plug-socket" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "CFCF8409-65AC-4E1C-885B-107F9D8B4413", - "baseIconId": "CFCF8409-65AC-4E1C-885B-107F9D8B4413", - "name": "power-socket-au", - "codepoint": "F0905", - "aliases": [ - "plug-socket-au", - "power-socket-type-i", - "power-socket-cn", - "power-socket-ar", - "power-socket-nz", - "power-socket-pg", - "power-socket-australia", - "power-socket-china", - "power-socket-argentina", - "power-socket-new-zealand", - "power-socket-papua-new-guinea" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "27B28F1C-C311-49C2-B3EE-6D288A9F1165", - "baseIconId": "27B28F1C-C311-49C2-B3EE-6D288A9F1165", - "name": "power-socket-ch", - "codepoint": "F0FB3", - "aliases": [ - "plug-socket-ch", - "power-socket-type-j", - "plug-socket-type-j", - "power-socket-switzerland", - "plug-socket-switzerland" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Stautob" - }, - { - "id": "14654BFB-0D87-43E0-8A47-7CF1EE1CF418", - "baseIconId": "14654BFB-0D87-43E0-8A47-7CF1EE1CF418", - "name": "power-socket-de", - "codepoint": "F1107", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "07F4FD1C-A171-4088-BE30-53758CFF45E5", - "baseIconId": "07F4FD1C-A171-4088-BE30-53758CFF45E5", - "name": "power-socket-eu", - "codepoint": "F07E7", - "aliases": [ - "plug-socket-eu", - "power-socket-europe" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "85338D53-181D-46E9-AEA7-D524B0DFBA4A", - "baseIconId": "85338D53-181D-46E9-AEA7-D524B0DFBA4A", - "name": "power-socket-fr", - "codepoint": "F1108", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "D7106221-1ABC-4E8E-9345-E2B23D5D74B9", - "baseIconId": "D7106221-1ABC-4E8E-9345-E2B23D5D74B9", - "name": "power-socket-it", - "codepoint": "F14FF", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Angelo Fan" - }, - { - "id": "98D7A146-D68E-4E80-B8F1-5235DAECD976", - "baseIconId": "98D7A146-D68E-4E80-B8F1-5235DAECD976", - "name": "power-socket-jp", - "codepoint": "F1109", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Haley Halcyon" - }, - { - "id": "E9F0AC95-A660-4FB1-BE5D-20153B709E15", - "baseIconId": "E9F0AC95-A660-4FB1-BE5D-20153B709E15", - "name": "power-socket-uk", - "codepoint": "F07E8", - "aliases": [ - "plug-socket-uk", - "power-socket-type-g", - "power-socket-ie", - "power-socket-hk", - "power-socket-my", - "power-socket-cy", - "power-socket-mt", - "power-socket-sg", - "power-socket-united-kingdom", - "power-socket-ireland", - "power-socket-hong-kong", - "power-socket-malaysia", - "power-socket-cyprus", - "power-socket-malta", - "power-socket-singapore" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "C4F7F8FF-3465-4F85-B615-B852A6919100", - "baseIconId": "C4F7F8FF-3465-4F85-B615-B852A6919100", - "name": "power-socket-us", - "codepoint": "F07E9", - "aliases": [ - "plug-socket-us", - "power-socket-ca", - "power-socket-mx", - "power-socket-type-b", - "power-socket-united-states", - "power-socket-japan", - "power-socket-canada", - "power-socket-mexico" - ], - "styles": [ - "box" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "3AC74CF9-0EC1-475D-A164-7C9CA0D48B58", - "baseIconId": "3AC74CF9-0EC1-475D-A164-7C9CA0D48B58", - "name": "power-standby", - "codepoint": "F0906", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2DB269A5-0CD6-4139-8C24-A4A1F7D96596", - "baseIconId": "2DB269A5-0CD6-4139-8C24-A4A1F7D96596", - "name": "powershell", - "codepoint": "F0A0A", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Contributors" - }, - { - "id": "DEF7F9EA-ACA8-452E-B587-6524BE7D67EE", - "baseIconId": "DEF7F9EA-ACA8-452E-B587-6524BE7D67EE", - "name": "prescription", - "codepoint": "F0706", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Roberto Graham" - }, - { - "id": "DAEB5F87-858A-4677-B023-C9EC71F99F6C", - "baseIconId": "DAEB5F87-858A-4677-B023-C9EC71F99F6C", - "name": "presentation", - "codepoint": "F0428", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E182F4B3-B2B0-41CD-90DC-5ADFBE25DA90", - "baseIconId": "DAEB5F87-858A-4677-B023-C9EC71F99F6C", - "name": "presentation-play", - "codepoint": "F0429", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "607F7E94-DBF5-4D5D-8F3A-5E1F90E1FF61", - "baseIconId": "607F7E94-DBF5-4D5D-8F3A-5E1F90E1FF61", - "name": "pretzel", - "codepoint": "F1562", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nicolas Gres" - }, - { - "id": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer", - "codepoint": "F042A", - "aliases": [ - "local-printshop", - "local-print-shop" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Printer", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "86A3D6B7-6C8B-4883-B51B-753DEF0F4A62", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-3d", - "codepoint": "F042B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Printer", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle", - "codepoint": "F0E5B", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Jon-Luke West" - }, - { - "id": "5AB50A00-46F7-4294-8462-EDD32EA7309A", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle-alert", - "codepoint": "F11C0", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Printer" - ], - "author": "Austin Andrews" - }, - { - "id": "5EEF9AB7-11DF-4612-A037-55705DA3AB19", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle-alert-outline", - "codepoint": "F11C1", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Printer" - ], - "author": "Austin Andrews" - }, - { - "id": "EB4E1E2E-C462-43D0-8D25-4853F62A5397", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle-heat", - "codepoint": "F18B8", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Kinetic Screen" - }, - { - "id": "94D5AB5D-C507-4C0A-9C1C-A25C0ADCEC1E", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle-heat-outline", - "codepoint": "F18B9", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Kinetic Screen" - }, - { - "id": "6172358F-1F0D-4735-B880-613E2E69FFBA", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle-off", - "codepoint": "F1B19", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Michael Irigoyen" - }, - { - "id": "188B9B62-C20F-4813-AAAE-F4FA6DE3A6BC", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle-off-outline", - "codepoint": "F1B1A", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7B1B16E0-AB42-490D-8D84-62B9AA0AB4BD", - "baseIconId": "3A3AA67C-5DB4-40CA-9D0B-43843190CCDC", - "name": "printer-3d-nozzle-outline", - "codepoint": "F0E5C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Jon-Luke West" - }, - { - "id": "887D316B-F8E0-40D4-8961-4A6C00111CDB", - "baseIconId": "86A3D6B7-6C8B-4883-B51B-753DEF0F4A62", - "name": "printer-3d-off", - "codepoint": "F1B0E", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "DD64AF52-2610-43D3-A992-9F3FCCB4A576", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-alert", - "codepoint": "F042C", - "aliases": [ - "printer-warning", - "paper-jam" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Printer", - "Home Automation", - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "3C750D11-158A-4FED-A7A8-22B4D74DF4BC", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-check", - "codepoint": "F1146", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Terren" - }, - { - "id": "22BB79BD-B17E-4002-923E-5B6766B967DC", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-eye", - "codepoint": "F1458", - "aliases": [ - "printer-preview", - "printer-view" - ], - "styles": [ - "variant" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Michael Irigoyen" - }, - { - "id": "328D470F-EEB4-486D-953B-6F84CE809C3C", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-off", - "codepoint": "F0E5D", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "GreenTurtwig" - }, - { - "id": "6AE8D5BF-CEFD-40DD-A764-9C9FFE38A003", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-off-outline", - "codepoint": "F1785", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Google" - }, - { - "id": "514C36A5-3B40-4493-A1CE-275B9C482012", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-outline", - "codepoint": "F1786", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Google" - }, - { - "id": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-pos", - "codepoint": "F1057", - "aliases": [ - "printer-point-of-sale", - "printer-receipt" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Michael Richins" - }, - { - "id": "8303B276-1999-4F62-8C48-22EBA47B5781", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-alert", - "codepoint": "F1BBC", - "aliases": [ - "printer-point-of-sale-alert", - "printer-receipt-alert" - ], - "styles": [ - "alert" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EACC7108-609E-4681-BAE9-BEB8EBBFF77F", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-alert-outline", - "codepoint": "F1BBD", - "aliases": [ - "printer-point-of-sale-alert-outline", - "printer-receipt-alert-outline" - ], - "styles": [ - "alert" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CF5532E5-1956-430A-A661-A5361A8BEBF1", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-cancel", - "codepoint": "F1BBE", - "aliases": [ - "printer-point-of-sale-cancel", - "printer-receipt-cancel" - ], - "styles": [ - "cancel" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7D88DD62-B00E-4950-8A0A-CF5C895578E7", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-cancel-outline", - "codepoint": "F1BBF", - "aliases": [ - "printer-point-of-sale-cancel-outline", - "printer-receipt-cancel-outline" - ], - "styles": [ - "cancel" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "77D3FA23-E73B-4FF9-89A3-D507B44D113C", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-check", - "codepoint": "F1BC0", - "aliases": [ - "printer-point-of-sale-check", - "printer-receipt-check" - ], - "styles": [ - "check" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A48714B0-4E0D-480D-9766-C73919F28B73", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-check-outline", - "codepoint": "F1BC1", - "aliases": [ - "printer-point-of-sale-check-outline", - "printer-receipt-check-outline" - ], - "styles": [ - "check" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6566732F-0DDF-4F23-B478-AC3A93B822BE", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-cog", - "codepoint": "F1BC2", - "aliases": [ - "printer-point-of-sale-cog", - "printer-receipt-cog" - ], - "styles": [ - "cog" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7D634FE7-3A63-4850-9AC4-B62775160D58", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-cog-outline", - "codepoint": "F1BC3", - "aliases": [ - "printer-point-of-sale-cog-outline", - "printer-receipt-cog-outline" - ], - "styles": [ - "cog" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "954D4E9A-A4EF-414E-9AC3-0B07DA479BE9", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-edit", - "codepoint": "F1BC4", - "aliases": [ - "printer-point-of-sale-edit", - "printer-receipt-edit" - ], - "styles": [ - "edit" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "401FC546-94DF-4C01-9B08-24EEB602A4C3", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-edit-outline", - "codepoint": "F1BC5", - "aliases": [ - "printer-point-of-sale-edit-outline", - "printer-receipt-edit-outline" - ], - "styles": [ - "edit" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "636E0D3E-A92D-4369-9C04-00C92DB0C1B2", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-minus", - "codepoint": "F1BC6", - "aliases": [ - "printer-point-of-sale-minus", - "printer-receipt-minus" - ], - "styles": [ - "minus" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DD9AE6D3-6DF8-4CBC-A40F-CA25E4E6B310", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-minus-outline", - "codepoint": "F1BC7", - "aliases": [ - "printer-point-of-sale-minus-outline", - "printer-receipt-minus-outline" - ], - "styles": [ - "minus" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B91F589E-8733-47ED-8B29-7D1BBCFBC98F", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-network", - "codepoint": "F1BC8", - "aliases": [ - "printer-point-of-sale-network", - "printer-receipt-network" - ], - "styles": [ - "network" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3FD6D2F6-5BBB-45D9-BE28-1B216BEB4D5E", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-network-outline", - "codepoint": "F1BC9", - "aliases": [ - "printer-point-of-sale-network-outline", - "printer-receipt-network-outline" - ], - "styles": [ - "network" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "50590358-DEC9-4F92-B1AF-0F005C35A3DA", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-off", - "codepoint": "F1BCA", - "aliases": [ - "printer-point-of-sale-off", - "printer-receipt-off" - ], - "styles": [ - "off" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B5A792CB-A191-44B7-AC15-148FC242803E", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-off-outline", - "codepoint": "F1BCB", - "aliases": [ - "printer-point-of-sale-off-outline", - "printer-receipt-off-outline" - ], - "styles": [ - "off" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-outline", - "codepoint": "F1BCC", - "aliases": [ - "printer-point-of-sale-outline", - "printer-receipt-outline" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FC8CF9C9-3DCD-46DC-8B3C-A4000A7B00DD", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-pause", - "codepoint": "F1BCD", - "aliases": [ - "printer-point-of-sale-pause", - "printer-receipt-pause" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FCF57215-34E5-44F7-9DF9-BDFF862CAAF6", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-pause-outline", - "codepoint": "F1BCE", - "aliases": [ - "printer-point-of-sale-pause-outline", - "printer-receipt-pause-outline" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6737548E-6689-4D50-B84A-186B16B1CE9C", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-play", - "codepoint": "F1BCF", - "aliases": [ - "printer-point-of-sale-play", - "printer-receipt-play" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C725674B-6092-43B7-9F0D-D878910CE943", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-play-outline", - "codepoint": "F1BD0", - "aliases": [ - "printer-point-of-sale-play-outline", - "printer-receipt-play-outline" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "45895F8B-BD11-410E-859F-E48AC25AA0EF", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-plus", - "codepoint": "F1BD1", - "aliases": [ - "printer-point-of-sale-plus", - "printer-receipt-plus" - ], - "styles": [ - "plus" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B842534E-FF25-45A4-B2E1-F5FC581FD017", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-plus-outline", - "codepoint": "F1BD2", - "aliases": [ - "printer-point-of-sale-plus-outline", - "printer-receipt-plus-outline" - ], - "styles": [ - "plus" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9C26E188-105E-45DE-A8D3-42DA8829FE34", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-refresh", - "codepoint": "F1BD3", - "aliases": [ - "printer-point-of-sale-refresh", - "printer-receipt-refresh" - ], - "styles": [ - "refresh" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D5843C28-5203-42D5-A874-8BE28012EFA8", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-refresh-outline", - "codepoint": "F1BD4", - "aliases": [ - "printer-point-of-sale-refresh-outline", - "printer-receipt-refresh-outline" - ], - "styles": [ - "refresh" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "21A677FB-E227-4D63-A4FE-08FE9A1D7065", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-remove", - "codepoint": "F1BD5", - "aliases": [ - "printer-point-of-sale-remove", - "printer-receipt-remove" - ], - "styles": [ - "remove" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "796FA5DE-0B9F-4CC4-9FC9-6361639B8751", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-remove-outline", - "codepoint": "F1BD6", - "aliases": [ - "printer-point-of-sale-remove-outline", - "printer-receipt-remove-outline" - ], - "styles": [ - "remove" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6771B76B-C7D3-4F4A-B8AA-1656DF5C445A", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-star", - "codepoint": "F1BD7", - "aliases": [ - "printer-point-of-sale-star", - "printer-receipt-star", - "printer-favorite", - "printer-primary" - ], - "styles": [ - "star" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E7889DB0-6E76-4CA9-BD0B-92B7E8304381", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-star-outline", - "codepoint": "F1BD8", - "aliases": [ - "printer-point-of-sale-star-outline", - "printer-receipt-star-outline" - ], - "styles": [ - "star" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8DE1FE3F-D679-44B4-AECA-7A9B5F0CC2A7", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-stop", - "codepoint": "F1BD9", - "aliases": [ - "printer-point-of-sale-stop", - "printer-receipt-stop" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E789327B-828B-4E02-976E-1522B0E92151", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-stop-outline", - "codepoint": "F1BDA", - "aliases": [ - "printer-point-of-sale-stop-outline", - "printer-receipt-stop-outline" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E8726305-549E-45BE-9E41-D624A57B5D6A", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-sync", - "codepoint": "F1BDB", - "aliases": [ - "printer-point-of-sale-sync", - "printer-receipt-sync" - ], - "styles": [ - "sync" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0F86AA93-8706-4290-B11A-FDC58392F543", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-sync-outline", - "codepoint": "F1BDC", - "aliases": [ - "printer-point-of-sale-sync-outline", - "printer-receipt-sync-outline" - ], - "styles": [ - "sync" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "458EB3B4-89F2-4E46-A6D6-485A2081F627", - "baseIconId": "F9D30BAE-7AF6-4C02-83AD-18045895B8B0", - "name": "printer-pos-wrench", - "codepoint": "F1BDD", - "aliases": [ - "printer-point-of-sale-wrench", - "printer-receipt-wrench" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C998386E-C3FA-44DC-9513-D2BFA68D7D12", - "baseIconId": "4206F292-9583-42F9-91CD-2DEA9F273C9F", - "name": "printer-pos-wrench-outline", - "codepoint": "F1BDE", - "aliases": [ - "printer-point-of-sale-wrench-outline", - "printer-receipt-wrench-outline" - ], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Colton Wiscombe" - }, - { - "id": "18383BEA-BF9A-43AD-87BB-F47CEC92F9C3", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-search", - "codepoint": "F1457", - "aliases": [ - "printer-preview", - "printer-magnify" - ], - "styles": [ - "search" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Michael Irigoyen" - }, - { - "id": "33E4D9A3-F8C1-4C58-9E88-977AE4F4E4CA", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-settings", - "codepoint": "F0707", - "aliases": [], - "styles": [ - "settings" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Settings", - "Printer" - ], - "author": "Simran" - }, - { - "id": "E9B8B42B-CA7D-4499-B610-CABBDCF51C0E", - "baseIconId": "7365D689-4C10-4EBA-AD9A-09189B8091EE", - "name": "printer-wireless", - "codepoint": "F0A0B", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Printer" - ], - "author": "Michael Richins" - }, - { - "id": "FA96A5AC-D499-4C13-93C7-7A422A5DE4B7", - "baseIconId": "FA96A5AC-D499-4C13-93C7-7A422A5DE4B7", - "name": "priority-high", - "codepoint": "F0603", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DFC698A7-3040-48F4-A341-C1E667A4FE22", - "baseIconId": "DFC698A7-3040-48F4-A341-C1E667A4FE22", - "name": "priority-low", - "codepoint": "F0604", - "aliases": [ - "low-priority" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "53EA516B-544D-4DC3-90BD-3A5C4838923C", - "baseIconId": "53EA516B-544D-4DC3-90BD-3A5C4838923C", - "name": "professional-hexagon", - "codepoint": "F042D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "82FBA8C9-B8BE-4CA6-883C-E07C36723627", - "baseIconId": "82FBA8C9-B8BE-4CA6-883C-E07C36723627", - "name": "progress-alert", - "codepoint": "F0CBC", - "aliases": [ - "progress-warning" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "943E027B-964A-4CE2-BDD7-44A9703A73B1", - "baseIconId": "943E027B-964A-4CE2-BDD7-44A9703A73B1", - "name": "progress-check", - "codepoint": "F0995", - "aliases": [ - "progress-tick" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "D7A33F97-FA45-4719-901A-A1F91E671FC2", - "baseIconId": "D7A33F97-FA45-4719-901A-A1F91E671FC2", - "name": "progress-clock", - "codepoint": "F0996", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Peter Noble" - }, - { - "id": "294CC691-6D3C-47DB-B142-8F4DE633DE92", - "baseIconId": "294CC691-6D3C-47DB-B142-8F4DE633DE92", - "name": "progress-close", - "codepoint": "F110A", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9D94B21B-52A0-4F73-AEFB-85FEA76C8624", - "baseIconId": "9D94B21B-52A0-4F73-AEFB-85FEA76C8624", - "name": "progress-download", - "codepoint": "F0997", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "25466EC4-FF10-4925-A285-0356FA093FC2", - "baseIconId": "25466EC4-FF10-4925-A285-0356FA093FC2", - "name": "progress-helper", - "codepoint": "F1BA2", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "2434DDA0-2B39-428D-9764-E8F9A46BF22F", - "baseIconId": "2434DDA0-2B39-428D-9764-E8F9A46BF22F", - "name": "progress-pencil", - "codepoint": "F1787", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "DBF80F38-9B3D-4390-B366-51827F97CC0F", - "baseIconId": "DBF80F38-9B3D-4390-B366-51827F97CC0F", - "name": "progress-question", - "codepoint": "F1522", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FF05067C-B5B4-48B1-B63C-75D3CBB24E45", - "baseIconId": "FF05067C-B5B4-48B1-B63C-75D3CBB24E45", - "name": "progress-star", - "codepoint": "F1788", - "aliases": [], - "styles": [ - "star" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "C8BCB1CF-5259-4BC0-B368-4F5C2A3C194B", - "baseIconId": "FF05067C-B5B4-48B1-B63C-75D3CBB24E45", - "name": "progress-star-four-points", - "codepoint": "F1C3D", - "aliases": [ - "progress-auto" - ], - "styles": [ - "star" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "699B5A10-1C4C-448C-A3F4-36A3CACD82EA", - "baseIconId": "699B5A10-1C4C-448C-A3F4-36A3CACD82EA", - "name": "progress-upload", - "codepoint": "F0998", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D0721C85-4507-43CE-8E0B-21522D641993", - "baseIconId": "D0721C85-4507-43CE-8E0B-21522D641993", - "name": "progress-wrench", - "codepoint": "F0CBD", - "aliases": [ - "progress-spanner" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D23095BD-C1C0-4FED-B114-CE9CF9DD5DB6", - "baseIconId": "D23095BD-C1C0-4FED-B114-CE9CF9DD5DB6", - "name": "projector", - "codepoint": "F042E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "BCC3FC58-92BE-4C05-9273-FA1EB03C3E3E", - "baseIconId": "D23095BD-C1C0-4FED-B114-CE9CF9DD5DB6", - "name": "projector-off", - "codepoint": "F1A23", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Terren" - }, - { - "id": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen", - "codepoint": "F042F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "074F1A3B-91A7-47EE-8C68-8C3B64321AC2", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen-off", - "codepoint": "F180D", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "pp81381" - }, - { - "id": "2E4DBF28-60B7-43E2-8786-376D26DDC431", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen-off-outline", - "codepoint": "F180E", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "pp81381" - }, - { - "id": "F2AC4968-73F6-4D91-BF2B-D8653E6863E2", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen-outline", - "codepoint": "F1724", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "96090E84-D472-4A0E-B65C-27E1FAB4BCC8", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen-variant", - "codepoint": "F180F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "pp81381" - }, - { - "id": "BE2FFED1-BB12-4CBD-A809-7E5BEA984E2F", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen-variant-off", - "codepoint": "F1810", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "pp81381" - }, - { - "id": "4EED4028-BD43-40F8-B087-D28BCB46DC3F", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen-variant-off-outline", - "codepoint": "F1811", - "aliases": [], - "styles": [ - "off", - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "pp81381" - }, - { - "id": "DCA776E3-A4EF-4B2F-A3F4-D8BEC9236502", - "baseIconId": "A152DD64-B013-4AE7-B89F-49FC90B2E471", - "name": "projector-screen-variant-outline", - "codepoint": "F1812", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "pp81381" - }, - { - "id": "F6911BCA-14B1-4DD4-9407-20E138FAB878", - "baseIconId": "F6911BCA-14B1-4DD4-9407-20E138FAB878", - "name": "propane-tank", - "codepoint": "F1357", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "03A9105D-F79F-454C-9EE2-4E96A1BBA908", - "baseIconId": "F6911BCA-14B1-4DD4-9407-20E138FAB878", - "name": "propane-tank-outline", - "codepoint": "F1358", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "16D49AC9-5D43-4401-980B-C9DF4593838A", - "baseIconId": "16D49AC9-5D43-4401-980B-C9DF4593838A", - "name": "protocol", - "codepoint": "F0FD8", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "7E1AC29D-46E3-4C7C-9A00-D8803E502795", - "baseIconId": "7E1AC29D-46E3-4C7C-9A00-D8803E502795", - "name": "publish", - "codepoint": "F06A7", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "57375CB0-5F7F-492E-BB25-3EE90669FE6D", - "baseIconId": "7E1AC29D-46E3-4C7C-9A00-D8803E502795", - "name": "publish-off", - "codepoint": "F1945", - "aliases": [ - "publish-disabled" - ], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2A0F7B5D-5D23-4E76-B97D-9D2281D3C4EA", - "baseIconId": "2A0F7B5D-5D23-4E76-B97D-9D2281D3C4EA", - "name": "pulse", - "codepoint": "F0430", - "aliases": [ - "vitals" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "4FDD16EB-0E78-46BF-B077-A9C077C3C1B8", - "baseIconId": "4FDD16EB-0E78-46BF-B077-A9C077C3C1B8", - "name": "pump", - "codepoint": "F1402", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Anton Verburg" - }, - { - "id": "C7CB1E0B-D85F-42EF-8A06-0BD4A1E11102", - "baseIconId": "4FDD16EB-0E78-46BF-B077-A9C077C3C1B8", - "name": "pump-off", - "codepoint": "F1B22", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CAA05089-AC62-40FF-96F1-82E34B93F18F", - "baseIconId": "CAA05089-AC62-40FF-96F1-82E34B93F18F", - "name": "pumpkin", - "codepoint": "F0BBF", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "4B431C82-5923-49D9-8849-6E7EF6C7661D", - "baseIconId": "4B431C82-5923-49D9-8849-6E7EF6C7661D", - "name": "purse", - "codepoint": "F0F1C", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "16CB0045-C446-4384-8031-B3CEDDE555EE", - "baseIconId": "4B431C82-5923-49D9-8849-6E7EF6C7661D", - "name": "purse-outline", - "codepoint": "F0F1D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle", - "codepoint": "F0431", - "aliases": [ - "extension", - "jigsaw" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "034B7820-702C-45F8-ABE3-473AC1770BB2", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-check", - "codepoint": "F1426", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "BA363BBC-F40B-4D14-B677-6FEFD1D48B87", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-check-outline", - "codepoint": "F1427", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "DA95A80F-202E-48F3-9BCD-302C5AAD3BA2", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-edit", - "codepoint": "F14D3", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "824D28CA-335E-4C36-BAD7-8685FF2FB8A7", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-edit-outline", - "codepoint": "F14D9", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F489D7C7-0696-4970-86B0-6216D73177D0", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-heart", - "codepoint": "F14D4", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B588380E-4BAD-4787-B699-906B8926068D", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-heart-outline", - "codepoint": "F14DA", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8DAE6108-0411-473A-B835-528DC330D1DF", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-minus", - "codepoint": "F14D1", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "56014EED-5E51-46CE-B231-D48463CFBF30", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-minus-outline", - "codepoint": "F14D7", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BBAC40CD-6A3A-4EEF-A381-DB7C8950995E", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-outline", - "codepoint": "F0A66", - "aliases": [ - "jigsaw-outline", - "extension-outline" - ], - "styles": [ - "outline" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "72A20545-216C-4CD8-B1E4-808B8B2B96B6", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-plus", - "codepoint": "F14D0", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "46577FE3-F2BF-4B41-B50D-3E6ABD7484B0", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-plus-outline", - "codepoint": "F14D6", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "29CE71EA-2734-48D2-9FFD-FEB8ADF50C12", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-remove", - "codepoint": "F14D2", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "05B602BB-4734-4D4B-A268-FE31171DBD66", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-remove-outline", - "codepoint": "F14D8", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0DA18E4C-075B-4DE5-A428-31FB0BA791E4", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-star", - "codepoint": "F14D5", - "aliases": [ - "puzzle-favorite" - ], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "72BEE187-7B9C-4106-92EA-CD040D56815F", - "baseIconId": "0773D18C-C6A2-41B5-9685-F3E0507E1770", - "name": "puzzle-star-outline", - "codepoint": "F14DB", - "aliases": [ - "puzzle-favorite-outline" - ], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EB4E13BA-AB0B-4D32-BAAE-2D37A685768B", - "baseIconId": "EB4E13BA-AB0B-4D32-BAAE-2D37A685768B", - "name": "pyramid", - "codepoint": "F1952", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2E5C5383-D159-4741-8970-2E9CCAD0D27D", - "baseIconId": "EB4E13BA-AB0B-4D32-BAAE-2D37A685768B", - "name": "pyramid-off", - "codepoint": "F1953", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1F897ED3-17CC-43F5-9A0B-F7804A8DFABF", - "baseIconId": "1F897ED3-17CC-43F5-9A0B-F7804A8DFABF", - "name": "qi", - "codepoint": "F0999", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6EAADAE4-30AE-4F69-888F-364BBAFFF5E7", - "baseIconId": "6EAADAE4-30AE-4F69-888F-364BBAFFF5E7", - "name": "qqchat", - "codepoint": "F0605", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "779E7DDE-0ACE-4752-9966-22761E2A128A", - "baseIconId": "779E7DDE-0ACE-4752-9966-22761E2A128A", - "name": "qrcode", - "codepoint": "F0432", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "603BF7E7-03A6-4141-8A50-CA124B62C621", - "baseIconId": "779E7DDE-0ACE-4752-9966-22761E2A128A", - "name": "qrcode-edit", - "codepoint": "F08B8", - "aliases": [], - "styles": [ - "edit", - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Michael Richins" - }, - { - "id": "2DD6D091-2E48-41D6-A9E1-67BF485B103E", - "baseIconId": "779E7DDE-0ACE-4752-9966-22761E2A128A", - "name": "qrcode-minus", - "codepoint": "F118C", - "aliases": [], - "styles": [ - "minus" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "B86DA56E-59D6-4B0B-BE63-D66496C8E6EB", - "baseIconId": "779E7DDE-0ACE-4752-9966-22761E2A128A", - "name": "qrcode-plus", - "codepoint": "F118B", - "aliases": [], - "styles": [ - "plus" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "D41EE63E-AFC3-4A60-891F-841AF0AEBF22", - "baseIconId": "779E7DDE-0ACE-4752-9966-22761E2A128A", - "name": "qrcode-remove", - "codepoint": "F118D", - "aliases": [], - "styles": [ - "remove" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "C8A7580B-5288-4A60-8033-797EB07A05AC", - "baseIconId": "779E7DDE-0ACE-4752-9966-22761E2A128A", - "name": "qrcode-scan", - "codepoint": "F0433", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "E81082B7-E851-4407-B0D2-08CC105C6A5D", - "baseIconId": "E81082B7-E851-4407-B0D2-08CC105C6A5D", - "name": "quadcopter", - "codepoint": "F0434", - "aliases": [ - "drone" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C07BA504-080D-4B47-AD4D-7F772E5C92F3", - "baseIconId": "C07BA504-080D-4B47-AD4D-7F772E5C92F3", - "name": "quality-high", - "codepoint": "F0435", - "aliases": [ - "high-quality", - "hq" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "51E44ABD-8132-4758-905E-4F46784ED768", - "baseIconId": "51E44ABD-8132-4758-905E-4F46784ED768", - "name": "quality-low", - "codepoint": "F0A0C", - "aliases": [ - "low-quality", - "lq" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C987C0CA-2D23-427B-8F9C-F3E10B32156C", - "baseIconId": "C987C0CA-2D23-427B-8F9C-F3E10B32156C", - "name": "quality-medium", - "codepoint": "F0A0D", - "aliases": [ - "medium-quality", - "mq" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F4C8FDC5-0F7D-4EDA-8242-B356F5E542A4", - "baseIconId": "F4C8FDC5-0F7D-4EDA-8242-B356F5E542A4", - "name": "quora", - "codepoint": "F0D29", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Contributors" - }, - { - "id": "1D7338F8-4F44-43E3-906B-571178E63E49", - "baseIconId": "1D7338F8-4F44-43E3-906B-571178E63E49", - "name": "rabbit", - "codepoint": "F0907", - "aliases": [ - "bunny", - "hare" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Animal", - "Nature" - ], - "author": "Augustin Ursu" - }, - { - "id": "8CEA8CC8-F495-4F1B-B28B-BAA2D2F2EA44", - "baseIconId": "1D7338F8-4F44-43E3-906B-571178E63E49", - "name": "rabbit-variant", - "codepoint": "F1A61", - "aliases": [ - "bunny", - "easter", - "hare", - "cruelty-free" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Animal", - "Holiday", - "Nature" - ], - "author": "Google" - }, - { - "id": "3A22546F-5A22-4E53-A13D-05FB82BAB08F", - "baseIconId": "1D7338F8-4F44-43E3-906B-571178E63E49", - "name": "rabbit-variant-outline", - "codepoint": "F1A62", - "aliases": [ - "easter-outline", - "bunny-outline", - "hare-outline", - "cruelty-free-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Animal", - "Holiday", - "Nature" - ], - "author": "Google" - }, - { - "id": "59B7D141-A76F-4794-A484-CE089FCF7C46", - "baseIconId": "59B7D141-A76F-4794-A484-CE089FCF7C46", - "name": "racing-helmet", - "codepoint": "F0D93", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "0E46DC98-E185-4B26-A4E9-FC1CEC750172", - "baseIconId": "0E46DC98-E185-4B26-A4E9-FC1CEC750172", - "name": "racquetball", - "codepoint": "F0D94", - "aliases": [ - "lacrosse", - "squash" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "73BD6C2A-0D5B-4DF6-9FA3-EC489AFBF947", - "baseIconId": "73BD6C2A-0D5B-4DF6-9FA3-EC489AFBF947", - "name": "radar", - "codepoint": "F0437", - "aliases": [ - "track-changes" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BFFA61BF-959B-4E15-BE31-4D9AFB5E3FDF", - "baseIconId": "BFFA61BF-959B-4E15-BE31-4D9AFB5E3FDF", - "name": "radiator", - "codepoint": "F0438", - "aliases": [ - "heater" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "79B0F153-88BE-4FCD-94CB-E44D648DAAE2", - "baseIconId": "BFFA61BF-959B-4E15-BE31-4D9AFB5E3FDF", - "name": "radiator-disabled", - "codepoint": "F0AD7", - "aliases": [ - "heater-disabled" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F1BF1F5D-82C7-41EA-B9CD-325265C3D760", - "baseIconId": "BFFA61BF-959B-4E15-BE31-4D9AFB5E3FDF", - "name": "radiator-off", - "codepoint": "F0AD8", - "aliases": [ - "heater-off" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2FA21C1E-99C3-4C9B-AF46-8DF6B9F2A8FC", - "baseIconId": "2FA21C1E-99C3-4C9B-AF46-8DF6B9F2A8FC", - "name": "radio", - "codepoint": "F0439", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "D0AEFF89-C011-4445-B685-A1366099D920", - "baseIconId": "2FA21C1E-99C3-4C9B-AF46-8DF6B9F2A8FC", - "name": "radio-am", - "codepoint": "F0CBE", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Michael Richins" - }, - { - "id": "55BADC53-06EE-4199-8761-80AF2240DE1D", - "baseIconId": "2FA21C1E-99C3-4C9B-AF46-8DF6B9F2A8FC", - "name": "radio-fm", - "codepoint": "F0CBF", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Michael Richins" - }, - { - "id": "6EE69D5F-CF42-4257-B974-470E397E0DC1", - "baseIconId": "2FA21C1E-99C3-4C9B-AF46-8DF6B9F2A8FC", - "name": "radio-handheld", - "codepoint": "F043A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Simran" - }, - { - "id": "B39962EE-105B-4093-9B4C-6078FEA43DA2", - "baseIconId": "2FA21C1E-99C3-4C9B-AF46-8DF6B9F2A8FC", - "name": "radio-off", - "codepoint": "F121C", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "zoara" - }, - { - "id": "8E5FC366-E9F8-40ED-A16D-CD6C87B0C5B1", - "baseIconId": "8E5FC366-E9F8-40ED-A16D-CD6C87B0C5B1", - "name": "radio-tower", - "codepoint": "F043B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D70016AF-1FEE-4E66-8D51-3DE1BAAC0031", - "baseIconId": "D70016AF-1FEE-4E66-8D51-3DE1BAAC0031", - "name": "radioactive", - "codepoint": "F043C", - "aliases": [ - "radiation" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Yasmina Lembachar" - }, - { - "id": "DBCBBE8F-7DFA-4C05-8A2C-8BDE851A0322", - "baseIconId": "D70016AF-1FEE-4E66-8D51-3DE1BAAC0031", - "name": "radioactive-circle", - "codepoint": "F185D", - "aliases": [ - "radiation-circle" - ], - "styles": [ - "circle" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Miday" - }, - { - "id": "1C482356-F93E-46FB-B4FF-6142BB859A7F", - "baseIconId": "D70016AF-1FEE-4E66-8D51-3DE1BAAC0031", - "name": "radioactive-circle-outline", - "codepoint": "F185E", - "aliases": [ - "radiation-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Miday" - }, - { - "id": "3AD51A23-9040-4D23-AE50-B28C6DFF82F6", - "baseIconId": "D70016AF-1FEE-4E66-8D51-3DE1BAAC0031", - "name": "radioactive-off", - "codepoint": "F0EC1", - "aliases": [ - "radiation-off" - ], - "styles": [ - "off" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "TheChilliPL" - }, - { - "id": "10BF2326-3190-4C27-9040-E2F8F4961238", - "baseIconId": "10BF2326-3190-4C27-9040-E2F8F4961238", - "name": "radiobox-blank", - "codepoint": "F043D", - "aliases": [ - "radio-button-unchecked" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "36F9BAE6-DB6B-4CE5-B7CA-B777ABA8CB1B", - "baseIconId": "10BF2326-3190-4C27-9040-E2F8F4961238", - "name": "radiobox-indeterminate-variant", - "codepoint": "F1C5E", - "aliases": [ - "radio-button-indeterminate", - "radiobox-intermediate-variant" - ], - "styles": [ - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Jeff Anders" - }, - { - "id": "BA101E5E-CDA9-45AA-B249-BD176AF11D95", - "baseIconId": "10BF2326-3190-4C27-9040-E2F8F4961238", - "name": "radiobox-marked", - "codepoint": "F043E", - "aliases": [ - "radio-button-checked", - "record" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Google" - }, - { - "id": "17B9888B-F36F-4D44-9318-BBB6ADA0F61B", - "baseIconId": "17B9888B-F36F-4D44-9318-BBB6ADA0F61B", - "name": "radiology-box", - "codepoint": "F14C5", - "aliases": [ - "x-ray-box" - ], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Simran" - }, - { - "id": "75708207-7E52-443D-B1DE-5BA088AED95E", - "baseIconId": "17B9888B-F36F-4D44-9318-BBB6ADA0F61B", - "name": "radiology-box-outline", - "codepoint": "F14C6", - "aliases": [ - "x-ray-box-outline" - ], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DFD4C66B-CD4A-4524-A6DB-E3C2331C5DC6", - "baseIconId": "DFD4C66B-CD4A-4524-A6DB-E3C2331C5DC6", - "name": "radius", - "codepoint": "F0CC0", - "aliases": [ - "circle-radius", - "sphere-radius" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "51C82800-F946-45C3-A88B-B5D52BD6B80B", - "baseIconId": "DFD4C66B-CD4A-4524-A6DB-E3C2331C5DC6", - "name": "radius-outline", - "codepoint": "F0CC1", - "aliases": [ - "circle-radius-outline", - "sphere-radius-outline" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "7FC3FA6E-ED0B-4BCD-AF44-1125CC2CE3C4", - "baseIconId": "7FC3FA6E-ED0B-4BCD-AF44-1125CC2CE3C4", - "name": "railroad-light", - "codepoint": "F0F1E", - "aliases": [ - "railroad-crossing-light", - "train-crossing-light", - "level-crossing-signals" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Michael Richins" - }, - { - "id": "0523157C-6328-499C-A114-FDAD94CFDDAE", - "baseIconId": "0523157C-6328-499C-A114-FDAD94CFDDAE", - "name": "rake", - "codepoint": "F1544", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AFC49CE3-9442-4F15-B3EE-6C841A226040", - "baseIconId": "AFC49CE3-9442-4F15-B3EE-6C841A226040", - "name": "raspberry-pi", - "codepoint": "F043F", - "aliases": [ - "raspberrypi" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0B304D53-8218-4F49-9330-1AB9CCB11C01", - "baseIconId": "0B304D53-8218-4F49-9330-1AB9CCB11C01", - "name": "raw", - "codepoint": "F1A0F", - "aliases": [], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "8882E66A-7C74-4F2A-B38F-94AF59CFB92B", - "baseIconId": "0B304D53-8218-4F49-9330-1AB9CCB11C01", - "name": "raw-off", - "codepoint": "F1A10", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "935371AF-0FF0-4D1E-86F8-DB6E5C5510F9", - "baseIconId": "935371AF-0FF0-4D1E-86F8-DB6E5C5510F9", - "name": "ray-end", - "codepoint": "F0440", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "16DEE563-B4C3-4B6D-A47F-B23151965007", - "baseIconId": "16DEE563-B4C3-4B6D-A47F-B23151965007", - "name": "ray-end-arrow", - "codepoint": "F0441", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "932F0926-4F5D-4ACA-B4E3-461837361212", - "baseIconId": "932F0926-4F5D-4ACA-B4E3-461837361212", - "name": "ray-start", - "codepoint": "F0442", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5D6F58F7-61B8-4461-B284-4B0D6B031CA2", - "baseIconId": "5D6F58F7-61B8-4461-B284-4B0D6B031CA2", - "name": "ray-start-arrow", - "codepoint": "F0443", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0C572F61-2EF1-4F4D-9B53-8FE285BC0BFB", - "baseIconId": "0C572F61-2EF1-4F4D-9B53-8FE285BC0BFB", - "name": "ray-start-end", - "codepoint": "F0444", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B911CCA3-1237-45C3-BCE1-34CB034F8739", - "baseIconId": "B911CCA3-1237-45C3-BCE1-34CB034F8739", - "name": "ray-start-vertex-end", - "codepoint": "F15D8", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B391C303-5456-4746-83DD-7862952E281E", - "baseIconId": "B391C303-5456-4746-83DD-7862952E281E", - "name": "ray-vertex", - "codepoint": "F0445", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5BA6A47A-C308-46D9-B991-1B79CDF92000", - "baseIconId": "5BA6A47A-C308-46D9-B991-1B79CDF92000", - "name": "razor-double-edge", - "codepoint": "F1997", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Health \/ Beauty", - "Hardware \/ Tools" - ], - "author": "Simran" - }, - { - "id": "FE06C355-A6BB-464A-9B7D-B07CE7D551FC", - "baseIconId": "FE06C355-A6BB-464A-9B7D-B07CE7D551FC", - "name": "razor-single-edge", - "codepoint": "F1998", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F13DC81C-DF03-4A33-99D6-489FBDB5B29C", - "baseIconId": "F13DC81C-DF03-4A33-99D6-489FBDB5B29C", - "name": "react", - "codepoint": "F0708", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "36EB4754-ADCF-47B6-9863-4EFFB819FC93", - "baseIconId": "36EB4754-ADCF-47B6-9863-4EFFB819FC93", - "name": "read", - "codepoint": "F0447", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt", - "codepoint": "F0824", - "aliases": [ - "cloth", - "fabric", - "swatch" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "74B3AD4D-BDC1-4C72-9151-54D295195D39", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-clock", - "codepoint": "F1C3E", - "aliases": [ - "receipt-pending" - ], - "styles": [ - "clock" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "BE5F88B6-E3FF-48FC-91B1-1FD331F2E055", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-clock-outline", - "codepoint": "F1C3F", - "aliases": [ - "receipt-pending" - ], - "styles": [ - "clock", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "179831B0-F175-4694-9313-3B745C133F96", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-outline", - "codepoint": "F04F7", - "aliases": [ - "cloth-outline", - "fabric-outline", - "swatch-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "21480B9D-5F5E-4899-823E-3ED8C14EB4F4", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-send", - "codepoint": "F1C40", - "aliases": [], - "styles": [ - "send" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "C09E8F37-086D-425D-9984-639C3251F340", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-send-outline", - "codepoint": "F1C41", - "aliases": [], - "styles": [ - "outline", - "send" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "80E9E435-2478-4B48-99B8-D8BEF353AE5F", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text", - "codepoint": "F0449", - "aliases": [ - "invoice" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F52947B9-1965-4E8C-824E-6DC5AE572CB9", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-arrow-left", - "codepoint": "F1C42", - "aliases": [ - "invoice-arrow-left", - "invoice-receive" - ], - "styles": [ - "arrow" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "463BE742-B0EA-4291-BF09-8C782D3D833E", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-arrow-left-outline", - "codepoint": "F1C43", - "aliases": [ - "invoice-arrow-left-outline", - "invoice-receive-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "E979926E-BF4E-4ECA-B5DF-500D1886425F", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-arrow-right", - "codepoint": "F1C44", - "aliases": [ - "invoice-arrow-right", - "invoice-send" - ], - "styles": [ - "arrow" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "EA3FD778-1C6B-485F-942D-79BAC534BDB3", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-arrow-right-outline", - "codepoint": "F1C45", - "aliases": [ - "invoice-arrow-right-outline", - "invoice-send-outline" - ], - "styles": [ - "arrow", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "9B57706E-4682-4A41-8E2E-D05601DE5FC4", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-check", - "codepoint": "F1A63", - "aliases": [ - "invoice-check" - ], - "styles": [ - "check", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "14E01759-3C9F-42FE-8831-4634FFF35029", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-check-outline", - "codepoint": "F1A64", - "aliases": [ - "invoice-check-outline" - ], - "styles": [ - "check", - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A71F277A-8855-4E75-A0A9-1201E5384AFA", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-clock", - "codepoint": "F1C46", - "aliases": [ - "invoice-clock", - "invoice-schedule", - "receipt-text-pending" - ], - "styles": [ - "clock" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "8176D192-811A-4765-977D-28CA778B6FED", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-clock-outline", - "codepoint": "F1C47", - "aliases": [ - "invoice-clock-outline", - "invoice-schedule-outline", - "receipt-text-pending" - ], - "styles": [ - "clock", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "22E18520-2818-4F5F-85CA-6CCEA382D333", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-edit", - "codepoint": "F1C48", - "aliases": [ - "invoice-edit" - ], - "styles": [ - "edit" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "4D213837-3918-4D9E-B4AC-C3CC9EE686FA", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-edit-outline", - "codepoint": "F1C49", - "aliases": [ - "invoice-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "E923B212-FD3F-40F0-AFD5-1C91F3649E68", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-minus", - "codepoint": "F1A65", - "aliases": [ - "invoice-minus" - ], - "styles": [ - "minus", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "0AED24B5-1FC4-4E34-8617-A80675E9B2E4", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-minus-outline", - "codepoint": "F1A66", - "aliases": [ - "invoice-minus-outline" - ], - "styles": [ - "minus", - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C5A53971-FD74-4C82-8CA6-9C1216713365", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-outline", - "codepoint": "F19DC", - "aliases": [ - "invoice-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "044F6733-211D-496D-B957-F523D80A6F91", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-plus", - "codepoint": "F1A67", - "aliases": [ - "invoice-plus", - "invoice-add", - "receipt-text-add" - ], - "styles": [ - "plus", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "E376A548-0B7B-4493-9984-842CFC18A87E", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-plus-outline", - "codepoint": "F1A68", - "aliases": [ - "invoice-plus", - "invoice-add", - "receipt-text-add" - ], - "styles": [ - "outline", - "plus", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "66F972AC-ADC8-4583-B358-C5D6FD241316", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-remove", - "codepoint": "F1A69", - "aliases": [ - "invoice-remove" - ], - "styles": [ - "remove", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "5FDC843B-FE27-461B-B511-D78947092DF3", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-remove-outline", - "codepoint": "F1A6A", - "aliases": [ - "invoice-remove-outline" - ], - "styles": [ - "outline", - "remove", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A305117A-42D3-4B2A-954E-9BAD0C500751", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-send", - "codepoint": "F1C4A", - "aliases": [], - "styles": [ - "send" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "1B042272-E659-42B1-ABDA-93DC9610463D", - "baseIconId": "EEB46F1F-4996-4B65-A1C6-70DC4D38C34E", - "name": "receipt-text-send-outline", - "codepoint": "F1C4B", - "aliases": [], - "styles": [ - "outline", - "send" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "F84F1E59-868C-42CE-80EA-159588E83462", - "baseIconId": "F84F1E59-868C-42CE-80EA-159588E83462", - "name": "record", - "codepoint": "F044A", - "aliases": [ - "fiber-manual-record" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "4B8F147B-1AE7-4CB5-BAD1-4F6793B79303", - "baseIconId": "4B8F147B-1AE7-4CB5-BAD1-4F6793B79303", - "name": "record-circle", - "codepoint": "F0EC2", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "E9D05E0B-362E-4D08-A812-D8A6C8D8F0DB", - "baseIconId": "4B8F147B-1AE7-4CB5-BAD1-4F6793B79303", - "name": "record-circle-outline", - "codepoint": "F0EC3", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "E62E5C13-5DC0-4881-BBD6-EFDEF13B73BB", - "baseIconId": "E62E5C13-5DC0-4881-BBD6-EFDEF13B73BB", - "name": "record-player", - "codepoint": "F099A", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "8C452244-41D8-46F9-AF74-665F62EF5E50", - "baseIconId": "8C452244-41D8-46F9-AF74-665F62EF5E50", - "name": "record-rec", - "codepoint": "F044B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "795894B8-2599-4FC8-9B4C-0A0896C6BBB4", - "baseIconId": "795894B8-2599-4FC8-9B4C-0A0896C6BBB4", - "name": "rectangle", - "codepoint": "F0E5E", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Terren" - }, - { - "id": "14FABBBE-A903-4400-AC7A-338B46DA0342", - "baseIconId": "795894B8-2599-4FC8-9B4C-0A0896C6BBB4", - "name": "rectangle-outline", - "codepoint": "F0E5F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Terren" - }, - { - "id": "93C67522-76EA-4A1D-8C9D-29B0901BE55A", - "baseIconId": "93C67522-76EA-4A1D-8C9D-29B0901BE55A", - "name": "recycle", - "codepoint": "F044C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E4222CF9-9449-4325-A296-1E2897AF0720", - "baseIconId": "93C67522-76EA-4A1D-8C9D-29B0901BE55A", - "name": "recycle-variant", - "codepoint": "F139D", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Moma Design Studio" - }, - { - "id": "8CDBB9B4-921B-47CC-9A06-D0F391666654", - "baseIconId": "8CDBB9B4-921B-47CC-9A06-D0F391666654", - "name": "reddit", - "codepoint": "F044D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Social Media", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C225AD71-CD53-4F22-8A24-7D055457E5A5", - "baseIconId": "C225AD71-CD53-4F22-8A24-7D055457E5A5", - "name": "redhat", - "codepoint": "F111B", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7061BAB7-4413-4666-A919-9DD8C4F405F9", - "baseIconId": "7061BAB7-4413-4666-A919-9DD8C4F405F9", - "name": "redo", - "codepoint": "F044E", - "aliases": [ - "arrow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "72717CF3-6D1D-4032-9799-1F553CAD067E", - "baseIconId": "72717CF3-6D1D-4032-9799-1F553CAD067E", - "name": "redo-variant", - "codepoint": "F044F", - "aliases": [ - "arrow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "345B3651-D634-4069-8D6F-CB4A2CAD63B9", - "baseIconId": "345B3651-D634-4069-8D6F-CB4A2CAD63B9", - "name": "reflect-horizontal", - "codepoint": "F0A0E", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "998E1E1F-98A2-4DA8-9FAD-E31C2677B8D6", - "baseIconId": "998E1E1F-98A2-4DA8-9FAD-E31C2677B8D6", - "name": "reflect-vertical", - "codepoint": "F0A0F", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "AD3C7A2B-0B64-4183-9452-C96EAAF3E08E", - "baseIconId": "AD3C7A2B-0B64-4183-9452-C96EAAF3E08E", - "name": "refresh", - "codepoint": "F0450", - "aliases": [ - "loop" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "AD1242A1-160E-4DF0-9E29-15F0A0ECF974", - "baseIconId": "AD1242A1-160E-4DF0-9E29-15F0A0ECF974", - "name": "refresh-auto", - "codepoint": "F18F2", - "aliases": [ - "auto-start", - "automatic-start", - "auto-stop", - "automatic-stop", - "automatic", - "refresh-automatic" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9D88AEE3-9749-4B74-8F60-2995BD811AAA", - "baseIconId": "AD3C7A2B-0B64-4183-9452-C96EAAF3E08E", - "name": "refresh-circle", - "codepoint": "F1377", - "aliases": [], - "styles": [ - "circle" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "3313CE4A-E2EF-4E46-8110-C0BF297D0C16", - "baseIconId": "3313CE4A-E2EF-4E46-8110-C0BF297D0C16", - "name": "regex", - "codepoint": "F0451", - "aliases": [ - "regular-expression" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Doug C. Hardester" - }, - { - "id": "7FDB507F-A062-479D-8401-AFD4B723BA60", - "baseIconId": "7FDB507F-A062-479D-8401-AFD4B723BA60", - "name": "registered-trademark", - "codepoint": "F0A67", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DBD21D6F-818C-46D0-860A-89257B1BAB90", - "baseIconId": "DBD21D6F-818C-46D0-860A-89257B1BAB90", - "name": "reiterate", - "codepoint": "F1588", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Nicolas Gres" - }, - { - "id": "FF422947-C9DA-45C1-BEBF-47A450A035CA", - "baseIconId": "FF422947-C9DA-45C1-BEBF-47A450A035CA", - "name": "relation-many-to-many", - "codepoint": "F1496", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "DC16CBA8-F156-4EF8-A18C-56A0DBA8B2D5", - "baseIconId": "DC16CBA8-F156-4EF8-A18C-56A0DBA8B2D5", - "name": "relation-many-to-one", - "codepoint": "F1497", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "A7E9839D-C578-4FE4-ABEB-84FA70BC1926", - "baseIconId": "A7E9839D-C578-4FE4-ABEB-84FA70BC1926", - "name": "relation-many-to-one-or-many", - "codepoint": "F1498", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "2F3ABDAA-9F84-45DC-8913-51EEE0769D13", - "baseIconId": "2F3ABDAA-9F84-45DC-8913-51EEE0769D13", - "name": "relation-many-to-only-one", - "codepoint": "F1499", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "187F026D-5528-4DDB-AEDD-B921AD57DEEF", - "baseIconId": "187F026D-5528-4DDB-AEDD-B921AD57DEEF", - "name": "relation-many-to-zero-or-many", - "codepoint": "F149A", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "0389409A-7A71-49DC-8296-2F38C2A6E7FE", - "baseIconId": "0389409A-7A71-49DC-8296-2F38C2A6E7FE", - "name": "relation-many-to-zero-or-one", - "codepoint": "F149B", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "C3AABB15-5720-463D-B37C-4552C1F4BE34", - "baseIconId": "C3AABB15-5720-463D-B37C-4552C1F4BE34", - "name": "relation-one-or-many-to-many", - "codepoint": "F149C", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "5EABC280-A332-4EA2-A6EE-D5D1E5DE6812", - "baseIconId": "5EABC280-A332-4EA2-A6EE-D5D1E5DE6812", - "name": "relation-one-or-many-to-one", - "codepoint": "F149D", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "F6B51EA0-D90A-4B65-9B0C-8AD08392C943", - "baseIconId": "F6B51EA0-D90A-4B65-9B0C-8AD08392C943", - "name": "relation-one-or-many-to-one-or-many", - "codepoint": "F149E", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "2DC9A1E1-BE10-4643-B02E-7DE27F7F140C", - "baseIconId": "2DC9A1E1-BE10-4643-B02E-7DE27F7F140C", - "name": "relation-one-or-many-to-only-one", - "codepoint": "F149F", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "E19D3A76-6993-4948-8F18-F777E3CA7383", - "baseIconId": "E19D3A76-6993-4948-8F18-F777E3CA7383", - "name": "relation-one-or-many-to-zero-or-many", - "codepoint": "F14A0", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "F7CAF815-B3D6-490B-8AC6-B2FAB8F5134D", - "baseIconId": "F7CAF815-B3D6-490B-8AC6-B2FAB8F5134D", - "name": "relation-one-or-many-to-zero-or-one", - "codepoint": "F14A1", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "9FCECCB1-41CC-4569-9912-58256B627F37", - "baseIconId": "9FCECCB1-41CC-4569-9912-58256B627F37", - "name": "relation-one-to-many", - "codepoint": "F14A2", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "BDF61FAA-2D63-4114-93A8-5E13404E7B03", - "baseIconId": "BDF61FAA-2D63-4114-93A8-5E13404E7B03", - "name": "relation-one-to-one", - "codepoint": "F14A3", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "757670CA-87BA-452B-A0D9-ECBB3EF21AA8", - "baseIconId": "757670CA-87BA-452B-A0D9-ECBB3EF21AA8", - "name": "relation-one-to-one-or-many", - "codepoint": "F14A4", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "56A95C81-F579-4D28-A5E5-32F44CF67BD3", - "baseIconId": "56A95C81-F579-4D28-A5E5-32F44CF67BD3", - "name": "relation-one-to-only-one", - "codepoint": "F14A5", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "0FC49382-3ED0-437F-8522-29C5F5352C30", - "baseIconId": "0FC49382-3ED0-437F-8522-29C5F5352C30", - "name": "relation-one-to-zero-or-many", - "codepoint": "F14A6", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "543B9D69-53A1-4DC3-8074-86123BC0CC70", - "baseIconId": "543B9D69-53A1-4DC3-8074-86123BC0CC70", - "name": "relation-one-to-zero-or-one", - "codepoint": "F14A7", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "55569D10-FC5C-4E3C-8A35-876DCC12D543", - "baseIconId": "55569D10-FC5C-4E3C-8A35-876DCC12D543", - "name": "relation-only-one-to-many", - "codepoint": "F14A8", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "26A310F2-347A-45E5-AD73-1D92443A1827", - "baseIconId": "26A310F2-347A-45E5-AD73-1D92443A1827", - "name": "relation-only-one-to-one", - "codepoint": "F14A9", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "57C9B4B7-CE27-4769-9D2F-50926D1F1A29", - "baseIconId": "57C9B4B7-CE27-4769-9D2F-50926D1F1A29", - "name": "relation-only-one-to-one-or-many", - "codepoint": "F14AA", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "23DF7622-E2D4-45E0-A646-CA10B71EBC10", - "baseIconId": "23DF7622-E2D4-45E0-A646-CA10B71EBC10", - "name": "relation-only-one-to-only-one", - "codepoint": "F14AB", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "53287B7C-9B73-48F6-B558-BBFC529D1D48", - "baseIconId": "53287B7C-9B73-48F6-B558-BBFC529D1D48", - "name": "relation-only-one-to-zero-or-many", - "codepoint": "F14AC", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "F93B3000-FF04-4374-94AB-7E703AE780AD", - "baseIconId": "F93B3000-FF04-4374-94AB-7E703AE780AD", - "name": "relation-only-one-to-zero-or-one", - "codepoint": "F14AD", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "3F67D802-700C-4692-9B30-88129AF5C954", - "baseIconId": "3F67D802-700C-4692-9B30-88129AF5C954", - "name": "relation-zero-or-many-to-many", - "codepoint": "F14AE", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "8884AF49-A6E9-4442-A648-72C365E8B7B8", - "baseIconId": "8884AF49-A6E9-4442-A648-72C365E8B7B8", - "name": "relation-zero-or-many-to-one", - "codepoint": "F14AF", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "DB4A4065-5FCF-4563-A725-7FF82BF05524", - "baseIconId": "DB4A4065-5FCF-4563-A725-7FF82BF05524", - "name": "relation-zero-or-many-to-one-or-many", - "codepoint": "F14B0", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "D5FECDF0-F04F-40DA-A4EE-5F1659883460", - "baseIconId": "D5FECDF0-F04F-40DA-A4EE-5F1659883460", - "name": "relation-zero-or-many-to-only-one", - "codepoint": "F14B1", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "1E86EED5-2458-46D6-8AD0-E14DC65FE7FA", - "baseIconId": "1E86EED5-2458-46D6-8AD0-E14DC65FE7FA", - "name": "relation-zero-or-many-to-zero-or-many", - "codepoint": "F14B2", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "26C96921-576B-42F4-B424-2E3F3FF83346", - "baseIconId": "26C96921-576B-42F4-B424-2E3F3FF83346", - "name": "relation-zero-or-many-to-zero-or-one", - "codepoint": "F14B3", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "C09E5EAE-BC42-480C-842F-EBADFD035886", - "baseIconId": "C09E5EAE-BC42-480C-842F-EBADFD035886", - "name": "relation-zero-or-one-to-many", - "codepoint": "F14B4", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "E262BBDE-079C-4DF6-8C5C-00F9FB3503B5", - "baseIconId": "E262BBDE-079C-4DF6-8C5C-00F9FB3503B5", - "name": "relation-zero-or-one-to-one", - "codepoint": "F14B5", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "4A6CE6A7-7F49-42E3-8EC5-DEA80D1A2559", - "baseIconId": "4A6CE6A7-7F49-42E3-8EC5-DEA80D1A2559", - "name": "relation-zero-or-one-to-one-or-many", - "codepoint": "F14B6", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "78BC5AAC-0D19-49F6-AF3F-523739CA933C", - "baseIconId": "78BC5AAC-0D19-49F6-AF3F-523739CA933C", - "name": "relation-zero-or-one-to-only-one", - "codepoint": "F14B7", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "79676BBB-E83B-4661-AEAB-E3FC622BDD00", - "baseIconId": "79676BBB-E83B-4661-AEAB-E3FC622BDD00", - "name": "relation-zero-or-one-to-zero-or-many", - "codepoint": "F14B8", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "1B446467-7655-425C-A7C1-ED97D7599D80", - "baseIconId": "1B446467-7655-425C-A7C1-ED97D7599D80", - "name": "relation-zero-or-one-to-zero-or-one", - "codepoint": "F14B9", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Michael Richins" - }, - { - "id": "912AD329-9B77-4959-9407-0F64BABFAC7D", - "baseIconId": "912AD329-9B77-4959-9407-0F64BABFAC7D", - "name": "relative-scale", - "codepoint": "F0452", - "aliases": [ - "image-aspect-ratio" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8E25B2CE-4DAF-4BD1-9D3F-27F86DA55D21", - "baseIconId": "8E25B2CE-4DAF-4BD1-9D3F-27F86DA55D21", - "name": "reload", - "codepoint": "F0453", - "aliases": [ - "car-engine-start", - "loop", - "rotate-clockwise" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive", - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "01D5FD19-E2FA-4BD0-9F6C-ECA058F469F1", - "baseIconId": "8E25B2CE-4DAF-4BD1-9D3F-27F86DA55D21", - "name": "reload-alert", - "codepoint": "F110B", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1BD93F0A-87D1-4B55-A0EF-D9F05A8B3826", - "baseIconId": "1BD93F0A-87D1-4B55-A0EF-D9F05A8B3826", - "name": "reminder", - "codepoint": "F088C", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "49C7BBC2-6C7F-442E-A6EE-B58AB758A8D4", - "baseIconId": "49C7BBC2-6C7F-442E-A6EE-B58AB758A8D4", - "name": "remote", - "codepoint": "F0454", - "aliases": [ - "settings-remote" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "A237199B-0B22-475F-93D1-DB45FA4D3205", - "baseIconId": "A237199B-0B22-475F-93D1-DB45FA4D3205", - "name": "remote-desktop", - "codepoint": "F08B9", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "6DC5640C-42D8-45A0-8CEC-B78E045600FE", - "baseIconId": "49C7BBC2-6C7F-442E-A6EE-B58AB758A8D4", - "name": "remote-off", - "codepoint": "F0EC4", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "idevo89" - }, - { - "id": "7B245C49-09E7-425A-AFF2-714E9634436E", - "baseIconId": "7B245C49-09E7-425A-AFF2-714E9634436E", - "name": "remote-tv", - "codepoint": "F0EC5", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "D0485B00-63FF-44F5-8DE2-480F970D5ADD", - "baseIconId": "7B245C49-09E7-425A-AFF2-714E9634436E", - "name": "remote-tv-off", - "codepoint": "F0EC6", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "idevo89" - }, - { - "id": "43D55245-34B8-4F1B-953A-CCE75AF35866", - "baseIconId": "43D55245-34B8-4F1B-953A-CCE75AF35866", - "name": "rename", - "codepoint": "F1C18", - "aliases": [], - "styles": [], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1DFADA84-47E4-40EF-B1F8-D0A34D1482BA", - "baseIconId": "43D55245-34B8-4F1B-953A-CCE75AF35866", - "name": "rename-box", - "codepoint": "F0455", - "aliases": [], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "7EDB6900-E536-4424-96D4-71C36753BE76", - "baseIconId": "43D55245-34B8-4F1B-953A-CCE75AF35866", - "name": "rename-box-outline", - "codepoint": "F1C19", - "aliases": [], - "styles": [ - "box", - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1F4744E0-37F4-4D51-82FF-B332A0CCE347", - "baseIconId": "43D55245-34B8-4F1B-953A-CCE75AF35866", - "name": "rename-outline", - "codepoint": "F1C1A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "08CB23B7-EC19-4FE5-9CBB-C308CC89C10B", - "baseIconId": "08CB23B7-EC19-4FE5-9CBB-C308CC89C10B", - "name": "reorder-horizontal", - "codepoint": "F0688", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F189DB12-9323-47A1-89C9-451EF2A886CB", - "baseIconId": "F189DB12-9323-47A1-89C9-451EF2A886CB", - "name": "reorder-vertical", - "codepoint": "F0689", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9AEE0CB7-46B9-414F-A8A8-AFB127CB7057", - "baseIconId": "9AEE0CB7-46B9-414F-A8A8-AFB127CB7057", - "name": "repeat", - "codepoint": "F0456", - "aliases": [ - "repost" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "06540FC6-0AF2-40C7-895A-B8C98BD143D1", - "baseIconId": "9AEE0CB7-46B9-414F-A8A8-AFB127CB7057", - "name": "repeat-off", - "codepoint": "F0457", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D27E266C-5F69-4E4F-9DE3-65A47B5208F5", - "baseIconId": "9AEE0CB7-46B9-414F-A8A8-AFB127CB7057", - "name": "repeat-once", - "codepoint": "F0458", - "aliases": [ - "repeat-one" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2788034C-2A06-46C0-82B9-A34CB23C88E0", - "baseIconId": "9AEE0CB7-46B9-414F-A8A8-AFB127CB7057", - "name": "repeat-variant", - "codepoint": "F0547", - "aliases": [ - "twitter-retweet", - "repost" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "A15D2CB0-E938-4894-8BF3-BC6C628E6433", - "baseIconId": "A15D2CB0-E938-4894-8BF3-BC6C628E6433", - "name": "replay", - "codepoint": "F0459", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CC3BEE2C-0FEA-46D2-BC53-F7D248AAF47C", - "baseIconId": "CC3BEE2C-0FEA-46D2-BC53-F7D248AAF47C", - "name": "reply", - "codepoint": "F045A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "0BDA0697-946D-4B4C-AD02-2FC6ECA4A528", - "baseIconId": "CC3BEE2C-0FEA-46D2-BC53-F7D248AAF47C", - "name": "reply-all", - "codepoint": "F045B", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "C89953B0-3E41-4F03-B0C3-4ED8F96C1234", - "baseIconId": "CC3BEE2C-0FEA-46D2-BC53-F7D248AAF47C", - "name": "reply-all-outline", - "codepoint": "F0F1F", - "aliases": [], - "styles": [ - "multiple", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "25084C11-A1EE-4158-BC41-5E80E00E837E", - "baseIconId": "CC3BEE2C-0FEA-46D2-BC53-F7D248AAF47C", - "name": "reply-circle", - "codepoint": "F11AE", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7FBB6798-7E14-45FC-973A-8F4FD184F92A", - "baseIconId": "CC3BEE2C-0FEA-46D2-BC53-F7D248AAF47C", - "name": "reply-outline", - "codepoint": "F0F20", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A522A51F-EE61-473F-97D6-9D5106FD11CA", - "baseIconId": "A522A51F-EE61-473F-97D6-9D5106FD11CA", - "name": "reproduction", - "codepoint": "F045C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "37D62FB9-6BB0-49D6-8C3E-DF75338DD275", - "baseIconId": "37D62FB9-6BB0-49D6-8C3E-DF75338DD275", - "name": "resistor", - "codepoint": "F0B44", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [], - "author": "Louistwee" - }, - { - "id": "8DB0A5C4-31AD-42A8-A42E-4690B20D5AA0", - "baseIconId": "37D62FB9-6BB0-49D6-8C3E-DF75338DD275", - "name": "resistor-nodes", - "codepoint": "F0B45", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [], - "author": "Louistwee" - }, - { - "id": "5D2EF9DD-38C1-4D2B-A24B-7270C66A6667", - "baseIconId": "5D2EF9DD-38C1-4D2B-A24B-7270C66A6667", - "name": "resize", - "codepoint": "F0A68", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "84916A68-B413-4D71-B4E7-5FD64914B354", - "baseIconId": "84916A68-B413-4D71-B4E7-5FD64914B354", - "name": "resize-bottom-right", - "codepoint": "F045D", - "aliases": [ - "drag" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0C72C131-779D-460F-A059-B9DF2B79E40C", - "baseIconId": "0C72C131-779D-460F-A059-B9DF2B79E40C", - "name": "responsive", - "codepoint": "F045E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Gabriel" - }, - { - "id": "15954B5D-3ADA-4B6B-BE15-F95B6A5D4659", - "baseIconId": "15954B5D-3ADA-4B6B-BE15-F95B6A5D4659", - "name": "restart", - "codepoint": "F0709", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "08CBB3AA-B72C-4381-A295-37EC2550AF63", - "baseIconId": "15954B5D-3ADA-4B6B-BE15-F95B6A5D4659", - "name": "restart-alert", - "codepoint": "F110C", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CE31B2C3-939B-4039-9ADC-797509A68F35", - "baseIconId": "15954B5D-3ADA-4B6B-BE15-F95B6A5D4659", - "name": "restart-off", - "codepoint": "F0D95", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FF1CAAB4-2192-442F-88F1-08DEB67E21F0", - "baseIconId": "FF1CAAB4-2192-442F-88F1-08DEB67E21F0", - "name": "restore", - "codepoint": "F099B", - "aliases": [ - "loop", - "rotate-counter-clockwise" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "A9EF3AB2-700F-422A-AE07-0F6C3DB5BDB6", - "baseIconId": "FF1CAAB4-2192-442F-88F1-08DEB67E21F0", - "name": "restore-alert", - "codepoint": "F110D", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "28BCDF41-AA93-4C25-B87A-95A3F5DD8805", - "baseIconId": "28BCDF41-AA93-4C25-B87A-95A3F5DD8805", - "name": "rewind", - "codepoint": "F045F", - "aliases": [ - "fast-rewind" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3A7C53D9-B7BB-49A7-9393-38F16B0F5D52", - "baseIconId": "3A7C53D9-B7BB-49A7-9393-38F16B0F5D52", - "name": "rewind-10", - "codepoint": "F0D2A", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2DB4A76F-04DC-4E7A-88F0-72C936921B48", - "baseIconId": "2DB4A76F-04DC-4E7A-88F0-72C936921B48", - "name": "rewind-15", - "codepoint": "F1946", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "21F6D751-0E5A-41F8-980C-2C4385A59CC4", - "baseIconId": "21F6D751-0E5A-41F8-980C-2C4385A59CC4", - "name": "rewind-30", - "codepoint": "F0D96", - "aliases": [], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "6F87706E-D3BC-4789-9274-D80FA47FE5E1", - "baseIconId": "6F87706E-D3BC-4789-9274-D80FA47FE5E1", - "name": "rewind-45", - "codepoint": "F1B13", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "167E7244-A6F8-400E-8CF7-F71B3FAEEEBE", - "baseIconId": "167E7244-A6F8-400E-8CF7-F71B3FAEEEBE", - "name": "rewind-5", - "codepoint": "F11F9", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7C7A1566-44FB-4A53-AE61-95F5A03F6978", - "baseIconId": "7C7A1566-44FB-4A53-AE61-95F5A03F6978", - "name": "rewind-60", - "codepoint": "F160C", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [], - "author": "Terren" - }, - { - "id": "61E83433-F6D1-442D-9EDE-EDEF27AB789D", - "baseIconId": "28BCDF41-AA93-4C25-B87A-95A3F5DD8805", - "name": "rewind-outline", - "codepoint": "F070A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "68CFD178-A6FE-4DB5-9C39-FCA6A3EA83A5", - "baseIconId": "68CFD178-A6FE-4DB5-9C39-FCA6A3EA83A5", - "name": "rhombus", - "codepoint": "F070B", - "aliases": [ - "diamond" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F6FA48B9-85C9-4287-8883-6A549AC290D2", - "baseIconId": "68CFD178-A6FE-4DB5-9C39-FCA6A3EA83A5", - "name": "rhombus-medium", - "codepoint": "F0A10", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "01D071A4-DA5C-4735-A72F-53D0B8EC9EDF", - "baseIconId": "68CFD178-A6FE-4DB5-9C39-FCA6A3EA83A5", - "name": "rhombus-medium-outline", - "codepoint": "F14DC", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Simran" - }, - { - "id": "101A7558-A38E-48E8-93EA-A21F37238E78", - "baseIconId": "68CFD178-A6FE-4DB5-9C39-FCA6A3EA83A5", - "name": "rhombus-outline", - "codepoint": "F070C", - "aliases": [ - "diamond-outline" - ], - "styles": [ - "outline" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A19BB3EC-ED3D-41C6-9088-ACB372959E01", - "baseIconId": "68CFD178-A6FE-4DB5-9C39-FCA6A3EA83A5", - "name": "rhombus-split", - "codepoint": "F0A11", - "aliases": [ - "collection" - ], - "styles": [ - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E9499838-BF7F-48DB-843A-F98796B0D8BB", - "baseIconId": "68CFD178-A6FE-4DB5-9C39-FCA6A3EA83A5", - "name": "rhombus-split-outline", - "codepoint": "F14DD", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Simran" - }, - { - "id": "1C09CB9B-162B-486B-966C-1FCB18C0F633", - "baseIconId": "1C09CB9B-162B-486B-966C-1FCB18C0F633", - "name": "ribbon", - "codepoint": "F0460", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B90B4B7C-9FDD-427A-834C-F3DFB5EC1823", - "baseIconId": "B90B4B7C-9FDD-427A-834C-F3DFB5EC1823", - "name": "rice", - "codepoint": "F07EA", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5B4966BE-753B-4777-A8D8-B67B3BC57C0D", - "baseIconId": "5B4966BE-753B-4777-A8D8-B67B3BC57C0D", - "name": "rickshaw", - "codepoint": "F15BB", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Transportation + Other" - ], - "author": "nilsfast" - }, - { - "id": "8869DCB9-04E3-41B9-B56C-D4BC5CF2DD7A", - "baseIconId": "5B4966BE-753B-4777-A8D8-B67B3BC57C0D", - "name": "rickshaw-electric", - "codepoint": "F15BC", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Transportation + Other" - ], - "author": "nilsfast" - }, - { - "id": "7D845AED-5EA2-44C0-8F38-6A2C4E08C8A3", - "baseIconId": "7D845AED-5EA2-44C0-8F38-6A2C4E08C8A3", - "name": "ring", - "codepoint": "F07EB", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "DA8B7A3A-5971-4875-AA0A-ED17E8A69E22", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "rivet", - "codepoint": "F0E60", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Simran" - }, - { - "id": "2AA1C93A-17BE-4BB6-A85C-C477A4FF1069", - "baseIconId": "2AA1C93A-17BE-4BB6-A85C-C477A4FF1069", - "name": "road", - "codepoint": "F0461", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Simran" - }, - { - "id": "0BBDD64A-3C67-43DD-9B3A-580E12DDA2D7", - "baseIconId": "2AA1C93A-17BE-4BB6-A85C-C477A4FF1069", - "name": "road-variant", - "codepoint": "F0462", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "45B05AE1-4E78-431F-AAB3-669A72AED11E", - "baseIconId": "45B05AE1-4E78-431F-AAB3-669A72AED11E", - "name": "robber", - "codepoint": "F1058", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Andrew Nenakhov" - }, - { - "id": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot", - "codepoint": "F06A9", - "aliases": [ - "emoji-robot", - "emoticon-robot" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "D77B4057-E06B-49B7-BBC7-DD4A7B39BC2A", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-angry", - "codepoint": "F169D", - "aliases": [ - "emoji-robot-angry", - "emoticon-robot-angry" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "D922E043-E4B6-4FAA-9717-51C1935DD20A", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-angry-outline", - "codepoint": "F169E", - "aliases": [ - "emoji-robot-angry-outline", - "emoticon-robot-angry-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "535C4A09-5555-45A6-8409-BF12E1CDA2DE", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-confused", - "codepoint": "F169F", - "aliases": [ - "emoji-robot-confused", - "emoticon-robot-confused" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8361794A-9B3E-44CA-9AA4-EA842227D7C2", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-confused-outline", - "codepoint": "F16A0", - "aliases": [ - "emoji-robot-confused-outline", - "emoticon-robot-confused-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "04405E02-7C38-409E-8F92-785431ECC76F", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-dead", - "codepoint": "F16A1", - "aliases": [ - "emoji-robot-dead", - "emoticon-robot-dead" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "15D146E0-3683-43D8-8500-905EEAC98010", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-dead-outline", - "codepoint": "F16A2", - "aliases": [ - "emoji-robot-dead-outline", - "emoticon-robot-dead-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "B32D5968-FE0C-46FB-916E-52D0103DA2C7", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-excited", - "codepoint": "F16A3", - "aliases": [ - "emoticon-robot-excited", - "emoji-robot-excited" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8013E3FE-34B6-49F3-919B-85A5E0A5873C", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-excited-outline", - "codepoint": "F16A4", - "aliases": [ - "emoji-robot-excited-outline", - "emoticon-robot-excited-outline" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6AE4D050-1B64-4AAB-B57B-DD738276E82F", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-happy", - "codepoint": "F1719", - "aliases": [ - "emoji-robot-happy", - "emoticon-robot-happy" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "62023A79-6DF7-4B3B-BDCA-FEEAE73C9F89", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-happy-outline", - "codepoint": "F171A", - "aliases": [ - "emoji-robot-happy-outline", - "emoticon-robot-happy-outline" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C008FBCE-4D0A-4003-8811-FF15D08C3313", - "baseIconId": "C008FBCE-4D0A-4003-8811-FF15D08C3313", - "name": "robot-industrial", - "codepoint": "F0B46", - "aliases": [ - "autonomous", - "assembly" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "318E8495-2191-4315-A58D-77D697743290", - "baseIconId": "C008FBCE-4D0A-4003-8811-FF15D08C3313", - "name": "robot-industrial-outline", - "codepoint": "F1A1A", - "aliases": [], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2EFA6B95-27BD-4A52-90AF-991A3574FD2C", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-love", - "codepoint": "F16A5", - "aliases": [ - "emoji-robot-love", - "emoticon-robot-love" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "FA128C47-3C41-4B0D-8F18-8E28E9F3EA0C", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-love-outline", - "codepoint": "F16A6", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2029DE02-EC25-4242-945F-D7495F35D071", - "baseIconId": "2029DE02-EC25-4242-945F-D7495F35D071", - "name": "robot-mower", - "codepoint": "F11F7", - "aliases": [ - "lawn-mower" - ], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Kristian Mohl" - }, - { - "id": "D40FCE9F-E14E-4F2E-83BD-39704B38E446", - "baseIconId": "2029DE02-EC25-4242-945F-D7495F35D071", - "name": "robot-mower-outline", - "codepoint": "F11F3", - "aliases": [ - "lawn-mower-outline" - ], - "styles": [ - "outline" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Kristian Mohl" - }, - { - "id": "B62D8FF2-AF07-4D20-8C8B-93E585EF6EFB", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-off", - "codepoint": "F16A7", - "aliases": [ - "emoji-robot-off", - "emoticon-robot-off" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "0BA0757D-0E1F-4484-86AF-7476790AE21C", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-off-outline", - "codepoint": "F167B", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C0F3E15B-2DFB-4EAF-B41A-2D18EEA22C25", - "baseIconId": "EC6C8D3D-0315-4C3A-B37A-97411758DF34", - "name": "robot-outline", - "codepoint": "F167A", - "aliases": [ - "emoji-robot-outline", - "emoticon-robot-outline" - ], - "styles": [ - "outline" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E091C285-7AA8-4907-9398-EBFDAC7A179D", - "baseIconId": "E091C285-7AA8-4907-9398-EBFDAC7A179D", - "name": "robot-vacuum", - "codepoint": "F070D", - "aliases": [ - "roomba" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Roberto Graham" - }, - { - "id": "05DDCBE1-561A-4961-87F7-CA9BE0C182BE", - "baseIconId": "E091C285-7AA8-4907-9398-EBFDAC7A179D", - "name": "robot-vacuum-alert", - "codepoint": "F1B5D", - "aliases": [ - "robot-vacuum-error" - ], - "styles": [ - "alert" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0EF94574-EBEE-40D6-8D73-613C2D108B75", - "baseIconId": "E091C285-7AA8-4907-9398-EBFDAC7A179D", - "name": "robot-vacuum-off", - "codepoint": "F1C01", - "aliases": [], - "styles": [ - "off" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C7938632-FA58-4686-9B82-5E9CCDD0EC83", - "baseIconId": "E091C285-7AA8-4907-9398-EBFDAC7A179D", - "name": "robot-vacuum-variant", - "codepoint": "F0908", - "aliases": [ - "neato" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "DC45B355-D0D4-4616-B1A0-34D22285FE1F", - "baseIconId": "E091C285-7AA8-4907-9398-EBFDAC7A179D", - "name": "robot-vacuum-variant-alert", - "codepoint": "F1B5E", - "aliases": [ - "robot-vacuum-variant-error" - ], - "styles": [ - "alert", - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "03508026-E2C8-4A8F-A13E-9D685EF26E14", - "baseIconId": "E091C285-7AA8-4907-9398-EBFDAC7A179D", - "name": "robot-vacuum-variant-off", - "codepoint": "F1C02", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "96BE0E43-42AB-4F93-8045-0C7B61BF69CC", - "baseIconId": "96BE0E43-42AB-4F93-8045-0C7B61BF69CC", - "name": "rocket", - "codepoint": "F0463", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Flying", - "Science" - ], - "author": "Google" - }, - { - "id": "E2791217-9CAB-41CA-9899-9BD0964B4DF9", - "baseIconId": "96BE0E43-42AB-4F93-8045-0C7B61BF69CC", - "name": "rocket-launch", - "codepoint": "F14DE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Science", - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F6DA21B8-C4AD-48D1-9F97-9A59F721956B", - "baseIconId": "96BE0E43-42AB-4F93-8045-0C7B61BF69CC", - "name": "rocket-launch-outline", - "codepoint": "F14DF", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Science", - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "934FA95E-C5B3-4A5E-B99D-85B0E65CBDBA", - "baseIconId": "96BE0E43-42AB-4F93-8045-0C7B61BF69CC", - "name": "rocket-outline", - "codepoint": "F13AF", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Science", - "Transportation + Flying" - ], - "author": "Google" - }, - { - "id": "AA8B7EA9-2DB2-4591-94E0-A457373E64C1", - "baseIconId": "AA8B7EA9-2DB2-4591-94E0-A457373E64C1", - "name": "rodent", - "codepoint": "F1327", - "aliases": [ - "mouse", - "rat" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Google" - }, - { - "id": "223BB690-0799-4F91-A756-5425358A7C4D", - "baseIconId": "223BB690-0799-4F91-A756-5425358A7C4D", - "name": "roller-shade", - "codepoint": "F1A6B", - "aliases": [ - "blinds-open", - "window-open" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "796C645E-B8C8-4898-AE15-981077DEC280", - "baseIconId": "223BB690-0799-4F91-A756-5425358A7C4D", - "name": "roller-shade-closed", - "codepoint": "F1A6C", - "aliases": [ - "blinds-closed", - "window-closed" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "6EFB213D-87A6-454A-AB37-AB87CE853E4B", - "baseIconId": "6EFB213D-87A6-454A-AB37-AB87CE853E4B", - "name": "roller-skate", - "codepoint": "F0D2B", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A6387660-7DB0-41DC-9ECF-EBBA5A78FC82", - "baseIconId": "6EFB213D-87A6-454A-AB37-AB87CE853E4B", - "name": "roller-skate-off", - "codepoint": "F0145", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "366C920F-6DC6-46FF-94C6-44A8D22A7D1D", - "baseIconId": "6EFB213D-87A6-454A-AB37-AB87CE853E4B", - "name": "rollerblade", - "codepoint": "F0D2C", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BC1934AD-28E6-4E7C-8C7E-1557CE482CCB", - "baseIconId": "366C920F-6DC6-46FF-94C6-44A8D22A7D1D", - "name": "rollerblade-off", - "codepoint": "F002E", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9BBAB3C0-02B2-436A-94C8-0EBD388289D8", - "baseIconId": "9BBAB3C0-02B2-436A-94C8-0EBD388289D8", - "name": "rollupjs", - "codepoint": "F0BC0", - "aliases": [ - "rollup-js" - ], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "19AA4DCD-7270-48A6-ADB1-819098F2250A", - "baseIconId": "19AA4DCD-7270-48A6-ADB1-819098F2250A", - "name": "rolodex", - "codepoint": "F1AB9", - "aliases": [], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "arnoldlepineux" - }, - { - "id": "A00CFDF9-821F-4F98-9767-22163517ED0F", - "baseIconId": "19AA4DCD-7270-48A6-ADB1-819098F2250A", - "name": "rolodex-outline", - "codepoint": "F1ABA", - "aliases": [], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "7E900912-C3AE-4D82-BCF0-1162ACC7EB15", - "baseIconId": "7E900912-C3AE-4D82-BCF0-1162ACC7EB15", - "name": "roman-numeral-1", - "codepoint": "F1088", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "76685845-20ED-49A8-A8ED-EA967F25B5CF", - "baseIconId": "76685845-20ED-49A8-A8ED-EA967F25B5CF", - "name": "roman-numeral-10", - "codepoint": "F1091", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "4C14E293-1951-4481-9ECC-3D868B764444", - "baseIconId": "4C14E293-1951-4481-9ECC-3D868B764444", - "name": "roman-numeral-2", - "codepoint": "F1089", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6594655A-5BB0-43B5-B3BD-CF04D4B59562", - "baseIconId": "6594655A-5BB0-43B5-B3BD-CF04D4B59562", - "name": "roman-numeral-3", - "codepoint": "F108A", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9D572A82-B0D2-4961-B467-32AD78FF551C", - "baseIconId": "9D572A82-B0D2-4961-B467-32AD78FF551C", - "name": "roman-numeral-4", - "codepoint": "F108B", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EF5F2939-4E4A-4688-B7F5-DD6BC5C14CD1", - "baseIconId": "EF5F2939-4E4A-4688-B7F5-DD6BC5C14CD1", - "name": "roman-numeral-5", - "codepoint": "F108C", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Contributors" - }, - { - "id": "8E746FAF-3C9D-48B9-8378-A73EAB7C69F4", - "baseIconId": "8E746FAF-3C9D-48B9-8378-A73EAB7C69F4", - "name": "roman-numeral-6", - "codepoint": "F108D", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D725A70F-2F5D-43B1-99B5-A70220CCAD7A", - "baseIconId": "D725A70F-2F5D-43B1-99B5-A70220CCAD7A", - "name": "roman-numeral-7", - "codepoint": "F108E", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CD729113-BA16-44AE-A012-D8C5BE2D2D7F", - "baseIconId": "CD729113-BA16-44AE-A012-D8C5BE2D2D7F", - "name": "roman-numeral-8", - "codepoint": "F108F", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A53BFEB9-4F94-42AA-928D-0A0A28A44FD9", - "baseIconId": "A53BFEB9-4F94-42AA-928D-0A0A28A44FD9", - "name": "roman-numeral-9", - "codepoint": "F1090", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C525BD2B-2BA8-4158-AC0A-FAEE9E353047", - "baseIconId": "C525BD2B-2BA8-4158-AC0A-FAEE9E353047", - "name": "room-service", - "codepoint": "F088D", - "aliases": [ - "call-bell" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A94493FF-30FD-4490-8ABC-F6F03F958D17", - "baseIconId": "C525BD2B-2BA8-4158-AC0A-FAEE9E353047", - "name": "room-service-outline", - "codepoint": "F0D97", - "aliases": [ - "call-bell-outline" - ], - "styles": [ - "outline" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "38F235DA-809D-4F32-B88E-870A02826E75", - "baseIconId": "38F235DA-809D-4F32-B88E-870A02826E75", - "name": "rotate-360", - "codepoint": "F1999", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "E288FD83-7397-4DF3-BAB8-DF7094955B83", - "baseIconId": "E288FD83-7397-4DF3-BAB8-DF7094955B83", - "name": "rotate-3d", - "codepoint": "F0EC7", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D09D0551-14A0-470B-A24C-0AC38F739FFA", - "baseIconId": "E288FD83-7397-4DF3-BAB8-DF7094955B83", - "name": "rotate-3d-variant", - "codepoint": "F0464", - "aliases": [ - "3d-rotation" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1E960D83-0632-47D2-8CC9-D8A137887BAB", - "baseIconId": "1E960D83-0632-47D2-8CC9-D8A137887BAB", - "name": "rotate-left", - "codepoint": "F0465", - "aliases": [ - "arrow-rotate-left" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "CC6E0E23-9F7B-40F5-B00F-0690A5F7B400", - "baseIconId": "CC6E0E23-9F7B-40F5-B00F-0690A5F7B400", - "name": "rotate-left-variant", - "codepoint": "F0466", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "41DBDBBC-7E7A-4E2A-A7E9-A22707957334", - "baseIconId": "41DBDBBC-7E7A-4E2A-A7E9-A22707957334", - "name": "rotate-orbit", - "codepoint": "F0D98", - "aliases": [ - "gyro", - "accelerometer" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5324E881-FACF-4CAC-9118-FD963EDCDD27", - "baseIconId": "5324E881-FACF-4CAC-9118-FD963EDCDD27", - "name": "rotate-right", - "codepoint": "F0467", - "aliases": [ - "arrow-rotate-right" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "02105B39-715B-4989-93DC-1DDC338A4552", - "baseIconId": "02105B39-715B-4989-93DC-1DDC338A4552", - "name": "rotate-right-variant", - "codepoint": "F0468", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "FEBD153A-F07E-4329-A727-D75F13F3133D", - "baseIconId": "FEBD153A-F07E-4329-A727-D75F13F3133D", - "name": "rounded-corner", - "codepoint": "F0607", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7D8AE8B4-4A72-45DE-9EA7-B4B6502C0FDD", - "baseIconId": "7D8AE8B4-4A72-45DE-9EA7-B4B6502C0FDD", - "name": "router", - "codepoint": "F11E2", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "sergiocarlotto" - }, - { - "id": "8CCE5060-8983-4F75-B672-32B7599F1082", - "baseIconId": "8CCE5060-8983-4F75-B672-32B7599F1082", - "name": "router-network", - "codepoint": "F1087", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "331F3E71-198F-4A8D-95B2-EA348B4F55C3", - "baseIconId": "8CCE5060-8983-4F75-B672-32B7599F1082", - "name": "router-network-wireless", - "codepoint": "F1C97", - "aliases": [ - "wireless-router" - ], - "styles": [ - "network" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Michael Richins" - }, - { - "id": "3244EAC8-8349-4CFB-BE35-A0812368CEDA", - "baseIconId": "3244EAC8-8349-4CFB-BE35-A0812368CEDA", - "name": "router-wireless", - "codepoint": "F0469", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E6CF3E53-C5EF-48AF-BA3B-AD339E6A3FA3", - "baseIconId": "3244EAC8-8349-4CFB-BE35-A0812368CEDA", - "name": "router-wireless-off", - "codepoint": "F15A3", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3881E4FA-15D1-4051-991C-B4B4F0791576", - "baseIconId": "3244EAC8-8349-4CFB-BE35-A0812368CEDA", - "name": "router-wireless-settings", - "codepoint": "F0A69", - "aliases": [], - "styles": [ - "settings" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Google" - }, - { - "id": "4E7234E7-AB5F-491D-BA6F-674B3BAD9027", - "baseIconId": "4E7234E7-AB5F-491D-BA6F-674B3BAD9027", - "name": "routes", - "codepoint": "F046A", - "aliases": [ - "sign-routes" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "70E2EE84-23BF-4C5A-9AE7-06D1156042CA", - "baseIconId": "4E7234E7-AB5F-491D-BA6F-674B3BAD9027", - "name": "routes-clock", - "codepoint": "F1059", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "72F11BA0-1557-4500-8235-2E3F2346FE69", - "baseIconId": "72F11BA0-1557-4500-8235-2E3F2346FE69", - "name": "rowing", - "codepoint": "F0608", - "aliases": [ - "human-rowing" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport", - "Transportation + Water", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "9E877D76-9BC5-496D-99E4-1E6029DE1B4D", - "baseIconId": "9E877D76-9BC5-496D-99E4-1E6029DE1B4D", - "name": "rss", - "codepoint": "F046B", - "aliases": [ - "rss-feed" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "649343BD-3C91-43EA-9000-AE10520CAA2D", - "baseIconId": "9E877D76-9BC5-496D-99E4-1E6029DE1B4D", - "name": "rss-box", - "codepoint": "F046C", - "aliases": [ - "rss-feed-box" - ], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Gabriel" - }, - { - "id": "45AA2B72-8538-41CB-BAD4-20C43E40D21C", - "baseIconId": "9E877D76-9BC5-496D-99E4-1E6029DE1B4D", - "name": "rss-off", - "codepoint": "F0F21", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "C43D28FD-C647-41B4-A710-E8FFE81D8EAF", - "baseIconId": "C43D28FD-C647-41B4-A710-E8FFE81D8EAF", - "name": "rug", - "codepoint": "F1475", - "aliases": [ - "carpet" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "19489FCE-DD25-4670-BC6F-4FC3AF1E66D3", - "baseIconId": "19489FCE-DD25-4670-BC6F-4FC3AF1E66D3", - "name": "rugby", - "codepoint": "F0D99", - "aliases": [ - "rugby-ball" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "66A2EA92-0743-4740-B3F2-254C38E9027F", - "baseIconId": "66A2EA92-0743-4740-B3F2-254C38E9027F", - "name": "ruler", - "codepoint": "F046D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Drawing \/ Art" - ], - "author": "Austin Andrews" - }, - { - "id": "A94D1ED1-576F-4E2C-B165-ABAD797E8192", - "baseIconId": "66A2EA92-0743-4740-B3F2-254C38E9027F", - "name": "ruler-square", - "codepoint": "F0CC2", - "aliases": [ - "square", - "carpentry", - "architecture" - ], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Hardware \/ Tools", - "Drawing \/ Art" - ], - "author": "Michael Richins" - }, - { - "id": "2E24CF4F-2EC9-46C2-ABB9-341869D562EE", - "baseIconId": "2E24CF4F-2EC9-46C2-ABB9-341869D562EE", - "name": "ruler-square-compass", - "codepoint": "F0EBE", - "aliases": [ - "mason", - "masonic", - "freemasonry" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Richins" - }, - { - "id": "2A869029-60EB-4965-9BE4-9B3DB964C707", - "baseIconId": "2A869029-60EB-4965-9BE4-9B3DB964C707", - "name": "run", - "codepoint": "F070E", - "aliases": [ - "directions-run", - "human-run" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "D541EB73-227A-419B-A5F7-7242EB02D916", - "baseIconId": "2A869029-60EB-4965-9BE4-9B3DB964C707", - "name": "run-fast", - "codepoint": "F046E", - "aliases": [ - "velocity", - "human-run-fast" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Sport", - "People \/ Family" - ], - "author": "Austin Andrews" - }, - { - "id": "43C3E250-2842-4973-8D19-CA1E48BCF61C", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "rv-truck", - "codepoint": "F11D4", - "aliases": [ - "recreational-vehicle", - "campervan" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "025FEA9C-17F9-4293-BD59-A8D53B7B4124", - "baseIconId": "025FEA9C-17F9-4293-BD59-A8D53B7B4124", - "name": "sack", - "codepoint": "F0D2E", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "961ADDC5-B7FC-4CB8-8AD7-5F6293C5A973", - "baseIconId": "025FEA9C-17F9-4293-BD59-A8D53B7B4124", - "name": "sack-outline", - "codepoint": "F1C4C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "9DA8E933-0065-43E6-9416-0EAA104BEF6F", - "baseIconId": "025FEA9C-17F9-4293-BD59-A8D53B7B4124", - "name": "sack-percent", - "codepoint": "F0D2F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "013E121E-A100-48D2-941B-854832E70793", - "baseIconId": "013E121E-A100-48D2-941B-854832E70793", - "name": "safe", - "codepoint": "F0A6A", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "GreenTurtwig" - }, - { - "id": "B12FE612-BEB7-45A2-BB7D-B04C6F33AE1B", - "baseIconId": "013E121E-A100-48D2-941B-854832E70793", - "name": "safe-square", - "codepoint": "F127C", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Yaroslav Bandura" - }, - { - "id": "6F471894-793E-4F7F-848D-CE2AA2F4C67D", - "baseIconId": "013E121E-A100-48D2-941B-854832E70793", - "name": "safe-square-outline", - "codepoint": "F127D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Yaroslav Bandura" - }, - { - "id": "438888DA-342B-4861-95EA-026A3F4E2F95", - "baseIconId": "438888DA-342B-4861-95EA-026A3F4E2F95", - "name": "safety-goggles", - "codepoint": "F0D30", - "aliases": [ - "safety-glasses" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F1921E38-A25D-41F6-94B6-B6D01C3E0593", - "baseIconId": "F1921E38-A25D-41F6-94B6-B6D01C3E0593", - "name": "sail-boat", - "codepoint": "F0EC8", - "aliases": [ - "sailing", - "boat" - ], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Sport", - "Transportation + Water" - ], - "author": "Google" - }, - { - "id": "BEF26F95-E584-4585-BBD7-3766740FBEBD", - "baseIconId": "F1921E38-A25D-41F6-94B6-B6D01C3E0593", - "name": "sail-boat-sink", - "codepoint": "F1AEF", - "aliases": [ - "sail-boat-crash", - "sail-boat-wreck" - ], - "styles": [ - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Transportation + Water" - ], - "author": "Michael Irigoyen" - }, - { - "id": "688543EC-EC01-474C-883C-C2EA2EDE75BF", - "baseIconId": "688543EC-EC01-474C-883C-C2EA2EDE75BF", - "name": "sale", - "codepoint": "F046F", - "aliases": [ - "discount" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Simran" - }, - { - "id": "EC5767A6-FA73-4A93-AA73-3EE66CB7374B", - "baseIconId": "688543EC-EC01-474C-883C-C2EA2EDE75BF", - "name": "sale-outline", - "codepoint": "F1A06", - "aliases": [ - "discount-outline" - ], - "styles": [ - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Austin Andrews" - }, - { - "id": "D7963D7C-396F-45DB-A5D7-AA18AE32FE53", - "baseIconId": "D7963D7C-396F-45DB-A5D7-AA18AE32FE53", - "name": "salesforce", - "codepoint": "F088E", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2AFE6E3E-61AB-48D2-A333-E5324AD534CD", - "baseIconId": "2AFE6E3E-61AB-48D2-A333-E5324AD534CD", - "name": "sass", - "codepoint": "F07EC", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "D77BED79-19CC-45A9-9940-5EB621E95C11", - "baseIconId": "D77BED79-19CC-45A9-9940-5EB621E95C11", - "name": "satellite", - "codepoint": "F0470", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9627DDC0-A33C-4B0E-A14F-915809E377AA", - "baseIconId": "9627DDC0-A33C-4B0E-A14F-915809E377AA", - "name": "satellite-uplink", - "codepoint": "F0909", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "3945E491-7E92-4A9F-BD2A-C436200B3716", - "baseIconId": "3945E491-7E92-4A9F-BD2A-C436200B3716", - "name": "satellite-variant", - "codepoint": "F0471", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "191AE0C8-5DBD-4B51-8D52-2872CA89E376", - "baseIconId": "191AE0C8-5DBD-4B51-8D52-2872CA89E376", - "name": "sausage", - "codepoint": "F08BA", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Nick" - }, - { - "id": "AA9C348E-83F3-4EC8-87D5-0E7C8BAAA2DB", - "baseIconId": "191AE0C8-5DBD-4B51-8D52-2872CA89E376", - "name": "sausage-off", - "codepoint": "F1789", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "SvenVdv" - }, - { - "id": "65F29350-AC15-4F53-B3D0-B7304BA8791A", - "baseIconId": "65F29350-AC15-4F53-B3D0-B7304BA8791A", - "name": "saw-blade", - "codepoint": "F0E61", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2C8473E2-22E8-4E6E-B929-99D2FCE9937B", - "baseIconId": "2C8473E2-22E8-4E6E-B929-99D2FCE9937B", - "name": "sawtooth-wave", - "codepoint": "F147A", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Haley Halcyon" - }, - { - "id": "64F494E1-5B39-488D-B46E-0FC1B9567478", - "baseIconId": "64F494E1-5B39-488D-B46E-0FC1B9567478", - "name": "saxophone", - "codepoint": "F0609", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "3FE1D769-A292-44DB-BB8A-E60F3A020D2A", - "baseIconId": "3FE1D769-A292-44DB-BB8A-E60F3A020D2A", - "name": "scale", - "codepoint": "F0472", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "82048BA4-F949-4572-B59B-23197F9B36D6", - "baseIconId": "82048BA4-F949-4572-B59B-23197F9B36D6", - "name": "scale-balance", - "codepoint": "F05D1", - "aliases": [ - "justice", - "legal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Simran" - }, - { - "id": "F4501EC3-6AB0-4A69-B840-F07DDFC45A19", - "baseIconId": "F4501EC3-6AB0-4A69-B840-F07DDFC45A19", - "name": "scale-bathroom", - "codepoint": "F0473", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Medical \/ Hospital" - ], - "author": "Austin Andrews" - }, - { - "id": "69824E77-BE70-49EB-9F26-C06042E86F1D", - "baseIconId": "3FE1D769-A292-44DB-BB8A-E60F3A020D2A", - "name": "scale-off", - "codepoint": "F105A", - "aliases": [], - "styles": [ - "off" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Richins" - }, - { - "id": "18C68B6F-89AD-4F9D-B0AF-AF6185C86AD6", - "baseIconId": "82048BA4-F949-4572-B59B-23197F9B36D6", - "name": "scale-unbalanced", - "codepoint": "F19B8", - "aliases": [], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C74BA4DC-A838-471E-AA2D-A5C2D0B74BF3", - "baseIconId": "C74BA4DC-A838-471E-AA2D-A5C2D0B74BF3", - "name": "scan-helper", - "codepoint": "F13D8", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Peter Noble" - }, - { - "id": "BE9A1BD3-1DF7-407F-98B7-24070994D472", - "baseIconId": "BE9A1BD3-1DF7-407F-98B7-24070994D472", - "name": "scanner", - "codepoint": "F06AB", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "B2E1C852-B55A-40D0-969B-0CD7389660A4", - "baseIconId": "BE9A1BD3-1DF7-407F-98B7-24070994D472", - "name": "scanner-off", - "codepoint": "F090A", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "5DE8E9D7-420A-43BE-AF94-B1364BC46D41", - "baseIconId": "5DE8E9D7-420A-43BE-AF94-B1364BC46D41", - "name": "scatter-plot", - "codepoint": "F0EC9", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C438C63A-0E60-4EA8-B795-EE6D329253F1", - "baseIconId": "5DE8E9D7-420A-43BE-AF94-B1364BC46D41", - "name": "scatter-plot-outline", - "codepoint": "F0ECA", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B473C27C-5557-4B1F-89F1-46DC7700E73A", - "baseIconId": "B473C27C-5557-4B1F-89F1-46DC7700E73A", - "name": "scent", - "codepoint": "F1958", - "aliases": [ - "aroma", - "fragrance", - "smell", - "odor" - ], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2263B3A2-8BC3-4E1B-B86F-46E9E7CAA92A", - "baseIconId": "B473C27C-5557-4B1F-89F1-46DC7700E73A", - "name": "scent-off", - "codepoint": "F1959", - "aliases": [ - "aroma-off", - "smell-off", - "fragrance-off", - "odor-off" - ], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A671C11E-0A75-4F41-AA32-EAA99955DEDE", - "baseIconId": "A671C11E-0A75-4F41-AA32-EAA99955DEDE", - "name": "school", - "codepoint": "F0474", - "aliases": [ - "graduation-cap", - "university", - "college", - "academic-cap", - "education", - "learn" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "282BA7AF-AFFD-491F-BA34-8DFD88378AFF", - "baseIconId": "A671C11E-0A75-4F41-AA32-EAA99955DEDE", - "name": "school-outline", - "codepoint": "F1180", - "aliases": [ - "academic-cap-outline", - "college-outline", - "graduation-cap-outline", - "university-outline", - "education-outline", - "learn-outline" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D5D8FF62-F955-4DB5-8EC3-1C314F401ECD", - "baseIconId": "D5D8FF62-F955-4DB5-8EC3-1C314F401ECD", - "name": "scissors-cutting", - "codepoint": "F0A6B", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "0299DD49-341B-4979-91A9-FB3BF6AEFB87", - "baseIconId": "0299DD49-341B-4979-91A9-FB3BF6AEFB87", - "name": "scooter", - "codepoint": "F15BD", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "09653048-04BF-4EDE-A6F5-7DAAE4157D21", - "baseIconId": "0299DD49-341B-4979-91A9-FB3BF6AEFB87", - "name": "scooter-electric", - "codepoint": "F15BE", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "C20508AC-CC67-48DF-9B05-72DE40E417AF", - "baseIconId": "C20508AC-CC67-48DF-9B05-72DE40E417AF", - "name": "scoreboard", - "codepoint": "F127E", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Yaroslav Bandura" - }, - { - "id": "3E4214BB-1283-436F-A658-7F6015745C88", - "baseIconId": "C20508AC-CC67-48DF-9B05-72DE40E417AF", - "name": "scoreboard-outline", - "codepoint": "F127F", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Yaroslav Bandura" - }, - { - "id": "913EA106-BCB3-410B-A5F4-6FAAA1B79880", - "baseIconId": "913EA106-BCB3-410B-A5F4-6FAAA1B79880", - "name": "screen-rotation", - "codepoint": "F0475", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0C15E49D-5D29-4A3D-803B-0B9695295E04", - "baseIconId": "913EA106-BCB3-410B-A5F4-6FAAA1B79880", - "name": "screen-rotation-lock", - "codepoint": "F0478", - "aliases": [ - "screen-lock-rotation" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Google" - }, - { - "id": "744539B5-EC00-481D-9A78-274A157CF130", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "screw-flat-top", - "codepoint": "F0DF3", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "34D5E55D-131E-4EB2-9053-53B10F6F40D5", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "screw-lag", - "codepoint": "F0DF4", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AD403C97-C12B-4590-A156-EEF43629F655", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "screw-machine-flat-top", - "codepoint": "F0DF5", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C19DAE9D-F5EE-4968-99AD-7F1C55B6ACB4", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "screw-machine-round-top", - "codepoint": "F0DF6", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AC9042F5-C2D0-4C97-AA6E-C364026950B0", - "baseIconId": "744539B5-EC00-481D-9A78-274A157CF130", - "name": "screw-round-top", - "codepoint": "F0DF7", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2F75C2DC-FAAD-4D59-BAAB-3922EF9AF376", - "baseIconId": "2F75C2DC-FAAD-4D59-BAAB-3922EF9AF376", - "name": "screwdriver", - "codepoint": "F0476", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Simran" - }, - { - "id": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script", - "codepoint": "F0BC1", - "aliases": [ - "scroll" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6E18A0EA-1F19-47E3-83DD-25732C1D318D", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script-outline", - "codepoint": "F0477", - "aliases": [ - "scroll-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "100A6987-09AC-4A60-B6D6-E9DA1E4FCBCE", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script-text", - "codepoint": "F0BC2", - "aliases": [ - "scroll-text" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2789A595-8195-448F-BD8A-2FB71B712BD8", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script-text-key", - "codepoint": "F1725", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Claire Casaregola" - }, - { - "id": "1343F1A4-86DB-432D-BE9D-F3EFEB1321F8", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script-text-key-outline", - "codepoint": "F1726", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DF9F9175-8E37-4241-8AFD-360606A444A5", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script-text-outline", - "codepoint": "F0BC3", - "aliases": [ - "scroll-text-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "0F931BB6-3336-430E-85C2-9EDEDCC4E9B4", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script-text-play", - "codepoint": "F1727", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Claire Casaregola" - }, - { - "id": "7357F674-281E-49F1-8161-424877AC6DD3", - "baseIconId": "89D63ACC-0EB2-4C0C-BAFF-65846D32B937", - "name": "script-text-play-outline", - "codepoint": "F1728", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "68B68EDB-6CDA-4488-A213-5E6DF4146EA6", - "baseIconId": "68B68EDB-6CDA-4488-A213-5E6DF4146EA6", - "name": "sd", - "codepoint": "F0479", - "aliases": [ - "sd-card", - "sd-storage" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "82C413A0-A055-4527-87B7-F977B6CD3F74", - "baseIconId": "82C413A0-A055-4527-87B7-F977B6CD3F74", - "name": "seal", - "codepoint": "F047A", - "aliases": [ - "ribbon", - "prize", - "award" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9B878309-6513-4C41-B2F5-B69D24F6024B", - "baseIconId": "82C413A0-A055-4527-87B7-F977B6CD3F74", - "name": "seal-variant", - "codepoint": "F0FD9", - "aliases": [ - "ribbon", - "prize", - "award" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Tarilonte" - }, - { - "id": "F6E7F332-1625-4A46-8E10-B6DEC4059E7E", - "baseIconId": "F6E7F332-1625-4A46-8E10-B6DEC4059E7E", - "name": "search-web", - "codepoint": "F070F", - "aliases": [ - "search-globe", - "global-search", - "internet-search" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "C9A796D6-1A7D-47AD-A036-B3B9035FBDA3", - "baseIconId": "C9A796D6-1A7D-47AD-A036-B3B9035FBDA3", - "name": "seat", - "codepoint": "F0CC3", - "aliases": [ - "event-seat", - "chair", - "chair-accent", - "home-theater", - "home-theatre" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "FDDF112E-DFF5-4D31-9821-69902F92E6CF", - "baseIconId": "FDDF112E-DFF5-4D31-9821-69902F92E6CF", - "name": "seat-flat", - "codepoint": "F047B", - "aliases": [ - "airline-seat-flat" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "22BC78FF-895C-497C-B6F0-143F60901C20", - "baseIconId": "FDDF112E-DFF5-4D31-9821-69902F92E6CF", - "name": "seat-flat-angled", - "codepoint": "F047C", - "aliases": [ - "airline-seat-flat-angled" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A8F9F185-D2AE-4DEE-845C-3C74801E2CD0", - "baseIconId": "A8F9F185-D2AE-4DEE-845C-3C74801E2CD0", - "name": "seat-individual-suite", - "codepoint": "F047D", - "aliases": [ - "airline-seat-individual-suite" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F73EE06A-6898-40A7-9B0E-784A4280C075", - "baseIconId": "1FC39B1E-567E-452C-B923-581F9A90F06D", - "name": "seat-legroom-extra", - "codepoint": "F047E", - "aliases": [ - "airline-seat-legroom-extra" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1FC39B1E-567E-452C-B923-581F9A90F06D", - "baseIconId": "1FC39B1E-567E-452C-B923-581F9A90F06D", - "name": "seat-legroom-normal", - "codepoint": "F047F", - "aliases": [ - "airline-seat-legroom-normal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4306743D-7833-44E7-88AB-659DD694C8B0", - "baseIconId": "1FC39B1E-567E-452C-B923-581F9A90F06D", - "name": "seat-legroom-reduced", - "codepoint": "F0480", - "aliases": [ - "airline-seat-legroom-reduced" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2F61EAD1-DF0E-4E90-8260-875EA5221F35", - "baseIconId": "C9A796D6-1A7D-47AD-A036-B3B9035FBDA3", - "name": "seat-outline", - "codepoint": "F0CC4", - "aliases": [ - "event-seat-outline", - "chair-outline", - "chair-accent-outline", - "home-theater", - "home-theatre" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "BF015C93-A5AD-47BF-9451-A9B5DFFAD50C", - "baseIconId": "BF015C93-A5AD-47BF-9451-A9B5DFFAD50C", - "name": "seat-passenger", - "codepoint": "F1249", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EB83D5D9-0439-476C-9BFD-04B5D6789940", - "baseIconId": "BF015C93-A5AD-47BF-9451-A9B5DFFAD50C", - "name": "seat-recline-extra", - "codepoint": "F0481", - "aliases": [ - "airline-seat-recline-extra" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B6642D7A-EE36-4C22-945E-88A218708CB6", - "baseIconId": "BF015C93-A5AD-47BF-9451-A9B5DFFAD50C", - "name": "seat-recline-normal", - "codepoint": "F0482", - "aliases": [ - "airline-seat-recline-normal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "00F06E5E-5A05-4D5E-9D07-0573CA62E0BA", - "baseIconId": "00F06E5E-5A05-4D5E-9D07-0573CA62E0BA", - "name": "seatbelt", - "codepoint": "F0CC5", - "aliases": [ - "seat-belt", - "safety-belt" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0C2F3617-9710-4265-AFB5-29C52AD2FBE0", - "baseIconId": "0C2F3617-9710-4265-AFB5-29C52AD2FBE0", - "name": "security", - "codepoint": "F0483", - "aliases": [ - "shield", - "uac", - "user-access-control", - "administrator" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C9FA8517-7CD1-4AB7-86AD-0A2BF1016466", - "baseIconId": "0C2F3617-9710-4265-AFB5-29C52AD2FBE0", - "name": "security-network", - "codepoint": "F0484", - "aliases": [ - "shield-network", - "uac-network", - "administrator-network" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "75A03574-02AA-4377-8DE3-86CBE77A0957", - "baseIconId": "75A03574-02AA-4377-8DE3-86CBE77A0957", - "name": "seed", - "codepoint": "F0E62", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "22CC568F-81CD-4DEA-A4E1-7DE207BD15F3", - "baseIconId": "75A03574-02AA-4377-8DE3-86CBE77A0957", - "name": "seed-off", - "codepoint": "F13FD", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Nature", - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "372ACCAF-E322-40AC-8CE9-1F2066D3BF97", - "baseIconId": "75A03574-02AA-4377-8DE3-86CBE77A0957", - "name": "seed-off-outline", - "codepoint": "F13FE", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Nature", - "Food \/ Drink", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "80AE8DF8-0E9B-4A56-B2EF-2CA1244D99D3", - "baseIconId": "75A03574-02AA-4377-8DE3-86CBE77A0957", - "name": "seed-outline", - "codepoint": "F0E63", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature", - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "06E48E27-F112-4D54-ABE4-95FB216A5DEB", - "baseIconId": "75A03574-02AA-4377-8DE3-86CBE77A0957", - "name": "seed-plus", - "codepoint": "F1A6D", - "aliases": [ - "seed-add" - ], - "styles": [ - "plus" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "01263D30-0B40-46AA-A17B-31EABA51DD48", - "baseIconId": "75A03574-02AA-4377-8DE3-86CBE77A0957", - "name": "seed-plus-outline", - "codepoint": "F1A6E", - "aliases": [ - "seed-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "B2FB9E28-A275-4BC8-AFD9-8A8D90153ED9", - "baseIconId": "B2FB9E28-A275-4BC8-AFD9-8A8D90153ED9", - "name": "seesaw", - "codepoint": "F15A4", - "aliases": [ - "playground-seesaw" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5AFE282B-CAE1-4D7F-A2BF-37E8655537DD", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "segment", - "codepoint": "F0ECB", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select", - "codepoint": "F0485", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7C2879B0-6BFE-42A3-9EDF-4A42AC3C9D70", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-all", - "codepoint": "F0486", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9CBEF68E-FE84-4690-A9E3-9505E496FF5F", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-arrow-down", - "codepoint": "F1B59", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Sintija" - }, - { - "id": "92D297D5-0F0F-4D37-A292-FCDA5D3F05C2", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-arrow-up", - "codepoint": "F1B58", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Sintija" - }, - { - "id": "8B757895-25B7-4C24-B6A2-7C71C9C12138", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-color", - "codepoint": "F0D31", - "aliases": [ - "select-colour" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Color" - ], - "author": "Google" - }, - { - "id": "4BC4C702-7484-4B80-95EB-F98125F1332D", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-compare", - "codepoint": "F0AD9", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BA35374B-03BB-421D-ABCD-5F8C4B492C4C", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-drag", - "codepoint": "F0A6C", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "FEDE670C-F1CD-493D-B201-0C0410DB04C8", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-group", - "codepoint": "F0F82", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DAA46B9D-9215-4BF8-BDA7-52E575817ABC", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-inverse", - "codepoint": "F0487", - "aliases": [ - "selection-invert" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "A312AB96-5A12-4223-AF67-7067653E17E5", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-marker", - "codepoint": "F1280", - "aliases": [ - "select-location" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Austin Andrews" - }, - { - "id": "1958E6ED-3D6C-4341-8F21-DDE80D030CEF", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-multiple", - "codepoint": "F1281", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0A8AB6EF-B388-4086-BF8D-1F0015ADC972", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-multiple-marker", - "codepoint": "F1282", - "aliases": [ - "select-multiple-location" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Austin Andrews" - }, - { - "id": "B2C462E1-44F0-456A-8A73-919DB480D978", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-off", - "codepoint": "F0488", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0090BCFA-124B-484B-BFA1-AA39413F0156", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-place", - "codepoint": "F0FDA", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1421D2ED-7592-4771-81F9-53A9EADFA95A", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-remove", - "codepoint": "F17C1", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "John Martini" - }, - { - "id": "5D558A02-EC98-47D7-AD04-D02E225AF4C6", - "baseIconId": "B350D031-599B-4BB7-9D21-EC955B7FEF43", - "name": "select-search", - "codepoint": "F1204", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection", - "codepoint": "F0489", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Doug C. Hardester" - }, - { - "id": "62E94CCE-BCD0-4DF3-9AFB-B14169345612", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-drag", - "codepoint": "F0A6D", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "F1A52E3C-0E56-48FA-ADC4-A20A6CE2E4DF", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-ellipse", - "codepoint": "F0D32", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "DD7E2731-0D5F-42EC-8F73-99DC2E80398C", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-ellipse-arrow-inside", - "codepoint": "F0F22", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "44145803-0893-44BE-9B63-8BC586FFCCAB", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-ellipse-remove", - "codepoint": "F17C2", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "John Martini" - }, - { - "id": "DA670815-123E-4443-B813-5BB4A556AB1C", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-marker", - "codepoint": "F1283", - "aliases": [ - "selection-location" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Austin Andrews" - }, - { - "id": "31DDE08D-A49D-4B2D-9D90-3E79FDDF49C9", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-multiple", - "codepoint": "F1285", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5B06BC81-DA70-41F2-B05C-31E9BD7F571E", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-multiple-marker", - "codepoint": "F1284", - "aliases": [ - "selection-multiple-location" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Austin Andrews" - }, - { - "id": "DE8BF55F-05A8-4CB8-86FC-63D6EAC57A6C", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-off", - "codepoint": "F0777", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "374F7C71-E33D-47CD-9A4E-898B853094C0", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-remove", - "codepoint": "F17C3", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "John Martini" - }, - { - "id": "2123E467-F48C-4AC6-8061-FEEB686ADB19", - "baseIconId": "33A5D3FF-E2A7-4E3A-95B5-86D4C6604911", - "name": "selection-search", - "codepoint": "F1205", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "43AB1D06-4033-4F02-8147-B692F4534174", - "baseIconId": "43AB1D06-4033-4F02-8147-B692F4534174", - "name": "semantic-web", - "codepoint": "F1316", - "aliases": [ - "rdf", - "resource-description-framework", - "owl", - "web-ontology-language", - "w3c" - ], - "styles": [], - "version": "4.8.95", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send", - "codepoint": "F048A", - "aliases": [ - "paper-airplane", - "paper-plane" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "688C66E3-B436-4900-83EF-ADCEBBEDE627", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-check", - "codepoint": "F1161", - "aliases": [], - "styles": [ - "check" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "0C6541E7-CC47-4FF5-BEB4-F261296D7DAD", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-check-outline", - "codepoint": "F1162", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "52E3C504-34AB-4EE5-954F-768B1044B2A6", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-circle", - "codepoint": "F0DF8", - "aliases": [], - "styles": [ - "circle" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "DE0BE96B-9A65-4B97-B3F3-67FBDF240B7A", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-circle-outline", - "codepoint": "F0DF9", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1225563F-5E41-4B85-8E01-FF53C5453B56", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-clock", - "codepoint": "F1163", - "aliases": [], - "styles": [ - "clock" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "281F054F-8F0A-4790-9165-154E297B9283", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-clock-outline", - "codepoint": "F1164", - "aliases": [], - "styles": [ - "clock", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "343A4B08-D77B-453B-A8A7-AF40D1A98DD2", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-lock", - "codepoint": "F07ED", - "aliases": [ - "send-secure" - ], - "styles": [ - "lock" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "23F855E5-3F55-48BA-8C2A-7FBA5EAE8CED", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-lock-outline", - "codepoint": "F1166", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B4F0331A-3E21-40C4-AED4-A28FD929AD21", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-outline", - "codepoint": "F1165", - "aliases": [ - "paper-airplane-outline", - "paper-plane-outline" - ], - "styles": [ - "outline" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "EBB8E627-2F7B-4B33-94C6-440DD5C293E4", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-variant", - "codepoint": "F1C4D", - "aliases": [ - "paper-plane-variant", - "paper-airplane-variant" - ], - "styles": [ - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7A3CAC77-82FE-4D6A-B1D4-2421193D6670", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-variant-clock", - "codepoint": "F1C7E", - "aliases": [], - "styles": [ - "clock", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "7113E063-4446-4BC0-9981-1959374B11E2", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-variant-clock-outline", - "codepoint": "F1C7F", - "aliases": [], - "styles": [ - "clock", - "outline", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "5F6A5994-FF0D-417E-9845-8BF18225CE3C", - "baseIconId": "6791A1E4-DBF8-471C-AA27-0D4540A23678", - "name": "send-variant-outline", - "codepoint": "F1C4E", - "aliases": [ - "paper-airplane-variant-outline", - "paper-plane-variant-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5D18BB49-3214-49C0-BD5C-B4581172C650", - "baseIconId": "5D18BB49-3214-49C0-BD5C-B4581172C650", - "name": "serial-port", - "codepoint": "F065C", - "aliases": [ - "vga" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server", - "codepoint": "F048B", - "aliases": [ - "storage" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "09F53FF1-31D7-44CA-A00E-8CDDF55DB716", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-minus", - "codepoint": "F048C", - "aliases": [ - "server-remove" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1BFB5C91-DDE1-4902-A46F-27E80C5502E3", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-minus-outline", - "codepoint": "F1C98", - "aliases": [ - "server-remove-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Kadensvw" - }, - { - "id": "21F268BE-CC44-49CE-B59A-121D073ADBA5", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-network", - "codepoint": "F048D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E01B3638-DE80-4D1E-93D1-1A0C5E9AFCF4", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-network-off", - "codepoint": "F048E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "273CC459-F7EC-4296-9436-7BD1A8F805DF", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-network-outline", - "codepoint": "F1C99", - "aliases": [], - "styles": [ - "network", - "outline" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Kadensvw" - }, - { - "id": "578A1213-5F0D-4C6B-A929-9157D126A9F8", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-off", - "codepoint": "F048F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "02EE1E63-F47D-4BFE-8B6B-C8CB6DED24D3", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-outline", - "codepoint": "F1C9A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Kadensvw" - }, - { - "id": "99AC1D59-A2F0-4B53-872D-0374D0804E0A", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-plus", - "codepoint": "F0490", - "aliases": [ - "server-add" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9F0E48B8-D7E7-40D9-A985-76FBDC113F4D", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-plus-outline", - "codepoint": "F1C9B", - "aliases": [ - "server-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Kadensvw" - }, - { - "id": "C7C1A659-403B-44E0-9EF5-94B5C722CAFD", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-remove", - "codepoint": "F0491", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E42A523C-D28D-4AAB-8A86-4816DD872B78", - "baseIconId": "692F85E2-79A8-4207-ACF7-DEC8D675BE38", - "name": "server-security", - "codepoint": "F0492", - "aliases": [ - "server-shield" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "501D1421-A50E-470A-A05B-87864461C4ED", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-all", - "codepoint": "F0778", - "aliases": [ - "set-union", - "set-or", - "full-outer-join", - "sql-full-outer-join" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "0267D77C-9968-45EF-87FC-CD3368D56383", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-center", - "codepoint": "F0779", - "aliases": [ - "set-centre", - "set-intersection", - "set-and", - "inner-join", - "sql-inner-join" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "614D2F8D-5170-4FE8-87C7-419903F205CB", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-center-right", - "codepoint": "F077A", - "aliases": [ - "set-centre-right", - "outer-join-right", - "sql-right-outer-join" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "FB4645C1-DF04-49E0-BA0B-7C02C87AF3A9", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-left", - "codepoint": "F077B", - "aliases": [ - "difference-left" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "9C04991C-6A68-4634-885F-A4D6E2816AFF", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-left-center", - "codepoint": "F077C", - "aliases": [ - "set-left-centre", - "outer-join-left", - "sql-left-outer-join" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "E1BE2EC4-D5D5-475C-A562-9855DA1612FB", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-left-right", - "codepoint": "F077D", - "aliases": [ - "exclusion", - "set-xor" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "414C136F-7BB5-47BB-BB58-136C5E1C2E5B", - "baseIconId": "414C136F-7BB5-47BB-BB58-136C5E1C2E5B", - "name": "set-merge", - "codepoint": "F14E0", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [], - "author": "s-ki" - }, - { - "id": "9674B809-B544-45E8-BBD8-4E8D9E1A966E", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-none", - "codepoint": "F077E", - "aliases": [ - "set-null", - "set-not", - "venn-diagram" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "27D4B799-E231-49DF-AB06-0201493C83E9", - "baseIconId": "501D1421-A50E-470A-A05B-87864461C4ED", - "name": "set-right", - "codepoint": "F077F", - "aliases": [ - "difference-right" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Database" - ], - "author": "Simran" - }, - { - "id": "7100DDA3-3A7A-4A02-A717-D33D1A170E41", - "baseIconId": "7100DDA3-3A7A-4A02-A717-D33D1A170E41", - "name": "set-split", - "codepoint": "F14E1", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [], - "author": "s-ki" - }, - { - "id": "C57170BC-B363-470F-B209-D713700B7C89", - "baseIconId": "C57170BC-B363-470F-B209-D713700B7C89", - "name": "set-square", - "codepoint": "F145D", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "944304C3-3513-4544-8DC2-B14307049311", - "baseIconId": "944304C3-3513-4544-8DC2-B14307049311", - "name": "set-top-box", - "codepoint": "F099F", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "6AE3B6F5-8896-4AED-A4B2-B1B021DE1DE9", - "baseIconId": "6AE3B6F5-8896-4AED-A4B2-B1B021DE1DE9", - "name": "settings-helper", - "codepoint": "F0A6E", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Peter Noble" - }, - { - "id": "4E49931C-2FF9-4957-942A-F2F0B8485E68", - "baseIconId": "4E49931C-2FF9-4957-942A-F2F0B8485E68", - "name": "shaker", - "codepoint": "F110E", - "aliases": [ - "pepper", - "fish-food" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1A2E13B0-421D-460F-87C2-63C1DEC6525A", - "baseIconId": "4E49931C-2FF9-4957-942A-F2F0B8485E68", - "name": "shaker-outline", - "codepoint": "F110F", - "aliases": [ - "salt", - "fish-food-outline" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B29246C8-6014-4019-8CCC-F803DBC0FA95", - "baseIconId": "B29246C8-6014-4019-8CCC-F803DBC0FA95", - "name": "shape", - "codepoint": "F0831", - "aliases": [ - "category", - "theme" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Google" - }, - { - "id": "C989421F-7F77-45D9-9BB4-97D3DE8C8FB4", - "baseIconId": "C989421F-7F77-45D9-9BB4-97D3DE8C8FB4", - "name": "shape-circle-plus", - "codepoint": "F065D", - "aliases": [ - "shape-circle-add" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Kai Faust" - }, - { - "id": "FC3A1E7D-F8CD-443E-A685-9C7F0FA9FC10", - "baseIconId": "B29246C8-6014-4019-8CCC-F803DBC0FA95", - "name": "shape-outline", - "codepoint": "F0832", - "aliases": [ - "theme-outline", - "category-outline" - ], - "styles": [ - "outline" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Google" - }, - { - "id": "CE4CFCD5-20D8-4248-A3E8-0B1EFDCC8EC4", - "baseIconId": "CE4CFCD5-20D8-4248-A3E8-0B1EFDCC8EC4", - "name": "shape-oval-plus", - "codepoint": "F11FA", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C91D9DCD-5ADA-4D48-857C-39D38CD37A6B", - "baseIconId": "C91D9DCD-5ADA-4D48-857C-39D38CD37A6B", - "name": "shape-plus", - "codepoint": "F0495", - "aliases": [ - "shape-add", - "category-plus" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "3800615A-AAC6-43C8-9ACD-F8C7A0910C07", - "baseIconId": "B29246C8-6014-4019-8CCC-F803DBC0FA95", - "name": "shape-plus-outline", - "codepoint": "F1C4F", - "aliases": [ - "shape-add-outline", - "category-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "CFE631FF-AAD1-49D9-BA22-84BAC90B8787", - "baseIconId": "CFE631FF-AAD1-49D9-BA22-84BAC90B8787", - "name": "shape-polygon-plus", - "codepoint": "F065E", - "aliases": [ - "shape-polygon-add" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Kai Faust" - }, - { - "id": "C92D4248-E908-4B39-A6D0-296E6FB5FFE1", - "baseIconId": "C92D4248-E908-4B39-A6D0-296E6FB5FFE1", - "name": "shape-rectangle-plus", - "codepoint": "F065F", - "aliases": [ - "shape-rectangle-add" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Kai Faust" - }, - { - "id": "56A31026-C5C6-45D5-A9D4-1C660357F430", - "baseIconId": "56A31026-C5C6-45D5-A9D4-1C660357F430", - "name": "shape-square-plus", - "codepoint": "F0660", - "aliases": [ - "shape-square-add" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Kai Faust" - }, - { - "id": "783621A3-B8D0-4340-BE29-0399B02EAE6B", - "baseIconId": "783621A3-B8D0-4340-BE29-0399B02EAE6B", - "name": "shape-square-rounded-plus", - "codepoint": "F14FA", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share", - "codepoint": "F0496", - "aliases": [ - "forward" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "3A9176D6-A724-4E82-9F8B-00CEEC8A9D64", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-all", - "codepoint": "F11F4", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "sergiocarlotto" - }, - { - "id": "E9397228-BC9E-4B65-9301-948CBB1D0905", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-all-outline", - "codepoint": "F11F5", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "sergiocarlotto" - }, - { - "id": "2381C112-2883-4B31-829E-D656430AB707", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-circle", - "codepoint": "F11AD", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8F694E89-2460-4790-820F-BCFA1A4CB660", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-off", - "codepoint": "F0F23", - "aliases": [ - "forward-off" - ], - "styles": [ - "off" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "GreenTurtwig" - }, - { - "id": "E65D2036-B0D1-4957-B114-A6FA6DFC67A5", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-off-outline", - "codepoint": "F0F24", - "aliases": [ - "forward-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "GreenTurtwig" - }, - { - "id": "B8DDA534-033E-42FF-9F81-62EC636DD3C6", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-outline", - "codepoint": "F0932", - "aliases": [ - "forward-outline" - ], - "styles": [ - "outline" - ], - "version": "2.3.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Nick" - }, - { - "id": "C25D5913-39C7-4215-B372-88F90EE2B6E5", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-variant", - "codepoint": "F0497", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "82009437-57EA-4B83-97A2-A6AA6F305CBE", - "baseIconId": "F0053E35-64B2-45D5-92D6-EE9F8A8839A1", - "name": "share-variant-outline", - "codepoint": "F1514", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4D7D5865-0AEE-40A3-9015-86661A60DA8C", - "baseIconId": "4D7D5865-0AEE-40A3-9015-86661A60DA8C", - "name": "shark", - "codepoint": "F18BA", - "aliases": [ - "jaws" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7A618386-2E3E-4B23-BF63-184B76C9CF61", - "baseIconId": "7A618386-2E3E-4B23-BF63-184B76C9CF61", - "name": "shark-fin", - "codepoint": "F1673", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "15736C41-B312-436C-B081-67F0C561A97A", - "baseIconId": "7A618386-2E3E-4B23-BF63-184B76C9CF61", - "name": "shark-fin-outline", - "codepoint": "F1674", - "aliases": [], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4CF1A54B-034F-4AB6-A3B2-6ED16E550261", - "baseIconId": "4D7D5865-0AEE-40A3-9015-86661A60DA8C", - "name": "shark-off", - "codepoint": "F18BB", - "aliases": [ - "jaws-off" - ], - "styles": [ - "off" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DEA01DF4-6FBD-45B7-AC58-CBF70545FBBA", - "baseIconId": "DEA01DF4-6FBD-45B7-AC58-CBF70545FBBA", - "name": "sheep", - "codepoint": "F0CC6", - "aliases": [ - "emoji-sheep", - "emoticon-sheep" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Animal", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield", - "codepoint": "F0498", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "CA71D276-C056-45E5-883E-B3D15868D859", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-account", - "codepoint": "F088F", - "aliases": [ - "security-account", - "shield-user", - "shield-person", - "alarm-arm-home" - ], - "styles": [ - "account" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Account \/ User", - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "E74ADD51-598F-4194-868C-3A9F7B62BCFA", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-account-outline", - "codepoint": "F0A12", - "aliases": [ - "security-account-outline", - "shield-user-outline", - "shield-person-outline", - "alarm-arm-home-outline" - ], - "styles": [ - "account", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Account \/ User", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "54FF705E-9453-4D1A-B2AC-1EB2F815F518", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-account-variant", - "codepoint": "F15A7", - "aliases": [], - "styles": [ - "account", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "8229B887-45A8-496A-9A8D-0140F438CB65", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-account-variant-outline", - "codepoint": "F15A8", - "aliases": [], - "styles": [ - "account", - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "B8FB8784-2E21-4D35-9DE8-95E8E2A42591", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-airplane", - "codepoint": "F06BB", - "aliases": [ - "shield-aeroplane", - "shield-plane", - "plane-shield" - ], - "styles": [ - "variant" - ], - "version": "1.7.22", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "GreenTurtwig" - }, - { - "id": "C14BAFFB-948A-45C3-ABFD-4F6215318D65", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-airplane-outline", - "codepoint": "F0CC7", - "aliases": [ - "shield-aeroplane-outline", - "shield-plane-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B5DC36AC-6F79-4CDE-B1CD-02F221BF8CE4", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-alert", - "codepoint": "F0ECC", - "aliases": [ - "shield-warning" - ], - "styles": [ - "alert" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Peter Noble" - }, - { - "id": "51584101-DF6C-49FF-8ACB-13F7064DEE89", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-alert-outline", - "codepoint": "F0ECD", - "aliases": [ - "shield-warning-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Peter Noble" - }, - { - "id": "1FB00AC4-94AE-4677-8F7F-0B6A47F7382C", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-bug", - "codepoint": "F13DA", - "aliases": [ - "antivirus" - ], - "styles": [ - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "DCD9B7FB-8730-4C65-8805-50B6B51A5EF7", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-bug-outline", - "codepoint": "F13DB", - "aliases": [ - "antivirus-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "MaksUr" - }, - { - "id": "2A7B43E0-4BA1-41EB-9040-F943AA9FD02C", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-car", - "codepoint": "F0F83", - "aliases": [ - "car-security", - "car-insurance" - ], - "styles": [ - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Nick" - }, - { - "id": "FC112FD8-5338-49C0-B4E0-FE1816A71E74", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-check", - "codepoint": "F0565", - "aliases": [ - "verified-user", - "shield-tick", - "verified" - ], - "styles": [ - "check" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Google" - }, - { - "id": "26E9DF2C-21C8-48FF-B402-733E33673C7E", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-check-outline", - "codepoint": "F0CC8", - "aliases": [ - "shield-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8D47ED6A-831A-49F2-8E43-67F16F8351E6", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-cross", - "codepoint": "F0CC9", - "aliases": [ - "shield-templar", - "shield-christianity" - ], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Religion" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6C722CF2-67CA-4CEC-9197-56C4F99D2866", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-cross-outline", - "codepoint": "F0CCA", - "aliases": [ - "shield-templar-outline", - "shield-christianity-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Religion" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E251CF58-8A10-4069-AB6C-CF9DD2383335", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-crown", - "codepoint": "F18BC", - "aliases": [ - "administrator" - ], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Miday" - }, - { - "id": "97DA53AC-FC83-467F-A814-752C981BFEDE", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-crown-outline", - "codepoint": "F18BD", - "aliases": [ - "administrator-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Miday" - }, - { - "id": "8CF352CF-2ED0-4DFB-ADCF-AD77FDA6DD25", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-edit", - "codepoint": "F11A0", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "F55E4962-5730-4735-B362-42FFB640F202", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-edit-outline", - "codepoint": "F11A1", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "DC82606F-2ABB-4C09-BAC5-1C3C4DA38BEC", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-half", - "codepoint": "F1360", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9E908727-9325-4FC6-B8B8-C5CA52A7A827", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-half-full", - "codepoint": "F0780", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "2A5A98F5-ED95-40DE-8EC5-1293795CF661", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-home", - "codepoint": "F068A", - "aliases": [ - "security-home", - "shield-house", - "alarm-arm-home" - ], - "styles": [ - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "4D4B922B-D9AA-47AC-8E02-33F88EC69B38", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-home-outline", - "codepoint": "F0CCB", - "aliases": [ - "shield-house-outline", - "alarm-arm-home" - ], - "styles": [ - "outline", - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9894EABF-10A1-4A07-BB4B-D94F596F5D6A", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-key", - "codepoint": "F0BC4", - "aliases": [], - "styles": [ - "key" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "90122FEA-99CC-4B64-BD21-E3DD8CB83948", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-key-outline", - "codepoint": "F0BC5", - "aliases": [], - "styles": [ - "key", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9F5D8008-32E1-4A90-B040-2C8AF2C00F81", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-link-variant", - "codepoint": "F0D33", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8A6D2649-CF2C-43AF-A90B-79B554B1385A", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-link-variant-outline", - "codepoint": "F0D34", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C2E5EBC9-F1AD-4D93-BA3F-C81E18411E09", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-lock", - "codepoint": "F099D", - "aliases": [ - "security-lock", - "alarm-arm-away" - ], - "styles": [ - "lock" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "5B854DDA-2B72-49FC-881D-E88ED51EA636", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-lock-open", - "codepoint": "F199A", - "aliases": [ - "shield-unlocked" - ], - "styles": [ - "lock", - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F9C92AC8-D26D-4AAD-8C34-22759EA2CA2D", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-lock-open-outline", - "codepoint": "F199B", - "aliases": [ - "shield-unlocked-outline" - ], - "styles": [ - "lock", - "outline", - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7F797AEE-648F-4FB8-BA7F-4EF60235A061", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-lock-outline", - "codepoint": "F0CCC", - "aliases": [ - "alarm-arm-away-outline", - "security-lock-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Lock", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "622FF7DE-FDD6-4831-9D3D-09157A5FC8AE", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-moon", - "codepoint": "F1828", - "aliases": [ - "alarm-arm-night" - ], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C70DD8EF-9F17-41E0-825C-C5AAC60DBF1E", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-moon-outline", - "codepoint": "F1829", - "aliases": [ - "alarm-arm-night-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BC537F52-4A49-433B-A031-5C698A234A35", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-off", - "codepoint": "F099E", - "aliases": [ - "security-off" - ], - "styles": [ - "off" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8ED2BB68-83C4-49BE-A730-1853C228781B", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-off-outline", - "codepoint": "F099C", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A8FF94DD-6BA5-4DBA-AE23-59BB22DD733B", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-outline", - "codepoint": "F0499", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "872F02FE-ABEF-4187-B6B2-87A548988EAA", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-plus", - "codepoint": "F0ADA", - "aliases": [ - "shield-add" - ], - "styles": [ - "plus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4348C9BA-B7EE-4DC9-9B75-102726C978F7", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-plus-outline", - "codepoint": "F0ADB", - "aliases": [ - "shield-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2E0E0624-1F5D-4998-B0F9-A957EC2ADD49", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-refresh", - "codepoint": "F00AA", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D3FD64E5-2836-4527-8861-29D53D101672", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-refresh-outline", - "codepoint": "F01E0", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F6E9D9DF-7266-4D03-BE3E-4F3B4612B77F", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-remove", - "codepoint": "F0ADC", - "aliases": [], - "styles": [ - "remove" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4C54DF65-6F23-4FEE-A579-C329A32192BA", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-remove-outline", - "codepoint": "F0ADD", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "89E736DC-2E57-413E-A044-40871A51CB72", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-search", - "codepoint": "F0D9A", - "aliases": [], - "styles": [ - "search" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "9C6B0512-02BF-4C33-ADAF-54D75B3AD2FB", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-star", - "codepoint": "F113B", - "aliases": [ - "badge", - "shield-favorite" - ], - "styles": [ - "star" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "122D14B5-1EB6-4ED3-8765-7C8A58D6071B", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-star-outline", - "codepoint": "F113C", - "aliases": [ - "badge-outline", - "shield-favorite-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "144E5B1F-A406-440D-B8B0-CC662F359D12", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-sun", - "codepoint": "F105D", - "aliases": [ - "sun-protection" - ], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Perth Totty" - }, - { - "id": "36B9C70C-5576-459A-AF44-A8E8F97B5DA8", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-sun-outline", - "codepoint": "F105E", - "aliases": [ - "sun-protection-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Perth Totty" - }, - { - "id": "614C104E-8424-4D0B-AAFB-3D35CCBDF291", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-sword", - "codepoint": "F18BE", - "aliases": [ - "moderator" - ], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Miday" - }, - { - "id": "3F8FADE9-864C-4B66-921A-A0DC30683E2A", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-sword-outline", - "codepoint": "F18BF", - "aliases": [ - "moderator-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Miday" - }, - { - "id": "AE87ED6F-DF56-449E-A3EF-D010AB6F4D17", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-sync", - "codepoint": "F11A2", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "55F6BCDE-A55A-4206-B079-1684F6E1FF0F", - "baseIconId": "A3709A80-3219-4E83-9D4F-EF74F31EEAAE", - "name": "shield-sync-outline", - "codepoint": "F11A3", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "C09567B5-B5C0-4C51-A246-0CA46C928F96", - "baseIconId": "C09567B5-B5C0-4C51-A246-0CA46C928F96", - "name": "shimmer", - "codepoint": "F1545", - "aliases": [ - "sparkles" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1F35A20C-CF6C-4C2A-9A72-82269F4ECCF7", - "baseIconId": "1F35A20C-CF6C-4C2A-9A72-82269F4ECCF7", - "name": "ship-wheel", - "codepoint": "F0833", - "aliases": [ - "voyager", - "helm" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Transportation + Water" - ], - "author": "Google" - }, - { - "id": "E5A72C59-D7AF-47F4-939E-F9F882E3F2FF", - "baseIconId": "E5A72C59-D7AF-47F4-939E-F9F882E3F2FF", - "name": "shipping-pallet", - "codepoint": "F184E", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "B5B68323-60DD-45BF-83FC-892B436D0400", - "baseIconId": "B5B68323-60DD-45BF-83FC-892B436D0400", - "name": "shoe-ballet", - "codepoint": "F15CA", - "aliases": [ - "slippers-ballet" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Sport", - "Clothing" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F6831C58-3C18-44F4-A2A8-4AD96444F012", - "baseIconId": "F6831C58-3C18-44F4-A2A8-4AD96444F012", - "name": "shoe-cleat", - "codepoint": "F15C7", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Sport", - "Clothing" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DFEA1FD2-F6A5-4670-83D6-9861A0FA272C", - "baseIconId": "DFEA1FD2-F6A5-4670-83D6-9861A0FA272C", - "name": "shoe-formal", - "codepoint": "F0B47", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "SarinManS" - }, - { - "id": "E97AD67E-DD75-4FD8-9E25-44F3042B4172", - "baseIconId": "E97AD67E-DD75-4FD8-9E25-44F3042B4172", - "name": "shoe-heel", - "codepoint": "F0B48", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "SarinManS" - }, - { - "id": "4008AB1C-4D92-4D8B-9423-5182FC505664", - "baseIconId": "4008AB1C-4D92-4D8B-9423-5182FC505664", - "name": "shoe-print", - "codepoint": "F0DFA", - "aliases": [ - "footprints" - ], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EA78AFA5-70F2-4878-A1D5-746B410E1DA0", - "baseIconId": "EA78AFA5-70F2-4878-A1D5-746B410E1DA0", - "name": "shoe-sneaker", - "codepoint": "F15C8", - "aliases": [ - "shoe-running" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Sport", - "Clothing" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7A5ED547-B142-4921-8050-647B2B9F4DC0", - "baseIconId": "7A5ED547-B142-4921-8050-647B2B9F4DC0", - "name": "shopping", - "codepoint": "F049A", - "aliases": [ - "local-mall", - "marketplace" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "E3FDDEB1-6D36-4E18-914E-06E2887E7D96", - "baseIconId": "7A5ED547-B142-4921-8050-647B2B9F4DC0", - "name": "shopping-music", - "codepoint": "F049B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Austin Andrews" - }, - { - "id": "EBE771F9-2EF2-41D9-AE7D-8FDBA1B4C684", - "baseIconId": "7A5ED547-B142-4921-8050-647B2B9F4DC0", - "name": "shopping-outline", - "codepoint": "F11D5", - "aliases": [ - "local-mall-outline", - "marketplace-outline" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Google" - }, - { - "id": "6FB38390-3C7C-423A-AC1C-691C3358E04B", - "baseIconId": "7A5ED547-B142-4921-8050-647B2B9F4DC0", - "name": "shopping-search", - "codepoint": "F0F84", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Michael Richins" - }, - { - "id": "68885584-9904-492E-AEC4-0FEC2C266F6E", - "baseIconId": "7A5ED547-B142-4921-8050-647B2B9F4DC0", - "name": "shopping-search-outline", - "codepoint": "F1A6F", - "aliases": [], - "styles": [ - "outline", - "search" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Shopping" - ], - "author": "Ken Gregory" - }, - { - "id": "9F0501F0-7F2C-4806-8AC4-F8D76AA194CD", - "baseIconId": "9F0501F0-7F2C-4806-8AC4-F8D76AA194CD", - "name": "shore", - "codepoint": "F14F9", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "16D35D19-90C2-42DD-9E83-8F47E21A53DF", - "baseIconId": "16D35D19-90C2-42DD-9E83-8F47E21A53DF", - "name": "shovel", - "codepoint": "F0710", - "aliases": [ - "gardening" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Richins" - }, - { - "id": "01E7F800-E769-4A3F-9A30-D1B8E96F617B", - "baseIconId": "16D35D19-90C2-42DD-9E83-8F47E21A53DF", - "name": "shovel-off", - "codepoint": "F0711", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Richins" - }, - { - "id": "1F29D513-0EFE-454A-B766-579A010C51B6", - "baseIconId": "1F29D513-0EFE-454A-B766-579A010C51B6", - "name": "shower", - "codepoint": "F09A0", - "aliases": [ - "bathtub", - "bathroom" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Augustin Ursu" - }, - { - "id": "F0E6B2EB-7E10-42C8-AEF1-84A461E1E2B3", - "baseIconId": "F0E6B2EB-7E10-42C8-AEF1-84A461E1E2B3", - "name": "shower-head", - "codepoint": "F09A1", - "aliases": [ - "bathroom" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Augustin Ursu" - }, - { - "id": "BCE4CF23-0A2B-430F-89C9-7597F1132919", - "baseIconId": "BCE4CF23-0A2B-430F-89C9-7597F1132919", - "name": "shredder", - "codepoint": "F049C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "99537665-2115-40D6-9725-0F4B4730C99A", - "baseIconId": "99537665-2115-40D6-9725-0F4B4730C99A", - "name": "shuffle", - "codepoint": "F049D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "DAA3B240-E394-46A8-83FE-6EE6712BF806", - "baseIconId": "DAA3B240-E394-46A8-83FE-6EE6712BF806", - "name": "shuffle-disabled", - "codepoint": "F049E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Simran" - }, - { - "id": "84D958BE-5145-4490-BA8F-D00E6870CC9D", - "baseIconId": "84D958BE-5145-4490-BA8F-D00E6870CC9D", - "name": "shuffle-variant", - "codepoint": "F049F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Simran" - }, - { - "id": "70BBF348-E5D1-4C4C-AD93-17246A78DE13", - "baseIconId": "70BBF348-E5D1-4C4C-AD93-17246A78DE13", - "name": "shuriken", - "codepoint": "F137F", - "aliases": [ - "ninja-star" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "AEA5AABF-3305-44A8-9E85-67F2351CB2E6", - "baseIconId": "AEA5AABF-3305-44A8-9E85-67F2351CB2E6", - "name": "sickle", - "codepoint": "F18C0", - "aliases": [], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "59A98F47-9067-492A-8454-42BEFA2391C1", - "baseIconId": "59A98F47-9067-492A-8454-42BEFA2391C1", - "name": "sigma", - "codepoint": "F04A0", - "aliases": [ - "summation" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Google" - }, - { - "id": "DD1EAF89-C6AC-4E61-BF78-93425B16DD24", - "baseIconId": "DD1EAF89-C6AC-4E61-BF78-93425B16DD24", - "name": "sigma-lower", - "codepoint": "F062B", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "159F7B23-A336-4F8C-A3BB-D8AB143D6661", - "baseIconId": "159F7B23-A336-4F8C-A3BB-D8AB143D6661", - "name": "sign-caution", - "codepoint": "F04A1", - "aliases": [ - "barrier" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "93E3355E-36F9-4B26-A337-C5F794D98941", - "baseIconId": "93E3355E-36F9-4B26-A337-C5F794D98941", - "name": "sign-direction", - "codepoint": "F0781", - "aliases": [ - "milestone" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "110700C4-EF32-4835-B9C6-ECE259438B80", - "baseIconId": "93E3355E-36F9-4B26-A337-C5F794D98941", - "name": "sign-direction-minus", - "codepoint": "F1000", - "aliases": [ - "milestone-minus" - ], - "styles": [ - "minus" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "298F86D9-24E7-4780-A891-1A7C36D65D77", - "baseIconId": "93E3355E-36F9-4B26-A337-C5F794D98941", - "name": "sign-direction-plus", - "codepoint": "F0FDC", - "aliases": [ - "milestone-plus", - "sign-direction-add", - "milestone-add" - ], - "styles": [ - "plus" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "93DA424E-0D38-4DD4-B06A-2E3D0754EEC0", - "baseIconId": "93E3355E-36F9-4B26-A337-C5F794D98941", - "name": "sign-direction-remove", - "codepoint": "F0FDD", - "aliases": [ - "milestone-remove" - ], - "styles": [ - "remove" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "7E8BA92D-403E-41B0-BA79-7E22E36ADFA8", - "baseIconId": "7E8BA92D-403E-41B0-BA79-7E22E36ADFA8", - "name": "sign-language", - "codepoint": "F1B4D", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8EA84803-C50A-463F-8061-606F0CBF08A8", - "baseIconId": "7E8BA92D-403E-41B0-BA79-7E22E36ADFA8", - "name": "sign-language-outline", - "codepoint": "F1B4E", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AE565EF0-BC09-44FB-B94A-A5F2CF2B2CB2", - "baseIconId": "AE565EF0-BC09-44FB-B94A-A5F2CF2B2CB2", - "name": "sign-pole", - "codepoint": "F14F8", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "A24BD314-F1AF-4BAF-A33B-F9BAD9D54089", - "baseIconId": "A24BD314-F1AF-4BAF-A33B-F9BAD9D54089", - "name": "sign-real-estate", - "codepoint": "F1118", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6AC6C6C2-8925-4ECC-BD95-6B961B2CD0A5", - "baseIconId": "6AC6C6C2-8925-4ECC-BD95-6B961B2CD0A5", - "name": "sign-text", - "codepoint": "F0782", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C325938C-B13A-47A1-BD51-7F6F34B6CE16", - "baseIconId": "C325938C-B13A-47A1-BD51-7F6F34B6CE16", - "name": "sign-yield", - "codepoint": "F1BAF", - "aliases": [ - "give-way" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7099FDF8-B653-4C49-BE2B-5B96147A709D", - "baseIconId": "7099FDF8-B653-4C49-BE2B-5B96147A709D", - "name": "signal", - "codepoint": "F04A2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Simran" - }, - { - "id": "C281EBBF-23FD-4F0A-8908-BFBA18F75FDD", - "baseIconId": "C281EBBF-23FD-4F0A-8908-BFBA18F75FDD", - "name": "signal-2g", - "codepoint": "F0712", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "F0ACC092-8F79-43C9-9F8F-72E41AE557F2", - "baseIconId": "F0ACC092-8F79-43C9-9F8F-72E41AE557F2", - "name": "signal-3g", - "codepoint": "F0713", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "7D633D1D-C265-4D2F-860E-43263B34A06F", - "baseIconId": "7D633D1D-C265-4D2F-860E-43263B34A06F", - "name": "signal-4g", - "codepoint": "F0714", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "5E2711B0-C417-434F-BE9A-F4FA6A666A56", - "baseIconId": "5E2711B0-C417-434F-BE9A-F4FA6A666A56", - "name": "signal-5g", - "codepoint": "F0A6F", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "F5CC42C0-FA38-488C-AD3F-DCF5329DFBB8", - "baseIconId": "7099FDF8-B653-4C49-BE2B-5B96147A709D", - "name": "signal-cellular-1", - "codepoint": "F08BC", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "5E21DB8A-BFFC-4038-8EBF-D3E462A43CD9", - "baseIconId": "7099FDF8-B653-4C49-BE2B-5B96147A709D", - "name": "signal-cellular-2", - "codepoint": "F08BD", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "85A2D38F-5AB3-430C-9794-032E991A4956", - "baseIconId": "7099FDF8-B653-4C49-BE2B-5B96147A709D", - "name": "signal-cellular-3", - "codepoint": "F08BE", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "AA11AD00-4A6D-4D7F-911C-137CDDCF34B6", - "baseIconId": "7099FDF8-B653-4C49-BE2B-5B96147A709D", - "name": "signal-cellular-outline", - "codepoint": "F08BF", - "aliases": [ - "signal-cellular-0" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Richins" - }, - { - "id": "D0767E67-DC33-4B2B-9715-7408FD4F502D", - "baseIconId": "F4D628E8-ADAA-48B7-9ED2-83560FF4583F", - "name": "signal-distance-variant", - "codepoint": "F0E64", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "A960C38F-7EFE-4FE6-94AB-C7B0CD07DD50", - "baseIconId": "A960C38F-7EFE-4FE6-94AB-C7B0CD07DD50", - "name": "signal-hspa", - "codepoint": "F0715", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "CDCB7012-AD69-4B80-A64E-FDA1375271AD", - "baseIconId": "A960C38F-7EFE-4FE6-94AB-C7B0CD07DD50", - "name": "signal-hspa-plus", - "codepoint": "F0716", - "aliases": [], - "styles": [ - "plus" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "9DAFE242-BF4B-43F8-8A6E-89EBB0EEDCAA", - "baseIconId": "9DAFE242-BF4B-43F8-8A6E-89EBB0EEDCAA", - "name": "signal-off", - "codepoint": "F0783", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "GreenTurtwig" - }, - { - "id": "F4D628E8-ADAA-48B7-9ED2-83560FF4583F", - "baseIconId": "7099FDF8-B653-4C49-BE2B-5B96147A709D", - "name": "signal-variant", - "codepoint": "F060A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "CA1E5FB5-D8FA-4B61-9C96-988F6829C4F5", - "baseIconId": "CA1E5FB5-D8FA-4B61-9C96-988F6829C4F5", - "name": "signature", - "codepoint": "F0DFB", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4DD4EB10-012B-4A70-8C9A-256B3F575BD5", - "baseIconId": "CA1E5FB5-D8FA-4B61-9C96-988F6829C4F5", - "name": "signature-freehand", - "codepoint": "F0DFC", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3A24A33E-C173-4E3C-8D8B-BA7E7E3E093A", - "baseIconId": "CA1E5FB5-D8FA-4B61-9C96-988F6829C4F5", - "name": "signature-image", - "codepoint": "F0DFD", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "70DE882E-E115-42F9-A023-FBEE394DA396", - "baseIconId": "CA1E5FB5-D8FA-4B61-9C96-988F6829C4F5", - "name": "signature-text", - "codepoint": "F0DFE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Form" - ], - "author": "Michael Irigoyen" - }, - { - "id": "120915C9-09F2-48A5-99FE-6BF045917A56", - "baseIconId": "120915C9-09F2-48A5-99FE-6BF045917A56", - "name": "silo", - "codepoint": "F1B9F", - "aliases": [ - "farm" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "73A40E8E-7F62-454C-BFD9-A10796BA4A0A", - "baseIconId": "73A40E8E-7F62-454C-BFD9-A10796BA4A0A", - "name": "silo-outline", - "codepoint": "F0B49", - "aliases": [ - "farm-outline" - ], - "styles": [ - "outline" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Benjamin Watson" - }, - { - "id": "F7C26535-863F-4295-9E48-9847B740FEE7", - "baseIconId": "F7C26535-863F-4295-9E48-9847B740FEE7", - "name": "silverware", - "codepoint": "F04A3", - "aliases": [ - "local-dining", - "restaurant-menu", - "local-restaurant", - "cutlery" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "57F11CAE-4E4B-4406-A5A8-2F5A283ABF99", - "baseIconId": "F7C26535-863F-4295-9E48-9847B740FEE7", - "name": "silverware-clean", - "codepoint": "F0FDE", - "aliases": [ - "silverware-shimmer", - "cutlery-clean" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Simran" - }, - { - "id": "7B00A99C-3766-4939-993F-657333EE430B", - "baseIconId": "7B00A99C-3766-4939-993F-657333EE430B", - "name": "silverware-fork", - "codepoint": "F04A4", - "aliases": [ - "cutlery-fork" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "C3D19BD6-D474-4F86-94AA-1A4B04FE8E3A", - "baseIconId": "C3D19BD6-D474-4F86-94AA-1A4B04FE8E3A", - "name": "silverware-fork-knife", - "codepoint": "F0A70", - "aliases": [ - "restaurant", - "fortnite", - "cutlery-fork-knife", - "place-setting" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "5FCBB812-F381-4E83-B60E-E126992910FB", - "baseIconId": "5FCBB812-F381-4E83-B60E-E126992910FB", - "name": "silverware-spoon", - "codepoint": "F04A5", - "aliases": [ - "cutlery-spoon" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "A91FC6E1-2613-41E7-A8CA-58740B3322DA", - "baseIconId": "F7C26535-863F-4295-9E48-9847B740FEE7", - "name": "silverware-variant", - "codepoint": "F04A6", - "aliases": [ - "cutlery-variant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Places" - ], - "author": "Austin Andrews" - }, - { - "id": "93020F21-A0FE-427D-8685-B74EE39B9921", - "baseIconId": "93020F21-A0FE-427D-8685-B74EE39B9921", - "name": "sim", - "codepoint": "F04A7", - "aliases": [ - "sim-card", - "subscriber-identity-module", - "subscriber-identification-module" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "43CD286A-D183-474F-9B8A-93D43A355117", - "baseIconId": "93020F21-A0FE-427D-8685-B74EE39B9921", - "name": "sim-alert", - "codepoint": "F04A8", - "aliases": [ - "sim-warning", - "sim-card-alert" - ], - "styles": [ - "alert" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "23E2DADA-D539-422C-B925-9DCB1445B344", - "baseIconId": "93020F21-A0FE-427D-8685-B74EE39B9921", - "name": "sim-alert-outline", - "codepoint": "F15D3", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "65B6C060-C1A9-4049-A6B6-FEAC02A899D3", - "baseIconId": "93020F21-A0FE-427D-8685-B74EE39B9921", - "name": "sim-off", - "codepoint": "F04A9", - "aliases": [ - "signal-cellular-no-sim" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "D7CAB5D9-2494-4528-B45E-A8EA49EA8262", - "baseIconId": "93020F21-A0FE-427D-8685-B74EE39B9921", - "name": "sim-off-outline", - "codepoint": "F15D4", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C886D757-3CAE-4BAF-9F51-0747142FC508", - "baseIconId": "93020F21-A0FE-427D-8685-B74EE39B9921", - "name": "sim-outline", - "codepoint": "F15D5", - "aliases": [ - "sim-card-outline", - "subscriber-identity-module-outline", - "subscriber-identification-module-outline" - ], - "styles": [ - "outline" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A062A6A1-E475-41CD-AFB2-283199B67CC8", - "baseIconId": "A062A6A1-E475-41CD-AFB2-283199B67CC8", - "name": "simple-icons", - "codepoint": "F131D", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2AA993E0-4C1C-4993-84E6-D0BA0AC89EB0", - "baseIconId": "2AA993E0-4C1C-4993-84E6-D0BA0AC89EB0", - "name": "sina-weibo", - "codepoint": "F0ADF", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2099C23C-E6F6-4C9B-AA3C-49A693E73E2E", - "baseIconId": "2099C23C-E6F6-4C9B-AA3C-49A693E73E2E", - "name": "sine-wave", - "codepoint": "F095B", - "aliases": [ - "alternating-current", - "current-ac", - "wave", - "analog", - "frequency", - "amplitude" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Nick" - }, - { - "id": "673CE0A7-8AA2-4BFD-9308-B51589FBF520", - "baseIconId": "673CE0A7-8AA2-4BFD-9308-B51589FBF520", - "name": "sitemap", - "codepoint": "F04AA", - "aliases": [ - "workflow", - "flowchart" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "34B0F8F6-2E20-4B64-B683-2B1789140CA9", - "baseIconId": "673CE0A7-8AA2-4BFD-9308-B51589FBF520", - "name": "sitemap-outline", - "codepoint": "F199C", - "aliases": [ - "workflow-outline", - "flowchart-outline" - ], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "81D1F53A-2A63-4C9A-9CA9-547E68BB1329", - "baseIconId": "81D1F53A-2A63-4C9A-9CA9-547E68BB1329", - "name": "size-l", - "codepoint": "F13A6", - "aliases": [ - "size-large" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D0FECA65-0432-4231-AFA5-EDD331188CD6", - "baseIconId": "D0FECA65-0432-4231-AFA5-EDD331188CD6", - "name": "size-m", - "codepoint": "F13A5", - "aliases": [ - "size-medium" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "AE5079DB-D7D6-4F38-85C1-FAE6CDF14CC2", - "baseIconId": "AE5079DB-D7D6-4F38-85C1-FAE6CDF14CC2", - "name": "size-s", - "codepoint": "F13A4", - "aliases": [ - "size-small" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E7FCE878-E3CA-4EF8-B0B5-D926ACE33122", - "baseIconId": "E7FCE878-E3CA-4EF8-B0B5-D926ACE33122", - "name": "size-xl", - "codepoint": "F13A7", - "aliases": [ - "size-extra-large" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D0173A61-33D3-43A2-8DB3-2E95EEEF7D7E", - "baseIconId": "D0173A61-33D3-43A2-8DB3-2E95EEEF7D7E", - "name": "size-xs", - "codepoint": "F13A3", - "aliases": [ - "size-extra-small" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5E24686F-4675-4E74-93B4-DA7886270F3B", - "baseIconId": "5E24686F-4675-4E74-93B4-DA7886270F3B", - "name": "size-xxl", - "codepoint": "F13A8", - "aliases": [ - "size-extra-extra-large" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "97AAC6A1-8F86-49CD-AAE2-3F9CFDDCBD82", - "baseIconId": "97AAC6A1-8F86-49CD-AAE2-3F9CFDDCBD82", - "name": "size-xxs", - "codepoint": "F13A2", - "aliases": [ - "size-extra-extra-small" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "3B3E6BCE-E0D1-4A4E-B720-D73C03C88C64", - "baseIconId": "3B3E6BCE-E0D1-4A4E-B720-D73C03C88C64", - "name": "size-xxxl", - "codepoint": "F13A9", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "CB0C6DC2-0A4E-41C8-9E6A-9A8531F754CF", - "baseIconId": "CB0C6DC2-0A4E-41C8-9E6A-9A8531F754CF", - "name": "skate", - "codepoint": "F0D35", - "aliases": [ - "ice-skate" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "092B5CD3-BB99-492C-9784-4BE71B0C7F5B", - "baseIconId": "CB0C6DC2-0A4E-41C8-9E6A-9A8531F754CF", - "name": "skate-off", - "codepoint": "F0699", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "56BF6222-BEC1-44B6-845C-AD6F84552D90", - "baseIconId": "56BF6222-BEC1-44B6-845C-AD6F84552D90", - "name": "skateboard", - "codepoint": "F14C2", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "47F1C290-ED78-4459-B33C-6E2ACC867CC6", - "baseIconId": "47F1C290-ED78-4459-B33C-6E2ACC867CC6", - "name": "skateboarding", - "codepoint": "F0501", - "aliases": [ - "human-skateboarding" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "43E5E22F-AEEB-406D-BEF3-898BE3C91FC1", - "baseIconId": "6F54CAE0-D2B7-4E00-83AA-0B98A7601CF6", - "name": "skew-less", - "codepoint": "F0D36", - "aliases": [ - "skew-decrease" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D84076D2-8C7C-4CD7-98EA-05108B10FF1A", - "baseIconId": "6F54CAE0-D2B7-4E00-83AA-0B98A7601CF6", - "name": "skew-more", - "codepoint": "F0D37", - "aliases": [ - "skew-increase" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "197B0D1A-34DB-4FD7-825B-FFE5C28297BB", - "baseIconId": "197B0D1A-34DB-4FD7-825B-FFE5C28297BB", - "name": "ski", - "codepoint": "F1304", - "aliases": [ - "human-ski" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "BD9C05A6-55EA-4F72-A216-85F990F65EDA", - "baseIconId": "BD9C05A6-55EA-4F72-A216-85F990F65EDA", - "name": "ski-cross-country", - "codepoint": "F1305", - "aliases": [ - "nordic-walking", - "human-ski-cross-country" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "51D8DB1F-FA7C-4527-AD8E-495024CD4E2D", - "baseIconId": "51D8DB1F-FA7C-4527-AD8E-495024CD4E2D", - "name": "ski-water", - "codepoint": "F1306", - "aliases": [ - "human-ski-water" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family", - "Transportation + Water" - ], - "author": "Michael Irigoyen" - }, - { - "id": "45260E4C-E8EB-4E35-85A8-F19A91FE1A2C", - "baseIconId": "45260E4C-E8EB-4E35-85A8-F19A91FE1A2C", - "name": "skip-backward", - "codepoint": "F04AB", - "aliases": [ - "title-backward", - "previous-title" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "22E55747-AE80-4DE9-8BC8-10B61C69F161", - "baseIconId": "45260E4C-E8EB-4E35-85A8-F19A91FE1A2C", - "name": "skip-backward-outline", - "codepoint": "F0F25", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "760EA0AB-7906-4FA4-86E0-CD18A4073302", - "baseIconId": "760EA0AB-7906-4FA4-86E0-CD18A4073302", - "name": "skip-forward", - "codepoint": "F04AC", - "aliases": [ - "title-forward", - "next-title" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "1EB18C03-3143-42C6-ACA9-D62086DA371D", - "baseIconId": "760EA0AB-7906-4FA4-86E0-CD18A4073302", - "name": "skip-forward-outline", - "codepoint": "F0F26", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D2F19A25-4EF4-41A7-A91A-C03C77E32186", - "baseIconId": "D2F19A25-4EF4-41A7-A91A-C03C77E32186", - "name": "skip-next", - "codepoint": "F04AD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "0D688B5D-27F8-47CF-9234-87DB3F25D28E", - "baseIconId": "D2F19A25-4EF4-41A7-A91A-C03C77E32186", - "name": "skip-next-circle", - "codepoint": "F0661", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "5AE3DE91-B2E8-48DD-A170-1F26E391F830", - "baseIconId": "D2F19A25-4EF4-41A7-A91A-C03C77E32186", - "name": "skip-next-circle-outline", - "codepoint": "F0662", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "FB14BE1B-5BAD-44CD-9E68-CABE4A79F527", - "baseIconId": "D2F19A25-4EF4-41A7-A91A-C03C77E32186", - "name": "skip-next-outline", - "codepoint": "F0F27", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8D8B924F-0AD5-4458-9BCE-0A5887D935B6", - "baseIconId": "8D8B924F-0AD5-4458-9BCE-0A5887D935B6", - "name": "skip-previous", - "codepoint": "F04AE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "3584845F-971C-45BB-8184-CFEBE0044474", - "baseIconId": "8D8B924F-0AD5-4458-9BCE-0A5887D935B6", - "name": "skip-previous-circle", - "codepoint": "F0663", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "FF83529F-FAA5-4FAD-9EE8-9F9A74409F93", - "baseIconId": "8D8B924F-0AD5-4458-9BCE-0A5887D935B6", - "name": "skip-previous-circle-outline", - "codepoint": "F0664", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "F1415D50-592B-4480-94D6-1FA82CDBA7B9", - "baseIconId": "8D8B924F-0AD5-4458-9BCE-0A5887D935B6", - "name": "skip-previous-outline", - "codepoint": "F0F28", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "AD1B00BA-C98D-4961-A444-9484EF434BEC", - "baseIconId": "AD1B00BA-C98D-4961-A444-9484EF434BEC", - "name": "skull", - "codepoint": "F068C", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Holiday", - "Gaming \/ RPG" - ], - "author": "Haley Halcyon" - }, - { - "id": "C85F31B5-3C18-480D-B3A6-7F4FB7095273", - "baseIconId": "C85F31B5-3C18-480D-B3A6-7F4FB7095273", - "name": "skull-crossbones", - "codepoint": "F0BC6", - "aliases": [ - "jolly-roger" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5DBA18AE-EED4-4F73-A0FD-ACC5E731A70C", - "baseIconId": "C85F31B5-3C18-480D-B3A6-7F4FB7095273", - "name": "skull-crossbones-outline", - "codepoint": "F0BC7", - "aliases": [ - "jolly-roger-outline" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Holiday" - ], - "author": "Michael Irigoyen" - }, - { - "id": "31E17B6D-1AD2-43C5-9FF3-6A8D2FA32C17", - "baseIconId": "AD1B00BA-C98D-4961-A444-9484EF434BEC", - "name": "skull-outline", - "codepoint": "F0BC8", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Holiday", - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3FF20BCB-0BFF-4F46-ABE9-954C8F2EB154", - "baseIconId": "AD1B00BA-C98D-4961-A444-9484EF434BEC", - "name": "skull-scan", - "codepoint": "F14C7", - "aliases": [ - "x-ray", - "radiology" - ], - "styles": [ - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Simran" - }, - { - "id": "FFA72D4C-C2EE-4492-B556-95C873FF1677", - "baseIconId": "AD1B00BA-C98D-4961-A444-9484EF434BEC", - "name": "skull-scan-outline", - "codepoint": "F14C8", - "aliases": [ - "x-ray-outline", - "radiology-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "07E9D89D-2D58-40C6-9D41-49722CFC0DAE", - "baseIconId": "07E9D89D-2D58-40C6-9D41-49722CFC0DAE", - "name": "skype", - "codepoint": "F04AF", - "aliases": [ - "microsoft-skype" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "813333B0-4A34-4AC6-819C-0FBEABC06246", - "baseIconId": "07E9D89D-2D58-40C6-9D41-49722CFC0DAE", - "name": "skype-business", - "codepoint": "F04B0", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "EA0E061F-B48E-4443-BBE8-6080C2258730", - "baseIconId": "EA0E061F-B48E-4443-BBE8-6080C2258730", - "name": "slack", - "codepoint": "F04B1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "355F6D86-E6B6-4EA4-91BA-95370240E9CF", - "baseIconId": "355F6D86-E6B6-4EA4-91BA-95370240E9CF", - "name": "slash-forward", - "codepoint": "F0FDF", - "aliases": [ - "divide", - "division" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D6A5CF49-38A9-4911-ACAC-FF9A09BBEC76", - "baseIconId": "355F6D86-E6B6-4EA4-91BA-95370240E9CF", - "name": "slash-forward-box", - "codepoint": "F0FE0", - "aliases": [ - "divide-box", - "division-box" - ], - "styles": [ - "box" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E67044BA-8025-4D61-916C-56DF4D6FFE6D", - "baseIconId": "E67044BA-8025-4D61-916C-56DF4D6FFE6D", - "name": "sledding", - "codepoint": "F041B", - "aliases": [ - "human-sledding" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "C9CF20D8-55F4-4997-8019-F8056ED86702", - "baseIconId": "C9CF20D8-55F4-4997-8019-F8056ED86702", - "name": "sleep", - "codepoint": "F04B2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0801B02C-2187-40D1-8A03-D521D0214662", - "baseIconId": "C9CF20D8-55F4-4997-8019-F8056ED86702", - "name": "sleep-off", - "codepoint": "F04B3", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "799D9561-AC12-4E30-8CA8-2FBF9E5597B8", - "baseIconId": "799D9561-AC12-4E30-8CA8-2FBF9E5597B8", - "name": "slide", - "codepoint": "F15A5", - "aliases": [ - "playground-slide" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "34D7190A-2B00-4B61-9A55-1E97E6F962A5", - "baseIconId": "99641F5F-1036-4092-B230-C1CBC7E6A746", - "name": "slope-downhill", - "codepoint": "F0DFF", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "99641F5F-1036-4092-B230-C1CBC7E6A746", - "baseIconId": "99641F5F-1036-4092-B230-C1CBC7E6A746", - "name": "slope-uphill", - "codepoint": "F0E00", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8DAEB736-3A62-475D-81A5-47BD881EA912", - "baseIconId": "8DAEB736-3A62-475D-81A5-47BD881EA912", - "name": "slot-machine", - "codepoint": "F1114", - "aliases": [ - "casino", - "gambling" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5A083823-77FD-4C5E-98B8-EF320E8493CD", - "baseIconId": "8DAEB736-3A62-475D-81A5-47BD881EA912", - "name": "slot-machine-outline", - "codepoint": "F1115", - "aliases": [ - "casino-outline", - "gambling-outline" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "9682A6D2-A7FA-47BF-A94E-6CDEC8B55446", - "baseIconId": "9682A6D2-A7FA-47BF-A94E-6CDEC8B55446", - "name": "smart-card", - "codepoint": "F10BD", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "4A41F4FC-7E7C-4EA6-80F7-61274B13CBF4", - "baseIconId": "9682A6D2-A7FA-47BF-A94E-6CDEC8B55446", - "name": "smart-card-off", - "codepoint": "F18F7", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8DB35D1C-0F5C-4E09-BB38-45B6F57943B4", - "baseIconId": "9682A6D2-A7FA-47BF-A94E-6CDEC8B55446", - "name": "smart-card-off-outline", - "codepoint": "F18F8", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D5EED689-19F3-4198-9A00-27C6DAE518E7", - "baseIconId": "9682A6D2-A7FA-47BF-A94E-6CDEC8B55446", - "name": "smart-card-outline", - "codepoint": "F10BE", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "143C16AD-B22C-4E1D-915D-3FE9C962DD2F", - "baseIconId": "9682A6D2-A7FA-47BF-A94E-6CDEC8B55446", - "name": "smart-card-reader", - "codepoint": "F10BF", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "FCC195C4-2DB3-45DE-B9D2-4535A63EDB0E", - "baseIconId": "9682A6D2-A7FA-47BF-A94E-6CDEC8B55446", - "name": "smart-card-reader-outline", - "codepoint": "F10C0", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Richins" - }, - { - "id": "FD344F98-3CED-4CDD-88FF-8A21A1DFDE47", - "baseIconId": "FD344F98-3CED-4CDD-88FF-8A21A1DFDE47", - "name": "smog", - "codepoint": "F0A71", - "aliases": [], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "EE8752CF-6D3B-4D58-AFD4-1868AAA30933", - "baseIconId": "EE8752CF-6D3B-4D58-AFD4-1868AAA30933", - "name": "smoke", - "codepoint": "F1799", - "aliases": [ - "smog", - "fire" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector", - "codepoint": "F0392", - "aliases": [ - "nest-protect", - "subwoofer" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "1BF163FB-02C8-4CE6-98AA-87EFBA04294D", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-alert", - "codepoint": "F192E", - "aliases": [], - "styles": [ - "alert" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "60E74F0E-5537-4021-8223-BAD2B0130463", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-alert-outline", - "codepoint": "F192F", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E523AF46-986A-4E8F-9662-45C61A70A887", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-off", - "codepoint": "F1809", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "50719FA7-F144-4C4E-9A1E-DF4F431B117C", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-off-outline", - "codepoint": "F180A", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D1429C1F-766F-4F96-B784-15E6C3ECC588", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-outline", - "codepoint": "F1808", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "99D5165C-0609-4349-9046-E3180B32E684", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-variant", - "codepoint": "F180B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1159B2CB-5BF1-4DB6-AC9D-80CEA88FC227", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-variant-alert", - "codepoint": "F1930", - "aliases": [], - "styles": [ - "alert", - "variant" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C3D42E4D-5DBB-4E57-AF01-4D8E948F050E", - "baseIconId": "1DDC71A0-A86A-4E8F-BF1D-CD33C0B0BEA4", - "name": "smoke-detector-variant-off", - "codepoint": "F180C", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "20A9F2BB-C53E-410E-A433-4CEE2305AD49", - "baseIconId": "20A9F2BB-C53E-410E-A433-4CEE2305AD49", - "name": "smoking", - "codepoint": "F04B4", - "aliases": [ - "cigarette", - "smoking-area", - "smoking-rooms" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Google" - }, - { - "id": "5F974B83-AEEC-4C52-B281-1A8663B70027", - "baseIconId": "20A9F2BB-C53E-410E-A433-4CEE2305AD49", - "name": "smoking-off", - "codepoint": "F04B5", - "aliases": [ - "no-smoking", - "cigarette-off", - "smoke-free" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8F75261A-E650-4B58-84AE-C805677DCC44", - "baseIconId": "8F75261A-E650-4B58-84AE-C805677DCC44", - "name": "smoking-pipe", - "codepoint": "F140D", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Haley Halcyon" - }, - { - "id": "D43EF949-5B56-488A-91AE-1B19CDE64ED8", - "baseIconId": "8F75261A-E650-4B58-84AE-C805677DCC44", - "name": "smoking-pipe-off", - "codepoint": "F1428", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "529CCAF2-D35F-4A40-BEF2-213159AE5DD9", - "baseIconId": "529CCAF2-D35F-4A40-BEF2-213159AE5DD9", - "name": "snail", - "codepoint": "F1677", - "aliases": [ - "gastropod" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C525609F-8CAF-40A8-A3FC-724F6C699E0A", - "baseIconId": "C525609F-8CAF-40A8-A3FC-724F6C699E0A", - "name": "snake", - "codepoint": "F150E", - "aliases": [ - "reptile" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6DA57C23-2ADA-4CA1-8D1D-AFBBFA59C4FA", - "baseIconId": "6DA57C23-2ADA-4CA1-8D1D-AFBBFA59C4FA", - "name": "snapchat", - "codepoint": "F04B6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C2A03E16-166E-4FAA-A5DB-462CE38C44FE", - "baseIconId": "C2A03E16-166E-4FAA-A5DB-462CE38C44FE", - "name": "snowboard", - "codepoint": "F1307", - "aliases": [ - "human-snowboard" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "baseIconId": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "name": "snowflake", - "codepoint": "F0717", - "aliases": [ - "power-hibernate" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Weather", - "Holiday", - "Automotive" - ], - "author": "Google" - }, - { - "id": "5F856EA3-F987-439D-AAFF-ED545ECBBA75", - "baseIconId": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "name": "snowflake-alert", - "codepoint": "F0F29", - "aliases": [ - "cold-alert", - "snow-advisory", - "freeze-advisory" - ], - "styles": [ - "alert" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Alert \/ Error", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F489E6B1-12CD-4847-B039-8577751B2DFE", - "baseIconId": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "name": "snowflake-check", - "codepoint": "F1A70", - "aliases": [ - "snowflake-approve" - ], - "styles": [ - "check" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "017BAEB6-E5B4-4BEF-8CA3-D0ABA689DE2C", - "baseIconId": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "name": "snowflake-melt", - "codepoint": "F12CB", - "aliases": [ - "defrost" - ], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C80A9F84-F736-4E92-8D93-05F9F72D32B8", - "baseIconId": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "name": "snowflake-off", - "codepoint": "F14E3", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C9E4ABED-D38C-45EC-9340-C6C8ADAD1CDF", - "baseIconId": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "name": "snowflake-thermometer", - "codepoint": "F1A71", - "aliases": [ - "frost-point", - "freezing-point", - "snowflake-temperature" - ], - "styles": [ - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "50B6D484-E7DC-4B88-9981-9C962C9A9EB6", - "baseIconId": "5675A747-D467-473E-9A1D-1C61E1B5C619", - "name": "snowflake-variant", - "codepoint": "F0F2A", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Holiday", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "06497E01-D87F-479B-90DC-B4E33497C8D8", - "baseIconId": "06497E01-D87F-479B-90DC-B4E33497C8D8", - "name": "snowman", - "codepoint": "F04B7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "A4C7D4DF-2B1F-424B-9502-6618F88C9A65", - "baseIconId": "A4C7D4DF-2B1F-424B-9502-6618F88C9A65", - "name": "snowmobile", - "codepoint": "F06DD", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Sport" - ], - "author": "Google" - }, - { - "id": "D9F59FE2-7B27-4B54-8935-AC2A83CE084B", - "baseIconId": "D9F59FE2-7B27-4B54-8935-AC2A83CE084B", - "name": "snowshoeing", - "codepoint": "F1A72", - "aliases": [], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "B4AFB6A4-C315-4B06-AE4D-AC633F3ED0A7", - "baseIconId": "B4AFB6A4-C315-4B06-AE4D-AC633F3ED0A7", - "name": "soccer", - "codepoint": "F04B8", - "aliases": [ - "football" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "C24D4262-700B-46E1-82C1-01449C16205E", - "baseIconId": "C24D4262-700B-46E1-82C1-01449C16205E", - "name": "soccer-field", - "codepoint": "F0834", - "aliases": [ - "football-pitch" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "GreenTurtwig" - }, - { - "id": "D6384EF6-9386-4287-BE34-7038841AABD5", - "baseIconId": "D6384EF6-9386-4287-BE34-7038841AABD5", - "name": "social-distance-2-meters", - "codepoint": "F1579", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "59F69A6A-5DB4-4938-A90A-B186655409C5", - "baseIconId": "59F69A6A-5DB4-4938-A90A-B186655409C5", - "name": "social-distance-6-feet", - "codepoint": "F157A", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Google" - }, - { - "id": "5560ABF9-E635-4D73-A39B-5404443F099F", - "baseIconId": "5560ABF9-E635-4D73-A39B-5404443F099F", - "name": "sofa", - "codepoint": "F04B9", - "aliases": [ - "couch", - "living-room", - "family-room" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "37B31F21-3190-4E2D-A824-C5CC4FF66493", - "baseIconId": "5560ABF9-E635-4D73-A39B-5404443F099F", - "name": "sofa-outline", - "codepoint": "F156D", - "aliases": [ - "couch-outline", - "living-room-outline", - "family-room-outline" - ], - "styles": [ - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "61A9F431-1946-4F8F-9DB4-19E75151D397", - "baseIconId": "5560ABF9-E635-4D73-A39B-5404443F099F", - "name": "sofa-single", - "codepoint": "F156E", - "aliases": [ - "loveseat", - "love-seat", - "couch", - "chair-accent", - "living-room", - "family-room" - ], - "styles": [ - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C4595FA1-E495-4BFE-900A-A1D764B6019E", - "baseIconId": "5560ABF9-E635-4D73-A39B-5404443F099F", - "name": "sofa-single-outline", - "codepoint": "F156F", - "aliases": [ - "loveseat-outline", - "love-seat-outline", - "couch-outline", - "chair-accent-outline", - "living-room-outline", - "family-room-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "46CD8278-94CE-46F4-B2A5-01D4595E48A0", - "baseIconId": "46CD8278-94CE-46F4-B2A5-01D4595E48A0", - "name": "solar-panel", - "codepoint": "F0D9B", - "aliases": [ - "solar-energy", - "solar-electricity" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Kristian Mohl" - }, - { - "id": "13BD6DBE-90E0-42A0-8FE6-A168974483CA", - "baseIconId": "46CD8278-94CE-46F4-B2A5-01D4595E48A0", - "name": "solar-panel-large", - "codepoint": "F0D9C", - "aliases": [ - "solar-panel-energy", - "solar-panel-electricity" - ], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Kristian Mohl" - }, - { - "id": "727F32FC-051B-43FE-9888-4616927AE828", - "baseIconId": "727F32FC-051B-43FE-9888-4616927AE828", - "name": "solar-power", - "codepoint": "F0A72", - "aliases": [ - "solar-energy", - "solar-electricity" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "9A0563D4-0CEB-4F7F-8CA2-27606F24603F", - "baseIconId": "727F32FC-051B-43FE-9888-4616927AE828", - "name": "solar-power-variant", - "codepoint": "F1A73", - "aliases": [ - "solar-energy", - "solar-electricity" - ], - "styles": [ - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "3EF2EC63-DBE4-4825-9AFD-5567C0A081E2", - "baseIconId": "727F32FC-051B-43FE-9888-4616927AE828", - "name": "solar-power-variant-outline", - "codepoint": "F1A74", - "aliases": [ - "solar-energy-outline", - "solar-electricity-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "4A90CB52-2637-4E5D-8333-467DD85B36F6", - "baseIconId": "4A90CB52-2637-4E5D-8333-467DD85B36F6", - "name": "soldering-iron", - "codepoint": "F1092", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "F0E0017F-DD8C-4811-9428-613238CA66A4", - "baseIconId": "F0E0017F-DD8C-4811-9428-613238CA66A4", - "name": "solid", - "codepoint": "F068D", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "FF92F5A9-DE89-4E7D-BCAB-98920EA96FFE", - "baseIconId": "FF92F5A9-DE89-4E7D-BCAB-98920EA96FFE", - "name": "sony-playstation", - "codepoint": "F0414", - "aliases": [ - "sony-playstation", - "playstation-network" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort", - "codepoint": "F04BA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "496476A3-F614-4925-90E6-3BB83C1C4E37", - "baseIconId": "496476A3-F614-4925-90E6-3BB83C1C4E37", - "name": "sort-alphabetical-ascending", - "codepoint": "F05BD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "96571AB7-B3D4-4A76-ADE0-47D931FF1F0A", - "baseIconId": "496476A3-F614-4925-90E6-3BB83C1C4E37", - "name": "sort-alphabetical-ascending-variant", - "codepoint": "F1148", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Samuele Dassatti" - }, - { - "id": "7F545D3A-5E66-42D4-88AB-8A2BD817D731", - "baseIconId": "496476A3-F614-4925-90E6-3BB83C1C4E37", - "name": "sort-alphabetical-descending", - "codepoint": "F05BF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "D4F8234D-4EE3-4825-861E-C46E8FE6F438", - "baseIconId": "496476A3-F614-4925-90E6-3BB83C1C4E37", - "name": "sort-alphabetical-descending-variant", - "codepoint": "F1149", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Samuele Dassatti" - }, - { - "id": "C2687EF2-6AEB-48BC-98E5-9A010C6E2BE7", - "baseIconId": "496476A3-F614-4925-90E6-3BB83C1C4E37", - "name": "sort-alphabetical-variant", - "codepoint": "F04BB", - "aliases": [ - "sort-by-alpha", - "sort-alphabetically" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "F36D1111-54BF-4BB8-AE34-DE4809105551", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-ascending", - "codepoint": "F04BC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "BDB3C0CD-D017-4895-82AD-41FEE4351FA6", - "baseIconId": "BDB3C0CD-D017-4895-82AD-41FEE4351FA6", - "name": "sort-bool-ascending", - "codepoint": "F1385", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "9F0F11BF-8F55-45CD-B185-7C8BC278954C", - "baseIconId": "BDB3C0CD-D017-4895-82AD-41FEE4351FA6", - "name": "sort-bool-ascending-variant", - "codepoint": "F1386", - "aliases": [ - "sort-checkbox-ascending" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "36E782AF-0396-45C7-B5C2-61FB37C01E2F", - "baseIconId": "BDB3C0CD-D017-4895-82AD-41FEE4351FA6", - "name": "sort-bool-descending", - "codepoint": "F1387", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "549371B9-36F9-45E7-918A-72EEB98F9572", - "baseIconId": "BDB3C0CD-D017-4895-82AD-41FEE4351FA6", - "name": "sort-bool-descending-variant", - "codepoint": "F1388", - "aliases": [ - "sort-checkbox-descending" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "87CE4E85-7911-415C-89AB-133A2AB8BC57", - "baseIconId": "87CE4E85-7911-415C-89AB-133A2AB8BC57", - "name": "sort-calendar-ascending", - "codepoint": "F1547", - "aliases": [ - "sort-date-ascending" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "D01B3C7C-64DC-4486-A656-55F7024C96AA", - "baseIconId": "87CE4E85-7911-415C-89AB-133A2AB8BC57", - "name": "sort-calendar-descending", - "codepoint": "F1548", - "aliases": [ - "sort-date-descending" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "2A4F548A-F4C1-48F2-BFB1-A6A1ACB794A6", - "baseIconId": "2A4F548A-F4C1-48F2-BFB1-A6A1ACB794A6", - "name": "sort-clock-ascending", - "codepoint": "F1549", - "aliases": [ - "sort-time-ascending" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "85579FDA-7E54-483B-B1DD-A1920DFBEED6", - "baseIconId": "2A4F548A-F4C1-48F2-BFB1-A6A1ACB794A6", - "name": "sort-clock-ascending-outline", - "codepoint": "F154A", - "aliases": [ - "sort-time-ascending-outline" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8064DE58-939A-4179-A65E-0F5FA4AD6A18", - "baseIconId": "2A4F548A-F4C1-48F2-BFB1-A6A1ACB794A6", - "name": "sort-clock-descending", - "codepoint": "F154B", - "aliases": [ - "sort-time-descending" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B574E857-7AE0-493E-82E1-36DC10882508", - "baseIconId": "2A4F548A-F4C1-48F2-BFB1-A6A1ACB794A6", - "name": "sort-clock-descending-outline", - "codepoint": "F154C", - "aliases": [ - "sort-time-descending-outline" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F0028BDF-0589-400F-8596-100CCB029D6E", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-descending", - "codepoint": "F04BD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "68CF5B27-ACB2-468B-BD75-1DAE92A7D242", - "baseIconId": "68CF5B27-ACB2-468B-BD75-1DAE92A7D242", - "name": "sort-numeric-ascending", - "codepoint": "F1389", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "D3472197-9E32-440B-9F56-E84F2D35C657", - "baseIconId": "68CF5B27-ACB2-468B-BD75-1DAE92A7D242", - "name": "sort-numeric-ascending-variant", - "codepoint": "F090D", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E0ABC4A1-3840-48EF-82F8-BFF825D02F64", - "baseIconId": "68CF5B27-ACB2-468B-BD75-1DAE92A7D242", - "name": "sort-numeric-descending", - "codepoint": "F138A", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "frankgrinaert" - }, - { - "id": "618ED59F-832C-4DA8-A8F6-421CC6A10305", - "baseIconId": "68CF5B27-ACB2-468B-BD75-1DAE92A7D242", - "name": "sort-numeric-descending-variant", - "codepoint": "F0AD2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2CD8E0F3-0AF4-4BBD-B1C8-EEF6391F62C3", - "baseIconId": "68CF5B27-ACB2-468B-BD75-1DAE92A7D242", - "name": "sort-numeric-variant", - "codepoint": "F04BE", - "aliases": [ - "sort-numerically" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "A00FD3F3-01E7-489E-AB22-66F3B94AF6C0", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-reverse-variant", - "codepoint": "F033C", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Simran" - }, - { - "id": "9E32B54D-9759-4233-B358-C00A11300713", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-variant", - "codepoint": "F04BF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "450895A4-8BFF-4F63-A567-2010226F7464", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-variant-lock", - "codepoint": "F0CCD", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Lock" - ], - "author": "Christopher Schreiner" - }, - { - "id": "30DC202C-F695-4A76-B3BB-293BCC995A6E", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-variant-lock-open", - "codepoint": "F0CCE", - "aliases": [], - "styles": [ - "lock" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Lock" - ], - "author": "Christopher Schreiner" - }, - { - "id": "9F5F2EFA-5AED-4914-9ADC-3C2C7EC60386", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-variant-off", - "codepoint": "F1ABB", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "51D1A98E-7CD7-4BD7-88C9-333B5435C580", - "baseIconId": "3052FDE9-791A-43E8-ACF4-A5EB7DF8296F", - "name": "sort-variant-remove", - "codepoint": "F1147", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1A5FBE33-5A69-4ED4-8A33-416EFA9B24CD", - "baseIconId": "1A5FBE33-5A69-4ED4-8A33-416EFA9B24CD", - "name": "soundbar", - "codepoint": "F17DB", - "aliases": [ - "speaker-bar" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "5952089F-872D-454C-AD1F-18B205938245", - "baseIconId": "5952089F-872D-454C-AD1F-18B205938245", - "name": "soundcloud", - "codepoint": "F04C0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-branch", - "codepoint": "F062C", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "66701C6C-D1D4-42FF-AA03-74C3F4E65AC1", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-branch-check", - "codepoint": "F14CF", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "288DC509-ABA1-436D-8D8D-F54FEE2DA4B8", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-branch-minus", - "codepoint": "F14CB", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D5EAA72B-6FF0-4520-8207-A7E3E47B35F5", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-branch-plus", - "codepoint": "F14CA", - "aliases": [], - "styles": [ - "plus" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "58A72E01-DBCC-4C66-AAFE-FB37845FB50E", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-branch-refresh", - "codepoint": "F14CD", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EB47CC8C-8EF2-4FE2-9530-2360C26378B6", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-branch-remove", - "codepoint": "F14CC", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0A420930-2315-468C-B639-0D7E96D6937A", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-branch-sync", - "codepoint": "F14CE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "baseIconId": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "name": "source-commit", - "codepoint": "F0718", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Case Sandberg" - }, - { - "id": "5558E497-77AD-48F4-9456-E6D6B4CA991B", - "baseIconId": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "name": "source-commit-end", - "codepoint": "F0719", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Case Sandberg" - }, - { - "id": "5681B6C8-CC7F-42B0-9B6F-B53D9A72D12F", - "baseIconId": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "name": "source-commit-end-local", - "codepoint": "F071A", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Case Sandberg" - }, - { - "id": "DF889541-FEF0-42C0-BF6E-E29D4503C3FB", - "baseIconId": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "name": "source-commit-local", - "codepoint": "F071B", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Case Sandberg" - }, - { - "id": "42A5B80B-C7A6-42F4-8437-458F504B7AF5", - "baseIconId": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "name": "source-commit-next-local", - "codepoint": "F071C", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Case Sandberg" - }, - { - "id": "6647D5DC-4BF4-47FB-9B11-F1ABB94B3769", - "baseIconId": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "name": "source-commit-start", - "codepoint": "F071D", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Case Sandberg" - }, - { - "id": "64F8200C-7866-46A6-9E8B-1CAF621517CC", - "baseIconId": "B0400135-C84A-47D8-AD30-B6BD8292E6A4", - "name": "source-commit-start-next-local", - "codepoint": "F071E", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Case Sandberg" - }, - { - "id": "F2A480EB-B06A-4472-88B9-C881754675FE", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-fork", - "codepoint": "F04C1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "C4A094D6-A68C-41F8-A2EC-C87997DACE70", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-merge", - "codepoint": "F062D", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "6555FD23-E5EE-4F40-91CF-B72476ADED54", - "baseIconId": "AADA1B60-0161-4417-9726-75AFB5C7AC31", - "name": "source-pull", - "codepoint": "F04C2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "1D318024-029E-4654-A318-6647D265CDD9", - "baseIconId": "1D318024-029E-4654-A318-6647D265CDD9", - "name": "source-repository", - "codepoint": "F0CCF", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "16D37AE7-409E-48A5-BE24-9DCBA0792FD7", - "baseIconId": "1D318024-029E-4654-A318-6647D265CDD9", - "name": "source-repository-multiple", - "codepoint": "F0CD0", - "aliases": [ - "source-repositories" - ], - "styles": [ - "multiple" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "62A5E551-73E0-4C84-89E4-C0F34BDACEFA", - "baseIconId": "62A5E551-73E0-4C84-89E4-C0F34BDACEFA", - "name": "soy-sauce", - "codepoint": "F07EE", - "aliases": [ - "soya-sauce" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Colton Wiscombe" - }, - { - "id": "31D89882-A6D2-4E79-B441-582B1497C3D2", - "baseIconId": "62A5E551-73E0-4C84-89E4-C0F34BDACEFA", - "name": "soy-sauce-off", - "codepoint": "F13FC", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "84F00C86-0380-4554-B142-286C3B80BA3A", - "baseIconId": "84F00C86-0380-4554-B142-286C3B80BA3A", - "name": "spa", - "codepoint": "F0CD1", - "aliases": [ - "flower-lotus", - "plant" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "B0D344FE-8924-48EF-BFBA-93DB1C77DFD1", - "baseIconId": "84F00C86-0380-4554-B142-286C3B80BA3A", - "name": "spa-outline", - "codepoint": "F0CD2", - "aliases": [ - "flower-lotus-outline", - "plant" - ], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "0C50BCF5-076C-4DBB-BBFC-8B74B3CC64E7", - "baseIconId": "0C50BCF5-076C-4DBB-BBFC-8B74B3CC64E7", - "name": "space-invaders", - "codepoint": "F0BC9", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "0F961F30-F687-4232-98E7-C27F2FC64293", - "baseIconId": "0F961F30-F687-4232-98E7-C27F2FC64293", - "name": "space-station", - "codepoint": "F1383", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "nilsfast" - }, - { - "id": "7D15FB8A-6AD7-47C9-93AD-4E968C39CDBF", - "baseIconId": "16D35D19-90C2-42DD-9E83-8F47E21A53DF", - "name": "spade", - "codepoint": "F0E65", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "GreenTurtwig" - }, - { - "id": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker", - "codepoint": "F04C3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "E9F560A8-FFD9-44CD-8736-00C627756591", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-bluetooth", - "codepoint": "F09A2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "GreenTurtwig" - }, - { - "id": "57CDD6CF-360C-4B79-B9D3-1AADC9B969AD", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-message", - "codepoint": "F1B11", - "aliases": [ - "text-to-speech" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Audio" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6CBEB113-DF44-4DCE-A490-5AAD4766CE28", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-multiple", - "codepoint": "F0D38", - "aliases": [ - "speakers" - ], - "styles": [ - "multiple" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Michael Richins" - }, - { - "id": "9B55ECCE-270B-4A52-9A96-80BEECAD1E0B", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-off", - "codepoint": "F04C4", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "2B755A5C-4AC3-4077-9D11-29DC807BBEBA", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-pause", - "codepoint": "F1B73", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CB32FC8E-E6ED-4CAB-A92B-2F922EF02AD8", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-play", - "codepoint": "F1B72", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8B5A1E60-E54F-4416-AB60-6138113BBFA7", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-stop", - "codepoint": "F1B74", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Audio", - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F9EA980F-2C75-48DE-9D56-9A15CFE52865", - "baseIconId": "43C37FC5-E271-40FA-BB50-C139DDD5B15B", - "name": "speaker-wireless", - "codepoint": "F071F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "B8B83A21-D267-47BD-868F-BECB081CEC1C", - "baseIconId": "B8B83A21-D267-47BD-868F-BECB081CEC1C", - "name": "spear", - "codepoint": "F1845", - "aliases": [ - "staff", - "fishing" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F0EE6F6A-2B43-4880-8DC9-6E7515B3BEDE", - "baseIconId": "F0EE6F6A-2B43-4880-8DC9-6E7515B3BEDE", - "name": "speedometer", - "codepoint": "F04C5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "86833899-057F-4099-AF77-0EECD2BAE698", - "baseIconId": "F0EE6F6A-2B43-4880-8DC9-6E7515B3BEDE", - "name": "speedometer-medium", - "codepoint": "F0F85", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "9500D7AF-3917-41AB-8694-94FABA5F94ED", - "baseIconId": "F0EE6F6A-2B43-4880-8DC9-6E7515B3BEDE", - "name": "speedometer-slow", - "codepoint": "F0F86", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "GreenTurtwig" - }, - { - "id": "72253002-9545-40A4-95A4-49401269B553", - "baseIconId": "72253002-9545-40A4-95A4-49401269B553", - "name": "spellcheck", - "codepoint": "F04C6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C599941B-1EE8-44E8-8FE9-D8AD503BB57B", - "baseIconId": "C599941B-1EE8-44E8-8FE9-D8AD503BB57B", - "name": "sphere", - "codepoint": "F1954", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9E6A501E-659C-4C6B-8ADE-4BF61DAADDD2", - "baseIconId": "C599941B-1EE8-44E8-8FE9-D8AD503BB57B", - "name": "sphere-off", - "codepoint": "F1955", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BCDD4A6F-3064-4FF3-9172-0BBF8BED2D2C", - "baseIconId": "BCDD4A6F-3064-4FF3-9172-0BBF8BED2D2C", - "name": "spider", - "codepoint": "F11EA", - "aliases": [ - "arachnid", - "bug" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Holiday", - "Nature", - "Animal" - ], - "author": "Michael Richins" - }, - { - "id": "52BB8EB9-6227-4EFD-BEFF-F20BE1670AEC", - "baseIconId": "BCDD4A6F-3064-4FF3-9172-0BBF8BED2D2C", - "name": "spider-outline", - "codepoint": "F1C75", - "aliases": [ - "arachnid-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Animal", - "Holiday", - "Nature" - ], - "author": "Jeff Anders" - }, - { - "id": "1F613123-9D4B-4C5A-84FB-F6B804BBFB21", - "baseIconId": "1F613123-9D4B-4C5A-84FB-F6B804BBFB21", - "name": "spider-thread", - "codepoint": "F11EB", - "aliases": [ - "arachnid-thread", - "bug" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Holiday", - "Nature", - "Animal" - ], - "author": "Michael Richins" - }, - { - "id": "8464C75D-EA57-4E89-80E9-BE6A48793809", - "baseIconId": "8464C75D-EA57-4E89-80E9-BE6A48793809", - "name": "spider-web", - "codepoint": "F0BCA", - "aliases": [ - "cobweb", - "arachnid-web" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "B647E730-0D7E-4F13-A051-74D92C2A6F0A", - "baseIconId": "B647E730-0D7E-4F13-A051-74D92C2A6F0A", - "name": "spirit-level", - "codepoint": "F14F1", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D68EF8DE-C9F5-47FB-BCD4-C0DD4D7FCBFD", - "baseIconId": "D68EF8DE-C9F5-47FB-BCD4-C0DD4D7FCBFD", - "name": "spoon-sugar", - "codepoint": "F1429", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "51C1DE39-1C25-49B7-A295-DD13B874C48B", - "baseIconId": "51C1DE39-1C25-49B7-A295-DD13B874C48B", - "name": "spotify", - "codepoint": "F04C7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A4956491-730F-4BC9-A6C1-03AF3C54C134", - "baseIconId": "A4956491-730F-4BC9-A6C1-03AF3C54C134", - "name": "spotlight", - "codepoint": "F04C8", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "13AE04D2-BB67-4CA4-89F6-11C88C2A217E", - "baseIconId": "A4956491-730F-4BC9-A6C1-03AF3C54C134", - "name": "spotlight-beam", - "codepoint": "F04C9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "0CDAFE95-E28B-4A8D-9634-C6BBB99EE598", - "baseIconId": "0CDAFE95-E28B-4A8D-9634-C6BBB99EE598", - "name": "spray", - "codepoint": "F0665", - "aliases": [ - "paint", - "aerosol" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Agriculture", - "Drawing \/ Art", - "Color" - ], - "author": "Austin Andrews" - }, - { - "id": "997059BA-96F4-456C-8B53-8355521AE536", - "baseIconId": "997059BA-96F4-456C-8B53-8355521AE536", - "name": "spray-bottle", - "codepoint": "F0AE0", - "aliases": [ - "cleaning" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "3B348D41-66D2-4CC7-894A-1C2E9EE64C7F", - "baseIconId": "3B348D41-66D2-4CC7-894A-1C2E9EE64C7F", - "name": "sprinkler", - "codepoint": "F105F", - "aliases": [ - "irrigation" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "ECE05EC2-192B-4450-A0CB-78249EC9140A", - "baseIconId": "ECE05EC2-192B-4450-A0CB-78249EC9140A", - "name": "sprinkler-fire", - "codepoint": "F199D", - "aliases": [ - "sprinkler-mist", - "mister", - "sprinkler-head" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4CE94553-ECA2-4C72-B66B-EEE5106F1438", - "baseIconId": "3B348D41-66D2-4CC7-894A-1C2E9EE64C7F", - "name": "sprinkler-variant", - "codepoint": "F1060", - "aliases": [ - "irrigation" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "58F40CA4-567A-42EF-A5D9-DD6A1BB42437", - "baseIconId": "58F40CA4-567A-42EF-A5D9-DD6A1BB42437", - "name": "sprout", - "codepoint": "F0E66", - "aliases": [ - "seedling", - "plant", - "ecology", - "environment" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DDE9D3A4-FF81-4182-8FEE-3A0DD30F88F8", - "baseIconId": "58F40CA4-567A-42EF-A5D9-DD6A1BB42437", - "name": "sprout-outline", - "codepoint": "F0E67", - "aliases": [ - "seedling-outline", - "plant-outline", - "ecology-outline", - "environment-outline" - ], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Agriculture", - "Nature" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square", - "codepoint": "F0764", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "F49668FC-6B0F-43E9-BB4E-044C3C9229AA", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-circle", - "codepoint": "F1500", - "aliases": [ - "vegetarian", - "lacto-vegetarian" - ], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "30192641-5B4D-4197-AEA1-499E250481FA", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-circle-outline", - "codepoint": "F1C50", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "22469E65-F1CB-408D-B6B5-1E599A85E368", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-edit-outline", - "codepoint": "F090C", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "GreenTurtwig" - }, - { - "id": "0267FB77-EB23-41D4-92B4-FF65796BDF40", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-medium", - "codepoint": "F0A13", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1EC70A02-36D5-4C3B-A721-018653864C6D", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-medium-outline", - "codepoint": "F0A14", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "19F3DC9F-4861-4220-944C-8BE8D543902B", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-off", - "codepoint": "F12EE", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "32823532-5FAC-4894-8577-EAED930DE4C2", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-off-outline", - "codepoint": "F12EF", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6F9AA4F8-ECC6-495E-87C0-84DCE1327F4D", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-opacity", - "codepoint": "F1854", - "aliases": [ - "square-transparent" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Drawing \/ Art", - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5ED659B5-F175-445F-950D-0B4DDAB3F8B3", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-outline", - "codepoint": "F0763", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Austin Andrews" - }, - { - "id": "D0835CDD-0255-4A0D-B86F-DAB300C5ADCC", - "baseIconId": "D0835CDD-0255-4A0D-B86F-DAB300C5ADCC", - "name": "square-root", - "codepoint": "F0784", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Austin Andrews" - }, - { - "id": "4DD48496-5BE6-4866-A298-1D9D399651B0", - "baseIconId": "D0835CDD-0255-4A0D-B86F-DAB300C5ADCC", - "name": "square-root-box", - "codepoint": "F09A3", - "aliases": [], - "styles": [ - "box" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "56B32490-2AEB-4EF7-B0F8-72D918829BE2", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-rounded", - "codepoint": "F14FB", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "D8486DF6-E4E4-4EAF-B362-8A9FD1CF27C3", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-rounded-badge", - "codepoint": "F1A07", - "aliases": [ - "app-badge", - "push-notification" - ], - "styles": [ - "badge" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Shape", - "Notification" - ], - "author": "Jeff Anders" - }, - { - "id": "336D96D3-5E97-434B-BEF7-651BF94FA347", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-rounded-badge-outline", - "codepoint": "F1A08", - "aliases": [ - "app-badge-outline", - "push-notification-outline" - ], - "styles": [ - "badge", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Shape", - "Notification" - ], - "author": "Jeff Anders" - }, - { - "id": "9E46259E-F519-4CCA-BE7E-0DAC8230B3A4", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-rounded-outline", - "codepoint": "F14FC", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "E4490267-ACAE-4E86-8747-8D2D620DC707", - "baseIconId": "5659F8EC-377D-41D2-AB3A-52DC40815DC7", - "name": "square-small", - "codepoint": "F0A15", - "aliases": [ - "bullet" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "F55F6161-5EE4-4168-881C-A50E671AC25F", - "baseIconId": "F55F6161-5EE4-4168-881C-A50E671AC25F", - "name": "square-wave", - "codepoint": "F147B", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Haley Halcyon" - }, - { - "id": "363A0CD3-194D-4F7F-9287-82B8D565B064", - "baseIconId": "363A0CD3-194D-4F7F-9287-82B8D565B064", - "name": "squeegee", - "codepoint": "F0AE1", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "EC87D6AA-77FC-462A-82AC-715550CD98AB", - "baseIconId": "EC87D6AA-77FC-462A-82AC-715550CD98AB", - "name": "ssh", - "codepoint": "F08C0", - "aliases": [], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "D76A8752-ED97-4E90-95EC-B1D6E81ABA9E", - "baseIconId": "D76A8752-ED97-4E90-95EC-B1D6E81ABA9E", - "name": "stack-exchange", - "codepoint": "F060B", - "aliases": [ - "stackexchange" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "72E7037B-1C3B-44BB-A9EC-FC2D6B3EA745", - "baseIconId": "72E7037B-1C3B-44BB-A9EC-FC2D6B3EA745", - "name": "stack-overflow", - "codepoint": "F04CC", - "aliases": [ - "stackoverflow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "7FB125A0-875A-4766-BFAF-02CC45226530", - "baseIconId": "7FB125A0-875A-4766-BFAF-02CC45226530", - "name": "stackpath", - "codepoint": "F0359", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "5FDB24B6-FF16-4575-A794-E5CCEB95CC81", - "baseIconId": "5FDB24B6-FF16-4575-A794-E5CCEB95CC81", - "name": "stadium", - "codepoint": "F0FF9", - "aliases": [ - "arena" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Sport", - "Places" - ], - "author": "Google" - }, - { - "id": "AB07DE31-2215-49E8-925E-8E4B235664FA", - "baseIconId": "5FDB24B6-FF16-4575-A794-E5CCEB95CC81", - "name": "stadium-outline", - "codepoint": "F1B03", - "aliases": [ - "arena-outline" - ], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Sport", - "Places" - ], - "author": "Google" - }, - { - "id": "0407BE27-099D-4170-BA1C-A87A4239F9DA", - "baseIconId": "5FDB24B6-FF16-4575-A794-E5CCEB95CC81", - "name": "stadium-variant", - "codepoint": "F0720", - "aliases": [ - "arena" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Places", - "Sport" - ], - "author": "Alex Efremo" - }, - { - "id": "D5BBEF8B-FC7A-4FA5-9DA6-4D970AC6A530", - "baseIconId": "D5BBEF8B-FC7A-4FA5-9DA6-4D970AC6A530", - "name": "stairs", - "codepoint": "F04CD", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Simran" - }, - { - "id": "58C2BC63-FCF5-445B-B351-23CF48253FEF", - "baseIconId": "D5BBEF8B-FC7A-4FA5-9DA6-4D970AC6A530", - "name": "stairs-box", - "codepoint": "F139E", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Moma Design Studio" - }, - { - "id": "5B344682-C177-40CC-97EC-418D010EAE07", - "baseIconId": "D5BBEF8B-FC7A-4FA5-9DA6-4D970AC6A530", - "name": "stairs-down", - "codepoint": "F12BE", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "8F09C6B0-DFE8-4700-A90A-476EFA6454F4", - "baseIconId": "D5BBEF8B-FC7A-4FA5-9DA6-4D970AC6A530", - "name": "stairs-up", - "codepoint": "F12BD", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "2D9C68D6-6DFA-42CC-B69C-E28011FC2BF7", - "baseIconId": "2D9C68D6-6DFA-42CC-B69C-E28011FC2BF7", - "name": "stamper", - "codepoint": "F0D39", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Nick" - }, - { - "id": "DAA79A7B-03FB-431A-85DD-AB9749783DC0", - "baseIconId": "DAA79A7B-03FB-431A-85DD-AB9749783DC0", - "name": "standard-definition", - "codepoint": "F07EF", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Austin Andrews" - }, - { - "id": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star", - "codepoint": "F04CE", - "aliases": [ - "grade", - "star-rate", - "favorite" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Google" - }, - { - "id": "07CA9ED6-5D94-4145-AB3E-EA9FD7283E0A", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-box", - "codepoint": "F0A73", - "aliases": [ - "favorite-box" - ], - "styles": [ - "box" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9270C3C4-1ADB-4965-9DAE-444F9448B39E", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-box-multiple", - "codepoint": "F1286", - "aliases": [ - "favorite-box-multiple" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Yaroslav Bandura" - }, - { - "id": "2B9ACC0A-EA3D-478D-935E-EAFA8F8580CF", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-box-multiple-outline", - "codepoint": "F1287", - "aliases": [ - "favorite-box-multiple-outline" - ], - "styles": [ - "outline" - ], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Yaroslav Bandura" - }, - { - "id": "B22FEE66-3EC9-466A-9014-EF53030FA3D9", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-box-outline", - "codepoint": "F0A74", - "aliases": [ - "favorite-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "6AB2A77F-C9ED-4EF1-BDD3-4E060E690A7E", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-check", - "codepoint": "F1566", - "aliases": [ - "favorite-check" - ], - "styles": [ - "check" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "94E37A05-1F0E-49EE-92D8-5FE57B54123F", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-check-outline", - "codepoint": "F156A", - "aliases": [ - "favorite-check-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "76D19C8B-0302-436A-A19F-5AC5EE8AC88C", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-circle", - "codepoint": "F04CF", - "aliases": [ - "stars", - "favorite-circle" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Google" - }, - { - "id": "9E034CD9-F400-4D4A-A2CB-6030313F2CED", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-circle-outline", - "codepoint": "F09A4", - "aliases": [ - "feature-highlight", - "favorite-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Google" - }, - { - "id": "82407F8C-2E0B-4F79-9409-0C267A248470", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-cog", - "codepoint": "F1668", - "aliases": [ - "favorite-cog" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D1100539-0788-4C74-AD03-8C5F8383DF2E", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-cog-outline", - "codepoint": "F1669", - "aliases": [ - "favorite-cog-outline" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "94C88D65-EE50-4DC5-920D-FA4181DE0413", - "baseIconId": "94C88D65-EE50-4DC5-920D-FA4181DE0413", - "name": "star-crescent", - "codepoint": "F0979", - "aliases": [ - "islam", - "religion-islamic", - "religion-muslim" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Nick" - }, - { - "id": "7EF95029-012C-456C-A1E8-BB96961071FD", - "baseIconId": "7EF95029-012C-456C-A1E8-BB96961071FD", - "name": "star-david", - "codepoint": "F097A", - "aliases": [ - "jewish", - "religion-judaic", - "judaism", - "magen-david" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Religion" - ], - "author": "Nick" - }, - { - "id": "20FBE06D-72C3-4E1C-945D-C7E69DC0736D", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-face", - "codepoint": "F09A5", - "aliases": [ - "favorite-face", - "emoji-star", - "emoticon-star" - ], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Google" - }, - { - "id": "4F7E1FD5-FE11-4509-8253-D0B2EB7E3CFF", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-four-points", - "codepoint": "F0AE2", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2DF46C9A-650D-486D-B242-36AD17F82227", - "baseIconId": "4F7E1FD5-FE11-4509-8253-D0B2EB7E3CFF", - "name": "star-four-points-box", - "codepoint": "F1C51", - "aliases": [ - "auto-box" - ], - "styles": [ - "box" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "CB3E6FC0-B9F1-4CAE-AAB9-72946D7E7064", - "baseIconId": "4F7E1FD5-FE11-4509-8253-D0B2EB7E3CFF", - "name": "star-four-points-box-outline", - "codepoint": "F1C52", - "aliases": [ - "auto-box-outline" - ], - "styles": [ - "box", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "ABA4EF5C-BB66-4FEA-85A0-74ABAC4B0222", - "baseIconId": "4F7E1FD5-FE11-4509-8253-D0B2EB7E3CFF", - "name": "star-four-points-circle", - "codepoint": "F1C53", - "aliases": [ - "auto-circle" - ], - "styles": [ - "circle" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "8393BD57-7249-40BE-B342-7CF50CAEAF29", - "baseIconId": "4F7E1FD5-FE11-4509-8253-D0B2EB7E3CFF", - "name": "star-four-points-circle-outline", - "codepoint": "F1C54", - "aliases": [ - "auto-circle-outline" - ], - "styles": [ - "circle", - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "F74484E2-76FB-4671-9960-AE18E95F04FA", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-four-points-outline", - "codepoint": "F0AE3", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "871110B6-9A38-4AEC-89DB-5570E84F109A", - "baseIconId": "4F7E1FD5-FE11-4509-8253-D0B2EB7E3CFF", - "name": "star-four-points-small", - "codepoint": "F1C55", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "E86BFC0D-B4A4-41F2-A8E3-D1AE79072A45", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-half", - "codepoint": "F0246", - "aliases": [ - "favorite-half" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Simran" - }, - { - "id": "52E97617-C7F4-45D0-98E0-E9B4407EC179", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-half-full", - "codepoint": "F04D0", - "aliases": [ - "favorite-half-full" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "CA24758C-3B0C-44DE-9395-C5CAF2981E5D", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-minus", - "codepoint": "F1564", - "aliases": [ - "favorite-minus" - ], - "styles": [ - "minus" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "24A0E7F1-32AA-4B4B-B0BC-93AD9F7E2F8A", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-minus-outline", - "codepoint": "F1568", - "aliases": [ - "favorite-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3CE96C58-D12F-474D-916F-D0509E3BA408", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-off", - "codepoint": "F04D1", - "aliases": [ - "favorite-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "297E76E3-B7A2-44A1-A340-F479AEFEF282", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-off-outline", - "codepoint": "F155B", - "aliases": [ - "favorite-off-outline" - ], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D443AD2F-291D-496E-ACD2-109891446FF2", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-outline", - "codepoint": "F04D2", - "aliases": [ - "star-border", - "favorite-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Google" - }, - { - "id": "A782B3BE-28DC-4BF8-A209-42DC8F1CE287", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-plus", - "codepoint": "F1563", - "aliases": [ - "favorite-plus", - "star-add", - "favorite-add" - ], - "styles": [ - "plus" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0CBFD9AD-12B1-4AAF-A9CC-9CA46FEB47FD", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-plus-outline", - "codepoint": "F1567", - "aliases": [ - "star-add-outline", - "favorite-plus-outline", - "favorite-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "49254980-CD72-42B5-A87B-F24EFC2E4EA5", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-remove", - "codepoint": "F1565", - "aliases": [ - "favorite-remove" - ], - "styles": [ - "remove" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "40769B91-9676-413A-8D6D-9D21132637E2", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-remove-outline", - "codepoint": "F1569", - "aliases": [ - "favorite-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "30D8C8F6-3BDE-40B8-A015-6E607C370360", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-settings", - "codepoint": "F166A", - "aliases": [ - "favorite-settings" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AA6C9E76-AC9C-4373-8AC4-F5C706741FC9", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-settings-outline", - "codepoint": "F166B", - "aliases": [ - "favorite-settings-outline" - ], - "styles": [], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "18267D80-A569-4013-84F4-7024F3990F47", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-shooting", - "codepoint": "F1741", - "aliases": [ - "favorite-shooting" - ], - "styles": [ - "variant" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "27A6F1B6-E095-494B-8CC7-660695DC6E70", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-shooting-outline", - "codepoint": "F1742", - "aliases": [ - "favorite-shooting-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "815B35DE-0C4D-46AD-90EC-2AFEE0A5FC17", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-three-points", - "codepoint": "F0AE4", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3BA12DC6-1D79-4B2A-BCF2-52FAF2160E23", - "baseIconId": "53D81A11-D8FF-46F4-A0CB-B7F668BA720D", - "name": "star-three-points-outline", - "codepoint": "F0AE5", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Michael Irigoyen" - }, - { - "id": "77FB59F8-81D3-4919-BBEE-3B897EC24C4E", - "baseIconId": "77FB59F8-81D3-4919-BBEE-3B897EC24C4E", - "name": "state-machine", - "codepoint": "F11EF", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "frankgrinaert" - }, - { - "id": "FBD721A3-7CD8-4769-902C-2B434CA107EE", - "baseIconId": "FBD721A3-7CD8-4769-902C-2B434CA107EE", - "name": "steam", - "codepoint": "F04D3", - "aliases": [], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "A2FE9DC5-BC17-4265-9D2C-4CA20135C4BB", - "baseIconId": "A2FE9DC5-BC17-4265-9D2C-4CA20135C4BB", - "name": "steering", - "codepoint": "F04D4", - "aliases": [ - "search-hands-free" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Google" - }, - { - "id": "1489D950-AD3A-47BD-A0CD-2E0A33943F54", - "baseIconId": "A2FE9DC5-BC17-4265-9D2C-4CA20135C4BB", - "name": "steering-off", - "codepoint": "F090E", - "aliases": [ - "search-hands-free-off" - ], - "styles": [ - "off" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Google" - }, - { - "id": "3056B0E6-E30C-4F6D-8647-AC5559FD7DCF", - "baseIconId": "3056B0E6-E30C-4F6D-8647-AC5559FD7DCF", - "name": "step-backward", - "codepoint": "F04D5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "9815CAC2-7390-4AE1-AE72-2B49546987EC", - "baseIconId": "3056B0E6-E30C-4F6D-8647-AC5559FD7DCF", - "name": "step-backward-2", - "codepoint": "F04D6", - "aliases": [ - "frame-backward" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "6773EDAB-CBAA-4C56-80D6-E029EB45115E", - "baseIconId": "6773EDAB-CBAA-4C56-80D6-E029EB45115E", - "name": "step-forward", - "codepoint": "F04D7", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "890D584F-45C1-4D2C-96C0-373465DB6477", - "baseIconId": "6773EDAB-CBAA-4C56-80D6-E029EB45115E", - "name": "step-forward-2", - "codepoint": "F04D8", - "aliases": [ - "frame-forward" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "641202BA-294A-4A0F-851D-FB83FEC9D7EE", - "baseIconId": "641202BA-294A-4A0F-851D-FB83FEC9D7EE", - "name": "stethoscope", - "codepoint": "F04D9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Simran" - }, - { - "id": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker", - "codepoint": "F1364", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6E585638-20B9-4347-B991-62027390FCE4", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-alert", - "codepoint": "F1365", - "aliases": [], - "styles": [ - "alert" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "795CD51D-0887-4AC1-B7C1-137248AE0EB3", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-alert-outline", - "codepoint": "F1366", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A972E9E6-C525-4162-96DA-6A66951A2547", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-check", - "codepoint": "F1367", - "aliases": [], - "styles": [ - "check" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "4239323B-AA14-4177-8F94-AB7F1577D111", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-check-outline", - "codepoint": "F1368", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F4C92E8A-A238-4F7C-B2FC-CBA914C5CE04", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-circle-outline", - "codepoint": "F05D0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Christopher Schreiner" - }, - { - "id": "9E28CC83-5155-4620-80C1-62875D117A79", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-emoji", - "codepoint": "F0785", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Emoji" - ], - "author": "Google" - }, - { - "id": "D0DB0495-F23A-4DF1-AE7B-704259C648F1", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-minus", - "codepoint": "F1369", - "aliases": [], - "styles": [ - "minus" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F8C4F362-C8D2-40FD-A631-B79E0341572C", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-minus-outline", - "codepoint": "F136A", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6F7361D9-E44F-4BBC-B5E6-D6862467A849", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-outline", - "codepoint": "F136B", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "48F11F1C-7501-4EDB-B4C9-FEA63EF1C090", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-plus", - "codepoint": "F136C", - "aliases": [], - "styles": [ - "plus" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A28B1EF0-2538-4104-980A-D6F044F461AF", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-plus-outline", - "codepoint": "F136D", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "27A4E71C-CF92-4AA2-9B1B-4CC6FC06B58C", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-remove", - "codepoint": "F136E", - "aliases": [], - "styles": [ - "remove" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "CA6D437A-FDC6-48F6-9414-A5B7832053F1", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-remove-outline", - "codepoint": "F136F", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "9BEC4C74-48A6-4A63-94E5-2F5FF0C06173", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-text", - "codepoint": "F178E", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "7AFB88BB-BCCF-4A79-AFC1-92BEB8E2EDBA", - "baseIconId": "D2115A9A-4F13-4F9E-888D-3E8CE835A7C3", - "name": "sticker-text-outline", - "codepoint": "F178F", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3C90040A-0B3F-4849-B21D-E16240D7A699", - "baseIconId": "3C90040A-0B3F-4849-B21D-E16240D7A699", - "name": "stocking", - "codepoint": "F04DA", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "675A613A-F713-458A-970C-86883FF6C2B0", - "baseIconId": "675A613A-F713-458A-970C-86883FF6C2B0", - "name": "stomach", - "codepoint": "F1093", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "411BA388-1AF1-4197-AD0A-CF2313071836", - "baseIconId": "411BA388-1AF1-4197-AD0A-CF2313071836", - "name": "stool", - "codepoint": "F195D", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "5237A946-C396-4C75-B369-751CD362AB5E", - "baseIconId": "411BA388-1AF1-4197-AD0A-CF2313071836", - "name": "stool-outline", - "codepoint": "F195E", - "aliases": [], - "styles": [], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Teodor Sandu" - }, - { - "id": "F1057179-EA45-4D87-A14D-D05442C06503", - "baseIconId": "F1057179-EA45-4D87-A14D-D05442C06503", - "name": "stop", - "codepoint": "F04DB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EC57EC60-1C8E-45CE-BF4A-D019AFD1F148", - "baseIconId": "F1057179-EA45-4D87-A14D-D05442C06503", - "name": "stop-circle", - "codepoint": "F0666", - "aliases": [], - "styles": [ - "circle" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "B343DEEB-A0ED-41BF-8C86-37D04A1040A6", - "baseIconId": "F1057179-EA45-4D87-A14D-D05442C06503", - "name": "stop-circle-outline", - "codepoint": "F0667", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "2C19B9EA-AB7C-401A-B84F-A0DCD2336BBE", - "baseIconId": "2C19B9EA-AB7C-401A-B84F-A0DCD2336BBE", - "name": "storage-tank", - "codepoint": "F1A75", - "aliases": [ - "propane-tank", - "gas-tank" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "6140C9BE-C66B-4ADC-957F-74A59541EA1A", - "baseIconId": "2C19B9EA-AB7C-401A-B84F-A0DCD2336BBE", - "name": "storage-tank-outline", - "codepoint": "F1A76", - "aliases": [ - "propane-tank-outline", - "gas-tank-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store", - "codepoint": "F04DC", - "aliases": [ - "shop", - "store-mall-directory" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Google" - }, - { - "id": "417393DA-3C7F-4BF2-9283-AB1429FFA068", - "baseIconId": "417393DA-3C7F-4BF2-9283-AB1429FFA068", - "name": "store-24-hour", - "codepoint": "F04DD", - "aliases": [ - "local-convenience-store", - "shop-24-hour" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Google" - }, - { - "id": "84CE3480-8C26-4B78-9524-CB8E6AA23F1D", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-alert", - "codepoint": "F18C1", - "aliases": [ - "shop-alert" - ], - "styles": [ - "alert" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3D34BFA8-56E0-4FDB-A8CF-7C19AFE14277", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-alert-outline", - "codepoint": "F18C2", - "aliases": [ - "shop-alert-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "37B5401A-4A00-47AF-AF1D-678AB4C502FD", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-check", - "codepoint": "F18C3", - "aliases": [ - "shop-check", - "shop-complete", - "store-complete" - ], - "styles": [ - "check" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Shopping", - "Places" - ], - "author": "Colton Wiscombe" - }, - { - "id": "35E8862F-A95A-4B1E-AD0A-FAD4C408D4F6", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-check-outline", - "codepoint": "F18C4", - "aliases": [ - "shop-complete", - "store-complete-outline", - "shop-check-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Shopping", - "Places" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F1AABCBC-7F1F-4803-B2B9-CC5E8EF11FEE", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-clock", - "codepoint": "F18C5", - "aliases": [ - "store-schedule", - "store-hours", - "shop-clock", - "shop-hours", - "shop-schedule", - "store-time", - "shop-time" - ], - "styles": [ - "clock" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "78BFCE81-D4A5-48E9-812D-82417EE9CDC9", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-clock-outline", - "codepoint": "F18C6", - "aliases": [ - "shop-clock-outline", - "store-hours-outline", - "shop-hours-outline", - "store-time-outline", - "shop-time-outline", - "store-schedule-outline", - "shop-schedule-outline" - ], - "styles": [ - "clock", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0D8DEFE4-8A1E-4106-96FA-4663891F40FD", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-cog", - "codepoint": "F18C7", - "aliases": [ - "store-settings", - "shop-settings" - ], - "styles": [ - "settings" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E6D19187-D3DA-42DE-B61F-AF703112D8E3", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-cog-outline", - "codepoint": "F18C8", - "aliases": [ - "store-settings-outline", - "shop-settings-outline", - "shop-cog-outline" - ], - "styles": [ - "outline", - "settings" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "738C22C4-6605-437A-821A-10CF8E151422", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-edit", - "codepoint": "F18C9", - "aliases": [ - "shop-edit" - ], - "styles": [ - "edit" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "02C64DBE-89C9-4190-80FF-1EB52327BFB5", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-edit-outline", - "codepoint": "F18CA", - "aliases": [ - "shop-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9F2B1901-978F-4186-93BA-2B2871A1858A", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-marker", - "codepoint": "F18CB", - "aliases": [ - "store-location", - "shop-marker", - "shop-location" - ], - "styles": [ - "marker" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EA9439C2-511C-4A27-BABD-D0C1F8E824A0", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-marker-outline", - "codepoint": "F18CC", - "aliases": [ - "store-location-outline", - "shop-marker-outline", - "shop-location-outline" - ], - "styles": [ - "marker", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D52803B6-8580-4C06-AA9F-96B4748286DB", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-minus", - "codepoint": "F165E", - "aliases": [ - "shop-minus" - ], - "styles": [ - "minus" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Dylan Oli" - }, - { - "id": "A5A36489-1F54-4A27-AF99-A0D77723FD1F", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-minus-outline", - "codepoint": "F18CD", - "aliases": [ - "shop-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "93E71904-C645-4682-B4C9-B61124B5C468", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-off", - "codepoint": "F18CE", - "aliases": [ - "shop-off" - ], - "styles": [ - "off" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2681BADF-4EE8-4290-A8C9-1BE86077BEC1", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-off-outline", - "codepoint": "F18CF", - "aliases": [ - "shop-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6BF9FB77-DF50-40B5-9A93-43E2A22E8633", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-outline", - "codepoint": "F1361", - "aliases": [ - "shop-outline", - "store-mall-directory-outline" - ], - "styles": [ - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Google" - }, - { - "id": "00DB5451-A5BF-4F9C-AC74-041916EACCB6", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-plus", - "codepoint": "F165F", - "aliases": [ - "shop-plus" - ], - "styles": [ - "plus" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Dylan Oli" - }, - { - "id": "585744D8-92B8-4874-81F5-70F659DA0DFE", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-plus-outline", - "codepoint": "F18D0", - "aliases": [ - "shop-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "FB5C0EA4-DAA2-4415-856F-2A4E6FA78BA5", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-remove", - "codepoint": "F1660", - "aliases": [ - "shop-remove", - "store-delete", - "shop-delete" - ], - "styles": [ - "remove" - ], - "version": "5.7.55", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Dylan Oli" - }, - { - "id": "2EDD35EF-2F8B-4EA9-BED4-D211B29C0012", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-remove-outline", - "codepoint": "F18D1", - "aliases": [ - "shop-remove-outline", - "store-delete-outline", - "shop-delete-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C631A061-FDAF-4686-9136-FD37C05FA12B", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-search", - "codepoint": "F18D2", - "aliases": [ - "shop-search", - "store-find", - "shop-find", - "store-locator", - "shop-locator", - "store-look-up", - "shop-look-up" - ], - "styles": [ - "search" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1FD8091B-5C35-4157-89E0-7211C77B1E19", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-search-outline", - "codepoint": "F18D3", - "aliases": [ - "store-find-outline", - "shop-search-outline", - "shop-find-outline", - "store-locator-outline", - "shop-locator-outline", - "store-look-up-outline", - "shop-look-up-outline" - ], - "styles": [ - "outline", - "search" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A8AE1FBA-2DA6-47AA-9B12-910E7FCD8D43", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-settings", - "codepoint": "F18D4", - "aliases": [ - "shop-settings" - ], - "styles": [ - "settings" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3FC392DC-44A8-475E-8082-7DBF80A61519", - "baseIconId": "3C3AEDE0-B6DA-4CB9-A686-869634678D5D", - "name": "store-settings-outline", - "codepoint": "F18D5", - "aliases": [ - "shop-settings-outline" - ], - "styles": [ - "outline", - "settings" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Places", - "Shopping", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront", - "codepoint": "F07C7", - "aliases": [ - "awning" - ], - "styles": [ - "check" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Simran" - }, - { - "id": "9FA49C4A-746E-4055-A94C-DBBBEB416FB0", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-check", - "codepoint": "F1B7D", - "aliases": [], - "styles": [ - "check" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "9E46C613-2CD0-4110-8F13-07855DFDBC5B", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-check-outline", - "codepoint": "F1B7E", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "E1FEA0E4-C612-47D1-9776-0692900AFD9A", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-edit", - "codepoint": "F1B7F", - "aliases": [], - "styles": [ - "edit" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Jeff Anders" - }, - { - "id": "1070748B-46F5-4657-99E2-8B1BF87FC5E6", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-edit-outline", - "codepoint": "F1B80", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Jeff Anders" - }, - { - "id": "9D9F2374-F718-4122-84E4-AD90697F9833", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-minus", - "codepoint": "F1B83", - "aliases": [], - "styles": [ - "minus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4F0A88BC-20A5-44D7-898C-258941B91CA0", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-minus-outline", - "codepoint": "F1B84", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CFC9D5C9-A60F-48D0-880E-71F2A06BB94D", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-outline", - "codepoint": "F10C1", - "aliases": [ - "awning" - ], - "styles": [ - "outline" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Shopping", - "Places" - ], - "author": "Google" - }, - { - "id": "7DBC0D08-5218-4DA7-970C-3A4974124F98", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-plus", - "codepoint": "F1B81", - "aliases": [], - "styles": [ - "plus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "A9D0C9F5-059E-4EF1-8927-0203B5CE4AE8", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-plus-outline", - "codepoint": "F1B82", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "94EF8FB9-635E-4293-946B-C544594A16B0", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-remove", - "codepoint": "F1B85", - "aliases": [], - "styles": [ - "remove" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "71DE2725-2E14-4A65-ADC8-B7DF63038DA0", - "baseIconId": "8ABE8FB2-F704-4095-9E65-F614F86FCE99", - "name": "storefront-remove-outline", - "codepoint": "F1B86", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "18EF6E1E-8EF9-4A62-AAB9-6E8BE591408A", - "baseIconId": "18EF6E1E-8EF9-4A62-AAB9-6E8BE591408A", - "name": "stove", - "codepoint": "F04DE", - "aliases": [ - "cooker", - "oven" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Food \/ Drink", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "854C16E8-58EA-49E3-B1AE-7EC84B313005", - "baseIconId": "854C16E8-58EA-49E3-B1AE-7EC84B313005", - "name": "strategy", - "codepoint": "F11D6", - "aliases": [ - "football-play" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "8E85E624-D1D8-4BA3-A99C-3067863D355C", - "baseIconId": "8E85E624-D1D8-4BA3-A99C-3067863D355C", - "name": "stretch-to-page", - "codepoint": "F0F2B", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7F50D690-0790-42F3-B9C3-B0AB9338DAC7", - "baseIconId": "8E85E624-D1D8-4BA3-A99C-3067863D355C", - "name": "stretch-to-page-outline", - "codepoint": "F0F2C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6CCDB34F-9B02-4712-B615-A7E1056B534D", - "baseIconId": "6CCDB34F-9B02-4712-B615-A7E1056B534D", - "name": "string-lights", - "codepoint": "F12BA", - "aliases": [ - "italian-lights", - "christmas-lights", - "fairy-lights" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F1B6F6EB-6D20-4C27-A631-8FAF759D183A", - "baseIconId": "6CCDB34F-9B02-4712-B615-A7E1056B534D", - "name": "string-lights-off", - "codepoint": "F12BB", - "aliases": [ - "italian-lights-off", - "christmas-lights-off", - "fairy-lights-off" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FC46F7BD-E8E2-452C-868C-E168E13B278D", - "baseIconId": "FC46F7BD-E8E2-452C-868C-E168E13B278D", - "name": "subdirectory-arrow-left", - "codepoint": "F060C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "AFD661FE-31E3-4BB5-8977-10113C7AC3F4", - "baseIconId": "AFD661FE-31E3-4BB5-8977-10113C7AC3F4", - "name": "subdirectory-arrow-right", - "codepoint": "F060D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "C6D1D0D8-7FEF-4F4B-B0E8-1B87B9413209", - "baseIconId": "C6D1D0D8-7FEF-4F4B-B0E8-1B87B9413209", - "name": "submarine", - "codepoint": "F156C", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Andrew Laws" - }, - { - "id": "9808EEC5-35FB-45B1-AFCB-065E9CF469E4", - "baseIconId": "9808EEC5-35FB-45B1-AFCB-065E9CF469E4", - "name": "subtitles", - "codepoint": "F0A16", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "451E9683-F30C-4B0A-95EE-5AD92B012F26", - "baseIconId": "9808EEC5-35FB-45B1-AFCB-065E9CF469E4", - "name": "subtitles-outline", - "codepoint": "F0A17", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "769FB684-BA81-4E2A-B623-4C8B6F3DCD2C", - "baseIconId": "769FB684-BA81-4E2A-B623-4C8B6F3DCD2C", - "name": "subway", - "codepoint": "F06AC", - "aliases": [ - "metro", - "tube", - "underground" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "486507F3-9E59-4037-B0EA-8EE514AFFABB", - "baseIconId": "769FB684-BA81-4E2A-B623-4C8B6F3DCD2C", - "name": "subway-alert-variant", - "codepoint": "F0D9D", - "aliases": [ - "subway-warning-variant" - ], - "styles": [ - "alert", - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Transportation + Other" - ], - "author": "Austin Andrews" - }, - { - "id": "EBD55581-BE34-4D0D-A151-974FD5FD7D92", - "baseIconId": "769FB684-BA81-4E2A-B623-4C8B6F3DCD2C", - "name": "subway-variant", - "codepoint": "F04DF", - "aliases": [ - "metro-variant", - "tube-variant", - "underground-variant", - "directions-subway", - "directions-transit" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "052D93D8-A1F1-450C-99F3-AEEE07D77CF4", - "baseIconId": "052D93D8-A1F1-450C-99F3-AEEE07D77CF4", - "name": "summit", - "codepoint": "F0786", - "aliases": [ - "peak" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "18B8F0B3-FEE0-4DF6-A6FB-701BCAB19F3A", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-angle", - "codepoint": "F1B27", - "aliases": [ - "solar-angle" - ], - "styles": [ - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EFBF30D4-A767-490C-883D-9C94E0789C0D", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-angle-outline", - "codepoint": "F1B28", - "aliases": [ - "solar-angle-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B467AA69-1E9D-444C-B6E4-764F1D180140", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-clock", - "codepoint": "F1A77", - "aliases": [ - "sun-schedule", - "sun-time", - "time-of-day" - ], - "styles": [ - "clock" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "39AB9880-94EC-44BF-96FC-D5ACA1AA3356", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-clock-outline", - "codepoint": "F1A78", - "aliases": [ - "sun-schedule-outline", - "sun-time-outline", - "time-of-day-outline" - ], - "styles": [ - "clock", - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation", - "Date \/ Time" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "1F513D40-444E-475D-9C1F-E5A95CE61A02", - "baseIconId": "1F513D40-444E-475D-9C1F-E5A95CE61A02", - "name": "sun-compass", - "codepoint": "F19A5", - "aliases": [ - "sun-azimuth", - "solar-compass", - "solar-asimuth" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2294E545-CE17-4605-8DBD-FFAE9CFDFED6", - "baseIconId": "2294E545-CE17-4605-8DBD-FFAE9CFDFED6", - "name": "sun-snowflake", - "codepoint": "F1796", - "aliases": [ - "hot-cold", - "heat-cool" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "57D0B351-8C4C-4F9C-9D62-23DE9E00C9AA", - "baseIconId": "2294E545-CE17-4605-8DBD-FFAE9CFDFED6", - "name": "sun-snowflake-variant", - "codepoint": "F1A79", - "aliases": [ - "hot-cold", - "heat-cool" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "A915898D-3218-4A0E-9732-CEB0701DADA1", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-thermometer", - "codepoint": "F18D6", - "aliases": [ - "heat-index", - "sun-temperature", - "day-temperature", - "external-temperature", - "outdoor-temperature" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A92400D5-89B6-46B0-9D55-4980BE45C51D", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-thermometer-outline", - "codepoint": "F18D7", - "aliases": [ - "external-temperature", - "outside-temperature", - "heat-index", - "day-temperature" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1A5DE4DC-5B3B-4378-ADB2-5D51AA64896D", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-wireless", - "codepoint": "F17FE", - "aliases": [ - "weather-sun-wireless", - "illuminance", - "uv-ray", - "ultraviolet" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2CFA10C3-9284-4120-B104-D196DBF0BF07", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "sun-wireless-outline", - "codepoint": "F17FF", - "aliases": [ - "weather-sun-wireless-outline", - "illuminance-outline", - "uv-ray-outline", - "ultraviolet-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E52FC33A-09BD-4B34-AF94-92C891020CDC", - "baseIconId": "E52FC33A-09BD-4B34-AF94-92C891020CDC", - "name": "sunglasses", - "codepoint": "F04E0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Simran" - }, - { - "id": "13371A33-E911-4D02-B921-CECC9D1BDB50", - "baseIconId": "13371A33-E911-4D02-B921-CECC9D1BDB50", - "name": "surfing", - "codepoint": "F1746", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AB38BBD9-58A6-4D21-8A76-8940B7717550", - "baseIconId": "AB38BBD9-58A6-4D21-8A76-8940B7717550", - "name": "surround-sound", - "codepoint": "F05C5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Google" - }, - { - "id": "13009B66-7459-4C86-8EB0-3CAED977BB98", - "baseIconId": "13009B66-7459-4C86-8EB0-3CAED977BB98", - "name": "surround-sound-2-0", - "codepoint": "F07F0", - "aliases": [ - "stereo" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Austin Andrews" - }, - { - "id": "901A06AA-7C77-43B3-90CD-10B329C42DB7", - "baseIconId": "13009B66-7459-4C86-8EB0-3CAED977BB98", - "name": "surround-sound-2-1", - "codepoint": "F1729", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "4B744BE0-A739-44FF-ADA6-CFC9BC520B1D", - "baseIconId": "4B744BE0-A739-44FF-ADA6-CFC9BC520B1D", - "name": "surround-sound-3-1", - "codepoint": "F07F1", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Austin Andrews" - }, - { - "id": "CFD48DE8-0DA8-455C-9C4C-337EDC54D7C0", - "baseIconId": "CFD48DE8-0DA8-455C-9C4C-337EDC54D7C0", - "name": "surround-sound-5-1", - "codepoint": "F07F2", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Austin Andrews" - }, - { - "id": "0CA5BC19-D66A-4126-B2DB-A90546826760", - "baseIconId": "CFD48DE8-0DA8-455C-9C4C-337EDC54D7C0", - "name": "surround-sound-5-1-2", - "codepoint": "F172A", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "BC85CD47-E52C-4A7D-8E05-DD45596C5822", - "baseIconId": "BC85CD47-E52C-4A7D-8E05-DD45596C5822", - "name": "surround-sound-7-1", - "codepoint": "F07F3", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Austin Andrews" - }, - { - "id": "5E34C73B-E200-4BD3-A10E-A00D1D47BFF4", - "baseIconId": "5E34C73B-E200-4BD3-A10E-A00D1D47BFF4", - "name": "svg", - "codepoint": "F0721", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Austin Andrews" - }, - { - "id": "D1E543C5-6ECA-43AA-B04D-438319BC5562", - "baseIconId": "D1E543C5-6ECA-43AA-B04D-438319BC5562", - "name": "swap-horizontal", - "codepoint": "F04E1", - "aliases": [ - "arrow-left-right", - "transfer", - "exchange", - "switch" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "3082F9ED-7ADE-491E-9FA5-39BC937D1F95", - "baseIconId": "D1E543C5-6ECA-43AA-B04D-438319BC5562", - "name": "swap-horizontal-bold", - "codepoint": "F0BCD", - "aliases": [ - "arrow-left-right-bold" - ], - "styles": [ - "bold" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "11867345-3F46-40E5-91A4-4EBBE393226D", - "baseIconId": "D1E543C5-6ECA-43AA-B04D-438319BC5562", - "name": "swap-horizontal-circle", - "codepoint": "F0FE1", - "aliases": [], - "styles": [ - "circle" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "4A41DEBC-9D40-4C27-A48E-EDF8E64ADBC2", - "baseIconId": "D1E543C5-6ECA-43AA-B04D-438319BC5562", - "name": "swap-horizontal-circle-outline", - "codepoint": "F0FE2", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "23A48C18-9950-436D-9948-29EE7EE13054", - "baseIconId": "D1E543C5-6ECA-43AA-B04D-438319BC5562", - "name": "swap-horizontal-variant", - "codepoint": "F08C1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "DA7FB76D-58FA-4AED-9DF9-033E994AE000", - "baseIconId": "DA7FB76D-58FA-4AED-9DF9-033E994AE000", - "name": "swap-vertical", - "codepoint": "F04E2", - "aliases": [ - "import-export", - "arrow-up-down" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "0903A829-EB64-4B39-B066-FECF7908DA8A", - "baseIconId": "DA7FB76D-58FA-4AED-9DF9-033E994AE000", - "name": "swap-vertical-bold", - "codepoint": "F0BCE", - "aliases": [ - "arrow-up-down-bold", - "import-export-bold" - ], - "styles": [ - "bold" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "F47E2ADA-9203-4D5A-9537-D0C93E45F1B3", - "baseIconId": "DA7FB76D-58FA-4AED-9DF9-033E994AE000", - "name": "swap-vertical-circle", - "codepoint": "F0FE3", - "aliases": [], - "styles": [ - "circle" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3B14BF34-4B82-4CAD-8F11-55E4013F7734", - "baseIconId": "DA7FB76D-58FA-4AED-9DF9-033E994AE000", - "name": "swap-vertical-circle-outline", - "codepoint": "F0FE4", - "aliases": [], - "styles": [ - "circle", - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FC1C62DB-A06D-48F8-962F-F60FE41E4F65", - "baseIconId": "DA7FB76D-58FA-4AED-9DF9-033E994AE000", - "name": "swap-vertical-variant", - "codepoint": "F08C2", - "aliases": [ - "swap-calls" - ], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Google" - }, - { - "id": "668BF75C-2B3B-46CB-8731-AE6BF10244BD", - "baseIconId": "668BF75C-2B3B-46CB-8731-AE6BF10244BD", - "name": "swim", - "codepoint": "F04E3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Austin Andrews" - }, - { - "id": "A2ED8CF0-EAE1-4B83-9469-448260288DDE", - "baseIconId": "A2ED8CF0-EAE1-4B83-9469-448260288DDE", - "name": "switch", - "codepoint": "F04E4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D73618B2-062C-40B2-BF8D-43DC48809F9B", - "baseIconId": "D73618B2-062C-40B2-BF8D-43DC48809F9B", - "name": "sword", - "codepoint": "F04E5", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "37B336A5-5827-4929-93B5-C12373966731", - "baseIconId": "D73618B2-062C-40B2-BF8D-43DC48809F9B", - "name": "sword-cross", - "codepoint": "F0787", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Michael Richins" - }, - { - "id": "9201098E-A360-4BF2-8EC7-683EB2AA7FEF", - "baseIconId": "9201098E-A360-4BF2-8EC7-683EB2AA7FEF", - "name": "syllabary-hangul", - "codepoint": "F1333", - "aliases": [ - "writing-system-hangul" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "8B8AF349-F9B5-483B-90CC-387F3791AF69", - "baseIconId": "8B8AF349-F9B5-483B-90CC-387F3791AF69", - "name": "syllabary-hiragana", - "codepoint": "F1334", - "aliases": [ - "writing-system-hiragana" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "220577A0-1D92-46EA-8116-DF964F6C57F0", - "baseIconId": "220577A0-1D92-46EA-8116-DF964F6C57F0", - "name": "syllabary-katakana", - "codepoint": "F1335", - "aliases": [ - "writing-system-katakana" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "BEDFC0D3-5AC2-46E4-BD69-07048CC47710", - "baseIconId": "220577A0-1D92-46EA-8116-DF964F6C57F0", - "name": "syllabary-katakana-halfwidth", - "codepoint": "F1336", - "aliases": [ - "writing-system-katakana-half-width" - ], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Alpha \/ Numeric" - ], - "author": "Haley Halcyon" - }, - { - "id": "6A604429-C9A6-45F3-8042-D29AB7828789", - "baseIconId": "6A604429-C9A6-45F3-8042-D29AB7828789", - "name": "symbol", - "codepoint": "F1501", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Haley Halcyon" - }, - { - "id": "2BCCEE64-583D-4EC7-9BBA-72FF58354181", - "baseIconId": "2BCCEE64-583D-4EC7-9BBA-72FF58354181", - "name": "symfony", - "codepoint": "F0AE6", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9013848A-21D4-4AF4-BA8A-6CF76128FE17", - "baseIconId": "9013848A-21D4-4AF4-BA8A-6CF76128FE17", - "name": "synagogue", - "codepoint": "F1B04", - "aliases": [ - "shul", - "temple", - "jewish" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "D070E9A9-6327-4F19-ADBC-A24A15398C7F", - "baseIconId": "9013848A-21D4-4AF4-BA8A-6CF76128FE17", - "name": "synagogue-outline", - "codepoint": "F1B05", - "aliases": [ - "temple-outline", - "shul-outline", - "jewish-outline" - ], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "E8CE455E-8C08-48F4-B989-8D91E185E8AE", - "baseIconId": "E8CE455E-8C08-48F4-B989-8D91E185E8AE", - "name": "sync", - "codepoint": "F04E6", - "aliases": [ - "loop", - "counterclockwise-arrows", - "circular-arrows", - "circle-arrows" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "66A07118-4C78-44D0-8B73-930144C74BD1", - "baseIconId": "E8CE455E-8C08-48F4-B989-8D91E185E8AE", - "name": "sync-alert", - "codepoint": "F04E7", - "aliases": [ - "sync-warning", - "sync-problem" - ], - "styles": [ - "alert" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Google" - }, - { - "id": "26250B6D-8879-4DAA-8DFA-A04738E855FE", - "baseIconId": "E8CE455E-8C08-48F4-B989-8D91E185E8AE", - "name": "sync-circle", - "codepoint": "F1378", - "aliases": [], - "styles": [ - "circle" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Fran\u00e7ois Risoud" - }, - { - "id": "538457F5-44DB-404B-92FE-5FB8597B258E", - "baseIconId": "E8CE455E-8C08-48F4-B989-8D91E185E8AE", - "name": "sync-off", - "codepoint": "F04E8", - "aliases": [ - "sync-disabled" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "76D6AAA9-7D7F-4C7A-818E-D9947744A23C", - "baseIconId": "76D6AAA9-7D7F-4C7A-818E-D9947744A23C", - "name": "tab", - "codepoint": "F04E9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BA5FCCBE-ED06-4819-B2F3-532034AB09BB", - "baseIconId": "76D6AAA9-7D7F-4C7A-818E-D9947744A23C", - "name": "tab-minus", - "codepoint": "F0B4B", - "aliases": [], - "styles": [ - "minus" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "9E23B225-E972-4369-A94A-C2AAF4C93870", - "baseIconId": "76D6AAA9-7D7F-4C7A-818E-D9947744A23C", - "name": "tab-plus", - "codepoint": "F075C", - "aliases": [ - "tab-add" - ], - "styles": [ - "plus" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D851AFED-34E5-4166-9923-CC4A5D6A1A44", - "baseIconId": "76D6AAA9-7D7F-4C7A-818E-D9947744A23C", - "name": "tab-remove", - "codepoint": "F0B4C", - "aliases": [], - "styles": [ - "remove" - ], - "version": "2.8.94", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BF6060AC-37F8-4236-B9D1-0C37A9AF09E9", - "baseIconId": "76D6AAA9-7D7F-4C7A-818E-D9947744A23C", - "name": "tab-search", - "codepoint": "F199E", - "aliases": [ - "tab-find" - ], - "styles": [ - "search" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [], - "author": "Arno Cellarier" - }, - { - "id": "9A9059F0-CADA-47EF-82DC-4B1FB2B9E4C5", - "baseIconId": "76D6AAA9-7D7F-4C7A-818E-D9947744A23C", - "name": "tab-unselected", - "codepoint": "F04EA", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "984D8348-AB61-4DD8-838C-3F2542577F73", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table", - "codepoint": "F04EB", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "4E3E7C78-5217-4B8A-8B95-9DE8433CFADA", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-account", - "codepoint": "F13B9", - "aliases": [ - "table-user" - ], - "styles": [ - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5957DCA4-9A4D-4BC1-98EC-58065564EBFF", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-alert", - "codepoint": "F13BA", - "aliases": [], - "styles": [ - "alert" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "846F0539-E30D-40E8-BC00-3F10A0C0321E", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-arrow-down", - "codepoint": "F13BB", - "aliases": [ - "table-download" - ], - "styles": [ - "arrow" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "44768ACF-C1A3-477D-91BC-74DA3B0A746E", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-arrow-left", - "codepoint": "F13BC", - "aliases": [ - "table-import" - ], - "styles": [ - "arrow" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A4A68FD7-82B8-4BE8-8110-DA54D1A888D4", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-arrow-right", - "codepoint": "F13BD", - "aliases": [ - "table-share", - "table-export" - ], - "styles": [ - "arrow" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "2A9EE017-5EDD-4A0B-A531-E552D4C8AB66", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-arrow-up", - "codepoint": "F13BE", - "aliases": [ - "table-upload" - ], - "styles": [ - "arrow" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4AB13D38-7B5C-49E6-B41C-C48C0F8E7DA3", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-border", - "codepoint": "F0A18", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "989D1B4B-5D28-4335-B410-8DAF917F788F", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-cancel", - "codepoint": "F13BF", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "6EB52FC2-32D9-427D-80DE-32C60C8F78AD", - "baseIconId": "6EB52FC2-32D9-427D-80DE-32C60C8F78AD", - "name": "table-chair", - "codepoint": "F1061", - "aliases": [ - "restaurant", - "kitchen", - "dining", - "dining-room" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "15FE548D-D08F-44C4-AF25-B853452E1AFE", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-check", - "codepoint": "F13C0", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8C3DCF5F-7E50-48A6-A596-0BA2D299B37F", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-clock", - "codepoint": "F13C1", - "aliases": [], - "styles": [ - "clock" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "540E0DD7-BA28-46B1-A0A7-2A0820E73432", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-cog", - "codepoint": "F13C2", - "aliases": [ - "table-settings" - ], - "styles": [ - "settings", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D45D7513-AA4C-43CA-8435-CA6AD2B7F868", - "baseIconId": "D45D7513-AA4C-43CA-8435-CA6AD2B7F868", - "name": "table-column", - "codepoint": "F0835", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "0EB91CE4-3223-4799-9BB7-3BA0C923BC40", - "baseIconId": "D45D7513-AA4C-43CA-8435-CA6AD2B7F868", - "name": "table-column-plus-after", - "codepoint": "F04EC", - "aliases": [ - "table-column-add-after" - ], - "styles": [ - "plus", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "67B4875F-B08F-4006-AFE1-9C243F8B873A", - "baseIconId": "D45D7513-AA4C-43CA-8435-CA6AD2B7F868", - "name": "table-column-plus-before", - "codepoint": "F04ED", - "aliases": [ - "table-column-add-before" - ], - "styles": [ - "plus", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "455B9D6F-1842-434F-8C31-16F68A2C1BA9", - "baseIconId": "D45D7513-AA4C-43CA-8435-CA6AD2B7F868", - "name": "table-column-remove", - "codepoint": "F04EE", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "2343FF2B-E5D3-4BEC-90EA-FB3F5291D4B0", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-column-width", - "codepoint": "F04EF", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "DDC0FFBC-73D2-49E8-8B8C-22D65A5719A6", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-edit", - "codepoint": "F04F0", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "6F81B89D-EBF1-41BF-9619-90E148AD9951", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-eye", - "codepoint": "F1094", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Terren" - }, - { - "id": "2F3C45C9-277B-4751-8F5C-4356739AC3A4", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-eye-off", - "codepoint": "F13C3", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1CFB10BF-E5C8-4401-B491-3BC830082D6E", - "baseIconId": "1CFB10BF-E5C8-4401-B491-3BC830082D6E", - "name": "table-filter", - "codepoint": "F1B8C", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "9A7A9F69-9BC4-4619-981D-DF8423A22FF2", - "baseIconId": "9A7A9F69-9BC4-4619-981D-DF8423A22FF2", - "name": "table-furniture", - "codepoint": "F05BC", - "aliases": [ - "kitchen", - "dining-room" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "nilsfast" - }, - { - "id": "9AB8E55A-A51C-4384-A6C6-1F88BFBBD63B", - "baseIconId": "9AB8E55A-A51C-4384-A6C6-1F88BFBBD63B", - "name": "table-headers-eye", - "codepoint": "F121D", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2F8C23A5-717B-4483-9C22-A8C5D4F7C31A", - "baseIconId": "9AB8E55A-A51C-4384-A6C6-1F88BFBBD63B", - "name": "table-headers-eye-off", - "codepoint": "F121E", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "550B70E0-414F-44F5-A09F-DF418ABB7D26", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-heart", - "codepoint": "F13C4", - "aliases": [ - "table-favorite" - ], - "styles": [ - "heart" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8B04C6AF-6886-4693-8806-6C4BC8D60E9A", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-key", - "codepoint": "F13C5", - "aliases": [], - "styles": [ - "key" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "99BE0AB4-A123-4745-839F-DC355DA8C3D4", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-large", - "codepoint": "F04F1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "3C206937-03CF-4690-B022-30099AEAE0F3", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-large-plus", - "codepoint": "F0F87", - "aliases": [ - "table-large-add" - ], - "styles": [ - "plus", - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E6F6EF7E-C78C-4670-9E96-43AD92F24429", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-large-remove", - "codepoint": "F0F88", - "aliases": [], - "styles": [ - "remove", - "variant" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format", - "Geographic Information System" - ], - "author": "Michael Irigoyen" - }, - { - "id": "370E7D91-6ACA-464F-A30C-DCB35B8DFC55", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-lock", - "codepoint": "F13C6", - "aliases": [], - "styles": [ - "lock" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BE891E33-2018-4619-BF4C-C006B4063785", - "baseIconId": "BE891E33-2018-4619-BF4C-C006B4063785", - "name": "table-merge-cells", - "codepoint": "F09A6", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "C40DA2CA-4FCA-4144-AD38-0DD457D6D6CF", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-minus", - "codepoint": "F13C7", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "FB123A84-A0AE-41F6-8C61-B86E93EEA08C", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-multiple", - "codepoint": "F13C8", - "aliases": [], - "styles": [ - "multiple" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "94745B4E-14D8-4B8C-B8C4-E25D1A123B27", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-network", - "codepoint": "F13C9", - "aliases": [], - "styles": [ - "network" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "70A0953D-9FEF-4858-8ACB-A90C5613360A", - "baseIconId": "70A0953D-9FEF-4858-8ACB-A90C5613360A", - "name": "table-of-contents", - "codepoint": "F0836", - "aliases": [ - "toc" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AF58D08D-14CD-41F6-9CF1-53D002D7EEB1", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-off", - "codepoint": "F13CA", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "68ABC903-3D76-4C38-8165-4DB5F0353A20", - "baseIconId": "68ABC903-3D76-4C38-8165-4DB5F0353A20", - "name": "table-picnic", - "codepoint": "F1743", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "95F556B1-87B0-4219-8E96-B5AF5D652DF4", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-pivot", - "codepoint": "F183C", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Teodor Sandu" - }, - { - "id": "4547E3CF-042C-431F-8B99-4DBE22F1ADEC", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-plus", - "codepoint": "F0A75", - "aliases": [ - "table-add" - ], - "styles": [ - "plus" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DD9EA6CC-9992-418C-8664-2254FC64A41F", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-question", - "codepoint": "F1B21", - "aliases": [ - "table-help" - ], - "styles": [ - "question" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "202CC1A0-B339-493E-99B0-607A209E8A53", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-refresh", - "codepoint": "F13A0", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E04307B8-EA93-41C0-B7B8-6AAC6C9B580F", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-remove", - "codepoint": "F0A76", - "aliases": [], - "styles": [ - "remove" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Michael Irigoyen" - }, - { - "id": "8EA23E11-D670-4D09-8AA6-7DAFBEAA54FD", - "baseIconId": "8EA23E11-D670-4D09-8AA6-7DAFBEAA54FD", - "name": "table-row", - "codepoint": "F0837", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "5B9A6186-2C24-4D16-9FE4-F0E23C8E5B5F", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-row-height", - "codepoint": "F04F2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "0B2B45F7-3597-4049-9643-9E972826F67C", - "baseIconId": "8EA23E11-D670-4D09-8AA6-7DAFBEAA54FD", - "name": "table-row-plus-after", - "codepoint": "F04F3", - "aliases": [ - "table-row-add-after" - ], - "styles": [ - "plus", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "784BF375-370F-4DAE-985D-7BEF2FDA6951", - "baseIconId": "8EA23E11-D670-4D09-8AA6-7DAFBEAA54FD", - "name": "table-row-plus-before", - "codepoint": "F04F4", - "aliases": [ - "table-row-add-before" - ], - "styles": [ - "plus", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "017D1949-234A-4C27-A653-FF0EAF33AD92", - "baseIconId": "8EA23E11-D670-4D09-8AA6-7DAFBEAA54FD", - "name": "table-row-remove", - "codepoint": "F04F5", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Austin Andrews" - }, - { - "id": "6053118D-7921-45FC-BC83-9F08BF2AE6DF", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-search", - "codepoint": "F090F", - "aliases": [], - "styles": [ - "search" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B506843C-4832-4F30-8266-9B02632AB582", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-settings", - "codepoint": "F0838", - "aliases": [], - "styles": [ - "settings" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Che de Bruin" - }, - { - "id": "6E502BA0-5D71-4607-BA94-CDEF31BBF07C", - "baseIconId": "6E502BA0-5D71-4607-BA94-CDEF31BBF07C", - "name": "table-split-cell", - "codepoint": "F142A", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Micha\u0142 Kleszczy\u0144ski" - }, - { - "id": "646B67D0-16F5-429C-93ED-C57131031B63", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-star", - "codepoint": "F13CB", - "aliases": [ - "table-favorite" - ], - "styles": [ - "star" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "DEC516BA-2102-4CE7-B77E-6D95A9A525EC", - "baseIconId": "984D8348-AB61-4DD8-838C-3F2542577F73", - "name": "table-sync", - "codepoint": "F13A1", - "aliases": [], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4E13AA68-FF88-415B-A813-A9D5023F71E3", - "baseIconId": "4E13AA68-FF88-415B-A813-A9D5023F71E3", - "name": "table-tennis", - "codepoint": "F0E68", - "aliases": [ - "ping-pong", - "whiff-whaff" - ], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "703B639C-E17D-40F1-8025-2B2950B1961D", - "baseIconId": "703B639C-E17D-40F1-8025-2B2950B1961D", - "name": "tablet", - "codepoint": "F04F6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "804E3CCD-99B5-4F54-898A-9477D69E6951", - "baseIconId": "804E3CCD-99B5-4F54-898A-9477D69E6951", - "name": "tablet-cellphone", - "codepoint": "F09A7", - "aliases": [ - "mobile-devices", - "tablet-mobile-phone", - "tablet-smartphone" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "71DAA530-D02E-45D9-84AB-68CE1CD1E44E", - "baseIconId": "703B639C-E17D-40F1-8025-2B2950B1961D", - "name": "tablet-dashboard", - "codepoint": "F0ECE", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9E259FF6-513C-44B0-BB10-7F930DFA47DD", - "baseIconId": "9E259FF6-513C-44B0-BB10-7F930DFA47DD", - "name": "taco", - "codepoint": "F0762", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Austin Andrews" - }, - { - "id": "0BE85AB2-0D51-411C-B119-789E9E317216", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag", - "codepoint": "F04F9", - "aliases": [ - "local-offer" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "141B8C02-DA96-4054-AA99-C83CF2B10118", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-down", - "codepoint": "F172B", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "8C304479-B37A-4837-8887-F4880359C9BB", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-down-outline", - "codepoint": "F172C", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "56E3ECFD-CE76-4CE2-9075-7673ABEA78D1", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-left", - "codepoint": "F172D", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BCD665AC-5B08-4E99-8BF4-7F43030447F6", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-left-outline", - "codepoint": "F172E", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "98AEA4C4-D0E2-4B94-9EE3-47F97A7AFC0D", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-right", - "codepoint": "F172F", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B9FED1D0-B219-4483-A30E-AA201561DCB4", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-right-outline", - "codepoint": "F1730", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5040B027-3283-413C-8424-E2E02108E69D", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-up", - "codepoint": "F1731", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A632F2B8-4D1B-4F60-AB06-EB79D45E13A3", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-arrow-up-outline", - "codepoint": "F1732", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A15E3DAA-A545-434C-A876-C141B28A074D", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-check", - "codepoint": "F1A7A", - "aliases": [ - "tag-approve" - ], - "styles": [ - "check" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1E060329-9C85-4470-8140-DD96F6877E76", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-check-outline", - "codepoint": "F1A7B", - "aliases": [ - "tag-approve-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "73C1CBA6-4848-4AE0-82D4-4A7FDD29F12C", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-edit", - "codepoint": "F1C9C", - "aliases": [], - "styles": [ - "edit" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "5181F023-E6E2-424F-B35B-9E3219A0C25D", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-edit-outline", - "codepoint": "F1C9D", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "5DCE0F4D-F740-4D9A-AC93-281D3477E9AF", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-faces", - "codepoint": "F04FA", - "aliases": [ - "tag-emoji", - "tag-emoticon" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2D9E735C-EA23-4EB2-9AC4-C92D69218577", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-heart", - "codepoint": "F068B", - "aliases": [ - "loyalty" - ], - "styles": [ - "heart", - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1A877919-79F5-4B22-A309-6681E10B4A06", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-heart-outline", - "codepoint": "F0BCF", - "aliases": [], - "styles": [ - "heart", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "5BF0535D-7E79-4BE2-A3A7-E96E4B50E5A0", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-hidden", - "codepoint": "F1C76", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "1F2E41E2-6509-4C1B-B95B-145C9A8375DA", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-minus", - "codepoint": "F0910", - "aliases": [], - "styles": [ - "minus" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "E8EF5D5C-B3EE-459C-9C6D-B6A045B8052C", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-minus-outline", - "codepoint": "F121F", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "408AB5A3-F100-4175-96CD-8602BE101150", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-multiple", - "codepoint": "F04FB", - "aliases": [ - "tags" - ], - "styles": [ - "multiple" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "340D1192-13CE-4752-86C3-186FEA8DC315", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-multiple-outline", - "codepoint": "F12F7", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A85425D5-61FC-46C8-B604-4105C407967B", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-off", - "codepoint": "F1220", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E6157F0C-1143-4F4D-B308-CCA13CC24BFC", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-off-outline", - "codepoint": "F1221", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2022546E-45D4-4AC5-B24F-6D6AAEA0F452", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-outline", - "codepoint": "F04FC", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "83C0C7C5-26FF-4EF7-A05B-B05472FC40FC", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-plus", - "codepoint": "F0722", - "aliases": [ - "tag-add" - ], - "styles": [ - "plus" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "0BCB9F00-8D30-4DD7-85CB-31930035DF0E", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-plus-outline", - "codepoint": "F1222", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E90C088F-8DFD-4B7D-962C-BE2DD9DB61BD", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-remove", - "codepoint": "F0723", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "DD1E4B8E-E8C2-4B72-A56D-F42B3259AD49", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-remove-outline", - "codepoint": "F1223", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "2728D780-6100-4AD5-B5B3-67C64DAF983C", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-search", - "codepoint": "F1907", - "aliases": [ - "tag-find" - ], - "styles": [ - "search" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4747C432-2B54-4686-8689-A8B931F417DE", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-search-outline", - "codepoint": "F1908", - "aliases": [ - "tag-find-outline" - ], - "styles": [ - "outline", - "search" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "92B97B44-052D-48B5-993F-1AB16F76DC65", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-text", - "codepoint": "F1224", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8ED927D3-84B9-43D1-82B4-3859653006D6", - "baseIconId": "0BE85AB2-0D51-411C-B119-789E9E317216", - "name": "tag-text-outline", - "codepoint": "F04FD", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "7D58F2F1-A97E-4EBE-A0E6-E8F9999F1799", - "baseIconId": "7D58F2F1-A97E-4EBE-A0E6-E8F9999F1799", - "name": "tailwind", - "codepoint": "F13FF", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "1F0D9425-0B92-46C6-AEBE-39FB5E062AA5", - "baseIconId": "1F0D9425-0B92-46C6-AEBE-39FB5E062AA5", - "name": "tally-mark-1", - "codepoint": "F1ABC", - "aliases": [ - "counting-1", - "one" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3324BD04-3F49-4759-9C4E-8C94F513F977", - "baseIconId": "1F0D9425-0B92-46C6-AEBE-39FB5E062AA5", - "name": "tally-mark-2", - "codepoint": "F1ABD", - "aliases": [ - "counting-2", - "two" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "37C95AE2-2AB4-4800-9683-49806B29599A", - "baseIconId": "1F0D9425-0B92-46C6-AEBE-39FB5E062AA5", - "name": "tally-mark-3", - "codepoint": "F1ABE", - "aliases": [ - "counting-3", - "three" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "85D71807-B7C3-48C8-8E8D-951AA54B68C7", - "baseIconId": "1F0D9425-0B92-46C6-AEBE-39FB5E062AA5", - "name": "tally-mark-4", - "codepoint": "F1ABF", - "aliases": [ - "counting-4", - "four" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0D7E150C-A65F-4A77-86A4-B0F5F2B60347", - "baseIconId": "1F0D9425-0B92-46C6-AEBE-39FB5E062AA5", - "name": "tally-mark-5", - "codepoint": "F1AC0", - "aliases": [ - "counting-5", - "five" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A7147BE3-0B04-4B61-94F3-48B0D9C5551E", - "baseIconId": "A7147BE3-0B04-4B61-94F3-48B0D9C5551E", - "name": "tangram", - "codepoint": "F04F8", - "aliases": [ - "puzzle" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Jeff Anders" - }, - { - "id": "C673D464-FC7A-4574-8EE6-6CCF7E39902F", - "baseIconId": "C673D464-FC7A-4574-8EE6-6CCF7E39902F", - "name": "tank", - "codepoint": "F0D3A", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "SLembas" - }, - { - "id": "E7134093-7DFD-48A0-A687-299B70E6D42D", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "tanker-truck", - "codepoint": "F0FE5", - "aliases": [ - "fuel-truck", - "oil-truck", - "water-truck", - "tanker" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Irigoyen" - }, - { - "id": "76B2D13C-4AA4-4AA1-A0CA-F4E5CA53FFE2", - "baseIconId": "76B2D13C-4AA4-4AA1-A0CA-F4E5CA53FFE2", - "name": "tape-drive", - "codepoint": "F16DF", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Zach Gover" - }, - { - "id": "C9C3F657-65A6-418E-91EF-E6FD8F0357C1", - "baseIconId": "C9C3F657-65A6-418E-91EF-E6FD8F0357C1", - "name": "tape-measure", - "codepoint": "F0B4D", - "aliases": [ - "measuring-tape" - ], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "GreenTurtwig" - }, - { - "id": "363D29C5-9F0F-43EA-BE7E-D1C2C1418517", - "baseIconId": "363D29C5-9F0F-43EA-BE7E-D1C2C1418517", - "name": "target", - "codepoint": "F04FE", - "aliases": [ - "registration-mark" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Doug C. Hardester" - }, - { - "id": "9B5EC357-642F-4790-BD58-E45A217DD9B9", - "baseIconId": "363D29C5-9F0F-43EA-BE7E-D1C2C1418517", - "name": "target-account", - "codepoint": "F0BD0", - "aliases": [ - "crosshairs-account", - "target-user" - ], - "styles": [ - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "C8208D76-55E5-41A2-9540-AF3731D16D74", - "baseIconId": "363D29C5-9F0F-43EA-BE7E-D1C2C1418517", - "name": "target-variant", - "codepoint": "F0A77", - "aliases": [ - "registration-mark" - ], - "styles": [ - "variant" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "32F3835A-EBD0-4927-9497-6F67F7075EAF", - "baseIconId": "32F3835A-EBD0-4927-9497-6F67F7075EAF", - "name": "taxi", - "codepoint": "F04FF", - "aliases": [ - "local-taxi", - "cab" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Navigation" - ], - "author": "Google" - }, - { - "id": "D1759BBF-821F-4902-AAF5-8323A179912F", - "baseIconId": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "name": "tea", - "codepoint": "F0D9E", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Google" - }, - { - "id": "002B1000-5D8B-4EC1-9D10-21E9EE62EE4C", - "baseIconId": "C95D04C5-F5EE-411A-88F7-A9872B2B4021", - "name": "tea-outline", - "codepoint": "F0D9F", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Food \/ Drink" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3335C183-CD35-4D66-87AB-C5E3A7FCAFBF", - "baseIconId": "3335C183-CD35-4D66-87AB-C5E3A7FCAFBF", - "name": "teamviewer", - "codepoint": "F0500", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A9D12403-70AF-4022-9AB1-B9CE5EF1F9E9", - "baseIconId": "A9D12403-70AF-4022-9AB1-B9CE5EF1F9E9", - "name": "teddy-bear", - "codepoint": "F18FB", - "aliases": [ - "child-toy", - "children-toy", - "kids-room", - "childrens-room", - "play-room" - ], - "styles": [], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Holiday", - "Home Automation" - ], - "author": "Andy Allsopp" - }, - { - "id": "66FE04C6-5941-4728-A256-17F9B25534F1", - "baseIconId": "66FE04C6-5941-4728-A256-17F9B25534F1", - "name": "telescope", - "codepoint": "F0B4E", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "SarinManS" - }, - { - "id": "1B699A99-578E-450C-9523-934F4D281F72", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television", - "codepoint": "F0502", - "aliases": [ - "tv" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "09374787-27B8-43D7-92CA-B35050B1FA63", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-ambient-light", - "codepoint": "F1356", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CB446614-AE63-403E-BBF8-0B0ED3E367AE", - "baseIconId": "CB446614-AE63-403E-BBF8-0B0ED3E367AE", - "name": "television-box", - "codepoint": "F0839", - "aliases": [ - "tv-box", - "tv-guide" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "EB7FD483-EAF9-4FEE-8B82-25186D26827A", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-classic", - "codepoint": "F07F4", - "aliases": [ - "tv-classic" - ], - "styles": [ - "variant" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "C8E89001-2566-4676-B12B-7AAFAFCA0276", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-classic-off", - "codepoint": "F083A", - "aliases": [ - "tv-classic-off" - ], - "styles": [ - "off", - "variant" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "6E5CAF6F-F00B-4613-B520-BDC1E5DD2832", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-guide", - "codepoint": "F0503", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "9E9D949B-13EC-43FB-9068-2BED76224BD8", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-off", - "codepoint": "F083B", - "aliases": [ - "tv-off" - ], - "styles": [ - "off" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "EE3F2E38-D8CD-42BD-B50F-187A77FBC630", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-pause", - "codepoint": "F0F89", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "BFCE431D-2F97-4023-A690-F34199CA79F8", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-play", - "codepoint": "F0ECF", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "9132E544-8FAA-43BA-98B4-8D752CB3E251", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-shimmer", - "codepoint": "F1110", - "aliases": [ - "television-clean" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "kevin-hens" - }, - { - "id": "5C82B28E-DA98-4A40-B03A-9E309018F8C6", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-speaker", - "codepoint": "F1B1B", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Audio", - "Video \/ Movie" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "1E85CDE3-96F9-4652-8E25-7B91F50E4D1C", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-speaker-off", - "codepoint": "F1B1C", - "aliases": [], - "styles": [ - "off", - "variant" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Audio", - "Video \/ Movie" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "52228864-9BDD-4D12-82EC-AF730D68E47B", - "baseIconId": "1B699A99-578E-450C-9523-934F4D281F72", - "name": "television-stop", - "codepoint": "F0F8A", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "A94E333D-F8C5-4726-B81A-6DDF4CC37FD0", - "baseIconId": "A94E333D-F8C5-4726-B81A-6DDF4CC37FD0", - "name": "temperature-celsius", - "codepoint": "F0504", - "aliases": [ - "temperature-centigrade" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "9A1DF8BB-627A-47C9-B609-BAC145D320DF", - "baseIconId": "9A1DF8BB-627A-47C9-B609-BAC145D320DF", - "name": "temperature-fahrenheit", - "codepoint": "F0505", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "DF9D47EE-157B-4E1E-85CE-A043E5F2AE51", - "baseIconId": "DF9D47EE-157B-4E1E-85CE-A043E5F2AE51", - "name": "temperature-kelvin", - "codepoint": "F0506", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "8645763E-4D58-4BD2-99F0-1E1C3CA3F254", - "baseIconId": "8645763E-4D58-4BD2-99F0-1E1C3CA3F254", - "name": "temple-buddhist", - "codepoint": "F1B06", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "8CE5A3E3-845D-479F-99F1-BAB02BEAAFC7", - "baseIconId": "8645763E-4D58-4BD2-99F0-1E1C3CA3F254", - "name": "temple-buddhist-outline", - "codepoint": "F1B07", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "5271162F-477F-4B2C-9E8D-4078A9B7861C", - "baseIconId": "5271162F-477F-4B2C-9E8D-4078A9B7861C", - "name": "temple-hindu", - "codepoint": "F1B08", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "4FB9F00B-42E2-4DA4-B1DF-E2895866B7CF", - "baseIconId": "5271162F-477F-4B2C-9E8D-4078A9B7861C", - "name": "temple-hindu-outline", - "codepoint": "F1B09", - "aliases": [], - "styles": [ - "outline" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Places", - "Religion" - ], - "author": "Google" - }, - { - "id": "CE166270-170C-4292-8D6F-FE787AF6B021", - "baseIconId": "CE166270-170C-4292-8D6F-FE787AF6B021", - "name": "tennis", - "codepoint": "F0DA0", - "aliases": [ - "tennis-racquet", - "tennis-racket" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "DE92B1F1-31FB-4551-84A2-32F5B5D842EC", - "baseIconId": "DE92B1F1-31FB-4551-84A2-32F5B5D842EC", - "name": "tennis-ball", - "codepoint": "F0507", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "0B976004-97EB-486D-ACFF-5EBFED611D87", - "baseIconId": "DE92B1F1-31FB-4551-84A2-32F5B5D842EC", - "name": "tennis-ball-outline", - "codepoint": "F1C5F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Jeff Anders" - }, - { - "id": "688277DE-082A-4BE2-8E59-129245E02DD7", - "baseIconId": "688277DE-082A-4BE2-8E59-129245E02DD7", - "name": "tent", - "codepoint": "F0508", - "aliases": [ - "camping", - "holiday" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "D3339724-6ECB-4328-83C8-7E956C0271C0", - "baseIconId": "D3339724-6ECB-4328-83C8-7E956C0271C0", - "name": "terraform", - "codepoint": "F1062", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "1F98A781-6023-4368-AC06-5A421D166FCC", - "baseIconId": "1F98A781-6023-4368-AC06-5A421D166FCC", - "name": "terrain", - "codepoint": "F0509", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "0B88F54B-7522-4D7D-85EC-3C0C3E7D36FE", - "baseIconId": "0B88F54B-7522-4D7D-85EC-3C0C3E7D36FE", - "name": "test-tube", - "codepoint": "F0668", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Kai Faust" - }, - { - "id": "A6F17875-0B9B-467B-85F5-4C4804D3A367", - "baseIconId": "0B88F54B-7522-4D7D-85EC-3C0C3E7D36FE", - "name": "test-tube-empty", - "codepoint": "F0911", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "8B2E6A86-9CC3-4F9B-8B77-F5DD9BAE7898", - "baseIconId": "0B88F54B-7522-4D7D-85EC-3C0C3E7D36FE", - "name": "test-tube-off", - "codepoint": "F0912", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Austin Andrews" - }, - { - "id": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text", - "codepoint": "F09A8", - "aliases": [ - "notes" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Text \/ Content \/ Format" - ], - "author": "Google" - }, - { - "id": "15B2BA3F-53A2-4151-9B90-20000264FE54", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-account", - "codepoint": "F1570", - "aliases": [ - "biography", - "text-user" - ], - "styles": [ - "account" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Brooke Clifton" - }, - { - "id": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box", - "codepoint": "F021A", - "aliases": [ - "drive-document", - "file-document-box" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "291424C4-8874-4D0D-8D89-0C3349C021ED", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-check", - "codepoint": "F0EA6", - "aliases": [ - "file-document-box-tick", - "file-document-box-check" - ], - "styles": [ - "check" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "mocking-mike" - }, - { - "id": "A24C1161-73F2-43F0-B955-7D4E5F398372", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-check-outline", - "codepoint": "F0EA7", - "aliases": [ - "file-document-box-tick-outline", - "file-document-box-check-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "mocking-mike" - }, - { - "id": "1AB9A345-F896-42F2-A7AF-5E61A8F17D15", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-box-edit", - "codepoint": "F1A7C", - "aliases": [], - "styles": [ - "box", - "edit" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "694846A9-15AD-4FA3-9130-20863F5ED8EE", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-box-edit-outline", - "codepoint": "F1A7D", - "aliases": [], - "styles": [ - "box", - "edit", - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Files \/ Folders", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "60E9BECF-1FDF-4077-9BD7-F7B1863C2F66", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-minus", - "codepoint": "F0EA8", - "aliases": [ - "file-document-box-minus" - ], - "styles": [ - "minus" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "89E44C7C-4A52-4BBE-8EF4-2127A320E444", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-minus-outline", - "codepoint": "F0EA9", - "aliases": [ - "file-document-box-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3F7FCD03-4E12-4D4D-AB63-C8D51F938284", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-box-multiple", - "codepoint": "F0AB7", - "aliases": [ - "file-document-boxes", - "file-document-box-multiple" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "02EF54D9-4D5D-463C-A3E8-0B44BDCB9523", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-box-multiple-outline", - "codepoint": "F0AB8", - "aliases": [ - "file-document-boxes-outline", - "file-document-box-multiple-outline" - ], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "E12AE178-0546-4CD3-81F6-BD1F17AA50EE", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-box-outline", - "codepoint": "F09ED", - "aliases": [ - "file-document-box-outline" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "GreenTurtwig" - }, - { - "id": "8979EEB0-B475-4229-A7D8-F5D48A58DB85", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-plus", - "codepoint": "F0EAA", - "aliases": [ - "file-document-box-plus" - ], - "styles": [ - "plus" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "467C2198-D7C5-4B95-88F1-71B269D2AEAC", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-plus-outline", - "codepoint": "F0EAB", - "aliases": [ - "file-document-box-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B599787B-9A9F-45C1-AD76-45FB4B00EFFC", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-remove", - "codepoint": "F0EAC", - "aliases": [ - "file-document-box-remove" - ], - "styles": [ - "remove" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C822984D-33BC-4A48-A9A3-E679ABF13595", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-remove-outline", - "codepoint": "F0EAD", - "aliases": [ - "file-document-box-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "08B85EF9-81EC-4DEE-B1C7-1C14D4CBECA5", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-search", - "codepoint": "F0EAE", - "aliases": [ - "file-document-box-search" - ], - "styles": [ - "search" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "D32F390E-2888-4C63-99FA-9662902B6694", - "baseIconId": "32E03B3D-EAFA-4483-AE94-E43944F0F0AE", - "name": "text-box-search-outline", - "codepoint": "F0EAF", - "aliases": [ - "file-document-box-search-outline" - ], - "styles": [ - "outline", - "search" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Austin Andrews" - }, - { - "id": "CA8CE1CF-1F6E-4B8B-9972-B3F36E865E67", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-long", - "codepoint": "F09AA", - "aliases": [ - "text-subject" - ], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8F37BBCB-35D2-4FAF-88ED-59252659885D", - "baseIconId": "8F37BBCB-35D2-4FAF-88ED-59252659885D", - "name": "text-recognition", - "codepoint": "F113D", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [], - "author": "Haley Halcyon" - }, - { - "id": "3C1714C4-ACE1-45F2-ADE8-D90DD2E9742C", - "baseIconId": "3C1714C4-ACE1-45F2-ADE8-D90DD2E9742C", - "name": "text-search", - "codepoint": "F13B8", - "aliases": [ - "notes-search" - ], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "B1B403FA-FBA6-4219-8561-23DE3833029F", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-search-variant", - "codepoint": "F1A7E", - "aliases": [ - "notes-search-variant" - ], - "styles": [ - "search", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "4595BB97-16B7-4B19-8AC5-9C33167A6D20", - "baseIconId": "4595BB97-16B7-4B19-8AC5-9C33167A6D20", - "name": "text-shadow", - "codepoint": "F0669", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "F80F249A-898B-4690-888A-EC11F79B4E56", - "baseIconId": "E56EAB24-6D70-49E0-BEC8-D9164A93CB63", - "name": "text-short", - "codepoint": "F09A9", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E3A06403-51B5-4D00-9349-53517553A324", - "baseIconId": "E3A06403-51B5-4D00-9349-53517553A324", - "name": "texture", - "codepoint": "F050C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7B46F16A-AF86-4A7A-B3AB-1D2297831078", - "baseIconId": "E3A06403-51B5-4D00-9349-53517553A324", - "name": "texture-box", - "codepoint": "F0FE6", - "aliases": [ - "surface-area" - ], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Math" - ], - "author": "Michael Irigoyen" - }, - { - "id": "37350655-CB4D-4D9F-8C90-B8049CA0E48E", - "baseIconId": "37350655-CB4D-4D9F-8C90-B8049CA0E48E", - "name": "theater", - "codepoint": "F050D", - "aliases": [ - "cinema", - "theatre" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Places", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "AE66BEF4-7040-4A15-8BF3-639B116853CC", - "baseIconId": "AE66BEF4-7040-4A15-8BF3-639B116853CC", - "name": "theme-light-dark", - "codepoint": "F050E", - "aliases": [ - "sun-moon-stars" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer", - "codepoint": "F050F", - "aliases": [ - "temperature" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation", - "Automotive" - ], - "author": "Austin Andrews" - }, - { - "id": "DB3D5088-E7A7-47AD-87E3-43D5B41BF0C2", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-alert", - "codepoint": "F0E01", - "aliases": [ - "thermometer-warning", - "temperature-alert", - "temperature-warning" - ], - "styles": [ - "alert" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather", - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "EBC857F8-EDAD-46AF-9F34-0DCB03E27998", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-auto", - "codepoint": "F1B0F", - "aliases": [ - "temperature-auto" - ], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "D3767EC9-5C06-42A0-B6BE-F5D2CF89FFD1", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-bluetooth", - "codepoint": "F1895", - "aliases": [ - "temperature-bluetooth" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E01A628C-01EA-4F7E-B150-FCCDBED99EF9", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-check", - "codepoint": "F1A7F", - "aliases": [ - "thermometer-approve", - "temperature-check", - "temperature-approve" - ], - "styles": [ - "check" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C888E2C1-306A-4BCB-821E-5B33AC93572D", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-chevron-down", - "codepoint": "F0E02", - "aliases": [ - "temperature-chevron-down", - "temperature-decrease", - "thermometer-decrease" - ], - "styles": [ - "arrow" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "79E7C071-7AEE-48B1-802E-922925E94247", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-chevron-up", - "codepoint": "F0E03", - "aliases": [ - "temperature-chevron-up", - "temperature-increase", - "thermometer-increase" - ], - "styles": [ - "arrow" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "DF51BF5D-831D-4FD1-8786-498CAC97DBB6", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-high", - "codepoint": "F10C2", - "aliases": [ - "temperature-high" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "A9FC898C-8CC5-44F2-822D-05C5625E95C8", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-lines", - "codepoint": "F0510", - "aliases": [ - "temperature-lines" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "DBD8C754-85C4-43C4-BEA8-BCFEDB30B382", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-low", - "codepoint": "F10C3", - "aliases": [ - "temperature-low" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "310F50E9-D74E-4753-A6D8-60EDBFC332B7", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-minus", - "codepoint": "F0E04", - "aliases": [ - "temperature-minus", - "thermometer-decrease", - "temperature-decrease" - ], - "styles": [ - "minus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "BF73A396-DB1C-46BC-8078-3CF0D7E0277F", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-off", - "codepoint": "F1531", - "aliases": [ - "temperature-off" - ], - "styles": [ - "off" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "511387A0-FD3A-4335-B82E-9C68E02BABDD", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-plus", - "codepoint": "F0E05", - "aliases": [ - "thermometer-add", - "thermometer-increase", - "temperature-plus", - "temperature-add", - "temperature-increase" - ], - "styles": [ - "plus" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "Michael Richins" - }, - { - "id": "75048CA6-0E85-45B6-9DC4-3F4CDC45E14E", - "baseIconId": "75048CA6-0E85-45B6-9DC4-3F4CDC45E14E", - "name": "thermometer-probe", - "codepoint": "F1B2B", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F4CAA724-0072-475C-82A8-BD8AD3DEE74B", - "baseIconId": "F4CAA724-0072-475C-82A8-BD8AD3DEE74B", - "name": "thermometer-probe-off", - "codepoint": "F1B2C", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "23736622-5488-4BE7-BB70-225F5F17AF2B", - "baseIconId": "F41863ED-B66A-4FF4-B436-0876C8D3665B", - "name": "thermometer-water", - "codepoint": "F1A80", - "aliases": [ - "dew-point", - "water-temperature", - "boiling-point" - ], - "styles": [ - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "628D16E2-7E57-43CA-8451-012B8AB852DA", - "baseIconId": "628D16E2-7E57-43CA-8451-012B8AB852DA", - "name": "thermostat", - "codepoint": "F0393", - "aliases": [ - "nest" - ], - "styles": [ - "circle" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "35160CD5-6140-45AE-BE6B-AC73C11DE3E1", - "baseIconId": "628D16E2-7E57-43CA-8451-012B8AB852DA", - "name": "thermostat-auto", - "codepoint": "F1B17", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "E0A6898F-3F08-4E13-8B61-DA63E5CBF949", - "baseIconId": "628D16E2-7E57-43CA-8451-012B8AB852DA", - "name": "thermostat-box", - "codepoint": "F0891", - "aliases": [], - "styles": [ - "box" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Home Automation", - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "9753B373-A5AD-4E33-B5F1-133B30FAFD55", - "baseIconId": "628D16E2-7E57-43CA-8451-012B8AB852DA", - "name": "thermostat-box-auto", - "codepoint": "F1B18", - "aliases": [], - "styles": [ - "box" - ], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A22B6267-3CAE-44F8-A818-DF22A850E1B0", - "baseIconId": "628D16E2-7E57-43CA-8451-012B8AB852DA", - "name": "thermostat-cog", - "codepoint": "F1C80", - "aliases": [], - "styles": [ - "cog" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jeff Anders" - }, - { - "id": "46ACA864-4B1C-4DBD-94FB-7A0D6B9A500E", - "baseIconId": "46ACA864-4B1C-4DBD-94FB-7A0D6B9A500E", - "name": "thought-bubble", - "codepoint": "F07F6", - "aliases": [ - "comic-bubble", - "thinking" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2C82E0CA-9872-431C-8739-0EA33825EBF7", - "baseIconId": "46ACA864-4B1C-4DBD-94FB-7A0D6B9A500E", - "name": "thought-bubble-outline", - "codepoint": "F07F7", - "aliases": [ - "comic-thought-bubble-outline", - "thinking-outline", - "think-outline" - ], - "styles": [ - "outline" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "83D606E3-69A1-4583-854D-5C44477D038D", - "baseIconId": "83D606E3-69A1-4583-854D-5C44477D038D", - "name": "thumb-down", - "codepoint": "F0511", - "aliases": [ - "dislike", - "thumbs-down" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "00EE8027-00FE-43B8-ACEC-7779E39D6E29", - "baseIconId": "83D606E3-69A1-4583-854D-5C44477D038D", - "name": "thumb-down-outline", - "codepoint": "F0512", - "aliases": [ - "dislike-outline", - "thumbs-down-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C32E4FC9-F3DC-4C67-81FB-62648E3F1AB5", - "baseIconId": "C32E4FC9-F3DC-4C67-81FB-62648E3F1AB5", - "name": "thumb-up", - "codepoint": "F0513", - "aliases": [ - "like", - "thumbs-up" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BFA3B3A3-0D00-459A-8BDB-DAC2D4233023", - "baseIconId": "C32E4FC9-F3DC-4C67-81FB-62648E3F1AB5", - "name": "thumb-up-outline", - "codepoint": "F0514", - "aliases": [ - "like-outline", - "thumbs-up-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C38D6CEC-4D8E-44DB-B704-9A76552733D4", - "baseIconId": "C38D6CEC-4D8E-44DB-B704-9A76552733D4", - "name": "thumbs-up-down", - "codepoint": "F0515", - "aliases": [ - "like-dislike" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B5F74959-A897-4A3F-9E76-2154AB4B8930", - "baseIconId": "C38D6CEC-4D8E-44DB-B704-9A76552733D4", - "name": "thumbs-up-down-outline", - "codepoint": "F1914", - "aliases": [ - "like-dislike-outline" - ], - "styles": [ - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "18F55984-07FD-4630-BB11-8285F83AA838", - "baseIconId": "18F55984-07FD-4630-BB11-8285F83AA838", - "name": "ticket", - "codepoint": "F0516", - "aliases": [ - "local-activity", - "local-play", - "local-attraction" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DE2E8A6C-33F1-4148-A228-C512C26B3159", - "baseIconId": "18F55984-07FD-4630-BB11-8285F83AA838", - "name": "ticket-account", - "codepoint": "F0517", - "aliases": [ - "ticket-user" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User" - ], - "author": "Austin Andrews" - }, - { - "id": "F19DA1EC-CBDA-456E-BC19-F03C635C886F", - "baseIconId": "18F55984-07FD-4630-BB11-8285F83AA838", - "name": "ticket-confirmation", - "codepoint": "F0518", - "aliases": [ - "confirmation-number" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A1B45743-22F5-49E8-B466-120024F2C4C3", - "baseIconId": "18F55984-07FD-4630-BB11-8285F83AA838", - "name": "ticket-confirmation-outline", - "codepoint": "F13AA", - "aliases": [ - "confirmation-number-outline" - ], - "styles": [ - "outline" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "6D7F0E99-A86F-4AAB-A468-F1D3214E1B60", - "baseIconId": "18F55984-07FD-4630-BB11-8285F83AA838", - "name": "ticket-outline", - "codepoint": "F0913", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "297864D0-935F-4EF0-9A2C-28F018544581", - "baseIconId": "18F55984-07FD-4630-BB11-8285F83AA838", - "name": "ticket-percent", - "codepoint": "F0724", - "aliases": [ - "coupon", - "voucher" - ], - "styles": [ - "variant" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "43EDCFCF-4AFB-45E7-8F83-56CC40FC93B7", - "baseIconId": "18F55984-07FD-4630-BB11-8285F83AA838", - "name": "ticket-percent-outline", - "codepoint": "F142B", - "aliases": [ - "coupon-outline", - "voucher-outline" - ], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [], - "author": "\u00d6zg\u00fcr G\u00f6rg\u00fcl\u00fc" - }, - { - "id": "475062F1-407D-43B6-8FBF-1E0D4C7D690C", - "baseIconId": "475062F1-407D-43B6-8FBF-1E0D4C7D690C", - "name": "tie", - "codepoint": "F0519", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Austin Andrews" - }, - { - "id": "708986EE-2BC9-401D-8ACD-0BC5A3E20EA3", - "baseIconId": "708986EE-2BC9-401D-8ACD-0BC5A3E20EA3", - "name": "tilde", - "codepoint": "F0725", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "06A80087-C9FF-4A60-A370-BD183676DC0A", - "baseIconId": "708986EE-2BC9-401D-8ACD-0BC5A3E20EA3", - "name": "tilde-off", - "codepoint": "F18F3", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "348DB89A-B4E2-4CB9-A7A4-B86973243ADE", - "baseIconId": "348DB89A-B4E2-4CB9-A7A4-B86973243ADE", - "name": "timelapse", - "codepoint": "F051A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline", - "codepoint": "F0BD1", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "3965A310-F8FE-4077-8DAB-722CF2A44E78", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-alert", - "codepoint": "F0F95", - "aliases": [], - "styles": [ - "alert" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "E6B39705-7058-4C26-BE2B-D85FAF69F614", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-alert-outline", - "codepoint": "F0F98", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Austin Andrews" - }, - { - "id": "56EABFF0-9689-4078-98F6-8E0EDAAD6A19", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-check", - "codepoint": "F1532", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "0A75C1CB-0AF6-4A5E-BBE2-C14C31DDBBB6", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-check-outline", - "codepoint": "F1533", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "2671B127-348C-47F5-B016-F30389D649CF", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-clock", - "codepoint": "F11FB", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "2C73EA7B-CAD0-439D-8D8F-8779B100F927", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-clock-outline", - "codepoint": "F11FC", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "4086C75B-4BB4-4307-A953-22F4F7AEDE9F", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-minus", - "codepoint": "F1534", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E984C3EB-C8F3-4357-BAA4-93F9ED3049BC", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-minus-outline", - "codepoint": "F1535", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "82363A48-4E61-4594-A3DA-AA94FBBA4BE8", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-outline", - "codepoint": "F0BD2", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6DDA8E22-8819-4EA4-A239-57349E7B1C7C", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-plus", - "codepoint": "F0F96", - "aliases": [], - "styles": [ - "plus" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "230196A7-AFE4-4722-810C-B845246A42A8", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-plus-outline", - "codepoint": "F0F97", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "92637DDF-E9A3-43E1-986D-DA5DE7FA8CDE", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-question", - "codepoint": "F0F99", - "aliases": [ - "timeline-help" - ], - "styles": [ - "question" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E844C160-56F3-431B-B971-00178D4B5D59", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-question-outline", - "codepoint": "F0F9A", - "aliases": [ - "timeline-help-outline" - ], - "styles": [ - "outline", - "question" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "1855D5A7-8C35-4621-BFFB-E10D9F0C0726", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-remove", - "codepoint": "F1536", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "748EF30E-992C-41C9-94DA-A95F4F80A4EF", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-remove-outline", - "codepoint": "F1537", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "DBC01596-0759-4095-9BAA-3D582324A836", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-text", - "codepoint": "F0BD3", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "F949D410-50B0-49DD-B4CE-E2FA9160052F", - "baseIconId": "087D891A-1B90-42FA-97E4-9381D8D7CCF8", - "name": "timeline-text-outline", - "codepoint": "F0BD4", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer", - "codepoint": "F13AB", - "aliases": [ - "stopwatch" - ], - "styles": [], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Sport", - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BDC89918-A38F-41C6-997E-DE9F779D4435", - "baseIconId": "BDC89918-A38F-41C6-997E-DE9F779D4435", - "name": "timer-10", - "codepoint": "F051C", - "aliases": [ - "timer-ten" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "3DEFEFB6-57CE-4C82-9D0C-16DBDBEF5950", - "baseIconId": "3DEFEFB6-57CE-4C82-9D0C-16DBDBEF5950", - "name": "timer-3", - "codepoint": "F051D", - "aliases": [ - "timer-three" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "7A645EAB-94F5-49FA-8A73-D9D1045D3B34", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-alert", - "codepoint": "F1ACC", - "aliases": [ - "stopwatch-alert" - ], - "styles": [ - "alert" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4F3E2A6F-20C4-4EB4-8086-C8A7D1B55283", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-alert-outline", - "codepoint": "F1ACD", - "aliases": [ - "stopwatch-alert-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B155A30F-D5A6-4981-A072-B565DA53872D", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-cancel", - "codepoint": "F1ACE", - "aliases": [ - "stopwatch-cancel" - ], - "styles": [ - "cancel" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F36D3C1A-6148-491D-AED6-B6F1883229BD", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-cancel-outline", - "codepoint": "F1ACF", - "aliases": [ - "stopwatch-cancel-outline" - ], - "styles": [ - "cancel", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C9193A95-3EFC-420B-A97A-2B688BE03647", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-check", - "codepoint": "F1AD0", - "aliases": [ - "stopwatch-check", - "timer-tick", - "stopwatch-tick" - ], - "styles": [ - "check" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AA368E7E-E808-48E4-9DFF-826156E12D8B", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-check-outline", - "codepoint": "F1AD1", - "aliases": [ - "timer-tick-outline", - "stopwatch-check-outline", - "stopwatch-tick-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "94B9E2FB-1589-418F-A128-C071B10B10EB", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-cog", - "codepoint": "F1925", - "aliases": [ - "timer-settings" - ], - "styles": [ - "settings" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "78B70624-89F7-4041-B247-9A39EA39957F", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-cog-outline", - "codepoint": "F1926", - "aliases": [ - "timer-settings-outline" - ], - "styles": [ - "outline", - "settings" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "046D48AE-58AE-472A-826A-F13F4859C0A3", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-edit", - "codepoint": "F1AD2", - "aliases": [ - "stopwatch-edit" - ], - "styles": [ - "edit" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D16F03BE-957E-44F1-AD89-C18C340311BD", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-edit-outline", - "codepoint": "F1AD3", - "aliases": [ - "stopwatch-edit-outline" - ], - "styles": [ - "edit", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Edit \/ Modify" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E2B4F7F7-FF17-4CCE-A1C7-BD677E2F32D5", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-lock", - "codepoint": "F1AD4", - "aliases": [ - "stopwatch-lock", - "timer-secure", - "stopwatch-secure" - ], - "styles": [ - "lock" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DEA728EB-8545-4E23-B31B-C9B1AA2229FD", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-lock-open", - "codepoint": "F1AD5", - "aliases": [ - "stopwatch-lock-open" - ], - "styles": [ - "lock" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2972C8F4-C75F-4AF0-AE70-2FFEBE34461E", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-lock-open-outline", - "codepoint": "F1AD6", - "aliases": [ - "stopwatch-lock-open-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5849E09F-FAFC-40A5-9A30-D4B9BFB87BCC", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-lock-outline", - "codepoint": "F1AD7", - "aliases": [ - "stopwatch-lock-outline", - "stopwatch-secure-outline", - "timer-secure-outline" - ], - "styles": [ - "lock", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "821CEDA0-CD59-45AF-BF1A-EE56399BC374", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-marker", - "codepoint": "F1AD8", - "aliases": [ - "stopwatch-marker", - "timer-location", - "stopwatch-location" - ], - "styles": [ - "marker" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D31E92C3-4D5C-4029-9D91-0C41DDFDB164", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-marker-outline", - "codepoint": "F1AD9", - "aliases": [ - "stopwatch-marker-outline", - "timer-location-outline", - "stopwatch-location-outline" - ], - "styles": [ - "marker", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B6BD7263-1491-4D66-9847-D9E7F1B78967", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-minus", - "codepoint": "F1ADA", - "aliases": [ - "timer-subtract", - "stopwatch-minus", - "stopwatch-subtract" - ], - "styles": [ - "minus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4F6F9FA4-0D4F-4543-95D4-9FF0AA8678BE", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-minus-outline", - "codepoint": "F1ADB", - "aliases": [ - "timer-subtract-outline", - "stopwatch-minus-outline", - "stopwatch-subtract-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2BE4E342-BEAB-4B48-8CE5-E1B83D86E0D7", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-music", - "codepoint": "F1ADC", - "aliases": [ - "stopwatch-music" - ], - "styles": [ - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CAEA0928-8B03-4139-B58F-DAD1865FDC12", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-music-outline", - "codepoint": "F1ADD", - "aliases": [ - "stopwatch-music-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Music" - ], - "author": "Colton Wiscombe" - }, - { - "id": "CC698648-1A71-4EC8-A1E3-B5ACC42F2FDB", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-off", - "codepoint": "F13AC", - "aliases": [ - "stopwatch-off" - ], - "styles": [ - "off" - ], - "version": "5.0.45", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BE74C70B-7E47-4E25-957C-C83CFEB73D6D", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-off-outline", - "codepoint": "F051E", - "aliases": [ - "stopwatch-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "017E0965-CD2E-4B39-B0C5-410335848B12", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-outline", - "codepoint": "F051B", - "aliases": [ - "stopwatch-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Sport" - ], - "author": "Google" - }, - { - "id": "3BF45E47-3FE7-43FE-AE4B-FFD605289C60", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-pause", - "codepoint": "F1ADE", - "aliases": [ - "stopwatch-pause" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "7C566FCC-EC47-409A-8E7B-5769C82CEF01", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-pause-outline", - "codepoint": "F1ADF", - "aliases": [ - "stopwatch-pause-outline" - ], - "styles": [ - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "81E15BC1-262E-435E-82BD-C4342A92D6E1", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-play", - "codepoint": "F1AE0", - "aliases": [ - "timer-start", - "stopwatch-play", - "stopwatch-start" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "0E6F9270-1D27-4E36-9352-0BACC428A548", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-play-outline", - "codepoint": "F1AE1", - "aliases": [ - "timer-start-outline", - "stopwatch-play-outline", - "stopwatch-start-outline" - ], - "styles": [ - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "2C80851E-E2B2-4CB3-9B95-A7807473F48C", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-plus", - "codepoint": "F1AE2", - "aliases": [ - "timer-add", - "stopwatch-plus", - "stopwatch-add" - ], - "styles": [ - "plus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5068DEF2-6E6D-469B-8770-2540F781A8BF", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-plus-outline", - "codepoint": "F1AE3", - "aliases": [ - "timer-add-outline", - "stopwatch-plus-outline", - "stopwatch-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "131A1665-D2D6-4C5B-B30B-DBDD097EA773", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-refresh", - "codepoint": "F1AE4", - "aliases": [ - "stopwatch-refresh" - ], - "styles": [ - "refresh" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "406B38E4-1E8C-4493-A1DF-804BB1FCD620", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-refresh-outline", - "codepoint": "F1AE5", - "aliases": [ - "stopwatch-refresh-outline" - ], - "styles": [ - "outline", - "refresh" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "558B0DE6-0A7D-4BC6-ACAD-EB52A8B58A86", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-remove", - "codepoint": "F1AE6", - "aliases": [ - "stopwatch-remove" - ], - "styles": [ - "remove" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B4E196AF-73B9-4693-806F-1267ECA46EB6", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-remove-outline", - "codepoint": "F1AE7", - "aliases": [ - "stopwatch-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "64EFBA89-F8CB-4193-8656-A83CCBC66A76", - "baseIconId": "64EFBA89-F8CB-4193-8656-A83CCBC66A76", - "name": "timer-sand", - "codepoint": "F051F", - "aliases": [ - "hourglass" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "A3EC03DF-2DAD-4B48-AFA8-681324AE2460", - "baseIconId": "64EFBA89-F8CB-4193-8656-A83CCBC66A76", - "name": "timer-sand-complete", - "codepoint": "F199F", - "aliases": [ - "hourglass-complete" - ], - "styles": [ - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Jeff Anders" - }, - { - "id": "DD31FFF2-A93B-41F5-BA6C-1732E8A8DEFF", - "baseIconId": "64EFBA89-F8CB-4193-8656-A83CCBC66A76", - "name": "timer-sand-empty", - "codepoint": "F06AD", - "aliases": [ - "hourglass-empty" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "E603301B-7DF4-43C2-9035-0DDB2A50B88E", - "baseIconId": "64EFBA89-F8CB-4193-8656-A83CCBC66A76", - "name": "timer-sand-full", - "codepoint": "F078C", - "aliases": [ - "hourglass-full" - ], - "styles": [ - "variant" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "24C73172-9253-4C99-B214-B1C523115D79", - "baseIconId": "64EFBA89-F8CB-4193-8656-A83CCBC66A76", - "name": "timer-sand-paused", - "codepoint": "F19A0", - "aliases": [ - "hourglass-paused" - ], - "styles": [ - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Jeff Anders" - }, - { - "id": "F8FF1136-69B0-4DCA-9BC6-092AE2CE23F2", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-settings", - "codepoint": "F1923", - "aliases": [], - "styles": [ - "settings" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "33E186AB-8B36-40C1-BC72-D9614A115B74", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-settings-outline", - "codepoint": "F1924", - "aliases": [], - "styles": [ - "outline", - "settings" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "EEC275B0-442C-4C00-A1AE-662EF4477A13", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-star", - "codepoint": "F1AE8", - "aliases": [ - "timer-favorite", - "stopwatch-star", - "stopwatch-favorite" - ], - "styles": [ - "star" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8C07F7EA-8924-43A8-91E2-55A7D0DAE7AF", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-star-outline", - "codepoint": "F1AE9", - "aliases": [ - "timer-favorite-outline", - "stopwatch-star-outline", - "stopwatch-favorite-outline" - ], - "styles": [ - "outline", - "star" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8D48AE22-A80B-4DFA-9F37-01C48E8D42DD", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-stop", - "codepoint": "F1AEA", - "aliases": [ - "stopwatch-stop" - ], - "styles": [], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6692667B-8BD3-4234-92CA-F51D796CF521", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-stop-outline", - "codepoint": "F1AEB", - "aliases": [ - "stopwatch-stop-outline" - ], - "styles": [ - "outline" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "38A07095-B521-4D7C-8021-FD6CEAD49F10", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-sync", - "codepoint": "F1AEC", - "aliases": [ - "stopwatch-sync" - ], - "styles": [ - "sync" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D5BE4AB4-3E09-4D9C-9329-C32E34796677", - "baseIconId": "7F6AFDDE-8C90-44FB-A000-D5F6EF93A943", - "name": "timer-sync-outline", - "codepoint": "F1AED", - "aliases": [ - "stopwatch-sync-outline" - ], - "styles": [ - "outline", - "sync" - ], - "version": "6.8.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F06ED6E0-0EB1-4B39-8E85-1A82A273F473", - "baseIconId": "F06ED6E0-0EB1-4B39-8E85-1A82A273F473", - "name": "timetable", - "codepoint": "F0520", - "aliases": [], - "styles": [ - "clock" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Austin Andrews" - }, - { - "id": "5F99B55B-0B1C-4FD7-B9F6-DD35A16DBCF1", - "baseIconId": "5F99B55B-0B1C-4FD7-B9F6-DD35A16DBCF1", - "name": "tire", - "codepoint": "F1896", - "aliases": [ - "tyre", - "wheel" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Automotive", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5042FF4E-78E5-43D5-B992-1AAEAE51AB25", - "baseIconId": "5042FF4E-78E5-43D5-B992-1AAEAE51AB25", - "name": "toaster", - "codepoint": "F1063", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "97660B13-F700-455E-9C04-CACAC4450118", - "baseIconId": "5042FF4E-78E5-43D5-B992-1AAEAE51AB25", - "name": "toaster-off", - "codepoint": "F11B7", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "BA8D8327-7F94-4BB9-8199-9C012BAAF549", - "baseIconId": "62F69C7A-4CBA-444A-8BFE-E5B7A891CF5D", - "name": "toaster-oven", - "codepoint": "F0CD3", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Home Automation", - "Food \/ Drink" - ], - "author": "GreenTurtwig" - }, - { - "id": "D1AD4F4E-3CFE-4F51-932D-D3942A26C418", - "baseIconId": "D1AD4F4E-3CFE-4F51-932D-D3942A26C418", - "name": "toggle-switch", - "codepoint": "F0521", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A54ADA14-0917-432E-9288-3364FBAEBCE2", - "baseIconId": "D1AD4F4E-3CFE-4F51-932D-D3942A26C418", - "name": "toggle-switch-off", - "codepoint": "F0522", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "1DCEDC73-941F-4412-B0B7-B7042888F91A", - "baseIconId": "D1AD4F4E-3CFE-4F51-932D-D3942A26C418", - "name": "toggle-switch-off-outline", - "codepoint": "F0A19", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "2645C66C-41C1-4536-9BB5-4530B8C8E89B", - "baseIconId": "D1AD4F4E-3CFE-4F51-932D-D3942A26C418", - "name": "toggle-switch-outline", - "codepoint": "F0A1A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "7B449AE2-593A-435F-A5C2-FEA8E1BE0FBB", - "baseIconId": "D1AD4F4E-3CFE-4F51-932D-D3942A26C418", - "name": "toggle-switch-variant", - "codepoint": "F1A25", - "aliases": [ - "light-switch-on" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Matthias de Baat" - }, - { - "id": "E22551ED-0CEC-46B4-9CAE-FF9CC5C11CF2", - "baseIconId": "D1AD4F4E-3CFE-4F51-932D-D3942A26C418", - "name": "toggle-switch-variant-off", - "codepoint": "F1A26", - "aliases": [ - "light-switch-off", - "rocker-switch-off" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Matthias de Baat" - }, - { - "id": "5A1815F9-FC9E-4420-B723-AF4B324262A4", - "baseIconId": "5A1815F9-FC9E-4420-B723-AF4B324262A4", - "name": "toilet", - "codepoint": "F09AB", - "aliases": [ - "bathroom", - "lavatory", - "bidet" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Augustin Ursu" - }, - { - "id": "79D1B3B8-FC3E-4978-AA8E-C78A1360B880", - "baseIconId": "79D1B3B8-FC3E-4978-AA8E-C78A1360B880", - "name": "toolbox", - "codepoint": "F09AC", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "F016813A-4390-482A-8FFF-D081FDD21362", - "baseIconId": "79D1B3B8-FC3E-4978-AA8E-C78A1360B880", - "name": "toolbox-outline", - "codepoint": "F09AD", - "aliases": [ - "service-toolbox" - ], - "styles": [ - "outline" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "CF5ABC25-55E6-4B19-B338-85F45926DEE1", - "baseIconId": "CF5ABC25-55E6-4B19-B338-85F45926DEE1", - "name": "tools", - "codepoint": "F1064", - "aliases": [ - "wrench", - "screwdriver" - ], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Richins" - }, - { - "id": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip", - "codepoint": "F0523", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "CA087C29-F27F-4DBE-8617-1369C18DF51D", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-account", - "codepoint": "F000C", - "aliases": [ - "tooltip-user", - "tooltip-person", - "account-location" - ], - "styles": [ - "account" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Account \/ User", - "Tooltip" - ], - "author": "Google" - }, - { - "id": "F2CBC47D-4716-44EB-81E0-71915241860E", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-cellphone", - "codepoint": "F183B", - "aliases": [ - "cellphone-location", - "cellphone-gps", - "find-my-phone" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Tooltip" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B2FDABD3-4E66-461C-8DC0-10D9A18441B8", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-check", - "codepoint": "F155C", - "aliases": [], - "styles": [ - "check" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Colton Wiscombe" - }, - { - "id": "255D95B4-1A63-408F-9CED-17AE2D05F38B", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-check-outline", - "codepoint": "F155D", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C1684CDD-9C71-4A10-B3BA-5B26706B3B28", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-edit", - "codepoint": "F0524", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Tooltip", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B9D8D642-EFDD-4AFF-B1CD-86AB7E914347", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-edit-outline", - "codepoint": "F12C5", - "aliases": [], - "styles": [], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify", - "Tooltip" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1DF33E50-EBEA-4A62-8455-84C28271C8D2", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-image", - "codepoint": "F0525", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "9E49D099-C7CD-42A3-BFA1-8AC8966898B5", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-image-outline", - "codepoint": "F0BD5", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "A8D3907B-9528-4EB0-AB75-EA6013F042F1", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-minus", - "codepoint": "F155E", - "aliases": [], - "styles": [ - "minus" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Colton Wiscombe" - }, - { - "id": "674242D7-81B2-4C9E-BC60-3F96AD379C52", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-minus-outline", - "codepoint": "F155F", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C14A3C70-357F-4AE8-963C-B45ED543A4DB", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-outline", - "codepoint": "F0526", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "E1ED044C-BD73-4844-A33D-7ED9A1D232F5", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-plus", - "codepoint": "F0BD6", - "aliases": [ - "tooltip-add" - ], - "styles": [ - "plus" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "CAA5F3A3-2044-48AC-94CA-04899F9459ED", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-plus-outline", - "codepoint": "F0527", - "aliases": [ - "tooltip-outline-plus", - "tooltip-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "99CABA6D-9506-4EC7-8721-8CE38B157E75", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-question", - "codepoint": "F1BBA", - "aliases": [ - "tooltip-help" - ], - "styles": [ - "question" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Jeff Anders" - }, - { - "id": "CD2A99C9-F223-42EB-BD90-5786EACF9A52", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-question-outline", - "codepoint": "F1BBB", - "aliases": [ - "tooltip-help-outline" - ], - "styles": [ - "outline", - "question" - ], - "version": "7.1.96", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Jeff Anders" - }, - { - "id": "A54A45EF-9C4B-4AFB-8734-610B14D521A5", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-remove", - "codepoint": "F1560", - "aliases": [], - "styles": [ - "remove" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Colton Wiscombe" - }, - { - "id": "192D99F7-B04B-476A-B638-70F27A7FF1E6", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-remove-outline", - "codepoint": "F1561", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "5.5.55", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B608ACE2-279D-4C66-9169-32BD86BDF5F3", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-text", - "codepoint": "F0528", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "B0E2F01D-A8A8-4945-A0C2-FB1866C2C1F2", - "baseIconId": "D6AD70EE-33F4-4C3A-8ED1-3CD3236222F8", - "name": "tooltip-text-outline", - "codepoint": "F0BD7", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Tooltip" - ], - "author": "Austin Andrews" - }, - { - "id": "486D33E1-B181-40D4-B088-BBB49221B91F", - "baseIconId": "486D33E1-B181-40D4-B088-BBB49221B91F", - "name": "tooth", - "codepoint": "F08C3", - "aliases": [ - "dentist" - ], - "styles": [], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Christopher Schreiner" - }, - { - "id": "BFD05B50-CF42-49C4-B76D-447DB0AEFEEE", - "baseIconId": "486D33E1-B181-40D4-B088-BBB49221B91F", - "name": "tooth-outline", - "codepoint": "F0529", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Christopher Schreiner" - }, - { - "id": "1BA32EF0-94A2-4F7E-BD93-5A9102143F8E", - "baseIconId": "1BA32EF0-94A2-4F7E-BD93-5A9102143F8E", - "name": "toothbrush", - "codepoint": "F1129", - "aliases": [ - "dentist", - "oral-hygiene" - ], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6CC31B35-04D6-4883-A0CF-3CD35E81AB98", - "baseIconId": "1BA32EF0-94A2-4F7E-BD93-5A9102143F8E", - "name": "toothbrush-electric", - "codepoint": "F112C", - "aliases": [ - "dentist", - "oral-hygiene" - ], - "styles": [ - "variant" - ], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Simran" - }, - { - "id": "E06A1B1A-ACE7-43AD-BC75-5C3191D0AB1D", - "baseIconId": "1BA32EF0-94A2-4F7E-BD93-5A9102143F8E", - "name": "toothbrush-paste", - "codepoint": "F112A", - "aliases": [ - "dentist", - "oral-hygiene" - ], - "styles": [ - "variant" - ], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Simran" - }, - { - "id": "5E37234B-E874-4FB7-AC74-BD836129C433", - "baseIconId": "5E37234B-E874-4FB7-AC74-BD836129C433", - "name": "torch", - "codepoint": "F1606", - "aliases": [ - "olympics" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E66ECEE5-0382-4406-B0AB-CFE819AE7684", - "baseIconId": "E66ECEE5-0382-4406-B0AB-CFE819AE7684", - "name": "tortoise", - "codepoint": "F0D3B", - "aliases": [ - "turtle", - "reptile" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Nick" - }, - { - "id": "207A1D36-F4A1-4ACB-B588-7BEA51C2E285", - "baseIconId": "207A1D36-F4A1-4ACB-B588-7BEA51C2E285", - "name": "toslink", - "codepoint": "F12B8", - "aliases": [ - "optical-audio" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1502E0E9-3E1B-43A4-A23A-B7A48BB68FDB", - "baseIconId": "1502E0E9-3E1B-43A4-A23A-B7A48BB68FDB", - "name": "touch-text-outline", - "codepoint": "F1C60", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Jackie Yang" - }, - { - "id": "E2623132-7507-4FFD-8382-E192DDC62D17", - "baseIconId": "E2623132-7507-4FFD-8382-E192DDC62D17", - "name": "tournament", - "codepoint": "F09AE", - "aliases": [ - "bracket" - ], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Sport" - ], - "author": "GreenTurtwig" - }, - { - "id": "BC8926AA-02C6-4755-B5A8-D3BD29C2CDE0", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "tow-truck", - "codepoint": "F083C", - "aliases": [ - "auto-towing", - "truck" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "70D21CFE-DC3C-4615-9524-4CD2F2FDC44E", - "baseIconId": "70D21CFE-DC3C-4615-9524-4CD2F2FDC44E", - "name": "tower-beach", - "codepoint": "F0681", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Thomas Hunsaker" - }, - { - "id": "11E0C03B-7522-4247-B0D3-F04AE1ECB166", - "baseIconId": "11E0C03B-7522-4247-B0D3-F04AE1ECB166", - "name": "tower-fire", - "codepoint": "F0682", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Thomas Hunsaker" - }, - { - "id": "C0E839BC-5537-4219-8040-24466FB2F311", - "baseIconId": "C0E839BC-5537-4219-8040-24466FB2F311", - "name": "town-hall", - "codepoint": "F1875", - "aliases": [ - "school" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "nilsfast" - }, - { - "id": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick", - "codepoint": "F1288", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "602DF6D1-21C6-4540-960D-79D7C37AECF9", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-marker", - "codepoint": "F1289", - "aliases": [ - "lego", - "plugin", - "extension", - "lego-location", - "toy-brick-location" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "6EE7FD45-3389-4007-A362-0EDB4B9DF9BD", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-marker-outline", - "codepoint": "F128A", - "aliases": [ - "extension-outline", - "lego-location-outline", - "toy-brick-location-outline", - "plugin-outline", - "lego-outline" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Michael Richins" - }, - { - "id": "03BB26E3-61C3-4FCF-9532-056FC8DC1E4D", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-minus", - "codepoint": "F128B", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BA71CE05-DEA6-4638-AF5C-2194D6FB946E", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-minus-outline", - "codepoint": "F128C", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "E178F91C-A54C-41B1-892F-F17A96283D14", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-outline", - "codepoint": "F128D", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "9426C325-5C35-40D8-9CA4-DA230CCC2736", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-plus", - "codepoint": "F128E", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A710B239-7C1A-4BDE-B337-AFEF3CD9E067", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-plus-outline", - "codepoint": "F128F", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "F5773738-AE3C-423C-8B64-6C951B9A4B3A", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-remove", - "codepoint": "F1290", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "497261EB-0B21-4829-8659-1B1EB39043D1", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-remove-outline", - "codepoint": "F1291", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "AEED3DA4-5EAF-4630-BA5B-6E4675E29FA1", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-search", - "codepoint": "F1292", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "86074918-B854-4C06-AAD5-C02EA910A6A2", - "baseIconId": "DDCE3E75-1E43-45A9-8D94-E24CFD8284B0", - "name": "toy-brick-search-outline", - "codepoint": "F1293", - "aliases": [ - "lego", - "plugin", - "extension" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6BF0AEDF-F822-460F-8CEB-AEF0D83815F5", - "baseIconId": "6BF0AEDF-F822-460F-8CEB-AEF0D83815F5", - "name": "track-light", - "codepoint": "F0914", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "04986CC2-FE3B-4997-935E-EEE86DEA657A", - "baseIconId": "6BF0AEDF-F822-460F-8CEB-AEF0D83815F5", - "name": "track-light-off", - "codepoint": "F1B01", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "C06AFD8C-C769-41B1-8E5C-355CE5DBEE8E", - "baseIconId": "C06AFD8C-C769-41B1-8E5C-355CE5DBEE8E", - "name": "trackpad", - "codepoint": "F07F8", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "92AB470E-CDB3-43F8-A299-D32C94043D83", - "baseIconId": "C06AFD8C-C769-41B1-8E5C-355CE5DBEE8E", - "name": "trackpad-lock", - "codepoint": "F0933", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.3.54", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "D5993895-5ECF-4B4A-8C84-7E3D9C1F6ADB", - "baseIconId": "D5993895-5ECF-4B4A-8C84-7E3D9C1F6ADB", - "name": "tractor", - "codepoint": "F0892", - "aliases": [ - "farm" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Agriculture", - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "C80B9924-A19D-440E-8543-E1E232FAA90B", - "baseIconId": "D5993895-5ECF-4B4A-8C84-7E3D9C1F6ADB", - "name": "tractor-variant", - "codepoint": "F14C4", - "aliases": [ - "agriculture" - ], - "styles": [ - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Google" - }, - { - "id": "E1849947-175A-4347-BFC7-D8C7811F0B2B", - "baseIconId": "E1849947-175A-4347-BFC7-D8C7811F0B2B", - "name": "trademark", - "codepoint": "F0A78", - "aliases": [ - "tm" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "BA597840-6D3A-4D89-B8DC-63C5B2DA6638", - "baseIconId": "BA597840-6D3A-4D89-B8DC-63C5B2DA6638", - "name": "traffic-cone", - "codepoint": "F137C", - "aliases": [], - "styles": [], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "073B4489-5787-432C-9D10-50B270182D34", - "baseIconId": "073B4489-5787-432C-9D10-50B270182D34", - "name": "traffic-light", - "codepoint": "F052B", - "aliases": [ - "traffic-signal", - "stop-light" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "912B0C1C-8E8A-4AA4-9166-C1BCCC85BDF9", - "baseIconId": "073B4489-5787-432C-9D10-50B270182D34", - "name": "traffic-light-outline", - "codepoint": "F182A", - "aliases": [ - "traffic-signal-outline", - "stop-light-outline" - ], - "styles": [ - "outline" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "B6E1232A-3A43-4200-BE34-1BC436B34BF1", - "baseIconId": "B6E1232A-3A43-4200-BE34-1BC436B34BF1", - "name": "train", - "codepoint": "F052C", - "aliases": [ - "directions-railway", - "locomotive", - "railroad" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "20588836-2EC7-467D-9E72-15D3C4FE7C93", - "baseIconId": "B6E1232A-3A43-4200-BE34-1BC436B34BF1", - "name": "train-car", - "codepoint": "F0BD8", - "aliases": [ - "commute", - "transportation", - "travel" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "BDD26393-231D-4F57-ACEE-302525377A8D", - "baseIconId": "BDD26393-231D-4F57-ACEE-302525377A8D", - "name": "train-car-autorack", - "codepoint": "F1B2D", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8DF65675-7278-40D7-BA32-B7A3251051F4", - "baseIconId": "8DF65675-7278-40D7-BA32-B7A3251051F4", - "name": "train-car-box", - "codepoint": "F1B2E", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C419A958-3875-46FC-BED3-07C409C4FC82", - "baseIconId": "C419A958-3875-46FC-BED3-07C409C4FC82", - "name": "train-car-box-full", - "codepoint": "F1B2F", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3891AAAF-6681-44D3-955A-B0099F136716", - "baseIconId": "3891AAAF-6681-44D3-955A-B0099F136716", - "name": "train-car-box-open", - "codepoint": "F1B30", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F358F596-31EA-4304-A06E-1AAB158DA527", - "baseIconId": "F358F596-31EA-4304-A06E-1AAB158DA527", - "name": "train-car-caboose", - "codepoint": "F1B31", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D8D0E296-67AA-4BA1-9268-46D29BF7113E", - "baseIconId": "D8D0E296-67AA-4BA1-9268-46D29BF7113E", - "name": "train-car-centerbeam", - "codepoint": "F1B32", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "58F04478-F917-48D8-974E-C02CCA88085A", - "baseIconId": "58F04478-F917-48D8-974E-C02CCA88085A", - "name": "train-car-centerbeam-full", - "codepoint": "F1B33", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "6EC41725-E54E-405F-AFCC-6CB7B1D1E529", - "baseIconId": "6EC41725-E54E-405F-AFCC-6CB7B1D1E529", - "name": "train-car-container", - "codepoint": "F1B34", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "10D3216B-36F7-4151-B875-53136AE56E27", - "baseIconId": "10D3216B-36F7-4151-B875-53136AE56E27", - "name": "train-car-flatbed", - "codepoint": "F1B35", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A8C14CC3-D012-4822-8D89-A53EBAFA503E", - "baseIconId": "A8C14CC3-D012-4822-8D89-A53EBAFA503E", - "name": "train-car-flatbed-car", - "codepoint": "F1B36", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D2CF0BD5-C3D2-47E9-B1D4-C90F3D22050D", - "baseIconId": "D2CF0BD5-C3D2-47E9-B1D4-C90F3D22050D", - "name": "train-car-flatbed-tank", - "codepoint": "F1B37", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "89CDC858-78E9-4358-8FC7-19E3CAA0F2F3", - "baseIconId": "89CDC858-78E9-4358-8FC7-19E3CAA0F2F3", - "name": "train-car-gondola", - "codepoint": "F1B38", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "5B2EA1B8-10D5-4770-812F-3CC3ADF33B59", - "baseIconId": "5B2EA1B8-10D5-4770-812F-3CC3ADF33B59", - "name": "train-car-gondola-full", - "codepoint": "F1B39", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BADFBFC4-21C7-4BDA-B6A7-16C83B32C37C", - "baseIconId": "BADFBFC4-21C7-4BDA-B6A7-16C83B32C37C", - "name": "train-car-hopper", - "codepoint": "F1B3A", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "154D64C8-79CC-4389-87B0-BDC5941D3B47", - "baseIconId": "154D64C8-79CC-4389-87B0-BDC5941D3B47", - "name": "train-car-hopper-covered", - "codepoint": "F1B3B", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "76561F30-B98D-49D1-9369-9B95DF14D863", - "baseIconId": "76561F30-B98D-49D1-9369-9B95DF14D863", - "name": "train-car-hopper-full", - "codepoint": "F1B3C", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "E4050AC7-118E-45F6-8A87-571F9C52A02B", - "baseIconId": "E4050AC7-118E-45F6-8A87-571F9C52A02B", - "name": "train-car-intermodal", - "codepoint": "F1B3D", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "04821E67-5037-46E7-8F5E-740C7EBFAC1D", - "baseIconId": "04821E67-5037-46E7-8F5E-740C7EBFAC1D", - "name": "train-car-passenger", - "codepoint": "F1733", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "9F9E31CB-361B-40D6-8754-157401124ED2", - "baseIconId": "04821E67-5037-46E7-8F5E-740C7EBFAC1D", - "name": "train-car-passenger-door", - "codepoint": "F1734", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "042CE4C4-087F-49EC-9F67-A5467318C068", - "baseIconId": "04821E67-5037-46E7-8F5E-740C7EBFAC1D", - "name": "train-car-passenger-door-open", - "codepoint": "F1735", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1A9FFFAE-5581-4E22-B87C-3798A9E97FD1", - "baseIconId": "04821E67-5037-46E7-8F5E-740C7EBFAC1D", - "name": "train-car-passenger-variant", - "codepoint": "F1736", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "58D39303-215B-4530-AA97-74BCC0AE450B", - "baseIconId": "58D39303-215B-4530-AA97-74BCC0AE450B", - "name": "train-car-tank", - "codepoint": "F1B3E", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "C0A4E604-3829-4605-A7BC-CA0BFF138B18", - "baseIconId": "B6E1232A-3A43-4200-BE34-1BC436B34BF1", - "name": "train-variant", - "codepoint": "F08C4", - "aliases": [ - "locomotive-variant", - "railroad-variant" - ], - "styles": [ - "variant" - ], - "version": "2.2.43", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "13AE3C37-5323-4FE6-86F7-3B30B635969F", - "baseIconId": "13AE3C37-5323-4FE6-86F7-3B30B635969F", - "name": "tram", - "codepoint": "F052D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Navigation", - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "BEB0D58A-A99B-40FE-9E6C-C81218E683F8", - "baseIconId": "13AE3C37-5323-4FE6-86F7-3B30B635969F", - "name": "tram-side", - "codepoint": "F0FE7", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Google" - }, - { - "id": "6DD88A18-582D-400D-A5AB-12996F26A05D", - "baseIconId": "6DD88A18-582D-400D-A5AB-12996F26A05D", - "name": "transcribe", - "codepoint": "F052E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "2D2FB32D-B253-4D3E-BA04-7AD5D5FE2C2E", - "baseIconId": "6DD88A18-582D-400D-A5AB-12996F26A05D", - "name": "transcribe-close", - "codepoint": "F052F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E9B887E6-76B3-45D5-8F69-43982EE59423", - "baseIconId": "E9B887E6-76B3-45D5-8F69-43982EE59423", - "name": "transfer", - "codepoint": "F1065", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "D4CB36CD-4F30-45BE-940D-CC2AFFCA078A", - "baseIconId": "3821BF79-5857-47BE-84E3-A100B7247535", - "name": "transfer-down", - "codepoint": "F0DA1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "03FA1C8F-8808-4293-A12A-7D9B7F8890D4", - "baseIconId": "C21995A9-094F-4EA8-9127-BA0506B240A6", - "name": "transfer-left", - "codepoint": "F0DA2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "D2895587-8DBA-4EDC-8624-3A32C20AB638", - "baseIconId": "05F25B05-A6D6-4863-8B21-6969E10329CF", - "name": "transfer-right", - "codepoint": "F0530", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Austin Andrews" - }, - { - "id": "A7928BA3-AC13-42A2-9AC2-5AFBD60E3243", - "baseIconId": "3AF49B97-A909-4961-9FBB-82C60D7CC773", - "name": "transfer-up", - "codepoint": "F0DA3", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "Michael Richins" - }, - { - "id": "370C931A-E40F-4950-B9CE-87D337720400", - "baseIconId": "370C931A-E40F-4950-B9CE-87D337720400", - "name": "transit-connection", - "codepoint": "F0D3C", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5F428B0A-E91D-48E5-8896-0CE072C919E4", - "baseIconId": "370C931A-E40F-4950-B9CE-87D337720400", - "name": "transit-connection-horizontal", - "codepoint": "F1546", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Jeff Anders" - }, - { - "id": "9E27C6FE-B44C-4A92-BDD7-A546A4F83E9D", - "baseIconId": "370C931A-E40F-4950-B9CE-87D337720400", - "name": "transit-connection-variant", - "codepoint": "F0D3D", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Navigation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "247F5D41-FA03-4D63-97AF-B39A4D4A7BFC", - "baseIconId": "370C931A-E40F-4950-B9CE-87D337720400", - "name": "transit-detour", - "codepoint": "F0F8B", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Navigation" - ], - "author": "Myron Netterlund" - }, - { - "id": "A52E6E56-7AE7-45E3-B854-A2DF41F3141B", - "baseIconId": "370C931A-E40F-4950-B9CE-87D337720400", - "name": "transit-skip", - "codepoint": "F1515", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Jeff Anders" - }, - { - "id": "CE6451FA-EF46-40B4-B87B-BCF93DDE6E54", - "baseIconId": "DA42DA16-21E0-4A08-89E4-F634EBBCF85A", - "name": "transit-transfer", - "codepoint": "F06AE", - "aliases": [ - "transfer-within-a-station" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Transportation + Other", - "Navigation" - ], - "author": "Google" - }, - { - "id": "2650CA0F-8423-4DE2-A821-9D7D1E5547C0", - "baseIconId": "2650CA0F-8423-4DE2-A821-9D7D1E5547C0", - "name": "transition", - "codepoint": "F0915", - "aliases": [ - "animation", - "motion", - "translate" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "D254EE82-37CA-4897-BE12-6FD0ED708E38", - "baseIconId": "2650CA0F-8423-4DE2-A821-9D7D1E5547C0", - "name": "transition-masked", - "codepoint": "F0916", - "aliases": [ - "masked-transitions" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4486DD26-4110-457E-BBD7-B5D19DF72E4E", - "baseIconId": "4486DD26-4110-457E-BBD7-B5D19DF72E4E", - "name": "translate", - "codepoint": "F05CA", - "aliases": [ - "language" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "B65945C4-51D4-464A-985F-E6F9995BE40D", - "baseIconId": "4486DD26-4110-457E-BBD7-B5D19DF72E4E", - "name": "translate-off", - "codepoint": "F0E06", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Joshua Solomon" - }, - { - "id": "F2BD1021-2575-4F57-A18A-F746EE262E15", - "baseIconId": "4486DD26-4110-457E-BBD7-B5D19DF72E4E", - "name": "translate-variant", - "codepoint": "F1B99", - "aliases": [ - "spoken-language" - ], - "styles": [ - "variant" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DBA97655-B2ED-4FA6-95E0-02E7273549C9", - "baseIconId": "DBA97655-B2ED-4FA6-95E0-02E7273549C9", - "name": "transmission-tower", - "codepoint": "F0D3E", - "aliases": [ - "pylon", - "powerline", - "electricity", - "energy", - "power", - "grid" - ], - "styles": [], - "version": "3.3.92", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F1AC7C0E-CA03-4ED0-AFE9-CE0CEB3C9806", - "baseIconId": "DBA97655-B2ED-4FA6-95E0-02E7273549C9", - "name": "transmission-tower-export", - "codepoint": "F192C", - "aliases": [ - "power-from-grid", - "energy-from-grid", - "electricity-from-grid" - ], - "styles": [ - "arrow" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7CCBC365-A3F5-46BA-869B-AADA93F5D027", - "baseIconId": "DBA97655-B2ED-4FA6-95E0-02E7273549C9", - "name": "transmission-tower-import", - "codepoint": "F192D", - "aliases": [ - "power-to-grid", - "energy-to-grid", - "electricity-to-grid", - "return-to-grid" - ], - "styles": [ - "arrow" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C54CC9F5-7BCA-4368-B379-E0CCD221A567", - "baseIconId": "DBA97655-B2ED-4FA6-95E0-02E7273549C9", - "name": "transmission-tower-off", - "codepoint": "F19DD", - "aliases": [ - "powerline-off", - "pylon-off", - "grid-off" - ], - "styles": [ - "off" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Simran" - }, - { - "id": "260712C5-252B-484C-B5A7-33827BBC5487", - "baseIconId": "260712C5-252B-484C-B5A7-33827BBC5487", - "name": "trash-can", - "codepoint": "F0A79", - "aliases": [ - "delete", - "rubbish-bin", - "trashcan", - "garbage-can" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "A586B5B1-1D48-4BC8-B31C-F8E93DC8CD49", - "baseIconId": "260712C5-252B-484C-B5A7-33827BBC5487", - "name": "trash-can-outline", - "codepoint": "F0A7A", - "aliases": [ - "delete-outline", - "rubbish-bin-outline", - "trashcan-outline", - "garbage-can-outline" - ], - "styles": [ - "outline" - ], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray", - "codepoint": "F1294", - "aliases": [ - "queue", - "printer", - "inbox" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A1CCEE33-5CCA-43B9-B056-23F3EAFBE506", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray-alert", - "codepoint": "F1295", - "aliases": [ - "queue", - "printer", - "inbox" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Michael Richins" - }, - { - "id": "8B1B6ED1-8AA5-4888-8477-B122FB236E1D", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray-arrow-down", - "codepoint": "F0120", - "aliases": [ - "tray-download" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "arnoldlepineux" - }, - { - "id": "C633DDA7-FB93-4041-98C2-92117B970114", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray-arrow-up", - "codepoint": "F011D", - "aliases": [ - "tray-upload" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Arrow" - ], - "author": "arnoldlepineux" - }, - { - "id": "B81435D3-9FE4-470D-A46A-7FEDA1773D15", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray-full", - "codepoint": "F1296", - "aliases": [ - "queue", - "printer", - "inbox" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "F7F07C92-4531-466D-AC3E-F7822D2FDFBD", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray-minus", - "codepoint": "F1297", - "aliases": [ - "queue", - "printer", - "inbox" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "BF55355C-56CC-4C1F-9136-D92AA0800706", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray-plus", - "codepoint": "F1298", - "aliases": [ - "queue", - "printer", - "inbox" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "FACF04CD-2633-47EC-97BE-59A3341289C3", - "baseIconId": "F9A7F6AA-7379-4215-A97A-0E2FCAF3A9ED", - "name": "tray-remove", - "codepoint": "F1299", - "aliases": [ - "queue", - "printer", - "inbox" - ], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "A0678E6D-C3D3-42AB-B9E7-C1B12D368B70", - "baseIconId": "A0678E6D-C3D3-42AB-B9E7-C1B12D368B70", - "name": "treasure-chest", - "codepoint": "F0726", - "aliases": [ - "jewelry-box", - "jewel-case" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Shopping", - "Lock" - ], - "author": "Alex Efremo" - }, - { - "id": "234877A7-B920-4592-8305-EFF7AFE3E13C", - "baseIconId": "A0678E6D-C3D3-42AB-B9E7-C1B12D368B70", - "name": "treasure-chest-outline", - "codepoint": "F1C77", - "aliases": [ - "jewel-case-outline", - "jewelry-box-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Gaming \/ RPG", - "Lock", - "Shopping" - ], - "author": "Jeff Anders" - }, - { - "id": "58E298BD-F32E-420D-9E55-BDB44D583AB7", - "baseIconId": "58E298BD-F32E-420D-9E55-BDB44D583AB7", - "name": "tree", - "codepoint": "F0531", - "aliases": [ - "plant" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "81548212-EBFA-48B0-B0EB-D95EB5C0CC91", - "baseIconId": "58E298BD-F32E-420D-9E55-BDB44D583AB7", - "name": "tree-outline", - "codepoint": "F0E69", - "aliases": [ - "plant" - ], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Nature", - "Agriculture" - ], - "author": "Simran" - }, - { - "id": "25CA8276-A876-459D-B203-C81C58F88342", - "baseIconId": "25CA8276-A876-459D-B203-C81C58F88342", - "name": "trello", - "codepoint": "F0532", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "ACC5BB4D-9439-472F-9DD5-F026FF36D023", - "baseIconId": "ACC5BB4D-9439-472F-9DD5-F026FF36D023", - "name": "trending-down", - "codepoint": "F0533", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A39F489B-ABB1-4420-A6DC-20AF0E2CF6DA", - "baseIconId": "A39F489B-ABB1-4420-A6DC-20AF0E2CF6DA", - "name": "trending-neutral", - "codepoint": "F0534", - "aliases": [ - "trending-flat" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "4277434D-74AD-48E7-9C5F-BB7226C4FC39", - "baseIconId": "4277434D-74AD-48E7-9C5F-BB7226C4FC39", - "name": "trending-up", - "codepoint": "F0535", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "78EC62FE-EC63-407F-BCF3-92C441398DDA", - "baseIconId": "78EC62FE-EC63-407F-BCF3-92C441398DDA", - "name": "triangle", - "codepoint": "F0536", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Simran" - }, - { - "id": "D7A8DF8D-096F-420D-B14C-5F523A5171CF", - "baseIconId": "78EC62FE-EC63-407F-BCF3-92C441398DDA", - "name": "triangle-down", - "codepoint": "F1C56", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "ED39F995-49AB-4F63-9EEB-A5CAE8FDBE7F", - "baseIconId": "78EC62FE-EC63-407F-BCF3-92C441398DDA", - "name": "triangle-down-outline", - "codepoint": "F1C57", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "74A6BF3E-CEC2-40C3-A900-109D5E05E218", - "baseIconId": "78EC62FE-EC63-407F-BCF3-92C441398DDA", - "name": "triangle-outline", - "codepoint": "F0537", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Simran" - }, - { - "id": "C5F5CD46-5905-406B-8C0B-7109E8393218", - "baseIconId": "78EC62FE-EC63-407F-BCF3-92C441398DDA", - "name": "triangle-small-down", - "codepoint": "F1A09", - "aliases": [ - "trending-down-variant" - ], - "styles": [ - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "D7C0A028-070C-4E9B-88B8-910365A3FE41", - "baseIconId": "78EC62FE-EC63-407F-BCF3-92C441398DDA", - "name": "triangle-small-up", - "codepoint": "F1A0A", - "aliases": [ - "trending-up-variant" - ], - "styles": [ - "variant" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Shape" - ], - "author": "Jeff Anders" - }, - { - "id": "59CAC75D-7028-4672-9EC2-1B9E797BA9D1", - "baseIconId": "59CAC75D-7028-4672-9EC2-1B9E797BA9D1", - "name": "triangle-wave", - "codepoint": "F147C", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Haley Halcyon" - }, - { - "id": "835C3AA9-800B-4767-BDED-97FB875B19DF", - "baseIconId": "835C3AA9-800B-4767-BDED-97FB875B19DF", - "name": "triforce", - "codepoint": "F0BD9", - "aliases": [ - "zelda" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Gaming \/ RPG" - ], - "author": "Austin Andrews" - }, - { - "id": "0B9368A1-FC31-4D0D-8909-C2D44DCC0B83", - "baseIconId": "0B9368A1-FC31-4D0D-8909-C2D44DCC0B83", - "name": "trophy", - "codepoint": "F0538", - "aliases": [ - "achievement" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Doug C. Hardester" - }, - { - "id": "39F70CE8-5C56-4AAB-A4F7-93F871B1CB96", - "baseIconId": "0B9368A1-FC31-4D0D-8909-C2D44DCC0B83", - "name": "trophy-award", - "codepoint": "F0539", - "aliases": [ - "achievement-award" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Doug C. Hardester" - }, - { - "id": "3AC48F23-1321-4B8E-80D7-B050CCBA0255", - "baseIconId": "0B9368A1-FC31-4D0D-8909-C2D44DCC0B83", - "name": "trophy-broken", - "codepoint": "F0DA4", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Nikos Pappas" - }, - { - "id": "D7B01958-C212-49B9-B58B-146B4017348C", - "baseIconId": "0B9368A1-FC31-4D0D-8909-C2D44DCC0B83", - "name": "trophy-outline", - "codepoint": "F053A", - "aliases": [ - "achievement-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Simran" - }, - { - "id": "C6664923-EE26-4175-90CB-AD87B517F2FF", - "baseIconId": "0B9368A1-FC31-4D0D-8909-C2D44DCC0B83", - "name": "trophy-variant", - "codepoint": "F053B", - "aliases": [ - "achievement-variant" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Doug C. Hardester" - }, - { - "id": "C3A5133F-0462-40DB-863A-3659FC5DFE0E", - "baseIconId": "0B9368A1-FC31-4D0D-8909-C2D44DCC0B83", - "name": "trophy-variant-outline", - "codepoint": "F053C", - "aliases": [ - "achievement-variant-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Simran" - }, - { - "id": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck", - "codepoint": "F053D", - "aliases": [ - "lorry", - "local-shipping", - "courier" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "8650D94A-71BC-4B6B-9BA9-A6A2A756063C", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-alert", - "codepoint": "F19DE", - "aliases": [ - "truck-error" - ], - "styles": [ - "alert" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "FCE10225-CA09-4B2E-8BE3-5B9D718B13D5", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-alert-outline", - "codepoint": "F19DF", - "aliases": [ - "truck-error-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "8C535C82-EAA1-431A-90AE-D0A5032024EB", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-cargo-container", - "codepoint": "F18D8", - "aliases": [ - "truck-shipping" - ], - "styles": [ - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Colton Wiscombe" - }, - { - "id": "39C645BD-15AE-42BE-B571-5744CB77E97D", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-check", - "codepoint": "F0CD4", - "aliases": [ - "truck-tick", - "lorry-check", - "courier-check" - ], - "styles": [ - "check" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "BCEE78F4-69D9-40FC-8174-D299610C0690", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-check-outline", - "codepoint": "F129A", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "D0EB091D-C62C-4A93-9AE4-AE942F5738C7", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-delivery", - "codepoint": "F053E", - "aliases": [ - "lorry-delivery" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Simran" - }, - { - "id": "E65E8E41-4516-4C25-B3C1-F6B71894B5B2", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-delivery-outline", - "codepoint": "F129B", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "401AC514-6441-4DDC-80DC-48CF851C5B5E", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-fast", - "codepoint": "F0788", - "aliases": [ - "lorry-fast", - "courier-fast" - ], - "styles": [ - "variant" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "42696369-BAF9-4854-A57D-355F89630929", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-fast-outline", - "codepoint": "F129C", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Austin Andrews" - }, - { - "id": "4A29028B-25F3-423F-B924-BB93FAEC2DCF", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-flatbed", - "codepoint": "F1891", - "aliases": [ - "truck-flatbed-tow" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Automotive", - "Transportation + Road" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3F802DD6-094E-4C91-B78B-9790D1F39D9F", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-minus", - "codepoint": "F19AE", - "aliases": [ - "truck-subtract" - ], - "styles": [ - "minus" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "583767E2-4272-4483-99B5-5677E6EAB027", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-minus-outline", - "codepoint": "F19BD", - "aliases": [ - "truck-subtract-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Colton Wiscombe" - }, - { - "id": "BFDBF912-A62A-4E06-AC82-F0356BA02188", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-off-road", - "codepoint": "F1C9E", - "aliases": [], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Michael Richins" - }, - { - "id": "654D7249-607D-453A-A514-5DB3F5FFF86F", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-off-road-off", - "codepoint": "F1C9F", - "aliases": [], - "styles": [ - "off" - ], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Transportation + Other" - ], - "author": "Michael Richins" - }, - { - "id": "09111629-7960-46BA-A70E-DC85128E4F4A", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-outline", - "codepoint": "F129D", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Google" - }, - { - "id": "CE4CCBED-7E6E-4F0C-ADF9-AC3347BF897D", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-plus", - "codepoint": "F19AD", - "aliases": [ - "truck-add" - ], - "styles": [ - "plus" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Medical \/ Hospital" - ], - "author": "Michael Richins" - }, - { - "id": "E920C53D-E340-42C1-86D6-9A1317D9A584", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-plus-outline", - "codepoint": "F19BC", - "aliases": [ - "truck-add-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Medical \/ Hospital" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AD0B6233-8DDB-4E1F-85E4-63EB669C8E79", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-remove", - "codepoint": "F19AF", - "aliases": [], - "styles": [ - "remove" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "537D027D-BD0C-43DC-B772-1F0FD0E0041A", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-remove-outline", - "codepoint": "F19BE", - "aliases": [], - "styles": [ - "outline", - "remove" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Colton Wiscombe" - }, - { - "id": "EEE6A113-50D3-4216-B103-C60D857D7E31", - "baseIconId": "A0B91DEA-DB9A-4737-B2F4-26B805B88648", - "name": "truck-snowflake", - "codepoint": "F19A6", - "aliases": [ - "truck-refrigerator", - "truck-freezer" - ], - "styles": [ - "variant" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Erdem YILMAZ" - }, - { - "id": "6F488FA3-B882-443D-8619-0124217E267C", - "baseIconId": "CB49A868-3317-4445-BFED-13CB6533000E", - "name": "truck-trailer", - "codepoint": "F0727", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "Michael Richins" - }, - { - "id": "CCE02F94-2930-488B-A39C-17A8DD8BE591", - "baseIconId": "CCE02F94-2930-488B-A39C-17A8DD8BE591", - "name": "trumpet", - "codepoint": "F1096", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E46BD04B-78BF-4243-8608-46930051A694", - "baseIconId": "E46BD04B-78BF-4243-8608-46930051A694", - "name": "tshirt-crew", - "codepoint": "F0A7B", - "aliases": [ - "t-shirt-crew" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Michael Richins" - }, - { - "id": "6B67D149-AE33-40CF-997F-C57A7ECB8D42", - "baseIconId": "E46BD04B-78BF-4243-8608-46930051A694", - "name": "tshirt-crew-outline", - "codepoint": "F053F", - "aliases": [ - "t-shirt-crew-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Austin Andrews" - }, - { - "id": "618A5FB1-7308-4C2B-BCE1-461BA9DBFD13", - "baseIconId": "618A5FB1-7308-4C2B-BCE1-461BA9DBFD13", - "name": "tshirt-v", - "codepoint": "F0A7C", - "aliases": [ - "t-shirt-v" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Michael Richins" - }, - { - "id": "94791D5D-EEC5-4562-98DD-DF285E972EC8", - "baseIconId": "618A5FB1-7308-4C2B-BCE1-461BA9DBFD13", - "name": "tshirt-v-outline", - "codepoint": "F0540", - "aliases": [ - "t-shirt-v-outline" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Clothing" - ], - "author": "Austin Andrews" - }, - { - "id": "23DCD596-6B2A-4556-AF71-A37AE9FE4D99", - "baseIconId": "23DCD596-6B2A-4556-AF71-A37AE9FE4D99", - "name": "tsunami", - "codepoint": "F1A81", - "aliases": [], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Nature", - "Weather" - ], - "author": "Google" - }, - { - "id": "7796F195-34DA-4CAA-8F58-1179343EFB18", - "baseIconId": "7796F195-34DA-4CAA-8F58-1179343EFB18", - "name": "tumble-dryer", - "codepoint": "F0917", - "aliases": [ - "laundry-room" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "D21E17B9-0D84-4C21-977C-D1056E934449", - "baseIconId": "7796F195-34DA-4CAA-8F58-1179343EFB18", - "name": "tumble-dryer-alert", - "codepoint": "F11BA", - "aliases": [ - "laundry-room-alert" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E9DC2320-5FD4-403B-8445-9EB68B4468B6", - "baseIconId": "7796F195-34DA-4CAA-8F58-1179343EFB18", - "name": "tumble-dryer-off", - "codepoint": "F11BB", - "aliases": [ - "laundry-room-off" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B1F7C2ED-4017-4162-A4C7-31D8761D8DC3", - "baseIconId": "B1F7C2ED-4017-4162-A4C7-31D8761D8DC3", - "name": "tune", - "codepoint": "F062E", - "aliases": [ - "mixer-settings", - "equaliser", - "settings" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Settings", - "Audio" - ], - "author": "Google" - }, - { - "id": "B0AFC3B0-B718-407F-A51C-F4D932D7FCB2", - "baseIconId": "B1F7C2ED-4017-4162-A4C7-31D8761D8DC3", - "name": "tune-variant", - "codepoint": "F1542", - "aliases": [ - "settings", - "equalizer" - ], - "styles": [ - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Audio", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "AB147073-9D20-4DA1-A108-3856FC1764C1", - "baseIconId": "AB147073-9D20-4DA1-A108-3856FC1764C1", - "name": "tune-vertical", - "codepoint": "F066A", - "aliases": [ - "equaliser-vertical", - "instant-mix", - "settings-vertical", - "mixer-settings-vertical" - ], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [ - "Settings", - "Audio" - ], - "author": "Google" - }, - { - "id": "FF706504-28DF-4752-BD75-E50FFE794421", - "baseIconId": "AB147073-9D20-4DA1-A108-3856FC1764C1", - "name": "tune-vertical-variant", - "codepoint": "F1543", - "aliases": [ - "settings-vertical", - "equalizer-vertical" - ], - "styles": [ - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Audio", - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "316E6516-22BC-4191-9DF6-BB4FCA8ECCDE", - "baseIconId": "316E6516-22BC-4191-9DF6-BB4FCA8ECCDE", - "name": "tunnel", - "codepoint": "F183D", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1F64ACCA-5D8A-40FF-9E9A-CC640E9B9002", - "baseIconId": "316E6516-22BC-4191-9DF6-BB4FCA8ECCDE", - "name": "tunnel-outline", - "codepoint": "F183E", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Transportation + Road", - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "1F12944F-0802-431A-AA2C-7E0FEB23829B", - "baseIconId": "1F12944F-0802-431A-AA2C-7E0FEB23829B", - "name": "turbine", - "codepoint": "F1A82", - "aliases": [ - "jet-engine", - "wind-turbine" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Transportation + Flying" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "2BD0CF2B-70B8-4CFB-9350-A613C189EE7D", - "baseIconId": "2BD0CF2B-70B8-4CFB-9350-A613C189EE7D", - "name": "turkey", - "codepoint": "F171B", - "aliases": [ - "thanksgiving" - ], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [ - "Animal", - "Holiday", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "40E06CC0-82EE-4EE0-976B-C6388BBFDD9D", - "baseIconId": "40E06CC0-82EE-4EE0-976B-C6388BBFDD9D", - "name": "turnstile", - "codepoint": "F0CD5", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "22E6056D-46AF-4249-93DF-D0D5465DD6CA", - "baseIconId": "40E06CC0-82EE-4EE0-976B-C6388BBFDD9D", - "name": "turnstile-outline", - "codepoint": "F0CD6", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "36BB53AA-DFB4-46DB-AAD7-FE4D266D8EC7", - "baseIconId": "36BB53AA-DFB4-46DB-AAD7-FE4D266D8EC7", - "name": "turtle", - "codepoint": "F0CD7", - "aliases": [ - "reptile" - ], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Nick" - }, - { - "id": "8BA5EB2D-7C4F-4336-8994-20CAA433BB26", - "baseIconId": "8BA5EB2D-7C4F-4336-8994-20CAA433BB26", - "name": "twitch", - "codepoint": "F0543", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Social Media", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "A95F7C7C-DE85-4564-BA65-DEDCF3BE105A", - "baseIconId": "A95F7C7C-DE85-4564-BA65-DEDCF3BE105A", - "name": "twitter", - "codepoint": "F0544", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Social Media" - ], - "author": "Contributors" - }, - { - "id": "B4BC8D17-225E-44B1-A44F-3A6DC21C9A7B", - "baseIconId": "B4BC8D17-225E-44B1-A44F-3A6DC21C9A7B", - "name": "two-factor-authentication", - "codepoint": "F09AF", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "C5841F2E-EFD9-4589-BDB1-554DFE6A623C", - "baseIconId": "C5841F2E-EFD9-4589-BDB1-554DFE6A623C", - "name": "typewriter", - "codepoint": "F0F2D", - "aliases": [], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "F8C3B22E-D72C-4A1C-BCB8-A24CBB3CAF46", - "baseIconId": "F8C3B22E-D72C-4A1C-BCB8-A24CBB3CAF46", - "name": "ubisoft", - "codepoint": "F0BDA", - "aliases": [ - "uplay" - ], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "D0B38B4B-389B-49A8-9797-BE1092231DE9", - "baseIconId": "D0B38B4B-389B-49A8-9797-BE1092231DE9", - "name": "ubuntu", - "codepoint": "F0548", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D2609FE7-60FE-4372-94A9-7BB3C7AD18DE", - "baseIconId": "D2609FE7-60FE-4372-94A9-7BB3C7AD18DE", - "name": "ufo", - "codepoint": "F10C4", - "aliases": [ - "unidentified-flying-object", - "alien" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A0C08D07-838C-426F-8EA5-EBCA5C117684", - "baseIconId": "D2609FE7-60FE-4372-94A9-7BB3C7AD18DE", - "name": "ufo-outline", - "codepoint": "F10C5", - "aliases": [ - "unidentified-flying-object-outline", - "alien" - ], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "A7C08392-F82F-4910-8D0F-6A1907AE19E3", - "baseIconId": "A7C08392-F82F-4910-8D0F-6A1907AE19E3", - "name": "ultra-high-definition", - "codepoint": "F07F9", - "aliases": [ - "uhd" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Austin Andrews" - }, - { - "id": "EB029748-89CF-4E75-BBC9-9747BEF7AE29", - "baseIconId": "EB029748-89CF-4E75-BBC9-9747BEF7AE29", - "name": "umbraco", - "codepoint": "F0549", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "baseIconId": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "name": "umbrella", - "codepoint": "F054A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Simran" - }, - { - "id": "20EBCC12-192B-49F0-9641-C61D7B8CD33A", - "baseIconId": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "name": "umbrella-beach", - "codepoint": "F188A", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Google" - }, - { - "id": "C48A57EA-07D6-40E8-9DFC-189BE630A7ED", - "baseIconId": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "name": "umbrella-beach-outline", - "codepoint": "F188B", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Google" - }, - { - "id": "591C025F-58CC-4E5D-9D63-FB43A8B7BA78", - "baseIconId": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "name": "umbrella-closed", - "codepoint": "F09B0", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Simran" - }, - { - "id": "4B483491-948F-4126-9041-DE8D3A4A9A10", - "baseIconId": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "name": "umbrella-closed-outline", - "codepoint": "F13E2", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Simran" - }, - { - "id": "B17B3489-56A4-490D-828E-61A64754EB1A", - "baseIconId": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "name": "umbrella-closed-variant", - "codepoint": "F13E1", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Moma Design Studio" - }, - { - "id": "7E42C11A-74C3-4C0F-BE6B-9794F343925A", - "baseIconId": "6E7A679E-94FE-4BBD-931F-59B9F25B54EE", - "name": "umbrella-outline", - "codepoint": "F054B", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Simran" - }, - { - "id": "C9D6F6DE-E9F7-4AC9-B9F1-41160A4C2B0E", - "baseIconId": "C9D6F6DE-E9F7-4AC9-B9F1-41160A4C2B0E", - "name": "undo", - "codepoint": "F054C", - "aliases": [ - "arrow" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "C262C766-4474-4BC5-AE66-23E5735F86F1", - "baseIconId": "C9D6F6DE-E9F7-4AC9-B9F1-41160A4C2B0E", - "name": "undo-variant", - "codepoint": "F054D", - "aliases": [ - "arrow" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E533CB7E-48C2-4D9D-B935-B51C918703C0", - "baseIconId": "E533CB7E-48C2-4D9D-B935-B51C918703C0", - "name": "unfold-less-horizontal", - "codepoint": "F054E", - "aliases": [ - "chevron-down-up", - "collapse-horizontal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E4DFDADF-60F8-4E90-A501-38381F4346A0", - "baseIconId": "E4DFDADF-60F8-4E90-A501-38381F4346A0", - "name": "unfold-less-vertical", - "codepoint": "F0760", - "aliases": [ - "chevron-right-left", - "collapse-vertical" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "E85F4170-11D3-4757-8247-17EBD07A08D4", - "baseIconId": "E85F4170-11D3-4757-8247-17EBD07A08D4", - "name": "unfold-more-horizontal", - "codepoint": "F054F", - "aliases": [ - "chevron-up-down", - "expand-horizontal" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "AE8D43D2-00EC-46D9-A21C-4D0024A539D7", - "baseIconId": "AE8D43D2-00EC-46D9-A21C-4D0024A539D7", - "name": "unfold-more-vertical", - "codepoint": "F0761", - "aliases": [ - "chevron-left-right", - "expand-vertical" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "87E56CEE-67B1-427E-9A28-303F8B6D29A7", - "baseIconId": "87E56CEE-67B1-427E-9A28-303F8B6D29A7", - "name": "ungroup", - "codepoint": "F0550", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0A232580-AB10-422D-B5B0-D0F4EFE7AD6A", - "baseIconId": "0A232580-AB10-422D-B5B0-D0F4EFE7AD6A", - "name": "unicode", - "codepoint": "F0ED0", - "aliases": [], - "styles": [], - "version": "3.7.94", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "B3A5FE32-259C-4FBA-B6EB-A4A1CE7590DE", - "baseIconId": "B3A5FE32-259C-4FBA-B6EB-A4A1CE7590DE", - "name": "unicorn", - "codepoint": "F15C2", - "aliases": [ - "fantasy" - ], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "D0825387-637B-4EB5-BCF5-470A7FCE1F05", - "baseIconId": "B3A5FE32-259C-4FBA-B6EB-A4A1CE7590DE", - "name": "unicorn-variant", - "codepoint": "F15C3", - "aliases": [ - "fantasy-variant" - ], - "styles": [ - "variant" - ], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Animal" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A0632550-1C97-49AF-B0B3-463625A8C3FB", - "baseIconId": "A0632550-1C97-49AF-B0B3-463625A8C3FB", - "name": "unicycle", - "codepoint": "F15E5", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Sport", - "Transportation + Other" - ], - "author": "Colton Wiscombe" - }, - { - "id": "50CFC57C-9C70-4953-BDC4-F6340EB7A243", - "baseIconId": "50CFC57C-9C70-4953-BDC4-F6340EB7A243", - "name": "unity", - "codepoint": "F06AF", - "aliases": [], - "styles": [], - "version": "1.7.12", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "4AC79EF3-5BCA-41EC-976E-CB821416A905", - "baseIconId": "4AC79EF3-5BCA-41EC-976E-CB821416A905", - "name": "unreal", - "codepoint": "F09B1", - "aliases": [ - "unreal-engine" - ], - "styles": [], - "version": "2.4.85", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Gaming \/ RPG" - ], - "author": "Contributors" - }, - { - "id": "1B274396-AAE7-4CD8-8D57-27E31D915F68", - "baseIconId": "1B274396-AAE7-4CD8-8D57-27E31D915F68", - "name": "update", - "codepoint": "F06B0", - "aliases": [ - "clockwise", - "clock-arrow" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Google" - }, - { - "id": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload", - "codepoint": "F0552", - "aliases": [ - "file-upload" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "961ECD2E-2849-42C0-909A-5431B0273DA0", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-lock", - "codepoint": "F1373", - "aliases": [], - "styles": [ - "lock" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "AB9A1FD5-FAAC-4E6F-8B6D-D642D7066E96", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-lock-outline", - "codepoint": "F1374", - "aliases": [], - "styles": [ - "lock", - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Michael Richins" - }, - { - "id": "2B1A438E-4795-43D1-B4FD-3997C8E1BA9F", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-multiple", - "codepoint": "F083D", - "aliases": [ - "uploads" - ], - "styles": [ - "multiple" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B473675B-DF1E-4450-B85E-786B483C9FA4", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-network", - "codepoint": "F06F6", - "aliases": [], - "styles": [ - "network" - ], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "279E2BEC-B829-49A3-A9C5-0FC58781975C", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-network-outline", - "codepoint": "F0CD8", - "aliases": [], - "styles": [ - "network", - "outline" - ], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "B6A90F94-944A-4B64-B551-1163605C6A30", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-off", - "codepoint": "F10C6", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "432A3BF4-56B2-4567-890C-F60CE8CE2F34", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-off-outline", - "codepoint": "F10C7", - "aliases": [], - "styles": [], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "02F82A66-CEB3-4F54-825A-811342975170", - "baseIconId": "08F8FCE9-67A0-4696-9B83-0B1F11EA959E", - "name": "upload-outline", - "codepoint": "F0E07", - "aliases": [ - "file-upload-outline" - ], - "styles": [ - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "25033E0B-3AD4-414D-9972-559F2690FC1D", - "baseIconId": "25033E0B-3AD4-414D-9972-559F2690FC1D", - "name": "usb", - "codepoint": "F0553", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "DB728530-EAF2-488E-8971-9567A31354DE", - "baseIconId": "DB728530-EAF2-488E-8971-9567A31354DE", - "name": "usb-flash-drive", - "codepoint": "F129E", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Yaroslav Bandura" - }, - { - "id": "9FD568CE-B873-45FC-8F8A-8D8172FB4C7E", - "baseIconId": "DB728530-EAF2-488E-8971-9567A31354DE", - "name": "usb-flash-drive-outline", - "codepoint": "F129F", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [], - "author": "Yaroslav Bandura" - }, - { - "id": "B271CD5A-6340-440A-896E-6A53BAE3B685", - "baseIconId": "B271CD5A-6340-440A-896E-6A53BAE3B685", - "name": "usb-port", - "codepoint": "F11F0", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "280D39D7-C3B6-4C48-827F-D944B4773B0C", - "baseIconId": "280D39D7-C3B6-4C48-827F-D944B4773B0C", - "name": "vacuum", - "codepoint": "F19A1", - "aliases": [ - "vacuum-cleaner" - ], - "styles": [], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "DE1B37E2-0CDF-4998-8E91-8A84F3D084BC", - "baseIconId": "280D39D7-C3B6-4C48-827F-D944B4773B0C", - "name": "vacuum-outline", - "codepoint": "F19A2", - "aliases": [ - "vacuum-cleaner-outline" - ], - "styles": [ - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "304B1BC9-DF83-41FF-B0F9-1FF4D83A95CB", - "baseIconId": "304B1BC9-DF83-41FF-B0F9-1FF4D83A95CB", - "name": "valve", - "codepoint": "F1066", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "753E83CB-F6D2-4162-B3B4-6D2B8E0DC642", - "baseIconId": "304B1BC9-DF83-41FF-B0F9-1FF4D83A95CB", - "name": "valve-closed", - "codepoint": "F1067", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "E9E77FBB-F72A-4A82-9565-6BE2885D5138", - "baseIconId": "304B1BC9-DF83-41FF-B0F9-1FF4D83A95CB", - "name": "valve-open", - "codepoint": "F1068", - "aliases": [], - "styles": [ - "variant" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "293262AA-69E7-4D04-B441-AAA13D22C63C", - "baseIconId": "293262AA-69E7-4D04-B441-AAA13D22C63C", - "name": "van-passenger", - "codepoint": "F07FA", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "517A8F96-14C9-4FAB-8AC2-27321C91E1BF", - "baseIconId": "517A8F96-14C9-4FAB-8AC2-27321C91E1BF", - "name": "van-utility", - "codepoint": "F07FB", - "aliases": [ - "van-candy" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Transportation + Road" - ], - "author": "GreenTurtwig" - }, - { - "id": "437A175D-CA2F-44C9-9FA0-A59A43E7C590", - "baseIconId": "437A175D-CA2F-44C9-9FA0-A59A43E7C590", - "name": "vanish", - "codepoint": "F07FC", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "ginlime" - }, - { - "id": "2BEF3471-36F9-4813-AC45-3C3FF9FC329C", - "baseIconId": "2BEF3471-36F9-4813-AC45-3C3FF9FC329C", - "name": "vanish-quarter", - "codepoint": "F1554", - "aliases": [], - "styles": [], - "version": "5.5.55", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "D8231C86-FA8B-4450-96FC-5C2820DD7DCC", - "baseIconId": "D8231C86-FA8B-4450-96FC-5C2820DD7DCC", - "name": "vanity-light", - "codepoint": "F11E1", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "6D34F114-FA91-4815-8148-A4C6B3BF128C", - "baseIconId": "6D34F114-FA91-4815-8148-A4C6B3BF128C", - "name": "variable", - "codepoint": "F0AE7", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Developer \/ Languages", - "Math" - ], - "author": "Michael Richins" - }, - { - "id": "AAC0D31F-ABF0-4A36-862E-BAEF2979E243", - "baseIconId": "6D34F114-FA91-4815-8148-A4C6B3BF128C", - "name": "variable-box", - "codepoint": "F1111", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Michael Irigoyen" - }, - { - "id": "576A1B80-550B-46BD-90A6-A497D8A29BC5", - "baseIconId": "576A1B80-550B-46BD-90A6-A497D8A29BC5", - "name": "vector-arrange-above", - "codepoint": "F0554", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Arrange", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "C2EC8280-2EFC-44F4-BA6D-89DE72F06CA3", - "baseIconId": "576A1B80-550B-46BD-90A6-A497D8A29BC5", - "name": "vector-arrange-below", - "codepoint": "F0555", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Arrange", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "1D649850-7C33-41FE-8FBA-E6DFAB384AEC", - "baseIconId": "1D649850-7C33-41FE-8FBA-E6DFAB384AEC", - "name": "vector-bezier", - "codepoint": "F0AE8", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Louistwee" - }, - { - "id": "5C73E245-C6D4-42F0-A5D6-C14F53982661", - "baseIconId": "5C73E245-C6D4-42F0-A5D6-C14F53982661", - "name": "vector-circle", - "codepoint": "F0556", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "D5741976-7530-4859-97C1-F170BCE7C8B3", - "baseIconId": "D5741976-7530-4859-97C1-F170BCE7C8B3", - "name": "vector-circle-variant", - "codepoint": "F0557", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Simran" - }, - { - "id": "7845F254-C78F-44D3-84E3-421B0B2AFF31", - "baseIconId": "7845F254-C78F-44D3-84E3-421B0B2AFF31", - "name": "vector-combine", - "codepoint": "F0558", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "546B7A4F-6D63-46CD-B74D-DEF09CE8D8FB", - "baseIconId": "546B7A4F-6D63-46CD-B74D-DEF09CE8D8FB", - "name": "vector-curve", - "codepoint": "F0559", - "aliases": [ - "bezier" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "C4CA626C-23C3-495A-A73B-4B55A6FBC1F9", - "baseIconId": "C4CA626C-23C3-495A-A73B-4B55A6FBC1F9", - "name": "vector-difference", - "codepoint": "F055A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "9D39AD1D-F643-43EF-B55B-6CF2EC4637EC", - "baseIconId": "C4CA626C-23C3-495A-A73B-4B55A6FBC1F9", - "name": "vector-difference-ab", - "codepoint": "F055B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "A327D00A-F451-4B88-AEBA-EA87016806CB", - "baseIconId": "C4CA626C-23C3-495A-A73B-4B55A6FBC1F9", - "name": "vector-difference-ba", - "codepoint": "F055C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "EE98FF75-8AAA-4912-AFDE-6D5290FD6800", - "baseIconId": "EE98FF75-8AAA-4912-AFDE-6D5290FD6800", - "name": "vector-ellipse", - "codepoint": "F0893", - "aliases": [], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "DACB8CA9-A0A9-4766-B1A3-EC334425514A", - "baseIconId": "DACB8CA9-A0A9-4766-B1A3-EC334425514A", - "name": "vector-intersection", - "codepoint": "F055D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "8C2D4FBB-00B1-4815-971F-03F0788093C2", - "baseIconId": "8C2D4FBB-00B1-4815-971F-03F0788093C2", - "name": "vector-line", - "codepoint": "F055E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "FC1F3637-2FBC-4A77-AB1F-FF74FE2B7D78", - "baseIconId": "FC1F3637-2FBC-4A77-AB1F-FF74FE2B7D78", - "name": "vector-link", - "codepoint": "F0FE8", - "aliases": [], - "styles": [], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "4B4C339D-D581-44A3-95DE-4254CC42AC8D", - "baseIconId": "4B4C339D-D581-44A3-95DE-4254CC42AC8D", - "name": "vector-point", - "codepoint": "F01C4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Andrea Antonello" - }, - { - "id": "A3CC4F14-35C0-421B-A818-9B8E4E852522", - "baseIconId": "4B4C339D-D581-44A3-95DE-4254CC42AC8D", - "name": "vector-point-edit", - "codepoint": "F09E8", - "aliases": [], - "styles": [ - "edit" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Vector", - "Edit \/ Modify" - ], - "author": "Andrea Antonello" - }, - { - "id": "A1B2C0E5-8F8A-40B8-8EE4-A619DE840E9A", - "baseIconId": "4B4C339D-D581-44A3-95DE-4254CC42AC8D", - "name": "vector-point-minus", - "codepoint": "F1B78", - "aliases": [], - "styles": [ - "minus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Andrea Antonello" - }, - { - "id": "8722C5FB-0644-4837-B497-D16517B9F08D", - "baseIconId": "4B4C339D-D581-44A3-95DE-4254CC42AC8D", - "name": "vector-point-plus", - "codepoint": "F1B79", - "aliases": [ - "vector-point-add" - ], - "styles": [ - "plus" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Andrea Antonello" - }, - { - "id": "C8B18CF5-BD7E-41FC-A653-6B46D85F982A", - "baseIconId": "4B4C339D-D581-44A3-95DE-4254CC42AC8D", - "name": "vector-point-select", - "codepoint": "F055F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "6CD0A5FB-8FB8-45E7-9955-A876E4B2ABB4", - "baseIconId": "6CD0A5FB-8FB8-45E7-9955-A876E4B2ABB4", - "name": "vector-polygon", - "codepoint": "F0560", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "26BC525C-08EA-4929-9114-8FB8F35B32AD", - "baseIconId": "6CD0A5FB-8FB8-45E7-9955-A876E4B2ABB4", - "name": "vector-polygon-variant", - "codepoint": "F1856", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Jeff Anders" - }, - { - "id": "1D1C3847-C645-42AE-A93C-DE1E64685762", - "baseIconId": "1D1C3847-C645-42AE-A93C-DE1E64685762", - "name": "vector-polyline", - "codepoint": "F0561", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Andrea Antonello" - }, - { - "id": "D2CE645F-5DC0-4E94-AD3C-346D59DD6AB1", - "baseIconId": "1D1C3847-C645-42AE-A93C-DE1E64685762", - "name": "vector-polyline-edit", - "codepoint": "F1225", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Edit \/ Modify" - ], - "author": "Andrea Antonello" - }, - { - "id": "ADB52436-4BAD-40E2-8A13-48C76188FCE6", - "baseIconId": "1D1C3847-C645-42AE-A93C-DE1E64685762", - "name": "vector-polyline-minus", - "codepoint": "F1226", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Andrea Antonello" - }, - { - "id": "EFE8791E-593A-4B6F-8EFE-553A00C8E5A4", - "baseIconId": "1D1C3847-C645-42AE-A93C-DE1E64685762", - "name": "vector-polyline-plus", - "codepoint": "F1227", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Andrea Antonello" - }, - { - "id": "0B173B1A-A4BE-4B96-A33F-2C332150B5AE", - "baseIconId": "1D1C3847-C645-42AE-A93C-DE1E64685762", - "name": "vector-polyline-remove", - "codepoint": "F1228", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "1B112A31-E2A7-4BAD-B1F1-5289B8811F08", - "baseIconId": "1B112A31-E2A7-4BAD-B1F1-5289B8811F08", - "name": "vector-radius", - "codepoint": "F074A", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "2A12555B-0CBC-4FC9-9F86-88F7785B3B2C", - "baseIconId": "2A12555B-0CBC-4FC9-9F86-88F7785B3B2C", - "name": "vector-rectangle", - "codepoint": "F05C6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "B7C380C9-13D8-4A0E-8EEC-1B4FB23F1FB9", - "baseIconId": "B7C380C9-13D8-4A0E-8EEC-1B4FB23F1FB9", - "name": "vector-selection", - "codepoint": "F0562", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "baseIconId": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "name": "vector-square", - "codepoint": "F0001", - "aliases": [ - "mdi" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Austin Andrews" - }, - { - "id": "4B18056D-33ED-4AD5-888D-AF90713CBC73", - "baseIconId": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "name": "vector-square-close", - "codepoint": "F1857", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Jeff Anders" - }, - { - "id": "613DA7AD-4B76-4514-96D8-4F6964222FF0", - "baseIconId": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "name": "vector-square-edit", - "codepoint": "F18D9", - "aliases": [], - "styles": [ - "edit" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Vector", - "Edit \/ Modify" - ], - "author": "Andrea Antonello" - }, - { - "id": "5B415AB4-7F0B-458F-8CB5-CA456D6A48A5", - "baseIconId": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "name": "vector-square-minus", - "codepoint": "F18DA", - "aliases": [ - "vector-square-subtract" - ], - "styles": [ - "minus" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Andrea Antonello" - }, - { - "id": "B2FDC7FE-A762-45BE-9405-77F41514BAED", - "baseIconId": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "name": "vector-square-open", - "codepoint": "F1858", - "aliases": [], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Jeff Anders" - }, - { - "id": "9373C6A3-8FDD-499A-97EB-34855A15C937", - "baseIconId": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "name": "vector-square-plus", - "codepoint": "F18DB", - "aliases": [ - "vector-square-add" - ], - "styles": [ - "plus" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Andrea Antonello" - }, - { - "id": "453AE0C4-2846-4EF0-AD04-D3981FC002A0", - "baseIconId": "039be9b8-08ad-11e4-bf19-842b2b6cfe1b", - "name": "vector-square-remove", - "codepoint": "F18DC", - "aliases": [ - "vector-square-delete" - ], - "styles": [ - "remove" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Vector" - ], - "author": "Andrea Antonello" - }, - { - "id": "CE6EAE27-922A-48B9-83AF-5C333B20724F", - "baseIconId": "CE6EAE27-922A-48B9-83AF-5C333B20724F", - "name": "vector-triangle", - "codepoint": "F0563", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "2FD284B6-3DC1-4733-B08E-BAD459E87B87", - "baseIconId": "2FD284B6-3DC1-4733-B08E-BAD459E87B87", - "name": "vector-union", - "codepoint": "F0564", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Vector", - "Geographic Information System" - ], - "author": "Simran" - }, - { - "id": "551637A8-2091-4439-9710-71199B7AC0C1", - "baseIconId": "551637A8-2091-4439-9710-71199B7AC0C1", - "name": "vhs", - "codepoint": "F0A1B", - "aliases": [ - "video-home-system", - "vhs-cassette", - "vhs-tape" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "GreenTurtwig" - }, - { - "id": "68E64FD4-A020-4DEF-B2CB-5EA5BAA80E42", - "baseIconId": "68E64FD4-A020-4DEF-B2CB-5EA5BAA80E42", - "name": "vibrate", - "codepoint": "F0566", - "aliases": [ - "vibration" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "36F2725C-4346-4EB3-9AA8-288DC3E27AFD", - "baseIconId": "68E64FD4-A020-4DEF-B2CB-5EA5BAA80E42", - "name": "vibrate-off", - "codepoint": "F0CD9", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video", - "codepoint": "F0567", - "aliases": [ - "videocam" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "0E676B63-2A2E-4182-91BD-F2A5D8D89595", - "baseIconId": "0E676B63-2A2E-4182-91BD-F2A5D8D89595", - "name": "video-2d", - "codepoint": "F1A1C", - "aliases": [], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Austin Andrews" - }, - { - "id": "3F4D3E00-72CA-4167-A269-F9DD1A94540D", - "baseIconId": "3F4D3E00-72CA-4167-A269-F9DD1A94540D", - "name": "video-3d", - "codepoint": "F07FD", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Austin Andrews" - }, - { - "id": "F9B5EF59-C66B-445A-B37D-0CD3FDD5F47A", - "baseIconId": "3F4D3E00-72CA-4167-A269-F9DD1A94540D", - "name": "video-3d-off", - "codepoint": "F13D9", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "cezar-darac" - }, - { - "id": "29FC25BE-88B2-4311-ACD7-F85EFB43D0E9", - "baseIconId": "3F4D3E00-72CA-4167-A269-F9DD1A94540D", - "name": "video-3d-variant", - "codepoint": "F0ED1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Matther Miller" - }, - { - "id": "FD1999E4-4780-48E5-8F18-606871BA0581", - "baseIconId": "FD1999E4-4780-48E5-8F18-606871BA0581", - "name": "video-4k-box", - "codepoint": "F083E", - "aliases": [ - "4k" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "F02BE782-F323-40E5-B245-DF7B6AFB2B15", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-account", - "codepoint": "F0919", - "aliases": [ - "video-user" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Account \/ User", - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "9E0AEA4A-7A90-43F7-8A7F-D49F374F11FF", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-box", - "codepoint": "F00FD", - "aliases": [], - "styles": [ - "box" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "A8AD0C27-54CD-4362-A862-C6865B1EE750", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-box-off", - "codepoint": "F00FE", - "aliases": [], - "styles": [ - "box", - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "9E4CFE98-3E4E-4C70-B1F1-7316F21427E3", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-check", - "codepoint": "F1069", - "aliases": [], - "styles": [ - "check" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "206175B7-4215-412C-A30B-979BADCCCEE3", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-check-outline", - "codepoint": "F106A", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "4.1.95", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C8098652-E839-4E39-8465-8488B2D6502E", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-high-definition", - "codepoint": "F152E", - "aliases": [], - "styles": [ - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1A06058D-FA25-4AAE-A7C8-225CD0D79F06", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-image", - "codepoint": "F091A", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "D7B7AA15-66CB-4AA5-AD75-E96B78B89AB9", - "baseIconId": "D7B7AA15-66CB-4AA5-AD75-E96B78B89AB9", - "name": "video-input-antenna", - "codepoint": "F083F", - "aliases": [ - "settings-input-antenna" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "55F413A7-319D-4419-87D4-97FF9ED96791", - "baseIconId": "55F413A7-319D-4419-87D4-97FF9ED96791", - "name": "video-input-component", - "codepoint": "F0840", - "aliases": [ - "video-input-composite", - "settings-input-component", - "settings-input-composite", - "video-input-ypbpr", - "rca" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "D371C4A6-40A8-4C03-95DA-2ACF2A5ABC4B", - "baseIconId": "D371C4A6-40A8-4C03-95DA-2ACF2A5ABC4B", - "name": "video-input-hdmi", - "codepoint": "F0841", - "aliases": [ - "settings-input-hdmi" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "7F6FD88C-27A6-4E0D-BD8D-FDF34AAEB1A9", - "baseIconId": "7F6FD88C-27A6-4E0D-BD8D-FDF34AAEB1A9", - "name": "video-input-scart", - "codepoint": "F0F8C", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "GreenTurtwig" - }, - { - "id": "EA3FB3E6-9696-4F01-AD34-5253E19EA34C", - "baseIconId": "EA3FB3E6-9696-4F01-AD34-5253E19EA34C", - "name": "video-input-svideo", - "codepoint": "F0842", - "aliases": [ - "settings-input-svideo" - ], - "styles": [], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "08B1B983-F8CC-4CE2-B9FA-4A292766BE31", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-marker", - "codepoint": "F19A9", - "aliases": [ - "video-location" - ], - "styles": [ - "marker" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Navigation" - ], - "author": "Simran" - }, - { - "id": "D2C8C1CD-F565-4549-8030-8549512C6905", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-marker-outline", - "codepoint": "F19AA", - "aliases": [ - "video-location-outline" - ], - "styles": [ - "marker", - "outline" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Navigation" - ], - "author": "Simran" - }, - { - "id": "9453CFB6-B0CA-469B-87A0-48C51EA1B64D", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-minus", - "codepoint": "F09B2", - "aliases": [ - "video-remove" - ], - "styles": [ - "minus" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "DEC0A182-36E6-47D2-ABC4-AF717946C412", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-minus-outline", - "codepoint": "F02BA", - "aliases": [], - "styles": [ - "minus", - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F4C3A814-205E-4F0A-9B3D-34B5777A4237", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-off", - "codepoint": "F0568", - "aliases": [ - "videocam-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Home Automation" - ], - "author": "Google" - }, - { - "id": "4CD11F14-5EB9-4532-910A-D9329CB1CE48", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-off-outline", - "codepoint": "F0BDB", - "aliases": [ - "videocam-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "993D76B5-D3E5-4360-986D-3F13A04F29A7", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-outline", - "codepoint": "F0BDC", - "aliases": [ - "videocam-outline" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "7C399890-F840-44F0-834E-409C1D9F1337", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-plus", - "codepoint": "F09B3", - "aliases": [ - "video-call", - "video-add" - ], - "styles": [ - "plus" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "66BF0ABD-9688-49F1-B260-382B15D53432", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-plus-outline", - "codepoint": "F01D3", - "aliases": [], - "styles": [ - "outline", - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DF10672F-0064-47B8-A327-797095F0F6A1", - "baseIconId": "DF10672F-0064-47B8-A327-797095F0F6A1", - "name": "video-stabilization", - "codepoint": "F091B", - "aliases": [ - "video-stabilisation" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "EAEE3AC5-7C61-4513-9AB1-692E20E99F9E", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-standard-definition", - "codepoint": "F1CA0", - "aliases": [ - "video-sd", - "video-quality-sd" - ], - "styles": [], - "version": "7.3.96", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Richins" - }, - { - "id": "465D18D8-ABEA-4D2B-8A05-C6555C36803F", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-switch", - "codepoint": "F0569", - "aliases": [ - "switch-video" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "FF441E7F-8F7E-4B03-876E-FD65C2A847C9", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-switch-outline", - "codepoint": "F0790", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "2.0.46", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Google" - }, - { - "id": "1A8E4CC1-97A7-4593-BE20-0E9C5686C2D3", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-vintage", - "codepoint": "F0A1C", - "aliases": [ - "video-film", - "video-classic" - ], - "styles": [ - "variant" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Mike G Chambers" - }, - { - "id": "CB8F2A33-9238-40E0-9B1E-935586CF1FBA", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-wireless", - "codepoint": "F0ED2", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "178F6478-2B6F-43B7-AC0C-050481FA0BF2", - "baseIconId": "B1337ECC-EF1F-481B-9E75-6A8DB7A01BB9", - "name": "video-wireless-outline", - "codepoint": "F0ED3", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "3.7.94", - "deprecated": false, - "tags": [ - "Video \/ Movie" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E0B1CD58-0403-430F-AA9A-30B9E0122314", - "baseIconId": "E0B1CD58-0403-430F-AA9A-30B9E0122314", - "name": "view-agenda", - "codepoint": "F056A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "33C2B7B8-82DB-41C9-8B4E-2EFEE60C0D6E", - "baseIconId": "E0B1CD58-0403-430F-AA9A-30B9E0122314", - "name": "view-agenda-outline", - "codepoint": "F11D8", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "B3E07750-AF3A-49FA-BA72-7CE5D4A3C7AB", - "baseIconId": "B3E07750-AF3A-49FA-BA72-7CE5D4A3C7AB", - "name": "view-array", - "codepoint": "F056B", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "C9B8EF68-CB6B-4B4E-BEEC-4BC30C04BE5F", - "baseIconId": "B3E07750-AF3A-49FA-BA72-7CE5D4A3C7AB", - "name": "view-array-outline", - "codepoint": "F1485", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "99C269BA-B1CD-4BC0-9BCC-7C5D95F881AC", - "baseIconId": "99C269BA-B1CD-4BC0-9BCC-7C5D95F881AC", - "name": "view-carousel", - "codepoint": "F056C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "27DE61C6-7B1F-429C-A396-AF9895CE5AD0", - "baseIconId": "99C269BA-B1CD-4BC0-9BCC-7C5D95F881AC", - "name": "view-carousel-outline", - "codepoint": "F1486", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "163CB77E-4663-4F8E-B73E-20FCC5C5BED3", - "baseIconId": "163CB77E-4663-4F8E-B73E-20FCC5C5BED3", - "name": "view-column", - "codepoint": "F056D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "73732965-3E0C-4746-8D18-785E318F005D", - "baseIconId": "163CB77E-4663-4F8E-B73E-20FCC5C5BED3", - "name": "view-column-outline", - "codepoint": "F1487", - "aliases": [], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "CBBB6642-EA10-4B28-8D7B-7FD2E5252A2C", - "baseIconId": "CBBB6642-EA10-4B28-8D7B-7FD2E5252A2C", - "name": "view-comfy", - "codepoint": "F0E6A", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "31233545-9224-4135-87F7-7B1257F23767", - "baseIconId": "CBBB6642-EA10-4B28-8D7B-7FD2E5252A2C", - "name": "view-comfy-outline", - "codepoint": "F1488", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "CD9C04DB-710E-4FD1-A679-535C5EF50BFB", - "baseIconId": "CD9C04DB-710E-4FD1-A679-535C5EF50BFB", - "name": "view-compact", - "codepoint": "F0E6B", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "8FD1F3B0-682D-47BD-A4C8-C2526C674229", - "baseIconId": "CD9C04DB-710E-4FD1-A679-535C5EF50BFB", - "name": "view-compact-outline", - "codepoint": "F0E6C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "B6D8B213-DC5F-40D3-97E4-EFA9B499A19D", - "baseIconId": "B6D8B213-DC5F-40D3-97E4-EFA9B499A19D", - "name": "view-dashboard", - "codepoint": "F056E", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "F55B37EB-4DE9-49E8-88BC-1D339FA3EF4D", - "baseIconId": "B6D8B213-DC5F-40D3-97E4-EFA9B499A19D", - "name": "view-dashboard-edit", - "codepoint": "F1947", - "aliases": [], - "styles": [ - "edit" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "View", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "89F1A6E9-103A-4ABE-8A01-4A60A7781734", - "baseIconId": "B6D8B213-DC5F-40D3-97E4-EFA9B499A19D", - "name": "view-dashboard-edit-outline", - "codepoint": "F1948", - "aliases": [], - "styles": [ - "edit", - "outline" - ], - "version": "6.4.95", - "deprecated": false, - "tags": [ - "View", - "Edit \/ Modify" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B44B2BB0-0BF9-42B7-BF70-ECC7FF102520", - "baseIconId": "B6D8B213-DC5F-40D3-97E4-EFA9B499A19D", - "name": "view-dashboard-outline", - "codepoint": "F0A1D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "26B319A5-9CF7-4637-94A2-DB633BD22ABA", - "baseIconId": "B6D8B213-DC5F-40D3-97E4-EFA9B499A19D", - "name": "view-dashboard-variant", - "codepoint": "F0843", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.1.19", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "F05DF9FC-A193-444F-8B6E-24862443BA63", - "baseIconId": "B6D8B213-DC5F-40D3-97E4-EFA9B499A19D", - "name": "view-dashboard-variant-outline", - "codepoint": "F1489", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Irigoyen" - }, - { - "id": "AD31242E-143E-475E-822B-E363C9E9F2F4", - "baseIconId": "AD31242E-143E-475E-822B-E363C9E9F2F4", - "name": "view-day", - "codepoint": "F056F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "B478F822-6D6B-4A47-BCFE-0236D5766711", - "baseIconId": "AD31242E-143E-475E-822B-E363C9E9F2F4", - "name": "view-day-outline", - "codepoint": "F148A", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "39D66F7E-C38A-4CDC-9A50-6C4A60F70B82", - "baseIconId": "39D66F7E-C38A-4CDC-9A50-6C4A60F70B82", - "name": "view-gallery", - "codepoint": "F1888", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Saulo Pratti" - }, - { - "id": "EBE654D8-89C1-4DAC-92E5-3534C55281F0", - "baseIconId": "39D66F7E-C38A-4CDC-9A50-6C4A60F70B82", - "name": "view-gallery-outline", - "codepoint": "F1889", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E788F50B-B654-4AEC-ACD7-6E9F5AE8B789", - "baseIconId": "E788F50B-B654-4AEC-ACD7-6E9F5AE8B789", - "name": "view-grid", - "codepoint": "F0570", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Simran" - }, - { - "id": "666FC249-C056-4311-8548-D7F648A53DD9", - "baseIconId": "666FC249-C056-4311-8548-D7F648A53DD9", - "name": "view-grid-compact", - "codepoint": "F1C61", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "33566CF8-43DC-48FF-9891-557946141997", - "baseIconId": "E788F50B-B654-4AEC-ACD7-6E9F5AE8B789", - "name": "view-grid-outline", - "codepoint": "F11D9", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Richins" - }, - { - "id": "74FA0104-E5C4-4FE8-A9CD-45DC574D64C9", - "baseIconId": "74FA0104-E5C4-4FE8-A9CD-45DC574D64C9", - "name": "view-grid-plus", - "codepoint": "F0F8D", - "aliases": [ - "view-grid-add" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "120B7778-EAE8-444B-AEDF-9F7793BF6A35", - "baseIconId": "74FA0104-E5C4-4FE8-A9CD-45DC574D64C9", - "name": "view-grid-plus-outline", - "codepoint": "F11DA", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Richins" - }, - { - "id": "86DC0560-F109-4301-ACC7-46A6F74F441A", - "baseIconId": "86DC0560-F109-4301-ACC7-46A6F74F441A", - "name": "view-headline", - "codepoint": "F0571", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "D9FCEB1D-004D-442E-A979-320101768F99", - "baseIconId": "D9FCEB1D-004D-442E-A979-320101768F99", - "name": "view-list", - "codepoint": "F0572", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "FA9A5868-724C-429E-897B-72AD25186E2D", - "baseIconId": "D9FCEB1D-004D-442E-A979-320101768F99", - "name": "view-list-outline", - "codepoint": "F148B", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "467C52AB-0DEA-43AF-BAE4-76FD66D6C7F0", - "baseIconId": "467C52AB-0DEA-43AF-BAE4-76FD66D6C7F0", - "name": "view-module", - "codepoint": "F0573", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "69AAF987-9993-4E5D-952D-ED815244B1F6", - "baseIconId": "467C52AB-0DEA-43AF-BAE4-76FD66D6C7F0", - "name": "view-module-outline", - "codepoint": "F148C", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "A085C7C7-F5C5-441C-84C0-05EB3B6A8767", - "baseIconId": "A085C7C7-F5C5-441C-84C0-05EB3B6A8767", - "name": "view-parallel", - "codepoint": "F0728", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C14FCE1C-4ACB-4876-94AA-93C2E5DB362B", - "baseIconId": "A085C7C7-F5C5-441C-84C0-05EB3B6A8767", - "name": "view-parallel-outline", - "codepoint": "F148D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Irigoyen" - }, - { - "id": "F3640F38-D10F-42C8-8A68-751D965B1F65", - "baseIconId": "F3640F38-D10F-42C8-8A68-751D965B1F65", - "name": "view-quilt", - "codepoint": "F0574", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "2797C36A-5A29-4679-AAB7-4F4832FA7DC5", - "baseIconId": "F3640F38-D10F-42C8-8A68-751D965B1F65", - "name": "view-quilt-outline", - "codepoint": "F148E", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "350F115F-0C20-4AB3-8206-81D2A25A2EF4", - "baseIconId": "350F115F-0C20-4AB3-8206-81D2A25A2EF4", - "name": "view-sequential", - "codepoint": "F0729", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1B8CD437-1CE6-4493-9C57-5E367B47A0BF", - "baseIconId": "350F115F-0C20-4AB3-8206-81D2A25A2EF4", - "name": "view-sequential-outline", - "codepoint": "F148F", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7FE1CF30-B16F-4626-8450-1881934D2FDF", - "baseIconId": "7FE1CF30-B16F-4626-8450-1881934D2FDF", - "name": "view-split-horizontal", - "codepoint": "F0BCB", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "25E0A405-7A96-4159-8A63-9088BFA330F1", - "baseIconId": "25E0A405-7A96-4159-8A63-9088BFA330F1", - "name": "view-split-vertical", - "codepoint": "F0BCC", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "1B42A4BC-3B55-4C21-BDEF-94DC970012F9", - "baseIconId": "1B42A4BC-3B55-4C21-BDEF-94DC970012F9", - "name": "view-stream", - "codepoint": "F0575", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "26CE4165-E7A4-425A-8175-8A8C392F08D3", - "baseIconId": "1B42A4BC-3B55-4C21-BDEF-94DC970012F9", - "name": "view-stream-outline", - "codepoint": "F1490", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "8ED74862-BA7D-43FC-91EA-283D655B451F", - "baseIconId": "8ED74862-BA7D-43FC-91EA-283D655B451F", - "name": "view-week", - "codepoint": "F0576", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "163700DD-5F95-4BEC-82AC-7E5F1FD20BC8", - "baseIconId": "8ED74862-BA7D-43FC-91EA-283D655B451F", - "name": "view-week-outline", - "codepoint": "F1491", - "aliases": [], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "View" - ], - "author": "Google" - }, - { - "id": "0FF21C45-66B4-492A-829C-9F46778323A9", - "baseIconId": "0FF21C45-66B4-492A-829C-9F46778323A9", - "name": "vimeo", - "codepoint": "F0577", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "D6702650-990F-416E-BF27-F6F2B86BFB8D", - "baseIconId": "D6702650-990F-416E-BF27-F6F2B86BFB8D", - "name": "violin", - "codepoint": "F060F", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Music" - ], - "author": "Google" - }, - { - "id": "AE3F0BAE-DE0A-4BFE-82B6-3268D1B21006", - "baseIconId": "AE3F0BAE-DE0A-4BFE-82B6-3268D1B21006", - "name": "virtual-reality", - "codepoint": "F0894", - "aliases": [ - "vr" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "B413B8B5-E20E-41BF-B6F1-696050D47421", - "baseIconId": "B413B8B5-E20E-41BF-B6F1-696050D47421", - "name": "virus", - "codepoint": "F13B6", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Science", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7DE3EC50-BFF3-4402-85ED-DC43EE995DCB", - "baseIconId": "B413B8B5-E20E-41BF-B6F1-696050D47421", - "name": "virus-off", - "codepoint": "F18E1", - "aliases": [], - "styles": [ - "off" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E2FA3916-A37A-4BB9-8892-DD0079581DAC", - "baseIconId": "B413B8B5-E20E-41BF-B6F1-696050D47421", - "name": "virus-off-outline", - "codepoint": "F18E2", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Science" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0F7EE89B-C9E3-4365-B9DC-D3A28D328F66", - "baseIconId": "B413B8B5-E20E-41BF-B6F1-696050D47421", - "name": "virus-outline", - "codepoint": "F13B7", - "aliases": [], - "styles": [], - "version": "5.1.45", - "deprecated": false, - "tags": [ - "Science", - "Medical \/ Hospital" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3695CD89-BCB2-4D10-A8C5-9190F31F7C92", - "baseIconId": "3695CD89-BCB2-4D10-A8C5-9190F31F7C92", - "name": "vlc", - "codepoint": "F057C", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "04CEF7C6-E77F-4A66-89F3-2F5B544C482B", - "baseIconId": "04CEF7C6-E77F-4A66-89F3-2F5B544C482B", - "name": "voicemail", - "codepoint": "F057D", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "F319008C-CAC3-4D75-8DED-8164D252A015", - "baseIconId": "F319008C-CAC3-4D75-8DED-8164D252A015", - "name": "volcano", - "codepoint": "F1A83", - "aliases": [ - "eruption" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "EF1E667D-78DD-4460-BD7B-B5E7A70BDF54", - "baseIconId": "F319008C-CAC3-4D75-8DED-8164D252A015", - "name": "volcano-outline", - "codepoint": "F1A84", - "aliases": [ - "eruption-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Nature" - ], - "author": "Google" - }, - { - "id": "3978DABC-FC98-4D3E-A971-88716AD5D600", - "baseIconId": "3978DABC-FC98-4D3E-A971-88716AD5D600", - "name": "volleyball", - "codepoint": "F09B4", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Google" - }, - { - "id": "CF2F1BF8-9CBF-41EC-91EF-26B8F2B6A80E", - "baseIconId": "CE6E08CF-2476-4BBB-AF91-6D081F1CBEF9", - "name": "volume-equal", - "codepoint": "F1B10", - "aliases": [], - "styles": [], - "version": "6.9.96", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Ron Schaeffer" - }, - { - "id": "CE6E08CF-2476-4BBB-AF91-6D081F1CBEF9", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-high", - "codepoint": "F057E", - "aliases": [ - "audio", - "speaker", - "speakerphone" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "213621FE-E003-4B40-9385-B9BCE19DB035", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-low", - "codepoint": "F057F", - "aliases": [ - "audio", - "speaker" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "0E37E506-8AD8-42C7-87E4-F8A2AEE03972", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-medium", - "codepoint": "F0580", - "aliases": [ - "audio", - "speaker" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "D8BFD10F-6D55-4EE1-8D30-5B5CB064CBBF", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-minus", - "codepoint": "F075E", - "aliases": [ - "volume-decrease" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation", - "Cellphone \/ Phone" - ], - "author": "Austin Andrews" - }, - { - "id": "A78C1259-0DB5-4793-9EA9-DD69FEB337A8", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-mute", - "codepoint": "F075F", - "aliases": [], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Audio", - "Cellphone \/ Phone" - ], - "author": "Austin Andrews" - }, - { - "id": "74834C94-6AE1-493B-A9FB-4EE2A8FD989C", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-off", - "codepoint": "F0581", - "aliases": [ - "mute", - "audio-off", - "speaker-off", - "speakerphone-off" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation", - "Cellphone \/ Phone" - ], - "author": "Google" - }, - { - "id": "DECF3A51-F972-4D34-815D-D103BCE3888B", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-plus", - "codepoint": "F075D", - "aliases": [ - "volume-increase" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Audio", - "Home Automation", - "Cellphone \/ Phone" - ], - "author": "Austin Andrews" - }, - { - "id": "95D3325D-257A-433C-8B2E-D674C21BA268", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-source", - "codepoint": "F1120", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Audio" - ], - "author": "Google" - }, - { - "id": "E5699A8D-84C4-41F2-A48A-397F8153B4A1", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-variant-off", - "codepoint": "F0E08", - "aliases": [], - "styles": [ - "off" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Audio", - "Cellphone \/ Phone" - ], - "author": "Andrew Nenakhov" - }, - { - "id": "9CDA3BD8-77A5-4669-BFB7-785EECAE2FCA", - "baseIconId": "213621FE-E003-4B40-9385-B9BCE19DB035", - "name": "volume-vibrate", - "codepoint": "F1121", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Cellphone \/ Phone", - "Audio" - ], - "author": "Simran" - }, - { - "id": "61CDB722-3238-4F21-9A3F-77DC47A51755", - "baseIconId": "61CDB722-3238-4F21-9A3F-77DC47A51755", - "name": "vote", - "codepoint": "F0A1F", - "aliases": [ - "how-to-vote" - ], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "392D2435-0B0E-4CDA-A542-FAB319411B8A", - "baseIconId": "61CDB722-3238-4F21-9A3F-77DC47A51755", - "name": "vote-outline", - "codepoint": "F0A20", - "aliases": [ - "how-to-vote-outline" - ], - "styles": [ - "outline" - ], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "A9EE1532-2932-4F71-95DC-1EFB56BA4DFC", - "baseIconId": "A9EE1532-2932-4F71-95DC-1EFB56BA4DFC", - "name": "vpn", - "codepoint": "F0582", - "aliases": [ - "virtual-private-network" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "CB3BC222-1858-41C6-A488-0C2BB1FB2EA8", - "baseIconId": "CB3BC222-1858-41C6-A488-0C2BB1FB2EA8", - "name": "vuejs", - "codepoint": "F0844", - "aliases": [ - "vue-js" - ], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "2603306D-9691-469C-B468-6E53FFA2D0DE", - "baseIconId": "2603306D-9691-469C-B468-6E53FFA2D0DE", - "name": "vuetify", - "codepoint": "F0E6D", - "aliases": [], - "styles": [], - "version": "3.6.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "DA42DA16-21E0-4A08-89E4-F634EBBCF85A", - "baseIconId": "DA42DA16-21E0-4A08-89E4-F634EBBCF85A", - "name": "walk", - "codepoint": "F0583", - "aliases": [ - "directions-walk", - "walker", - "walking", - "human-walk" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Sport", - "Transportation + Other", - "People \/ Family" - ], - "author": "Google" - }, - { - "id": "5DAB0112-3768-4ADC-8796-A88B4473FE56", - "baseIconId": "5DAB0112-3768-4ADC-8796-A88B4473FE56", - "name": "wall", - "codepoint": "F07FE", - "aliases": [ - "bricks" - ], - "styles": [], - "version": "2.0.46", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "436644E2-0AFD-47DE-A15F-EF6BD02C5F5A", - "baseIconId": "5DAB0112-3768-4ADC-8796-A88B4473FE56", - "name": "wall-fire", - "codepoint": "F1A11", - "aliases": [ - "firewall" - ], - "styles": [], - "version": "6.6.96", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "EABFE131-4690-406C-9042-EFCA33E97A00", - "baseIconId": "EABFE131-4690-406C-9042-EFCA33E97A00", - "name": "wall-sconce", - "codepoint": "F091C", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "4F0EF72A-F2A8-4BFA-9E6F-279E159FC888", - "baseIconId": "4F0EF72A-F2A8-4BFA-9E6F-279E159FC888", - "name": "wall-sconce-flat", - "codepoint": "F091D", - "aliases": [ - "ceiling-light-flat", - "pot-light-flat" - ], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "46E92A75-74CB-4DCD-A3B0-0D7B685E49E4", - "baseIconId": "4F0EF72A-F2A8-4BFA-9E6F-279E159FC888", - "name": "wall-sconce-flat-outline", - "codepoint": "F17C9", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Teodor Sandu" - }, - { - "id": "DEAC0604-6FD1-496C-99E1-74068FC27713", - "baseIconId": "4F0EF72A-F2A8-4BFA-9E6F-279E159FC888", - "name": "wall-sconce-flat-variant", - "codepoint": "F041C", - "aliases": [ - "pot-light-flat-variant" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "591CE496-AFCE-4274-A15F-E7574307D6FD", - "baseIconId": "4F0EF72A-F2A8-4BFA-9E6F-279E159FC888", - "name": "wall-sconce-flat-variant-outline", - "codepoint": "F17CA", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Teodor Sandu" - }, - { - "id": "E033BCF1-3B41-4885-9700-CE4B85A7106C", - "baseIconId": "EABFE131-4690-406C-9042-EFCA33E97A00", - "name": "wall-sconce-outline", - "codepoint": "F17CB", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "05EDCFBB-803B-4DA9-BDC5-17A4E43DE584", - "baseIconId": "05EDCFBB-803B-4DA9-BDC5-17A4E43DE584", - "name": "wall-sconce-round", - "codepoint": "F0748", - "aliases": [ - "pot-light-round" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "A91CF4C0-CC99-4429-BE37-54774E420A9F", - "baseIconId": "05EDCFBB-803B-4DA9-BDC5-17A4E43DE584", - "name": "wall-sconce-round-outline", - "codepoint": "F17CC", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D599F298-0E64-47A7-AD5B-B1AD5CEE1B1E", - "baseIconId": "05EDCFBB-803B-4DA9-BDC5-17A4E43DE584", - "name": "wall-sconce-round-variant", - "codepoint": "F091E", - "aliases": [ - "pot-light-round-variant" - ], - "styles": [ - "variant" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "6A9EE0EE-A559-4A78-9313-0B7DED29C757", - "baseIconId": "05EDCFBB-803B-4DA9-BDC5-17A4E43DE584", - "name": "wall-sconce-round-variant-outline", - "codepoint": "F17CD", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet", - "codepoint": "F0584", - "aliases": [ - "account-balance-wallet" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "41CE57C0-CF95-4033-AAC3-8EC7C35D7A86", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-bifold", - "codepoint": "F1C58", - "aliases": [], - "styles": [], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Jeff Anders" - }, - { - "id": "63929062-6B7B-4683-BC95-376A60069FB2", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-bifold-outline", - "codepoint": "F1C59", - "aliases": [], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Banking", - "Currency" - ], - "author": "Jeff Anders" - }, - { - "id": "0D4DD4F1-0915-4D3D-8F21-A96C2DDAF6E0", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-giftcard", - "codepoint": "F0585", - "aliases": [ - "card-giftcard", - "redeem" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Shopping", - "Banking" - ], - "author": "Google" - }, - { - "id": "BBE325B3-416A-4160-8E95-162B076B8839", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-membership", - "codepoint": "F0586", - "aliases": [ - "card-membership" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "BE3A6C7B-398B-4B7D-B7F3-7EDE9220F489", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-outline", - "codepoint": "F0BDD", - "aliases": [ - "account-balance-wallet-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Currency", - "Banking" - ], - "author": "Google" - }, - { - "id": "A53A1EF4-13E1-4807-A20E-A0DA2F52392D", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-plus", - "codepoint": "F0F8E", - "aliases": [ - "wallet-add" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "GreenTurtwig" - }, - { - "id": "1BDED2D9-31E7-457D-AA32-6CE990645545", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-plus-outline", - "codepoint": "F0F8F", - "aliases": [ - "wallet-add-outline" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Banking" - ], - "author": "GreenTurtwig" - }, - { - "id": "790A03D3-B40A-468A-A6D6-CA3679FDBD8D", - "baseIconId": "C5ABA786-D897-4770-AA78-CE4CB2A9230E", - "name": "wallet-travel", - "codepoint": "F0587", - "aliases": [ - "card-travel" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "350FE9C5-BFF1-462D-9318-BA2DDC55E11E", - "baseIconId": "350FE9C5-BFF1-462D-9318-BA2DDC55E11E", - "name": "wallpaper", - "codepoint": "F0E09", - "aliases": [], - "styles": [], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "0E468855-81AF-4CA1-ACF0-D166D07F188C", - "baseIconId": "0E468855-81AF-4CA1-ACF0-D166D07F188C", - "name": "wan", - "codepoint": "F0588", - "aliases": [ - "wide-area-network" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "A6E4DFBB-920D-4A21-AE54-6378FEBDD767", - "baseIconId": "A6E4DFBB-920D-4A21-AE54-6378FEBDD767", - "name": "wardrobe", - "codepoint": "F0F90", - "aliases": [ - "closet" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "A1AA70DE-C9FD-4791-91D0-27FC025F7A81", - "baseIconId": "A6E4DFBB-920D-4A21-AE54-6378FEBDD767", - "name": "wardrobe-outline", - "codepoint": "F0F91", - "aliases": [ - "closet-outline" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "DBF95B71-CC94-4672-8356-A09B96644694", - "baseIconId": "DBF95B71-CC94-4672-8356-A09B96644694", - "name": "warehouse", - "codepoint": "F0F81", - "aliases": [], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Places" - ], - "author": "Tarilonte" - }, - { - "id": "42C06A23-81D5-4EF6-8CFA-B4FBF66E7B17", - "baseIconId": "42C06A23-81D5-4EF6-8CFA-B4FBF66E7B17", - "name": "washing-machine", - "codepoint": "F072A", - "aliases": [ - "laundrette", - "local-laundry-service", - "laundry-room" - ], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "A00D0B3E-D24A-4BC9-915C-7B264B63F2F4", - "baseIconId": "42C06A23-81D5-4EF6-8CFA-B4FBF66E7B17", - "name": "washing-machine-alert", - "codepoint": "F11BC", - "aliases": [ - "laundry-room-alert" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9B318E52-E7BE-4BE1-94DF-96CA020CE55D", - "baseIconId": "42C06A23-81D5-4EF6-8CFA-B4FBF66E7B17", - "name": "washing-machine-off", - "codepoint": "F11BD", - "aliases": [ - "laundry-room-off" - ], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch", - "codepoint": "F0589", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Google" - }, - { - "id": "4FAFD079-50D1-4FD3-9427-CF0C08148D84", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch-export", - "codepoint": "F058A", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "8213DABD-5CCB-415F-9457-A0A68B0F8179", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch-export-variant", - "codepoint": "F0895", - "aliases": [], - "styles": [ - "arrow", - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Bradley Nelson" - }, - { - "id": "0D93B47F-C9F9-4C87-B63C-656184A87C74", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch-import", - "codepoint": "F058B", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Austin Andrews" - }, - { - "id": "383F089B-340D-43BD-A64C-4F81B8DF2A1F", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch-import-variant", - "codepoint": "F0896", - "aliases": [], - "styles": [ - "arrow", - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Bradley Nelson" - }, - { - "id": "B6ADE62B-5D0C-4D24-87F4-9D8A0F1C7A04", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch-variant", - "codepoint": "F0897", - "aliases": [], - "styles": [ - "variant" - ], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "AE556BFC-A1A0-4B42-9123-B48DC7A3CBF3", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch-vibrate", - "codepoint": "F06B1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "GreenTurtwig" - }, - { - "id": "391763A7-BCF6-4C13-920B-115A7A5092B6", - "baseIconId": "3389F6CD-3E46-47DE-B26A-341C1B65D6BF", - "name": "watch-vibrate-off", - "codepoint": "F0CDA", - "aliases": [], - "styles": [], - "version": "3.2.89", - "deprecated": false, - "tags": [ - "Device \/ Tech" - ], - "author": "Michael Richins" - }, - { - "id": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water", - "codepoint": "F058C", - "aliases": [ - "drop", - "blood", - "water-drop", - "trans-fat", - "ink" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation", - "Health \/ Beauty", - "Food \/ Drink", - "Weather", - "Agriculture" - ], - "author": "Google" - }, - { - "id": "DDBEC0DB-97A9-439B-9FC0-5A05F51ED5E3", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-alert", - "codepoint": "F1502", - "aliases": [ - "drop-alert", - "blood-alert", - "ink-alert" - ], - "styles": [ - "alert" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "4741B9A5-3E15-45B5-BD7B-B812C7E7644F", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-alert-outline", - "codepoint": "F1503", - "aliases": [ - "drop-alert-outline", - "blood-alert-outline", - "ink-alert-outline" - ], - "styles": [ - "alert", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Agriculture" - ], - "author": "Colton Wiscombe" - }, - { - "id": "02A9C002-3B54-415E-8199-067139DF771A", - "baseIconId": "02A9C002-3B54-415E-8199-067139DF771A", - "name": "water-boiler", - "codepoint": "F0F92", - "aliases": [ - "water-heater", - "gas-water-boiler", - "electric-water-boiler", - "gas-water-heater", - "electric-water-heater" - ], - "styles": [], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "GreenTurtwig" - }, - { - "id": "EC21EC05-F45B-4560-A37E-3E721219A728", - "baseIconId": "02A9C002-3B54-415E-8199-067139DF771A", - "name": "water-boiler-alert", - "codepoint": "F11B3", - "aliases": [ - "water-heater-alert", - "water-boiler-error", - "water-heater-error" - ], - "styles": [ - "alert" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E7E8E8F3-F414-440D-9CC1-F96CD5533040", - "baseIconId": "02A9C002-3B54-415E-8199-067139DF771A", - "name": "water-boiler-auto", - "codepoint": "F1B98", - "aliases": [ - "water-heater-auto" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E7515B82-DE9D-4053-9D48-297511ED48E5", - "baseIconId": "02A9C002-3B54-415E-8199-067139DF771A", - "name": "water-boiler-off", - "codepoint": "F11B4", - "aliases": [ - "water-heater-off" - ], - "styles": [ - "off" - ], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "30A9ED7F-3D06-476B-A4F1-B9F85786FF00", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-check", - "codepoint": "F1504", - "aliases": [ - "drop-check", - "blood-check", - "ink-check" - ], - "styles": [ - "check" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "E555BA93-F6A7-4B19-A4F8-132585E14850", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-check-outline", - "codepoint": "F1505", - "aliases": [ - "drop-check-outline", - "blood-check-outline", - "ink-check-outline" - ], - "styles": [ - "check", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "1A50CD86-0127-4730-A090-ED5110A9825F", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-circle", - "codepoint": "F1806", - "aliases": [ - "drop-circle", - "blood-circle", - "ink-circle" - ], - "styles": [ - "circle" - ], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "C3824C0D-87B1-4577-A060-EDE628A694BC", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-minus", - "codepoint": "F1506", - "aliases": [ - "drop-minus", - "blood-minus", - "ink-minus" - ], - "styles": [ - "minus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "8536A2D7-1203-44B5-BBBE-6C37AABAD5B6", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-minus-outline", - "codepoint": "F1507", - "aliases": [ - "drop-minus-outline", - "blood-minus-outline", - "ink-minus-outline" - ], - "styles": [ - "minus", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6C9777A0-967D-4242-91B2-E4D6B5596498", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-off", - "codepoint": "F058D", - "aliases": [ - "format-color-reset", - "trans-fat-off", - "blood-off", - "ink-off" - ], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "8B8E5074-5348-4856-BBF0-461BA5022BF3", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-off-outline", - "codepoint": "F1508", - "aliases": [ - "drop-off-outline", - "blood-off-outline", - "trans-fat-off-outline", - "ink-off-outline" - ], - "styles": [ - "off", - "outline" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "97D5ABBB-9410-4891-B06C-40121506BAEC", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-opacity", - "codepoint": "F1855", - "aliases": [ - "water-transparent", - "water-saver", - "blood-saver", - "blood-transparent", - "oil-saver", - "oil-transparent", - "drop-transparent", - "drop-saver" - ], - "styles": [ - "variant" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Drawing \/ Art", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "DC3CFDE4-8FA9-497A-A937-6F7182B560E1", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-outline", - "codepoint": "F0E0A", - "aliases": [ - "drop-outline", - "blood-outline", - "water-drop-outline", - "ink-outline" - ], - "styles": [ - "outline" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [ - "Home Automation", - "Weather" - ], - "author": "GreenTurtwig" - }, - { - "id": "2CE24A47-D798-4FFD-A53D-65FE9D452E2F", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-percent", - "codepoint": "F058E", - "aliases": [ - "humidity", - "ink-percent" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation", - "Nature" - ], - "author": "Simran" - }, - { - "id": "55C44783-89D5-4A31-86B8-863B719EC876", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-percent-alert", - "codepoint": "F1509", - "aliases": [ - "humidity-alert", - "ink-percent-alert" - ], - "styles": [ - "alert", - "variant" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Nature" - ], - "author": "Colton Wiscombe" - }, - { - "id": "B7B4ACBA-F24A-48D7-A409-965A32860CE9", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-plus", - "codepoint": "F150A", - "aliases": [ - "drop-plus", - "blood-plus", - "ink-plus" - ], - "styles": [ - "plus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "74B7C41B-554D-453A-8646-FFAFDF78C3CA", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-plus-outline", - "codepoint": "F150B", - "aliases": [ - "drop-plus-outline", - "blood-plus-outline", - "ink-plus-outline" - ], - "styles": [ - "outline", - "plus" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "09C341A8-067F-4CE2-96BC-D96E18334AB3", - "baseIconId": "09C341A8-067F-4CE2-96BC-D96E18334AB3", - "name": "water-polo", - "codepoint": "F12A0", - "aliases": [], - "styles": [], - "version": "4.7.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Yaroslav Bandura" - }, - { - "id": "06862D93-608A-4B21-9193-83FA8C6BBDCD", - "baseIconId": "06862D93-608A-4B21-9193-83FA8C6BBDCD", - "name": "water-pump", - "codepoint": "F058F", - "aliases": [ - "tap", - "kitchen-tap", - "faucet" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Agriculture", - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "A66B4E6E-70F9-4136-BE33-D02C002F7B30", - "baseIconId": "06862D93-608A-4B21-9193-83FA8C6BBDCD", - "name": "water-pump-off", - "codepoint": "F0F93", - "aliases": [ - "tap-off", - "kitchen-tap-off", - "faucet-off" - ], - "styles": [ - "off" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Agriculture", - "Home Automation" - ], - "author": "Nick" - }, - { - "id": "2B0BAF1E-C9B8-42E9-84EB-D095EE2B0C39", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-remove", - "codepoint": "F150C", - "aliases": [ - "drop-remove", - "blood-remove", - "ink-remove" - ], - "styles": [ - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "C90739A3-CEDE-4524-A736-BA5A5B5F0CCB", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-remove-outline", - "codepoint": "F150D", - "aliases": [ - "drop-remove-outline", - "blood-remove-outline", - "ink-remove-outline" - ], - "styles": [ - "outline", - "remove" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "14D06EC0-32F9-4CCE-B890-89DE73A106EA", - "baseIconId": "14D06EC0-32F9-4CCE-B890-89DE73A106EA", - "name": "water-sync", - "codepoint": "F17C6", - "aliases": [ - "water-recycle", - "water-reuse" - ], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "Hans B\u00f6hm" - }, - { - "id": "276FDABE-30C6-406C-BAED-FF6BFC10B6BA", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-thermometer", - "codepoint": "F1A85", - "aliases": [ - "boil-point", - "water-temperature", - "dew-point" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D69A4155-E2D7-4A9F-82CD-904D346E8A6E", - "baseIconId": "17EEE663-92E4-4AB1-87FE-94F2CD296C4B", - "name": "water-thermometer-outline", - "codepoint": "F1A86", - "aliases": [ - "dew-point-outline", - "water-temperature-outline", - "boil-point-outline" - ], - "styles": [ - "outline", - "variant" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Weather", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "4EE62E99-C30B-4A90-B89D-ADF4C26EF888", - "baseIconId": "4EE62E99-C30B-4A90-B89D-ADF4C26EF888", - "name": "water-well", - "codepoint": "F106B", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "55A09921-7B26-49DB-AB0E-47E2C133D68C", - "baseIconId": "4EE62E99-C30B-4A90-B89D-ADF4C26EF888", - "name": "water-well-outline", - "codepoint": "F106C", - "aliases": [], - "styles": [], - "version": "4.1.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "DF6B67F9-DE8F-4183-B7E8-CE99C3B863EE", - "baseIconId": "DF6B67F9-DE8F-4183-B7E8-CE99C3B863EE", - "name": "waterfall", - "codepoint": "F1849", - "aliases": [], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Nature" - ], - "author": "Teodor Sandu" - }, - { - "id": "5B017D32-0BE9-4A6A-999C-32777F995FBB", - "baseIconId": "5B017D32-0BE9-4A6A-999C-32777F995FBB", - "name": "watering-can", - "codepoint": "F1481", - "aliases": [ - "watering-pot" - ], - "styles": [], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "guenth39" - }, - { - "id": "67419E50-B2CE-4B36-A137-705FD6404252", - "baseIconId": "5B017D32-0BE9-4A6A-999C-32777F995FBB", - "name": "watering-can-outline", - "codepoint": "F1482", - "aliases": [ - "watering-pot-outline" - ], - "styles": [ - "outline" - ], - "version": "5.3.45", - "deprecated": false, - "tags": [ - "Agriculture" - ], - "author": "guenth39" - }, - { - "id": "20907A4A-11CA-447E-A4F5-D0F0901D197E", - "baseIconId": "20907A4A-11CA-447E-A4F5-D0F0901D197E", - "name": "watermark", - "codepoint": "F0612", - "aliases": [ - "branding-watermark" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "34D870BF-048B-44DF-93F9-8EBE7AF4C263", - "baseIconId": "547979BF-6FF4-4CFF-BD55-1E5793C9DAA3", - "name": "wave", - "codepoint": "F0F2E", - "aliases": [ - "water" - ], - "styles": [], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Transportation + Water" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B677F1CB-606B-4DB5-9A9D-73E4FC0AC3F0", - "baseIconId": "B677F1CB-606B-4DB5-9A9D-73E4FC0AC3F0", - "name": "waveform", - "codepoint": "F147D", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Audio" - ], - "author": "Haley Halcyon" - }, - { - "id": "547979BF-6FF4-4CFF-BD55-1E5793C9DAA3", - "baseIconId": "547979BF-6FF4-4CFF-BD55-1E5793C9DAA3", - "name": "waves", - "codepoint": "F078D", - "aliases": [ - "ocean", - "lake", - "flood", - "water" - ], - "styles": [], - "version": "1.9.32", - "deprecated": false, - "tags": [ - "Weather", - "Transportation + Water", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FC4A7A1E-A32E-432E-8EB3-79FFA3E012C1", - "baseIconId": "547979BF-6FF4-4CFF-BD55-1E5793C9DAA3", - "name": "waves-arrow-left", - "codepoint": "F1859", - "aliases": [ - "tide-in", - "water-flow" - ], - "styles": [ - "arrow" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Nature", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "69DDD960-779E-4BD9-9B96-B73ED9CAF55D", - "baseIconId": "547979BF-6FF4-4CFF-BD55-1E5793C9DAA3", - "name": "waves-arrow-right", - "codepoint": "F185A", - "aliases": [ - "tide-out", - "water-flow" - ], - "styles": [ - "arrow" - ], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Nature", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "9C20E25F-2499-4B5F-BC47-74DDA23F6DC3", - "baseIconId": "547979BF-6FF4-4CFF-BD55-1E5793C9DAA3", - "name": "waves-arrow-up", - "codepoint": "F185B", - "aliases": [ - "water-evaporation", - "humidity", - "sea-level-rise", - "ocean-level-rise", - "climate-change" - ], - "styles": [], - "version": "6.2.95", - "deprecated": false, - "tags": [ - "Nature", - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "51E32DD0-F286-4039-8242-2BF03E917C37", - "baseIconId": "51E32DD0-F286-4039-8242-2BF03E917C37", - "name": "waze", - "codepoint": "F0BDE", - "aliases": [], - "styles": [], - "version": "3.0.39", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "9286B6B3-09EE-4465-9A70-D7874E26F3DF", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-cloudy", - "codepoint": "F0590", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Cloud", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "EF2214BE-8126-4458-A17A-74C58B30C2C5", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-cloudy-alert", - "codepoint": "F0F2F", - "aliases": [], - "styles": [ - "alert", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Alert \/ Error", - "Cloud" - ], - "author": "Michael Irigoyen" - }, - { - "id": "522BA775-D569-4615-AABE-40B9E638EA18", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-cloudy-arrow-right", - "codepoint": "F0E6E", - "aliases": [], - "styles": [ - "arrow", - "outline" - ], - "version": "3.6.95", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Michael Irigoyen" - }, - { - "id": "D7526077-1254-4F32-9496-3B8E5D957F0F", - "baseIconId": "9286B6B3-09EE-4465-9A70-D7874E26F3DF", - "name": "weather-cloudy-clock", - "codepoint": "F18F6", - "aliases": [ - "weather-history", - "weather-time", - "weather-date" - ], - "styles": [ - "clock" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CFF329EE-07C3-48E8-B21D-7B31F36875E6", - "baseIconId": "CFF329EE-07C3-48E8-B21D-7B31F36875E6", - "name": "weather-dust", - "codepoint": "F1B5A", - "aliases": [ - "dust-storm", - "windy" - ], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Weather", - "Agriculture" - ], - "author": "Andrej Sharapov" - }, - { - "id": "9E1AC9CA-0FA4-44C6-BA5D-2EB3CED4899D", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-fog", - "codepoint": "F0591", - "aliases": [ - "weather-mist" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "BED775CF-13BD-4D5A-A06F-7B026E820CB1", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-hail", - "codepoint": "F0592", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "87410436-C351-4FF7-91E4-9A5F52D49F69", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-hazy", - "codepoint": "F0F30", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Agriculture" - ], - "author": "Michael Irigoyen" - }, - { - "id": "880967C4-85F9-4953-A6D0-73C9370BC987", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-hurricane", - "codepoint": "F0898", - "aliases": [ - "cyclone" - ], - "styles": [], - "version": "2.1.99", - "deprecated": false, - "tags": [ - "Weather", - "Nature", - "Agriculture" - ], - "author": "Michael Richins" - }, - { - "id": "B5191E73-1C38-4B78-9018-F8216855C61A", - "baseIconId": "880967C4-85F9-4953-A6D0-73C9370BC987", - "name": "weather-hurricane-outline", - "codepoint": "F1C78", - "aliases": [ - "cyclone-outline" - ], - "styles": [ - "outline" - ], - "version": "7.2.96", - "deprecated": false, - "tags": [ - "Weather", - "Nature", - "Agriculture" - ], - "author": "Jeff Anders" - }, - { - "id": "6AF7BD8A-088F-4B07-806D-7456EB382D76", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-lightning", - "codepoint": "F0593", - "aliases": [ - "weather-storm", - "weather-thunder", - "weather-flash" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "F69033FD-E6F0-48E7-ADA7-7CDF71B1673C", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-lightning-rainy", - "codepoint": "F067E", - "aliases": [ - "weather-thunder-rainy", - "weather-storm" - ], - "styles": [ - "outline" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "1C3BA3AB-E86E-481B-A3C2-867B37A6E55A", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-night", - "codepoint": "F0594", - "aliases": [ - "moon-and-stars", - "night-sky" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Holiday" - ], - "author": "Austin Andrews" - }, - { - "id": "19D690AD-38F9-45CF-A092-D62A53098A68", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-night-partly-cloudy", - "codepoint": "F0F31", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Michael Irigoyen" - }, - { - "id": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-partly-cloudy", - "codepoint": "F0595", - "aliases": [ - "weather-partlycloudy" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Cloud" - ], - "author": "Austin Andrews" - }, - { - "id": "93C1E28D-0C94-4B55-8B26-BACE3F777ECC", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-partly-lightning", - "codepoint": "F0F32", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "B01CFC20-40C4-4647-A20D-0181E5AB4952", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-partly-rainy", - "codepoint": "F0F33", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0E45DB37-DF54-422B-AE18-2AA35BC54109", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-partly-snowy", - "codepoint": "F0F34", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "CAF9B1D0-1095-4A34-AC07-78C937BDA618", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-partly-snowy-rainy", - "codepoint": "F0F35", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "220955AA-770D-4884-A2ED-F21D2DC2CCDA", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-pouring", - "codepoint": "F0596", - "aliases": [ - "weather-heavy-rain" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "45EF5E01-7499-4964-A897-5602F45A822E", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-rainy", - "codepoint": "F0597", - "aliases": [ - "weather-drizzle", - "weather-spitting" - ], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather", - "Agriculture" - ], - "author": "Austin Andrews" - }, - { - "id": "88999373-43C5-4851-BBCF-5335D8DFBDA0", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-snowy", - "codepoint": "F0598", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "D97DA5D6-5A65-4ADB-B124-48C22F32B07A", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-snowy-heavy", - "codepoint": "F0F36", - "aliases": [ - "flurries" - ], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0938BCD1-BCF8-4439-B6B3-A590150878BC", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-snowy-rainy", - "codepoint": "F067F", - "aliases": [ - "weather-sleet" - ], - "styles": [ - "outline" - ], - "version": "1.7.12", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-sunny", - "codepoint": "F0599", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "3AACF641-3923-4DBA-9568-0680999A6548", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-sunny-alert", - "codepoint": "F0F37", - "aliases": [ - "heat-alert", - "heat-advisory", - "sun-advisory" - ], - "styles": [ - "alert", - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather", - "Alert \/ Error", - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "2C884CEC-BA06-491D-9A7D-17B8B2E74CA6", - "baseIconId": "7F85265E-304C-4575-A73F-F0FCF0CA951B", - "name": "weather-sunny-off", - "codepoint": "F14E4", - "aliases": [], - "styles": [ - "off" - ], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "5EF29669-A342-46D1-AE1B-47917E44311D", - "baseIconId": "5EF29669-A342-46D1-AE1B-47917E44311D", - "name": "weather-sunset", - "codepoint": "F059A", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "032B7D10-9218-4B71-B190-C486832BEF61", - "baseIconId": "5EF29669-A342-46D1-AE1B-47917E44311D", - "name": "weather-sunset-down", - "codepoint": "F059B", - "aliases": [], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "AC82F126-0773-44CE-A004-77E7DDD130C9", - "baseIconId": "5EF29669-A342-46D1-AE1B-47917E44311D", - "name": "weather-sunset-up", - "codepoint": "F059C", - "aliases": [ - "sunrise" - ], - "styles": [ - "arrow" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "BE149D04-25E9-4CE8-BD75-2D6D49A03FEA", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-tornado", - "codepoint": "F0F38", - "aliases": [], - "styles": [ - "outline" - ], - "version": "3.8.95", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "7544E7E7-02F7-405C-9ADB-2E2540B07343", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-windy", - "codepoint": "F059D", - "aliases": [], - "styles": [ - "outline" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "454DE99F-BA48-4A7B-A2C6-C0E162065D10", - "baseIconId": "80E6A6FB-1524-4A7D-9551-17D3BDFBD7C5", - "name": "weather-windy-variant", - "codepoint": "F059E", - "aliases": [], - "styles": [ - "outline", - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Austin Andrews" - }, - { - "id": "DA9C32CA-8C31-4462-B123-479169C31587", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web", - "codepoint": "F059F", - "aliases": [ - "language", - "globe", - "internet", - "world-wide-web" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Google" - }, - { - "id": "42B55CB7-DC3D-4804-A848-1A9CA7DCD533", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-box", - "codepoint": "F0F94", - "aliases": [ - "language-box", - "globe-box", - "internet-box" - ], - "styles": [ - "box" - ], - "version": "3.9.97", - "deprecated": false, - "tags": [ - "Geographic Information System" - ], - "author": "Samuel Jones" - }, - { - "id": "A959571D-7AA8-4DD9-8407-D78D4DFBDD79", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-cancel", - "codepoint": "F1790", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "B74213B2-B220-4D15-AFA5-CAE0E40D6CFE", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-check", - "codepoint": "F0789", - "aliases": [], - "styles": [ - "check" - ], - "version": "1.9.32", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "FABF6519-0CE7-461D-986D-60B4BF7374A7", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-clock", - "codepoint": "F124A", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "frankgrinaert" - }, - { - "id": "9C32EF89-4919-4CF1-A266-A0AB4C1C11EA", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-minus", - "codepoint": "F10A0", - "aliases": [], - "styles": [ - "minus" - ], - "version": "4.2.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "46DE4030-CBE2-401D-82A0-50B99DE514D1", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-off", - "codepoint": "F0A8E", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F9923FF1-E31E-4C03-BBB7-438704CF3909", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-plus", - "codepoint": "F0033", - "aliases": [], - "styles": [ - "plus" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "D0CCF2D3-F7AC-4591-B31E-37B03A843661", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-refresh", - "codepoint": "F1791", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "BC7B3CEA-B4D3-4F52-8378-5ACF408A3D9B", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-remove", - "codepoint": "F0551", - "aliases": [], - "styles": [ - "remove" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "3B639E91-D1C4-439A-A1D9-84779901F763", - "baseIconId": "DA9C32CA-8C31-4462-B123-479169C31587", - "name": "web-sync", - "codepoint": "F1792", - "aliases": [], - "styles": [], - "version": "6.1.95", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "03483AFB-9D53-4E10-B00C-1095C1873276", - "baseIconId": "03483AFB-9D53-4E10-B00C-1095C1873276", - "name": "webcam", - "codepoint": "F05A0", - "aliases": [ - "web-camera" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Video \/ Movie", - "Home Automation" - ], - "author": "Chris Litherland" - }, - { - "id": "F8D156C4-16AA-47AD-B06B-970E27F30FE6", - "baseIconId": "03483AFB-9D53-4E10-B00C-1095C1873276", - "name": "webcam-off", - "codepoint": "F1737", - "aliases": [], - "styles": [], - "version": "5.9.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "5B415522-B2A4-4D34-BEE3-D81D607BBD0B", - "baseIconId": "5B415522-B2A4-4D34-BEE3-D81D607BBD0B", - "name": "webhook", - "codepoint": "F062F", - "aliases": [], - "styles": [], - "version": "1.6.50", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "65235220-D361-4E99-BEC6-E62B231E4384", - "baseIconId": "65235220-D361-4E99-BEC6-E62B231E4384", - "name": "webpack", - "codepoint": "F072B", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Developer \/ Languages" - ], - "author": "Contributors" - }, - { - "id": "972B66F0-ED66-42B4-BEE8-63EF28F4658B", - "baseIconId": "972B66F0-ED66-42B4-BEE8-63EF28F4658B", - "name": "webrtc", - "codepoint": "F1248", - "aliases": [], - "styles": [], - "version": "4.6.95", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "31CBB823-2223-40D5-BCF7-470F91159757", - "baseIconId": "31CBB823-2223-40D5-BCF7-470F91159757", - "name": "wechat", - "codepoint": "F0611", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "F5DECC39-2E4C-4574-B141-832DFBA8CB43", - "baseIconId": "F5DECC39-2E4C-4574-B141-832DFBA8CB43", - "name": "weight", - "codepoint": "F05A1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "ABC7A229-B0E6-4F6C-9A00-C1340D95DEAF", - "baseIconId": "F5DECC39-2E4C-4574-B141-832DFBA8CB43", - "name": "weight-gram", - "codepoint": "F0D3F", - "aliases": [], - "styles": [ - "variant" - ], - "version": "3.3.92", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "5EDFF36D-4C8E-4B8D-BE3F-76C27DB804DF", - "baseIconId": "F5DECC39-2E4C-4574-B141-832DFBA8CB43", - "name": "weight-kilogram", - "codepoint": "F05A2", - "aliases": [ - "weight-kg" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "4ECFBE4E-52B2-4A60-BD6C-9B7DAB38E7A5", - "baseIconId": "4ECFBE4E-52B2-4A60-BD6C-9B7DAB38E7A5", - "name": "weight-lifter", - "codepoint": "F115D", - "aliases": [ - "crossfit", - "gym", - "fitness-center", - "human-barbell" - ], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Sport", - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "47B5C7D8-105F-4420-B911-50693081EA76", - "baseIconId": "F5DECC39-2E4C-4574-B141-832DFBA8CB43", - "name": "weight-pound", - "codepoint": "F09B5", - "aliases": [ - "weight-lb" - ], - "styles": [ - "variant" - ], - "version": "2.4.85", - "deprecated": false, - "tags": [], - "author": "Haley Halcyon" - }, - { - "id": "C58497CE-5E84-483C-9C85-3007ADF9BC9A", - "baseIconId": "C58497CE-5E84-483C-9C85-3007ADF9BC9A", - "name": "whatsapp", - "codepoint": "F05A3", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "2D35B573-0B04-4E72-84CA-6BE431EE5AE5", - "baseIconId": "2D35B573-0B04-4E72-84CA-6BE431EE5AE5", - "name": "wheel-barrow", - "codepoint": "F14F2", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Michael Irigoyen" - }, - { - "id": "1984D53A-267C-4E05-956A-ABED5B2029BE", - "baseIconId": "1984D53A-267C-4E05-956A-ABED5B2029BE", - "name": "wheelchair", - "codepoint": "F1A87", - "aliases": [ - "accessible", - "isa", - "international-symbol-of-access" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Medical \/ Hospital", - "People \/ Family" - ], - "author": "Michael Irigoyen" - }, - { - "id": "FB4E1390-EFB1-4364-B6EE-F936C5715163", - "baseIconId": "1984D53A-267C-4E05-956A-ABED5B2029BE", - "name": "wheelchair-accessibility", - "codepoint": "F05A4", - "aliases": [ - "accessible" - ], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Medical \/ Hospital" - ], - "author": "Doug C. Hardester" - }, - { - "id": "2DADA4F6-D9AD-454D-BC75-1D8DE507FA82", - "baseIconId": "2DADA4F6-D9AD-454D-BC75-1D8DE507FA82", - "name": "whistle", - "codepoint": "F09B6", - "aliases": [], - "styles": [], - "version": "2.4.85", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "93CDBDF3-A4BE-4ADE-9179-171FA94726A6", - "baseIconId": "2DADA4F6-D9AD-454D-BC75-1D8DE507FA82", - "name": "whistle-outline", - "codepoint": "F12BC", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.8.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Richins" - }, - { - "id": "2FE12EF0-B5CE-4ADB-9B1B-3F796F0EDE0E", - "baseIconId": "2FE12EF0-B5CE-4ADB-9B1B-3F796F0EDE0E", - "name": "white-balance-auto", - "codepoint": "F05A5", - "aliases": [ - "wb-auto" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "4464050A-1A97-46CF-BBA5-CE52D600CB45", - "baseIconId": "4464050A-1A97-46CF-BBA5-CE52D600CB45", - "name": "white-balance-incandescent", - "codepoint": "F05A6", - "aliases": [ - "wb-incandescent" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "E88B06D9-C60D-4084-9AE9-742266F0E8FB", - "baseIconId": "E88B06D9-C60D-4084-9AE9-742266F0E8FB", - "name": "white-balance-iridescent", - "codepoint": "F05A7", - "aliases": [ - "wb-iridescent" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography" - ], - "author": "Google" - }, - { - "id": "7DCAB3C3-C32F-483D-98F1-1728919AA17B", - "baseIconId": "7DCAB3C3-C32F-483D-98F1-1728919AA17B", - "name": "white-balance-sunny", - "codepoint": "F05A8", - "aliases": [ - "wb-sunny" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Photography", - "Weather" - ], - "author": "Google" - }, - { - "id": "419C0A49-C751-4204-8C82-7E43B0896BD9", - "baseIconId": "419C0A49-C751-4204-8C82-7E43B0896BD9", - "name": "widgets", - "codepoint": "F072C", - "aliases": [], - "styles": [], - "version": "1.8.36", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "94C40C14-7BBA-4DF6-824B-6EFC9327F7E5", - "baseIconId": "419C0A49-C751-4204-8C82-7E43B0896BD9", - "name": "widgets-outline", - "codepoint": "F1355", - "aliases": [], - "styles": [ - "outline" - ], - "version": "4.9.95", - "deprecated": false, - "tags": [], - "author": "Google" - }, - { - "id": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi", - "codepoint": "F05A9", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "9B9FF835-20F9-49BD-A11F-403786BC42A2", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-alert", - "codepoint": "F16B5", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Colton Wiscombe" - }, - { - "id": "8778FE48-83F3-484D-A1DE-C12000DB3170", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-arrow-down", - "codepoint": "F16B6", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "79955442-BBC4-4B1D-84EE-69990BF30331", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-arrow-left", - "codepoint": "F16B7", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "BD5239F0-5659-4E99-9860-F28D58BDF788", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-arrow-left-right", - "codepoint": "F16B8", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "F245A78A-C6F3-45CF-B4C0-131280576715", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-arrow-right", - "codepoint": "F16B9", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "20394D81-3E4C-4963-88C7-BB015ECA8D72", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-arrow-up", - "codepoint": "F16BA", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "EE028441-38B6-40F9-B3E8-C673241BD39D", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-arrow-up-down", - "codepoint": "F16BB", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "06F860BA-78F4-4F9C-8A90-E6ABEF1FA064", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-cancel", - "codepoint": "F16BC", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "41D2061C-CFC9-4686-B916-4BEC07AB1553", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-check", - "codepoint": "F16BD", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "17572DB9-20E6-4B83-A6B8-C66282523BC8", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-cog", - "codepoint": "F16BE", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "3E5F6D19-E6C7-48BD-990F-C7D10598B2F7", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-lock", - "codepoint": "F16BF", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "F9450F5D-FCF2-4E89-B234-FDA2F72C6B18", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-lock-open", - "codepoint": "F16C0", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "A6FB83C2-13FE-4B23-AE9B-7F2696CA2835", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-marker", - "codepoint": "F16C1", - "aliases": [ - "wifi-location" - ], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Navigation" - ], - "author": "Colton Wiscombe" - }, - { - "id": "DFEC628C-E105-456D-8F73-71F54116DBC2", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-minus", - "codepoint": "F16C2", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "A7CAE187-B853-41DD-9D8D-FB9A28C3F764", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-off", - "codepoint": "F05AA", - "aliases": [], - "styles": [ - "off" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "3CF89702-EA3B-48A1-9B5E-5188A80DCBA8", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-plus", - "codepoint": "F16C3", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "540437B4-6901-4F18-A60F-CAA10FD74B49", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-refresh", - "codepoint": "F16C4", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "5989CC44-8A90-4D17-ADB8-F7AC12A0CF4E", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-remove", - "codepoint": "F16C5", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "BA9356E6-E4D6-4A64-923C-395114E0DBE3", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-settings", - "codepoint": "F16C6", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Colton Wiscombe" - }, - { - "id": "30694858-4607-48C1-A533-861E4968A0CE", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-star", - "codepoint": "F0E0B", - "aliases": [ - "wifi-favourite", - "network-favourite", - "wifi-favorite", - "network-favorite" - ], - "styles": [ - "star" - ], - "version": "3.5.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "E4665C87-DB69-45CC-B922-1FCB0F0A54A3", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-1", - "codepoint": "F091F", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "31F993F8-3BC0-4818-AE1C-91DF005766F3", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-1-alert", - "codepoint": "F0920", - "aliases": [ - "wifi-strength-1-warning" - ], - "styles": [ - "alert" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "035F0E2C-C952-40AB-BC29-B8CE120C389D", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-1-lock", - "codepoint": "F0921", - "aliases": [], - "styles": [ - "lock" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "91890A07-398B-41A0-B91C-647C7BE9F5DA", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-1-lock-open", - "codepoint": "F16CB", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "92D075FB-99D3-4926-A4E9-F25EAB70E78E", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-2", - "codepoint": "F0922", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "38D73A8E-CEA5-4E6F-960B-BD2A0D482D9F", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-2-alert", - "codepoint": "F0923", - "aliases": [ - "wifi-strength-2-warning" - ], - "styles": [ - "alert" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "CD7B760F-1A3C-4DDE-AB00-9EF11DF12073", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-2-lock", - "codepoint": "F0924", - "aliases": [], - "styles": [ - "lock" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "22E5DDDA-12A4-4087-B1FF-5C3E8807CE0B", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-2-lock-open", - "codepoint": "F16CC", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "736B9B99-3A60-4BCA-A79A-40DE34D17F43", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-3", - "codepoint": "F0925", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "780617FD-FBFA-4F88-98CA-2DEA43409312", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-3-alert", - "codepoint": "F0926", - "aliases": [ - "wifi-strength-3-warning" - ], - "styles": [ - "alert" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "CD4F72AA-B86D-4133-8EB8-145F457A1F06", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-3-lock", - "codepoint": "F0927", - "aliases": [], - "styles": [ - "lock" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "249BF1E5-B9AC-47D6-9FC4-72678EE933C4", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-3-lock-open", - "codepoint": "F16CD", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-4", - "codepoint": "F0928", - "aliases": [], - "styles": [], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "B37308A1-15BE-4F23-82F4-B360C8BA63C1", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-4-alert", - "codepoint": "F0929", - "aliases": [ - "wifi-strength-4-warning" - ], - "styles": [ - "alert" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "11518A63-4E2B-477D-8D93-9B6C708DE5E1", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-4-lock", - "codepoint": "F092A", - "aliases": [], - "styles": [ - "lock" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "332A10AE-2396-460B-819F-7149D0BE4085", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-4-lock-open", - "codepoint": "F16CE", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "50E531C4-A82A-4F0C-A8BB-A2208B546E81", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-alert-outline", - "codepoint": "F092B", - "aliases": [ - "wifi-strength-warning-outline", - "wifi-strength-0-alert", - "wifi-strength-0-warning" - ], - "styles": [ - "alert", - "outline" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Alert \/ Error" - ], - "author": "Simran" - }, - { - "id": "40B4EE9D-5DA4-428C-BEF3-C75FD6740CA3", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-lock-open-outline", - "codepoint": "F16CF", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Colton Wiscombe" - }, - { - "id": "718740BB-FC95-47E4-856B-0A469966C8DD", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-lock-outline", - "codepoint": "F092C", - "aliases": [ - "wifi-strength-0-lock" - ], - "styles": [ - "lock", - "off" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [ - "Lock" - ], - "author": "Simran" - }, - { - "id": "122332EC-08DD-438C-BD47-AB332E1E04F6", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-off", - "codepoint": "F092D", - "aliases": [], - "styles": [ - "off" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "E4D2EA69-5F99-4D0B-BC12-BD22A2835B19", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-off-outline", - "codepoint": "F092E", - "aliases": [], - "styles": [ - "off", - "outline" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "0DAAFF13-5A8D-44C3-AE46-9DDE62493C60", - "baseIconId": "41B86B22-7245-4A97-9BAA-3E9EBD44CEB0", - "name": "wifi-strength-outline", - "codepoint": "F092F", - "aliases": [ - "wifi-strength-0" - ], - "styles": [ - "outline" - ], - "version": "2.3.50", - "deprecated": false, - "tags": [], - "author": "Simran" - }, - { - "id": "73D9D138-DCB0-4CA7-9AB9-5C3BCB4D2165", - "baseIconId": "E77CF681-7DD0-4EDF-AA35-0DB80790BC03", - "name": "wifi-sync", - "codepoint": "F16C7", - "aliases": [], - "styles": [], - "version": "5.8.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "19DE621D-F082-42B5-9FD3-FEF8D84A2BB9", - "baseIconId": "19DE621D-F082-42B5-9FD3-FEF8D84A2BB9", - "name": "wikipedia", - "codepoint": "F05AC", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "4A21CDF6-CF3E-46DB-8A1E-A5F51225DDE3", - "baseIconId": "4A21CDF6-CF3E-46DB-8A1E-A5F51225DDE3", - "name": "wind-power", - "codepoint": "F1A88", - "aliases": [ - "wind-energy", - "wind-electricity" - ], - "styles": [], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "4ED15D1F-9A58-4E07-BA71-3DCEAC67F59D", - "baseIconId": "4A21CDF6-CF3E-46DB-8A1E-A5F51225DDE3", - "name": "wind-power-outline", - "codepoint": "F1A89", - "aliases": [ - "wind-energy-outline", - "wind-electricity-outline" - ], - "styles": [ - "outline" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "9DABF133-FBE0-416C-82D8-F47E8A559E12", - "baseIconId": "9DABF133-FBE0-416C-82D8-F47E8A559E12", - "name": "wind-turbine", - "codepoint": "F0DA5", - "aliases": [ - "wind-power", - "wind-electricity" - ], - "styles": [], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Google" - }, - { - "id": "E77F8623-2F40-49A2-AE26-40B7B9AFA6AF", - "baseIconId": "9DABF133-FBE0-416C-82D8-F47E8A559E12", - "name": "wind-turbine-alert", - "codepoint": "F19AB", - "aliases": [ - "wind-power-alert", - "wind-turbine-warning" - ], - "styles": [ - "alert" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "Michael Irigoyen" - }, - { - "id": "6B86211C-130B-4A90-A9C7-9B58A5228D30", - "baseIconId": "9DABF133-FBE0-416C-82D8-F47E8A559E12", - "name": "wind-turbine-check", - "codepoint": "F19AC", - "aliases": [ - "wind-power-check", - "wind-turbine-success", - "wind-power-success" - ], - "styles": [ - "check" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0CB92EB7-2EE0-401C-9113-7D52E78DB51E", - "baseIconId": "0CB92EB7-2EE0-401C-9113-7D52E78DB51E", - "name": "window-close", - "codepoint": "F05AD", - "aliases": [ - "cancel", - "close" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "42DDDE71-7AA4-4A61-98F5-2A3B0AD486FF", - "baseIconId": "42DDDE71-7AA4-4A61-98F5-2A3B0AD486FF", - "name": "window-closed", - "codepoint": "F05AE", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "8A71B80F-BEE0-4603-8EB3-06699D1140FF", - "baseIconId": "42DDDE71-7AA4-4A61-98F5-2A3B0AD486FF", - "name": "window-closed-variant", - "codepoint": "F11DB", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "AB365770-45CF-44AC-941E-8E1396FAF428", - "baseIconId": "AB365770-45CF-44AC-941E-8E1396FAF428", - "name": "window-maximize", - "codepoint": "F05AF", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "C329F2CA-AC52-45CD-87D7-253AB115D47F", - "baseIconId": "C329F2CA-AC52-45CD-87D7-253AB115D47F", - "name": "window-minimize", - "codepoint": "F05B0", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "5617DB90-FDD7-4909-B322-D1EC44EB1372", - "baseIconId": "42DDDE71-7AA4-4A61-98F5-2A3B0AD486FF", - "name": "window-open", - "codepoint": "F05B1", - "aliases": [], - "styles": [ - "variant" - ], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Austin Andrews" - }, - { - "id": "47841D12-3D7E-40C1-9230-08C8890E0067", - "baseIconId": "42DDDE71-7AA4-4A61-98F5-2A3B0AD486FF", - "name": "window-open-variant", - "codepoint": "F11DC", - "aliases": [], - "styles": [], - "version": "4.5.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Richins" - }, - { - "id": "405C8463-0E67-48A3-B824-7C5E74423125", - "baseIconId": "405C8463-0E67-48A3-B824-7C5E74423125", - "name": "window-restore", - "codepoint": "F05B2", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "0893E339-7750-4CAB-8C19-6496711F3C37", - "baseIconId": "0893E339-7750-4CAB-8C19-6496711F3C37", - "name": "window-shutter", - "codepoint": "F111C", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "idevo89" - }, - { - "id": "8D6FB7B2-191F-459C-A41A-1D8881EA286B", - "baseIconId": "0893E339-7750-4CAB-8C19-6496711F3C37", - "name": "window-shutter-alert", - "codepoint": "F111D", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Home Automation", - "Alert \/ Error" - ], - "author": "idevo89" - }, - { - "id": "20BDF96D-E685-450D-8555-199115B7628F", - "baseIconId": "0893E339-7750-4CAB-8C19-6496711F3C37", - "name": "window-shutter-auto", - "codepoint": "F1BA3", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "Michael Irigoyen" - }, - { - "id": "E71049A9-FDB3-47BD-A1CA-9CA952627DDE", - "baseIconId": "0893E339-7750-4CAB-8C19-6496711F3C37", - "name": "window-shutter-cog", - "codepoint": "F1A8A", - "aliases": [ - "window-shutter-settings" - ], - "styles": [ - "cog" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "955A5813-3414-4712-ADF4-62878A42D3B9", - "baseIconId": "0893E339-7750-4CAB-8C19-6496711F3C37", - "name": "window-shutter-open", - "codepoint": "F111E", - "aliases": [], - "styles": [], - "version": "4.3.95", - "deprecated": false, - "tags": [ - "Home Automation" - ], - "author": "idevo89" - }, - { - "id": "1361AC2A-CE62-44C5-99BE-3DBA2B14D318", - "baseIconId": "0893E339-7750-4CAB-8C19-6496711F3C37", - "name": "window-shutter-settings", - "codepoint": "F1A8B", - "aliases": [], - "styles": [ - "settings" - ], - "version": "6.7.96", - "deprecated": false, - "tags": [ - "Home Automation", - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0D2A52AA-2CAE-427F-887E-6198929D6855", - "baseIconId": "0D2A52AA-2CAE-427F-887E-6198929D6855", - "name": "windsock", - "codepoint": "F15FA", - "aliases": [], - "styles": [], - "version": "5.6.55", - "deprecated": false, - "tags": [ - "Weather" - ], - "author": "Michael Irigoyen" - }, - { - "id": "70D590C8-8B7E-4F4A-A9FC-31765D35F349", - "baseIconId": "70D590C8-8B7E-4F4A-A9FC-31765D35F349", - "name": "wiper", - "codepoint": "F0AE9", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "CC8D7DD6-699C-4746-ACAB-84DCA7BBC5E9", - "baseIconId": "70D590C8-8B7E-4F4A-A9FC-31765D35F349", - "name": "wiper-wash", - "codepoint": "F0DA6", - "aliases": [ - "wiper-fluid", - "washer-fluid" - ], - "styles": [ - "variant" - ], - "version": "3.4.93", - "deprecated": false, - "tags": [ - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0BC113C0-8EC6-479E-86B6-A8F88C6B0371", - "baseIconId": "70D590C8-8B7E-4F4A-A9FC-31765D35F349", - "name": "wiper-wash-alert", - "codepoint": "F18DF", - "aliases": [ - "wiper-fluid-alert", - "washer-fluid-alert", - "wiper-fluid-low", - "washer-fluid-low" - ], - "styles": [ - "alert", - "variant" - ], - "version": "6.3.95", - "deprecated": false, - "tags": [ - "Alert \/ Error", - "Automotive" - ], - "author": "Michael Irigoyen" - }, - { - "id": "464D9AC5-8A79-4E35-89E3-D84DDC0056A3", - "baseIconId": "464D9AC5-8A79-4E35-89E3-D84DDC0056A3", - "name": "wizard-hat", - "codepoint": "F1477", - "aliases": [], - "styles": [], - "version": "5.2.45", - "deprecated": false, - "tags": [ - "Clothing", - "Gaming \/ RPG" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0059A2CA-E266-4A57-9EE8-4520B7330D5C", - "baseIconId": "0059A2CA-E266-4A57-9EE8-4520B7330D5C", - "name": "wordpress", - "codepoint": "F05B4", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "79D47101-F8CB-496B-99B0-957DADED5D44", - "baseIconId": "79D47101-F8CB-496B-99B0-957DADED5D44", - "name": "wrap", - "codepoint": "F05B6", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Doug C. Hardester" - }, - { - "id": "44C4926C-7F82-4A6A-8F55-A7B23E56A9D7", - "baseIconId": "79D47101-F8CB-496B-99B0-957DADED5D44", - "name": "wrap-disabled", - "codepoint": "F0BDF", - "aliases": [ - "unwrap" - ], - "styles": [], - "version": "3.0.39", - "deprecated": false, - "tags": [], - "author": "Leo SF" - }, - { - "id": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "baseIconId": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "name": "wrench", - "codepoint": "F05B7", - "aliases": [ - "build", - "spanner" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "ADF2E260-DDB1-4561-B453-0293C8AA773F", - "baseIconId": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "name": "wrench-check", - "codepoint": "F1B8F", - "aliases": [], - "styles": [ - "check" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Andrej Sharapov" - }, - { - "id": "319DEB6A-C5F2-4787-BAE1-33BA7BE23BE3", - "baseIconId": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "name": "wrench-check-outline", - "codepoint": "F1B90", - "aliases": [], - "styles": [ - "check", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [], - "author": "Michael Irigoyen" - }, - { - "id": "922891A9-0422-4BCD-9CE7-2FA1E7134EAB", - "baseIconId": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "name": "wrench-clock", - "codepoint": "F19A3", - "aliases": [ - "scheduled-maintenance", - "wrench-time", - "tool-time", - "tool-clock" - ], - "styles": [ - "clock" - ], - "version": "6.5.95", - "deprecated": false, - "tags": [ - "Date \/ Time", - "Hardware \/ Tools" - ], - "author": "Simran" - }, - { - "id": "5D30C3F8-E717-4D12-AA8A-E6E9461BF849", - "baseIconId": "5D30C3F8-E717-4D12-AA8A-E6E9461BF849", - "name": "wrench-clock-outline", - "codepoint": "F1B93", - "aliases": [], - "styles": [], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Date \/ Time" - ], - "author": "Michael Irigoyen" - }, - { - "id": "321D5871-1A24-4817-9B36-AFBA993D34A0", - "baseIconId": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "name": "wrench-cog", - "codepoint": "F1B91", - "aliases": [ - "wrench-settings" - ], - "styles": [ - "cog" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Andrej Sharapov" - }, - { - "id": "D13707EF-6219-4BCC-93EF-2B11BC627EDE", - "baseIconId": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "name": "wrench-cog-outline", - "codepoint": "F1B92", - "aliases": [ - "wrench-settings-outline" - ], - "styles": [ - "cog", - "outline" - ], - "version": "7.0.96", - "deprecated": false, - "tags": [ - "Settings" - ], - "author": "Michael Irigoyen" - }, - { - "id": "040BA3F6-86B3-4597-9EBE-C6D6A916091D", - "baseIconId": "CACAAE64-D38D-423E-8C84-68EFF0EA0F8A", - "name": "wrench-outline", - "codepoint": "F0BE0", - "aliases": [ - "build-outline", - "spanner-outline" - ], - "styles": [ - "outline" - ], - "version": "3.0.39", - "deprecated": false, - "tags": [ - "Hardware \/ Tools" - ], - "author": "Google" - }, - { - "id": "958B8A8B-A4D7-45A4-8C80-39F7140443C0", - "baseIconId": "958B8A8B-A4D7-45A4-8C80-39F7140443C0", - "name": "xamarin", - "codepoint": "F0845", - "aliases": [ - "microsoft-xamarin" - ], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "994C18D8-DAF1-4311-A30B-CD93F5ADC233", - "baseIconId": "994C18D8-DAF1-4311-A30B-CD93F5ADC233", - "name": "xml", - "codepoint": "F05C0", - "aliases": [ - "code" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Developer \/ Languages" - ], - "author": "Austin Andrews" - }, - { - "id": "F2F74E7E-9EC8-4748-AF3B-A14D6158770D", - "baseIconId": "F2F74E7E-9EC8-4748-AF3B-A14D6158770D", - "name": "xmpp", - "codepoint": "F07FF", - "aliases": [], - "styles": [], - "version": "2.0.46", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "63AB3732-B3D1-4AFA-81B5-5D0F40E5D0E0", - "baseIconId": "63AB3732-B3D1-4AFA-81B5-5D0F40E5D0E0", - "name": "yahoo", - "codepoint": "F0B4F", - "aliases": [], - "styles": [], - "version": "2.8.94", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "17C0DA66-AB24-4935-A928-26BE13FDC3C0", - "baseIconId": "17C0DA66-AB24-4935-A928-26BE13FDC3C0", - "name": "yeast", - "codepoint": "F05C1", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "068670F6-B9DF-40C5-8C50-C9A3953F6201", - "baseIconId": "068670F6-B9DF-40C5-8C50-C9A3953F6201", - "name": "yin-yang", - "codepoint": "F0680", - "aliases": [ - "taoism" - ], - "styles": [], - "version": "1.7.12", - "deprecated": false, - "tags": [], - "author": "Austin Andrews" - }, - { - "id": "82F65F53-8458-4F6D-8151-D20FFDDC09C2", - "baseIconId": "82F65F53-8458-4F6D-8151-D20FFDDC09C2", - "name": "yoga", - "codepoint": "F117C", - "aliases": [], - "styles": [], - "version": "4.4.95", - "deprecated": false, - "tags": [ - "Sport" - ], - "author": "Michael Irigoyen" - }, - { - "id": "0A078909-90AF-41F5-8E76-CAB565D49AAA", - "baseIconId": "0A078909-90AF-41F5-8E76-CAB565D49AAA", - "name": "youtube", - "codepoint": "F05C3", - "aliases": [ - "video-youtube", - "youtube-play" - ], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo", - "Social Media" - ], - "author": "Google" - }, - { - "id": "9C80F67A-8A15-4109-BA37-7B92FE1F67DB", - "baseIconId": "9C80F67A-8A15-4109-BA37-7B92FE1F67DB", - "name": "youtube-gaming", - "codepoint": "F0848", - "aliases": [], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "7150F7D3-B162-41DE-80A8-5DFD930EDF1B", - "baseIconId": "7150F7D3-B162-41DE-80A8-5DFD930EDF1B", - "name": "youtube-studio", - "codepoint": "F0847", - "aliases": [ - "youtube-creator-studio" - ], - "styles": [], - "version": "2.1.19", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "E06EE7FD-6CC5-4BB4-9B00-1397D6E18DDF", - "baseIconId": "E06EE7FD-6CC5-4BB4-9B00-1397D6E18DDF", - "name": "youtube-subscription", - "codepoint": "F0D40", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "011BAC94-8FD5-4335-AFF3-120C04299E78", - "baseIconId": "011BAC94-8FD5-4335-AFF3-120C04299E78", - "name": "youtube-tv", - "codepoint": "F0448", - "aliases": [], - "styles": [], - "version": "1.5.54", - "deprecated": true, - "tags": [ - "Brand \/ Logo" - ], - "author": "Google" - }, - { - "id": "9BCCFDB1-42DE-4807-BF9B-36AD3B40B996", - "baseIconId": "9BCCFDB1-42DE-4807-BF9B-36AD3B40B996", - "name": "yurt", - "codepoint": "F1516", - "aliases": [], - "styles": [], - "version": "5.4.55", - "deprecated": false, - "tags": [], - "author": "Colton Wiscombe" - }, - { - "id": "6A2E5A75-34CC-4B32-A1F6-156803328935", - "baseIconId": "6A2E5A75-34CC-4B32-A1F6-156803328935", - "name": "z-wave", - "codepoint": "F0AEA", - "aliases": [ - "zwave" - ], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Home Automation", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "989885C5-DF4B-4B6E-B17B-7E74F2AEE1DB", - "baseIconId": "989885C5-DF4B-4B6E-B17B-7E74F2AEE1DB", - "name": "zend", - "codepoint": "F0AEB", - "aliases": [], - "styles": [], - "version": "2.7.94", - "deprecated": true, - "tags": [ - "Developer \/ Languages", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "C4D3EAAC-C54B-4406-BCB4-8C08E2B07451", - "baseIconId": "C4D3EAAC-C54B-4406-BCB4-8C08E2B07451", - "name": "zigbee", - "codepoint": "F0D41", - "aliases": [], - "styles": [], - "version": "3.3.92", - "deprecated": true, - "tags": [ - "Home Automation", - "Brand \/ Logo" - ], - "author": "Contributors" - }, - { - "id": "00A83C35-A726-464B-ACEE-F0D690045C25", - "baseIconId": "00A83C35-A726-464B-ACEE-F0D690045C25", - "name": "zip-box", - "codepoint": "F05C4", - "aliases": [ - "compressed-file" - ], - "styles": [], - "version": "1.5.54", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Google" - }, - { - "id": "19E804D8-154F-4250-82D3-76F5401B5674", - "baseIconId": "00A83C35-A726-464B-ACEE-F0D690045C25", - "name": "zip-box-outline", - "codepoint": "F0FFA", - "aliases": [ - "compressed-file-outline" - ], - "styles": [ - "outline" - ], - "version": "4.0.96", - "deprecated": false, - "tags": [ - "Files \/ Folders" - ], - "author": "Michael Irigoyen" - }, - { - "id": "775EA566-CF0B-473E-B43E-59319FC83D38", - "baseIconId": "775EA566-CF0B-473E-B43E-59319FC83D38", - "name": "zip-disk", - "codepoint": "F0A23", - "aliases": [], - "styles": [], - "version": "2.5.94", - "deprecated": false, - "tags": [], - "author": "GreenTurtwig" - }, - { - "id": "8E27593E-7C4E-41F7-A238-865DA00CDEE7", - "baseIconId": "8E27593E-7C4E-41F7-A238-865DA00CDEE7", - "name": "zodiac-aquarius", - "codepoint": "F0A7D", - "aliases": [ - "horoscope-aquarius" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "8DC63282-63B3-4F4A-B976-2346FC3B7CFA", - "baseIconId": "8DC63282-63B3-4F4A-B976-2346FC3B7CFA", - "name": "zodiac-aries", - "codepoint": "F0A7E", - "aliases": [ - "horoscope-aries" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "DCBC9ECE-641C-40E1-BD15-2F02F8412780", - "baseIconId": "DCBC9ECE-641C-40E1-BD15-2F02F8412780", - "name": "zodiac-cancer", - "codepoint": "F0A7F", - "aliases": [ - "horoscope-cancer" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "6310BE95-A7A4-4A4C-A478-059DCA6C4E0B", - "baseIconId": "6310BE95-A7A4-4A4C-A478-059DCA6C4E0B", - "name": "zodiac-capricorn", - "codepoint": "F0A80", - "aliases": [ - "horoscope-capricorn" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "ECDB16AC-832D-446E-974E-9F99657685D0", - "baseIconId": "ECDB16AC-832D-446E-974E-9F99657685D0", - "name": "zodiac-gemini", - "codepoint": "F0A81", - "aliases": [ - "horoscope-gemini" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "D280F50D-92FC-4DA2-BBAD-CE93140E6FEA", - "baseIconId": "D280F50D-92FC-4DA2-BBAD-CE93140E6FEA", - "name": "zodiac-leo", - "codepoint": "F0A82", - "aliases": [ - "horoscope-leo" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "142861F0-C930-43ED-B186-4BD97C175394", - "baseIconId": "142861F0-C930-43ED-B186-4BD97C175394", - "name": "zodiac-libra", - "codepoint": "F0A83", - "aliases": [ - "horoscope-libra" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "3410C5F7-CAEF-405C-9159-86F38ACE9619", - "baseIconId": "3410C5F7-CAEF-405C-9159-86F38ACE9619", - "name": "zodiac-pisces", - "codepoint": "F0A84", - "aliases": [ - "horoscope-pisces" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "1FC91C87-E02C-4830-B0A6-6EA7CDABB8D3", - "baseIconId": "1FC91C87-E02C-4830-B0A6-6EA7CDABB8D3", - "name": "zodiac-sagittarius", - "codepoint": "F0A85", - "aliases": [ - "horoscope-sagittarius" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "0AEE35B6-4A9F-422A-BCC8-395174DCBA71", - "baseIconId": "0AEE35B6-4A9F-422A-BCC8-395174DCBA71", - "name": "zodiac-scorpio", - "codepoint": "F0A86", - "aliases": [ - "horoscope-scorpio" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "40205151-C976-49D8-98F1-A0E120086E07", - "baseIconId": "40205151-C976-49D8-98F1-A0E120086E07", - "name": "zodiac-taurus", - "codepoint": "F0A87", - "aliases": [ - "horoscope-taurus" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - }, - { - "id": "41D13BD9-7CB3-4015-A845-485B9915FA65", - "baseIconId": "41D13BD9-7CB3-4015-A845-485B9915FA65", - "name": "zodiac-virgo", - "codepoint": "F0A88", - "aliases": [ - "horoscope-virgo" - ], - "styles": [], - "version": "2.6.95", - "deprecated": false, - "tags": [], - "author": "Michael Richins" - } -] \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/assets/ppb.ttf b/custom_components/opendisplay/imagegen/assets/ppb.ttf deleted file mode 100644 index 00559eeb290fb8036f10633ff0640447d827b27c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153944 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%0AC7VmlS@LZ-TEZV}oirP&oT11@@uCp8_l( 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 X76wnEi(n^v8!x?bp_;lO!DIggn3ZN8 diff --git a/custom_components/opendisplay/imagegen/colors.py b/custom_components/opendisplay/imagegen/colors.py deleted file mode 100644 index c2796cd..0000000 --- a/custom_components/opendisplay/imagegen/colors.py +++ /dev/null @@ -1,70 +0,0 @@ -# Color constants with alpha channel -WHITE = (255, 255, 255, 255) -BLACK = (0, 0, 0, 255) -HALF_BLACK = (127, 127, 127, 255) -RED = (255, 0, 0, 255) -HALF_RED = (255, 127, 127, 255) -YELLOW = (255, 255, 0, 255) -HALF_YELLOW = (255, 255, 127, 255) -GREEN = (0, 255, 0, 255) -BLUE = (0, 0, 255, 255) - - -class ColorResolver: - """Resolves color inputs to RGBA tuples.""" - - def __init__(self, accent_color: str = "red"): - self.accent_color = accent_color - - def resolve(self, color: str | None) -> tuple[int, int, int, int] | None: - """Resolve color input to RGBA tuple.""" - if color is None: - return None - - color_str = str(color).lower() - - # Hex color support: #RGB or #RRGGBB - if color_str.startswith('#'): - return self._parse_hex(color_str[1:]) - - return self._resolve_named(color_str) - - @staticmethod - def _parse_hex(hex_val: str) -> tuple[int, int, int, int]: - """Parse hex color string to RGBA tuple.""" - if len(hex_val) == 3: - r = int(hex_val[0] * 2, 16) - g = int(hex_val[1] * 2, 16) - b = int(hex_val[2] * 2, 16) - elif len(hex_val) == 6: - r = int(hex_val[0:2], 16) - g = int(hex_val[2:4], 16) - b = int(hex_val[4:6], 16) - else: - return WHITE - return r, g, b, 255 - - def _resolve_named(self, color_str: str) -> tuple[int, int, int, int]: - """Resolve named color to RGBA tuple.""" - if color_str in ("black", "b"): - return BLACK - if color_str in ("half_black", "hb", "gray", "grey", "half_white", - "hw"): - return HALF_BLACK - if color_str in ("accent", "a"): - return YELLOW if self.accent_color == "yellow" else RED - if color_str in ("half_accent", "ha"): - return HALF_YELLOW if self.accent_color == "yellow" else HALF_RED - if color_str in ("red", "r"): - return RED - if color_str in ("half_red", "hr"): - return HALF_RED - if color_str in ("yellow", "y"): - return YELLOW - if color_str in ("half_yellow", "hy"): - return HALF_YELLOW - if color_str in ("green", "gr"): - return GREEN - if color_str in ("blue", "bl"): - return BLUE - return WHITE diff --git a/custom_components/opendisplay/imagegen/coordinates.py b/custom_components/opendisplay/imagegen/coordinates.py deleted file mode 100644 index 5f9f4d6..0000000 --- a/custom_components/opendisplay/imagegen/coordinates.py +++ /dev/null @@ -1,110 +0,0 @@ -class CoordinateParser: - """Helper class for parsing coordinates with percentage support. - - This class handles the conversion of coordinates from different formats - (absolute pixels or percentages) to absolute pixel values based on the - canvas dimensions. It simplifies positioning elements in relation to - the canvas size. - - Attributes: - width: Canvas width in pixels - height: Canvas height in pixels - """ - - def __init__(self, canvas_width: int, canvas_height: int): - """Initialize with canvas dimensions. - - Args: - canvas_width: Width of the canvas in pixels - canvas_height: Height of the canvas in pixels - """ - self.width = canvas_width - self.height = canvas_height - - @staticmethod - def _parse_dimension(value: str | int | float, total_dimension: int) -> int: - """Convert a dimension value (pixels or percentage) to absolute pixels. - - Args: - value: The dimension value (e.g., "50%", 50, "50") - total_dimension: The total available dimension (width or height) - - Returns: - int: The calculated pixel value - """ - if isinstance(value, (int, float)): - return int(value) - - value = str(value).strip() - if value.endswith('%'): - try: - percentage = float(value[:-1]) - return int((percentage / 100) * total_dimension) - except ValueError: - return 0 - try: - return int(float(value)) - except ValueError: - return 0 - - def parse_x(self, value: str | int | float) -> int: - """Parse x coordinate value. - - Converts an x-coordinate from any supported format to absolute pixels. - Handles percentage values relative to canvas width. - - Args: - value: The x coordinate in pixels or percentage - - Returns: - int: The x coordinate in absolute pixels - """ - return self._parse_dimension(value, self.width) - - def parse_y(self, value: str | int | float) -> int: - """Parse y coordinate value. - - Converts a y-coordinate from any supported format to absolute pixels. - Handles percentage values relative to canvas height. - - Args: - value: The y coordinate in pixels or percentage - - Returns: - int: The y coordinate in absolute pixels - """ - return self._parse_dimension(value, self.height) - - def parse_size(self, value: str | int | float, is_width: bool = True) -> int: - """Parse size value. - - Converts a size value from any supported format to absolute pixels. - For percentage sizes, uses the appropriate dimension (width or height) - as the base for calculation. - - Args: - value: The size in pixels or percentage - is_width: Whether this is a width (True) or height (False) value - - Returns: - int: The size in absolute pixels - """ - return self._parse_dimension(value, self.width if is_width else self.height) - - def parse_coordinates(self, element: dict, prefix: str = '') -> tuple[int, int]: - """Parse x,y coordinates from element with given prefix. - - Args: - element: Element dictionary - prefix: Optional prefix for coordinate keys (e.g., 'start_' or 'end_') - - Returns: - tuple: (x, y) coordinates in pixels - """ - x_key = f"{prefix}x" - y_key = f"{prefix}y" - - x = self.parse_x(element.get(x_key, 0)) - y = self.parse_y(element.get(y_key, 0)) - - return x, y \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/core.py b/custom_components/opendisplay/imagegen/core.py deleted file mode 100644 index 42b90af..0000000 --- a/custom_components/opendisplay/imagegen/core.py +++ /dev/null @@ -1,405 +0,0 @@ -from __future__ import annotations - -import logging -from typing import Optional, Dict, Any - -from PIL import Image -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import HomeAssistantError, ServiceValidationError - -from ..const import DOMAIN -from ..tag_types import TagType, get_tag_types_manager -from ..util import get_hub_from_hass -from ..runtime_data import OpenDisplayBLERuntimeData - -from .types import ElementType, DrawingContext -from .colors import ColorResolver -from .coordinates import CoordinateParser -from .fonts import FontManager -from .registry import get_all_handlers - -# Import handler modules to trigger decorator registration -from . import text, shapes, icons, media, visualizations, debug - -_LOGGER = logging.getLogger(__name__) - - -def _detect_accent_color_from_color_table(color_table: dict) -> str: - """ - Detect accent color from color table based on available colors. - - Logic mirrors ColorScheme: - - - If yellow in pallete but red not in palette -> yellow - - If red in palette -> red - - Else -> black - - Returns: - str: Detected accent color name - """ - has_red = "red" in color_table - has_yellow = "yellow" in color_table - - if has_yellow and not has_red: - return "yellow" - elif has_red: - return "red" - else: - return "black" - - -class ImageGen: - """Handles custom image generation for ESLs. - - This is the core class of the module, responsible for generating images - for electronic shelf labels (ESLs). It provides methods for drawing various - elements like text, shapes, images, etc., and combines them into a final image. - - The class supports a variety of element types, each with its own drawing method, - and handles the common aspects of image generation such as tag information retrieval, - element validation, and drawing coordination. - """ - - def __init__(self, hass: HomeAssistant): - """Initialize the image generator. - - Sets up the image generator with the necessary components and handlers. - - Args: - hass: Home Assistant instance - """ - self.hass = hass - - # Load font manager - find a Hub entry with .entry attribute, or None for BLE-only setups - self._entry = None - for entry in hass.config_entries.async_entries(DOMAIN): - if hasattr(entry, 'runtime_data') and entry.runtime_data is not None: - # Look for Hub entries (not BLE entries) - if not isinstance(entry.runtime_data, OpenDisplayBLERuntimeData): - self._entry = entry - break - # If no Hub found, self._entry stays None (BLE-only setup) - - self._font_manager = FontManager(self.hass, self._entry) - - # Initialize handler mapping - self._draw_handlers = { - element_type: handler - for element_type, (handler, _) in get_all_handlers().items() - } - - async def get_tag_info(self, entity_id: str) -> Optional[tuple[TagType, str]]: - """Get tag type information for an entity. - - Retrieves tag type information and accent color for the specified entity. - This includes display dimensions, color capabilities, and other hardware details. - - Args: - entity_id: The entity ID to get tag information for - - Returns: - tuple: (TagType object, accent color string) - None: If tag information could not be retrieved - - Raises: - HomeAssistantError: For various error conditions (offline AP, unknown tag, etc.) - """ - - try: - # Get hub instance - hub = get_hub_from_hass(self.hass) - if not hub.online: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_offline_core", - ) - - # Get tag MAC from entity ID - try: - tag_mac = entity_id.split(".")[1].upper() - except IndexError: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="invalid_entity_id_format", - translation_placeholders={"entity_id": entity_id} - ) - # First check if tag is known to the hub - if tag_mac not in hub.tags: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="tag_not_registered", - translation_placeholders={"tag_mac": tag_mac}, - ) - - # Check if tag is blacklisted - if tag_mac in hub.get_blacklisted_tags(): - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="tag_blacklisted", - translation_placeholders={"tag_mac": tag_mac}, - ) - - # Get tag data - should exist since hub.tags was checked - tag_data = hub.get_tag_data(tag_mac) - if not tag_data: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="tag_inconsistent", - translation_placeholders={"tag_mac": tag_mac}, - ) - - # Get hardware type - hw_type = tag_data.get("hw_type") - if hw_type is None: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="tag_no_hw_type", - translation_placeholders={"tag_mac": tag_mac}, - ) - - # Get tag type information - tag_manager = await get_tag_types_manager(self.hass) - tag_type = await tag_manager.get_tag_info(hw_type) - - if not tag_type: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="tag_unknown_hw_type", - translation_placeholders={"hw_type": hw_type}, - ) - # Get accent color from tag type's color table if it exists - # Default to red if no color table or no accent specified - try: - color_table = getattr(tag_type, 'color_table', {}) - accent_color = _detect_accent_color_from_color_table(color_table) - except Exception as e: - _LOGGER.warning("Error getting accent color, defaulting to red: %s", e) - accent_color = "red" - return tag_type, accent_color - - except Exception as e: - # Convert any unknown exceptions to HomeAssistantError with context - if not isinstance(e, HomeAssistantError): - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ble_tag_info_unexpected", - translation_placeholders={"entity_id": entity_id, "error": str(e)}, - ) from e - raise - - async def get_ble_tag_info(self, hass: HomeAssistant, entity_id: str) -> tuple[int, int, str]: - """Get tag type information for a BLE entity. - - Retrieves tag type information and accent color for BLE devices from - stored device metadata instead of Hub data. - - Args: - hass: Home Assistant instance - entity_id: The BLE entity ID to get tag information for - - Returns: - tuple: (width, height, accent_color) - - Raises: - HomeAssistantError: If BLE device metadata is not found - """ - try: - # Get MAC from entity ID - try: - tag_mac = entity_id.split(".")[1].upper() - except IndexError: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="invalid_entity_id_format", - translation_placeholders={"entity_id": entity_id} - ) - # Get device metadata from config entry runtime_data - device_metadata = None - - # Find the config entry for this BLE device - for entry in hass.config_entries.async_entries(DOMAIN): - runtime_data = getattr(entry, 'runtime_data', None) - if runtime_data is not None and isinstance(runtime_data, OpenDisplayBLERuntimeData): - if runtime_data.mac_address.upper() == tag_mac: - device_metadata = runtime_data.device_metadata - protocol_type = runtime_data.protocol_type - break - - if not device_metadata: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ble_no_metadata", - translation_placeholders={"entity_id": entity_id} - ) - # Wrap metadata for clean access - from ..ble import BLEDeviceMetadata - metadata = BLEDeviceMetadata(device_metadata) - - # Extract device capabilities - hw_type = metadata.hw_type - width = metadata.width - height = metadata.height - - _LOGGER.debug("BLE device metadata for %s: width=%d, height=%d", entity_id, width, height) - - color_scheme = metadata.color_scheme - - color_table = {name: list(rgb) for name, rgb in color_scheme.palette.colors.items()} - color_table["accent"] = color_scheme.accent_color - accent_color = color_scheme.accent_color - - return width, height, accent_color - - except Exception as e: - # Convert any unknown exceptions to HomeAssistantError with context - if not isinstance(e, HomeAssistantError): - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ble_tag_info_unexpected_ble", - translation_placeholders={"entity_id": entity_id, "error": str(e)}, - ) from e - raise - - async def get_tag_dimensions( - self, - entity_id: str, - is_ble: bool = False - ) -> tuple[int, int, str]: - """ - Get dimensions and accent color for any device type. - - Unified interface for both AP and BLE devices. - - Args: - entity_id: The entity ID - is_ble: True if the device is BLE, False for AP devices - - Returns: - tuple: (width, height, accent_color) - - Raises: - HomeAssistantError: If tag information could not be retrieved - """ - if is_ble: - return await self.get_ble_tag_info(self.hass, entity_id) - else: - tag_type, accent_color = await self.get_tag_info(entity_id) - return tag_type.width, tag_type.height, accent_color - - @staticmethod - def should_show_element(element: dict) -> bool: - """Check if an element should be displayed. - - Elements can be hidden by setting visible=False in their definition. - This is useful for conditional rendering. - - Args: - element: Element dictionary - - Returns: - bool: True if the element should be displayed, False otherwise - """ - - return element.get("visible", True) - - async def generate_custom_image( - self, - entity_id: str, - service_data: Dict[str, Any], - error_collector: list = None, - *, - width: int, - height: int, - accent_color: str, - ) -> Image.Image: - """Generate a custom image based on service data. - - Main entry point for image generation. Creates an image with the - specified elements and returns the rendered image. - - Args: - entity_id: The entity ID to generate the image for - service_data: Service data containing image parameters and payload - error_collector: Optional list to collect error messages - width: Canvas width in pixels - height: Canvas height in pixels - accent_color: Accent color name - - Returns: - Image.Image: Rendered RGB image - - Raises: - HomeAssistantError: If image generation fails - """ - - error_collector = error_collector if error_collector is not None else [] - - canvas_width = width - canvas_height = height - - # Validate dimensions to prevent PIL errors - if canvas_width <= 0 or canvas_height <= 0: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="invalid_canvas_dimensions", - translation_placeholders={"width": canvas_width, "height": canvas_height, "entity_id": entity_id} - ) - - _LOGGER.debug("Canvas dimensions for %s: %dx%d", entity_id, canvas_width, canvas_height) - - colors = ColorResolver(accent_color) - - # Get rotation and create base image - rotate = service_data.get("rotate", 0) - if rotate in (0, 180): - img = Image.new('RGBA', (canvas_width, canvas_height), - color=colors.resolve(service_data.get("background", "white"))) - else: - img = Image.new('RGBA', (canvas_height, canvas_width), - color=colors.resolve(service_data.get("background", "white"))) - - payload = service_data.get("payload", []) - - ctx = DrawingContext( - img=img, - colors=colors, - coords=CoordinateParser(img.width, img.height), - fonts=self._font_manager, - hass=self.hass, - pos_y=0 - ) - - for i, element in enumerate(payload): - if not self.should_show_element(element): - continue - - try: - # Get element type - if "type" not in element: - raise ValueError("Element missing required 'type' field") - element_type = ElementType(element["type"]) - - # Get the appropriate handler and call it - handler = self._draw_handlers.get(element_type) - if handler: - await handler(ctx, element) - else: - error_msg = f"No handler found for element type: {element_type}" - _LOGGER.warning(error_msg) - error_collector.append(f"Element {i + 1}: {error_msg}") - - except (ValueError, KeyError) as e: - error_msg = f"Element {i + 1}: {str(e)}" - _LOGGER.error(error_msg) - error_collector.append(error_msg) - continue - except Exception as e: - error_msg = f"Element {i + 1} (type '{element.get('type', 'unknown')}'): {str(e)}" - _LOGGER.error(error_msg) - error_collector.append(error_msg) - continue - # Apply rotation if needed - if rotate: - img = img.rotate(rotate, expand=True) - - return img.convert('RGB') diff --git a/custom_components/opendisplay/imagegen/debug.py b/custom_components/opendisplay/imagegen/debug.py deleted file mode 100644 index dccd04b..0000000 --- a/custom_components/opendisplay/imagegen/debug.py +++ /dev/null @@ -1,75 +0,0 @@ -from __future__ import annotations - -from PIL import ImageDraw - -from .registry import element_handler -from .shapes import draw_dashed_line -from .types import ElementType, DrawingContext - - -@element_handler(ElementType.DEBUG_GRID) -async def draw_debug_grid(ctx: DrawingContext, element: dict) -> None: - """ - Draw debug grid for layout assistance. - - Renders a grid with optional coordinate labels to help with positioning - other elements during development. - - Args: - ctx: Drawing context - element: Element dictionary with debug grid properties - """ - draw = ImageDraw.Draw(ctx.img) - width, height = ctx.img.size - - spacing = element.get("spacing", 20) - line_color = ctx.colors.resolve(element.get("line_color", "black")) - dashed = element.get("dashed", True) - dash_length = element.get("dash_length", 2) - space_length = element.get("space_length", 4) - - show_labels = element.get("show_labels", True) - label_step = element.get("label_step", spacing * 2) - label_color = ctx.colors.resolve(element.get("label_color", "black")) - label_font_size = element.get("label_font_size", 12) - font_name = element.get("font", "ppb.ttf") - font = ctx.fonts.get_font(font_name, label_font_size) - - # Helper to draw one line as dashed or solid - def draw_line_segment(p1, p2): - if dashed: - draw_dashed_line( - draw, - p1, - p2, - dash_length, - space_length, - fill=line_color, - width=1 - ) - else: - draw.line([p1, p2], fill=line_color, width=1) - - # Horizontal lines - for y in range(0, height, spacing): - draw_line_segment((0, y), (width, y)) - - # Labels - if show_labels and (y % label_step == 0): - label_text = str(y) - # Slight offset so text isn't on the line - draw.text((2, y + 2), label_text, fill=label_color, font=font) - - # Vertical lines - for x in range(0, width, spacing): - draw_line_segment((x, 0), (x, height)) - - # Labels - if show_labels and (x % label_step == 0): - label_text = str(x) - draw.text((x + 2, 2), label_text, fill=label_color, font=font) - - ctx.pos_y = height - - -# TODO: maybe add a debug function for colors? \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/fonts.py b/custom_components/opendisplay/imagegen/fonts.py deleted file mode 100644 index ffecc8d..0000000 --- a/custom_components/opendisplay/imagegen/fonts.py +++ /dev/null @@ -1,277 +0,0 @@ -from __future__ import annotations -import os -import logging -from typing import Dict, List, Tuple - -from PIL import ImageFont -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import HomeAssistantError - -from ..const import DOMAIN - -_LOGGER = logging.getLogger(__name__) -_ASSETS_DIR = os.path.join(os.path.dirname(__file__), "assets") - - -class FontManager: - """Class for managing font loading, caching and path resolution. - - Handles font discovery, loading, and caching to improve performance. - Searches multiple directories for fonts and provides fallback mechanisms - for when requested fonts are not available. - """ - - def __init__(self, hass: HomeAssistant, entry=None): - """Initialize the font manager. - - Args: - hass: Home Assistant instance for config path resolution - entry: Config entry for accessing user-configured font directories - """ - self._hass = hass - self._entry = entry - self._font_cache: Dict[Tuple[str, int], ImageFont.FreeTypeFont] = {} - self._known_dirs = [] - - # Standard font directories to search - self._font_dirs = [] - self._setup_font_dirs() - - # Default font names - self._default_fonts = ["ppb.ttf", "rbm.ttf"] - - # Load initial custom font directories if entry is provided - if entry: - self._load_custom_font_dirs() - - def _setup_font_dirs(self): - """Set up font directories based on the Home Assistant environment. - - Follows the documented search order: - 1. Integration assets directory (for default fonts) - 2. Web directory (/config/www/fonts/) - 3. Media directory (/media/fonts/) - """ - # Clear existing dirs - self._font_dirs = [] - - # Integration assets directory - if os.path.exists(_ASSETS_DIR): - self._font_dirs.append(_ASSETS_DIR) - - # Web directory - www_fonts_dir = self._hass.config.path("www/fonts") - if os.path.exists(www_fonts_dir): - self._font_dirs.append(www_fonts_dir) - _LOGGER.debug(f"Found {www_fonts_dir} in Home Assistant") - - # Try to locate the media directory based on installation type - # Home Assistant OS/Supervised installations use /media - # Core/Container installations typically use /config/media - media_paths = [ - self._hass.config.path("media/fonts"), # /config/media/fonts (Core/Container) - "/media/fonts", # /media/fonts (OS/Supervised) - ] - - # Add media paths - for path in media_paths: - if os.path.exists(path): - if path not in self._font_dirs: - self._font_dirs.append(path) - _LOGGER.debug(f"Found {path} in Home Assistant") - - def get_font(self, font_name: str, size: int) -> ImageFont.FreeTypeFont: - """Get a font, loading it if necessary. - - Attempts to load the requested font from the configured font directories. - Uses a cache for performance and provides fallback to default fonts - if the requested font is not found. - - Args: - font_name: Font filename or absolute path - size: Font size in pixels - - Returns: - Loaded font object - - Raises: - HomeAssistantError: If no font could be loaded - """ - # Check if config has changed since last load - if self._entry: - custom_dirs_str = self._entry.options.get("custom_font_dirs", "") - current_dirs = [d.strip() for d in custom_dirs_str.split(";") if d.strip()] - if current_dirs != self._known_dirs: - _LOGGER.debug("Font directories changed, updating...") - - # Clear current cache - self.clear_cache() - - # Reset known dirs and load new ones - self._setup_font_dirs() - for directory in current_dirs: - if directory and directory.strip(): - self.add_font_directory(directory.strip()) - - # Update known dirs - self._known_dirs = current_dirs - - # Create cache key (font name, size) - cache_key = (font_name, size) - - # Return cached font if available - if cache_key in self._font_cache: - return self._font_cache[cache_key] - - # Load font from file - font = self._load_font(font_name, size) - - # Cache font - self._font_cache[cache_key] = font - return font - - def get_available_fonts(self) -> List[str]: - """Get list of available font names from all directories. - - Scans all configured font directories and returns a list of - available font filenames. - - Returns: - List of font filenames - """ - fonts = set() - - # Scan all directories - for directory in self._font_dirs: - if not os.path.exists(directory): - continue - - try: - # Get all TTF files in the directory - for file in os.listdir(directory): - if file.lower().endswith(('.ttf', '.otf')): - fonts.add(file) - except (OSError, IOError) as err: - _LOGGER.warning("Error scanning font directory %s: %s", directory, err) - - return sorted(list(fonts)) - - def _load_font(self, font_name: str, size: int) -> ImageFont.FreeTypeFont: - """Load a font from disk. - - Attempts to load the requested font by trying various locations. - If the font cannot be found, falls back to default fonts. - - Args: - font_name: Font filename or absolute path - size: Font size in pixels - - Returns: - Loaded font object - - Raises: - HomeAssistantError: If no font could be loaded - """ - # If font name is an absolute path, load directly - if os.path.isabs(font_name): - try: - return ImageFont.truetype(font_name, size) - except (OSError, IOError) as err: - _LOGGER.warning( - "Could not load font from absolute path %s: %s. " - "Will try standard font locations.", - font_name, err - ) - - for font_dir in self._font_dirs: - try: - if not os.path.exists(font_dir): - continue - - font_path = os.path.join(font_dir, font_name) - if not os.path.exists(font_path): - continue - - return ImageFont.truetype(font_path, size) - except (OSError, IOError): - continue - - # Font was not found in any standard location - _LOGGER.warning( - "Font '%s' not found in any of the standard locations. " - "Place fonts in /config/www/fonts/ or /config/media/fonts/ or provide absolute path. " - "Falling back to default font.", - font_name - ) - - # Try default fonts as fallback - for default_font in self._default_fonts: - try: - default_path = os.path.join(_ASSETS_DIR, default_font) - return ImageFont.truetype(default_path, size) - except (OSError, IOError): - continue - - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="font_load_failed" - ) - - def _load_custom_font_dirs(self) -> None: - """Load custom font directories from config entry. - - Parses the custom_font_dirs option from the config entry and adds - each specified directory to the font search path. - """ - if not self._entry: - return - - # Get custom font directory from config - custom_dirs_str = self._entry.options.get("custom_font_dirs", "") - custom_dirs = [d.strip() for d in custom_dirs_str.split(";") if d.strip()] - - # Save current dirs for comparison - self._known_dirs = custom_dirs - - # Add each directory - for directory in custom_dirs: - if directory and directory.strip(): - self.add_font_directory(directory.strip()) - - def add_font_directory(self, directory: str) -> bool: - """Add a custom font directory to search. - - Adds a directory to the font search path if it is a valid - absolute path to an existing directory. - - Args: - directory: Absolute path to directory containing fonts - - Returns: - True if directory was added, False otherwise - """ - if not os.path.isabs(directory): - _LOGGER.warning( - "Custom font directory '%s' is not an absolute path, skipping", directory - ) - return False - - if not os.path.isdir(directory): - _LOGGER.warning( - "Custom font directory '%s' does not exist, skipping", directory - ) - return False - - if directory not in self._font_dirs: - self._font_dirs.insert(0, directory) - return True - - return False - - def clear_cache(self) -> None: - """Clear the font cache. - - Removes all cached fonts, forcing them to be reloaded on next request. - This is typically called when font directories change. - """ - self._font_cache.clear() diff --git a/custom_components/opendisplay/imagegen/icons.py b/custom_components/opendisplay/imagegen/icons.py deleted file mode 100644 index 95b0f88..0000000 --- a/custom_components/opendisplay/imagegen/icons.py +++ /dev/null @@ -1,244 +0,0 @@ -from __future__ import annotations - -import os -import json -import logging - -from PIL import ImageDraw, ImageFont -from homeassistant.exceptions import HomeAssistantError - -from .registry import element_handler -from .types import ElementType, DrawingContext -from ..const import DOMAIN - - -_LOGGER = logging.getLogger(__name__) -_ASSETS_DIR = os.path.join(os.path.dirname(__file__), "assets") - - -@element_handler(ElementType.ICON, requires=["x", "y", "value", "size"]) -async def draw_icon(ctx: DrawingContext, element: dict) -> None: - """ - Draw Material Design Icons. - - Renders an icon from the Material Design Icons font at the specified - position and size. - - Args: - ctx: Drawing context - element: Element dictionary with icon properties - pos_y: Current Y position for automatic positioning - Raises: - HomeAssistantError: If icon name is invalid or rendering fails - """ - draw = ImageDraw.Draw(ctx.img) - draw.fontmode = "1" # Enable high quality font rendering - - # Coordinates - x = ctx.coords.parse_x(element['x']) - y = ctx.coords.parse_y(element['y']) - - # Load MDI font and metadata - font_file = os.path.join(_ASSETS_DIR, "materialdesignicons-webfont.ttf") - meta_file = os.path.join(_ASSETS_DIR, "materialdesignicons-webfont_meta.json") - - try: - def load_meta(): - with open(meta_file, 'r', encoding='utf-8') as f: - return json.load(f) - - mdi_data = await ctx.hass.async_add_executor_job(load_meta) - except Exception as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="mdi_metadata_failed", - translation_placeholders={"error": str(e)} - ) - - # Find icon codepoint - icon_name = element['value'] - if icon_name.startswith("mdi:"): - icon_name = icon_name[4:] - - chr_hex = None - # Search direct matches - for icon in mdi_data: - if icon['name'] == icon_name: - chr_hex = icon['codepoint'] - break - - # Search aliases if no direct match - if not chr_hex: - for icon in mdi_data: - if 'aliases' in icon and icon_name in icon['aliases']: - chr_hex = icon['codepoint'] - break - - if not chr_hex: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="icon_name_invalid", - translation_placeholders={"icon_name": icon_name} - ) - - # Get icon properties - def load_font(): - return ImageFont.truetype(font_file, element['size']) - - font = await ctx.hass.async_add_executor_job(load_font) - anchor = element.get('anchor', "la") - fill = ctx.colors.resolve( - element.get('color') or element.get('fill', "black") - ) - stroke_width = element.get('stroke_width', 0) - stroke_fill = ctx.colors.resolve(element.get('stroke_fill', 'white')) - - # Draw icon - try: - draw.text( - (x, y), - chr(int(chr_hex, 16)), - fill=fill, - font=font, - anchor=anchor, - stroke_width=stroke_width, - stroke_fill=stroke_fill - ) - except ValueError as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="icon_draw_failed", - translation_placeholders={"error": str(e)} - ) - - # Calculate vertical position using text bounds - bbox = draw.textbbox( - (x, y), - chr(int(chr_hex, 16)), - font=font, - anchor=anchor - ) - ctx.pos_y = bbox[3] - - #TODO ask if things could be simplified by reusing icon sequence for single icon or too much overhead? - - -@element_handler(ElementType.ICON_SEQUENCE, requires=["x", "y", "icons", "size"]) -async def draw_icon_sequence(ctx: DrawingContext, element: dict) -> None: - """ - Draw a sequence of icons in a specified direction. - - Renders multiple icons in a sequence with consistent spacing, - useful for creating icon-based status indicators or legends. - - Args: - ctx: Drawing context - element: Element dictionary with icon sequence properties - Raises: - HomeAssistantError: If icon names are invalid or rendering fails - """ - draw = ImageDraw.Draw(ctx.img) - draw.fontmode = "1" # Enable high quality font rendering - - # Get basic coordinates and properties - x_start = ctx.coords.parse_x(element['x']) - y_start = ctx.coords.parse_y(element['y']) - size = element['size'] - spacing = element.get('spacing', size // 4) # Default spacing is 1/4 of icon size - fill = ctx.colors.resolve(element.get('fill', "black")) - anchor = element.get('anchor', "la") - stroke_width = element.get('stroke_width', 0) - stroke_fill = ctx.colors.resolve(element.get('stroke_fill', 'white')) - direction = element.get('direction', 'right') # right, down, up, left - - # Load MDI font and metadata - font_file = os.path.join(_ASSETS_DIR, "materialdesignicons-webfont.ttf") - meta_file = os.path.join(_ASSETS_DIR, "materialdesignicons-webfont_meta.json") - - try: - def load_meta(): - with open(meta_file, 'r', encoding='utf-8') as f: - return json.load(f) - - mdi_data = await ctx.hass.async_add_executor_job(load_meta) - except Exception as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="mdi_metadata_failed", - translation_placeholders={"error": str(e)} - ) - - # Load font - def load_font(): - return ImageFont.truetype(font_file, size) - - font = await ctx.hass.async_add_executor_job(load_font) - - max_y = y_start - max_x = x_start - current_x = x_start - current_y = y_start - - # Draw each icon in sequence - for icon_name in element['icons']: - if icon_name.startswith("mdi:"): - icon_name = icon_name[4:] - - # Find icon codepoint - chr_hex = None - # Search direct matches - for icon in mdi_data: - if icon['name'] == icon_name: - chr_hex = icon['codepoint'] - break - - # Search aliases if no direct match - if not chr_hex: - for icon in mdi_data: - if 'aliases' in icon and icon_name in icon['aliases']: - chr_hex = icon['codepoint'] - break - - if not chr_hex: - _LOGGER.warning(f"Invalid icon name: {icon_name}") - continue - - # Draw icon - try: - draw.text( - (current_x, current_y), - chr(int(chr_hex, 16)), - fill=fill, - font=font, - anchor=anchor, - stroke_width=stroke_width, - stroke_fill=stroke_fill - ) - # Calculate bounds for this icon - bbox = draw.textbbox( - (current_x, current_y), - chr(int(chr_hex, 16)), - font=font, - anchor=anchor - ) - max_y = max(max_y, bbox[3]) - max_x = max(max_x, bbox[2]) - - # Move to next position based on direction - if direction == 'right': - current_x += size + spacing - elif direction == 'left': - current_x -= size + spacing - elif direction == 'down': - current_y += size + spacing - elif direction == 'up': - current_y -= size + spacing - - except ValueError as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="icon_draw_failed_named", - translation_placeholders={"icon_name": icon_name, "error": str(e)} - ) - - ctx.pos_y = max(max_y, current_y) diff --git a/custom_components/opendisplay/imagegen/media.py b/custom_components/opendisplay/imagegen/media.py deleted file mode 100644 index 127b515..0000000 --- a/custom_components/opendisplay/imagegen/media.py +++ /dev/null @@ -1,200 +0,0 @@ -from __future__ import annotations - -import base64 -import io -import logging -import os -import urllib - -import requests -import qrcode -from PIL import Image -from resizeimage import resizeimage -from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers.network import get_url - -from ..const import DOMAIN -from .registry import element_handler -from .types import ElementType, DrawingContext - -_LOGGER = logging.getLogger(__name__) - - -@element_handler(ElementType.QRCODE, requires=["x", "y", "data"]) -async def draw_qrcode(ctx: DrawingContext, element: dict) -> None: - """Draw QR code element. - - Generates and renders a QR code with the specified data and properties. - - Args: - ctx: Drawing context - element: Element dictionary with QR code properties - Raises: - HomeAssistantError: If QR code generation fails - """ - - # Coordinates - x = ctx.coords.parse_x(element['x']) - y = ctx.coords.parse_y(element['y']) - - # Get QR code properties - color = ctx.colors.resolve(element.get('color', "black")) - bgcolor = ctx.colors.resolve(element.get('bgcolor', "white")) - border = element.get('border', 1) - boxsize = element.get('boxsize', 2) - - try: - # Create QR code instance - qr = qrcode.QRCode( - version=1, - error_correction=qrcode.constants.ERROR_CORRECT_H, - box_size=boxsize, - border=border, - ) - - # Add data and generate QR code - qr.add_data(element['data']) - qr.make(fit=True) - - # Create QR code image - qr_img = qr.make_image(fill_color=color[:3], back_color=bgcolor[:3]) # Convert RGBA to RGB - qr_img = qr_img.convert("RGBA") - - # Calculate position - position = (x, y) - - # Paste QR code onto main image - ctx.img.paste(qr_img, position, qr_img) - - # Return bottom position - ctx.pos_y = y + qr_img.height - - except Exception as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="qr_generation_failed", - translation_placeholders={ "error": str(e)} - ) - - -@element_handler(ElementType.DLIMG, requires=["x", "y", "url", "xsize", "ysize"]) -async def draw_downloaded_image(ctx: DrawingContext, element: dict) -> None: - """ - Draw downloaded or local image. - - Downloads and renders an image from a URL, or loads and renders - an image from a local path or data URI. - - Args: - ctx: Drawing context - element: Element dictionary with image properties - Raises: - HomeAssistantError: If image loading or processing fails - """ - try: - # Get image properties - pos_x = element['x'] - pos_y = element['y'] - target_size = (element['xsize'], element['ysize']) - rotate = element.get('rotate', 0) - resize_method = element.get('resize_method', 'stretch') - - # Check if URL is an image entity - if element['url'].startswith('image.') or element['url'].startswith('camera.'): - # Get state of the image entity - state = ctx.hass.states.get(element['url']) - if not state: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_entity_not_found", - translation_placeholders={"entity_id": element['url']} - ) - - # Get image URL from entity attributes - image_url = state.attributes.get("entity_picture") - if not image_url: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_entity_no_url", - translation_placeholders={"entity_id": element['url']} - ) - - # If the URL is relative, make it absolute using HA's base URL - if image_url.startswith("/"): - base_url = get_url(ctx.hass) - image_url = f"{base_url}{image_url}" - - # Update URL to the actual image URL - element['url'] = image_url - - # Load image based on URL type - if element['url'].startswith(('http://', 'https://')): - # Download web image - response = await ctx.hass.async_add_executor_job( - requests.get, element['url']) - if response.status_code != 200: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_download_failed", - translation_placeholders={ "status_code": response.status_code} - ) - source_img = Image.open(io.BytesIO(response.content)) - - elif element['url'].startswith('data:'): - # Handle data URI - try: - header, encoded = element['url'].split(',', 1) - if ';base64' in header: - decoded = base64.b64decode(encoded) - else: - decoded = urllib.parse.unquote_to_bytes(encoded) - source_img = Image.open(io.BytesIO(decoded)) - except Exception as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_data_uri_invalid", - translation_placeholders={ "error": str(e)} - ) - - else: - # Handle local file - if not element['url'].startswith('/'): - media_path = ctx.hass.config.path('media') - full_path = os.path.join(media_path, element['url']) - else: - full_path = element['url'] - source_img = await ctx.hass.async_add_executor_job(Image.open, full_path) - - # Process image - if rotate: - source_img = source_img.rotate(-rotate, expand=True) - - # Resize if needed - if source_img.size != target_size: - if resize_method in ['crop', 'cover', 'contain']: - source_img = resizeimage.resize(resize_method, source_img, target_size) - elif resize_method != 'stretch': - _LOGGER.warning(f"Warning: resize_method is set to unsupported method '{resize_method}', this will result in simple stretch resizing") - - if source_img.size != target_size: - source_img = source_img.resize(target_size) - - # Convert to RGBA - source_img = source_img.convert("RGBA") - - # Create temporary image for composition - temp_img = Image.new("RGBA", ctx.img.size) - temp_img.paste(source_img, (pos_x, pos_y), source_img) - - # Composite images - img_composite = Image.alpha_composite(ctx.img, temp_img) - ctx.img.paste(img_composite, (0, 0)) - - ctx.pos_y = pos_y + target_size[1] - - except Exception as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_process_failed", - translation_placeholders={ "error": str(e)} - ) \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/registry.py b/custom_components/opendisplay/imagegen/registry.py deleted file mode 100644 index 2bc6f78..0000000 --- a/custom_components/opendisplay/imagegen/registry.py +++ /dev/null @@ -1,41 +0,0 @@ -from __future__ import annotations - -from functools import wraps -from typing import Callable, TYPE_CHECKING - -if TYPE_CHECKING: - from .types import ElementType, DrawingContext - -# Global registry populated by decorators -_handlers: dict["ElementType", tuple[Callable, list[str]]] = {} - - -def element_handler(element_type: "ElementType", requires: list[str] | None = None): - """ - Decorator to register and validate element handlers. - - Args: - element_type: The ElementType this handler processes - requires: List of required element keys (validated before handler runs) - """ - - def decorator(func): - @wraps(func) - async def wrapper(ctx: "DrawingContext", element: dict) -> None: - if requires: - missing = [key for key in requires if key not in element] - if missing: - raise ValueError( - f"{element_type.value} requires: {', '.join(missing)}" - ) - return await func(ctx, element) - - _handlers[element_type] = (wrapper, requires or []) - return wrapper - - return decorator - - -def get_all_handlers() -> dict["ElementType", tuple[Callable, list[str]]]: - """Return all registered handlers.""" - return _handlers diff --git a/custom_components/opendisplay/imagegen/shapes.py b/custom_components/opendisplay/imagegen/shapes.py deleted file mode 100644 index 2ab61cb..0000000 --- a/custom_components/opendisplay/imagegen/shapes.py +++ /dev/null @@ -1,417 +0,0 @@ -from __future__ import annotations - -import logging - -from PIL import ImageDraw - -from .colors import BLACK -from .registry import element_handler -from .types import ElementType, DrawingContext - -_LOGGER = logging.getLogger(__name__) - - -@element_handler(ElementType.LINE, requires=["x_start", "x_end"]) -async def draw_line(ctx: DrawingContext, element: dict) -> None: - """ - Draw line element. - - Renders a straight line between two points, with options for color, - thickness, and dashed style. - - Args: - ctx: Drawing context - element: Element dictionary with line properties - """ - draw = ImageDraw.Draw(ctx.img) - - # Get vertical position - if "y_start" not in element: - y_start = ctx.pos_y + element.get("y_padding", 0) - y_end = y_start - else: - y_start = element["y_start"] - y_end = element.get("y_end", y_start) - - # Get line properties - fill = ctx.colors.resolve(element.get('fill', "black")) - width = element.get('width', 1) - dashed = element.get('dashed', False) - dash_length = element.get('dash_length', 5) - space_length = element.get('space_length', 3) - - x_start = element["x_start"] - x_end = element["x_end"] - - if dashed: - draw_dashed_line( - draw, - (x_start, y_start), - (x_end, y_end), - dash_length, - space_length, - fill, width) - else: - draw.line( - [(element['x_start'], y_start), (element['x_end'], y_end)], - fill=fill, - width=width - ) - - ctx.pos_y = max(y_start, y_end) - - -@element_handler(ElementType.RECTANGLE, requires=["x_start", "x_end", "y_start", "y_end"]) -async def draw_rectangle(ctx: DrawingContext, element: dict) -> None: - """ - Draw rectangle element. - - Renders a rectangle with options for fill, outline, and rounded corners. - - Args: - ctx: Drawing context - element: Element dictionary with rectangle properties - """ - draw = ImageDraw.Draw(ctx.img) - - # Coordinates - x_start = ctx.coords.parse_x(element['x_start']) - x_end = ctx.coords.parse_x(element['x_end']) - y_start = ctx.coords.parse_y(element['y_start']) - y_end = ctx.coords.parse_y(element['y_end']) - - # Get rectangle properties - rect_fill = ctx.colors.resolve(element.get('fill')) - rect_outline = ctx.colors.resolve(element.get('outline', "black")) - rect_width = element.get('width', 1) - radius = element.get('radius', 10 if 'corners' in element else 0) - corners = get_rounded_corners( - element.get('corners', "all" if 'radius' in element else "") - ) - - # Draw rectangle - draw.rounded_rectangle( - (x_start, y_start, x_end, y_end), - fill=rect_fill, - outline=rect_outline, - width=rect_width, - radius=radius, - corners=corners - ) - - ctx.pos_y = y_end - - -@element_handler(ElementType.RECTANGLE_PATTERN, requires=["x_start", "x_size", "y_start", "y_size", "x_repeat", "y_repeat", "x_offset", "y_offset"]) -async def draw_rectangle_pattern(ctx: DrawingContext, element: dict) -> None: - """ - Draw repeated rectangle pattern. - - Renders a grid of rectangles with consistent spacing, useful for - creating regular patterns or grids. - - Args: - ctx: Drawing context - element: Element dictionary with rectangle pattern properties - """ - draw = ImageDraw.Draw(ctx.img) - - # Get pattern properties - fill = ctx.colors.resolve(element.get('fill')) - outline = ctx.colors.resolve(element.get('outline', "black")) - width = element.get('width', 1) - radius = element.get('radius', 10 if 'corners' in element else 0) - corners = get_rounded_corners( - element.get('corners', "all" if 'radius' in element else "") - ) - - max_y = element['y_start'] - - # Draw rectangle grid - for x in range(element["x_repeat"]): - for y in range(element["y_repeat"]): - # Calculate rectangle position - x_pos = element['x_start'] + x * (element['x_offset'] + element['x_size']) - y_pos = element['y_start'] + y * (element['y_offset'] + element['y_size']) - - # Draw individual rectangle - draw.rounded_rectangle( - (x_pos, y_pos, - x_pos + element['x_size'], - y_pos + element['y_size']), - fill=fill, - outline=outline, - width=width, - radius=radius, - corners=corners - ) - - max_y = max(max_y, y_pos + element['y_size']) - - ctx.pos_y = max_y - - -@element_handler(ElementType.POLYGON, requires=["points"]) -async def draw_polygon(ctx: DrawingContext, element: dict) -> None: - """Draw a polygon. - - Renders a polygon defined by a list of vertex coordinates. - - Args: - ctx: Drawing context - element: Element dictionary with polygon properties - """ - draw = ImageDraw.Draw(ctx.img) - - # Parse vertices - vertices = [ - (ctx.coords.parse_x(x), ctx.coords.parse_y(y)) - for x, y in element["points"] - ] - - # Get polygon properties - fill = ctx.colors.resolve(element.get("fill")) - outline = ctx.colors.resolve(element.get("outline", "black")) - width = element.get("width", 1) - - # Draw the polygon - draw.polygon(vertices, fill=fill, outline=outline) - - if vertices: - ctx.pos_y = max(v[1] for v in vertices) - - -@element_handler(ElementType.CIRCLE, requires=["x", "y", "radius"]) -async def draw_circle(ctx: DrawingContext, element: dict) -> None: - """Draw circle element. - - Renders a circle with options for fill and outline. - - Args: - ctx: Drawing Context - element: Element dictionary with circle properties - """ - draw = ImageDraw.Draw(ctx.img) - - # Coordinates - x = ctx.coords.parse_x(element['x']) - y = ctx.coords.parse_y(element['y']) - - # Get circle properties - fill = ctx.colors.resolve(element.get('fill')) - outline = ctx.colors.resolve(element.get('outline', "black")) - width = element.get('width', 1) - - # Draw circle - draw.ellipse( - [(x - element['radius'], y - element['radius']), (x + element['radius'], y + element['radius'])], - fill=fill, - outline=outline, - width=width - ) - - ctx.pos_y = y + element['radius'] - - -@element_handler(ElementType.ELLIPSE, requires=["x_start", "x_end", "y_start", "y_end"]) -async def draw_ellipse(ctx: DrawingContext, element: dict) -> None: - """ - Draw ellipse element. - - Renders an ellipse with options for fill and outline. - - Args: - ctx: Drawing context - element: Element dictionary with ellipse properties - """ - draw = ImageDraw.Draw(ctx.img) - - # Coordinates - x_start = ctx.coords.parse_x(element['x_start']) - x_end = ctx.coords.parse_x(element['x_end']) - y_start = ctx.coords.parse_y(element['y_start']) - y_end = ctx.coords.parse_y(element['y_end']) - - # Get ellipse properties - fill = ctx.colors.resolve(element.get('fill')) - outline = ctx.colors.resolve(element.get('outline', "black")) - width = element.get('width', 1) - - # Draw ellipse - draw.ellipse( - [(x_start, y_start), (x_end, y_end)], - fill=fill, - outline=outline, - width=width - ) - - ctx.pos_y = y_end - - -@element_handler(ElementType.ARC, requires=["x", "y", "radius", "start_angle", "end_angle"]) -async def draw_arc(ctx: DrawingContext, element: dict) -> None: - """Draw an arc or pie slice. - - Renders an arc (outline) or pie slice (filled) based on center point, - radius, and angle range. - - Args: - ctx: Drawing context - element: Element dictionary with arc properties - """ - draw = ImageDraw.Draw(ctx.img) - - # Parse center coordinates and radius - x = ctx.coords.parse_x(element["x"]) - y = ctx.coords.parse_y(element["y"]) - radius = ctx.coords.parse_size(element["radius"], is_width=True) - - # Parse angles - start_angle = element["start_angle"] - end_angle = element["end_angle"] - - # Calculate bounding box of the circle/ellipse - bbox = [ - (x - radius, y - radius), - (x + radius, y + radius) - ] - - # Get arc properties - fill = ctx.colors.resolve(element.get("fill")) # Used for pie slices - outline = ctx.colors.resolve(element.get("outline", "black")) - width = element.get("width", 1) - - # Draw the arc - if fill: - # Filled pie slice - draw.pieslice( - bbox, - start=start_angle, - end=end_angle, - fill=fill, - outline=outline - ) - else: - # Outline-only arc - draw.arc( - bbox, - start=start_angle, - end=end_angle, - fill=outline, - width=width - ) - - ctx.pos_y = y + radius - - - -def draw_dashed_line(draw: ImageDraw.ImageDraw, - start: tuple[int, int], - end: tuple[int, int], - dash_length: int, - space_length: int, - fill: tuple[int, int, int, int] = BLACK, - width: int = 1, - ) -> None: - """Draw dashed line. - - Renders a dashed line between two points by drawing alternating - segments of visible line and invisible space. - - Args: - draw: PIL ImageDraw object to draw with - start: Start point coordinates (x, y) - end: End point coordinates (x, y) - dash_length: Length of visible line segments - space_length: Length of invisible space segments - fill: Line color - width: Line width - """ - x1, y1 = start - x2, y2 = end - - dx = x2 - x1 - dy = y2 - y1 - line_length = (dx ** 2 + dy ** 2) ** 0.5 - - step_x = dx / line_length - step_y = dy / line_length - - current_pos = 0.0 - - while True: - # 1) Draw a dash segment - dash_end = current_pos + dash_length - - if dash_end >= line_length: - # A partial dash exists that ends exactly or beyond the line_end - dash_end = line_length - segment_len = dash_end - current_pos - - segment_start_x = x1 + step_x * current_pos - segment_start_y = y1 + step_y * current_pos - segment_end_x = x1 + step_x * dash_end - segment_end_y = y1 + step_y * dash_end - - draw.line( - [(segment_start_x, segment_start_y), (segment_end_x, segment_end_y)], - fill=fill, - width=width - ) - # Process is done because the end of the line has been reached - break - else: - # Normal full dash - segment_start_x = x1 + step_x * current_pos - segment_start_y = y1 + step_y * current_pos - segment_end_x = x1 + step_x * dash_end - segment_end_y = y1 + step_y * dash_end - - draw.line( - [(segment_start_x, segment_start_y), (segment_end_x, segment_end_y)], - fill=fill, - width=width - ) - - # 2) Move current_pos forward past this dash - current_pos = dash_end - - # 3) Skip the space segment - space_end = current_pos + space_length - if space_end >= line_length: - # The space would exceed the line's end, so processing is complete - break - else: - # Jump over the space - current_pos = space_end - - -def get_rounded_corners(corner_string: str) -> tuple[bool, bool, bool, bool]: - """Get rounded corner configuration. - - Parses a string specifying which corners of a rectangle should be rounded. - - Args: - corner_string: String specifying corners to round ("all" or comma-separated list) - - Returns: - tuple: Boolean flags for (top_left, top_right, bottom_right, bottom_left) - """ - if corner_string == "all": - return True, True, True, True - - corners = corner_string.split(",") - corner_map = { - "top_left": 0, - "top_right": 1, - "bottom_right": 2, - "bottom_left": 3 - } - - result = [False] * 4 - for corner in corners: - corner = corner.strip() - if corner in corner_map: - result[corner_map[corner]] = True - - return result[0], result[1], result[2], result[3] \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/text.py b/custom_components/opendisplay/imagegen/text.py deleted file mode 100644 index 027dd3e..0000000 --- a/custom_components/opendisplay/imagegen/text.py +++ /dev/null @@ -1,465 +0,0 @@ -from __future__ import annotations - -import re -import logging -from typing import List, Tuple - -from PIL import ImageDraw, ImageFont - -from .registry import element_handler -from .types import ElementType, DrawingContext, TextSegment - -_LOGGER = logging.getLogger(__name__) - - -@element_handler(ElementType.TEXT, requires=["x", "value"]) -async def draw_text(ctx: DrawingContext, element: dict) -> None: - """Draw (colored) text with optional wrapping or ellipsis. - - Renders text with support for multiple formatting options: - - - Color markup with [color]text[/color] syntax - - Text wrapping based on max_width - - Text truncation with ellipsis - - Multiple anchoring options - - Font selection and sizing - - Args: - ctx: Drawing context - element: Element dictionary with text properties - """ - draw = ImageDraw.Draw(ctx.img) - draw.fontmode = "1" - - x = ctx.coords.parse_x(element['x']) - if "y" not in element: - y = ctx.pos_y + element.get('y_padding', 10) - else: - y = ctx.coords.parse_y(element['y']) - # Get text properties - size = ctx.coords.parse_size(element.get('size', 20), is_width=False) - font_name = element.get('font', "ppb.ttf") - font = ctx.fonts.get_font(font_name, size) - - # Get alignment and default color - align = element.get('align', "left") - default_color = ctx.colors.resolve(element.get('color', "black")) - anchor = element.get('anchor') - spacing = element.get('spacing', 5) - stroke_width = element.get('stroke_width', 0) - stroke_fill = ctx.colors.resolve(element.get('stroke_fill', 'white')) - - # Process text content - text = str(element['value']) - max_width = element.get('max_width') - - # Handle text wrapping if max_width is specified - final_text = text - if max_width is not None: - if element.get('truncate', False): - if draw.textlength(text, font=font) > max_width: - ellipsis = "..." - truncated = text - while truncated and draw.textlength(truncated + ellipsis, font=font) > max_width: - truncated = truncated[:-1] - final_text = truncated + ellipsis - else: - words = text.split() - lines = [] - current_line = [] - - for word in words: - test_line = ' '.join(current_line + [word]) - if not current_line or draw.textlength(test_line, font=font) <= max_width: - current_line.append(word) - else: - lines.append(' '.join(current_line)) - current_line = [word] - - if current_line: - lines.append(' '.join(current_line)) - final_text = '\n'.join(lines) - - # Set appropriate anchor based on line count - if not anchor: - anchor = 'la' if '\n' in final_text else 'lt' - - # Draw the text - if element.get('parse_colors', False): - segments = parse_colored_text(final_text) - - # Check if text contains newlines - has_newlines = '\n' in final_text - - if has_newlines: - # Split text into lines - lines = split_segments_by_newlines(segments) - - # Calculate vertical positions - line_y_positions, total_height = calculate_multiline_positions(lines, font, spacing) - - # Apply vertical anchor offset to the entire block - adjusted_y = calculate_anchor_offset_y(y, total_height, anchor) - - # Draw each line - max_y = adjusted_y - for line_segments, line_y_offset in zip(lines, line_y_positions): - # Calculate horizontal positions for this line - line_segments, line_width = calculate_segment_positions(line_segments, font, x, align, anchor) - - # Calculate absolute y position for this line - line_y = adjusted_y + line_y_offset - - # Draw each segment in the line - for segment in line_segments: - color = ctx.colors.resolve(segment.color) - bbox = draw.textbbox( - (segment.start_x, line_y), - segment.text, - font=font, - anchor="lt" - ) - draw.text( - (segment.start_x, line_y), - segment.text, - fill=color, - font=font, - anchor="lt", - spacing=spacing, - stroke_width=stroke_width, - stroke_fill=stroke_fill - ) - max_y = max(max_y, bbox[3]) - ctx.pos_y = max_y - else: - segments, total_width = calculate_segment_positions( - segments, font, x, align, anchor - ) - - max_y = y - for segment in segments: - color = ctx.colors.resolve(segment.color) - bbox = draw.textbbox( - (segment.start_x, y), - segment.text, - font=font, - anchor="lt", - ) - draw.text( - (segment.start_x, y), - segment.text, - fill=color, - font=font, - anchor="lt", - spacing=spacing, - stroke_width=stroke_width, - stroke_fill=stroke_fill - ) - max_y = max(max_y, bbox[3]) - ctx.pos_y = max_y - else: - bbox = draw.textbbox( - (x, y), - final_text, - font=font, - anchor=anchor, - spacing=spacing, - align=align - ) - draw.text( - (x, y), - final_text, - fill=default_color, - font=font, - anchor=anchor, - align=align, - spacing=spacing, - stroke_width=stroke_width, - stroke_fill=stroke_fill - ) - ctx.pos_y = bbox[3] - - -@element_handler(ElementType.MULTILINE, requires=["x", "value", "delimiter", "offset_y"]) -async def draw_multiline(ctx: DrawingContext, element: dict) -> None: - """Draw multiline text with delimiter. - - Renders multiple lines of text separated by a delimiter character. - Supports similar formatting options as the _draw_text method. - - Args: - ctx: Drawing context - element: Element dictionary with multiline text properties - """ - draw = ImageDraw.Draw(ctx.img) - draw.fontmode = "1" - - # Get text properties - size = element.get('size', 20) - font_name = element.get('font', "ppb.ttf") - font = ctx.fonts.get_font(font_name, size) - color = ctx.colors.resolve(element.get('color', "black")) - align = element.get('align', "left") - anchor = element.get('anchor', "lm") - stroke_width = element.get('stroke_width', 0) - stroke_fill = ctx.colors.resolve(element.get('stroke_fill', 'white')) - - x = ctx.coords.parse_x(element['x']) - # Support both 'y' (standard) and 'start_y' (legacy) for backward compatibility - if "y" in element: - current_y = ctx.coords.parse_y(element['y']) - elif "start_y" in element: - current_y = ctx.coords.parse_y(element['start_y']) - else: - current_y = ctx.pos_y + element.get('y_padding', 10) - - # Split text using delimiter - lines = element['value'].replace("\n", "").split(element["delimiter"]) - - max_y = current_y - for line in lines: - if element.get('parse_colors', False): - segments = parse_colored_text(str(line)) - segments, total_width = calculate_segment_positions( - segments, font, x, align, anchor - ) - - for segment in segments: - color = ctx.colors.resolve(segment.color) - bbox = draw.textbbox( - (segment.start_x, current_y), - segment.text, - font=font, - anchor="lt" - ) - draw.text( - (segment.start_x, current_y), - segment.text, - fill=color, - font=font, - anchor="lt", - stroke_width=stroke_width, - stroke_fill=stroke_fill - ) - else: - bbox = draw.textbbox( - (x, current_y), - str(line), - font=font, - anchor=anchor, - align=align - ) - draw.text( - (x, current_y), - str(line), - fill=color, - font=font, - anchor=anchor, - stroke_width=stroke_width, - stroke_fill=stroke_fill - ) - current_y += element['offset_y'] - max_y = current_y - - ctx.pos_y = max_y - - -def get_wrapped_text(text: str, font: ImageFont.ImageFont, line_length: int) -> str: - """Wrap text to fit within a given width. - - Breaks text into multiple lines to fit within the specified width. - - Args: - text: Text to wrap - font: Font to measure text width with - line_length: Maximum line length in pixels - - Returns: - str: Text with newlines inserted for wrapping - """ - lines = [''] - for word in text.split(): - line = f'{lines[-1]} {word}'.strip() - if font.getlength(line) <= line_length: - lines[-1] = line - else: - lines.append(word) - return '\n'.join(lines) - - -def parse_colored_text(text: str) -> List[TextSegment]: - """Parse text with color markup into text segments. - - Breaks text with color markup like "[red]text[/red]" into segments - with associated colors. - - Args: - text: Text with color markup - - Returns: - List[TextSegment]: List of text segments with colors - """ - - segments = [] - current_pos = 0 - pattern = r'\[(black|white|red|yellow|accent|half_black|half_red|half_yellow|half_accent|gray|grey|g|hb|hr|hy|ha)\](.*?)\[/\1\]' - - for match in re.finditer(pattern, text, re.DOTALL): - # Add any text before the match with default color - if match.start() > current_pos: - segments.append( - TextSegment( - text=text[current_pos:match.start()], - color="black" - )) - # Add the matched text with the specified color - segments.append( - TextSegment( - text=match.group(2), - color=match.group(1) - ) - ) - current_pos = match.end() - - # Add any remaining text with default color - if current_pos < len(text): - segments.append(TextSegment( - text=text[current_pos:], - color="black" - )) - - return segments - - -def calculate_segment_positions( - segments: List[TextSegment], - font: ImageFont.FreeTypeFont, - start_x: int, - alignment: str = "left", - anchor: str | None = None -) -> Tuple[List[TextSegment], float]: - """Calculate x positions for each text segment based on alignment. - - Determines the starting x position for each text segment based on - the overall alignment and font metrics. - - Args: - segments: List of text segments - font: Font to measure text width with - start_x: Base starting x position - alignment: Text alignment (left, center, right) - anchor: Anchor point for text - - Returns: - tuple: (modified segments with positions, total width) - """ - - total_width = sum(font.getlength(segment.text) for segment in segments) - - current_x = start_x - match alignment.lower(): - case "left": - pass # start_x is already correct - case "center": - current_x -= total_width / 2 - case "right": - current_x -= total_width - case _: - # Default to left alignment for unknown values - _LOGGER.warning("Unknown alignment '%s', defaulting to left", alignment) - # Apply anchor-based horizontal offset - if anchor: - anchor_horizontal = anchor[0] # First char: l/m/r - if anchor_horizontal == 'm': # Middle - current_x -= total_width / 2 - elif anchor_horizontal == 'r': # Right - current_x -= total_width - # else: left anchor, no adjustment needed - - for segment in segments: - segment.start_x = int(current_x) - current_x += font.getlength(segment.text) - - return segments, total_width - - -def split_segments_by_newlines(segments: List[TextSegment]) -> List[List[TextSegment]]: - """ - Split text segments by newline characters into separate lines. - - Args: - segments: List of text segments (may contain \\n characters) - - Returns: - List of lines, where each line is a list of TextSegment objects. - """ - lines = [[]] - - for segment in segments: - if '\n' not in segment.text: - # No newlines, add to current line - lines[-1].append(segment) - else: - # Split segments by newlines - parts = segment.text.split('\n') - for i, part in enumerate(parts): - if part: - lines[-1].append(TextSegment(text=part, color=segment.color)) - if i < len(parts) - 1: - lines.append([]) - - # Remove empty lines - return [line for line in lines if line] - -def calculate_multiline_positions( - lines: List[List[TextSegment]], - font: ImageFont.FreeTypeFont, - spacing: int -) -> Tuple[List[int], int]: - """ - Calculate y positions for each line and total height. - - Args: - lines: List of lines, where each line is a list of TextSegment objects. - font: Font to measure text height with - spacing: Spacing between lines in pixels - - Returns: - tuple: (list of y positions for each line, total block height) - """ - # Get line height from font metrics - bbox = font.getbbox('Ay') # Use chars with ascenders/descenders - line_height = bbox[3] - bbox[1] - - # Calculate y positions - line_positions = [] - current_y = 0 - - for i in range(len(lines)): - line_positions.append(current_y) - current_y += line_height + spacing - - # Total height is position of last line + line height - total_height = line_positions[-1] + line_height if line_positions else 0 - - return line_positions, total_height - - -def calculate_anchor_offset_y(base_y: int, total_height: int, anchor: str | None) -> int: - """ - Calculate y offset based on the vertical anchor component. - - Args: - base_y: Base y coordinate from element - total_height: Total height of text block - anchor: Anchor string (e.g. 'mm', 'lt', 'rb') - """ - if not anchor or len(anchor) < 2: - return base_y - - anchor_vertical = anchor[1] - if anchor_vertical == 'm': - return base_y - total_height // 2 - elif anchor_vertical == 'b': - return base_y - total_height - return base_y diff --git a/custom_components/opendisplay/imagegen/types.py b/custom_components/opendisplay/imagegen/types.py deleted file mode 100644 index c6834f8..0000000 --- a/custom_components/opendisplay/imagegen/types.py +++ /dev/null @@ -1,78 +0,0 @@ -from dataclasses import dataclass -from enum import Enum -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from PIL import Image - from .colors import ColorResolver - from .coordinates import CoordinateParser - from .fonts import FontManager - from homeassistant.core import HomeAssistant - -class ElementType(str, Enum): - """Enum for supported element types. - - Defines all the drawable element types supported by the ImageGen class. - Each type corresponds to a specific drawing method that handles the - rendering of that element type. - - The enum values are used in the payload to identify the type of each element. - """ - - TEXT = "text" - MULTILINE = "multiline" - LINE = "line" - RECTANGLE = "rectangle" - RECTANGLE_PATTERN = "rectangle_pattern" - POLYGON = "polygon" - CIRCLE = "circle" - ELLIPSE = "ellipse" - ARC = "arc" - ICON = "icon" - DLIMG = "dlimg" - QRCODE = "qrcode" - PLOT = "plot" - PROGRESS_BAR = "progress_bar" - DIAGRAM = "diagram" - ICON_SEQUENCE = "icon_sequence" - DEBUG_GRID = "debug_grid" - - def __str__(self) -> str: - """Return the string value of the enum. - - Returns: - str: The string value of the enum - """ - - return self.value - -@dataclass -class TextSegment: - """Represents a segment of text with its color. - - Used for handling colored text markup, where different parts of a text - string can have different colors (e.g., "[red]Text[/red]"). - - Attributes: - text: The text content - color: The color name for this segment - start_x: Starting x position for rendering (calculated during layout) - """ - text: str - color: str - start_x: int = 0 - -@dataclass -class DrawingContext: - """ - Context passed to all draw handlers. - - Holds all shared state for a single drawcustom() call. - Handlers update pos_y directly rather than returning it. - """ - img: "Image.Image" - colors: "ColorResolver" - coords: "CoordinateParser" - fonts: "FontManager" - hass: "HomeAssistant" - pos_y: int = 0 \ No newline at end of file diff --git a/custom_components/opendisplay/imagegen/visualizations.py b/custom_components/opendisplay/imagegen/visualizations.py deleted file mode 100644 index 1d0825d..0000000 --- a/custom_components/opendisplay/imagegen/visualizations.py +++ /dev/null @@ -1,952 +0,0 @@ -from __future__ import annotations - -import logging -import math -from datetime import timedelta, datetime -from functools import partial - -from PIL import ImageDraw -from homeassistant.exceptions import HomeAssistantError, ServiceValidationError -from homeassistant.components.recorder import get_instance -from homeassistant.components.recorder.history import get_significant_states -from homeassistant.util import dt - -from .registry import element_handler -from .types import ElementType, DrawingContext -from ..const import DOMAIN - -_LOGGER = logging.getLogger(__name__) - - -@element_handler(ElementType.PLOT, requires=["data"]) -async def draw_plot(ctx: DrawingContext, element: dict) -> None: - """ - Draw plot of Home Assistant sensor data. - - Creates a line plot visualization of historical data from Home Assistant - entities with customizable axes, legends, and styling. - - This is one of the most complex drawing methods, handling data retrieval, - scaling, and rendering of multiple data series and plot components. - - Args: - ctx: Drawing context - element: Element dictionary with plot properties - Raises: - HomeAssistantError: If plot generation fails - """ - try: - draw = ImageDraw.Draw(ctx.img) - - # Get plot dimensions and position - x_start = element.get("x_start", 0) - y_start = element.get("y_start", 0) - x_end = element.get("x_end", ctx.img.width - 1 - x_start) - y_end = element.get("y_end", ctx.img.height - 1 - y_start) - width = x_end - x_start + 1 - height = y_end - y_start + 1 - - # Get time range - duration_seconds = float(element.get("duration", 60 * 60 * 24)) - if duration_seconds <= 0: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="plot_duration_invalid", - ) - duration = timedelta(seconds=duration_seconds) - end = dt.now() - start = end - duration - - # Set up font - font_name = element.get("font", "ppb.ttf") - - # Get min/max values from config - min_v = element.get("low") - max_v = element.get("high") - - # Fetch sensor data - all_states = await get_instance(ctx.hass).async_add_executor_job(partial(get_significant_states, - ctx.hass, - start_time=start, - entity_ids=[plot["entity"] for - plot in - element["data"]], - significant_changes_only=False, - minimal_response=True, - no_attributes=False - )) - - # Process data and find min/max if not specified - raw_data = [] - for plot in element["data"]: - if plot["entity"] not in all_states: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="plot_no_data", - translation_placeholders={"entity": plot["entity"]} - ) - - states = all_states[plot["entity"]] - state_obj = states[0] - states[0] = { - "state": state_obj.state, - "last_changed": str(state_obj.last_changed) - } - - # Convert states to segments (breaking at gaps) - segments = [] - current_segment = [] - span_gaps = plot.get("span_gaps", False) - value_scale = plot.get("value_scale", 1.0) - prev_timestamp = None - prev_was_valid = True - - for state in states: - try: - value = float(state["state"]) * value_scale - timestamp = datetime.fromisoformat(state["last_changed"]) - - # Check for gap conditions - should_break = False - - if isinstance(span_gaps, (int, float)) and span_gaps is not True and span_gaps is not False: - # Time-based gap detection - if prev_timestamp: - gap_seconds = (timestamp - prev_timestamp).total_seconds() - if gap_seconds > span_gaps: - should_break = True - elif span_gaps is False and not prev_was_valid: - # Previous was invalid/null, start new segment - should_break = True - - # Start new segment if needed - if should_break and current_segment: - segments.append(current_segment) - current_segment = [] - - current_segment.append((timestamp, value)) - prev_timestamp = timestamp - prev_was_valid = True - - except (ValueError, TypeError): - # Invalid value (null, unavailable, etc.) - if span_gaps is False and current_segment: - # Close current segment before null - segments.append(current_segment) - current_segment = [] - prev_was_valid = False - continue - - # Add final segment - if current_segment: - segments.append(current_segment) - - if not segments: - continue - - # Update min/max from all segments - all_values = [p[1] for segment in segments for p in segment] - if min_v is None: - min_v = min(all_values) if all_values else None - else: - min_v = min(min_v, min(all_values)) - - if max_v is None: - max_v = max(all_values) if all_values else None - else: - max_v = max(max_v, max(all_values)) - - raw_data.append(segments) - - if not raw_data: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="plot_no_valid_points" - ) - - # Apply rounding if requested - if element.get("round_values", False): - max_v = math.ceil(max_v) - min_v = math.floor(min_v) - if max_v == min_v: - min_v -= 1 - spread = max_v - min_v - - # Configure y legend - y_legend = element.get("ylegend", {}) - y_legend_width = -1 - y_legend_pos = None - y_legend_color = None - y_legend_size = None - y_legend_font = None - - if y_legend: - y_legend_width = y_legend.get("width", -1) - y_legend_color = ctx.colors.resolve(y_legend.get("color", "black")) - y_legend_pos = y_legend.get("position", "left") - if y_legend_pos not in ("left", "right", None): - y_legend_pos = "left" - y_legend_size = y_legend.get("size", 10) - - # Calculate y legend width if auto width is requested - if y_legend and y_legend_width == -1: - y_legend_font = ctx.fonts.get_font(font_name, y_legend_size) - max_bbox = y_legend_font.getbbox(str(max_v)) - min_bbox = y_legend_font.getbbox(str(min_v)) - max_width = max_bbox[2] - max_bbox[0] - min_width = min_bbox[2] - min_bbox[0] - y_legend_width = math.ceil(max(max_width, min_width)) # Add padding - - # Configure y axis - y_axis = element.get("yaxis") - y_axis_width = -1 - y_axis_color = None - y_axis_tick_length = 0 - y_axis_tick_width = 1 - y_axis_tick_every = 0 - y_axis_grid = None - y_axis_grid_color = None - y_axis_grid_style = None - - if y_axis: - y_axis_width = y_axis.get("width", 1) - y_axis_color = ctx.colors.resolve(y_axis.get("color", "black")) - y_axis_tick_length = y_axis.get("tick_length", 4) - y_axis_tick_width = y_axis.get("tick_width", 2) - y_axis_tick_every = float(y_axis.get("tick_every", 1)) - if y_axis_tick_every <= 0: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="plot_yaxis_invalid" - ) - y_axis_grid = y_axis.get("grid", True) - y_axis_grid_color = ctx.colors.resolve(y_axis.get("grid_color", "black")) - y_axis_grid_style = y_axis.get("grid_style", "dotted") - - # Configure x legend - x_legend = element.get("xlegend", {}) - time_format = "%H:%M" - time_interval = duration.total_seconds() / 4 # Default to 4 labels - time_font = None - time_color = None - time_position = None - x_legend_height = None - - if x_legend: - time_format = x_legend.get("format", "%H:%M") - interval = x_legend.get("interval") - if interval is not None: - time_interval = float(interval) - time_size = x_legend.get("size", 10) - time_font = ctx.fonts.get_font(font_name, time_size) - time_color = ctx.colors.resolve(x_legend.get("color", "black")) - time_position = x_legend.get("position", "bottom") - x_legend_height = x_legend.get("height", -1) - if time_position not in ("top", "bottom", None): - time_position = "bottom" - if time_interval <= 0: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="plot_xlegend_invalid" - ) - - # Configure x axis - x_axis = element.get("xaxis", {}) - x_axis_width = 1 - x_axis_color = None - x_axis_tick_length = 0 - x_axis_tick_width = 0 - x_axis_grid = None - x_axis_grid_color = None - x_axis_grid_style = None - - if x_axis: - x_axis_width = x_axis.get("width", 1) - x_axis_color = ctx.colors.resolve(x_axis.get("color", "black")) - x_axis_tick_length = x_axis.get("tick_length", 4) - x_axis_tick_width = x_axis.get("tick_width", 2) - x_axis_grid = x_axis.get("grid", True) - x_axis_grid_color = ctx.colors.resolve(x_axis.get("grid_color", "black")) - x_axis_grid_style = x_axis.get("grid_style", "dotted") - - x_label_height = 0 - if x_legend: - if x_legend_height == 0: - x_label_height = 0 - else: - if x_legend_height > 0: - x_label_height = x_legend_height - else: - x_label_height = time_font.getbbox("00:00")[3] - x_label_height += x_axis_tick_width + 2 - - # Calculate effective diagram dimensions - diag_x = x_start + (y_legend_width if y_legend_pos == "left" else 0) - diag_y = y_start + (x_label_height if time_position == "top" and x_legend_height != 0 else 0) - diag_width = width - (y_legend_width if y_legend_pos == "left" or y_legend_pos == "right" else 0) - diag_height = height - x_label_height - - # Draw debug borders if requested - if element.get("debug", False): - draw.rectangle( - (x_start, y_start, x_end, y_end), - fill=None, - outline=ctx.colors.resolve("black"), - width=1 - ) - draw.rectangle( - (diag_x, diag_y, diag_x + diag_width - 1, diag_y + diag_height - 1), - fill=None, - outline=ctx.colors.resolve("red"), - width=1 - ) - # Draw y legend - if y_legend: - - top_y = y_start - bottom_y = y_end - x_label_height - if time_position == "top" and x_legend_height != 0: - top_y += x_label_height - bottom_y += x_label_height - - # Draw labels for each grid line - if y_axis_tick_every > 0: - curr = min_v - # Track if the max value has been drawn - max_value_drawn = False - - while curr <= max_v: - # Calculate y position for this value - curr_y = round(diag_y + (1 - ((curr - min_v) / spread)) * (diag_height - 1)) - - # Format the value with appropriate rounding - formatted_value = curr - if isinstance(curr, float): - # Check if it's a whole number - if curr.is_integer(): - formatted_value = int(curr) - else: - # Round to 2 decimal places - formatted_value = round(curr, 2) - # Remove trailing zeros - formatted_value = float(f"{formatted_value:.2f}".rstrip('0').rstrip( - '.') if '.' in f"{formatted_value:.2f}" else formatted_value) - - if y_legend_pos == "left": - draw.text( - (x_start, curr_y), - str(formatted_value), - fill=y_legend_color, - font=y_legend_font, - anchor="lm" # Left-middle alignment - ) - elif y_legend_pos == "right": - draw.text( - (x_end, curr_y), - str(formatted_value), - fill=y_legend_color, - font=y_legend_font, - anchor="rm" # Right-middle alignment - ) - - # Check if this is the max value or very close to it - if abs(curr - max_v) < 0.0001: - max_value_drawn = True - - curr += y_axis_tick_every - - # If the max value hasn't been drawn and it's not equal to min_v, draw it now - if not max_value_drawn and abs(max_v - min_v) > 0.0001: - # Calculate y position for max value - max_y = round(diag_y + (1 - ((max_v - min_v) / spread)) * (diag_height - 1)) - - # Format the max value with appropriate rounding - formatted_max = max_v - if isinstance(max_v, float): - # Check if it's a whole number - if max_v.is_integer(): - formatted_max = int(max_v) - else: - # Round to 2 decimal places - formatted_max = round(max_v, 2) - # Remove trailing zeros - formatted_max = float(f"{formatted_max:.2f}".rstrip('0').rstrip( - '.') if '.' in f"{formatted_max:.2f}" else formatted_max) - - if y_legend_pos == "left": - draw.text( - (x_start, max_y), - str(formatted_max), - fill=y_legend_color, - font=y_legend_font, - anchor="lm" # Left-middle alignment - ) - elif y_legend_pos == "right": - draw.text( - (x_end, max_y), - str(formatted_max), - fill=y_legend_color, - font=y_legend_font, - anchor="rm" # Right-middle alignment - ) - else: - # Fallback to just min/max if no tick interval is defined - # Format the min/max values with appropriate rounding - formatted_max = max_v - formatted_min = min_v - - if isinstance(max_v, float): - # Check if it's a whole number - if max_v.is_integer(): - formatted_max = int(max_v) - else: - # Round to 2 decimal places - formatted_max = round(max_v, 2) - # Remove trailing zeros - formatted_max = float(f"{formatted_max:.2f}".rstrip('0').rstrip( - '.') if '.' in f"{formatted_max:.2f}" else formatted_max) - - if isinstance(min_v, float): - # Check if it's a whole number - if min_v.is_integer(): - formatted_min = int(min_v) - else: - # Round to 2 decimal places - formatted_min = round(min_v, 2) - # Remove trailing zeros - formatted_min = float(f"{formatted_min:.2f}".rstrip('0').rstrip( - '.') if '.' in f"{formatted_min:.2f}" else formatted_min) - - if y_legend_pos == "left": - draw.text( - (x_start, top_y), - str(formatted_max), - fill=y_legend_color, - font=y_legend_font, - anchor="lt" - ) - draw.text( - (x_start, bottom_y), - str(formatted_min), - fill=y_legend_color, - font=y_legend_font, - anchor="ls" - ) - elif y_legend_pos == "right": - draw.text( - (x_end, top_y), - str(formatted_max), - fill=y_legend_color, - font=y_legend_font, - anchor="rt" - ) - draw.text( - (x_end, bottom_y), - str(formatted_min), - fill=y_legend_color, - font=y_legend_font, - anchor="rs" - ) - - # Draw y-axis and grid - if y_axis: - # Y Axis line - if y_axis_width > 0 and y_axis_color: - draw.rectangle( - (diag_x, diag_y, diag_x + y_axis_width - 1, diag_y + diag_height - 1), - fill=y_axis_color - ) - # Y Tick marks - if y_axis_tick_length > 0 and y_axis_color: - curr = min_v - while curr <= max_v: - curr_y = round(diag_y + (1 - ((curr - min_v) / spread)) * (diag_height - 1)) - draw.line( - (diag_x, curr_y, diag_x + y_axis_tick_length - 1, curr_y), - fill=y_axis_color, - width=y_axis_tick_width - ) - curr += y_axis_tick_every - - # Y Grid - if y_axis_grid and y_axis_grid_color: - curr = min_v - while curr <= max_v: - curr_y = round(diag_y + (1 - ((curr - min_v) / spread)) * (diag_height - 1)) - - if y_axis_grid_style == "lines": - # Solid line - draw.line( - [(diag_x, curr_y), (diag_x + diag_width, curr_y)], - fill=y_axis_grid_color, - width=1 - ) - elif y_axis_grid_style == "dashed": - # Dashed line - x_pos = diag_x - dash_length = 5 - gap_length = 3 - while x_pos < diag_x + diag_width: - end_x = min(x_pos + dash_length, diag_x + diag_width) - draw.line( - [(x_pos, curr_y), (end_x, curr_y)], - fill=y_axis_grid_color, - width=1 - ) - x_pos += dash_length + gap_length - elif y_axis_grid_style == "dotted": - # Dotted line - for x in range(int(diag_x), int(diag_x + diag_width), 5): - draw.point((x, curr_y), fill=y_axis_grid_color) - curr += y_axis_tick_every - - # Determine time range for x-axis labels and grid - if x_legend and x_legend_height != 0 and x_legend.get("snap_to_hours", True): - # Round start time to the nearest hour - curr_time = start.replace(minute=0, second=0, microsecond=0) - # Round end time to the nearest hour - end_time = end.replace(minute=0, second=0, microsecond=0) - if end > end_time: - end_time += timedelta(hours=1) - else: - curr_time = start - end_time = end - - # Draw X Axis and grid - if x_axis: - # X Axis line - if x_axis_width > 0 and x_axis_color: - draw.line( - [(diag_x, diag_y + diag_height), (diag_x + diag_width, diag_y + diag_height)], - fill=x_axis_color, - width=x_axis_width - ) - # X Tick marks - if x_axis_tick_length > 0 and x_axis_color: - curr = curr_time - while curr <= end_time: - rel_x = (curr - start) / duration - x = round(diag_x + rel_x * (diag_width - 1)) - # Only draw tick marks within the diagram area - if diag_x <= x <= diag_x + diag_width: - draw.line( - [(x, diag_y + diag_height), (x, diag_y + diag_height - x_axis_tick_length)], - fill=x_axis_color, - width=x_axis_tick_width - ) - curr += timedelta(seconds=time_interval) - # X Grid - if x_axis_grid and x_axis_grid_color: - curr = curr_time - while curr <= end_time: - rel_x = (curr - start) / duration - x = round(diag_x + rel_x * (diag_width - 1)) - - # Only draw grid lines within the diagram area - if diag_x <= x <= diag_x + diag_width: - if x_axis_grid_style == "lines": - # Solid line - draw.line( - [(x, diag_y), (x, diag_y + diag_height)], - fill=x_axis_grid_color, - width=1 - ) - elif x_axis_grid_style == "dashed": - # Dashed line - y_pos = diag_y - dash_length = 5 - gap_length = 3 - while y_pos < diag_y + diag_height: - end_y = min(y_pos + dash_length, diag_y + diag_height) - draw.line( - [(x, y_pos), (x, end_y)], - fill=x_axis_grid_color, - width=1 - ) - y_pos += dash_length + gap_length - elif x_axis_grid_style == "dotted": - # Dotted line - for y in range(int(diag_y), int(diag_y + diag_height), 5): - draw.point((x, y), fill=x_axis_grid_color) - curr += timedelta(seconds=time_interval) - - # Draw X Axis time labels - if x_legend and x_legend_height != 0: - - while curr_time <= end_time: - rel_x = (curr_time - start) / duration - x = round(diag_x + rel_x * (diag_width - 1)) - - if diag_x <= x <= diag_x + diag_width: - if time_position == 'bottom': - if x_axis_width > 0 and x_axis_color: - draw.line( - [(x, diag_y + diag_height), (x, diag_y + diag_height - x_axis_tick_width)], - fill=x_axis_color, - width=x_axis_width - ) - text = curr_time.strftime(time_format) - draw.text( - (x, diag_y + diag_height + x_axis_tick_width + 2), - text, - fill=time_color, - font=time_font, - anchor="mt" - ) - else: # time_position == "top" - # Draw tick mark at top - if x_axis_width > 0 and x_axis_color: - draw.line( - [(x, diag_y), (x, diag_y + x_axis_tick_width)], - fill=x_axis_color, - width=x_axis_width - ) - # Draw time label above - text = curr_time.strftime(time_format) - draw.text( - (x, y_start), - text, - fill=time_color, - font=time_font, - anchor="mt" - ) - curr_time += timedelta(seconds=time_interval) - - # Draw data - for plot_segments, plot_config in zip(raw_data, element["data"]): - # Get line style (once per entity) - line_color = ctx.colors.resolve(plot_config.get("color", "black")) - line_width = plot_config.get("width", 1) - smooth = plot_config.get("smooth", False) - line_style = plot_config.get("line_style", "linear") - steps = plot_config.get("smooth_steps", 10) - - # Catmull-Rom interpolation function - def catmull_rom(p0, p1, p2, p3, t): - t2 = t * t - t3 = t2 * t - - return ( - int(0.5 * ( - (-t3 + 2 * t2 - t) * p0[0] + - (3 * t3 - 5 * t2 + 2) * p1[0] + - (-3 * t3 + 4 * t2 + t) * p2[0] + - (t3 - t2) * p3[0] - )), - int(0.5 * ( - (-t3 + 2 * t2 - t) * p0[1] + - (3 * t3 - 5 * t2 + 2) * p1[1] + - (-3 * t3 + 4 * t2 + t) * p2[1] + - (t3 - t2) * p3[1] - )) - ) - - # Process each segment independently - all_screen_points = [] # For show_points later - for segment_data in plot_segments: - # Convert segment to screen coordinates - points = [] - for timestamp, value in segment_data: - rel_time = (timestamp - start) / duration - rel_value = (value - min_v) / spread - x = round(diag_x + rel_time * (diag_width - 1)) - y = round(diag_y + (1 - rel_value) * (diag_height - 1)) - points.append((x, y)) - all_screen_points.append((x, y)) - - # Draw line for this segment (only if 2+ points) - if len(points) > 1: - # Apply step transformation if requested (takes precedence over smooth) - if line_style == "step": - step_points = [points[0]] - for i in range(1, len(points)): - prev_x, prev_y = points[i-1] - curr_x, curr_y = points[i] - # Horizontal to new x at old y - step_points.append((curr_x, prev_y)) - # Then vertical to new y - step_points.append((curr_x, curr_y)) - points = step_points - if smooth and len(points) > 2 and line_style != "step": - # Create smoothed line using Catmull-Rom splines - smooth_coords = [] - - smooth_coords.append(points[0]) - # Handle first segment specially (duplicate first point) - if len(points) > 3: - p0 = points[0] - p1 = points[0] - p2 = points[1] - p3 = points[2] - - for i in range(1, steps): - t = i / steps - point = catmull_rom(p0, p1, p2, p3, t) - smooth_coords.append(point) - - # Handle middle segments - for i in range(len(points) - 3): - p0 = points[i] - p1 = points[i + 1] - p2 = points[i + 2] - p3 = points[i + 3] - - for j in range(steps): - t = j / steps - point = catmull_rom(p0, p1, p2, p3, t) - smooth_coords.append(point) - - # Handle last segment specially (duplicate last point) - if len(points) > 3: - p0 = points[-3] - p1 = points[-2] - p2 = points[-1] - p3 = points[-1] - - for i in range(1, steps): - t = i / steps - point = catmull_rom(p0, p1, p2, p3, t) - smooth_coords.append(point) - - # Add last point - smooth_coords.append(points[-1]) - - draw.line( - smooth_coords, - fill=line_color, - width=line_width, - joint="curve" - ) - else: - draw.line( - points, - fill=line_color, - width=line_width - ) - - # Draw points from all segments (if enabled) - if plot_config.get("show_points", False): - point_size = plot_config.get("point_size", 3) - point_color = ctx.colors.resolve(plot_config.get("point_color", "black")) - for x, y in all_screen_points: - draw.ellipse( - [(x - point_size, y - point_size), (x + point_size, y + point_size)], - fill=point_color - ) - ctx.pos_y = y_end - - except Exception as e: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="plot_draw_failed", - translation_placeholders={"error": str(e)}, - ) - - -@element_handler(ElementType.PROGRESS_BAR, requires=["x_start", "x_end", "y_start", "y_end", "progress"]) -async def draw_progress_bar(ctx: DrawingContext, element: dict) -> None: - """Draw progress bar with optional percentage text. - - Renders a progress bar to visualize a percentage value, with options - for fill direction, colors, and text display. - - Args: - ctx: Drawing context - element: Element dictionary with progress bar properties - """ - draw = ImageDraw.Draw(ctx.img) - - x_start = ctx.coords.parse_x(element['x_start']) - y_start = ctx.coords.parse_y(element['y_start']) - x_end = ctx.coords.parse_x(element['x_end']) - y_end = ctx.coords.parse_y(element['y_end']) - - progress = min(100, max(0, element['progress'])) # Clamp to 0-100 - direction = element.get('direction', 'right') - background = ctx.colors.resolve(element.get('background', 'white')) - fill = ctx.colors.resolve(element.get('fill', 'red')) - outline = ctx.colors.resolve(element.get('outline', 'black')) - width = element.get('width', 1) - show_percentage = element.get('show_percentage', False) - font_name = element.get('font_name', 'ppb.ttf') - - # Draw background - draw.rectangle( - ((x_start, y_start), (x_end, y_end)), - fill=background, - outline=outline, - width=width - ) - - # Calculate progress dimensions - if direction in ['right', 'left']: - progress_width = int((x_end - x_start) * (progress / 100)) - progress_height = y_end - y_start - else: # up or down - progress_width = x_end - x_start - progress_height = int((y_end - y_start) * (progress / 100)) - - # Draw progress - if direction == 'right': - draw.rectangle( - (x_start, y_start, x_start + progress_width, y_end), - fill=fill - ) - elif direction == 'left': - draw.rectangle( - (x_end - progress_width, y_start, x_end, y_end), - fill=fill - ) - elif direction == 'up': - draw.rectangle( - (x_start, y_end - progress_height, x_end, y_end), - fill=fill - ) - elif direction == 'down': - draw.rectangle( - (x_start, y_start, x_end, y_start + progress_height), - fill=fill - ) - - # Draw outline - draw.rectangle( - (x_start, y_start, x_end, y_end), - fill=None, - outline=outline, - width=width - ) - - # Add percentage text if enabled - if show_percentage: - # Calculate font size based on bar dimensions - font_size = min(y_end - y_start - 4, x_end - x_start - 4, 20) - font = ctx.fonts.get_font(font_name, font_size) - - percentage_text = f"{progress}%" - - # Get text dimensions - text_bbox = draw.textbbox((0, 0), percentage_text, font=font) - text_width = text_bbox[2] - text_bbox[0] - text_height = text_bbox[3] - text_bbox[1] - - # Center text - text_x = (x_start + x_end - text_width) / 2 - text_y = (y_start + y_end - text_height) / 2 - - # Choose text color based on position relative to progress - if progress > 50: - text_color = background - else: - text_color = fill - - draw.text( - (text_x, text_y), - percentage_text, - font=font, - fill=text_color, - anchor='lt' - ) - - ctx.pos_y = y_end - - -@element_handler(ElementType.DIAGRAM, requires=["x", "height"]) -async def draw_diagram(ctx: DrawingContext, element: dict) -> None: - """Draw diagram with optional bars. - - Renders a basic diagram with axes and optional bar chart elements. - - Args: - ctx: Drawing context - element: Element dictionary with diagram properties - """ - draw = ImageDraw.Draw(ctx.img) - draw.fontmode = "1" - - # Get base properties - pos_x = element['x'] - height = element['height'] - width = element.get('width', ctx.img.width) - offset_lines = element.get('margin', 20) - - # Draw axes - # X axis - draw.line( - [(pos_x + offset_lines, ctx.pos_y + height - offset_lines), - (pos_x + width, ctx.pos_y + height - offset_lines)], - fill=ctx.colors.resolve('black'), - width=1 - ) - # Y axis - draw.line( - [(pos_x + offset_lines, ctx.pos_y), - (pos_x + offset_lines, ctx.pos_y + height - offset_lines)], - fill=ctx.colors.resolve('black'), - width=1 - ) - - if "bars" in element: - bar_config = element["bars"] - bar_margin = bar_config.get('margin', 10) - bar_data = bar_config["values"].split(";") - bar_count = len(bar_data) - font_name = bar_config.get("font", "ppb.ttf") - - # Calculate bar width - bar_width = math.floor( - (width - offset_lines - ((bar_count + 1) * bar_margin)) / bar_count - ) - - # Set up font for legends - size = bar_config.get('legend_size', 10) - font = ctx.fonts.get_font(font_name, size) - legend_color = ctx.colors.resolve(bar_config.get('legend_color', "black")) - - # Find maximum value for scaling - max_val = 0 - for bar in bar_data: - try: - name, value = bar.split(",", 1) - max_val = max(max_val, int(value)) - except (ValueError, IndexError): - continue - - if max_val == 0: - ctx.pos_y = ctx.pos_y + height - - height_factor = (height - offset_lines) / max_val - - # Draw bars and legends - for bar_pos, bar in enumerate(bar_data): - try: - name, value = bar.split(",", 1) - value = int(value) - - # Calculate bar position - x_pos = ((bar_margin + bar_width) * bar_pos) + offset_lines + pos_x - - # Draw legend - draw.text( - (x_pos + (bar_width / 2), ctx.pos_y + height - offset_lines / 2), - str(name), - fill=legend_color, - font=font, - anchor="mm" - ) - - # Draw bar - bar_height = height_factor * value - draw.rectangle( - (x_pos, ctx.pos_y + height - offset_lines - bar_height, - x_pos + bar_width, ctx.pos_y + height - offset_lines), - fill=ctx.colors.resolve(bar_config["color"]) - ) - - except (ValueError, IndexError, KeyError) as e: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="plot_bar_invalid", - translation_placeholders={ "error": str(e)} - ) from e - - ctx.pos_y = ctx.pos_y + height diff --git a/custom_components/opendisplay/light.py b/custom_components/opendisplay/light.py deleted file mode 100644 index 12b72b4..0000000 --- a/custom_components/opendisplay/light.py +++ /dev/null @@ -1,169 +0,0 @@ -from __future__ import annotations - -PARALLEL_UPDATES = 1 - -import asyncio -import logging -from typing import Any - -from homeassistant.components.light import ( - ColorMode, - LightEntity, - LightEntityFeature, -) -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers.entity_platform import AddEntitiesCallback -from .entity import OpenDisplayBLEEntity -from .runtime_data import OpenDisplayConfigEntry, OpenDisplayBLERuntimeData - -from .const import DOMAIN -from .ble import turn_led_on, turn_led_off, get_protocol_by_name - -_LOGGER = logging.getLogger(__name__) - - -async def async_setup_entry( - hass: HomeAssistant, - entry: OpenDisplayConfigEntry, - async_add_entities: AddEntitiesCallback, -) -> None: - """Set up BLE light entities.""" - # Only create light entity for BLE devices - entry_data = entry.runtime_data - if not isinstance(entry_data, OpenDisplayBLERuntimeData): - return - - mac_address = entry_data.mac_address - name = entry_data.name - device_metadata = entry_data.device_metadata - protocol_type = entry_data.protocol_type # Default to ATC for backward compatibility - - # Skip LED entity for OpenDisplay devices - LED config not yet implemented - if protocol_type == "open_display": - return - - light = OpenDisplayBLELight( - hass=hass, - mac_address=mac_address, - name=name, - device_metadata=device_metadata, - protocol_type=protocol_type, - entry=entry, - ) - - async_add_entities([light]) - - -class OpenDisplayBLELight(OpenDisplayBLEEntity, LightEntity): - """BLE Light entity for OpenDisplay tags.""" - - _attr_entity_registry_enabled_default = True - - def __init__( - self, - hass: HomeAssistant, - mac_address: str, - name: str, - device_metadata: dict, - protocol_type: str, - entry: OpenDisplayConfigEntry, - ) -> None: - """Initialize the BLE light entity.""" - super().__init__(mac_address, name, entry) - self._hass = hass - self._device_metadata = device_metadata - self._is_on = False - self._auto_off_task = None - self._protocol = get_protocol_by_name(protocol_type) - self._service_uuid = self._protocol.service_uuid - self._attr_translation_key = "led" - - @property - def unique_id(self) -> str: - """Return unique ID for this entity.""" - return f"opendisplay_ble_{self._mac_address}_light" - - @property - def is_on(self) -> bool: - """Return true if the light is on.""" - return self._is_on - - @property - def supported_color_modes(self) -> set[ColorMode]: - """Return supported color modes.""" - return {ColorMode.ONOFF} - - @property - def color_mode(self) -> ColorMode: - """Return current color mode.""" - return ColorMode.ONOFF - - @property - def supported_features(self) -> LightEntityFeature: - """Return supported features.""" - return LightEntityFeature(0) - - async def async_turn_on(self, **kwargs: Any) -> None: - """Turn the light on.""" - try: - success = await turn_led_on(self.hass, self._mac_address, self._service_uuid, self._protocol) - if success: - self._is_on = True - self.async_write_ha_state() - if self._auto_off_task and not self._auto_off_task.done(): - self._auto_off_task.cancel() - self._auto_off_task = asyncio.create_task(self._auto_off_timer()) - else: - self.async_write_ha_state() - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="led_on_failed" - ) - except Exception as e: - self.async_write_ha_state() - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="led_on_error", - translation_placeholders={"error": str(e)} - ) from e - - async def async_turn_off(self, **kwargs: Any) -> None: - """Turn the light off.""" - try: - if self._auto_off_task and not self._auto_off_task.done(): - self._auto_off_task.cancel() - success = await turn_led_off(self.hass, self._mac_address, self._service_uuid, self._protocol) - if success: - self._is_on = False - self.async_write_ha_state() - else: - self.async_write_ha_state() - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="led_off_failed", - ) - except Exception as e: - self.async_write_ha_state() - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="led_off_error", - translation_placeholders= {"error": str(e)} - ) from e - - async def async_update(self) -> None: - """Update the light state.""" - pass - - async def _auto_off_timer(self) -> None: - """Auto-off timer that turns LED off after BLE connection closes.""" - try: - await asyncio.sleep(8) - if self._is_on: - self._is_on = False - self.async_write_ha_state() - _LOGGER.debug("LED auto-turned off for %s after connection closed", self._mac_address) - except asyncio.CancelledError: - _LOGGER.debug("Auto-off timer cancelled for %s", self._mac_address) - except Exception as e: - _LOGGER.error("Error in auto-off timer for %s: %s", self._mac_address, e) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 7558304..d433568 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -3,46 +3,17 @@ "name": "OpenDisplay", "bluetooth": [ { - "manufacturer_id": 4919 - }, - { + "connectable": true, "manufacturer_id": 9286 } ], - "codeowners": [ - "@g4bri3lDev", - "@jonasniesner" - ], + "codeowners": ["@g4bri3lDev"], "config_flow": true, - "dependencies": [ - "bluetooth", - "recorder" - ], - "dhcp": [ - { - "hostname": "openepaperlink-*" - } - ], - "documentation": "https://github.com/OpenDisplay-org/Home_Assistant_Integration", - "integration_type": "hub", + "dependencies": ["bluetooth_adapters", "http"], + "documentation": "https://www.home-assistant.io/integrations/opendisplay", + "integration_type": "device", "iot_class": "local_push", - "issue_tracker": "https://github.com/OpenDisplay-org/Home_Assistant_Integration/issues", - "preview_features": { - "opendisplay_ble_updates": { - "learn_more_url": "https://github.com/OpenDisplay-org/Firmware", - "report_issue_url": "https://github.com/OpenDisplay-org/Home_Assistant_Integration/issues" - } - }, - "requirements": [ - "qrcode[pil]==7.4.2", - "requests_toolbelt==1.0.0", - "websocket-client==1.7.0", - "websockets>=14.2", - "python-resize-image==1.1.20", - "bleak>=1.0.1", - "bleak-retry-connector>=3.4.0", - "numpy>=1.26.4", - "Pillow>=10.4.0" - ], - "version": "2.0.2" + "loggers": ["opendisplay"], + "quality_scale": "silver", + "requirements": ["py-opendisplay==7.2.3"] } diff --git a/custom_components/opendisplay/runtime_data.py b/custom_components/opendisplay/runtime_data.py deleted file mode 100644 index 230b146..0000000 --- a/custom_components/opendisplay/runtime_data.py +++ /dev/null @@ -1,21 +0,0 @@ -from __future__ import annotations - -from dataclasses import dataclass, field -from typing import TYPE_CHECKING, Any - -from homeassistant.config_entries import ConfigEntry - -if TYPE_CHECKING: - from .coordinator import Hub - -@dataclass -class OpenDisplayBLERuntimeData: - """Runtime data for BLE device entries""" - - mac_address: str - name: str - device_metadata: dict - protocol_type: str - sensors: dict[str, Any] = field(default_factory=dict) - -type OpenDisplayConfigEntry = ConfigEntry[Hub | OpenDisplayBLERuntimeData] \ No newline at end of file diff --git a/custom_components/opendisplay/select.py b/custom_components/opendisplay/select.py deleted file mode 100644 index 6d843b2..0000000 --- a/custom_components/opendisplay/select.py +++ /dev/null @@ -1,476 +0,0 @@ -from __future__ import annotations - -PARALLEL_UPDATES = 1 - -from homeassistant.components.select import SelectEntity -from homeassistant.core import HomeAssistant, callback -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.entity import EntityCategory -from homeassistant.helpers.entity_platform import AddEntitiesCallback - -from .const import DOMAIN -from .entity import OpenDisplayAPEntity -from .runtime_data import OpenDisplayConfigEntry - -import logging - -_LOGGER = logging.getLogger(__name__) - - -# Base mapping class for handling value-to-option mapping -class OptionMapping: - """Base mapping class for handling value-to-option mapping. - - Provides bidirectional mapping between internal values used by the AP - and human-readable options shown in the UI. This enables: - - - Converting raw numeric values to readable strings for display - - Converting user-selected strings back to the correct values for the AP - - Generating lists of valid options for dropdown menus - - For example, it can map brightness level 255 to "100%" and vice versa. - - Attributes: - value_to_option: Dictionary mapping internal values to display options - option_to_value: Dictionary mapping display options to internal values - options: List of all available display options for selection - """ - - def __init__(self, mapping: dict[int | str, str]): - """Initialize bidirectional mapping between values and display options. - - Creates three data structures for efficient value-option conversion: - - 1. value_to_option: Maps internal values to display options - 2. option_to_value: Maps display options back to internal values - 3. options: List of all available display options for dropdowns - - Examples: - OptionMapping({0: "off", 255: "100%"}) - - - Maps internal value 0 to display option "off" - - Maps internal value 255 to display option "100%" - - Creates reverse mappings to convert back after user selection - - The mapping is used to: - - - Display human-readable options in the Home Assistant UI - - Convert user selections back to the values expected by the AP API - - Provide consistent options for all instances of a select entity - - Args: - mapping: Dictionary with keys as internal values (int or str) and - values as human-readable display options (str) - """ - self.value_to_option = mapping - self.option_to_value = {v: k for k, v in mapping.items()} - self.options = list(mapping.values()) - - def get_option(self, value: int | str) -> str | None: - """Get the display option for a given value. - - Converts internal values from the AP to human-readable options - for display in the UI. - - Args: - value: Internal value to convert - - Returns: - str: Corresponding display option if found - None: If no mapping exists for the value - """ - return self.value_to_option.get(value) - - def get_value(self, option: str) -> int | str | None: - """Get the internal value for a given display option. - - Converts a user-selected option back to the internal value - needed by the AP. - - Args: - option: Display option selected by the user - - Returns: - int|str: Corresponding internal value if found - None: If no mapping exists for the option - """ - return self.option_to_value.get(option) - - -# Define mappings for different select types -CHANNEL_MAPPING = OptionMapping({ - 0: "auto", - 11: "11", - 15: "15", - 20: "20", - 25: "25", - 26: "26" -}) -"""Maps IEEE 802.15.4 channel numbers to display options. - -Channel 0 is special and means "automatic channel selection", -while others represent specific frequency channels. -""" - -BRIGHTNESS_MAPPING = OptionMapping({ - 0: "off", - 15: "10%", - 31: "25%", - 127: "50%", - 191: "75%", - 255: "100%" -}) -"""Maps LED brightness levels to percentage display options. - -Values range from 0 (off) to 255 (maximum brightness), -with intermediate values for different brightness levels. -""" - -TFT_BRIGHTNESS_MAPPING = OptionMapping({ - 0: "off", - 20: "10%", - 64: "25%", - 128: "50%", - 192: "75%", - 255: "100%" -}) -"""Maps TFT display brightness levels to percentage display options. - -Similar to LED brightness but with different value ranges optimized -for TFT display hardware. Values range from 0 (off) to 255 (maximum). -""" - -MAX_SLEEP_MAPPING = OptionMapping({ - 0: "shortest (40 sec)", - 5: "5 min", - 10: "10 min", - 30: "30 min", - 60: "1 hour" -}) -"""Maps maximum sleep duration settings for tags. - -Determines how long tags will sleep between check-ins, -affecting battery life and update responsiveness. -""" - -LOCK_INVENTORY_MAPPING = OptionMapping({ - 0: "no", - 1: "locked: don't add new tags", - 2: "learning: only add booting tags" -}) -"""Maps tag inventory lock modes for AP discovery behavior. - -Controls how the AP handles new tags that attempt to connect: - -- 0: All new tags are accepted -- 1: No new tags are accepted -- 2: Only booting tags are accepted -""" - -WIFI_POWER_MAPPING = OptionMapping({ - 78: "19.5 dBm", - 76: "19.0 dBm", - 74: "18.5 dBm", - 68: "17.0 dBm", - 60: "15.0 dBm", - 52: "13.0 dBm", - 44: "11.0 dBm", - 34: "8.5 dBm", - 28: "7.0 dBm", - 20: "5.0 dBm", - 8: "2.0 dBm", -}) -"""Maps WiFi transmit power levels in dBm. - -Controls the AP's WiFi transmission power. -""" - -LANGUAGE_MAPPING = OptionMapping({ - 0: "EN English", - 1: "NL Nederlands", - 2: "DE Deutsch", - 4: "FR Français", - 3: "NO Norsk", - 5: "CZ Čeština", - 6: "SK Slovenčina", - 7: "PL Polski", - 8: "ES Español", - 9: "SV Svenska", - 10: "DK Dansk", - 11: "ET Eesti" -}) -"""Maps language codes to human-readable language names. - -Determines the language used in some tag content types that support localization. -""" - -DISCOVERY_MAPPING = OptionMapping({ - 0: "Multicast", - 1: "Broadcast", -}) -"""Maps network discovery methods for AP-to-tag communication. - -Controls how the AP discovers tags on the network: - -- 0: Uses multicast for discovery (more efficient but less compatible) -- 1: Uses broadcast for discovery (more compatible but less efficient) -""" - -SUB_GHZ_MAPPING = OptionMapping({ - 0: "disabled", - 100: "100 - 864.000 Mhz (Europe, etc)", - 101: "101 - 865.006 Mhz (Europe, etc)", - 102: "102 - 866.014 Mhz (Europe, etc)", - 103: "103 - 867.020 Mhz (Europe, etc)", - 104: "104 - 868.027 Mhz (Europe, etc)", - 105: "105 - 869.034 Mhz (Europe, etc)", - 200: "200 - 903.000 Mhz (US, etc)", - 201: "201 - 907.027 Mhz (US, etc)", - 202: "202 - 911.054 Mhz (US, etc)", - 203: "203 - 915.083 Mhz (US, etc)", - 204: "204 - 919.110 Mhz (US, etc)", - 205: "205 - 923.138 Mhz (US, etc)" -}) -"""Maps Sub-GHz radio channel settings. - -Controls the frequency used by the optional Sub-GHz radio -for long-range communication with compatible tags. -Different regions have different legal frequency allocations, -with separate bands for Europe and North America. -""" - -# Mapping of select entities to their configurations -SELECT_ENTITIES = [ - { - "key": "channel", - "name": "IEEE 802.15.4 channel", - "mapping": CHANNEL_MAPPING, - }, - { - "key": "led", - "name": "RGB LED brightness", - "mapping": BRIGHTNESS_MAPPING, - }, - { - "key": "tft", - "name": "TFT brightness", - "mapping": TFT_BRIGHTNESS_MAPPING, - }, - { - "key": "maxsleep", - "name": "Maximum Sleep", - "mapping": MAX_SLEEP_MAPPING, - }, - { - "key": "lock", - "name": "Lock tag inventory", - "mapping": LOCK_INVENTORY_MAPPING, - }, - { - "key": "wifipower", - "name": "Wifi power", - "mapping": WIFI_POWER_MAPPING, - }, - { - "key": "language", - "name": "Language", - "mapping": LANGUAGE_MAPPING, - }, - { - "key": "discovery", - "name": "Discovery Method", - "mapping": DISCOVERY_MAPPING - }, - { - "key": "subghzchannel", - "name": "Sub-GHz channel", - "mapping": SUB_GHZ_MAPPING - } -] -"""Configuration for all select entities to create for the AP. - -This list defines all the select entities that will be created during -integration setup. Each dictionary contains: - -- key: Configuration parameter key in the AP's configuration system. - This matches the key used in HTTP API calls to the AP. -- name: Human-readable name for display in the UI. This will be combined - with "AP" to form the full entity name. -- icon: Material Design Icons identifier for the entity. - Format is "mdi:icon-name" matching the icon library. -- mapping: OptionMapping instance to handle conversion between internal - values and user-friendly display options. - -The order of entities in this list determines their order in the UI. -Each entity corresponds to a specific configuration option on the AP -and allows users to change that setting through Home Assistant. - -Some common settings include: - -- channel: IEEE 802.15.4 wireless channel for tag communication -- led: RGB LED brightness on the AP -- maxsleep: Maximum time tags can sleep between check-ins -- lock: Tag inventory management mode -- language: Content mode language for some tag types -- discovery: Network discovery method for finding tags -- subghzchannel: Sub-GHz radio frequency channel (if equipped) -""" - - -class APConfigSelect(OpenDisplayAPEntity, SelectEntity): - """Base select entity for AP configuration. - - Provides a dropdown selection entity that controls a specific - configuration setting on the OEPL Access Point. - - When the user selects an option, the corresponding value is sent - to the AP via HTTP and the local state is updated. The entity - also responds to configuration changes from other sources. - """ - - _attr_entity_registry_enabled_default = True - - def __init__(self, hub, key: str, name: str, mapping: OptionMapping) -> None: - """Initialize the select entity. - - Sets up the select entity with appropriate name, icon, and options. - - Args: - hub: Hub instance for AP communication - key: Configuration key on the AP - name: Human-readable name for the UI - mapping: OptionMapping for value/option conversion - """ - super().__init__(hub) - self._key = key - self._attr_translation_key = key - self._attr_unique_id = f"{hub.entry.entry_id}_{key}" - self._attr_entity_category = EntityCategory.CONFIG - self._mapping = mapping - self._attr_options = mapping.options - self._available = False - - @property - def available(self) -> bool: - """Return if entity is available. - - A select entity is available if: - - - The AP is online - - The configuration key exists in the AP's config - - Returns: - bool: True if the entity is available, False otherwise - """ - """Return if entity is available.""" - return self._hub.online and self._key in self._hub.ap_config - - @property - def current_option(self) -> str | None: - """Return the current selected option. - - Converts the current value from the AP configuration to - the corresponding display option using the mapping. - - Returns: - str: Currently selected option - None: If entity is unavailable or value has no mapping - """ - if not self.available: - return None - value = self._hub.ap_config.get(self._key) - return self._mapping.get_option(value) - - async def async_select_option(self, option: str) -> None: - """Change the selected option. - - Converts the selected option to its internal value and - sends it to the AP via the hub. - - Args: - option: The option selected by the user - """ - value = self._mapping.get_value(option) - if value is not None: - await self._hub.set_ap_config_item(self._key, value) - - async def async_added_to_hass(self): - """Register callbacks.""" - await super().async_added_to_hass() - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_ap_config_update", - self._handle_update, - ) - ) - - -class APTimeHourSelect(APConfigSelect): - """Special handling for time selection. - - Extends the base select entity with specialized handling for - hour-based time selection. Instead of using a predefined mapping, - it dynamically generates a mapping with 24 hours in HH:00 format. - - This is used for sleep time configuration on the AP, which defines - periods when tag updates are disabled. - """ - - def __init__(self, hub, key: str, name: str) -> None: - """Initialize time select entity. - - Creates a specialized select entity for time selection with - 24 options representing hours of the day (00:00 to 23:00). - - Args: - hub: Hub instance for AP communication - key: Configuration key on the AP - name: Human-readable name for the UI - """ - # Create 24-hour time mapping - time_mapping = OptionMapping({ - i: f"{i:02d}:00" for i in range(24) - }) - super().__init__(hub, key, name, time_mapping) - - -async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry, - async_add_entities: AddEntitiesCallback) -> None: - """Set up select entities for AP configuration. - - Creates select entities for all defined AP configuration options - based on the SELECT_ENTITIES definition list. - - Additionally, creates time-specific select entities for sleep time - configuration (start and end hours when updates are disabled). - - Args: - hass: Home Assistant instance - entry: Configuration entry - async_add_entities: Callback to register new entities - """ - hub = entry.runtime_data - - # Wait for initial AP config to be loaded - if not hub.ap_config: - await hub.async_update_ap_config() - - entities: list[SelectEntity] = [] - - # Add standard select entities - for config in SELECT_ENTITIES: - entities.append(APConfigSelect( - hub, - config["key"], - config["name"], - config["mapping"] - )) - - # Add time select entities - entities.extend([ - APTimeHourSelect(hub, "sleeptime1", "No updates between 1 (from)"), - APTimeHourSelect(hub, "sleeptime2", "No updates between 2 (to)"), - ]) - - async_add_entities(entities) diff --git a/custom_components/opendisplay/sensor.py b/custom_components/opendisplay/sensor.py index af87d4e..c1aa02c 100644 --- a/custom_components/opendisplay/sensor.py +++ b/custom_components/opendisplay/sensor.py @@ -1,10 +1,11 @@ -from __future__ import annotations - -PARALLEL_UPDATES = 0 +"""Sensor platform for OpenDisplay devices.""" +from collections.abc import Callable from dataclasses import dataclass -from datetime import datetime, timezone -from typing import Any, Callable, Final + +from opendisplay import voltage_to_percent +from opendisplay.models.advertisement import AdvertisementData +from opendisplay.models.enums import CapacityEstimator, PowerMode from homeassistant.components.sensor import ( SensorDeviceClass, @@ -13,735 +14,91 @@ SensorStateClass, ) from homeassistant.const import ( - SIGNAL_STRENGTH_DECIBELS, PERCENTAGE, + EntityCategory, + UnitOfElectricPotential, UnitOfTemperature, - UnitOfElectricPotential, UnitOfInformation, UnitOfTime, ) -from homeassistant.core import HomeAssistant, callback -from homeassistant.helpers import entity_registry as er -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.entity import EntityCategory -from homeassistant.helpers.entity_platform import AddEntitiesCallback -from homeassistant.helpers.typing import StateType -import logging +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback -from . import Hub -from .entity import OpenDisplayTagEntity, OpenDisplayAPEntity, OpenDisplayBLEEntity -from .runtime_data import OpenDisplayConfigEntry -from .const import DOMAIN -from .util import is_ble_entry -from .tag_types import get_hw_string, get_hw_dimensions +from . import OpenDisplayConfigEntry +from .entity import OpenDisplayEntity -_LOGGER: Final = logging.getLogger(__name__) +PARALLEL_UPDATES = 0 -@dataclass(kw_only=True, frozen=True) +@dataclass(frozen=True, kw_only=True) class OpenDisplaySensorEntityDescription(SensorEntityDescription): - """Class describing OpenDisplay sensor entities. - - Extends the standard Home Assistant sensor description with - additional fields specific to OpenDisplay sensors, particularly - the value extraction function that pulls data from the raw state. - - This class acts as a blueprint for creating sensor entities with - consistent behavior and appearance across the integration. - - Attributes: - key: Unique identifier for the sensor type - name: Human-readable name for the sensor - device_class: Device class for standardized behavior - state_class: State class for statistics and history - native_unit_of_measurement: Unit for the sensor value - suggested_unit_of_measurement: Preferred unit for display - suggested_display_precision: Number of decimal places to display - entity_category: Category for UI organization - entity_registry_enabled_default: Whether enabled by default - value_fn: Function to extract the value from raw state data - attr_fn: Optional function to extract extra attributes - icon: Material Design Icons identifier - """ - key: str - name: str - device_class: SensorDeviceClass | None = None - state_class: SensorStateClass | None = None - native_unit_of_measurement: str | None = None - suggested_unit_of_measurement: UnitOfInformation | None = None - suggested_display_precision: int | None = None - entity_category: EntityCategory | None = None - entity_registry_enabled_default: bool = False - value_fn: Callable[[dict], Any] - attr_fn: Callable[[dict], Any] = None - - -AP_SENSOR_TYPES: tuple[OpenDisplaySensorEntityDescription, ...] = ( - OpenDisplaySensorEntityDescription( - key="ip", - name="IP Address", - value_fn=lambda data: data.get("ip"), - ), - OpenDisplaySensorEntityDescription( - key="wifi_ssid", - name="WiFi SSID", - value_fn=lambda data: data.get("wifi_ssid"), - ), - OpenDisplaySensorEntityDescription( - key="record_count", - name="Tag count", - state_class=SensorStateClass.TOTAL, - value_fn=lambda data: data.get("record_count"), - entity_registry_enabled_default=True, - ), - OpenDisplaySensorEntityDescription( - key="db_size", - name="Database Size", - device_class=SensorDeviceClass.DATA_SIZE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfInformation.BYTES, - suggested_unit_of_measurement=UnitOfInformation.KIBIBYTES, - suggested_display_precision=3, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: int(data.get("db_size", 0)), - ), - OpenDisplaySensorEntityDescription( - key="little_fs_free", - name="LittleFS Free", - device_class=SensorDeviceClass.DATA_SIZE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfInformation.BYTES, - suggested_unit_of_measurement=UnitOfInformation.MEBIBYTES, - suggested_display_precision=3, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: int(data.get("little_fs_free", 0)), - ), - OpenDisplaySensorEntityDescription( - key="ap_state", - name="State", - value_fn=lambda data: data.get("ap_state"), - ), - OpenDisplaySensorEntityDescription( - key="run_state", - name="Run State", - value_fn=lambda data: data.get("run_state"), - ), - OpenDisplaySensorEntityDescription( - key="wifi_rssi", - name="WiFi RSSI", - device_class=SensorDeviceClass.SIGNAL_STRENGTH, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("rssi"), - ), - OpenDisplaySensorEntityDescription( - key="heap", - name="Free Heap", - device_class=SensorDeviceClass.DATA_SIZE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfInformation.BYTES, - suggested_unit_of_measurement=UnitOfInformation.KIBIBYTES, - suggested_display_precision=3, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: int(data.get("heap", 0)), - ), - OpenDisplaySensorEntityDescription( - key="sys_time", - name="System Time", - device_class=SensorDeviceClass.TIMESTAMP, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: datetime.fromtimestamp(data.get("sys_time", 0), tz=timezone.utc), - ), - OpenDisplaySensorEntityDescription( - key="uptime", - name="Uptime", - device_class=SensorDeviceClass.DURATION, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfTime.SECONDS, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("uptime"), - ), - OpenDisplaySensorEntityDescription( - key="low_battery_tag_count", - name="Low Battery Tags", - state_class=SensorStateClass.MEASUREMENT, - value_fn=lambda data: data.get("low_battery_count"), - entity_registry_enabled_default=True, - ), - OpenDisplaySensorEntityDescription( - key="timeout_tag_count", - name="Timed out Tags", - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=None, - value_fn=lambda data: data.get("timeout_count"), - entity_registry_enabled_default=True, - ), - OpenDisplaySensorEntityDescription( - key="ps_ram_free", - name="PSRAM Free", - device_class=SensorDeviceClass.DATA_SIZE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfInformation.BYTES, - suggested_unit_of_measurement=UnitOfInformation.MEBIBYTES, - suggested_display_precision=3, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: int(data.get("ps_ram_free", 0)), - ) -) -"""Definitions for all AP-related sensor entities. - -This tuple defines all the sensor entities created for the Access Point. -Each entry is an OpenDisplaySensorEntityDescription that specifies -how to create and populate a sensor entity from AP data. + """Describes an OpenDisplay sensor entity.""" -Sensor types include: + value_fn: Callable[[AdvertisementData], float | int | None] -- Network information (IP, WiFi SSID, RSSI) -- System metrics (heap, database size, uptime) -- Tag statistics (count, low battery, timeout) -- Operational state (AP state, run state) - -Each sensor uses a value_fn to extract the relevant data from -the hub's AP status dictionary. -""" -TAG_SENSOR_TYPES: tuple[OpenDisplaySensorEntityDescription, ...] = ( - OpenDisplaySensorEntityDescription( - key="temperature", - name="Temperature", - device_class=SensorDeviceClass.TEMPERATURE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfTemperature.CELSIUS, - value_fn=lambda data: data.get("temperature"), - entity_registry_enabled_default=True, - ), - OpenDisplaySensorEntityDescription( - key="battery_voltage", - name="Battery Voltage", - device_class=SensorDeviceClass.VOLTAGE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfElectricPotential.MILLIVOLT, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("battery_mv"), - ), - OpenDisplaySensorEntityDescription( - key="battery_percentage", - name="Battery Percentage", - device_class=SensorDeviceClass.BATTERY, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=PERCENTAGE, - value_fn=lambda data: _calculate_battery_percentage(data.get("battery_mv", 0)), - entity_registry_enabled_default=True, - ), - OpenDisplaySensorEntityDescription( - key="last_seen", - name="Last Seen", - device_class=SensorDeviceClass.TIMESTAMP, - value_fn=lambda data: datetime.fromtimestamp(data.get("last_seen", 0), tz=timezone.utc), - ), - OpenDisplaySensorEntityDescription( - key="next_update", - name="Next Update", - device_class=SensorDeviceClass.TIMESTAMP, - value_fn=lambda data: datetime.fromtimestamp(data.get("next_update", 0), tz=timezone.utc), - ), - OpenDisplaySensorEntityDescription( - key="next_checkin", - name="Next Checkin", - device_class=SensorDeviceClass.TIMESTAMP, - value_fn=lambda data: datetime.fromtimestamp(data.get("next_checkin", 0), tz=timezone.utc), - ), - OpenDisplaySensorEntityDescription( - key="lqi", - name="Link Quality Index", - state_class=SensorStateClass.MEASUREMENT, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("lqi"), - ), - OpenDisplaySensorEntityDescription( - key="rssi", - name="RSSI", - device_class=SensorDeviceClass.SIGNAL_STRENGTH, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("rssi"), - ), - OpenDisplaySensorEntityDescription( - key="pending_updates", - name="Pending Updates", - state_class=SensorStateClass.MEASUREMENT, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("pending"), - ), - OpenDisplaySensorEntityDescription( - key="content_mode", - name="Content Mode", - value_fn=lambda data: data.get("content_mode"), - ), - OpenDisplaySensorEntityDescription( - key="wakeup_reason", - name="Wakeup Reason", - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("wakeup_reason"), - ), - OpenDisplaySensorEntityDescription( - key="capabilities", - name="Capabilities", - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("capabilities"), - attr_fn=lambda data: { - "raw_value": data.get("capabilities", 0), - "binary_value": format(data.get("capabilities", 0), '08b'), - "capabilities": get_capabilities(data.get("capabilities", 0)) - }, - ), - OpenDisplaySensorEntityDescription( - key="update_count", - name="Update Count", - state_class=SensorStateClass.MEASUREMENT, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("update_count"), - ), - OpenDisplaySensorEntityDescription( - key="width", - name="Width", - state_class=SensorStateClass.MEASUREMENT, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("width"), - ), - OpenDisplaySensorEntityDescription( - key="height", - name="Height", - state_class=SensorStateClass.MEASUREMENT, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("height"), - ), - OpenDisplaySensorEntityDescription( - key="runtime", - name="Runtime", - device_class=SensorDeviceClass.DURATION, - state_class=SensorStateClass.TOTAL, - native_unit_of_measurement=UnitOfTime.SECONDS, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("runtime", 0), - ), - OpenDisplaySensorEntityDescription( - key="boot_count", - name="Boot Count", - state_class=SensorStateClass.TOTAL, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("boot_count", 0), - ), - OpenDisplaySensorEntityDescription( - key="checkin_count", - name="Checkin Count", - state_class=SensorStateClass.TOTAL, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("checkin_count", 0), - ), - OpenDisplaySensorEntityDescription( - key="block_requests", - name="Block Requests", - state_class=SensorStateClass.TOTAL, - entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda data: data.get("block_requests", 0), - ), +_TEMPERATURE_DESCRIPTION = OpenDisplaySensorEntityDescription( + key="temperature", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + state_class=SensorStateClass.MEASUREMENT, + entity_category=EntityCategory.DIAGNOSTIC, + entity_registry_enabled_default=False, + value_fn=lambda adv: adv.temperature_c, ) - -BLE_SENSOR_TYPES: tuple[OpenDisplaySensorEntityDescription, ...] = ( - OpenDisplaySensorEntityDescription( - key="temperature", - name="Temperature", - device_class=SensorDeviceClass.TEMPERATURE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfTemperature.CELSIUS, - value_fn=lambda data: data.get("temperature"), - ), - OpenDisplaySensorEntityDescription( - key="battery_percentage", - name="Battery Percentage", - device_class=SensorDeviceClass.BATTERY, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=PERCENTAGE, - value_fn=lambda data: data.get("battery_percentage"), - ), - OpenDisplaySensorEntityDescription( - key="battery_voltage", - name="Battery Voltage", - device_class=SensorDeviceClass.VOLTAGE, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=UnitOfElectricPotential.MILLIVOLT, - entity_category=EntityCategory.DIAGNOSTIC, - entity_registry_enabled_default=False, - value_fn=lambda data: data.get("battery_voltage"), - ), - OpenDisplaySensorEntityDescription( - key="rssi", - name="RSSI", - device_class=SensorDeviceClass.SIGNAL_STRENGTH, - state_class=SensorStateClass.MEASUREMENT, - native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS, - entity_category=EntityCategory.DIAGNOSTIC, - entity_registry_enabled_default=False, - value_fn=lambda data: data.get("rssi"), - ), - OpenDisplaySensorEntityDescription( - key="last_seen", - name="Last Seen", - device_class=SensorDeviceClass.TIMESTAMP, - entity_category=EntityCategory.DIAGNOSTIC, - entity_registry_enabled_default=False, - value_fn=lambda data: data.get("last_seen"), - ), +_BATTERY_POWER_MODES = {PowerMode.BATTERY, PowerMode.SOLAR} + +_BATTERY_VOLTAGE_DESCRIPTION = OpenDisplaySensorEntityDescription( + key="battery_voltage", + translation_key="battery_voltage", + device_class=SensorDeviceClass.VOLTAGE, + native_unit_of_measurement=UnitOfElectricPotential.MILLIVOLT, + state_class=SensorStateClass.MEASUREMENT, + entity_category=EntityCategory.DIAGNOSTIC, + entity_registry_enabled_default=False, + value_fn=lambda adv: adv.battery_mv, ) -"""Definitions for all BLE tag-related sensor entities. - -These sensors are created for BLE devices and track: -- Battery level and voltage from advertising data -- RSSI signal strength from Bluetooth -- Last seen timestamp from advertising updates -""" - -"""Definitions for all tag-related sensor entities. - -This tuple defines all the sensor entities created for each ESL. -Each entry is an OpenDisplaySensorEntityDescription that specifies -how to create and populate a sensor entity from tag data. - -Sensor types include: - -- Telemetry data (temperature, battery, signal strength) -- Status information (last seen, next update, pending) -- Hardware capabilities (runtime, boot count, display size) -- Technical details (wakeup reason, capabilities flags) - -Each sensor uses a value_fn to extract the relevant data from -the hub's tag data dictionary. -""" - - -def _calculate_battery_percentage(voltage: int) -> int: - """Calculate battery percentage from raw voltage. - - Converts a battery voltage reading in millivolts to an estimated - percentage based on the known discharge curve of a typical - lithium battery used in ESL tags. - - The formula approximates: - - 100% at around 3.0V - - 0% at around 2.2V - Args: - voltage: Battery voltage in millivolts - - Returns: - int: Battery percentage (0-100), clamped to valid range - """ - if not voltage: - return 0 - percentage = ((voltage / 1000) - 2.20) * 250 - return max(0, min(100, int(percentage))) - - -def _tag_has_battery(tag_data: dict) -> bool: - """Check if a tag is battery-powered.""" - if not tag_data: - return True # Default to creating sensors when data is missing - - if tag_data.get("is_external"): - return False - - battery_mv = tag_data.get("battery_mv") - return battery_mv is not None and battery_mv > 0 - - -def _remove_battery_sensors( - hass: HomeAssistant, entry_id: str, tag_mac: str +async def async_setup_entry( + hass: HomeAssistant, + entry: OpenDisplayConfigEntry, + async_add_entities: AddConfigEntryEntitiesCallback, ) -> None: - """Remove battery entities for a non-battery tag.""" - entity_registry = er.async_get(hass) - unique_ids = { - f"{tag_mac}_battery_percentage", - f"{tag_mac}_battery_voltage", - } - - for entity in er.async_entries_for_config_entry(entity_registry, entry_id): - if entity.unique_id in unique_ids: - _LOGGER.info("Removing battery sensor for external-power tag: %s", entity.entity_id) - entity_registry.async_remove(entity.entity_id) - - -class OpenDisplayTagSensor(OpenDisplayTagEntity, SensorEntity): - """Sensor class for OpenDisplay tag data.""" - entity_description: OpenDisplaySensorEntityDescription - - def __init__(self, hub: Hub, tag_mac: str, description: OpenDisplaySensorEntityDescription) -> None: - """Initialize the tag sensor.""" - super().__init__(hub, tag_mac) - self.entity_description = description - self._attr_translation_key = description.key - self._attr_unique_id = f"{tag_mac}_{description.key}" - self.entity_id = f"{DOMAIN}.{tag_mac.lower()}_{description.key}" - self._attr_entity_registry_enabled_default = description.entity_registry_enabled_default - - @property - def native_value(self): - """Return the state of the sensor.""" - if not self.available or self.entity_description.value_fn is None: - return None - return self.entity_description.value_fn(self._hub.get_tag_data(self._tag_mac)) + """Set up OpenDisplay sensor entities.""" + coordinator = entry.runtime_data.coordinator + power_config = entry.runtime_data.device_config.power + descriptions: list[OpenDisplaySensorEntityDescription] = [_TEMPERATURE_DESCRIPTION] + + if power_config.power_mode_enum in _BATTERY_POWER_MODES: + capacity_estimator = power_config.capacity_estimator or CapacityEstimator.LI_ION + descriptions += [ + _BATTERY_VOLTAGE_DESCRIPTION, + OpenDisplaySensorEntityDescription( + key="battery", + device_class=SensorDeviceClass.BATTERY, + native_unit_of_measurement=PERCENTAGE, + state_class=SensorStateClass.MEASUREMENT, + entity_category=EntityCategory.DIAGNOSTIC, + value_fn=lambda adv: voltage_to_percent( + adv.battery_mv, capacity_estimator + ), + ), + ] + + async_add_entities( + OpenDisplaySensorEntity(coordinator, description) + for description in descriptions + ) - @property - def extra_state_attributes(self): - """Return the state attributes.""" - if self.entity_description.attr_fn is None: - return None - return self.entity_description.attr_fn(self._hub.get_tag_data(self._tag_mac)) -class OpenDisplayAPSensor(OpenDisplayAPEntity, SensorEntity): - """Sensor class for OEPL AP data.""" +class OpenDisplaySensorEntity(OpenDisplayEntity, SensorEntity): + """A sensor entity for an OpenDisplay device.""" entity_description: OpenDisplaySensorEntityDescription - def __init__(self, hub, description: OpenDisplaySensorEntityDescription) -> None: - """Initialize the AP sensor.""" - super().__init__(hub) - self.entity_description = description - self._attr_translation_key = description.key - self._attr_unique_id = f"{self._hub.entry.entry_id}_{description.key}" - - async def async_added_to_hass(self) -> None: - """Register update signal handlers.""" - await super().async_added_to_hass() - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_ap_update", - self._handle_update, - ) - ) - @property - def native_value(self): - """Return the state of the sensor.""" - if not self.available or self.entity_description.value_fn is None: + def native_value(self) -> float | int | None: + """Return the sensor value.""" + if self.coordinator.data is None: return None - return self.entity_description.value_fn(self._hub.ap_status) - - - -class OpenDisplayBLESensor(OpenDisplayBLEEntity, SensorEntity): - """BLE sensor entity for OpenDisplay tags.""" - - _attr_entity_registry_enabled_default = True - - def __init__( - self, - hass: HomeAssistant, - mac_address: str, - name: str, - device_metadata: dict, - entry: OpenDisplayConfigEntry, - description: OpenDisplaySensorEntityDescription, - ) -> None: - """Initialize the BLE sensor entity.""" - super().__init__(mac_address, name, entry) - self._hass = hass - self._device_metadata = device_metadata - self._description = description - self._sensor_data = {} - self._attr_entity_registry_enabled_default = description.entity_registry_enabled_default - self._attr_translation_key = description.key - - @property - def unique_id(self) -> str: - """Return unique ID for this entity.""" - return f"opendisplay_ble_{self._mac_address}_{self._description.key}" - - @property - def native_value(self) -> StateType: - """Return the state of the sensor.""" - if self._description.value_fn: - return self._description.value_fn(self._sensor_data) - return self._sensor_data.get(self._description.key) - - @property - def native_unit_of_measurement(self) -> str | None: - """Return the unit of measurement.""" - return self._description.native_unit_of_measurement - - @property - def device_class(self) -> SensorDeviceClass | None: - """Return the device class.""" - return self._description.device_class - - @property - def state_class(self) -> SensorStateClass | None: - """Return the state class.""" - return self._description.state_class - - @property - def entity_category(self) -> EntityCategory | None: - """Return the entity category.""" - return self._description.entity_category - - - def update_from_advertising_data(self, data: dict) -> None: - """Update sensor state from BLE advertising data.""" - self._sensor_data = data - if self.hass is not None: - self.async_write_ha_state() - - async def async_added_to_hass(self) -> None: - """Called when entity is added to hass.""" - if self._sensor_data: - self.async_write_ha_state() - - async def async_update(self) -> None: - """Update the sensor state.""" - pass - - -async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry, async_add_entities: AddEntitiesCallback) -> None: - """Set up the OpenDisplay sensors. - - Creates sensor entities for both AP-based and BLE-based entries: - - 1. For AP entries: AP sensors and tag sensors based on existing types - 2. For BLE entries: BLE sensor entities for battery, RSSI, last seen - - Args: - hass: Home Assistant instance - entry: Configuration entry - async_add_entities: Callback to register new entities - """ - entry_data = entry.runtime_data - - # Check if this is a BLE device entry - if is_ble_entry(entry_data): - # Set up BLE sensors with a simple callback approach - mac_address = entry_data.mac_address - name = entry_data.name - device_metadata = entry_data.device_metadata - protocol_type = entry_data.protocol_type # Default to ATC for backward compatibility - - # Create sensors for each description - from .ble import BLEDeviceMetadata - metadata = BLEDeviceMetadata(device_metadata) - sensors = [] - for description in BLE_SENSOR_TYPES: - # Handle battery sensors based on device protocol - if description.key in ("battery_percentage", "battery_voltage"): - if protocol_type == "atc": - # ATC devices always have batteries - pass # Continue to create sensor - elif protocol_type == "open_display": - # OpenDisplay devices: only create battery sensors for battery/solar power - if metadata.power_mode not in (1, 3): # Not battery (1) or solar (3) - continue # Skip battery sensors - - sensor = OpenDisplayBLESensor( - hass=hass, - mac_address=mac_address, - name=name, - device_metadata=device_metadata, - entry=entry, - description=description, - ) - sensors.append(sensor) - - # Register the sensor in the sensors registry so callback can update it - entry_data.sensors[description.key] = sensor - - # Add the sensors - async_add_entities(sensors) - return - - # Traditional AP setup - hub = entry_data # For AP entries, entry_data is the Hub instance - - # Set up AP sensors - ap_sensors = [OpenDisplayAPSensor(hub, description) for description in AP_SENSOR_TYPES] - async_add_entities(ap_sensors) - - @callback - def async_add_tag_sensor(tag_mac: str) -> None: - """Add sensors for a new tag. - - Creates sensor entities for a newly discovered tag based on the - TAG_SENSOR_TYPES definitions. Called when a new tag is discovered - by the integration. - - Args: - tag_mac: MAC address of the newly discovered tag - """ - entities = [] - - tag_data = hub.get_tag_data(tag_mac) - has_battery = _tag_has_battery(tag_data) - - for description in TAG_SENSOR_TYPES: - if description.key in ("battery_percentage", "battery_voltage") and not has_battery: - continue - sensor = OpenDisplayTagSensor(hub, tag_mac, description) - entities.append(sensor) - - if not has_battery: - _remove_battery_sensors(hass, entry.entry_id, tag_mac) - - async_add_entities(entities) - - # Set up sensors for existing tags - for tag_mac in hub.tags: - async_add_tag_sensor(tag_mac) - - # Register callback for new tag discovery - entry.async_on_unload( - async_dispatcher_connect( - hass, - f"{DOMAIN}_tag_discovered", - async_add_tag_sensor - ) - ) - - -def get_capabilities(capabilities_value: int) -> list[str]: - """Convert a capabilities number into a list of capabilities. - - Translates the binary capabilities flags from the tag into a - human-readable list of capability names. Each bit in the value - represents a different capability. - - Capabilities include: - - - SUPPORTS_COMPRESSION: Tag supports compressed image data - - SUPPORTS_CUSTOM_LUTS: Tag supports custom display LUTs - - HAS_EXT_POWER: Tag has external power connection - - HAS_WAKE_BUTTON: Tag has physical wake button - - HAS_NFC: Tag has NFC capability - - NFC_WAKE: Tag can wake from NFC scan - - Args: - capabilities_value: Integer with capability flags - - Returns: - list[str]: List of capability string names - """ - capability_map = { - 0x02: "SUPPORTS_COMPRESSION", - 0x04: "SUPPORTS_CUSTOM_LUTS", - 0x08: "ALT_LUT_SIZE", - 0x10: "HAS_EXT_POWER", - 0x20: "HAS_WAKE_BUTTON", - 0x40: "HAS_NFC", - 0x80: "NFC_WAKE" - } - - capabilities = [] - for flag, name in capability_map.items(): - if capabilities_value & flag: - capabilities.append(name) - - return capabilities + return self.entity_description.value_fn(self.coordinator.data.advertisement) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index db5b444..9bbf17d 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -1,439 +1,249 @@ -from __future__ import annotations - -import logging -from functools import wraps -from time import perf_counter -from typing import Final, Any, Callable - -from homeassistant.core import HomeAssistant, ServiceCall -from homeassistant.exceptions import ServiceValidationError, HomeAssistantError -from homeassistant.helpers import device_registry as dr -from homeassistant.helpers.dispatcher import async_dispatcher_send -from .coordinator import Hub -from .ble import BLEConnectionError, BLETimeoutError, BLEProtocolError, BLEDeviceMetadata -from .const import DOMAIN, SIGNAL_TAG_IMAGE_UPDATE -from .imagegen import ImageGen -from .tag_types import get_tag_types_manager -from .upload import ( - create_upload_queues, - DITHER_DEFAULT, - image_to_jpeg_bytes, - upload_to_ble_direct, - upload_to_ble_block, - upload_to_hub, +"""Service registration for the OpenDisplay integration.""" + +import asyncio +from collections.abc import Callable +import contextlib +from datetime import timedelta +from enum import IntEnum +import io +from typing import TYPE_CHECKING, Any + +import aiohttp +from opendisplay import ( + AuthenticationFailedError, + AuthenticationRequiredError, + DitherMode, + FitMode, + OpenDisplayDevice, + OpenDisplayError, + RefreshMode, + Rotation, ) -from .util import is_ble_entry, get_hub_from_hass, rgb_to_rgb332, int_to_hex_string, \ - is_ble_device, get_mac_from_entity_id - -_LOGGER: Final = logging.getLogger(__name__) - - - -async def async_setup_services(hass: HomeAssistant) -> None: - """ - Set up the OpenDisplay services. - Args: - hass: Home Assistant instance - """ - - # Create upload queues - ble_upload_queue, hub_upload_queue = create_upload_queues() - - async def get_device_ids_from_label_id(label_id: str) -> list[str]: - """Get device_ids for OpenDisplay devices with a specific label.""" - device_registry = dr.async_get(hass) - devices = dr.async_entries_for_label(device_registry, label_id) - - open_display_device_ids = [] - for device in devices: - for identifier in device.identifiers: - if identifier[0] == DOMAIN: - open_display_device_ids.append(device.id) - break - - return open_display_device_ids - - async def get_device_ids_from_area_id(area_id: str) -> list[str]: - """Get device_ids for all OpenDisplay devices in an area.""" - device_registry = dr.async_get(hass) - devices = dr.async_entries_for_area(device_registry, area_id) - open_display_device_ids = [] - for device in devices: - for identifier in device.identifiers: - if identifier[0] == DOMAIN: - open_display_device_ids.append(device.id) - break - return open_display_device_ids - - async def get_entity_id_from_device_id(device_id: str) -> str: - """Get the primary entity ID for an OpenDisplay device.""" - device_registry = dr.async_get(hass) - device = device_registry.async_get(device_id) - if not device: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="device_not_found", - translation_placeholders={"device_id": device_id}, - ) - if not device.identifiers: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="device_no_identifiers", - translation_placeholders={"device_id": device_id}, - ) +from PIL import Image as PILImage, ImageOps +import voluptuous as vol + +from homeassistant.components.bluetooth import async_ble_device_from_address +from homeassistant.components.http.auth import async_sign_path +from homeassistant.components.media_source import async_resolve_media +from homeassistant.config_entries import ConfigEntryState +from homeassistant.const import ATTR_DEVICE_ID +from homeassistant.core import HomeAssistant, ServiceCall, callback +from homeassistant.exceptions import HomeAssistantError, ServiceValidationError +from homeassistant.helpers import config_validation as cv, device_registry as dr +from homeassistant.helpers.aiohttp_client import async_get_clientsession +from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH +from homeassistant.helpers.network import get_url +from homeassistant.helpers.selector import MediaSelector, MediaSelectorConfig + +if TYPE_CHECKING: + from . import OpenDisplayConfigEntry + +from .const import CONF_ENCRYPTION_KEY, DOMAIN + +ATTR_IMAGE = "image" +ATTR_ROTATION = "rotation" +ATTR_DITHER_MODE = "dither_mode" +ATTR_REFRESH_MODE = "refresh_mode" +ATTR_FIT_MODE = "fit_mode" +ATTR_TONE_COMPRESSION = "tone_compression" + + +def _str_to_int_enum(enum_class: type[IntEnum]) -> Callable[[str], Any]: + """Convert a lowercase enum name string to an enum member.""" + members = {m.name.lower(): m for m in enum_class} + + def validate(value: str) -> IntEnum: + if (result := members.get(value)) is None: + raise vol.Invalid(f"Invalid value: {value}") + return result + + return validate + + +SCHEMA_UPLOAD_IMAGE = vol.Schema( + { + vol.Required(ATTR_DEVICE_ID): cv.string, + vol.Required(ATTR_IMAGE): MediaSelector( + MediaSelectorConfig(accept=["image/*"]) + ), + vol.Optional(ATTR_ROTATION, default=Rotation.ROTATE_0): vol.All( + vol.Coerce(int), vol.Coerce(Rotation) + ), + vol.Optional(ATTR_DITHER_MODE, default="burkes"): _str_to_int_enum(DitherMode), + vol.Optional(ATTR_REFRESH_MODE, default="full"): _str_to_int_enum(RefreshMode), + vol.Optional(ATTR_FIT_MODE, default="contain"): _str_to_int_enum(FitMode), + vol.Optional(ATTR_TONE_COMPRESSION): vol.All( + vol.Coerce(float), vol.Range(min=0.0, max=100.0) + ), + } +) + - domain_mac = next( - (identifier for identifier in device.identifiers if identifier[0] == DOMAIN), - None, +def _get_entry_for_device(call: ServiceCall) -> OpenDisplayConfigEntry: + """Return the config entry for the device targeted by a service call.""" + device_id: str = call.data[ATTR_DEVICE_ID] + device_registry = dr.async_get(call.hass) + + if (device := device_registry.async_get(device_id)) is None: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="invalid_device_id", + translation_placeholders={"device_id": device_id}, ) - if domain_mac is None: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="device_not_opendisplay", - translation_placeholders={"device_id": device_id}, - ) - identifier = domain_mac[1] - if identifier.startswith("ble_"): - mac_address = identifier[4:] - else: - mac_address = identifier - - return f"{DOMAIN}.{mac_address.lower()}" - - - def _build_led_pattern(service_data: dict[str, Any]) -> str: - """Build LED pattern hex string from service data.""" - mode = service_data.get("mode", "") - modebyte = "1" if mode == "flash" else "0" - brightness = service_data.get("brightness", 2) - modebyte = hex(((brightness - 1) << 4) + int(modebyte))[2:] - - def _color_segment(color_num: int) -> str: - default_delay = 0.0 if color_num == 3 else 0.1 - color = service_data.get(f"color{color_num}") - flash_speed = service_data.get(f"flashSpeed{color_num}", 0.2) - flash_count = service_data.get(f"flashCount{color_num}", 2) - delay = service_data.get(f"delay{color_num}", default_delay) - - if not isinstance(color, (list, tuple)) or len(color) != 3: - color = (0, 0, 0) - flash_speed = 0 - flash_count = 0 - - return ( - rgb_to_rgb332(color) - + hex(int(flash_speed * 10))[2:] - + hex(flash_count)[2:] - + int_to_hex_string(int(delay * 10)) - ) + mac_address = next( + (conn[1] for conn in device.connections if conn[0] == CONNECTION_BLUETOOTH), + None, + ) + if mac_address is None: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="invalid_device_id", + translation_placeholders={"device_id": device_id}, + ) - return ( - modebyte + - _color_segment(1) + - _color_segment(2) + - _color_segment(3) + - int_to_hex_string(service_data.get("repeats", 2) - 1) + - "00" + entry = call.hass.config_entries.async_entry_for_domain_unique_id( + DOMAIN, mac_address + ) + if entry is None or entry.state is not ConfigEntryState.LOADED: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="device_not_found", + translation_placeholders={"address": mac_address}, ) + return entry - def require_hub_online(func: Callable) -> Callable: - """Decorator to require the AP to be online before executing a service.""" - @wraps(func) - async def wrapper(service: ServiceCall, *args, **kwargs) -> None: - hub = get_hub_from_hass(hass) - if not hub.online: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_offline", - ) - return await func(service, *args, hub=hub, **kwargs) - return wrapper - - def handle_targets(func: Callable) -> Callable: - """Decorator to handle device_id, label_id, and area_id targeting.""" - @wraps(func) - async def wrapper(service: ServiceCall, *args, **kwargs): - device_ids = service.data.get("device_id", []) - label_ids = service.data.get("label_id", []) - area_ids = service.data.get("area_id", []) - - # Normalize to lists - if isinstance(device_ids, str): - device_ids = [device_ids] - if isinstance(label_ids, str): - label_ids = [label_ids] - if isinstance(area_ids, str): - area_ids = [area_ids] - - # Expand labels - for label_id in label_ids: - expanded = await get_device_ids_from_label_id(label_id) - device_ids.extend(expanded) - - # Expand areas - for area_id in area_ids: - expanded = await get_device_ids_from_area_id(area_id) - device_ids.extend(expanded) - - # Remove duplicates while preserving order - seen = set() - unique_device_ids = [] - for device_id in device_ids: - if device_id not in seen: - seen.add(device_id) - unique_device_ids.append(device_id) - - if not unique_device_ids: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="no_targets_specified", - ) - - # Process each device - errors: list[tuple[str, str]] = [] - for device_id in unique_device_ids: - try: - entity_id = await get_entity_id_from_device_id(device_id) - await func(service, entity_id, *args, **kwargs) - except ServiceValidationError as err: - errors.append((device_id, str(err))) - - # Wait for all queued uploads to complete - # This is async/await so it doesn't block the HA event loop - try: - ble_errors = await ble_upload_queue.wait_for_current_batch() - hub_errors = await hub_upload_queue.wait_for_current_batch() - for ble_error in ble_errors: - errors.append((device_id, str(ble_error))) - for hub_error in hub_errors: - errors.append((device_id, str(hub_error))) - except (ServiceValidationError, HomeAssistantError) as err: - errors.append((device_id, str(err))) - - # If ANY errors occurred across all targets, raise them - if errors: - errors_str = "\n".join(f"{entity}: {message}" for entity, message in errors) - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="multiple_errors", - translation_placeholders={"errors": errors_str}, - ) - return wrapper - - @handle_targets - async def drawcustom_service(service: ServiceCall, entity_id: str) -> None: - """Handle drawcustom service calls. - - Processes requests to generate and upload custom images to tags. - The service supports: - - - Multiple target devices - - Custom content with text, shapes, and images - - Background color and rotation - - Dithering options - - "Dry run" mode for testing - - Args: - service: Service call object with parameters and target devices - - Raises: - HomeAssistantError: If AP is offline or image generation fails - """ - device_errors = [] - try: - is_ble = is_ble_device(hass, entity_id) - - # For hub devices, ensure hub is online - hub = None - if not is_ble: - hub = get_hub_from_hass(hass) - if not hub.online: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_offline", - ) - - # Generate image - generator = ImageGen(hass) - width, height, accent_color = await generator.get_tag_dimensions( - entity_id, is_ble=is_ble - ) - render_start = perf_counter() - image = await generator.generate_custom_image( - entity_id=entity_id, - service_data=service.data, - error_collector=device_errors, - width=width, - height=height, - accent_color=accent_color, - ) - render_duration = perf_counter() - render_start - - if device_errors: - errors_str = "\n".join(device_errors) - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="invalid_payload", - translation_placeholders={"errors": errors_str}, - ) - - # Handle dry-run mode - if service.data.get("dry-run", False): - tag_mac = get_mac_from_entity_id(entity_id) - preview_start = perf_counter() - jpeg_bytes = await hass.async_add_executor_job( - image_to_jpeg_bytes, image, "maximum" - ) - preview_duration = perf_counter() - preview_start - async_dispatcher_send( - hass, - f"{SIGNAL_TAG_IMAGE_UPDATE}_{tag_mac}", - jpeg_bytes - ) - _LOGGER.info( - "drawcustom dry run completed for %s: render=%.3fs preview_encode=%.3fs", - entity_id, - render_duration, - preview_duration, - ) - return - - # Upload image - dither = int(service.data.get("dither", DITHER_DEFAULT)) - - refresh_type = int(service.data.get("refresh_type", 0)) - - if is_ble: - from .util import is_bluetooth_available - if not is_bluetooth_available(hass): - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="ble_upload_bt_disabled", - translation_placeholders={"entity_id": entity_id}, - ) - - # Determine upload method - mac = get_mac_from_entity_id(entity_id) - - # Find device metadata - device_metadata = {} - for entry in hass.config_entries.async_entries(DOMAIN): - runtime_data = getattr(entry, 'runtime_data', None) - if runtime_data is not None and is_ble_entry(runtime_data): - if runtime_data.mac_address.upper() == mac: - device_metadata = runtime_data.device_metadata - break - - metadata = BLEDeviceMetadata(device_metadata) - upload_method = metadata.get_best_upload_method() - - if upload_method == "block": - await ble_upload_queue.add_to_queue(upload_to_ble_block, hass, entity_id, image, dither, render_duration) - else: - await ble_upload_queue.add_to_queue( - upload_to_ble_direct, - hass, - entity_id, - image, - metadata.supports_zip_compression, - dither, - refresh_type, - render_duration, - ) - else: - # Map refresh_type to AP's lut parameter - # 0→1 (full), 1→3 (fast), 2→2 (fast no-reds), 3→0 (no-repeats) - ap_lut_mapping = {0: 1, 1: 3, 2: 2, 3: 0} - ap_lut = ap_lut_mapping.get(refresh_type, 1) # Default to 1 (full) if invalid - await hub_upload_queue.add_to_queue( - upload_to_hub, hub, entity_id, image, dither, - service.data.get("ttl", 60), - service.data.get("preload_type", 0), - service.data.get("preload_lut", 0), - ap_lut, - render_duration, - ) - - except ServiceValidationError: - raise # User input errors - propagate unchanged - except (HomeAssistantError, BLEConnectionError, BLETimeoutError, BLEProtocolError): - raise # Operational errors - propagate unchanged - except Exception as err: - # Unexpected errors - wrap as operational error - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="error_processing_device", - translation_placeholders={"entity_id": entity_id, "error": str(err)} - ) from err +def _load_image(path: str) -> PILImage.Image: + """Load an image from disk and apply EXIF orientation.""" + image = PILImage.open(path) + image.load() + return ImageOps.exif_transpose(image) +def _load_image_from_bytes(data: bytes) -> PILImage.Image: + """Load an image from bytes and apply EXIF orientation.""" + image = PILImage.open(io.BytesIO(data)) + image.load() + return ImageOps.exif_transpose(image) - @require_hub_online - @handle_targets - async def setled_service(service: ServiceCall, entity_id: str, hub: Hub) -> None: - pattern = _build_led_pattern(service.data) - - await hub.set_led_pattern(entity_id, pattern) - - @require_hub_online - @handle_targets - async def clear_pending_service(service: ServiceCall, entity_id: str, hub: Hub) -> None: - """Clear pending updates for target devices.""" - await hub.send_tag_cmd(entity_id, "clear") - - @require_hub_online - @handle_targets - async def force_refresh_service(service: ServiceCall, entity_id: str, hub: Hub) -> None: - """Force refresh target devices.""" - await hub.send_tag_cmd(entity_id, "refresh") - - @require_hub_online - @handle_targets - async def reboot_tag_service(service: ServiceCall,entity_id: str, hub: Hub) -> None: - """Reboot target devices.""" - await hub.send_tag_cmd(entity_id, "reboot") - - @require_hub_online - @handle_targets - async def scan_channels_service(service: ServiceCall, entity_id: str, hub: Hub) -> None: - """Trigger channel scan on target devices.""" - await hub.send_tag_cmd(entity_id, "scan") - - @require_hub_online - async def reboot_ap_service(service: ServiceCall, hub: Hub) -> None: - """Reboot the Access Point.""" - await hub.reboot_ap() - - async def refresh_tag_types_service(service: ServiceCall) -> None: - """Force refresh tag types from GitHub.""" - manager = await get_tag_types_manager(hass) - manager._last_update = None # Force refresh by invalidating cache - - # Let exceptions propagate - ensure_types_loaded will raise HomeAssistantError if it fails - await manager.ensure_types_loaded() - - tag_types_len = len(manager.get_all_types()) - message = f"Successfully refreshed {tag_types_len} tag type definitions from GitHub" - - await hass.services.async_call( - "persistent_notification", - "create", - { - "title": "Tag Types Refresh", - "message": message, - "notification_id": "opendisplay_tag_types_refresh", - }, + +async def _async_download_image(hass: HomeAssistant, url: str) -> PILImage.Image: + """Download an image from a URL and return a PIL Image.""" + if not url.startswith(("http://", "https://")): + url = get_url(hass) + async_sign_path( + hass, url, timedelta(minutes=5), use_content_user=True + ) + session = async_get_clientsession(hass) + try: + async with session.get(url) as resp: + resp.raise_for_status() + data = await resp.read() + except aiohttp.ClientError as err: + raise HomeAssistantError( + translation_domain=DOMAIN, + translation_key="media_download_error", + translation_placeholders={"error": str(err)}, + ) from err + + return await hass.async_add_executor_job(_load_image_from_bytes, data) + + +async def _async_upload_image(call: ServiceCall) -> None: + """Handle the upload_image service call.""" + entry = _get_entry_for_device(call) + address = entry.unique_id + assert address is not None + + image_data: dict[str, Any] = call.data[ATTR_IMAGE] + rotation: Rotation = call.data[ATTR_ROTATION] + dither_mode: DitherMode = call.data[ATTR_DITHER_MODE] + refresh_mode: RefreshMode = call.data[ATTR_REFRESH_MODE] + fit_mode: FitMode = call.data[ATTR_FIT_MODE] + tone_compression_pct: float | None = call.data.get(ATTR_TONE_COMPRESSION) + tone_compression: float | str = ( + tone_compression_pct / 100.0 if tone_compression_pct is not None else "auto" + ) + + ble_device = async_ble_device_from_address(call.hass, address, connectable=True) + if ble_device is None: + raise HomeAssistantError( + translation_domain=DOMAIN, + translation_key="device_not_found", + translation_placeholders={"address": address}, + ) + + current = asyncio.current_task() + if (prev := entry.runtime_data.upload_task) is not None and not prev.done(): + prev.cancel() + # pylint: disable-next=home-assistant-action-swallowed-exception + with contextlib.suppress(asyncio.CancelledError): + await prev + entry.runtime_data.upload_task = current + + try: + media = await async_resolve_media( + call.hass, image_data["media_content_id"], None ) - # Register all services - hass.services.async_register(DOMAIN, "drawcustom", drawcustom_service) - hass.services.async_register(DOMAIN, "setled", setled_service) - hass.services.async_register(DOMAIN, "clear_pending", clear_pending_service) - hass.services.async_register(DOMAIN, "force_refresh", force_refresh_service) - hass.services.async_register(DOMAIN, "reboot_tag", reboot_tag_service) - hass.services.async_register(DOMAIN, "scan_channels", scan_channels_service) - hass.services.async_register(DOMAIN, "reboot_ap", reboot_ap_service) - hass.services.async_register(DOMAIN, "refresh_tag_types", refresh_tag_types_service) + if media.path is not None: + pil_image = await call.hass.async_add_executor_job( + _load_image, str(media.path) + ) + else: + pil_image = await _async_download_image(call.hass, media.url) + + raw_key = entry.data.get(CONF_ENCRYPTION_KEY) + if raw_key is not None and len(raw_key) != 32: + entry.async_start_reauth(call.hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) + try: + encryption_key = bytes.fromhex(raw_key) if raw_key is not None else None + except ValueError as err: + entry.async_start_reauth(call.hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) from err + + async with OpenDisplayDevice( + mac_address=address, + ble_device=ble_device, + config=entry.runtime_data.device_config, + encryption_key=encryption_key, + ) as device: + await device.upload_image( + pil_image, + refresh_mode=refresh_mode, + dither_mode=dither_mode, + tone=tone_compression, + fit=fit_mode, + rotate=rotation, + ) + except asyncio.CancelledError: + return + except (AuthenticationFailedError, AuthenticationRequiredError) as err: + entry.async_start_reauth(call.hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) from err + except OpenDisplayError as err: + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="upload_error" + ) from err + finally: + if entry.runtime_data.upload_task is current: + entry.runtime_data.upload_task = None + + +@callback +def async_setup_services(hass: HomeAssistant) -> None: + """Register OpenDisplay services.""" + hass.services.async_register( + DOMAIN, + "upload_image", + _async_upload_image, + schema=SCHEMA_UPLOAD_IMAGE, + ) diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index 092397c..856c942 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -1,296 +1,70 @@ -drawcustom: - name: Draw Custom Image - description: Draws a custom image on one or more E-Paper displays - target: +upload_image: fields: - payload: - name: Payload - description: Payload to draw, see documentation for examples + device_id: required: true - example: > - [{"type": "text", "value": "Hello World!", "x": 0, "y": 0, "size": 40}] selector: - object: - background: - name: Background color - description: Background color (black, white, accent, red, yellow) + device: + integration: opendisplay + image: required: true - example: white selector: - select: - options: - - "white" - - "black" - - "accent" - - "red" - - "yellow" - rotate: - name: Rotation - description: Rotation in degrees (0, 90, 180, 270) - required: true - default: 0 - selector: - number: - min: 0 - max: 270 - step: 90 - dither: - name: Dither - description: Dithering option to use - required: true - default: 2 - selector: - select: - options: - - label: "No dithering" - value: "0" - - label: "Burkes (best for photos)" - value: "1" - - label: "Ordered (best for halftone colors)" - value: "2" - ttl: - name: Time to live - description: > - How long the tag will sleep before checking in again (in seconds). - - Notes: - - The TTL applies only once after each image update - - Setting a very long TTL means you cannot update the tag again until that time has passed - required: true - default: 60 - selector: - number: - min: 0 - max: 86400 - unit_of_measurement: seconds - refresh_type: - name: Refresh type - description: > - E-paper display refresh mode. - - - Full: Best quality (~2s), full screen refresh. - - - Fast: Moderate quality (~1s), quick update. - - - Partial: Fastest (~0.3s), may show ghosting. - - - Partial2: Alternative partial mode. - - Note: ATC BLE tags do not support this parameter. - required: false - default: "0" - selector: - select: - options: - - label: "Full (best quality)" - value: "0" - - label: "Fast (moderate quality)" - value: "1" - - label: "Partial (fastest)" - value: "2" - - label: "Partial2 (alternative partial)" - value: "3" - dry-run: - name: Dry run - description: Generate image but don't send to device - required: true - default: false - selector: - boolean: - -setled: - name: Set LED Pattern - description: > - Sets the LED flash pattern; brightness controls flash on-time (0–15, higher = longer on-time); - missing color2/3 are skipped. - See https://github.com/OpenDisplay/OpenDisplay/wiki/Led-control for details. - target: - fields: - mode: - name: Mode - description: LED mode (off or flash) - required: true - default: flash - selector: - select: - options: - - "off" - - "flash" - brightness: - name: Brightness - description: LED flash on-time nibble (0–15). Higher = longer on-time; start low to save battery. - required: false - default: 1 - selector: - number: - min: 1 - max: 16 - step: 1 - mode: slider - repeats: - name: Repeats - description: Number of times to repeat the pattern - required: false - default: 2 - selector: - number: - min: 1 - max: 255 - step: 1 - mode: slider - color1: - name: Color 1 - description: First color in the pattern - required: false - default: [255, 0, 0] - selector: - color_rgb: - flashSpeed1: - name: Flash Speed 1 - description: Flash speed for first color (seconds) - required: false - default: 0.2 - selector: - number: - min: 0 - max: 1.5 - step: 0.1 - unit_of_measurement: "s" - mode: slider - flashCount1: - name: Flash Count 1 - description: Number of flashes for first color - required: false - default: 2 - selector: - number: - min: 0 - max: 15 - step: 1 - mode: slider - delay1: - name: Delay 1 - description: Delay after first color - required: false - default: 0.1 - selector: - number: - min: 0 - max: 25.5 - step: 0.1 - unit_of_measurement: "s" - mode: slider - color2: - name: Color 2 - description: Optional second color; omit to skip this group. - required: false - default: [0, 255, 0] - selector: - color_rgb: - flashSpeed2: - name: Flash Speed 2 - description: Flash speed for second color (seconds) - required: false - default: 0.2 - selector: - number: - min: 0 - max: 1.5 - step: 0.1 - unit_of_measurement: "s" - mode: slider - flashCount2: - name: Flash Count 2 - description: Number of flashes for second color (0 skips this color). - required: false - default: 2 - selector: - number: - min: 0 - max: 15 - step: 1 - mode: slider - delay2: - name: Delay 2 - description: Delay after second color - required: false - default: 0.1 - selector: - number: - min: 0 - max: 25.5 - step: 0.1 - unit_of_measurement: "s" - mode: slider - color3: - name: Color 3 - description: Optional third color; omit to skip this group. - required: false - default: [0, 0, 255] - selector: - color_rgb: - flashSpeed3: - name: Flash Speed 3 - description: Flash speed for third color (seconds) - required: false - default: 0.2 - selector: - number: - min: 0 - max: 1.5 - step: 0.1 - unit_of_measurement: "s" - mode: slider - flashCount3: - name: Flash Count 3 - description: Number of flashes for third color (0 skips this color). - required: false - default: 2 - selector: - number: - min: 0 - max: 15 - step: 1 - mode: slider - delay3: - name: Delay 3 - description: Delay after third color - required: false - default: 0 - selector: - number: - min: 0 - max: 25.5 - step: 0.1 - unit_of_measurement: "s" - mode: slider - -clear_pending: - name: Clear Pending - description: Clears the pending status for one or more ESL tags - target: - -force_refresh: - name: Force Refresh - description: Forces one or more ESL tags to refresh their display - target: - -reboot_tag: - name: Reboot Tag - description: Reboots one or more ESL tags - target: - -scan_channels: - name: Scan Channels - description: Makes one or more ESL tags scan for channels - target: - -reboot_ap: - name: Reboot AP - description: Reboots the AP - target: - -refresh_tag_types: - name: Refresh Tag Types - description: Force refresh of tag type definitions from GitHub - target: + media: + accept: + - image/* + additional_fields: + collapsed: true + fields: + rotation: + required: false + default: 0 + selector: + number: + min: 0 + max: 270 + step: 90 + mode: slider + dither_mode: + required: false + default: "burkes" + selector: + select: + translation_key: dither_mode + options: + - "none" + - "burkes" + - "ordered" + - "floyd_steinberg" + - "atkinson" + - "stucki" + - "sierra" + - "sierra_lite" + - "jarvis_judice_ninke" + refresh_mode: + required: false + default: "full" + selector: + select: + translation_key: refresh_mode + options: + - "full" + - "fast" + fit_mode: + required: false + default: "contain" + selector: + select: + translation_key: fit_mode + options: + - "stretch" + - "contain" + - "cover" + - "crop" + tone_compression: + required: false + selector: + number: + min: 0 + max: 100 + step: 1 + mode: slider + unit_of_measurement: "%" diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 33e987b..0d3e8e9 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -1,378 +1,160 @@ { "config": { + "abort": { + "already_configured": "[%key:common::config_flow::abort::already_configured_device%]", + "already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]", + "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", + "no_devices_found": "[%key:common::config_flow::abort::no_devices_found%]", + "reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]", + "unknown": "[%key:common::config_flow::error::unknown%]" + }, + "error": { + "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", + "invalid_auth": "[%key:common::config_flow::error::invalid_auth%]", + "invalid_key_format": "The encryption key must be exactly 32 hexadecimal characters (0-9, a-f).", + "unknown": "[%key:common::config_flow::error::unknown%]" + }, + "flow_title": "{name}", "step": { "bluetooth_confirm": { - "title": "Set up OpenDisplay Device", - "description": "Set up **{name}**?\n\n**Details:**\n- Device Type: {device_type}\n- Address: {address}\n- Signal: {rssi} dBm{advertised_details}" + "description": "[%key:component::bluetooth::config::step::bluetooth_confirm::description%]" }, - "dhcp_confirm": { - "title": "Set up {hostname} ({ip})", - "description": "An OEPL access point was discovered on the network.\n\n**Device Details:**\n- Hostname: {hostname}\n- IP Address: {ip}\n- MAC Address: {mac}\n\nShould this access point be added to Home Assistant?" - }, - "reconfigure": { - "title": "Update Access Point", - "description": "Update the OEPL access point address.", + "encryption_key": { "data": { - "host": "Host or IP" + "encryption_key": "Encryption key" }, "data_description": { - "host": "Hostname or IP of the OEPL access point." - } + "encryption_key": "Enter the 32-character hexadecimal AES-128 encryption key for this device." + }, + "description": "{name} requires an encryption key to connect.", + "title": "Encryption required" }, - "user": { + "reauth_confirm": { "data": { - "host": "Host or IP" + "encryption_key": "[%key:component::opendisplay::config::step::encryption_key::data::encryption_key%]" }, "data_description": { - "host": "Hostname or IP of the OEPL access point. Do not include http/https." - } - } - }, - "error": { - "interrogation_failed": "Failed to connect to device and retrieve display information. Error: {error}. Retry or check device connectivity.", - "invalid_device_config": "Device returned invalid configuration data. Please reconfigure the device or update its firmware." - }, - "abort": { - "single_instance_allowed": "Only one OEPL hub can be configured. Multiple BLE devices are supported, but only one AP hub is allowed.", - "unsupported_protocol": "Unsupported BLE firmware protocol. Only ATC and OpenDisplay firmware are supported.", - "invalid_advertising_data": "Could not parse device advertising data. Please ensure the device is using compatible firmware.", - "no_reconfigure_ble": "BLE devices do not support reconfiguration. Remove and re-add the device if you need to change its settings.", - "cannot_connect": "Failed to connect to the discovered access point. Please check the device is online and reachable on the network." - } - }, - "options": { - "step": { - "init": { - "title": "Tag Management", - "description": "Select tags to blacklist. Blacklisted tags will be hidden and ignored.", + "encryption_key": "[%key:component::opendisplay::config::step::encryption_key::data_description::encryption_key%]" + }, + "description": "Authentication failed for {name}. Enter the correct encryption key, or leave blank if encryption has been disabled on the device.", + "title": "Re-authentication required" + }, + "user": { "data": { - "blacklisted_tags": "Blacklisted Tags", - "button_debounce": "Button Debounce Time (seconds)", - "nfc_debounce": "NFC Debounce Time (seconds)", - "custom_font_dirs": "Custom Font Directories" + "address": "[%key:common::config_flow::data::device%]" }, "data_description": { - "blacklisted_tags": "Tags to hide; blacklisted tags will not update or trigger services.", - "button_debounce": "Delay before another button press is accepted (seconds).", - "nfc_debounce": "Delay before another NFC tap is accepted (seconds).", - "custom_font_dirs": "Comma-separated directories containing additional fonts for generated images." - } + "address": "Select the Bluetooth device to set up." + }, + "description": "[%key:component::bluetooth::config::step::user::description%]" } - }, - "abort": { - "no_options_ble": "No configurable options are available for BLE devices. BLE devices are managed automatically and do not require additional configuration." } }, "entity": { - "switch": { - "preview": { - "name": "Preview Images on AP" - }, - "ble": { - "name": "Bluetooth LE" - }, - "nightlyreboot": { - "name": "Nightly Reboot" - }, - "showtimestamp": { - "name": "Show Timestamp" - } - }, - "text": { - "alias": { - "name": "Alias" - }, - "repo": { - "name": "Repository" - }, - "tag_alias": { - "name": "Alias" - } - }, - "select": { - "channel": { - "name": "Channel" - }, - "led": { - "name": "RGB LED brightness" - }, - "tft": { - "name": "TFT Brightness" - }, - "maxsleep": { - "name": "Maximum sleep" - }, - "lock": { - "name": "Lock tag inventory" - }, - "wifipower": { - "name": "WiFi Power" - }, - "language": { - "name": "Language" - }, - "discovery": { - "name": "Discovery method" - }, - "subghzchannel": { - "name": "Sub-GHz Channel" - }, - "sleeptime1": { - "name": "No updates between 1 (from)" - }, - "sleeptime2": { - "name": "No updates between 2 (to)" + "event": { + "button": { + "name": "Button {number}", + "state_attributes": { + "event_type": { + "state": { + "button_down": "Button down", + "button_up": "Button up" + } + } + } } }, "sensor": { - "ip": { - "name": "IP Address" - }, - "wifi_ssid": { - "name": "WiFi SSID" - }, - "record_count": { - "name": "Tag Count" - }, - "db_size": { - "name": "Database Size" - }, - "little_fs_free": { - "name": "LittleFS Free" - }, - "ap_state": { - "name": "State" - }, - "run_state": { - "name": "Run State" - }, - "wifi_rssi": { - "name": "WiFi RSSI" - }, - "heap": { - "name": "Free Heap" - }, - "sys_time": { - "name": "System Time" - }, - "uptime": { - "name": "Uptime" - }, - "low_battery_tag_count": { - "name": "Low Battery Tag Count" - }, - "timeout_tag_count": { - "name": "Timed out Tag Count" - }, - "ps_ram_free": { - "name": "PSRAM Free" - }, - "temperature": { - "name": "Temperature" - }, "battery_voltage": { - "name": "Battery Voltage" - }, - "battery_percentage": { - "name": "Battery Percentage" - }, - "last_seen": { - "name": "Last Seen" - }, - "next_update": { - "name": "Next Update" - }, - "next_checkin": { - "name": "Next Checkin" - }, - "lqi": { - "name": "Link Quality Index" - }, - "rssi": { - "name": "RSSI" - }, - "pending_updates": { - "name": "Pending Updates" - }, - "content_mode": { - "name": "Content Mode" - }, - "wakeup_reason": { - "name": "Wakeup Reason" - }, - "capabilities": { - "name": "Capabilities" - }, - "update_count": { - "name": "Update Count" - }, - "width": { - "name": "Width" - }, - "height": { - "name": "Height" - }, - "runtime": { - "name": "Runtime" - }, - "boot_count": { - "name": "Boot Count" - }, - "checkin_count": { - "name": "Checkin Count" - }, - "block_requests": { - "name": "Block Transfer Requests" + "name": "Battery voltage" } + } + }, + "exceptions": { + "authentication_error": { + "message": "Authentication failed. Please update the encryption key." }, - "image": { - "content": { - "name": "Content" - } + "device_not_found": { + "message": "Could not find Bluetooth device with address `{address}`." }, - "light": { - "led": { - "name": "LED" + "invalid_device_id": { + "message": "Device `{device_id}` is not a valid OpenDisplay device." + }, + "media_download_error": { + "message": "Failed to download media: {error}" + }, + "upload_error": { + "message": "Failed to upload image to the display." + } + }, + "selector": { + "dither_mode": { + "options": { + "atkinson": "Atkinson", + "burkes": "Burkes", + "floyd_steinberg": "Floyd-Steinberg", + "jarvis_judice_ninke": "Jarvis, Judice & Ninke", + "none": "None", + "ordered": "Ordered", + "sierra": "Sierra", + "sierra_lite": "Sierra Lite", + "stucki": "Stucki" } }, - "button": { - "clear_pending": { - "name": "Clear Pending Updates" - }, - "force_refresh": { - "name": "Force Refresh Content" - }, - "reboot_tag": { - "name": "Reboot Tag" - }, - "scan_channels": { - "name": "Scan Channels" - }, - "deep_sleep": { - "name": "Deep Sleep" - }, - "reboot_ap": { - "name": "Reboot AP" - }, - "refresh_tag_types": { - "name": "Refresh Tag Types" - }, - "refresh_config": { - "name": "Refresh Configuration" + "fit_mode": { + "options": { + "contain": "Contain", + "cover": "Cover", + "crop": "Crop", + "stretch": "Stretch" } }, - "update": { - "firmware": { - "name": "Firmware" - }, - "opendisplay_ble_firmware": { - "name": "OpenDisplay Firmware" + "refresh_mode": { + "options": { + "fast": "Fast", + "full": "Full" } } }, - "issues": { - "camera_migration_needed": { - "title": "Camera entities migrated", - "description": "OpenDisplay migrated {count} camera entities to image entities. Update your dashboards and automations to use the new image entities. Removed entities: {entities}" - } - }, - "preview_features": { - "opendisplay_ble_updates": { - "name": "OpenDisplay firmware updates", - "description": "Shows a firmware update entity for OpenDisplay BLE tags that compares the installed firmware to the latest OpenDisplay_BLE GitHub release. Install is not available yet." + "services": { + "upload_image": { + "description": "Uploads an image to an OpenDisplay device.", + "fields": { + "device_id": { + "description": "The OpenDisplay device to upload the image to.", + "name": "Device" + }, + "dither_mode": { + "description": "The dithering algorithm to use for converting the image to the display's color palette.", + "name": "Dither mode" + }, + "fit_mode": { + "description": "How the image is fitted to the display dimensions.", + "name": "Fit mode" + }, + "image": { + "description": "The image to upload to the display.", + "name": "Image" + }, + "refresh_mode": { + "description": "The display refresh mode. Full refresh clears ghosting but is slower. Fast refresh is not supported on all displays.", + "name": "Refresh mode" + }, + "rotation": { + "description": "The rotation angle in degrees, applied clockwise.", + "name": "Rotation" + }, + "tone_compression": { + "description": "Dynamic range compression strength. Leave empty for automatic.", + "name": "Tone compression" + } + }, + "name": "Upload image", + "sections": { + "additional_fields": { + "name": "Additional options" + } + } } - }, - "exceptions": { - "ble_device_not_detected": { "message": "BLE device {name} ({mac_address}) not detected in Bluetooth range." }, - "ap_cannot_connect": { "message": "Cannot connect to AP at {host}: {error}" }, - "ap_failed_load_tags": { "message": "Failed to load tags from AP at {host}: {error}" }, - "ap_timeout_action": { "message": "Timeout during {action}." }, - "ap_network_error_action": { "message": "Network error during {action}: {error}" }, - "ap_failed_action_http": { "message": "Failed to {action}: HTTP {status_code} - {response_text}" }, - "device_not_found": { "message": "Device {device_id} not found." }, - "device_no_identifiers": { "message": "No identifiers found for device {device_id}." }, - "device_not_opendisplay": { "message": "Device {device_id} is not an OpenDisplay device." }, - "no_targets_specified": { "message": "No target devices specified. Please provide device_id, label_id, or area_id." }, - "ap_offline": { "message": "OEPL AP is offline. Please check your network connection and AP status." }, - "error_processing_device": { "message": "Unexpected error processing device {entity_id}: {error}" }, - "ble_upload_bt_disabled": { "message": "Cannot upload to BLE device {entity_id}: Bluetooth integration is disabled or no scanners available." }, - "ble_no_metadata": { "message": "No metadata found for BLE device {entity_id}." }, - "ble_upload_failed": { "message": "BLE image upload failed for {entity_id}." }, - "ble_direct_write_failed": { "message": "BLE direct write upload failed for {entity_id}." }, - "ble_direct_write_not_supported": { "message": "Direct write is only supported for OpenDisplay devices, but {entity_id} appears to be an ATC device." }, - "image_upload_status": { "message": "Image upload failed for {entity_id} with status code: {status_code}." }, - "image_upload_timeout": { "message": "Image upload timed out for {entity_id} after {attempts} attempts." }, - "image_upload_network": { "message": "Network error uploading image for {entity_id}: {error}." }, - "image_upload_failed": { "message": "Failed to upload image for {entity_id}: {error}." }, - "unexpected_upload": { "message": "Unexpected upload error for {entity_id}: {error}." }, - "unexpected_ble_upload": { "message": "Unexpected error during BLE upload to {entity_id}: {error}." }, - "unexpected_ble_direct_write": { "message": "Unexpected error during BLE direct write to {entity_id}: {error}." }, - "ap_tag_alias_update_failed": { "message": "Failed to update tag alias for {tag_mac}: AP returned HTTP {status_code} - {response_text}." }, - "ap_tag_alias_timeout": { "message": "Timeout updating tag alias for {tag_mac}. Please check network connectivity to the AP." }, - "ap_tag_alias_network": { "message": "Network error updating tag alias for {tag_mac}: {error}." }, - "ap_tag_alias_unexpected": { "message": "Unexpected error updating tag alias for {tag_mac}: {error}." }, - "ap_offline_core": { "message": "OEPL AP is offline." }, - "invalid_entity_id_format": { "message": "Invalid entity ID format: {entity_id}." }, - "tag_not_registered": { "message": "Tag {tag_mac} is not registered with the AP. If the tag has checked in, try restarting Home Assistant." }, - "tag_blacklisted": { "message": "Tag {tag_mac} is currently blacklisted. Remove it from the blacklist in integration options to use it." }, - "tag_inconsistent": { "message": "Inconsistent state: Tag {tag_mac} is known but has no data. Please report this as a bug." }, - "tag_no_hw_type": { "message": "No hardware type found for tag {tag_mac}. Please wait for the tag to complete its next check-in." }, - "tag_unknown_hw_type": { "message": "Unknown hardware type {hw_type} for tag {tag_mac}. Try refreshing tag types from the integration options." }, - "invalid_canvas_dimensions": { "message": "Invalid canvas dimensions {width}x{height} for {entity_id}. Device metadata may be corrupt or missing. Try reloading the integration or re-adding the device." }, - "ble_tag_info_unexpected": { "message": "Unexpected error getting tag type for {entity_id}: {error}." }, - "ble_tag_info_unexpected_ble": { "message": "Unexpected error getting BLE tag type for {entity_id}: {error}." }, - "qr_generation_failed": { "message": "Failed to generate QR code: {error}." }, - "image_entity_not_found": { "message": "Image entity {entity_id} not found." }, - "image_entity_no_url": { "message": "No image URL found for entity {entity_id}." }, - "image_download_failed": { "message": "Failed to download image: HTTP {status_code}." }, - "image_data_uri_invalid": { "message": "Invalid data URI: {error}." }, - "image_process_failed": { "message": "Failed to process image: {error}." }, - "font_load_failed": { "message": "Could not load any font. This indicates a problem with the integration installation." }, - "plot_duration_invalid": { "message": "duration must be greater than 0 seconds." }, - "plot_no_data": { "message": "No recorded data found for {entity_id}." }, - "plot_no_valid_points": { "message": "No valid data points found." }, - "plot_yaxis_invalid": { "message": "yaxis.tick_every must be greater than 0." }, - "plot_xlegend_invalid": { "message": "xlegend.interval must be greater than 0." }, - "plot_draw_failed": { "message": "Failed to draw plot: {error}." }, - "plot_bar_invalid": { "message": "Invalid bar data for diagram: {error}." }, - "mdi_metadata_failed": { "message": "Failed to load MDI metadata: {error}." }, - "icon_name_invalid": { "message": "Invalid icon name: {icon_name}." }, - "icon_draw_failed": { "message": "Failed to draw icon: {error}." }, - "icon_draw_failed_named": { "message": "Failed to draw icon {icon_name}: {error}." }, - "led_on_failed": { "message": "Failed to turn on LED." }, - "led_on_error": { "message": "Error turning on LED: {error}." }, - "led_off_failed": { "message": "Failed to turn off LED." }, - "led_off_error": { "message": "Error turning off LED: {error}." }, - "tagtypes_load_failed": { "message": "Failed to load tag type definitions. No stored data available. Check network connectivity or GitHub access." }, - "tagtypes_refresh_failed": { "message": "Failed to refresh tag type definitions. Check network connectivity or GitHub access." }, - "no_hub_configured": { "message": "No AP hub configured. Only BLE devices found." }, - "ble_slots_unavailable": { "message": "No available Bluetooth connection slots for {mac_address}. Add more ESPHome Bluetooth proxies near this device or wait for existing connections to free up. Details: {error}." }, - "ble_device_not_found": { "message": "Device {mac_address} not found." }, - "ble_characteristic_not_resolved": { "message": "Could not resolve characteristic for service {service_uuid}." }, - "ble_connection_failed": { "message": "Failed to connect to {mac_address}: {error}." }, - "ble_write_char_missing": { "message": "Write characteristic not available." }, - "ble_timeout": { "message": "No response received from {mac_address} within {timeout}s." }, - "ble_operation_failed": { "message": "BLE operation {operation} failed after {attempts} attempts: {error}." }, - "ble_operation_retry": { "message": "BLE operation {operation} failed on attempt {attempt}: {error}. Retrying in {delay}s..." }, - "ble_protocol_invalid_response_length": { "message": "Invalid display info response length: {length} (expected at least {expected_length})." }, - "ble_protocol_invalid_command_id": { "message": "Invalid command ID in response: {command_id}." }, - "ble_protocol_payload_too_short": { "message": "Display info payload too short." }, - "opendisplay_config_chunk_short": { "message": "Chunk data too short: {length} bytes." }, - "opendisplay_expected_chunk_zero": { "message": "Expected chunk 0, got chunk {chunk_num}." }, - "opendisplay_config_too_short": { "message": "Config data too short: {length} bytes (need at least {minimum})." }, - "opendisplay_fw_response_short": { "message": "Firmware version response too short: {length} bytes." }, - "opendisplay_fw_version_format": { "message": "Firmware version SHA length {sha_length} exceeds payload ({payload_length} bytes)." }, - "tlv_section_too_short": { "message": "{section} requires {expected} bytes, got {actual}." }, - "tlv_data_too_short": { "message": "Config data too short: {length} bytes (minimum 2)." }, - "tlv_crc_mismatch": { "message": "CRC32 mismatch: expected {expected_crc32}, got {actual_crc32}." }, - "tlv_unknown_packet": { "message": "Unknown packet ID: {packet_id} at offset {offset}." }, - "tlv_packet_too_short": { "message": "Packet ID {packet_id} requires {packet_size} bytes, but only {remaining_bytes} bytes remaining at offset {offset}." }, - "tlv_packet_parse_failed": { "message": "Failed to parse packet type {packet_id} at offset {offset}: {error}." }, - "tlv_no_display_config": { "message": "No display configuration found in device config." }, - "tlv_invalid_dimensions": { "message": "Invalid pixel dimensions: {width}x{height}." }, - "config_flow_invalid_config": { "message": "Device returned invalid configuration data." }, - "config_flow_missing_config": { "message": "Device returned no configuration data." }, - "refresh_config_failed": { "message": "Failed to refresh configuration: {error}." }, - "multiple_errors": { "message": "Multiple errors occurred:\n{errors}" } } } diff --git a/custom_components/opendisplay/switch.py b/custom_components/opendisplay/switch.py deleted file mode 100644 index 52abc53..0000000 --- a/custom_components/opendisplay/switch.py +++ /dev/null @@ -1,142 +0,0 @@ -from __future__ import annotations - -PARALLEL_UPDATES = 1 - -from dataclasses import dataclass - -from homeassistant.components.switch import SwitchEntity, SwitchDeviceClass, SwitchEntityDescription -from homeassistant.core import HomeAssistant, callback -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.entity import EntityCategory -from homeassistant.helpers.entity_platform import AddEntitiesCallback - -from .const import DOMAIN -from .entity import OpenDisplayAPEntity -from .runtime_data import OpenDisplayConfigEntry - -import logging - -_LOGGER = logging.getLogger(__name__) - -@dataclass(frozen=True, kw_only=True) -class OpenDisplaySwitchDescription(SwitchEntityDescription): - """Switch description with explicit default enable flag.""" - - description: str - entity_registry_enabled_default: bool = False - - -# Define switch configurations -SWITCH_ENTITIES: tuple[OpenDisplaySwitchDescription, ...] = ( - OpenDisplaySwitchDescription( - key="preview", - translation_key="preview", - name="Preview Images", - description="Enable/disable preview images on the AP", - entity_registry_enabled_default=True, - ), - OpenDisplaySwitchDescription( - key="ble", - translation_key="ble", - name="Bluetooth", - description="Enable/disable Bluetooth", - entity_registry_enabled_default=True, - ), - OpenDisplaySwitchDescription( - key="nightlyreboot", - translation_key="nightlyreboot", - name="Nightly Reboot", - description="Enable/disable automatic nightly reboot of the AP", - entity_registry_enabled_default=True, - ), - OpenDisplaySwitchDescription( - key="showtimestamp", - translation_key="showtimestamp", - name="Show Timestamp", - description="Enable/disable showing timestamps on ESLs", - entity_registry_enabled_default=True, - ), -) -"""Configuration for all switch entities to create for the AP.""" - - -class APConfigSwitch(OpenDisplayAPEntity, SwitchEntity): - """Switch entity for AP configuration.""" - - entity_description: OpenDisplaySwitchDescription - - def __init__(self, hub, description: OpenDisplaySwitchDescription) -> None: - """Initialize the switch entity.""" - super().__init__(hub) - self.entity_description = description - self._key = description.key - self._attr_unique_id = f"{hub.entry.entry_id}_{description.key}" - self._attr_entity_category = EntityCategory.CONFIG - self._attr_translation_key = description.translation_key or description.key - self._description = description.description - self._attr_device_class = SwitchDeviceClass.SWITCH - self._attr_entity_registry_enabled_default = description.entity_registry_enabled_default - - @property - def available(self) -> bool: - """Return if entity is available.""" - return self._hub.online and self._key in self._hub.ap_config - - @property - def is_on(self) -> bool | None: - """Return True if entity is on.""" - if not self.available: - return None - return bool(int(self._hub.ap_config.get(self._key, 0))) - - async def async_turn_on(self, **kwargs) -> None: - """Turn the entity on.""" - await self._hub.set_ap_config_item(self._key, 1) - - async def async_turn_off(self, **kwargs) -> None: - """Turn the entity off.""" - await self._hub.set_ap_config_item(self._key, 0) - - async def async_added_to_hass(self) -> None: - """Register callbacks when entity is added to Home Assistant.""" - await super().async_added_to_hass() - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_ap_config_update", - self._handle_update, - ) - ) - - -async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry, - async_add_entities: AddEntitiesCallback) -> None: - """Set up switch entities for AP configuration. - - Creates switch entities for all defined AP configuration options - based on the SWITCH_ENTITIES definition list. - - For each defined switch: - - 1. Creates an APConfigSwitch instance with appropriate configuration - 2. Ensures the AP configuration is loaded before creating entities - 3. Adds all created entities to Home Assistant - - Args: - hass: Home Assistant instance - entry: Configuration entry - async_add_entities: Callback to register new entities - """ - hub = entry.runtime_data - - # Wait for initial AP config to be loaded - if not hub.ap_config: - await hub.async_update_ap_config() - - entities = [] - - # Create switch entities from configuration - for description in SWITCH_ENTITIES: - entities.append(APConfigSwitch(hub, description)) - - async_add_entities(entities) diff --git a/custom_components/opendisplay/tag_types.py b/custom_components/opendisplay/tag_types.py deleted file mode 100644 index 25f4776..0000000 --- a/custom_components/opendisplay/tag_types.py +++ /dev/null @@ -1,649 +0,0 @@ -from __future__ import annotations - -import os - -import aiohttp -import asyncio -import json -import logging -from datetime import datetime, timedelta -from typing import Any, Dict, Optional, Tuple - -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers import storage -from .const import DOMAIN, FALLBACK_TAG_DEFINITIONS - -_LOGGER = logging.getLogger(__name__) - -GITHUB_API_URL = "https://api.github.com/repos/OpenEPaperLink/OpenEPaperLink/contents/resources/tagtypes" -GITHUB_RAW_URL = "https://raw.githubusercontent.com/OpenEPaperLink/OpenEPaperLink/master/resources/tagtypes" -CACHE_DURATION = timedelta(hours=48) # Cache tag definitions for 48 hours -STORAGE_VERSION = 1 -STORAGE_KEY = "opendisplay_tagtypes" -LEGACY_STORAGE_KEY = "open_display_tagtypes" -LEGACY_TAG_TYPES_FILE = "open_display_tagtypes.json" - - -class TagType: - """Represents a specific tag hardware type and its capabilities. - - Encapsulates all the hardware-specific properties of a tag model, including: - - - Display dimensions and color capabilities - - Buffer format and rotation settings - - LUT (Look-Up Table) configuration - - Content type compatibility - - This information is used for proper image generation and rendering - to ensure content displays correctly on different tag models. - - Attributes: - type_id: Numeric identifier for the tag type - version: Format version of the tag type definition - name: Human-readable name of the tag model - width: Display width in pixels - height: Display height in pixels - rotatebuffer: Buffer rotation setting (0=none, 1=90°, 2=180°, 3=270°) - bpp: Bits per pixel (color depth) - color_table: Mapping of color names to RGB values - short_lut: Short LUT configuration - options: Additional tag options - content_ids: Compatible content IDs - template: Template configuration - use_template: Template usage settings - zlib_compression: Compression settings - """ - - def __init__(self, type_id: int, data: dict): - """Initialize a tag type from type ID and properties. - - Creates a TagType instance by mapping properties from the - provided data dictionary to class attributes, with defaults - for missing properties. - - Args: - type_id: Numeric identifier for this tag type - data: Dictionary containing tag properties from GitHub or storage - """ - self.type_id = type_id - self.version = data.get('version', 1) - self.name = data.get('name', f"Unknown Type {type_id}") - self.width = data.get('width', 296) - self.height = data.get('height', 128) - self.rotatebuffer = data.get('rotatebuffer', 0) - self.bpp = data.get('bpp', 2) - self.color_table = data.get('colortable', { - 'white': [255, 255, 255], - 'black': [0, 0, 0], - 'red': [255, 0, 0], - }) - self.short_lut = data.get('shortlut', 2) - self.options = data.get('options', []) - self.content_ids = data.get('contentids', []) - self.template = data.get('template', {}) - self.use_template = data.get('usetemplate', None) - self.zlib_compression = data.get('zlib_compression', None) - self._raw_data = data - - def to_dict(self) -> dict: - """Convert TagType instance to a serializable dictionary. - - Creates a dictionary representation of the tag type suitable for - storage. This is used when saving to persistent storage. - - Returns: - dict: Dictionary containing all tag type properties - """ - return { - 'version': self.version, - 'name': self.name, - 'width': self.width, - 'height': self.height, - 'rotatebuffer': self.rotatebuffer, - 'bpp': self.bpp, - 'colortable': self.color_table, - 'shortlut': self.short_lut, - 'options': list(self.options), - 'contentids': list(self.content_ids), - 'template': self.template, - 'usetemplate': self.use_template, - 'zlib_compression': self.zlib_compression, - } - - @classmethod - def from_dict(cls, type_id: int, data: dict) -> TagType: - """Create TagType from stored dictionary. - - Factory method to reconstruct a TagType instance from a previously - serialized dictionary when loaded from persistent storage. - - Args: - type_id: Numeric identifier for this tag type - data: Dictionary containing serialized tag type properties - - Returns: - TagType: Reconstructed tag type instance - """ - raw_data = { - 'version': data.get('version', 1), - 'name': data.get('name'), - 'width': data.get('width'), - 'height': data.get('height'), - 'rotatebuffer': data.get('rotatebuffer'), - 'bpp': data.get('bpp'), - 'shortlut': data.get('short_lut', data.get('shortlut')), - 'colortable': data.get('colortable'), - 'options': data.get('options', []), - 'contentids': data.get('contentids', data.get('content_ids', [])), - 'template': data.get('template', {}), - 'usetemplate': data.get('usetemplate'), - 'zlib_compression': data.get('zlib_compression', None), - } - return cls(type_id, raw_data) - - def get(self, attr: str, default: Any = None) -> Any: - """Get attribute value, supporting dict-like access. - - Provides dictionary-style access to tag type attributes, - with a default value if the attribute doesn't exist. - - Args: - attr: Name of the attribute to retrieve - default: Value to return if attribute doesn't exist - - Returns: - Any: The attribute value or default if not found - """ - return getattr(self, attr, default) - - -class TagTypesManager: - """Manages tag type definitions fetched from GitHub. - - Handles loading, caching, and refreshing tag type definitions from - the OpenDisplay GitHub repository. Provides local storage to - avoid frequent network requests and fallback definitions for - when GitHub is unreachable. - - The manager is implemented as a quasi-singleton through the - get_tag_types_manager function to ensure consistent state - across the integration. - """ - - def __init__(self, hass: HomeAssistant) -> None: - """Initialize the tag types manager. - - Sets up the manager with empty state and configuration paths - derived from the Home Assistant instance. - - Args: - hass: Home Assistant instance for storage access - """ - self._hass = hass - self._tag_types: Dict[int, TagType] = {} - self._last_update: Optional[datetime] = None - self._lock = asyncio.Lock() - self._legacy_storage_file = self._hass.config.path(LEGACY_TAG_TYPES_FILE) - self._store = storage.Store( - hass, - version=STORAGE_VERSION, - key=STORAGE_KEY, - ) - self._legacy_store = storage.Store( - hass, - version=STORAGE_VERSION, - key=LEGACY_STORAGE_KEY, - ) - _LOGGER.debug("TagTypesManager instance created") - - async def load_stored_data(self) -> None: - """Load stored tag type definitions from disk. - - Attempts to load previously cached tag type definitions from the - Home Assistant storage helper. If valid data is found, it's used to - populate the manager's state. Otherwise, a fresh fetch from GitHub - is initiated and the legacy file in the config directory is removed. - - This helps reduce network requests and provides offline operation capability. - """ - stored_data: dict[str, Any] | None = None - try: - stored_data = await self._store.async_load() - except Exception as err: # pragma: no cover - defensive - _LOGGER.error("Error loading tag types from storage: %s", err, exc_info=True) - - if stored_data: - if stored_data.get("version") == STORAGE_VERSION: - await self._load_from_payload(stored_data) - return - _LOGGER.warning("Stored tag types version mismatch, refetching fresh definitions") - - if not stored_data: - legacy_data: dict[str, Any] | None = None - try: - legacy_data = await self._legacy_store.async_load() - except Exception as err: # pragma: no cover - defensive - _LOGGER.error("Error loading legacy tag types from storage: %s", err, exc_info=True) - - if legacy_data and legacy_data.get("version") == STORAGE_VERSION: - await self._load_from_payload(legacy_data) - await self._save_to_store() - try: - await storage.async_remove_store(self._hass, LEGACY_STORAGE_KEY) - except Exception as err: # pragma: no cover - defensive - _LOGGER.warning("Failed to remove legacy tag types storage: %s", err) - return - - fetch_success = await self._fetch_tag_types() - if fetch_success: - await self._cleanup_legacy_file() - else: - # If fetch failed and we have no types, load fallback definitions - if not self._tag_types: - _LOGGER.warning( - "Failed to fetch tag types from GitHub and no stored data available. " - "Loading fallback definitions. Tag types will be refreshed on next integration reload." - ) - self._load_fallback_types() - await self._cleanup_legacy_file() - - async def _save_to_store(self) -> None: - """Persist tag types using Home Assistant storage helper.""" - if not self._last_update: - self._last_update = datetime.now() - - data = { - "version": STORAGE_VERSION, - "last_update": self._last_update.isoformat(), - "tag_types": { - str(type_id): tag_type.to_dict() - for type_id, tag_type in self._tag_types.items() - }, - } - - try: - await self._store.async_save(data) - except Exception as err: # pragma: no cover - storage helper handles atomicity - _LOGGER.error("Error saving tag types to storage: %s", err) - - async def _load_from_payload(self, stored_data: dict[str, Any]) -> None: - """Populate tag types from stored payload.""" - try: - last_update = stored_data.get("last_update") - self._last_update = ( - datetime.fromisoformat(last_update) if last_update else datetime.now() - ) - except (TypeError, ValueError): - self._last_update = datetime.now() - - self._tag_types = {} - for type_id_str, type_data in stored_data.get("tag_types", {}).items(): - try: - type_id = int(type_id_str) - self._tag_types[type_id] = TagType.from_dict(type_id, type_data) - _LOGGER.debug( - "Loaded tag type %d: %s", type_id, self._tag_types[type_id].name - ) - except Exception as err: # pragma: no cover - defensive - _LOGGER.error("Error loading tag type %s: %s", type_id_str, err) - - _LOGGER.info("Loaded %d tag types from storage", len(self._tag_types)) - - async def _cleanup_legacy_file(self) -> None: - """Remove legacy tag types file from config directory.""" - - def _remove() -> bool: - if os.path.exists(self._legacy_storage_file): - os.remove(self._legacy_storage_file) - return True - return False - - try: - removed = await self._hass.async_add_executor_job(_remove) - if removed: - _LOGGER.info("Migrated tag types to Home Assistant storage; legacy file removed") - except OSError as err: - _LOGGER.error("Error removing legacy tag types file: %s", err) - - async def ensure_types_loaded(self) -> None: - """Ensure tag types are loaded and not too old. - - Checks if tag types are already loaded and recent enough. - If not loaded or older than CACHE_DURATION, initiates a refresh from GitHub. - - This is the primary method that should be called before accessing - tag type information to ensure data availability. - - If tag types cannot be loaded from GitHub or storage, fallback - definitions will be used to ensure basic functionality. - """ - async with self._lock: - if not self._tag_types: - await self.load_stored_data() - - # After load_stored_data, we should always have types (either from storage, - # GitHub, or fallback). If not, something is seriously wrong. - if not self._tag_types: - _LOGGER.error( - "Critical error: No tag types available after loading. " - "This should not happen as fallback types should be loaded." - ) - # Load fallback as last resort - self._load_fallback_types() - - # If the cache is expired, attempt refresh - if not self._last_update or datetime.now() - self._last_update > CACHE_DURATION: - _LOGGER.debug("Tag types cache expired, attempting refresh") - fetch_success = await self._fetch_tag_types() - - # If refresh failed, log a warning but continue with existing types - if not fetch_success: - _LOGGER.warning( - "Failed to refresh tag types from GitHub. Using cached or fallback definitions." - ) - - async def _fetch_tag_types(self) -> bool: - """Fetch tag type definitions from GitHub. - - Retrieves tag type definitions from the OpenDisplay GitHub repository: - - 1. Queries the GitHub API to list available definition files - 2. Downloads each file and parses as JSON - 3. Validates the definition contains required fields - 4. Creates TagType instances from valid definitions - - If fetching fails and no existing definitions are available, - falls back to built-in basic definitions. - """ - try: - _LOGGER.debug("Fetching tag type definitions from GitHub: %s", GITHUB_API_URL) - async with aiohttp.ClientSession() as session: - # First get the directory listing from GitHub API - headers = {"Accept": "application/vnd.github.v3+json"} - async with session.get(GITHUB_API_URL, headers=headers) as response: - if response.status != 200: - _LOGGER.error( - "GitHub API request failed with status %d for URL: %s", - response.status, - GITHUB_API_URL - ) - raise Exception(f"GitHub API returned status {response.status}") - - directory_contents = await response.json() - - # Filter for .json files and extract type IDs - type_files = [] - for item in directory_contents: - if item["name"].endswith(".json"): - # Try to extract type ID from filename - try: - base_name = item["name"][:-5] # Remove .json extension - try: - type_id = int(base_name, 16) - _LOGGER.debug(f"Parsed hex type ID {base_name} -> {type_id}") - type_files.append((type_id, item["download_url"])) - continue - except ValueError: - pass - - # If not hex, try decimal - try: - type_id = int(base_name) - _LOGGER.debug(f"Parsed decimal type ID {base_name} -> {type_id}") - type_files.append((type_id, item["download_url"])) - continue - except ValueError: - pass - _LOGGER.warning(f"Could not parse type ID from filename: {item['name']}") - - except Exception as e: - _LOGGER.warning(f"Error processing filename {item['name']}: {str(e)}") - - # Now fetch all found definitions - new_types = {} - for hw_type, url in type_files: - try: - async with session.get(url) as response: - if response.status == 200: - text_content = await response.text() - try: - data = json.loads(text_content) - if self._validate_tag_definition(data): - new_types[hw_type] = TagType(hw_type, data) - _LOGGER.debug(f"Loaded tag type {hw_type}: {data['name']}") - except json.JSONDecodeError: - _LOGGER.error(f"Invalid JSON in tag type {hw_type}") - except Exception as e: - _LOGGER.error(f"Error loading tag type {hw_type}: {str(e)}") - - if new_types: - self._tag_types = new_types - self._last_update = datetime.now() - _LOGGER.info( - "Successfully loaded %d tag definitions from GitHub", - len(new_types) - ) - await self._save_to_store() - return True - _LOGGER.warning( - "No valid tag definitions found in GitHub repository at %s", - GITHUB_API_URL - ) - - except Exception as e: - _LOGGER.error( - "Error fetching tag types from %s: %s", - GITHUB_API_URL, - str(e), - exc_info=True - ) - return False - - # Do NOT load fallback types - let caller decide how to handle failure - return False - - def _validate_tag_definition(self, data: Dict) -> bool: - """Validate that a tag definition has required fields. - - Checks if the tag definition dictionary contains all required fields - to be considered valid. A valid definition must include: - - - version: Tag type format version - - name: Human-readable model name - - width: Display width in pixels - - height: Display height in pixels - - Args: - data: Dictionary containing tag type definition - - Returns: - bool: True if the definition is valid, False otherwise - """ - required_fields = {'version', 'name', 'width', 'height'} - return all(field in data for field in required_fields) - - def _load_fallback_types(self) -> None: - """Load basic fallback definitions if fetching fails on first run. - - Populates the manager with a comprehensive set of built-in tag type - definitions to ensure basic functionality when GitHub is unreachable. - - This provides support for all known tag models with proper dimensions, - version information, and basic configuration options. - - The fallback types include all tag definitions from the OpenEPaperLink - repository at: https://github.com/OpenEPaperLink/OpenEPaperLink/tree/master/resources/tagtypes - """ - self._tag_types = { - type_id: TagType(type_id, data) for type_id, data in FALLBACK_TAG_DEFINITIONS.items() - } - self._last_update = datetime.now() - _LOGGER.warning("Loaded fallback tag definitions") - - async def get_tag_info(self, hw_type: int) -> TagType: - """Get tag information for a specific hardware type. - - Retrieves the TagType instance for the specified hardware type, - ensuring type definitions are loaded first if needed. - - This method should be used to get tag information - when processing tag data from the AP. - - Args: - hw_type: Hardware type ID number - - Returns: - TagType: Tag type definition object - - Raises: - KeyError: If the hardware type is unknown - """ - await self.ensure_types_loaded() - tag_def = self._tag_types[hw_type] - return tag_def - - def get_hw_dimensions(self, hw_type: int) -> Tuple[int, int]: - """Get width and height for a hardware type. - - Returns the display dimensions for the specified tag type. - If the type is unknown, returns safe default values. - - Args: - hw_type: Hardware type ID number - - Returns: - Tuple[int, int]: Width and height in pixels - """ - if hw_type not in self._tag_types: - return 296, 128 # Safe defaults - return self._tag_types[hw_type].width, self._tag_types[hw_type].height - - def get_hw_string(self, hw_type: int) -> str: - """Get the display name for a hardware type. - - Returns a human-readable name for the tag hardware type. - - Args: - hw_type: Hardware type ID number - - Returns: - str: Human-readable name or "Unknown Type {hw_type}" if not recognized - """ - if hw_type not in self._tag_types: - return f"Unknown Type {hw_type}" - return self._tag_types[hw_type].get('name', f'Unknown Type {hw_type}') - - def is_in_hw_map(self, hw_type: int) -> bool: - """Check if a hardware type is known to the manager. - - Determines whether the specified hardware type ID has a - definition available in the manager. - - Args: - hw_type: Hardware type ID to check - - Returns: - bool: True if the hardware type is known, False otherwise - """ - return hw_type in self._tag_types - - def get_all_types(self) -> Dict[int, TagType]: - """Return all known tag types. - - Provides a copy of the complete type map. - This is useful for debugging or for UIs that - need to display all available tag types. - - Returns: - Dict[int, TagType]: Dictionary mapping type IDs to TagType instances - """ - return self._tag_types.copy() - - -# Update the helper functions to be synchronous after initial load -_INSTANCE: Optional[TagTypesManager] = None - - -async def get_tag_types_manager(hass: HomeAssistant) -> TagTypesManager: - """Get or create the global TagTypesManager instance. - - Implements a singleton pattern to ensure only one tag types manager - exists per Home Assistant instance. If the manager doesn't exist yet, - creates and initializes it. - - Args: - hass: Home Assistant instance - - Returns: - TagTypesManager: The shared manager instance - """ - global _INSTANCE - if _INSTANCE is None: - _INSTANCE = TagTypesManager(hass) - await _INSTANCE.ensure_types_loaded() - return _INSTANCE - - -def reset_tag_types_manager() -> None: - """Reset the global TagTypesManager instance. - - Called when the integration storage files are being removed - to ensure the singleton gets recreated on next access. - """ - global _INSTANCE - _INSTANCE = None - - -def get_hw_dimensions(hw_type: int) -> Tuple[int, int]: - """Get dimensions synchronously from global instance. - - Synchronous wrapper around the TagTypesManager.get_hw_dimensions method - that uses the global manager instance. Returns default dimensions - if the manager isn't initialized yet. - - Args: - hw_type: Hardware type ID number - - Returns: - Tuple[int, int]: Width and height in pixels (defaults to 296x128) - """ - if _INSTANCE is None: - return 296, 128 # Default dimensions - return _INSTANCE.get_hw_dimensions(hw_type) - - -def get_hw_string(hw_type: int) -> str: - """Get display name synchronously from global instance. - - Synchronous wrapper around the TagTypesManager.get_hw_string method - that uses the global manager instance. Returns a default string - if the manager isn't initialized yet. - - Args: - hw_type: Hardware type ID number - - Returns: - str: Human-readable name or "Unknown Type {hw_type}" if not recognized - """ - if _INSTANCE is None: - return f"Unknown Type {hw_type}" - return _INSTANCE.get_hw_string(hw_type) - - -def is_in_hw_map(hw_type: int) -> bool: - """Get display name synchronously from global instance. - - Synchronous wrapper around the TagTypesManager.is_in_hw_map method - that uses the global manager instance. Returns `false` - if the manager isn't initialized yet. - - Args: - hw_type: Hardware type ID number - - Returns: - bool: True if the hardware type is known, False otherwise - """ - if _INSTANCE is None: - return False - return _INSTANCE.is_in_hw_map(hw_type) diff --git a/custom_components/opendisplay/text.py b/custom_components/opendisplay/text.py deleted file mode 100644 index d09cd30..0000000 --- a/custom_components/opendisplay/text.py +++ /dev/null @@ -1,235 +0,0 @@ -from __future__ import annotations - -PARALLEL_UPDATES = 1 - -from dataclasses import dataclass -import requests - -from homeassistant.components.text import TextEntity, TextMode, TextEntityDescription -from homeassistant.core import HomeAssistant, callback -from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.entity import EntityCategory -from homeassistant.helpers.entity_platform import AddEntitiesCallback -from .entity import OpenDisplayAPEntity, OpenDisplayTagEntity -from .runtime_data import OpenDisplayConfigEntry - -from .const import DOMAIN - -import logging - -_LOGGER = logging.getLogger(__name__) - -@dataclass(frozen=True, kw_only=True) -class OpenDisplayTextDescription(TextEntityDescription): - """Text entity description with explicit default enable flag.""" - - description: str - entity_registry_enabled_default: bool = False - - -# Define text field configurations -AP_TEXT_ENTITIES: tuple[OpenDisplayTextDescription, ...] = ( - OpenDisplayTextDescription( - key="alias", - translation_key="alias", - name="Alias", - description="AP display name", - entity_registry_enabled_default=True, - entity_category=EntityCategory.CONFIG, - ), - OpenDisplayTextDescription( - key="repo", - translation_key="repo", - name="Repository", - description="GitHub repository for tag type definitions", - entity_category=EntityCategory.CONFIG, - ), -) -"""Configuration for text entities to create for the AP.""" -TAG_TEXT_ENTITIES = [ - { - "key": "alias", - "name": "Alias", - "description": "Tag display name" - } -] -"""Configuration for text entities to create for each tag. - -This list defines the text input entities that will be created for -each discovered tag. Currently, this includes only the tag's alias, -which allows customizing the display name shown in Home Assistant and which also updates the tags alias on the AP. -""" - -class APConfigText(OpenDisplayAPEntity, TextEntity): - """Text entity for AP configuration.""" - - entity_description: OpenDisplayTextDescription - - def __init__(self, hub, description: OpenDisplayTextDescription) -> None: - """Initialize the text entity.""" - super().__init__(hub) - self.entity_description = description - self._key = description.key - self._attr_unique_id = f"{hub.entry.entry_id}_{description.key}" - self._attr_entity_category = description.entity_category - self._attr_translation_key = description.translation_key or description.key - self._attr_native_max = 32 - self._attr_native_min = 0 - self._attr_mode = "text" - self._description = description.description - self._attr_entity_registry_enabled_default = description.entity_registry_enabled_default - - @property - def available(self) -> bool: - """Return if entity is available.""" - return self._hub.online and self._key in self._hub.ap_config - - @property - def native_value(self) -> str | None: - """Return the current value.""" - if not self.available: - return None - return str(self._hub.ap_config.get(self._key, "")) - - async def async_set_value(self, value: str) -> None: - """Set the text value.""" - if value != self.native_value: - await self._hub.set_ap_config_item(self._key, value) - - async def async_added_to_hass(self) -> None: - """Register callbacks when entity is added to Home Assistant.""" - await super().async_added_to_hass() - self.async_on_remove( - async_dispatcher_connect( - self.hass, - f"{DOMAIN}_ap_config_update", - self._handle_update, - ) - ) - - -class TagNameText(OpenDisplayTagEntity, TextEntity): - """Text entity for tag name/alias.""" - - _attr_entity_registry_enabled_default = True - - def __init__(self, hub, tag_mac: str) -> None: - """Initialize the text entity.""" - super().__init__(hub, tag_mac) - self._attr_unique_id = f"{tag_mac}_alias" - self._attr_translation_key = "tag_alias" - self._attr_native_min = 0 - self._attr_mode = TextMode.TEXT - - @property - def available(self) -> bool: - """Return if entity is available.""" - return ( - super().available - and self._tag_mac in self._hub.tags - ) - - @property - def native_value(self) -> str | None: - """Return the current value.""" - if not self.available: - return None - tag_data = self._hub.get_tag_data(self._tag_mac) - return tag_data.get("tag_name", "") - - async def async_set_value(self, value: str) -> None: - """Set the text value.""" - if not value: - value = self._tag_mac - if value != self.native_value: - url = f"http://{self._hub.host}/save_cfg" - data = {'mac': self._tag_mac, 'alias': value} - try: - result = await self.hass.async_add_executor_job( - lambda: requests.post(url, data=data) - ) - if result.status_code != 200: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_tag_alias_update_failed", - translation_placeholders={"tag_mac": self._tag_mac, "status_code": result.status_code, "response_text": result.text}, - ) - except requests.exceptions.Timeout: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_tag_alias_timeout", - translation_placeholders={"tag_mac": self._tag_mac}, - ) from None - except requests.exceptions.RequestException as err: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_tag_alias_network", - translation_placeholders={"tag_mac": self._tag_mac, "error": str(err)}, - ) from err - except Exception as err: - # Catch any other unexpected errors and wrap them - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ap_tag_alias_unexpected", - translation_placeholders={"tag_mac": self._tag_mac, "error": str(err)}, - ) from err - -async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry, async_add_entities: AddEntitiesCallback) -> None: - """Set up text entities for AP configuration and tag names. - - Creates text input entities for: - - 1. AP configuration settings defined in AP_TEXT_ENTITIES - 2. Tag name/alias for each discovered tag - - For the AP entities, first ensures the AP configuration is loaded. - For tags, creates an entity for each existing tag and sets up a - listener to add entities for newly discovered tags. - - Args: - hass: Home Assistant instance - entry: Configuration entry - async_add_entities: Callback to register new entities - """ - hub = entry.runtime_data - - # Wait for initial AP config to be loaded - if not hub.ap_config: - await hub.async_update_ap_config() - - entities = [] - - # Create AP text entities from configuration - for description in AP_TEXT_ENTITIES: - entities.append(APConfigText(hub, description)) - - # Add tag name/alias text entities - for tag_mac in hub.tags: - if tag_mac not in hub.get_blacklisted_tags(): - entities.append(TagNameText(hub, tag_mac)) - - async_add_entities(entities) - - # Set up callback for new tag discovery - async def async_add_tag_text(tag_mac: str) -> None: - """Add text entities for a newly discovered tag. - - Creates a TagNameText entity for a newly discovered tag, - allowing the user to set a custom display name for the tag. - - Only adds the entity if the tag is not blacklisted. - - Args: - tag_mac: MAC address of the newly discovered tag - """ - if tag_mac not in hub.get_blacklisted_tags(): - async_add_entities([TagNameText(hub, tag_mac)]) - - entry.async_on_unload( - async_dispatcher_connect( - hass, - f"{DOMAIN}_tag_discovered", - async_add_tag_text - ) - ) diff --git a/custom_components/opendisplay/translations/de.json b/custom_components/opendisplay/translations/de.json deleted file mode 100644 index 97895a3..0000000 --- a/custom_components/opendisplay/translations/de.json +++ /dev/null @@ -1,480 +0,0 @@ -{ - "config": { - "step": { - "bluetooth_confirm": { - "title": "BLE-Tag einrichten", - "description": "**{name}** einrichten?\n\n**Details:**\n- Adresse: {address}\n- Signal: {rssi} dBm\n- Batterie: {battery}\n- Firmware: {fw_version}\n- Config-Version: {config_version}" - }, - "dhcp_confirm": { - "title": "{hostname} ({ip}) einrichten", - "description": "Ein OEPL Access Point wurde im Netzwerk entdeckt.\n\n**Gerätedetails:**\n- Hostname: {hostname}\n- IP-Adresse: {ip}\n- MAC-Adresse: {mac}\n\nSoll dieser Access Point zu Home Assistant hinzugefügt werden?" - }, - "reconfigure": { - "title": "Access Point aktualisieren", - "description": "Adresse des OEPL-Access-Points aktualisieren.", - "data": { - "host": "Hostname oder IP" - }, - "data_description": { - "host": "Hostname oder IP des OEPL-Access-Points." - } - }, - "user": { - "data": { - "host": "Hostname oder IP" - }, - "data_description": { - "host": "Hostname oder IP des OEPL-Access-Points." - } - } - }, - "error": { - "interrogation_failed": "Verbindung zum Gerät und Abrufen der Display-Informationen fehlgeschlagen. Fehler: {error}. Erneut versuchen oder Geräteverbindung prüfen.", - "invalid_device_config": "Gerät hat ungültige Konfigurationsdaten zurückgegeben. Bitte Gerät neu konfigurieren oder die Firmware aktualisieren." - }, - "abort": { - "single_instance_allowed": "Nur ein OEPL-Hub kann konfiguriert werden. Mehrere BLE-Geräte werden unterstützt, aber nur ein AP-Hub ist erlaubt.", - "unsupported_protocol": "Nicht unterstütztes BLE-Firmware-Protokoll. Nur ATC- und OpenDisplay-Firmware werden unterstützt.", - "invalid_advertising_data": "Advertising-Daten des Geräts konnten nicht analysiert werden. Bitte sicherstellen, dass das Gerät eine kompatible Firmware verwendet.", - "no_reconfigure_ble": "BLE-Geräte unterstützen keine Neukonfiguration. Gerät entfernen und erneut hinzufügen, wenn Einstellungen geändert werden sollen.", - "cannot_connect": "Verbindung zum entdeckten Access Point fehlgeschlagen. Überprüfen, ob das Gerät online und im Netzwerk erreichbar ist." - } - }, - "options": { - "step": { - "init": { - "title": "Tag-Verwaltung", - "description": "Tags auswählen die ignoriert werden sollen.", - "data": { - "blacklisted_tags": "Ignorierte Tags", - "button_debounce": "Tasten-Entstörzeit (Sekunden)", - "nfc_debounce": "NFC-Entstörzeit (Sekunden)", - "custom_font_dirs": "Benutzerdefinierte Schriftarten-Verzeichnisse" - }, - "data_description": { - "blacklisted_tags":"Tags ausblenden; geblacklistete Tags werden nicht aktualisiert und lösen keine Dienste aus.", - "button_debounce": "Wartezeit, bevor ein weiterer Tastendruck akzeptiert wird (Sekunden).", - "nfc_debounce": "Wartezeit, bevor ein weiterer NFC-Tap akzeptiert wird (Sekunden).", - "custom_font_dirs": "Kommagetrennte Verzeichnisse mit zusätzlichen Schriftarten für erzeugte Bilder." - } - } - }, - "abort": { - "no_options_ble": "Für BLE-Geräte sind keine konfigurierbaren Optionen verfügbar. BLE-Geräte werden automatisch verwaltet und benötigen keine zusätzliche Konfiguration." - } - }, - "entity": { - "switch": { - "preview": { - "name": "Bildervorschau im AP" - }, - "ble": { - "name": "Bluetooth LE" - }, - "nightlyreboot": { - "name": "Nächtlicher Neustart" - }, - "showtimestamp": { - "name": "Zeitstempel anzeigen" - } - }, - "text": { - "alias": { - "name": "Alias" - }, - "repo": { - "name": "Repository" - }, - "tag_alias": { - "name": "Alias" - } - }, - "select": { - "channel": { - "name": "Kanal", - "state": { - "auto": "Automatisch", - "11": "11", - "15": "15", - "20": "20", - "25": "25", - "26": "26" - } - }, - "led": { - "name": "RGB-LED-Helligkeit", - "state": { - "off": "Aus", - "10%": "10%", - "25%": "25%", - "50%": "50%", - "75%": "75%", - "100%": "100%" - } - }, - "tft": { - "name": "TFT-Helligkeit" - }, - "maxsleep": { - "name": "Maximale Schlafdauer", - "state": { - "shortest (40 sec)": "kürzeste (40 Sek.)", - "5 min": "5 Min.", - "10 min": "10 Min.", - "30 min": "30 Min.", - "1 hour": "1 Stunde" - } - }, - "lock": { - "name": "Tag-Inventar sperren", - "state": { - "no": "Nein", - "locked: don't add new tags": "Gesperrt: Keine neuen Tags hinzufügen", - "learning: only add booting tags": "Lernend: Nur bootende Tags hinzufügen" - } - }, - "wifipower": { - "name": "WLAN-Leistung" - }, - "language": { - "name": "Sprache" - }, - "discovery": { - "name": "Erkennungsmethode" - }, - "subghzchannel": { - "name": "Sub-GHz-Kanal", - "state": { - "disabled": "Deaktiviert", - "100 - 864.000 Mhz (Europe, etc)": "100 - 864.000 MHz (Europa, etc)", - "101 - 865.006 Mhz (Europe, etc)": "101 - 865.006 MHz (Europa, etc)", - "102 - 866.014 Mhz (Europe, etc)": "102 - 866.014 MHz (Europa, etc)", - "103 - 867.020 Mhz (Europe, etc)": "103 - 867.020 MHz (Europa, etc)", - "104 - 868.027 Mhz (Europe, etc)": "104 - 868.027 MHz (Europa, etc)", - "105 - 869.034 Mhz (Europe, etc)": "105 - 869.034 MHz (Europa, etc)", - "200 - 903.000 Mhz (US, etc)": "200 - 903.000 MHz (USA, etc)", - "201 - 907.027 Mhz (US, etc)": "201 - 907.027 MHz (USA, etc)", - "202 - 911.054 Mhz (US, etc)": "202 - 911.054 MHz (USA, etc)", - "203 - 915.083 Mhz (US, etc)": "203 - 915.083 MHz (USA, etc)", - "204 - 919.110 Mhz (US, etc)": "204 - 919.110 MHz (USA, etc)", - "205 - 923.138 Mhz (US, etc)": "205 - 923.138 MHz (USA, etc)" - } - }, - "sleeptime1": { - "name": "Keine Updates von (1)" - }, - "sleeptime2": { - "name": "Keine Updates bis (2)" - } - }, - "sensor": { - "ip": { - "name": "IP-Adresse" - }, - "wifi_ssid": { - "name": "WLAN-SSID" - }, - "record_count": { - "name": "Tag-Anzahl" - }, - "db_size": { - "name": "Datenbankgröße" - }, - "little_fs_free": { - "name": "LittleFS frei" - }, - "ap_state": { - "name": "Status" - }, - "run_state": { - "name": "Laufstatus" - }, - "wifi_rssi": { - "name": "WLAN-Signalstärke (RSSI)" - }, - "heap": { - "name": "Freier Heap" - }, - "sys_time": { - "name": "Systemzeit" - }, - "uptime": { - "name": "Betriebszeit" - }, - "low_battery_tag_count": { - "name": "Tags mit schwachem Akku" - }, - "timeout_tag_count": { - "name": "Tags mit Zeitüberschreitung" - }, - "ps_ram_free": { - "name": "Freier PSRAM" - }, - "temperature": { - "name": "Temperatur" - }, - "battery_voltage": { - "name": "Batteriespannung" - }, - "battery_percentage": { - "name": "Batterieprozentsatz" - }, - "last_seen": { - "name": "Zuletzt gesehen" - }, - "next_update": { - "name": "Nächstes Update" - }, - "next_checkin": { - "name": "Nächste Anmeldung" - }, - "lqi": { - "name": "Linkqualitätsindex (LQI)" - }, - "rssi": { - "name": "Signalstärke (RSSI)" - }, - "pending_updates": { - "name": "Ausstehende Updates" - }, - "content_mode": { - "name": "Inhaltsmodus" - }, - "wakeup_reason": { - "name": "Aufwachgrund" - }, - "capabilities": { - "name": "Fähigkeiten" - }, - "update_count": { - "name": "Update-Anzahl" - }, - "width": { - "name": "Breite" - }, - "height": { - "name": "Höhe" - }, - "runtime": { - "name": "Laufzeit" - }, - "boot_count": { - "name": "Neustartanzahl" - }, - "checkin_count": { - "name": "Check-in Anzahl" - }, - "block_requests": { - "name": "Blockübertragungsanforderungen" - } - }, - "image": { - "content": { - "name": "Inhalt" - } - }, - "light": { - "led": { - "name": "LED" - } - }, - "button": { - "clear_pending": { - "name": "Ausstehende Updates löschen" - }, - "force_refresh": { - "name": "Inhalt aktualisieren erzwingen" - }, - "reboot_tag": { - "name": "Tag neu starten" - }, - "scan_channels": { - "name": "Kanäle scannen" - }, - "deep_sleep": { - "name": "Tiefschlaf" - }, - "reboot_ap": { - "name": "AP neu starten" - }, - "refresh_tag_types": { - "name": "Tag-Typen aktualisieren" - }, - "refresh_config": { - "name": "Konfiguration aktualisieren" - } - }, - "update": { - "firmware": { - "name": "Firmware" - }, - "opendisplay_ble_firmware": { - "name": "OpenDisplay Firmware" - } - } - }, - "services": { - "drawcustom": { - "name": "Benutzerdefiniertes Bild zeichnen", - "description": "Zeichnet ein benutzerdefiniertes Bild auf einem oder mehreren Tags", - "fields": { - "payload": { - "name": "Payload", - "description": "Payload zum Zeichnen, siehe Dokumentation für Beispiele" - }, - "background": { - "name": "Hintergrundfarbe", - "description": "Hintergrundfarbe (schwarz, weiß, akzent, rot, gelb)" - }, - "rotate": { - "name": "Rotation", - "description": "Rotation in Grad (0, 90, 180, 270)" - }, - "dither": { - "name": "Dithering", - "description": "Zu verwendende Dithering-Option" - }, - "ttl": { - "name": "Gültigkeitsdauer", - "description": "Wie lange das Bild zwischengespeichert werden soll (in Sekunden)" - }, - "dry-run": { - "name": "Trockenlauf", - "description": "Bild wird nur lokal gespeichert und nicht an den AP gesendet" - } - } - }, - "setled": { - "name": "LED-Muster einstellen", - "description": "Stellt das LED-Blinkmuster für ein oder mehrere Tags ein" - }, - "clear_pending": { - "name": "Ausstehendes Update löschen", - "description": "Löscht ausstehende Updates für ein oder mehrere Tags" - }, - "force_refresh": { - "name": "Inhalt aktualisieren erzwingen", - "description": "Erzwingt das Aktualisieren des Inhalts für ein oder mehrere Tags" - }, - "reboot_tag": { - "name": "Tag neu starten", - "description": "Startet ein oder mehrere Tags neu" - }, - "scan_channels": { - "name": "Kanäle scannen", - "description": "Tag scannt nach verfügbaren Kanälen" - }, - "reboot_ap": { - "name": "AP neu starten", - "description": "Startet den AP neu" - }, - "refresh_tag_types": { - "name": "Tag-Typen aktualisieren", - "description": "Aktualisiert die Tag-Typen von GitHub" - } - }, - "issues": { - "camera_migration_needed": { - "title": "Kamera-Entitäten migriert", - "description": "OpenDisplay hat {count} Kamera-Entitäten in Bild-Entitäten migriert. Dashboards und Automationen aktualisieren, um die neuen Bild-Entitäten zu verwenden. Entfernte Entitäten: {entities}" - } - }, - "preview_features": { - "opendisplay_ble_updates": { - "name": "OpenDisplay Firmware-Updates", - "description": "Zeigt ein Firmware-Update-Entity für OpenDisplay BLE Tags im Vergleich zur neuesten OpenDisplay_BLE GitHub-Version. Installation ist noch nicht verfügbar." - } - }, - "exceptions": { - "ble_device_not_detected": "BLE-Gerät {name} ({mac_address}) nicht im Bluetooth-Bereich erkannt.", - "ap_cannot_connect": "Kann keine Verbindung zum AP unter {host} herstellen: {error}.", - "ap_failed_load_tags": "Tags konnten vom AP unter {host} nicht geladen werden: {error}.", - "ap_timeout_action": "Zeitüberschreitung bei {action}.", - "ap_network_error_action": "Netzwerkfehler bei {action}: {error}.", - "ap_failed_action_http": "Aktion {action} fehlgeschlagen: HTTP {status_code} - {response_text}.", - "device_not_found": "Gerät {device_id} nicht gefunden.", - "device_no_identifiers": "Keine Bezeichner für Gerät {device_id} gefunden.", - "device_not_opendisplay": "Gerät {device_id} ist kein OpenDisplay-Gerät.", - "no_targets_specified": "Keine Zielgeräte angegeben. Bitte device_id, label_id oder area_id angeben.", - "ap_offline": "OEPL-AP ist offline. Netzverbindung und AP-Status prüfen.", - "error_processing_device": "Unerwarteter Fehler bei der Verarbeitung von Gerät {entity_id}: {error}.", - "ble_upload_bt_disabled": "Upload zu BLE-Gerät {entity_id} nicht möglich: Bluetooth-Integration deaktiviert oder keine Scanner verfügbar.", - "ble_no_metadata": "Keine Metadaten für BLE-Gerät {entity_id} gefunden.", - "ble_upload_failed": "BLE-Bildupload für {entity_id} fehlgeschlagen.", - "ble_direct_write_not_supported": "Direktes Schreiben wird nur für OpenDisplay-Geräte unterstützt, aber {entity_id} scheint ein ATC-Gerät zu sein.", - "image_upload_status": "Bild-Upload für {entity_id} fehlgeschlagen mit Statuscode: {status_code}.", - "image_upload_timeout": "Bild-Upload für {entity_id} nach {attempts} Versuchen wegen Zeitüberschreitung fehlgeschlagen.", - "image_upload_network": "Netzwerkfehler beim Bild-Upload für {entity_id}: {error}.", - "image_upload_failed": "Bild-Upload für {entity_id} fehlgeschlagen: {error}.", - "unexpected_upload": "Unerwarteter Upload-Fehler für {entity_id}: {error}.", - "unexpected_ble_upload": "Unerwarteter Fehler beim BLE-Upload zu {entity_id}: {error}.", - "unexpected_ble_direct_write": "Unerwarteter Fehler beim BLE-Direktschreiben zu {entity_id}: {error}.", - "ap_tag_alias_update_failed": "Alias für Tag {tag_mac} konnte nicht aktualisiert werden: AP antwortete mit HTTP {status_code} - {response_text}.", - "ap_tag_alias_timeout": "Zeitüberschreitung beim Aktualisieren des Alias für {tag_mac}. Netzwerkverbindung zum AP prüfen.", - "ap_tag_alias_network": "Netzwerkfehler beim Aktualisieren des Alias für {tag_mac}: {error}.", - "ap_tag_alias_unexpected": "Unerwarteter Fehler beim Aktualisieren des Alias für {tag_mac}: {error}.", - "ap_offline_core": "OEPL-AP ist offline.", - "tag_not_registered": "Tag {tag_mac} ist beim AP nicht registriert. Wenn der Tag eingecheckt hat, Home Assistant neu starten.", - "tag_blacklisted": "Tag {tag_mac} ist derzeit auf der Blacklist. Für die Nutzung in den Integrationsoptionen entfernen.", - "tag_inconsistent": "Inkonsistenter Zustand: Tag {tag_mac} ist bekannt, hat aber keine Daten. Bitte als Bug melden.", - "tag_no_hw_type": "Kein Hardware-Typ für Tag {tag_mac} gefunden. Bitte auf den nächsten Check-in des Tags warten.", - "tag_unknown_hw_type": "Unbekannter Hardware-Typ {hw_type} für Tag {tag_mac}. Tag-Typen in den Integrationsoptionen aktualisieren.", - "invalid_canvas_dimensions": "Ungültige Leinwandabmessungen {width}x{height} für {entity_id}. Gerätemetadaten sind möglicherweise beschädigt oder fehlen. Integration neu laden oder Gerät erneut hinzufügen.", - "ble_tag_info_unexpected": "Unerwarteter Fehler beim Abrufen des Tag-Typs für {entity_id}: {error}.", - "ble_tag_info_unexpected_ble": "Unerwarteter Fehler beim Abrufen des BLE-Tag-Typs für {entity_id}: {error}.", - "qr_generation_failed": "QR-Code konnte nicht erzeugt werden: {error}.", - "image_entity_not_found": "Bild-Entity {entity_id} nicht gefunden.", - "image_entity_no_url": "Keine Bild-URL für Entity {entity_id} gefunden.", - "image_download_failed": "Bild konnte nicht heruntergeladen werden: HTTP {status_code}.", - "image_data_uri_invalid": "Ungültige Data-URI: {error}.", - "image_process_failed": "Bild konnte nicht verarbeitet werden: {error}.", - "font_load_failed": "Keine Schrift konnte geladen werden. Dies weist auf ein Problem bei der Installation der Integration hin.", - "plot_duration_invalid": "duration muss größer als 0 Sekunden sein.", - "plot_no_data": "Keine aufgezeichneten Daten für {entity_id} gefunden.", - "plot_no_valid_points": "Keine gültigen Datenpunkte gefunden.", - "plot_yaxis_invalid": "yaxis.tick_every muss größer als 0 sein.", - "plot_xlegend_invalid": "xlegend.interval muss größer als 0 sein.", - "plot_draw_failed": "Plot konnte nicht gezeichnet werden: {error}.", - "plot_bar_invalid": "Ungültige Balkendaten für Diagramm: {error}.", - "mdi_metadata_failed": "MDI-Metadaten konnten nicht geladen werden: {error}.", - "icon_name_invalid": "Ungültiger Icon-Name: {icon_name}.", - "icon_draw_failed": "Icon konnte nicht gezeichnet werden: {error}.", - "icon_draw_failed_named": "Icon {icon_name} konnte nicht gezeichnet werden: {error}.", - "led_on_failed": "LED konnte nicht eingeschaltet werden.", - "led_on_error": "Fehler beim Einschalten der LED: {error}.", - "led_off_failed": "LED konnte nicht ausgeschaltet werden.", - "led_off_error": "Fehler beim Ausschalten der LED: {error}.", - "tagtypes_load_failed": "Tag-Typ-Definitionen konnten nicht geladen werden. Keine gespeicherten Daten verfügbar. Netzwerkverbindung oder GitHub-Zugriff prüfen.", - "tagtypes_refresh_failed": "Tag-Typ-Definitionen konnten nicht aktualisiert werden. Netzwerkverbindung oder GitHub-Zugriff prüfen.", - "no_hub_configured": "Kein AP-Hub konfiguriert. Nur BLE-Geräte gefunden.", - "ble_slots_unavailable": "Keine verfügbaren Bluetooth-Verbindungsslots für {mac_address}. Weitere ESPHome-Bluetooth-Proxys in der Nähe hinzufügen oder auf freie Verbindungen warten. Details: {error}.", - "ble_device_not_found": "Gerät {mac_address} nicht gefunden.", - "ble_characteristic_not_resolved": "Charakteristik für Service {service_uuid} konnte nicht aufgelöst werden.", - "ble_connection_failed": "Verbindung zu {mac_address} fehlgeschlagen: {error}.", - "ble_write_char_missing": "Schreib-Charakteristik nicht verfügbar.", - "ble_timeout": "Keine Antwort von {mac_address} innerhalb von {timeout}s.", - "ble_operation_failed": "BLE-Operation {operation} nach {attempts} Versuchen fehlgeschlagen: {error}.", - "ble_operation_retry": "BLE-Operation {operation} schlug bei Versuch {attempt} fehl: {error}. Neuer Versuch in {delay}s...", - "opendisplay_config_chunk_short": "Chunk-Daten zu kurz: {length} Bytes.", - "opendisplay_expected_chunk_zero": "Chunk 0 erwartet, aber Chunk {chunk_num} erhalten.", - "opendisplay_config_too_short": "Konfigurationsdaten zu kurz: {length} Bytes (mindestens {minimum}).", - "opendisplay_fw_response_short": "Firmware-Antwort zu kurz: {length} Bytes.", - "opendisplay_fw_version_format": "Firmware-SHA-Länge {sha_length} überschreitet Payload ({payload_length} Bytes).", - "tlv_section_too_short": "{section} erfordert {expected} Bytes, erhalten {actual}.", - "tlv_data_too_short": "Konfigurationsdaten zu kurz: {length} Bytes (Minimum 2).", - "tlv_crc_mismatch": "CRC32 stimmt nicht überein: erwartet {expected_crc32}, erhalten {actual_crc32}.", - "tlv_unknown_packet": "Unbekannte Paket-ID: {packet_id} bei Offset {offset}.", - "tlv_packet_too_short": "Paket-ID {packet_id} benötigt {packet_size} Bytes, es verbleiben jedoch nur {remaining_bytes} Bytes bei Offset {offset}.", - "tlv_packet_parse_failed": "Pakettyp {packet_id} bei Offset {offset} konnte nicht geparst werden: {error}.", - "tlv_no_display_config": "Keine Display-Konfiguration in den Gerätedaten gefunden.", - "tlv_invalid_dimensions": "Ungültige Pixelabmessungen: {width}x{height}.", - "config_flow_invalid_config": "Gerät hat ungültige Konfigurationsdaten zurückgegeben.", - "config_flow_missing_config": "Gerät hat keine Konfigurationsdaten zurückgegeben.", - "refresh_config_failed": "Konfiguration konnte nicht aktualisiert werden: {error}.", - "ble_protocol_invalid_response_length": "Ungültige Anzeigedaten-Länge: {length} (mindestens {expected_length} erwartet).", - "ble_protocol_invalid_command_id": "Ungültige Befehls-ID in der Antwort: {command_id}.", - "ble_protocol_payload_too_short": "Anzeigedaten-Payload zu kurz.", - "multiple_errors": { "message": "Mehrere Fehler sind aufgetreten:\n{errors}" }, - "invalid_payload": { "message": "Ungültige Payload:\n{errors}" } - } -} diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index b172e82..e2a7e93 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -1,379 +1,160 @@ { "config": { + "abort": { + "already_configured": "Device is already configured", + "already_in_progress": "Configuration flow is already in progress", + "cannot_connect": "Failed to connect", + "no_devices_found": "No devices found on the network", + "reauth_successful": "Re-authentication was successful", + "unknown": "Unexpected error" + }, + "error": { + "cannot_connect": "Failed to connect", + "invalid_auth": "Invalid authentication", + "invalid_key_format": "The encryption key must be exactly 32 hexadecimal characters (0-9, a-f).", + "unknown": "Unexpected error" + }, + "flow_title": "{name}", "step": { - "bluetooth_confirm": { - "title": "Set up OpenDisplay Device", - "description": "Set up **{name}**?\n\n**Details:**\n- Device Type: {device_type}\n- Address: {address}\n- Signal: {rssi} dBm{advertised_details}" - }, - "dhcp_confirm": { - "title": "Set up {hostname} ({ip})", - "description": "An OEPL access point was discovered on the network.\n\n**Device Details:**\n- Hostname: {hostname}\n- IP Address: {ip}\n- MAC Address: {mac}\n\nShould this access point be added to Home Assistant?" - }, - "reconfigure": { - "title": "Update Access Point", - "description": "Update the OEPL access point address.", - "data": { - "host": "Host or IP" + "bluetooth_confirm": { + "description": "Do you want to set up {name}?" + }, + "encryption_key": { + "data": { + "encryption_key": "Encryption key" + }, + "data_description": { + "encryption_key": "Enter the 32-character hexadecimal AES-128 encryption key for this device." + }, + "description": "{name} requires an encryption key to connect.", + "title": "Encryption required" + }, + "reauth_confirm": { + "data": { + "encryption_key": "Encryption key" + }, + "data_description": { + "encryption_key": "Enter the 32-character hexadecimal AES-128 encryption key for this device." + }, + "description": "Authentication failed for {name}. Enter the correct encryption key, or leave blank if encryption has been disabled on the device.", + "title": "Re-authentication required" }, - "data_description": { - "host": "Hostname or IP of the OEPL access point." - } - }, "user": { "data": { - "host": "Host or IP" + "address": "Device" }, "data_description": { - "host": "Hostname or IP of the OEPL access point." - } + "address": "Select the Bluetooth device to set up." + }, + "description": "Choose a device to set up" } - }, - "error": { - "interrogation_failed": "Failed to connect to device and retrieve display information. Error: {error}. Retry or check device connectivity.", - "invalid_device_config": "Device returned invalid configuration data. Please reconfigure the device or update its firmware." - }, - "abort": { - "single_instance_allowed": "Only one OEPL hub can be configured. Multiple BLE devices are supported, but only one AP hub is allowed.", - "unsupported_protocol": "Unsupported BLE firmware protocol. Only ATC and OpenDisplay firmware are supported.", - "invalid_advertising_data": "Could not parse device advertising data. Please ensure the device is using compatible firmware.", - "no_reconfigure_ble": "BLE devices do not support reconfiguration. Remove and re-add the device if you need to change its settings.", - "cannot_connect": "Failed to connect to the discovered access point. Please check the device is online and reachable on the network." } }, - "options": { - "step": { - "init": { - "title": "Tag Management", - "description": "Select tags to blacklist. Blacklisted tags will be hidden and ignored.", - "data": { - "blacklisted_tags": "Blacklisted Tags", - "button_debounce": "Button Debounce Time (seconds)", - "nfc_debounce": "NFC Debounce Time (seconds)", - "custom_font_dirs": "Custom Font Directories" - }, - "data_description": { - "blacklisted_tags": "Tags to hide; blacklisted tags will not update or trigger services.", - "button_debounce": "Delay before another button press is accepted (seconds).", - "nfc_debounce": "Delay before another NFC tap is accepted (seconds).", - "custom_font_dirs": "Comma-separated directories containing additional fonts for generated images." + "entity": { + "event": { + "button": { + "name": "Button {number}", + "state_attributes": { + "event_type": { + "state": { + "button_down": "Button down", + "button_up": "Button up" + } + } } } }, - "abort": { - "no_options_ble": "No configurable options are available for BLE devices. BLE devices are managed automatically and do not require additional configuration." + "sensor": { + "battery_voltage": { + "name": "Battery voltage" + } } }, - "entity": { - "switch": { - "preview": { - "name": "Preview Images on AP" - }, - "ble": { - "name": "Bluetooth LE" - }, - "nightlyreboot": { - "name": "Nightly Reboot" - }, - "showtimestamp": { - "name": "Show Timestamp" - } + "exceptions": { + "authentication_error": { + "message": "Authentication failed. Please update the encryption key." }, - "text": { - "alias": { - "name": "Alias" - }, - "repo": { - "name": "Repository" - }, - "tag_alias": { - "name": "Alias" - } + "device_not_found": { + "message": "Could not find Bluetooth device with address `{address}`." }, - "select": { - "channel": { - "name": "Channel" - }, - "led": { - "name": "RGB LED brightness" - }, - "tft": { - "name": "TFT Brightness" - }, - "maxsleep": { - "name": "Maximum sleep" - }, - "lock": { - "name": "Lock tag inventory" - }, - "wifipower": { - "name": "WiFi Power" - }, - "language": { - "name": "Language" - }, - "discovery": { - "name": "Discovery method" - }, - "subghzchannel": { - "name": "Sub-GHz Channel" - }, - "sleeptime1": { - "name": "No updates between 1 (from)" - }, - "sleeptime2": { - "name": "No updates between 2 (to)" - } + "invalid_device_id": { + "message": "Device `{device_id}` is not a valid OpenDisplay device." }, - "sensor": { - "ip": { - "name": "IP Address" - }, - "wifi_ssid": { - "name": "WiFi SSID" - }, - "record_count": { - "name": "Tag Count" - }, - "db_size": { - "name": "Database Size" - }, - "little_fs_free": { - "name": "LittleFS Free" - }, - "ap_state": { - "name": "State" - }, - "run_state": { - "name": "Run State" - }, - "wifi_rssi": { - "name": "WiFi RSSI" - }, - "heap": { - "name": "Free Heap" - }, - "sys_time": { - "name": "System Time" - }, - "uptime": { - "name": "Uptime" - }, - "low_battery_tag_count": { - "name": "Low Battery Tag Count" - }, - "timeout_tag_count": { - "name": "Timed out Tag Count" - }, - "ps_ram_free": { - "name": "PSRAM Free" - }, - "temperature": { - "name": "Temperature" - }, - "battery_voltage": { - "name": "Battery Voltage" - }, - "battery_percentage": { - "name": "Battery Percentage" - }, - "last_seen": { - "name": "Last Seen" - }, - "next_update": { - "name": "Next Update" - }, - "next_checkin": { - "name": "Next Checkin" - }, - "lqi": { - "name": "Link Quality Index" - }, - "rssi": { - "name": "RSSI" - }, - "pending_updates": { - "name": "Pending Updates" - }, - "content_mode": { - "name": "Content Mode" - }, - "wakeup_reason": { - "name": "Wakeup Reason" - }, - "capabilities": { - "name": "Capabilities" - }, - "update_count": { - "name": "Update Count" - }, - "width": { - "name": "Width" - }, - "height": { - "name": "Height" - }, - "runtime": { - "name": "Runtime" - }, - "boot_count": { - "name": "Boot Count" - }, - "checkin_count": { - "name": "Checkin Count" - }, - "block_requests": { - "name": "Block Transfer Requests" - } + "media_download_error": { + "message": "Failed to download media: {error}" }, - "image": { - "content": { - "name": "Content" + "upload_error": { + "message": "Failed to upload image to the display." + } + }, + "selector": { + "dither_mode": { + "options": { + "atkinson": "Atkinson", + "burkes": "Burkes", + "floyd_steinberg": "Floyd-Steinberg", + "jarvis_judice_ninke": "Jarvis, Judice & Ninke", + "none": "None", + "ordered": "Ordered", + "sierra": "Sierra", + "sierra_lite": "Sierra Lite", + "stucki": "Stucki" } }, - "light": { - "led": { - "name": "LED" + "fit_mode": { + "options": { + "contain": "Contain", + "cover": "Cover", + "crop": "Crop", + "stretch": "Stretch" } }, - "button": { - "clear_pending": { - "name": "Clear Pending Updates" - }, - "force_refresh": { - "name": "Force Refresh Content" - }, - "reboot_tag": { - "name": "Reboot Tag" - }, - "scan_channels": { - "name": "Scan Channels" - }, - "deep_sleep": { - "name": "Deep Sleep" - }, - "reboot_ap": { - "name": "Reboot AP" - }, - "refresh_tag_types": { - "name": "Refresh Tag Types" + "refresh_mode": { + "options": { + "fast": "Fast", + "full": "Full" + } + } + }, + "services": { + "upload_image": { + "description": "Uploads an image to an OpenDisplay device.", + "fields": { + "device_id": { + "description": "The OpenDisplay device to upload the image to.", + "name": "Device" + }, + "dither_mode": { + "description": "The dithering algorithm to use for converting the image to the display's color palette.", + "name": "Dither mode" + }, + "fit_mode": { + "description": "How the image is fitted to the display dimensions.", + "name": "Fit mode" + }, + "image": { + "description": "The image to upload to the display.", + "name": "Image" + }, + "refresh_mode": { + "description": "The display refresh mode. Full refresh clears ghosting but is slower. Fast refresh is not supported on all displays.", + "name": "Refresh mode" + }, + "rotation": { + "description": "The rotation angle in degrees, applied clockwise.", + "name": "Rotation" + }, + "tone_compression": { + "description": "Dynamic range compression strength. Leave empty for automatic.", + "name": "Tone compression" + } }, - "refresh_config": { - "name": "Refresh Configuration" + "name": "Upload image", + "sections": { + "additional_fields": { + "name": "Additional options" + } } - }, - "update": { - "firmware": { - "name": "Firmware" - }, - "opendisplay_ble_firmware": { - "name": "OpenDisplay Firmware" - } - } - }, - "issues": { - "camera_migration_needed": { - "title": "Camera entities migrated", - "description": "OpenDisplay migrated {count} camera entities to image entities. Update your dashboards and automations to use the new image entities. Removed entities: {entities}" - } - }, - "preview_features": { - "opendisplay_ble_updates": { - "name": "OpenDisplay firmware updates", - "description": "Shows a firmware update entity for OpenDisplay BLE tags that compares the installed firmware to the latest OpenDisplay_BLE GitHub release. Install is not available yet." + } } - }, - "exceptions": { - "ble_device_not_detected": { "message": "BLE device {name} ({mac_address}) not detected in Bluetooth range." }, - "ap_cannot_connect": { "message": "Cannot connect to AP at {host}: {error}" }, - "ap_failed_load_tags": { "message": "Failed to load tags from AP at {host}: {error}" }, - "ap_timeout_action": { "message": "Timeout during {action}." }, - "ap_network_error_action": { "message": "Network error during {action}: {error}" }, - "ap_failed_action_http": { "message": "Failed to {action}: HTTP {status_code} - {response_text}" }, - "device_not_found": { "message": "Device {device_id} not found." }, - "device_no_identifiers": { "message": "No identifiers found for device {device_id}." }, - "device_not_opendisplay": { "message": "Device {device_id} is not an OpenDisplay device." }, - "no_targets_specified": { "message": "No target devices specified. Please provide device_id, label_id, or area_id." }, - "ap_offline": { "message": "OEPL AP is offline. Please check your network connection and AP status." }, - "error_processing_device": { "message": "Unexpected error processing device {entity_id}: {error}" }, - "ble_upload_bt_disabled": { "message": "Cannot upload to BLE device {entity_id}: Bluetooth integration is disabled or no scanners available." }, - "ble_no_metadata": { "message": "No metadata found for BLE device {entity_id}." }, - "ble_upload_failed": { "message": "BLE image upload failed for {entity_id}." }, - "ble_direct_write_failed": { "message": "BLE direct write upload failed for {entity_id}." }, - "ble_direct_write_not_supported": { "message": "Direct write is only supported for OpenDisplay devices, but {entity_id} appears to be an ATC device." }, - "image_upload_status": { "message": "Image upload failed for {entity_id} with status code: {status_code}." }, - "image_upload_timeout": { "message": "Image upload timed out for {entity_id} after {attempts} attempts." }, - "image_upload_network": { "message": "Network error uploading image for {entity_id}: {error}." }, - "image_upload_failed": { "message": "Failed to upload image for {entity_id}: {error}." }, - "unexpected_upload": { "message": "Unexpected upload error for {entity_id}: {error}." }, - "unexpected_ble_upload": { "message": "Unexpected error during BLE upload to {entity_id}: {error}." }, - "unexpected_ble_direct_write": { "message": "Unexpected error during BLE direct write to {entity_id}: {error}." }, - "ap_tag_alias_update_failed": { "message": "Failed to update tag alias for {tag_mac}: AP returned HTTP {status_code} - {response_text}." }, - "ap_tag_alias_timeout": { "message": "Timeout updating tag alias for {tag_mac}. Please check network connectivity to the AP." }, - "ap_tag_alias_network": { "message": "Network error updating tag alias for {tag_mac}: {error}." }, - "ap_tag_alias_unexpected": { "message": "Unexpected error updating tag alias for {tag_mac}: {error}." }, - "ap_offline_core": { "message": "OEPL AP is offline." }, - "invalid_entity_id_format": { "message": "Invalid entity ID format: {entity_id}." }, - "tag_not_registered": { "message": "Tag {tag_mac} is not registered with the AP. If the tag has checked in, try restarting Home Assistant." }, - "tag_blacklisted": { "message": "Tag {tag_mac} is currently blacklisted. Remove it from the blacklist in integration options to use it." }, - "tag_inconsistent": { "message": "Inconsistent state: Tag {tag_mac} is known but has no data. Please report this as a bug." }, - "tag_no_hw_type": { "message": "No hardware type found for tag {tag_mac}. Please wait for the tag to complete its next check-in." }, - "tag_unknown_hw_type": { "message": "Unknown hardware type {hw_type} for tag {tag_mac}. Try refreshing tag types from the integration options." }, - "invalid_canvas_dimensions": { "message": "Invalid canvas dimensions {width}x{height} for {entity_id}. Device metadata may be corrupt or missing. Try reloading the integration or re-adding the device." }, - "ble_tag_info_unexpected": { "message": "Unexpected error getting tag type for {entity_id}: {error}." }, - "ble_tag_info_unexpected_ble": { "message": "Unexpected error getting BLE tag type for {entity_id}: {error}." }, - "qr_generation_failed": { "message": "Failed to generate QR code: {error}." }, - "image_entity_not_found": { "message": "Image entity {entity_id} not found." }, - "image_entity_no_url": { "message": "No image URL found for entity {entity_id}." }, - "image_download_failed": { "message": "Failed to download image: HTTP {status_code}." }, - "image_data_uri_invalid": { "message": "Invalid data URI: {error}." }, - "image_process_failed": { "message": "Failed to process image: {error}." }, - "font_load_failed": { "message": "Could not load any font. This indicates a problem with the integration installation." }, - "plot_duration_invalid": { "message": "duration must be greater than 0 seconds." }, - "plot_no_data": { "message": "No recorded data found for {entity_id}." }, - "plot_no_valid_points": { "message": "No valid data points found." }, - "plot_yaxis_invalid": { "message": "yaxis.tick_every must be greater than 0." }, - "plot_xlegend_invalid": { "message": "xlegend.interval must be greater than 0." }, - "plot_draw_failed": { "message": "Failed to draw plot: {error}." }, - "plot_bar_invalid": { "message": "Invalid bar data for diagram: {error}." }, - "mdi_metadata_failed": { "message": "Failed to load MDI metadata: {error}." }, - "icon_name_invalid": { "message": "Invalid icon name: {icon_name}." }, - "icon_draw_failed": { "message": "Failed to draw icon: {error}." }, - "icon_draw_failed_named": { "message": "Failed to draw icon {icon_name}: {error}." }, - "led_on_failed": { "message": "Failed to turn on LED." }, - "led_on_error": { "message": "Error turning on LED: {error}." }, - "led_off_failed": { "message": "Failed to turn off LED." }, - "led_off_error": { "message": "Error turning off LED: {error}." }, - "tagtypes_load_failed": { "message": "Failed to load tag type definitions. No stored data available. Check network connectivity or GitHub access." }, - "tagtypes_refresh_failed": { "message": "Failed to refresh tag type definitions. Check network connectivity or GitHub access." }, - "no_hub_configured": { "message": "No AP hub configured. Only BLE devices found." }, - "ble_slots_unavailable": { "message": "No available Bluetooth connection slots for {mac_address}. Add more ESPHome Bluetooth proxies near this device or wait for existing connections to free up. Details: {error}." }, - "ble_device_not_found": { "message": "Device {mac_address} not found." }, - "ble_characteristic_not_resolved": { "message": "Could not resolve characteristic for service {service_uuid}." }, - "ble_connection_failed": { "message": "Failed to connect to {mac_address}: {error}." }, - "ble_write_char_missing": { "message": "Write characteristic not available." }, - "ble_timeout": { "message": "No response received from {mac_address} within {timeout}s." }, - "ble_operation_failed": { "message": "BLE operation {operation} failed after {attempts} attempts: {error}." }, - "ble_operation_retry": { "message": "BLE operation {operation} failed on attempt {attempt}: {error}. Retrying in {delay}s..." }, - "ble_protocol_invalid_response_length": { "message": "Invalid display info response length: {length} (expected at least {expected_length})." }, - "ble_protocol_invalid_command_id": { "message": "Invalid command ID in response: {command_id}." }, - "ble_protocol_payload_too_short": { "message": "Display info payload too short." }, - "opendisplay_config_chunk_short": { "message": "Chunk data too short: {length} bytes." }, - "opendisplay_expected_chunk_zero": { "message": "Expected chunk 0, got chunk {chunk_num}." }, - "opendisplay_config_too_short": { "message": "Config data too short: {length} bytes (need at least {minimum})." }, - "opendisplay_fw_response_short": { "message": "Firmware version response too short: {length} bytes." }, - "opendisplay_fw_version_format": { "message": "Firmware version SHA length {sha_length} exceeds payload ({payload_length} bytes)." }, - "tlv_section_too_short": { "message": "{section} requires {expected} bytes, got {actual}." }, - "tlv_data_too_short": { "message": "Config data too short: {length} bytes (minimum 2)." }, - "tlv_crc_mismatch": { "message": "CRC32 mismatch: expected {expected_crc32}, got {actual_crc32}." }, - "tlv_unknown_packet": { "message": "Unknown packet ID: {packet_id} at offset {offset}." }, - "tlv_packet_too_short": { "message": "Packet ID {packet_id} requires {packet_size} bytes, but only {remaining_bytes} bytes remaining at offset {offset}." }, - "tlv_packet_parse_failed": { "message": "Failed to parse packet type {packet_id} at offset {offset}: {error}." }, - "tlv_no_display_config": { "message": "No display configuration found in device config." }, - "tlv_invalid_dimensions": { "message": "Invalid pixel dimensions: {width}x{height}." }, - "config_flow_invalid_config": { "message": "Device returned invalid configuration data." }, - "config_flow_missing_config": { "message": "Device returned no configuration data." }, - "refresh_config_failed": { "message": "Failed to refresh configuration: {error}." }, - "multiple_errors": { "message": "Multiple errors occurred:\n{errors}" }, - "invalid_payload": { "message": "Invalid payload:\n{errors}" } - } -} +} \ No newline at end of file diff --git a/custom_components/opendisplay/translations/pl.json b/custom_components/opendisplay/translations/pl.json deleted file mode 100644 index 2ad5ff1..0000000 --- a/custom_components/opendisplay/translations/pl.json +++ /dev/null @@ -1,563 +0,0 @@ -{ - "config": { - "step": { - "bluetooth_confirm": { - "title": "Konfiguracja tagu BLE", - "description": "Skonfigurować **{name}**?\n\n**Szczegóły:**\n- Adres: {address}\n- Sygnał: {rssi} dBm\n- Bateria: {battery}\n- Firmware: {fw_version}\n- Wersja konfiguracji: {config_version}" - }, - "dhcp_confirm": { - "title": "Skonfiguruj {hostname} ({ip})", - "description": "Punkt dostępowy OpenDisplay został wykryty w sieci.\n\n**Szczegóły urządzenia:**\n- Nazwa hosta: {hostname}\n- Adres IP: {ip}\n- Adres MAC: {mac}\n\nCzy ten punkt dostępowy powinien zostać dodany do Home Assistant?" - }, - "reconfigure": { - "title": "Zaktualizuj punkt dostępowy", - "description": "Zaktualizuj adres punktu dostępowego OpenDisplay.", - "data": { - "host": "Host lub IP" - }, - "data_description": { - "host": "Nazwa hosta lub adres IP punktu dostępowego OpenDisplay." - } - }, - "user": { - "data": { - "host": "Host lub IP" - }, - "data_description": { - "host": "Nazwa hosta lub adres IP punktu dostępowego OpenDisplay." - } - } - }, - "error": { - "interrogation_failed": "Nie udało się połączyć z urządzeniem i odczytać informacji o wyświetlaczu. Błąd: {error}. Spróbuj ponownie lub sprawdź łączność urządzenia.", - "invalid_device_config": "Urządzenie zwróciło nieprawidłowe dane konfiguracyjne. Skonfiguruj urządzenie ponownie lub zaktualizuj jego firmware." - }, - "abort": { - "single_instance_allowed": "Tylko jeden hub OEPL może być skonfigurowany. Obsługiwanych jest wiele urządzeń BLE, ale tylko jeden hub AP.", - "unsupported_protocol": "Nieobsługiwany protokół firmware BLE. Obsługiwane są tylko ATC i OpenDisplay.", - "invalid_advertising_data": "Nie można przetworzyć danych reklamowych urządzenia. Upewnij się, że urządzenie używa kompatybilnego firmware.", - "no_reconfigure_ble": "Urządzenia BLE nie obsługują rekonfiguracji. Usuń i dodaj urządzenie ponownie, jeśli potrzebna jest zmiana ustawień.", - "cannot_connect": "Nie udało się połączyć z wykrytym punktem dostępowym. Sprawdź, czy urządzenie jest online i dostępne w sieci." - } - }, - "options": { - "step": { - "init": { - "title": "Zarządzanie tagami", - "description": "Wybierz tagi do umieszczenia na czarnej liście. Tagi z listy będą ukryte i ignorowane.", - "data": { - "blacklisted_tags": "Czarna lista tagów", - "button_debounce": "Opóźnienie przycisku (sekundy)", - "nfc_debounce": "Opóźnienie NFC (sekundy)", - "custom_font_dirs": "Niestandardowe katalogi czcionek" - }, - "data_description": { - "blacklisted_tags": "Tagi do ukrycia; tagi na czarnej liście nie będą aktualizowane ani wywoływały usług.", - "button_debounce": "Opóźnienie przed przyjęciem kolejnego naciśnięcia przycisku (sekundy).", - "nfc_debounce": "Opóźnienie przed przyjęciem kolejnego odczytu NFC (sekundy).", - "custom_font_dirs": "Katalogi z dodatkowymi czcionkami do generowanych obrazów (oddzielone przecinkami)." - } - } - }, - "abort": { - "no_options_ble": "Brak konfigurowalnych opcji dla urządzeń BLE. Urządzenia BLE są zarządzane automatycznie i nie wymagają dodatkowych ustawień." - } - }, - "entity": { - "switch": { - "preview": { - "name": "Podgląd obrazów na AP" - }, - "ble": { - "name": "Bluetooth LE" - }, - "nightlyreboot": { - "name": "Nocny restart" - }, - "showtimestamp": { - "name": "Pokaż znacznik czasu" - } - }, - "text": { - "alias": { - "name": "Alias" - }, - "repo": { - "name": "Repozytorium" - }, - "tag_alias": { - "name": "Alias" - } - }, - "select": { - "channel": { - "name": "Kanał" - }, - "led": { - "name": "Jasność diody RGB" - }, - "tft": { - "name": "Jasność TFT" - }, - "maxsleep": { - "name": "Maksymalny czas uśpienia" - }, - "lock": { - "name": "Zablokuj inwentarz tagów" - }, - "wifipower": { - "name": "Moc WiFi" - }, - "language": { - "name": "Język" - }, - "discovery": { - "name": "Metoda wykrywania" - }, - "subghzchannel": { - "name": "Kanał Sub-GHz" - }, - "sleeptime1": { - "name": "Brak aktualizacji między 1 (od)" - }, - "sleeptime2": { - "name": "Brak aktualizacji między 2 (do)" - } - }, - "sensor": { - "ip": { - "name": "Adres IP" - }, - "wifi_ssid": { - "name": "SSID WiFi" - }, - "record_count": { - "name": "Liczba tagów" - }, - "db_size": { - "name": "Rozmiar bazy danych" - }, - "little_fs_free": { - "name": "Wolne LittleFS" - }, - "ap_state": { - "name": "Stan" - }, - "run_state": { - "name": "Stan pracy" - }, - "wifi_rssi": { - "name": "RSSI WiFi" - }, - "heap": { - "name": "Wolna pamięć sterty" - }, - "sys_time": { - "name": "Czas systemowy" - }, - "uptime": { - "name": "Czas działania" - }, - "low_battery_tag_count": { - "name": "Liczba tagów z niskim poziomem baterii" - }, - "timeout_tag_count": { - "name": "Liczba tagów z przekroczonym czasem" - }, - "ps_ram_free": { - "name": "Wolny PSRAM" - }, - "temperature": { - "name": "Temperatura" - }, - "battery_voltage": { - "name": "Napięcie baterii" - }, - "battery_percentage": { - "name": "Poziom baterii" - }, - "last_seen": { - "name": "Ostatnio widziany" - }, - "next_update": { - "name": "Następna aktualizacja" - }, - "next_checkin": { - "name": "Następne zameldowanie" - }, - "lqi": { - "name": "Wskaźnik jakości łącza" - }, - "rssi": { - "name": "RSSI" - }, - "pending_updates": { - "name": "Oczekujące aktualizacje" - }, - "content_mode": { - "name": "Tryb zawartości" - }, - "wakeup_reason": { - "name": "Powód wybudzenia" - }, - "capabilities": { - "name": "Możliwości" - }, - "update_count": { - "name": "Liczba aktualizacji" - }, - "width": { - "name": "Szerokość" - }, - "height": { - "name": "Wysokość" - }, - "runtime": { - "name": "Czas działania" - }, - "boot_count": { - "name": "Liczba uruchomień" - }, - "checkin_count": { - "name": "Liczba zameldowań" - }, - "block_requests": { - "name": "Żądania transferu blokowego" - } - }, - "image": { - "content": { - "name": "Zawartość" - } - }, - "light": { - "led": { - "name": "LED" - } - }, - "button": { - "clear_pending": { - "name": "Wyczyść oczekujące aktualizacje" - }, - "force_refresh": { - "name": "Wymuś odświeżenie treści" - }, - "reboot_tag": { - "name": "Uruchom ponownie tag" - }, - "scan_channels": { - "name": "Skanuj kanały" - }, - "deep_sleep": { - "name": "Głęboki sen" - }, - "reboot_ap": { - "name": "Uruchom ponownie AP" - }, - "refresh_tag_types": { - "name": "Odśwież typy tagów" - }, - "refresh_config": { - "name": "Odśwież konfigurację" - } - }, - "update": { - "firmware": { - "name": "Oprogramowanie układowe" - }, - "opendisplay_ble_firmware": { - "name": "Oprogramowanie OpenDisplay" - } - } - }, - "issues": { - "camera_migration_needed": { - "title": "Przeniesiono encje kamer", - "description": "OpenDisplay przeniósł {count} encje kamer do encji obrazów. Zaktualizuj pulpity i automatyzacje, aby używać nowych encji obrazów. Usunięte encje: {entities}" - } - }, - "preview_features": { - "opendisplay_ble_updates": { - "name": "Aktualizacje firmware OpenDisplay", - "description": "Wyświetla encję aktualizacji firmware dla tagów OpenDisplay BLE, porównując z najnowszym wydaniem OpenDisplay_BLE na GitHub. Instalacja jeszcze niedostępna." - } - }, - "exceptions": { - "ble_device_not_detected": { - "message": "Urządzenie BLE {name} ({mac_address}) nie zostało wykryte w zasięgu Bluetooth." - }, - "ap_cannot_connect": { - "message": "Nie można połączyć z AP pod adresem {host}: {error}" - }, - "ap_failed_load_tags": { - "message": "Nie udało się wczytać tagów z AP pod adresem {host}: {error}" - }, - "ap_timeout_action": { - "message": "Przekroczono czas podczas {action}." - }, - "ap_network_error_action": { - "message": "Błąd sieci podczas {action}: {error}" - }, - "ap_failed_action_http": { - "message": "Nie udało się {action}: HTTP {status_code} - {response_text}" - }, - "device_not_found": { - "message": "Urządzenie {device_id} nie znalezione." - }, - "device_no_identifiers": { - "message": "Nie znaleziono identyfikatorów dla urządzenia {device_id}." - }, - "device_not_opendisplay": { - "message": "Urządzenie {device_id} nie jest urządzeniem OpenDisplay." - }, - "no_targets_specified": { - "message": "Nie określono urządzeń docelowych. Podaj device_id, label_id lub area_id." - }, - "ap_offline": { - "message": "AP OpenDisplay jest offline. Sprawdź połączenie sieciowe i stan AP." - }, - "error_processing_device": { - "message": "Nieoczekiwany błąd podczas przetwarzania urządzenia {entity_id}: {error}" - }, - "ble_upload_bt_disabled": { - "message": "Nie można wysłać do urządzenia BLE {entity_id}: integracja Bluetooth jest wyłączona lub brak dostępnych skanerów." - }, - "ble_no_metadata": { - "message": "Nie znaleziono metadanych dla urządzenia BLE {entity_id}." - }, - "ble_upload_failed": { - "message": "Przesłanie obrazu BLE dla {entity_id} nie powiodło się." - }, - "ble_direct_write_failed": { - "message": "Przesłanie bezpośrednie BLE dla {entity_id} nie powiodło się." - }, - "ble_direct_write_not_supported": { - "message": "Bezpośredni zapis jest obsługiwany tylko dla urządzeń OpenDisplay, a {entity_id} wygląda na urządzenie ATC." - }, - "image_upload_status": { - "message": "Przesyłanie obrazu dla {entity_id} nie powiodło się, kod statusu: {status_code}." - }, - "image_upload_timeout": { - "message": "Przesyłanie obrazu dla {entity_id} przekroczyło czas po {attempts} próbach." - }, - "image_upload_network": { - "message": "Błąd sieci podczas przesyłania obrazu dla {entity_id}: {error}." - }, - "image_upload_failed": { - "message": "Nie udało się przesłać obrazu dla {entity_id}: {error}." - }, - "unexpected_upload": { - "message": "Nieoczekiwany błąd przesyłania dla {entity_id}: {error}." - }, - "unexpected_ble_upload": { - "message": "Nieoczekiwany błąd podczas przesyłania BLE do {entity_id}: {error}." - }, - "unexpected_ble_direct_write": { - "message": "Nieoczekiwany błąd podczas bezpośredniego zapisu BLE do {entity_id}: {error}." - }, - "ap_tag_alias_update_failed": { - "message": "Nie udało się zaktualizować aliasu tagu {tag_mac}: AP zwrócił HTTP {status_code} - {response_text}." - }, - "ap_tag_alias_timeout": { - "message": "Przekroczono czas aktualizacji aliasu dla {tag_mac}. Sprawdź łączność z AP." - }, - "ap_tag_alias_network": { - "message": "Błąd sieci podczas aktualizacji aliasu dla {tag_mac}: {error}." - }, - "ap_tag_alias_unexpected": { - "message": "Nieoczekiwany błąd podczas aktualizacji aliasu dla {tag_mac}: {error}." - }, - "ap_offline_core": { - "message": "AP OpenDisplay jest offline." - }, - "invalid_entity_id_format": { - "message": "Nieprawidłowy format identyfikatora encji: {entity_id}." - }, - "tag_not_registered": { - "message": "Tag {tag_mac} nie jest zarejestrowany w AP. Jeśli tag się zameldował, spróbuj zrestartować Home Assistant." - }, - "tag_blacklisted": { - "message": "Tag {tag_mac} jest obecnie na czarnej liście. Usuń go w opcjach integracji, aby używać." - }, - "tag_inconsistent": { - "message": "Niespójny stan: Tag {tag_mac} jest znany, ale brak danych. Zgłoś jako błąd." - }, - "tag_no_hw_type": { - "message": "Brak typu sprzętu dla tagu {tag_mac}. Poczekaj na kolejny check-in tagu." - }, - "tag_unknown_hw_type": { - "message": "Nieznany typ sprzętu {hw_type} dla tagu {tag_mac}. Spróbuj odświeżyć typy tagów w opcjach integracji." - }, - "invalid_canvas_dimensions": { - "message": "Nieprawidłowe wymiary płótna {width}x{height} dla {entity_id}. Metadane urządzenia mogą być uszkodzone lub brakujące. Spróbuj przeładować integrację lub dodać urządzenie ponownie." - }, - "ble_tag_info_unexpected": { - "message": "Nieoczekiwany błąd podczas pobierania typu tagu dla {entity_id}: {error}." - }, - "ble_tag_info_unexpected_ble": { - "message": "Nieoczekiwany błąd podczas pobierania typu tagu BLE dla {entity_id}: {error}." - }, - "qr_generation_failed": { - "message": "Nie udało się wygenerować kodu QR: {error}." - }, - "image_entity_not_found": { - "message": "Encja obrazu {entity_id} nie została znaleziona." - }, - "image_entity_no_url": { - "message": "Nie znaleziono adresu URL obrazu dla encji {entity_id}." - }, - "image_download_failed": { - "message": "Nie udało się pobrać obrazu: HTTP {status_code}." - }, - "image_data_uri_invalid": { - "message": "Nieprawidłowy identyfikator URI danych: {error}." - }, - "image_process_failed": { - "message": "Nie udało się przetworzyć obrazu: {error}." - }, - "font_load_failed": { - "message": "Nie można załadować żadnej czcionki. Wskazuje to na problem z instalacją integracji." - }, - "plot_duration_invalid": { - "message": "duration musi być większe niż 0 sekund." - }, - "plot_no_data": { - "message": "Brak zarejestrowanych danych dla {entity_id}." - }, - "plot_no_valid_points": { - "message": "Brak prawidłowych punktów danych." - }, - "plot_yaxis_invalid": { - "message": "yaxis.tick_every musi być większe niż 0." - }, - "plot_xlegend_invalid": { - "message": "xlegend.interval musi być większe niż 0." - }, - "plot_draw_failed": { - "message": "Nie udało się narysować wykresu: {error}." - }, - "plot_bar_invalid": { - "message": "Nieprawidłowe dane słupków dla diagramu: {error}." - }, - "mdi_metadata_failed": { - "message": "Nie udało się załadować metadanych MDI: {error}." - }, - "icon_name_invalid": { - "message": "Nieprawidłowa nazwa ikony: {icon_name}." - }, - "icon_draw_failed": { - "message": "Nie udało się narysować ikony: {error}." - }, - "icon_draw_failed_named": { - "message": "Nie udało się narysować ikony {icon_name}: {error}." - }, - "led_on_failed": { - "message": "Nie udało się włączyć diody LED." - }, - "led_on_error": { - "message": "Błąd podczas włączania diody LED: {error}." - }, - "led_off_failed": { - "message": "Nie udało się wyłączyć diody LED." - }, - "led_off_error": { - "message": "Błąd podczas wyłączania diody LED: {error}." - }, - "tagtypes_load_failed": { - "message": "Nie udało się załadować definicji typów tagów. Brak zapisanych danych. Sprawdź łączność sieciową lub dostęp do GitHub." - }, - "tagtypes_refresh_failed": { - "message": "Nie udało się odświeżyć definicji typów tagów. Sprawdź łączność sieciową lub dostęp do GitHub." - }, - "no_hub_configured": { - "message": "Brak skonfigurowanego huba AP. Znaleziono tylko urządzenia BLE." - }, - "ble_slots_unavailable": { - "message": "Brak dostępnych slotów połączeń Bluetooth dla {mac_address}. Dodaj więcej proxy Bluetooth ESPHome w pobliżu lub poczekaj na zwolnienie połączeń. Szczegóły: {error}." - }, - "ble_device_not_found": { - "message": "Urządzenie {mac_address} nie zostało znalezione." - }, - "ble_characteristic_not_resolved": { - "message": "Nie udało się ustalić charakterystyki dla usługi {service_uuid}." - }, - "ble_connection_failed": { - "message": "Nie udało się połączyć z {mac_address}: {error}." - }, - "ble_write_char_missing": { - "message": "Brak dostępnej charakterystyki zapisu." - }, - "ble_timeout": { - "message": "Brak odpowiedzi od {mac_address} w ciągu {timeout}s." - }, - "ble_operation_failed": { - "message": "Operacja BLE {operation} nie powiodła się po {attempts} próbach: {error}." - }, - "ble_operation_retry": { - "message": "Operacja BLE {operation} nie powiodła się w próbie {attempt}: {error}. Ponowna próba za {delay}s..." - }, - "ble_protocol_invalid_response_length": { - "message": "Nieprawidłowa długość odpowiedzi informacji o wyświetlaczu: {length} (oczekiwano co najmniej {expected_length})." - }, - "ble_protocol_invalid_command_id": { - "message": "Nieprawidłowy identyfikator polecenia w odpowiedzi: {command_id}." - }, - "ble_protocol_payload_too_short": { - "message": "Ładunek informacji o wyświetlaczu jest zbyt krótki." - }, - "opendisplay_config_chunk_short": { - "message": "Dane fragmentu są zbyt krótkie: {length} bajtów." - }, - "opendisplay_expected_chunk_zero": { - "message": "Oczekiwano fragmentu 0, otrzymano fragment {chunk_num}." - }, - "opendisplay_config_too_short": { - "message": "Dane konfiguracji są zbyt krótkie: {length} bajtów (wymagane co najmniej {minimum})." - }, - "opendisplay_fw_response_short": { - "message": "Odpowiedź wersji firmware jest zbyt krótka: {length} bajtów." - }, - "opendisplay_fw_version_format": { - "message": "Długość SHA wersji firmware {sha_length} przekracza ładunek ({payload_length} bajtów)." - }, - "tlv_section_too_short": { - "message": "{section} wymaga {expected} bajtów, otrzymano {actual}." - }, - "tlv_data_too_short": { - "message": "Dane konfiguracji są zbyt krótkie: {length} bajtów (minimum 2)." - }, - "tlv_crc_mismatch": { - "message": "Niezgodność CRC32: oczekiwano {expected_crc32}, otrzymano {actual_crc32}." - }, - "tlv_unknown_packet": { - "message": "Nieznany identyfikator pakietu: {packet_id} przy przesunięciu {offset}." - }, - "tlv_packet_too_short": { - "message": "Pakiet o ID {packet_id} wymaga {packet_size} bajtów, ale pozostało tylko {remaining_bytes} bajtów przy przesunięciu {offset}." - }, - "tlv_packet_parse_failed": { - "message": "Nie udało się przetworzyć pakietu {packet_id} przy przesunięciu {offset}: {error}." - }, - "tlv_no_display_config": { - "message": "Brak konfiguracji wyświetlacza w danych urządzenia." - }, - "tlv_invalid_dimensions": { - "message": "Nieprawidłowe wymiary pikseli: {width}x{height}." - }, - "config_flow_invalid_config": { - "message": "Urządzenie zwróciło nieprawidłowe dane konfiguracyjne." - }, - "config_flow_missing_config": { - "message": "Urządzenie nie zwróciło danych konfiguracyjnych." - }, - "refresh_config_failed": { - "message": "Nie udało się odświeżyć konfiguracji: {error}." - }, - "multiple_errors": { - "message": "Wystąpiło wiele błędów:\n{errors}" - }, - "invalid_payload": { - "message": "Nieprawidłowy ładunek:\n{errors}" - } - } -} diff --git a/custom_components/opendisplay/translations/pt.json b/custom_components/opendisplay/translations/pt.json deleted file mode 100644 index 1986557..0000000 --- a/custom_components/opendisplay/translations/pt.json +++ /dev/null @@ -1,377 +0,0 @@ -{ - "config": { - "step": { - "bluetooth_confirm": { - "title": "Configurar Etiqueta BLE", - "description": "Configurar **{name}**?\n\n**Detalhes:**\n- Endereço: {address}\n- Sinal: {rssi} dBm\n- Bateria: {battery}\n- Firmware: {fw_version}\n- Versão Config: {config_version}" - }, - "dhcp_confirm": { - "title": "Configurar {hostname} ({ip})", - "description": "Um ponto de acesso OpenDisplay foi descoberto na rede.\n\n**Detalhes do dispositivo:**\n- Nome do host: {hostname}\n- Endereço IP: {ip}\n- Endereço MAC: {mac}\n\nEste ponto de acesso deve ser adicionado ao Home Assistant?" - }, - "reconfigure": { - "title": "Atualizar Ponto de Acesso", - "description": "Atualize o endereço do ponto de acesso OpenDisplay.", - "data": { - "host": "Host ou IP" - }, - "data_description": { - "host": "Nome do host ou IP do ponto de acesso OpenDisplay." - } - }, - "user": { - "data": { - "host": "Host ou IP" - }, - "data_description": { - "host": "Nome do host ou IP do ponto de acesso OpenDisplay." - } - } - }, - "error": { - "interrogation_failed": "Falha ao conectar ao dispositivo e recuperar informações do display. Erro: {error}. Tente novamente ou verifique a conectividade do dispositivo.", - "invalid_device_config": "O dispositivo retornou dados de configuração inválidos. Por favor, reconfigure o dispositivo ou atualize o firmware." - }, - "abort": { - "single_instance_allowed": "Apenas um hub OEPL pode ser configurado. Múltiplos dispositivos BLE são suportados, mas apenas um hub AP é permitido.", - "unsupported_protocol": "Protocolo de firmware BLE não suportado. Apenas firmware ATC e OpenDisplay são suportados.", - "invalid_advertising_data": "Não foi possível analisar os dados de advertising do dispositivo. Por favor, certifique-se de que o dispositivo está usando firmware compatível.", - "no_reconfigure_ble": "Dispositivos BLE não suportam reconfiguração. Remova e adicione o dispositivo novamente se precisar alterar suas definições.", - "cannot_connect": "Falha ao conectar ao ponto de acesso descoberto. Verifique se o dispositivo está online e acessível na rede." - } - }, - "options": { - "step": { - "init": { - "title": "Gestão de Etiquetas", - "description": "Selecione as etiquetas para lista negra. Etiquetas na lista negra serão ocultadas e ignoradas.", - "data": { - "blacklisted_tags": "Etiquetas na Lista Negra", - "button_debounce": "Tempo de Debounce do Botão (segundos)", - "nfc_debounce": "Tempo de Debounce NFC (segundos)", - "custom_font_dirs": "Diretórios de Fontes Personalizadas" - }, - "data_description": { - "blacklisted_tags": "Tags para ocultar; tags na lista negra não serão atualizadas nem disparam serviços.", - "button_debounce": "Atraso antes de aceitar outro acionamento do botão (segundos).", - "nfc_debounce": "Atraso antes de aceitar outro toque NFC (segundos).", - "custom_font_dirs": "Diretórios separados por vírgula com fontes adicionais para imagens geradas." - } - } - }, - "abort": { - "no_options_ble": "Não há opções configuráveis disponíveis para dispositivos BLE. Os dispositivos BLE são gerenciados automaticamente e não requerem configuração adicional." - } - }, - "entity": { - "switch": { - "preview": { - "name": "Pré-visualizar Imagens no AP" - }, - "ble": { - "name": "Bluetooth LE" - }, - "nightlyreboot": { - "name": "Reinício Noturno" - }, - "showtimestamp": { - "name": "Mostrar carimbo de tempo" - } - }, - "text": { - "alias": { - "name": "Alias" - }, - "repo": { - "name": "Repositório" - }, - "tag_alias": { - "name": "Alias" - } - }, - "select": { - "channel": { - "name": "Canal" - }, - "led": { - "name": "Brilho do LED RGB" - }, - "tft": { - "name": "Brilho do TFT" - }, - "maxsleep": { - "name": "Tempo máximo de sono" - }, - "lock": { - "name": "Bloquear inventário de etiquetas" - }, - "wifipower": { - "name": "Potência do WiFi" - }, - "language": { - "name": "Idioma" - }, - "discovery": { - "name": "Método de Descoberta" - }, - "subghzchannel": { - "name": "Canal Sub-GHz" - }, - "sleeptime1": { - "name": "Sem atualizações entre 1 (de)" - }, - "sleeptime2": { - "name": "Sem atualizações entre 2 (para)" - } - }, - "sensor": { - "ip": { - "name": "Endereço IP" - }, - "wifi_ssid": { - "name": "WiFi SSID" - }, - "record_count": { - "name": "Contagem de Etiquetas" - }, - "db_size": { - "name": "Tamanho da Base de Dados" - }, - "little_fs_free": { - "name": "LittleFS Livre" - }, - "ap_state": { - "name": "Estado" - }, - "run_state": { - "name": "Estado de Execução" - }, - "wifi_rssi": { - "name": "WiFi RSSI" - }, - "heap": { - "name": "Heap Livre" - }, - "sys_time": { - "name": "Hora do Sistema" - }, - "uptime": { - "name": "Tempo de Atividade" - }, - "low_battery_tag_count": { - "name": "Contagem de Etiquetas com Bateria Fraca" - }, - "timeout_tag_count": { - "name": "Contagem de Etiquetas Expiradas" - }, - "ps_ram_free": { - "name": "PSRAM Livre" - }, - "temperature": { - "name": "Temperatura" - }, - "battery_voltage": { - "name": "Voltagem da Bateria" - }, - "battery_percentage": { - "name": "Percentagem da Bateria" - }, - "last_seen": { - "name": "Última Vez Visto" - }, - "next_update": { - "name": "Próxima Atualização" - }, - "next_checkin": { - "name": "Próximo Checkin" - }, - "lqi": { - "name": "Índice de Qualidade de Ligação" - }, - "rssi": { - "name": "RSSI" - }, - "pending_updates": { - "name": "Atualizações Pendentes" - }, - "content_mode": { - "name": "Modo de Conteúdo" - }, - "wakeup_reason": { - "name": "Razão de Despertar" - }, - "capabilities": { - "name": "Capacidades" - }, - "update_count": { - "name": "Contagem de Atualizações" - }, - "width": { - "name": "Largura" - }, - "height": { - "name": "Altura" - }, - "runtime": { - "name": "Tempo de Execução" - }, - "boot_count": { - "name": "Contagem de Arranques" - }, - "checkin_count": { - "name": "Contagem de Checkins" - }, - "block_requests": { - "name": "Bloquear Pedidos de Transferência" - } - }, - "image": { - "content": { - "name": "Conteúdo" - } - }, - "light": { - "led": { - "name": "LED" - } - }, - "button": { - "clear_pending": { - "name": "Limpar Atualizações Pendentes" - }, - "force_refresh": { - "name": "Forçar Atualização de Conteúdo" - }, - "reboot_tag": { - "name": "Reiniciar Etiqueta" - }, - "scan_channels": { - "name": "Analisar Canais" - }, - "deep_sleep": { - "name": "Sono Profundo" - }, - "reboot_ap": { - "name": "Reiniciar AP" - }, - "refresh_tag_types": { - "name": "Atualizar Tipos de Etiqueta" - }, - "refresh_config": { - "name": "Atualizar Configuração" - } - }, - "update": { - "firmware": { - "name": "Firmware" - }, - "opendisplay_ble_firmware": { - "name": "Firmware OpenDisplay" - } - } - }, - "issues": { - "camera_migration_needed": { - "title": "Entidades de câmera migradas", - "description": "OpenDisplay migrou {count} entidades de câmera para entidades de imagem. Atualize os seus dashboards e automações para usar as novas entidades de imagem. Entidades removidas: {entities}" - } - }, - "preview_features": { - "opendisplay_ble_updates": { - "name": "Atualizações de firmware OpenDisplay", - "description": "Mostra uma entidade de atualização de firmware para tags OpenDisplay BLE comparando a versão instalada com o último release do OpenDisplay_BLE no GitHub. Instalação ainda não disponível." - } - }, - "exceptions": { - "ble_device_not_detected": "Dispositivo BLE {name} ({mac_address}) não detectado no alcance do Bluetooth.", - "ap_cannot_connect": "Não foi possível conectar ao AP em {host}: {error}.", - "ap_failed_load_tags": "Não foi possível carregar tags do AP em {host}: {error}.", - "ap_timeout_action": "Tempo esgotado durante {action}.", - "ap_network_error_action": "Erro de rede durante {action}: {error}.", - "ap_failed_action_http": "Falha ao {action}: HTTP {status_code} - {response_text}.", - "device_not_found": "Dispositivo {device_id} não encontrado.", - "device_no_identifiers": "Nenhum identificador encontrado para o dispositivo {device_id}.", - "device_not_opendisplay": "O dispositivo {device_id} não é um dispositivo OpenDisplay.", - "no_targets_specified": "Nenhum dispositivo de destino especificado. Informe device_id, label_id ou area_id.", - "ap_offline": "O AP OpenDisplay está offline. Verifique a conexão de rede e o status do AP.", - "error_processing_device": "Erro inesperado ao processar o dispositivo {entity_id}: {error}.", - "ble_upload_bt_disabled": "Não é possível enviar para o dispositivo BLE {entity_id}: integração Bluetooth desativada ou sem scanners disponíveis.", - "ble_no_metadata": "Nenhum metadado encontrado para o dispositivo BLE {entity_id}.", - "ble_upload_failed": "Falha no envio de imagem BLE para {entity_id}.", - "ble_direct_write_not_supported": "Gravação direta é suportada apenas para dispositivos OpenDisplay, mas {entity_id} parece ser um dispositivo ATC.", - "image_upload_status": "Falha no upload de imagem para {entity_id} com código de status: {status_code}.", - "image_upload_timeout": "Tempo esgotado no upload de imagem para {entity_id} após {attempts} tentativas.", - "image_upload_network": "Erro de rede ao enviar imagem para {entity_id}: {error}.", - "image_upload_failed": "Falha ao enviar imagem para {entity_id}: {error}.", - "unexpected_upload": "Erro inesperado de upload para {entity_id}: {error}.", - "unexpected_ble_upload": "Erro inesperado durante upload BLE para {entity_id}: {error}.", - "unexpected_ble_direct_write": "Erro inesperado durante gravação direta BLE para {entity_id}: {error}.", - "ap_tag_alias_update_failed": "Falha ao atualizar o alias do tag {tag_mac}: AP retornou HTTP {status_code} - {response_text}.", - "ap_tag_alias_timeout": "Tempo esgotado ao atualizar o alias de {tag_mac}. Verifique a conectividade com o AP.", - "ap_tag_alias_network": "Erro de rede ao atualizar o alias de {tag_mac}: {error}.", - "ap_tag_alias_unexpected": "Erro inesperado ao atualizar o alias de {tag_mac}: {error}.", - "ap_offline_core": "O AP OpenDisplay está offline.", - "tag_not_registered": "Tag {tag_mac} não está registrada no AP. Se o tag fez check-in, tente reiniciar o Home Assistant.", - "tag_blacklisted": "Tag {tag_mac} está atualmente na lista de bloqueio. Remova-a nas opções da integração para utilizá-la.", - "tag_inconsistent": "Estado inconsistente: Tag {tag_mac} é conhecida, mas não há dados. Relate como bug.", - "tag_no_hw_type": "Nenhum tipo de hardware encontrado para o tag {tag_mac}. Aguarde o próximo check-in do tag.", - "tag_unknown_hw_type": "Tipo de hardware {hw_type} desconhecido para o tag {tag_mac}. Tente atualizar os tipos de tag nas opções da integração.", - "invalid_canvas_dimensions": "Dimensões inválidas da tela {width}x{height} para {entity_id}. Metadados do dispositivo podem estar corrompidos ou ausentes. Recarregue a integração ou readicione o dispositivo.", - "ble_tag_info_unexpected": "Erro inesperado ao obter o tipo do tag para {entity_id}: {error}.", - "ble_tag_info_unexpected_ble": "Erro inesperado ao obter o tipo do tag BLE para {entity_id}: {error}.", - "qr_generation_failed": "Falha ao gerar QR code: {error}.", - "image_entity_not_found": "Entidade de imagem {entity_id} não encontrada.", - "image_entity_no_url": "Nenhuma URL de imagem encontrada para a entidade {entity_id}.", - "image_download_failed": "Falha ao baixar a imagem: HTTP {status_code}.", - "image_data_uri_invalid": "Data URI inválida: {error}.", - "image_process_failed": "Falha ao processar a imagem: {error}.", - "font_load_failed": "Não foi possível carregar nenhuma fonte. Isso indica um problema na instalação da integração.", - "plot_duration_invalid": "duration deve ser maior que 0 segundos.", - "plot_no_data": "Nenhum dado registrado encontrado para {entity_id}.", - "plot_no_valid_points": "Nenhum ponto de dado válido encontrado.", - "plot_yaxis_invalid": "yaxis.tick_every deve ser maior que 0.", - "plot_xlegend_invalid": "xlegend.interval deve ser maior que 0.", - "plot_draw_failed": "Falha ao desenhar o gráfico: {error}.", - "plot_bar_invalid": "Dados de barra inválidos para o diagrama: {error}.", - "mdi_metadata_failed": "Falha ao carregar metadados MDI: {error}.", - "icon_name_invalid": "Nome de ícone inválido: {icon_name}.", - "icon_draw_failed": "Falha ao desenhar o ícone: {error}.", - "icon_draw_failed_named": "Falha ao desenhar o ícone {icon_name}: {error}.", - "led_on_failed": "Não foi possível ligar o LED.", - "led_on_error": "Erro ao ligar o LED: {error}.", - "led_off_failed": "Não foi possível desligar o LED.", - "led_off_error": "Erro ao desligar o LED: {error}.", - "tagtypes_load_failed": "Não foi possível carregar definições de tipos de tag. Nenhum dado armazenado disponível. Verifique conectividade de rede ou acesso ao GitHub.", - "tagtypes_refresh_failed": "Não foi possível atualizar definições de tipos de tag. Verifique conectividade de rede ou acesso ao GitHub.", - "no_hub_configured": "Nenhum hub AP configurado. Apenas dispositivos BLE encontrados.", - "ble_slots_unavailable": "Sem slots de conexão Bluetooth disponíveis para {mac_address}. Adicione mais proxies Bluetooth ESPHome próximos ou aguarde conexões liberarem. Detalhes: {error}.", - "ble_device_not_found": "Dispositivo {mac_address} não encontrado.", - "ble_characteristic_not_resolved": "Não foi possível resolver a característica para o serviço {service_uuid}.", - "ble_connection_failed": "Falha ao conectar a {mac_address}: {error}.", - "ble_write_char_missing": "Característica de escrita não disponível.", - "ble_timeout": "Nenhuma resposta recebida de {mac_address} em {timeout}s.", - "ble_operation_failed": "Operação BLE {operation} falhou após {attempts} tentativas: {error}.", - "ble_operation_retry": "Operação BLE {operation} falhou na tentativa {attempt}: {error}. Nova tentativa em {delay}s...", - "opendisplay_config_chunk_short": "Dados do chunk curtos demais: {length} bytes.", - "opendisplay_expected_chunk_zero": "Esperado o chunk 0, recebido o chunk {chunk_num}.", - "opendisplay_config_too_short": "Dados de configuração curtos demais: {length} bytes (mínimo {minimum}).", - "opendisplay_fw_response_short": "Resposta de firmware curta demais: {length} bytes.", - "opendisplay_fw_version_format": "Tamanho do SHA de firmware {sha_length} excede o payload ({payload_length} bytes).", - "tlv_section_too_short": "{section} requer {expected} bytes, recebido {actual}.", - "tlv_data_too_short": "Dados de configuração curtos demais: {length} bytes (mínimo 2).", - "tlv_crc_mismatch": "CRC32 não confere: esperado {expected_crc32}, obtido {actual_crc32}.", - "tlv_unknown_packet": "ID de pacote desconhecida: {packet_id} no deslocamento {offset}.", - "tlv_packet_too_short": "ID de pacote {packet_id} requer {packet_size} bytes, mas restam apenas {remaining_bytes} bytes no deslocamento {offset}.", - "tlv_packet_parse_failed": "Falha ao analisar o pacote {packet_id} no deslocamento {offset}: {error}.", - "tlv_no_display_config": "Nenhuma configuração de display encontrada nos dados do dispositivo.", - "tlv_invalid_dimensions": "Dimensões de pixels inválidas: {width}x{height}.", - "config_flow_invalid_config": "O dispositivo retornou dados de configuração inválidos.", - "config_flow_missing_config": "O dispositivo não retornou dados de configuração.", - "refresh_config_failed": "Falha ao atualizar a configuração: {error}.", - "ble_protocol_invalid_response_length": "Comprimento inválido da resposta de informações do display: {length} (mínimo {expected_length}).", - "ble_protocol_invalid_command_id": "ID de comando inválida na resposta: {command_id}.", - "ble_protocol_payload_too_short": "Payload de informações do display curto demais.", - "multiple_errors": { "message": "Ocorreram vários erros:\n{errors}" }, - "invalid_payload": { "message": "Payload inválido:\n{errors}" } - } -} diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py deleted file mode 100644 index 104493f..0000000 --- a/custom_components/opendisplay/update.py +++ /dev/null @@ -1,214 +0,0 @@ -from __future__ import annotations - -from datetime import datetime, timedelta -import logging - -from awesomeversion import AwesomeVersion -from homeassistant.components.labs import async_is_preview_feature_enabled, async_listen -from homeassistant.components.update import ( - UpdateDeviceClass, - UpdateEntity, - UpdateEntityFeature, -) -from homeassistant.core import HomeAssistant, callback -from homeassistant.helpers.aiohttp_client import async_get_clientsession -from homeassistant.helpers.entity import EntityCategory -from homeassistant.helpers.entity_platform import AddEntitiesCallback - -from .ble import BLEDeviceMetadata -from .const import DOMAIN -from .entity import OpenDisplayBLEEntity -from .runtime_data import OpenDisplayBLERuntimeData -from .util import is_ble_entry - -_LOGGER = logging.getLogger(__name__) - -GITHUB_LATEST_URL = "https://api.github.com/repos/OpenDisplay-org/Firmware/releases/latest" -DEFAULT_RELEASE_URL = "https://github.com/OpenDisplay-org/Firmware/releases" -CACHE_DURATION = timedelta(hours=6) - - -async def async_setup_entry( - hass: HomeAssistant, entry, async_add_entities: AddEntitiesCallback -) -> None: - """Set up OpenDisplay firmware update entity for BLE entries when Labs is enabled.""" - entry_data = entry.runtime_data - if not is_ble_entry(entry_data): - return - - added: dict[str, OpenDisplayBleUpdateEntity] = {} - - async def _remove_entity(entity: "OpenDisplayBleUpdateEntity") -> None: - await entity.async_remove() - if entity.entity_id: - from homeassistant.helpers import entity_registry as er - - er.async_get(hass).async_remove(entity.entity_id) - - @callback - def _sync_feature_state() -> None: - enabled = async_is_preview_feature_enabled(hass, DOMAIN, "opendisplay_ble_updates") - - if enabled and entry.entry_id not in added: - metadata = BLEDeviceMetadata(entry_data.device_metadata or {}) - if not metadata.is_open_display: - _LOGGER.debug( - "Skipping update entity for %s (not OpenDisplay)", entry_data.mac_address - ) - return # OpenDisplay-only - _LOGGER.debug( - "Enabling OpenDisplay firmware update entity for %s", entry_data.mac_address - ) - entity = OpenDisplayBleUpdateEntity(hass, entry, entry_data) - added[entry.entry_id] = entity - async_add_entities([entity]) - return - - if not enabled and (entity := added.pop(entry.entry_id, None)): - _LOGGER.debug( - "Labs disabled; removing OpenDisplay firmware update entity for %s", - entry_data.mac_address, - ) - hass.async_create_task(_remove_entity(entity)) - - # Listen for Labs toggle - entry.async_on_unload( - async_listen(hass, DOMAIN, "opendisplay_ble_updates", _sync_feature_state) - ) - - # Apply current state - _sync_feature_state() - - -class OpenDisplayBleUpdateEntity(OpenDisplayBLEEntity, UpdateEntity): - """Firmware update indicator for OpenDisplay tags.""" - - _attr_has_entity_name = True - _attr_translation_key = "opendisplay_ble_firmware" - _attr_device_class = UpdateDeviceClass.FIRMWARE - _attr_entity_category = EntityCategory.DIAGNOSTIC - _attr_supported_features = UpdateEntityFeature.RELEASE_NOTES - _attr_should_poll = True - _attr_entity_registry_enabled_default = True - - def __init__( - self, - hass: HomeAssistant, - entry, - runtime_data: OpenDisplayBLERuntimeData, - ) -> None: - self.hass = hass - self._entry_data = runtime_data - self._entry = entry - self._latest_version: str | None = None - self._release_url: str | None = None - self._release_notes: str | None = None - self._last_checked: datetime | None = None - self._last_fetch_error: str | None = None - self._mac = runtime_data.mac_address - self._name = runtime_data.name - self._session = async_get_clientsession(hass) - super().__init__(self._mac, self._name, entry) - self._attr_unique_id = f"opendisplay_ble_{self._mac}_firmware_update" - self._attr_installed_version = self._compute_installed_version() - - @property - def available(self) -> bool: - """Keep the update entity available even if the tag is offline.""" - return True - - def _compute_installed_version(self) -> str | None: - metadata_dict = self._entry_data.device_metadata or {} - metadata = BLEDeviceMetadata(metadata_dict) - fw = metadata.fw_version - if fw not in ("", 0, None): - _LOGGER.debug("Firmware from metadata for %s: %s", self._mac, fw) - return str(fw) - - from homeassistant.helpers import device_registry as dr - - device_registry = dr.async_get(self.hass) - device = device_registry.async_get_device( - identifiers={(DOMAIN, f"ble_{self._mac}")}, - ) - if device and device.sw_version and device.sw_version.lower() != "unknown": - _LOGGER.debug( - "Firmware from device registry for %s: %s", - self._mac, - device.sw_version, - ) - return device.sw_version - - _LOGGER.debug( - "No firmware version available for %s; metadata=%s registry=%s", - self._mac, - metadata_dict, - device.sw_version if device else None, - ) - return None - - @property - def installed_version(self) -> str | None: - return self._attr_installed_version - - @property - def latest_version(self) -> str | None: - return self._latest_version - - @property - def release_url(self) -> str | None: - return self._release_url or DEFAULT_RELEASE_URL - - async def async_release_notes(self) -> str | None: - return self._release_notes - - async def async_added_to_hass(self) -> None: - # Ensure we have fresh installed_version and fetch latest once on add - self._attr_installed_version = self._compute_installed_version() - await self.async_update() - self.async_write_ha_state() - - async def async_update(self) -> None: - """Refresh installed_version (in case metadata changed) and latest version from GitHub (cached).""" - self._attr_installed_version = self._compute_installed_version() - - now = datetime.utcnow() - if self._last_checked and now - self._last_checked < CACHE_DURATION: - return - - try: - async with self._session.get( - GITHUB_LATEST_URL, - headers={ - "Accept": "application/vnd.github+json", - "User-Agent": "HomeAssistant-OpenDisplay-Firmware-update-entity", - }, - raise_for_status=True, - ) as resp: - data = await resp.json() - - tag = data.get("tag_name") or data.get("name") - if not tag: - _LOGGER.debug("No tag_name/name in GitHub response for %s", self._mac) - return - - normalized = tag[1:] if tag.startswith("v") else tag - self._latest_version = normalized - self._release_url = data.get("html_url") or DEFAULT_RELEASE_URL - self._release_notes = data.get("body") - self._last_checked = now - self._last_fetch_error = None - except Exception as err: - msg = str(err) - if msg != self._last_fetch_error: - _LOGGER.error("Failed to fetch OpenDisplay firmware latest version: %s", msg) - self._last_fetch_error = msg - else: - _LOGGER.debug("Failed to fetch OpenDisplay firmware latest version: %s", msg) - - def version_is_newer(self, latest_version: str, installed_version: str) -> bool: - """Use AwesomeVersion for comparison.""" - try: - return AwesomeVersion(latest_version) > AwesomeVersion(installed_version) - except Exception: - return latest_version != installed_version diff --git a/custom_components/opendisplay/upload.py b/custom_components/opendisplay/upload.py deleted file mode 100644 index 28a39cb..0000000 --- a/custom_components/opendisplay/upload.py +++ /dev/null @@ -1,559 +0,0 @@ -from __future__ import annotations - -import asyncio -import logging -from datetime import datetime -from io import BytesIO -from time import perf_counter -from typing import Final - -import async_timeout -import requests -from requests_toolbelt import MultipartEncoder -from PIL import Image - -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import ServiceValidationError, HomeAssistantError -from homeassistant.helpers.dispatcher import async_dispatcher_send -from .runtime_data import OpenDisplayBLERuntimeData -from .const import DOMAIN, SIGNAL_TAG_IMAGE_UPDATE -from .ble import BLEConnection, BLEImageUploader, BLEDeviceMetadata, get_protocol_by_name, BLEConnectionError, \ - BLETimeoutError, BLEProtocolError - -_LOGGER: Final = logging.getLogger(__name__) - -DITHER_DISABLED = 0 -DITHER_FLOYD_BURKES = 1 -DITHER_ORDERED = 2 -DITHER_DEFAULT = DITHER_ORDERED - -MAX_RETRIES = 3 -INITIAL_BACKOFF = 2 # seconds - - -def image_to_jpeg_bytes(image: Image.Image, quality: int | str = 95) -> bytes: - """Encode a PIL image as JPEG bytes for AP upload or HA image preview.""" - buffer = BytesIO() - image.convert("RGB").save(buffer, format="JPEG", quality=quality) - return buffer.getvalue() - - -class UploadQueueHandler: - """Handle queued image uploads to the AP. - - Manages a queue of image upload tasks to prevent overwhelming the AP with concurrent requests. - - Features include: - - - Maximum concurrent upload limit - - Cooldown period between uploads - - Task tracking and status reporting - - This helps maintain AP stability while processing multiple image requests from different parts of Home Assistant. - """ - - def __init__(self, max_concurrent: int = 1, cooldown: float = 1.0): - """Initialize the upload queue handler. - - Args: - max_concurrent: Maximum number of concurrent uploads (default: 1) - cooldown: Cooldown period in seconds between uploads (default: 1.0) - """ - self._queue = asyncio.Queue() - self._max_concurrent = max_concurrent - self._cooldown = cooldown - self._active_uploads = 0 - self._last_upload = None - self._lock = asyncio.Lock() - self._processing = False - self._processor_task = None # Track the processor task - self._errors = [] # Collect errors from failed uploads - - def __str__(self): - """Return queue status string.""" - return f"Queue(active={self._active_uploads}, size={self._queue.qsize()})" - - async def add_to_queue(self, upload_func, *args, **kwargs): - """Add an upload task to the queue. - - Queues an upload function with its arguments for later execution. - Starts the queue processor if it's not already running. - - Args: - upload_func: Async function that performs the actual upload - *args: Positional arguments to pass to the upload function - **kwargs: Keyword arguments to pass to the upload function - """ - - entity_id = next((arg for arg in args if isinstance(arg, str) and "." in arg), "unknown") - - _LOGGER.debug("Adding upload task to queue for %s. %s", entity_id, self) - # Add a task to the queue - await self._queue.put((upload_func, args, kwargs)) - - # Start the processing queue if not already running - if not self._processing: - _LOGGER.debug("Starting upload queue processor for %s", entity_id) - self._processor_task = asyncio.create_task(self._process_queue()) - - async def wait_for_current_batch(self): - """Wait for all currently queued uploads to complete. - - This allows service handlers to wait for uploads without blocking - the Home Assistant event loop (uses async/await). - - Returns: - list: List of exception messages from failed uploads (empty if all succeeded) - """ - if self._processor_task and not self._processor_task.done(): - _LOGGER.debug("Waiting for upload queue to complete") - await self._processor_task - - # Retrieve any errors that were collected during processing - if self._errors: - errors = self._errors.copy() - self._errors = [] # Clear for next batch - return errors - - return [] # No errors - - async def _process_queue(self): - """Process queued upload tasks with true parallelism. - - Long-running task that processes the upload queue, respecting: - - - Maximum concurrent upload limit - - Cooldown period between uploads - - Creates background tasks for parallel execution instead of blocking. - Handles errors in individual uploads without stopping queue processing. - This method runs until the queue is empty, then terminates. - """ - self._processing = True - _LOGGER.debug("Upload queue processor started. %s", self) - - running_tasks = set() - - try: - while not self._queue.empty() or running_tasks: - # Clean up completed tasks - if running_tasks: - done_tasks = {task for task in running_tasks if task.done()} - for task in done_tasks: - running_tasks.remove(task) - # Get the result to propagate any exceptions - try: - await task - except (ServiceValidationError, HomeAssistantError) as err: - # Collect validation and operational errors - _LOGGER.error("Background upload task failed: %s", str(err)) - # Don't raise - collect error and continue processing other uploads - if not hasattr(self, '_errors'): - self._errors = [] - self._errors.append(str(err)) - except Exception as err: - # Unexpected errors - collect and continue - _LOGGER.error("Unexpected background upload error: %s", str(err), exc_info=True) - if not hasattr(self, '_errors'): - self._errors = [] - self._errors.append(f"Unexpected upload error: {str(err)}") - - # Check if new uploads can be started - async with self._lock: - if (not self._queue.empty() and - self._active_uploads < self._max_concurrent): - - # Check cooldown period - if self._last_upload: - elapsed = (datetime.now() - self._last_upload).total_seconds() - if elapsed < self._cooldown: - _LOGGER.debug("In cooldown period (%.1f seconds remaining)", - self._cooldown - elapsed) - await asyncio.sleep(self._cooldown - elapsed) - - # Get next task from queue - upload_func, args, kwargs = await self._queue.get() - entity_id = next((arg for arg in args if isinstance(arg, str) and "." in arg), "unknown") - - # Create and start background task - task = asyncio.create_task(self._execute_upload(upload_func, args, kwargs, entity_id)) - running_tasks.add(task) - - # Update last upload timestamp - self._last_upload = datetime.now() - - else: - # Wait a bit before checking again - await asyncio.sleep(0.1) - - finally: - self._processing = False - _LOGGER.debug("Upload queue processor finished. %s", self) - # Errors are stored in self._errors and will be retrieved by wait_for_current_batch() - # Don't raise here - let the caller handle them - - async def _execute_upload(self, upload_func, args, kwargs, entity_id): - """Execute a single upload task in the background.""" - try: - # TODO don't we need the incrementation logic here? - _LOGGER.debug("Starting upload for %s", entity_id) - await upload_func(*args, **kwargs) - _LOGGER.info("Successfully completed upload for %s", entity_id) - - except (ServiceValidationError, HomeAssistantError) as err: - # Log and re-raise - let service handler collect errors - _LOGGER.error("Upload failed for %s: %s", entity_id, str(err)) - raise - except Exception as err: - # Unexpected error - wrap and raise - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="unexpected_upload", - translation_placeholders={"entity_id": entity_id, "error": str(err)}, - ) from err - finally: - # Decrement active upload counter - async with self._lock: - self._active_uploads -= 1 - # Mark task as done - self._queue.task_done() - _LOGGER.debug("Upload task for %s finished. %s", entity_id, self) - - -async def upload_to_hub(hub, entity_id: str, img: Image.Image, dither: int, ttl: int, - preload_type: int = 0, preload_lut: int = 0, lut: int = 1, - render_duration: float | None = None) -> None: - """Upload image to tag through AP. - - Sends an image to the AP for display on a specific tag using - multipart/form-data POST request. Configures display parameters - such as dithering, TTL, and optional preloading. - - Will retry upload on timeout, with increasing backoff times - - Args: - hub: Hub instance with connection details - entity_id: Entity ID of the target tag - img: Rendered image to encode and upload - dither: Dithering mode (0=none, 1=Floyd-Steinberg, 2=ordered) - ttl: Time-to-live in seconds - preload_type: Type for image preloading (0=disabled) - preload_lut: Look-up table for preloading - lut: Display refresh LUT mode (1=full, 3=fast, 2=fast no-reds, 0=no-repeats) - render_duration: Time spent rendering the image before upload, in seconds - Raises: - HomeAssistantError: If upload fails or times out - """ - url = f"http://{hub.host}/imgupload" - mac = entity_id.split(".")[1].upper() - - _LOGGER.debug("Preparing upload for %s (MAC: %s)", entity_id, mac) - _LOGGER.debug("Upload parameters: dither=%d, ttl=%d, preload_type=%d, preload_lut=%d, lut=%d", - dither, ttl, preload_type, preload_lut, lut) - - # Convert TTL fom seconds to minutes for the AP - ttl_minutes = max(1, ttl // 60) - encode_start = perf_counter() - jpeg_bytes = await hub.hass.async_add_executor_job(image_to_jpeg_bytes, img, "maximum") - jpeg_encode_duration = perf_counter() - encode_start - - backoff_delay = INITIAL_BACKOFF # Try up to MAX_RETRIES times to upload the image, retrying on TimeoutError. - send_start = perf_counter() - response = None - - for attempt in range(1, MAX_RETRIES + 1): - try: - - # Create a new MultipartEncoder for each attempt - fields = { - 'mac': mac, - 'contentmode': "25", - 'dither': str(dither), - 'ttl': str(ttl_minutes), - 'lut': str(lut), - 'image': ('image.jpg', jpeg_bytes, 'image/jpeg'), - } - - if preload_type > 0: - fields.update({ - 'preloadtype': str(preload_type), - 'preloadlut': str(preload_lut), - }) - - mp_encoder = MultipartEncoder(fields=fields) - - async with async_timeout.timeout(30): # 30 second timeout for upload - response = await hub.hass.async_add_executor_job( - lambda: requests.post( - url, - headers={'Content-Type': mp_encoder.content_type}, - data=mp_encoder - ) - ) - - if response.status_code != 200: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_upload_status", - translation_placeholders={"entity_id": entity_id, "status_code": response.status_code} - ) - break - - except asyncio.TimeoutError: - if attempt < MAX_RETRIES: - _LOGGER.warning( - "Timeout uploading %s (attempt %d/%d), retrying in %ds…", - entity_id, attempt, MAX_RETRIES, backoff_delay - ) - await asyncio.sleep(backoff_delay) - backoff_delay *= 2 - continue - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_upload_timeout", - translation_placeholders={"entity_id": entity_id, "attempts": MAX_RETRIES} - ) - - except requests.exceptions.RequestException as err: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_upload_network", - translation_placeholders={"entity_id": entity_id, "error": str(err)} - ) from err - - except Exception as err: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="image_upload_failed", - translation_placeholders={"entity_id": entity_id, "error": str(err)} - ) from err - - send_duration = perf_counter() - send_start - _LOGGER.info( - "AP upload completed for %s: render=%.3fs jpeg_encode=%.3fs send=%.3fs status=%s", - entity_id, - render_duration or 0.0, - jpeg_encode_duration, - send_duration, - response.status_code if response is not None else "unknown", - ) - - -async def upload_to_ble_block( - hass: HomeAssistant, - entity_id: str, - img: Image.Image, - dither: int = 2, - render_duration: float | None = None, -) -> None: - """Upload image to BLE tag using block-based protocol. - - Sends an image to a BLE tag using direct Bluetooth communication. - This bypasses the AP and provides faster upload times. - - Uses protocol-specific service UUID based on device firmware type. - This method is used for ATC devices and as fallback for OpenDisplay devices. - - Args: - hass: Home Assistant instance - entity_id: Entity ID of the target tag - img: Rendered image to prepare and upload - dither: Dithering mode (0=none, 1=Burkes, 2=ordered) - render_duration: Time spent rendering the image before upload, in seconds - - Raises: - HomeAssistantError: If BLE upload fails - """ - - mac = entity_id.split(".")[1].upper() - _LOGGER.debug("Preparing BLE block-based upload for %s (MAC: %s)", entity_id, mac) - - try: - # Get device metadata from Home Assistant data - device_metadata = None - protocol_type = "atc" # Default to ATC for backward compatibility - - # Find the config entry for this BLE device - for entry in hass.config_entries.async_entries(DOMAIN): - runtime_data = getattr(entry, 'runtime_data', None) - if runtime_data is not None and isinstance(runtime_data, OpenDisplayBLERuntimeData): - if runtime_data.mac_address.upper() == mac: - device_metadata = runtime_data.device_metadata - protocol_type = runtime_data.protocol_type - break - - - if not device_metadata: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="ble_no_metadata", - translation_placeholders={"entity_id": entity_id} - ) - - # Get protocol handler for service UUID - protocol = get_protocol_by_name(protocol_type) - _LOGGER.debug("Using protocol %s for device %s", protocol_type, entity_id) - - # Wrap metadata and create DeviceMetadata object - metadata = BLEDeviceMetadata(device_metadata) - - # Upload via BLE using protocol-specific service UUID - async with BLEConnection(hass, mac, protocol.service_uuid, protocol) as conn: - uploader = BLEImageUploader(conn, mac) - success, processed_image = await uploader.upload_image_block_based( - img, - metadata, - protocol_type, - dither, - render_duration, - ) - - if not success: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ble_upload_failed", - translation_placeholders={"entity_id": entity_id} - ) - - if processed_image is not None: - # Undo rotation for display (ATC rotation is for device memory, not viewing) - display_image = processed_image - if protocol_type == "atc" and metadata.rotatebuffer == 1: - display_image = processed_image.transpose(Image.Transpose.ROTATE_270) - - jpeg_bytes = await hass.async_add_executor_job( - image_to_jpeg_bytes, display_image, 95 - ) - async_dispatcher_send( - hass, - f"{SIGNAL_TAG_IMAGE_UPDATE}_{mac}", - jpeg_bytes - ) - - except ServiceValidationError: - raise # Config/validation errors - propagate unchanged - except (BLEConnectionError, BLETimeoutError, BLEProtocolError) as err: - # BLE-specific errors already inherit from HomeAssistantError - raise # Propagate with specific type - except Exception as err: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="unexpected_ble_upload", - translation_placeholders={"entity_id": entity_id, "error": str(err)} - ) from err - - -async def upload_to_ble_direct( - hass: HomeAssistant, - entity_id: str, - img: Image.Image, - allow_compression: bool = False, - dither: int = 2, - refresh_type: int = 0, - render_duration: float | None = None, -) -> None: - """Upload image to BLE tag using direct write protocol (OpenDisplay only). - - Sends an image to an OpenDisplay BLE tag using direct write mode. - This is faster than block-based upload and supports all color schemes. - - Args: - hass: Home Assistant instance - entity_id: Entity ID of the target tag - img: Rendered image to prepare and upload - allow_compression: Whether zip compression may be used if the result fits - dither: Dithering mode (0=none, 1=Burkes, 2=ordered) - refresh_type: Display refresh mode (0=full, 1=fast, 2=partial, 3=partial2) - render_duration: Time spent rendering the image before upload, in seconds - Raises: - HomeAssistantError: If BLE direct write upload fails - """ - mac = entity_id.split(".")[1].upper() - _LOGGER.debug( - "Preparing BLE direct write upload for %s (MAC: %s, allow_compression=%s, refresh_type=%d)", - entity_id, - mac, - allow_compression, - refresh_type - ) - - try: - # Get device metadata from Home Assistant data - device_metadata = None - protocol_type = "open_display" # Direct write is OpenDisplay only - - # Find the config entry for this BLE device - for entry in hass.config_entries.async_entries(DOMAIN): - runtime_data = getattr(entry, 'runtime_data', None) - if runtime_data is not None and isinstance(runtime_data, OpenDisplayBLERuntimeData): - if runtime_data.mac_address.upper() == mac: - device_metadata = runtime_data.device_metadata - protocol_type = runtime_data.protocol_type - break - - if not device_metadata: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="ble_no_metadata", - translation_placeholders={"entity_id": entity_id} - ) - - # Verify this is an OpenDisplay device - metadata = BLEDeviceMetadata(device_metadata) - if not metadata.is_open_display: - raise ServiceValidationError( - translation_domain=DOMAIN, - translation_key="ble_direct_write_not_supported", - translation_placeholders={"entity_id": entity_id} - ) - - # Get protocol handler for service UUID - protocol = get_protocol_by_name(protocol_type) - _LOGGER.debug("Using protocol %s for direct write on device %s", protocol_type, entity_id) - - # Upload via BLE using direct write protocol - async with BLEConnection(hass, mac, protocol.service_uuid, protocol) as conn: - uploader = BLEImageUploader(conn, mac) - success, processed_image = await uploader.upload_direct_write( - img, - metadata, - allow_compression, - dither, - refresh_type, - render_duration, - ) - - if not success: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="ble_direct_write_failed", - translation_placeholders={"entity_id": entity_id} - ) - - if processed_image is not None: - jpeg_bytes = await hass.async_add_executor_job( - image_to_jpeg_bytes, processed_image, 95 - ) - async_dispatcher_send( - hass, - f"{SIGNAL_TAG_IMAGE_UPDATE}_{mac}", - jpeg_bytes - ) - - except ServiceValidationError: - raise # Config/validation errors - propagate unchanged - except (BLEConnectionError, BLETimeoutError, BLEProtocolError) as err: - raise # BLE operational errors - propagate unchanged - except Exception as err: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="unexpected_ble_direct_write", - translation_placeholders={"entity_id": entity_id, "error": str(err)} - ) from err - - -def create_upload_queues() -> tuple[UploadQueueHandler, UploadQueueHandler]: - """Create BLE and Hub upload queues with appropriate settings.""" - ble_queue = UploadQueueHandler(max_concurrent=1, cooldown=0.1) - hub_queue = UploadQueueHandler(max_concurrent=1, cooldown=1.0) - return ble_queue, hub_queue diff --git a/custom_components/opendisplay/util.py b/custom_components/opendisplay/util.py deleted file mode 100644 index aa9393d..0000000 --- a/custom_components/opendisplay/util.py +++ /dev/null @@ -1,181 +0,0 @@ -from __future__ import annotations - -from .const import DOMAIN -import requests -import logging -from homeassistant.core import HomeAssistant -from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers.dispatcher import async_dispatcher_send -from .runtime_data import OpenDisplayBLERuntimeData - -_LOGGER = logging.getLogger(__name__) - - -def is_bluetooth_available(hass: HomeAssistant) -> bool: - """Check if Bluetooth integration is available with working scanners. - - Args: - hass: Home Assistant instance - - Returns: - bool: True if Bluetooth integration is loaded with available scanners, False otherwise - """ - try: - # First check if bluetooth integration is loaded - if "bluetooth" not in hass.config.components: - return False - - # Then check if connectable Bluetooth scanners are available - from homeassistant.components import bluetooth - scanner_count = bluetooth.async_scanner_count(hass, connectable=True) - return scanner_count > 0 - - except (ImportError, AttributeError, Exception) as err: - _LOGGER.debug("Bluetooth availability check failed: %s", err) - return False - - -def get_image_folder(hass: HomeAssistant) -> str: - """Return the folder where images are stored. - - Provides the path to the www/opendisplay directory where - generated images are stored. This allows image access through - Home Assistant's web server. - - Args: - hass: Home Assistant instance for config path access - - Returns: - str: Absolute path to the image storage directory - """ - return hass.config.path("www/opendisplay") - - -def get_image_path(hass: HomeAssistant, entity_id: str) -> str: - """Return the path to the image file for a specific tag. - - Generates the full path to a tag's image file, following the - naming convention: opendisplay..jpg - - Args: - hass: Home Assistant instance for config path access - entity_id: The entity ID for the tag (domain.tag_mac) - - Returns: - str: Absolute path to the tag's image file - """ - return hass.config.path("www/opendisplay/opendisplay." + str(entity_id).lower() + ".jpg") - - -def get_hub_from_hass(hass: HomeAssistant): - """ - Get the AP Hub instance from config entries. - - Iterates through all integration config entries to find the AP Hub object, - filtering out BLE entries which are OpenDisplayBLEData instances. - - Args: - hass: Home Assistant instance - - Returns: - Hub: The OEPL AP Hub instance - - Raises: - HomeAssistantError: If no AP hub is configured - """ - for entry in hass.config_entries.async_entries(DOMAIN): - if hasattr(entry, 'runtime_data') and entry.runtime_data is not None: - if not isinstance(entry.runtime_data, OpenDisplayBLERuntimeData): - return entry.runtime_data - - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="no_hub_configured", - ) - - -def is_ble_entry(entry_data) -> bool: - """ - Check if entry data represents a BLE device. - - Args: - entry_data: Runtime data from entry.runtime_data - - Returns: - bool: True if the entry represents a BLE device - """ - return isinstance(entry_data, OpenDisplayBLERuntimeData) - - -def rgb_to_rgb332(rgb: tuple[int, int, int]) -> str: - """Convert RGB values to RGB332 format. - - Converts a standard RGB color tuple (0-255 for each component) - to the 8-bit RGB332 format used by OpenDisplay for LED patterns. - - Args: - rgb: Tuple of (r, g, b) values, each 0-255 - - Returns: - str: Hexadecimal string representation of the RGB332 value - """ - r, g, b = [max(0, min(255, x)) for x in rgb] - r = (r // 32) & 0b111 - g = (g // 32) & 0b111 - b = (b // 64) & 0b11 - rgb332 = (r << 5) | (g << 2) | b - return str(hex(rgb332)[2:].zfill(2)) - - -def int_to_hex_string(number: int) -> str: - """Convert integer to two-digit hex string. - - Args: - number: Integer value to convert - - Returns: - str: Two-digit hexadecimal string - """ - hex_string = hex(number)[2:] - return '0' + hex_string if len(hex_string) == 1 else hex_string - - -def get_mac_from_entity_id(entity_id: str) -> str: - """Extract MAC address from entity_id. - - Args: - entity_id: Entity ID in format 'domain.mac_address' - - Returns: - str: Uppercase MAC address - """ - return entity_id.split(".")[1].upper() - - -def is_ble_device(hass: HomeAssistant, entity_id: str) -> bool: - """Check if entity represents a BLE device (vs AP/Hub device). - - Looks up device in registry and checks if identifier starts with 'ble_'. - - Args: - hass: Home Assistant instance - entity_id: Entity ID in format 'domain.mac_address' - - Returns: - bool: True if BLE device, False if Hub device or not found - """ - from homeassistant.helpers import device_registry as dr - - mac = entity_id.split(".")[1].upper() - device_registry = dr.async_get(hass) - - for device in device_registry.devices.values(): - for identifier in device.identifiers: - if identifier[0] == DOMAIN: - device_mac = identifier[1] - if device_mac.startswith("ble_"): - device_mac = device_mac[4:] - if device_mac.upper() == mac: - return identifier[1].startswith("ble_") - - return False From f307e8b9f000b5fbd6bc2b4941973036b0935828 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 14:13:18 +0200 Subject: [PATCH 03/65] chore: adapt manifest for custom component (remove quality_scale, add odl-renderer, bump py-opendisplay to 7.2.5) --- custom_components/opendisplay/manifest.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index d433568..f6a34ef 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -14,6 +14,5 @@ "integration_type": "device", "iot_class": "local_push", "loggers": ["opendisplay"], - "quality_scale": "silver", - "requirements": ["py-opendisplay==7.2.3"] + "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.7"] } From 7f4226ba6965ed4683b0196c4b69fb499a11884f Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 14:16:15 +0200 Subject: [PATCH 04/65] feat: add drawcustom service using odl-renderer --- custom_components/opendisplay/icons.json | 3 + custom_components/opendisplay/services.py | 209 ++++++++++++++++++++ custom_components/opendisplay/services.yaml | 74 +++++++ custom_components/opendisplay/strings.json | 36 ++++ 4 files changed, 322 insertions(+) diff --git a/custom_components/opendisplay/icons.json b/custom_components/opendisplay/icons.json index e3e394c..801f909 100644 --- a/custom_components/opendisplay/icons.json +++ b/custom_components/opendisplay/icons.json @@ -2,6 +2,9 @@ "services": { "upload_image": { "service": "mdi:image-move" + }, + "drawcustom": { + "service": "mdi:draw" } } } diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 9bbf17d..658f443 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -6,9 +6,12 @@ from datetime import timedelta from enum import IntEnum import io +import logging from typing import TYPE_CHECKING, Any import aiohttp +from epaper_dithering import ColorScheme +from odl_renderer import generate_image from opendisplay import ( AuthenticationFailedError, AuthenticationRequiredError, @@ -238,6 +241,211 @@ async def _async_upload_image(call: ServiceCall) -> None: entry.runtime_data.upload_task = None +_LOGGER = logging.getLogger(__name__) + + +class HADataProvider: + """Provides HA recorder history data to odl_renderer plot elements.""" + + def __init__(self, hass: HomeAssistant) -> None: + self._hass = hass + + async def get_history( + self, + entity_ids: list[str], + start: Any, + end: Any, + ) -> dict[str, list[dict]]: + from functools import partial + + from homeassistant.components.recorder import get_instance + from homeassistant.components.recorder.history import get_significant_states + + raw = await get_instance(self._hass).async_add_executor_job( + partial( + get_significant_states, + self._hass, + start, + end, + entity_ids, + significant_changes_only=False, + minimal_response=True, + no_attributes=False, + ) + ) + result: dict[str, list[dict]] = {} + for entity_id, states in raw.items(): + if not states: + result[entity_id] = [] + continue + first = states[0] + result[entity_id] = [ + {"state": first.state, "last_changed": str(first.last_changed)}, + *states[1:], + ] + return result + + +def _get_entry_for_device_id( + hass: HomeAssistant, device_id: str +) -> "OpenDisplayConfigEntry": + """Return the config entry for a raw device_id string.""" + device_registry = dr.async_get(hass) + if (device := device_registry.async_get(device_id)) is None: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="invalid_device_id", + translation_placeholders={"device_id": device_id}, + ) + mac_address = next( + (conn[1] for conn in device.connections if conn[0] == CONNECTION_BLUETOOTH), + None, + ) + if mac_address is None: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="invalid_device_id", + translation_placeholders={"device_id": device_id}, + ) + entry = hass.config_entries.async_entry_for_domain_unique_id(DOMAIN, mac_address) + if entry is None or entry.state is not ConfigEntryState.LOADED: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="device_not_found", + translation_placeholders={"address": mac_address}, + ) + return entry + + +async def _get_device_ids_from_label(hass: HomeAssistant, label_id: str) -> list[str]: + device_registry = dr.async_get(hass) + entry_ids = {e.entry_id for e in hass.config_entries.async_entries(DOMAIN)} + return [ + d.id + for d in dr.async_entries_for_label(device_registry, label_id) + if d.config_entries & entry_ids + ] + + +async def _get_device_ids_from_area(hass: HomeAssistant, area_id: str) -> list[str]: + device_registry = dr.async_get(hass) + entry_ids = {e.entry_id for e in hass.config_entries.async_entries(DOMAIN)} + return [ + d.id + for d in dr.async_entries_for_area(device_registry, area_id) + if d.config_entries & entry_ids + ] + + +async def _async_drawcustom(call: ServiceCall) -> None: + """Handle the drawcustom service call.""" + hass = call.hass + + device_ids: list[str] = list(call.data.get("device_id", [])) + if isinstance(device_ids, str): + device_ids = [device_ids] + for label_id in call.data.get("label_id", []): + device_ids.extend(await _get_device_ids_from_label(hass, label_id)) + for area_id in call.data.get("area_id", []): + device_ids.extend(await _get_device_ids_from_area(hass, area_id)) + + seen: set[str] = set() + unique_ids = [d for d in device_ids if not (d in seen or seen.add(d))] # type: ignore[func-returns-value] + if not unique_ids: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="no_targets_specified", + ) + + errors: list[str] = [] + for device_id in unique_ids: + try: + await _drawcustom_for_device(hass, device_id, call) + except (HomeAssistantError, ServiceValidationError) as err: + errors.append(f"{device_id}: {err}") + if errors: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="multiple_errors", + translation_placeholders={"errors": "\n".join(errors)}, + ) + + +async def _drawcustom_for_device( + hass: HomeAssistant, device_id: str, call: ServiceCall +) -> None: + entry = _get_entry_for_device_id(hass, device_id) + display = entry.runtime_data.device_config.displays[0] + cs = display.color_scheme_enum + color_scheme = cs if isinstance(cs, ColorScheme) else ColorScheme.from_value(cs) + + img = await generate_image( + width=display.pixel_width, + height=display.pixel_height, + elements=call.data.get("payload", []), + background=call.data.get("background", "white"), + accent_color=color_scheme.accent_color, + session=async_get_clientsession(hass), + data_provider=HADataProvider(hass), + ) + + rotate = call.data.get("rotate", 0) + if rotate: + img = img.rotate(rotate, expand=True) + + if call.data.get("dry-run", False): + _LOGGER.info("Drawcustom dry run for device %s", device_id) + return + + dither_mode: DitherMode = _str_to_int_enum(DitherMode)( + call.data.get("dither", "ordered") + ) + refresh_type = int(call.data.get("refresh_type", 0)) + refresh_mode = RefreshMode.FAST if refresh_type == 1 else RefreshMode.FULL + + address = entry.unique_id + assert address is not None + ble_device = async_ble_device_from_address(hass, address, connectable=True) + if ble_device is None: + raise HomeAssistantError( + translation_domain=DOMAIN, + translation_key="device_not_found", + translation_placeholders={"address": address}, + ) + + raw_key = entry.data.get(CONF_ENCRYPTION_KEY) + if raw_key is not None and len(raw_key) != 32: + entry.async_start_reauth(hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) + try: + encryption_key = bytes.fromhex(raw_key) if raw_key is not None else None + except ValueError as err: + entry.async_start_reauth(hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) from err + + try: + async with OpenDisplayDevice( + mac_address=address, + ble_device=ble_device, + config=entry.runtime_data.device_config, + encryption_key=encryption_key, + ) as device: + await device.upload_image(img, refresh_mode=refresh_mode, dither_mode=dither_mode) + except (AuthenticationFailedError, AuthenticationRequiredError) as err: + entry.async_start_reauth(hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) from err + except OpenDisplayError as err: + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="upload_error" + ) from err + + @callback def async_setup_services(hass: HomeAssistant) -> None: """Register OpenDisplay services.""" @@ -247,3 +455,4 @@ def async_setup_services(hass: HomeAssistant) -> None: _async_upload_image, schema=SCHEMA_UPLOAD_IMAGE, ) + hass.services.async_register(DOMAIN, "drawcustom", _async_drawcustom) diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index 856c942..db79ee4 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -68,3 +68,77 @@ upload_image: step: 1 mode: slider unit_of_measurement: "%" + +drawcustom: + name: Draw Custom Image + description: Draws a custom image on one or more OpenDisplay devices + target: + fields: + payload: + name: Payload + description: Drawing elements array (see drawcustom documentation) + required: true + example: > + [{"type": "text", "value": "Hello!", "x": 0, "y": 0, "size": 40}] + selector: + object: + background: + name: Background color + description: Background color + required: true + example: white + selector: + select: + options: + - "white" + - "black" + - "accent" + - "red" + - "yellow" + rotate: + name: Rotation + description: Rotation in degrees (0, 90, 180, 270) + required: true + default: 0 + selector: + number: + min: 0 + max: 270 + step: 90 + dither: + name: Dither mode + description: Dithering algorithm + required: true + default: "ordered" + selector: + select: + translation_key: dither_mode + options: + - "none" + - "burkes" + - "ordered" + - "floyd_steinberg" + - "atkinson" + - "stucki" + - "sierra" + - "sierra_lite" + - "jarvis_judice_ninke" + refresh_type: + name: Refresh type + description: E-paper refresh mode (0=full, 1=fast) + required: false + default: "0" + selector: + select: + options: + - label: "Full (best quality)" + value: "0" + - label: "Fast" + value: "1" + dry-run: + name: Dry run + description: Generate image without sending to device + required: true + default: false + selector: + boolean: diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 0d3e8e9..25ebf4a 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -83,6 +83,12 @@ "media_download_error": { "message": "Failed to download media: {error}" }, + "multiple_errors": { + "message": "Errors occurred for one or more devices:\n{errors}" + }, + "no_targets_specified": { + "message": "No target devices specified." + }, "upload_error": { "message": "Failed to upload image to the display." } @@ -155,6 +161,36 @@ "name": "Additional options" } } + }, + "drawcustom": { + "description": "Draws a custom image on one or more OpenDisplay devices.", + "fields": { + "payload": { + "description": "Array of drawing elements.", + "name": "Payload" + }, + "background": { + "description": "Background fill color.", + "name": "Background color" + }, + "rotate": { + "description": "Clockwise rotation in degrees.", + "name": "Rotation" + }, + "dither": { + "description": "Dithering algorithm for color palette conversion.", + "name": "Dither mode" + }, + "refresh_type": { + "description": "Display refresh mode.", + "name": "Refresh type" + }, + "dry-run": { + "description": "Generate image without uploading to the device.", + "name": "Dry run" + } + }, + "name": "Draw custom image" } } } From 8f52faa78a31095e7da81de57de03e444ec06418 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 16:05:22 +0200 Subject: [PATCH 05/65] feat: add touch event entities for OpenDisplay touch controllers --- custom_components/opendisplay/__init__.py | 12 ++- custom_components/opendisplay/coordinator.py | 15 ++- custom_components/opendisplay/entity.py | 12 ++- custom_components/opendisplay/event.py | 103 +++++++++++++++---- custom_components/opendisplay/strings.json | 12 +++ 5 files changed, 130 insertions(+), 24 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 4fcc7c9..e517c00 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -146,13 +146,21 @@ async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) ) await hass.config_entries.async_forward_entry_setups( - entry, _FLEX_PLATFORMS if is_flex else _BASE_PLATFORMS + entry, _get_platforms(entry.runtime_data) ) entry.async_on_unload(coordinator.async_start()) return True +def _get_platforms(runtime_data: OpenDisplayRuntimeData) -> list[Platform]: + """Return the platforms to set up for this device.""" + platforms = list(_FLEX_PLATFORMS if runtime_data.is_flex else _BASE_PLATFORMS) + if not runtime_data.is_flex and runtime_data.device_config.touch_controllers: + platforms.append(Platform.EVENT) + return platforms + + async def async_unload_entry( hass: HomeAssistant, entry: OpenDisplayConfigEntry ) -> bool: @@ -163,5 +171,5 @@ async def async_unload_entry( await task return await hass.config_entries.async_unload_platforms( - entry, _FLEX_PLATFORMS if entry.runtime_data.is_flex else _BASE_PLATFORMS + entry, _get_platforms(entry.runtime_data) ) diff --git a/custom_components/opendisplay/coordinator.py b/custom_components/opendisplay/coordinator.py index ab65f0e..b79eaa6 100644 --- a/custom_components/opendisplay/coordinator.py +++ b/custom_components/opendisplay/coordinator.py @@ -4,7 +4,12 @@ import logging from opendisplay import MANUFACTURER_ID, AdvertisementTracker, parse_advertisement -from opendisplay.models.advertisement import AdvertisementData, ButtonChangeEvent +from opendisplay.models.advertisement import ( + AdvertisementData, + ButtonChangeEvent, + TouchChangeEvent, + TouchTracker, +) from homeassistant.components.bluetooth import ( BluetoothChange, @@ -26,6 +31,7 @@ class OpenDisplayUpdate: address: str advertisement: AdvertisementData button_events: list[ButtonChangeEvent] = field(default_factory=list) + touch_events: list[TouchChangeEvent] = field(default_factory=list) class OpenDisplayCoordinator(PassiveBluetoothDataUpdateCoordinator): @@ -42,6 +48,7 @@ def __init__(self, hass: HomeAssistant, address: str) -> None: ) self.data: OpenDisplayUpdate | None = None self._tracker: AdvertisementTracker = AdvertisementTracker() + self.touch_trackers: list[TouchTracker] = [] @callback def _async_handle_unavailable( @@ -79,10 +86,16 @@ def _async_handle_bluetooth_event( ) else: button_events = self._tracker.update(service_info.address, advertisement) + touch_events: list[TouchChangeEvent] = [] + for touch_tracker in self.touch_trackers: + touch_events.extend( + touch_tracker.update(service_info.address, advertisement) + ) self.data = OpenDisplayUpdate( address=service_info.address, advertisement=advertisement, button_events=button_events, + touch_events=touch_events, ) super()._async_handle_bluetooth_event(service_info, change) diff --git a/custom_components/opendisplay/entity.py b/custom_components/opendisplay/entity.py index 6220218..7cd13bc 100644 --- a/custom_components/opendisplay/entity.py +++ b/custom_components/opendisplay/entity.py @@ -1,5 +1,7 @@ """Base entity for OpenDisplay devices.""" +from typing import Generic, TypeVar + from homeassistant.components.bluetooth.passive_update_coordinator import ( PassiveBluetoothCoordinatorEntity, ) @@ -8,16 +10,22 @@ from .coordinator import OpenDisplayCoordinator +_DescriptionT = TypeVar("_DescriptionT", bound=EntityDescription) + -class OpenDisplayEntity(PassiveBluetoothCoordinatorEntity[OpenDisplayCoordinator]): +class OpenDisplayEntity( + PassiveBluetoothCoordinatorEntity[OpenDisplayCoordinator], + Generic[_DescriptionT], +): """Base class for all OpenDisplay entities.""" _attr_has_entity_name = True + entity_description: _DescriptionT def __init__( self, coordinator: OpenDisplayCoordinator, - description: EntityDescription, + description: _DescriptionT, ) -> None: """Initialize the entity.""" super().__init__(coordinator) diff --git a/custom_components/opendisplay/event.py b/custom_components/opendisplay/event.py index df3d05c..e5891af 100644 --- a/custom_components/opendisplay/event.py +++ b/custom_components/opendisplay/event.py @@ -1,7 +1,9 @@ -"""Event platform for OpenDisplay devices — button press/release events.""" +"""Event platform for OpenDisplay devices — button press/release and touch events.""" from dataclasses import dataclass +from opendisplay.models.advertisement import TouchTracker + from homeassistant.components.event import ( EventDeviceClass, EventEntity, @@ -25,21 +27,41 @@ class OpenDisplayEventEntityDescription(EventEntityDescription): button_id: int +@dataclass(frozen=True, kw_only=True) +class OpenDisplayTouchEntityDescription(EventEntityDescription): + """Describes an OpenDisplay touch event entity.""" + + instance: int + + async def async_setup_entry( hass: HomeAssistant, entry: OpenDisplayConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, ) -> None: - """Set up OpenDisplay event entities from binary_inputs device config.""" + """Set up OpenDisplay event entities from binary_inputs and touch_controllers config.""" coordinator = entry.runtime_data.coordinator + entity_registry = er.async_get(hass) - descriptions: list[OpenDisplayEventEntityDescription] = [] + def _remove_stale(prefix: str, active_ids: set[str]) -> None: + for entity_entry in er.async_entries_for_config_entry( + entity_registry, entry.entry_id + ): + if ( + entity_entry.domain == "event" + and entity_entry.unique_id.startswith(prefix) + and entity_entry.unique_id not in active_ids + ): + entity_registry.async_remove(entity_entry.entity_id) + + # --- Button entities --- + button_descriptions: list[OpenDisplayEventEntityDescription] = [] button_number = 0 for bi in entry.runtime_data.device_config.binary_inputs: for button_id in range(8): # input_flags is a bitmask over 8 pin slots if bi.input_flags & (1 << button_id): button_number += 1 - descriptions.append( + button_descriptions.append( OpenDisplayEventEntityDescription( key=f"button_{bi.instance_number}_{button_id}", translation_key="button", @@ -51,28 +73,49 @@ async def async_setup_entry( ) ) - active_unique_ids = {f"{coordinator.address}-{d.key}" for d in descriptions} - button_unique_id_prefix = f"{coordinator.address}-button_" - entity_registry = er.async_get(hass) - for entity_entry in er.async_entries_for_config_entry( - entity_registry, entry.entry_id - ): - if ( - entity_entry.domain == "event" - and entity_entry.unique_id.startswith(button_unique_id_prefix) - and entity_entry.unique_id not in active_unique_ids - ): - entity_registry.async_remove(entity_entry.entity_id) + _remove_stale( + f"{coordinator.address}-button_", + {f"{coordinator.address}-{d.key}" for d in button_descriptions}, + ) + # --- Touch entities --- + touch_descriptions: list[OpenDisplayTouchEntityDescription] = [] + touch_trackers: list[TouchTracker] = [] + for number, tc in enumerate(entry.runtime_data.device_config.touch_controllers, 1): + touch_descriptions.append( + OpenDisplayTouchEntityDescription( + key=f"touch_{tc.instance_number}", + translation_key="touch", + translation_placeholders={"number": str(number)}, + event_types=["touch_down", "touch_move", "touch_up"], + instance=tc.instance_number, + icon="mdi:gesture-tap", + ) + ) + touch_trackers.append(TouchTracker(tc.instance_number, tc.touch_data_start_byte)) + + coordinator.touch_trackers = touch_trackers + + _remove_stale( + f"{coordinator.address}-touch_", + {f"{coordinator.address}-{d.key}" for d in touch_descriptions}, + ) + + async_add_entities( + OpenDisplayEventEntity(coordinator, description) + for description in button_descriptions + ) async_add_entities( - OpenDisplayEventEntity(coordinator, description) for description in descriptions + OpenDisplayTouchEventEntity(coordinator, description) + for description in touch_descriptions ) -class OpenDisplayEventEntity(OpenDisplayEntity, EventEntity): +class OpenDisplayEventEntity( + OpenDisplayEntity[OpenDisplayEventEntityDescription], EventEntity +): """A button event entity for an OpenDisplay device.""" - entity_description: OpenDisplayEventEntityDescription _last_processed_data: object | None = None @callback @@ -89,3 +132,25 @@ def _handle_coordinator_update(self) -> None: self._trigger_event(event.event_type) self._last_processed_data = data self.async_write_ha_state() + + +class OpenDisplayTouchEventEntity( + OpenDisplayEntity[OpenDisplayTouchEntityDescription], EventEntity +): + """A touch event entity for an OpenDisplay device.""" + + _last_processed_data: object | None = None + + @callback + def _handle_coordinator_update(self) -> None: + """Fire events for touch transitions reported by this coordinator update.""" + data = self.coordinator.data + if data is not None and data is not self._last_processed_data: + for event in data.touch_events: + if event.instance == self.entity_description.instance: + self._trigger_event( + event.event_type, + {"x": event.x, "y": event.y}, + ) + self._last_processed_data = data + self.async_write_ha_state() diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 25ebf4a..a44ef78 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -62,6 +62,18 @@ } } } + }, + "touch": { + "name": "Touch {number}", + "state_attributes": { + "event_type": { + "state": { + "touch_down": "Touch down", + "touch_move": "Touch move", + "touch_up": "Touch up" + } + } + } } }, "sensor": { From a02b4aa868380425c21a7e109bda6801c2837b5e Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 17:27:09 +0200 Subject: [PATCH 06/65] fix: add touch event, drawcustom exception translations to en.json --- .../opendisplay/translations/en.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index e2a7e93..11905ea 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -62,6 +62,18 @@ } } } + }, + "touch": { + "name": "Touch {number}", + "state_attributes": { + "event_type": { + "state": { + "touch_down": "Touch down", + "touch_move": "Touch move", + "touch_up": "Touch up" + } + } + } } }, "sensor": { @@ -83,6 +95,12 @@ "media_download_error": { "message": "Failed to download media: {error}" }, + "multiple_errors": { + "message": "Errors occurred for one or more devices:\n{errors}" + }, + "no_targets_specified": { + "message": "No target devices specified." + }, "upload_error": { "message": "Failed to upload image to the display." } From e49f1c1aa03a55c91f7b861ae42ec3988521440f Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 20:37:37 +0200 Subject: [PATCH 07/65] fix: add version to manifest.json required for custom integrations --- custom_components/opendisplay/manifest.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index f6a34ef..9a5e634 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -14,5 +14,6 @@ "integration_type": "device", "iot_class": "local_push", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.7"] + "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.7"], + "version": "2.0.2" } From f103e04843a5020650303e1f9425483ff1f18c92 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 22:14:18 +0200 Subject: [PATCH 08/65] feat: wire up font_dirs in drawcustom, bump odl-renderer to 0.5.8 Pass HA font search directories (/config/www/fonts, /config/media/fonts, /media/fonts) to generate_image() so users can reference custom fonts by name without absolute paths. Requires odl-renderer 0.5.8 which adds the font_dirs parameter to FontManager and generate_image(). --- custom_components/opendisplay/manifest.json | 2 +- custom_components/opendisplay/services.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 9a5e634..cf8db16 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -14,6 +14,6 @@ "integration_type": "device", "iot_class": "local_push", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.7"], + "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.8"], "version": "2.0.2" } diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 658f443..1ab5b2e 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -7,6 +7,7 @@ from enum import IntEnum import io import logging +import os from typing import TYPE_CHECKING, Any import aiohttp @@ -371,6 +372,16 @@ async def _async_drawcustom(call: ServiceCall) -> None: ) +def _font_search_dirs(hass: HomeAssistant) -> list[str]: + """Return font search directories in priority order.""" + candidates = [ + hass.config.path("www/fonts"), + hass.config.path("media/fonts"), + "/media/fonts", + ] + return [p for p in candidates if os.path.isdir(p)] + + async def _drawcustom_for_device( hass: HomeAssistant, device_id: str, call: ServiceCall ) -> None: @@ -387,6 +398,7 @@ async def _drawcustom_for_device( accent_color=color_scheme.accent_color, session=async_get_clientsession(hass), data_provider=HADataProvider(hass), + font_dirs=_font_search_dirs(hass), ) rotate = call.data.get("rotate", 0) @@ -456,3 +468,5 @@ def async_setup_services(hass: HomeAssistant) -> None: schema=SCHEMA_UPLOAD_IMAGE, ) hass.services.async_register(DOMAIN, "drawcustom", _async_drawcustom) + +## TODO: piggyback off of upload image? also vol for validation in drawcustom \ No newline at end of file From f9f71e4a800340be537f54109e31a8fea96c6337 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 22:23:44 +0200 Subject: [PATCH 09/65] refactor: add drawcustom vol schema and extract shared _async_send_image - SCHEMA_DRAWCUSTOM validates payload, background, rotate, dither, refresh_type and dry-run at the service boundary rather than at runtime inside the renderer - _async_send_image centralises BLE connection, encryption key parsing and error handling; used by both upload_image and drawcustom --- custom_components/opendisplay/services.py | 209 +++++++++++----------- 1 file changed, 104 insertions(+), 105 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 1ab5b2e..4f0d6e1 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -83,6 +83,21 @@ def validate(value: str) -> IntEnum: ) +SCHEMA_DRAWCUSTOM = vol.Schema( + { + vol.Optional("device_id", default=[]): vol.All(cv.ensure_list, [cv.string]), + vol.Optional("label_id", default=[]): vol.All(cv.ensure_list, [cv.string]), + vol.Optional("area_id", default=[]): vol.All(cv.ensure_list, [cv.string]), + vol.Required("payload"): list, + vol.Optional("background", default="white"): cv.string, + vol.Optional("rotate", default=0): vol.All(vol.Coerce(int), vol.In([0, 90, 180, 270])), + vol.Optional("dither", default="ordered"): _str_to_int_enum(DitherMode), + vol.Optional("refresh_type", default=0): vol.All(vol.Coerce(int), vol.In([0, 1])), + vol.Optional("dry-run", default=False): cv.boolean, + } +) + + def _get_entry_for_device(call: ServiceCall) -> OpenDisplayConfigEntry: """Return the config entry for the device targeted by a service call.""" device_id: str = call.data[ATTR_DEVICE_ID] @@ -154,11 +169,71 @@ async def _async_download_image(hass: HomeAssistant, url: str) -> PILImage.Image return await hass.async_add_executor_job(_load_image_from_bytes, data) +async def _async_send_image( + hass: HomeAssistant, + entry: "OpenDisplayConfigEntry", + img: PILImage.Image, + *, + dither_mode: DitherMode, + refresh_mode: RefreshMode, + fit: FitMode = FitMode.CONTAIN, + tone: float | str = "auto", + rotate: Rotation = Rotation.ROTATE_0, +) -> None: + """Resolve BLE device, parse encryption key, and upload a PIL image.""" + address = entry.unique_id + assert address is not None + ble_device = async_ble_device_from_address(hass, address, connectable=True) + if ble_device is None: + raise HomeAssistantError( + translation_domain=DOMAIN, + translation_key="device_not_found", + translation_placeholders={"address": address}, + ) + + raw_key = entry.data.get(CONF_ENCRYPTION_KEY) + if raw_key is not None and len(raw_key) != 32: + entry.async_start_reauth(hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) + try: + encryption_key = bytes.fromhex(raw_key) if raw_key is not None else None + except ValueError as err: + entry.async_start_reauth(hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) from err + + try: + async with OpenDisplayDevice( + mac_address=address, + ble_device=ble_device, + config=entry.runtime_data.device_config, + encryption_key=encryption_key, + ) as device: + await device.upload_image( + img, + refresh_mode=refresh_mode, + dither_mode=dither_mode, + tone=tone, + fit=fit, + rotate=rotate, + ) + except (AuthenticationFailedError, AuthenticationRequiredError) as err: + entry.async_start_reauth(hass) + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="authentication_error" + ) from err + except OpenDisplayError as err: + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="upload_error" + ) from err + + async def _async_upload_image(call: ServiceCall) -> None: """Handle the upload_image service call.""" entry = _get_entry_for_device(call) - address = entry.unique_id - assert address is not None image_data: dict[str, Any] = call.data[ATTR_IMAGE] rotation: Rotation = call.data[ATTR_ROTATION] @@ -170,14 +245,6 @@ async def _async_upload_image(call: ServiceCall) -> None: tone_compression_pct / 100.0 if tone_compression_pct is not None else "auto" ) - ble_device = async_ble_device_from_address(call.hass, address, connectable=True) - if ble_device is None: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="device_not_found", - translation_placeholders={"address": address}, - ) - current = asyncio.current_task() if (prev := entry.runtime_data.upload_task) is not None and not prev.done(): prev.cancel() @@ -198,45 +265,18 @@ async def _async_upload_image(call: ServiceCall) -> None: else: pil_image = await _async_download_image(call.hass, media.url) - raw_key = entry.data.get(CONF_ENCRYPTION_KEY) - if raw_key is not None and len(raw_key) != 32: - entry.async_start_reauth(call.hass) - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="authentication_error" - ) - try: - encryption_key = bytes.fromhex(raw_key) if raw_key is not None else None - except ValueError as err: - entry.async_start_reauth(call.hass) - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="authentication_error" - ) from err - - async with OpenDisplayDevice( - mac_address=address, - ble_device=ble_device, - config=entry.runtime_data.device_config, - encryption_key=encryption_key, - ) as device: - await device.upload_image( - pil_image, - refresh_mode=refresh_mode, - dither_mode=dither_mode, - tone=tone_compression, - fit=fit_mode, - rotate=rotation, - ) + await _async_send_image( + call.hass, + entry, + pil_image, + dither_mode=dither_mode, + refresh_mode=refresh_mode, + fit=fit_mode, + tone=tone_compression, + rotate=rotation, + ) except asyncio.CancelledError: return - except (AuthenticationFailedError, AuthenticationRequiredError) as err: - entry.async_start_reauth(call.hass) - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="authentication_error" - ) from err - except OpenDisplayError as err: - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="upload_error" - ) from err finally: if entry.runtime_data.upload_task is current: entry.runtime_data.upload_task = None @@ -342,12 +382,10 @@ async def _async_drawcustom(call: ServiceCall) -> None: """Handle the drawcustom service call.""" hass = call.hass - device_ids: list[str] = list(call.data.get("device_id", [])) - if isinstance(device_ids, str): - device_ids = [device_ids] - for label_id in call.data.get("label_id", []): + device_ids: list[str] = list(call.data["device_id"]) + for label_id in call.data["label_id"]: device_ids.extend(await _get_device_ids_from_label(hass, label_id)) - for area_id in call.data.get("area_id", []): + for area_id in call.data["area_id"]: device_ids.extend(await _get_device_ids_from_area(hass, area_id)) seen: set[str] = set() @@ -393,69 +431,32 @@ async def _drawcustom_for_device( img = await generate_image( width=display.pixel_width, height=display.pixel_height, - elements=call.data.get("payload", []), - background=call.data.get("background", "white"), + elements=call.data["payload"], + background=call.data["background"], accent_color=color_scheme.accent_color, session=async_get_clientsession(hass), data_provider=HADataProvider(hass), font_dirs=_font_search_dirs(hass), ) - rotate = call.data.get("rotate", 0) + rotate: int = call.data["rotate"] if rotate: img = img.rotate(rotate, expand=True) - if call.data.get("dry-run", False): + if call.data["dry-run"]: _LOGGER.info("Drawcustom dry run for device %s", device_id) return - dither_mode: DitherMode = _str_to_int_enum(DitherMode)( - call.data.get("dither", "ordered") - ) - refresh_type = int(call.data.get("refresh_type", 0)) - refresh_mode = RefreshMode.FAST if refresh_type == 1 else RefreshMode.FULL - - address = entry.unique_id - assert address is not None - ble_device = async_ble_device_from_address(hass, address, connectable=True) - if ble_device is None: - raise HomeAssistantError( - translation_domain=DOMAIN, - translation_key="device_not_found", - translation_placeholders={"address": address}, - ) + dither_mode: DitherMode = call.data["dither"] + refresh_mode = RefreshMode.FAST if call.data["refresh_type"] == 1 else RefreshMode.FULL - raw_key = entry.data.get(CONF_ENCRYPTION_KEY) - if raw_key is not None and len(raw_key) != 32: - entry.async_start_reauth(hass) - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="authentication_error" - ) - try: - encryption_key = bytes.fromhex(raw_key) if raw_key is not None else None - except ValueError as err: - entry.async_start_reauth(hass) - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="authentication_error" - ) from err - - try: - async with OpenDisplayDevice( - mac_address=address, - ble_device=ble_device, - config=entry.runtime_data.device_config, - encryption_key=encryption_key, - ) as device: - await device.upload_image(img, refresh_mode=refresh_mode, dither_mode=dither_mode) - except (AuthenticationFailedError, AuthenticationRequiredError) as err: - entry.async_start_reauth(hass) - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="authentication_error" - ) from err - except OpenDisplayError as err: - raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="upload_error" - ) from err + await _async_send_image( + hass, + entry, + img, + dither_mode=dither_mode, + refresh_mode=refresh_mode, + ) @callback @@ -467,6 +468,4 @@ def async_setup_services(hass: HomeAssistant) -> None: _async_upload_image, schema=SCHEMA_UPLOAD_IMAGE, ) - hass.services.async_register(DOMAIN, "drawcustom", _async_drawcustom) - -## TODO: piggyback off of upload image? also vol for validation in drawcustom \ No newline at end of file + hass.services.async_register(DOMAIN, "drawcustom", _async_drawcustom, schema=SCHEMA_DRAWCUSTOM) \ No newline at end of file From b48647ec05c20ba3d86b723894ddb45c59e00d12 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 22:27:40 +0200 Subject: [PATCH 10/65] chore: remove obsolete drawcustom tests ImageGen was replaced by odl-renderer; rendering logic is now tested in the odl-renderer package itself. --- tests/drawcustom/arc_test.py | 60 --- tests/drawcustom/circle_test.py | 84 ---- tests/drawcustom/common_test.py | 121 ----- tests/drawcustom/conftest.py | 204 -------- tests/drawcustom/debug_grid_test.py | 95 ---- tests/drawcustom/ellipse_test.py | 62 --- tests/drawcustom/icon_test.py | 34 -- tests/drawcustom/line_test.py | 162 ------- tests/drawcustom/polygon_test.py | 50 -- tests/drawcustom/progress_bar_test.py | 179 ------- tests/drawcustom/qr_code_test.py | 89 ---- tests/drawcustom/rectangle_pattern_test.py | 102 ---- tests/drawcustom/rectangle_test.py | 89 ---- .../drawcustom/test_images/arc/arc_basic.jpg | Bin 3026 -> 0 bytes .../test_images/arc/pie_slice_basic.jpg | Bin 4682 -> 0 bytes tests/drawcustom/test_images/blank.jpg | Bin 1663 -> 0 bytes .../test_images/circle/circle_filled.jpg | Bin 6463 -> 0 bytes .../test_images/circle/circle_outline.jpg | Bin 7779 -> 0 bytes .../test_images/circle/circle_percentage.jpg | Bin 6452 -> 0 bytes .../test_images/common/multiple_elements.jpg | Bin 7018 -> 0 bytes .../common/negative_coordinates.jpg | Bin 3919 -> 0 bytes .../common/overlapping_elements.jpg | Bin 9224 -> 0 bytes .../test_images/common/oversize_elements.jpg | Bin 5954 -> 0 bytes .../drawcustom/test_images/common/rotated.jpg | Bin 3047 -> 0 bytes .../debug_grid/debug_grid_basic.jpg | Bin 24646 -> 0 bytes .../debug_grid/debug_grid_custom_spacing.jpg | Bin 12691 -> 0 bytes .../debug_grid/debug_grid_solid.jpg | Bin 23762 -> 0 bytes .../debug_grid/debug_grid_without_labels.jpg | Bin 23716 -> 0 bytes .../test_images/ellipse/ellipse_drawing.jpg | Bin 6966 -> 0 bytes .../ellipse/ellipse_drawing_percentage.jpg | Bin 7805 -> 0 bytes .../test_images/line/dashed_line_basic.jpg | Bin 2962 -> 0 bytes .../line/dashed_line_custom_lengths.jpg | Bin 3339 -> 0 bytes .../test_images/line/dashed_line_diagonal.jpg | Bin 2803 -> 0 bytes .../test_images/line/dashed_line_vertical.jpg | Bin 2512 -> 0 bytes .../test_images/line/line_basic.jpg | Bin 2051 -> 0 bytes .../test_images/line/line_custom.jpg | Bin 5136 -> 0 bytes .../test_images/polygon/polygon_basic.jpg | Bin 2216 -> 0 bytes .../test_images/polygon/polygon_filled.jpg | Bin 3023 -> 0 bytes .../test_images/progress_bar/progress_bar.jpg | Bin 5890 -> 0 bytes .../progress_bar/progress_bar_full.jpg | Bin 6259 -> 0 bytes .../progress_bar/progress_bar_percentage.jpg | Bin 3594 -> 0 bytes .../progress_bar/progress_bar_zero.jpg | Bin 4002 -> 0 bytes .../test_images/qr_code/qr_code.jpg | Bin 14349 -> 0 bytes .../test_images/qr_code/qr_code_long.jpg | Bin 30766 -> 0 bytes .../qr_code/qr_code_percentage.jpg | Bin 14184 -> 0 bytes .../rectangle/rectangle_filled.jpg | Bin 4621 -> 0 bytes .../rectangle/rectangle_outline.jpg | Bin 5039 -> 0 bytes .../rectangle/rectangle_rounded_corners.jpg | Bin 4939 -> 0 bytes .../rectangle_pattern/rectangle_pattern.jpg | Bin 12054 -> 0 bytes .../rectangle_pattern_rounded_corners.jpg | Bin 6647 -> 0 bytes .../test_images/text/large_font.jpg | Bin 8113 -> 0 bytes .../test_images/text/small_font.jpg | Bin 1787 -> 0 bytes .../test_images/text/text_anchors.jpg | Bin 8687 -> 0 bytes .../test_images/text/text_basic.jpg | Bin 3743 -> 0 bytes .../test_images/text/text_color_markup.jpg | Bin 9854 -> 0 bytes .../test_images/text/text_mixed_fonts.jpg | Bin 7113 -> 0 bytes .../test_images/text/text_percentage.jpg | Bin 5264 -> 0 bytes .../test_images/text/text_special_chars.jpg | Bin 8738 -> 0 bytes .../test_images/text/text_truncate.jpg | Bin 4022 -> 0 bytes .../test_images/text/text_wrapping.jpg | Bin 11112 -> 0 bytes .../test_images/text/text_wrapping_anchor.jpg | Bin 10558 -> 0 bytes .../text_multiline/multiline_empty_line.jpg | Bin 3434 -> 0 bytes .../text_multiline/text_multiline.jpg | Bin 5098 -> 0 bytes .../text_multiline_delimiter.jpg | Bin 4627 -> 0 bytes .../text_multiline_delimiter_and_newline.jpg | Bin 7281 -> 0 bytes tests/drawcustom/text_multiline_test.py | 206 -------- tests/drawcustom/text_test.py | 449 ------------------ 67 files changed, 1986 deletions(-) delete mode 100644 tests/drawcustom/arc_test.py delete mode 100644 tests/drawcustom/circle_test.py delete mode 100644 tests/drawcustom/common_test.py delete mode 100644 tests/drawcustom/conftest.py delete mode 100644 tests/drawcustom/debug_grid_test.py delete mode 100644 tests/drawcustom/ellipse_test.py delete mode 100644 tests/drawcustom/icon_test.py delete mode 100644 tests/drawcustom/line_test.py delete mode 100644 tests/drawcustom/polygon_test.py delete mode 100644 tests/drawcustom/progress_bar_test.py delete mode 100644 tests/drawcustom/qr_code_test.py delete mode 100644 tests/drawcustom/rectangle_pattern_test.py delete mode 100644 tests/drawcustom/rectangle_test.py delete mode 100644 tests/drawcustom/test_images/arc/arc_basic.jpg delete mode 100644 tests/drawcustom/test_images/arc/pie_slice_basic.jpg delete mode 100644 tests/drawcustom/test_images/blank.jpg delete mode 100644 tests/drawcustom/test_images/circle/circle_filled.jpg delete mode 100644 tests/drawcustom/test_images/circle/circle_outline.jpg delete mode 100644 tests/drawcustom/test_images/circle/circle_percentage.jpg delete mode 100644 tests/drawcustom/test_images/common/multiple_elements.jpg delete mode 100644 tests/drawcustom/test_images/common/negative_coordinates.jpg delete mode 100644 tests/drawcustom/test_images/common/overlapping_elements.jpg delete mode 100644 tests/drawcustom/test_images/common/oversize_elements.jpg delete mode 100644 tests/drawcustom/test_images/common/rotated.jpg delete mode 100644 tests/drawcustom/test_images/debug_grid/debug_grid_basic.jpg delete mode 100644 tests/drawcustom/test_images/debug_grid/debug_grid_custom_spacing.jpg delete mode 100644 tests/drawcustom/test_images/debug_grid/debug_grid_solid.jpg delete mode 100644 tests/drawcustom/test_images/debug_grid/debug_grid_without_labels.jpg delete mode 100644 tests/drawcustom/test_images/ellipse/ellipse_drawing.jpg delete mode 100644 tests/drawcustom/test_images/ellipse/ellipse_drawing_percentage.jpg delete mode 100644 tests/drawcustom/test_images/line/dashed_line_basic.jpg delete mode 100644 tests/drawcustom/test_images/line/dashed_line_custom_lengths.jpg delete mode 100644 tests/drawcustom/test_images/line/dashed_line_diagonal.jpg delete mode 100644 tests/drawcustom/test_images/line/dashed_line_vertical.jpg delete mode 100644 tests/drawcustom/test_images/line/line_basic.jpg delete mode 100644 tests/drawcustom/test_images/line/line_custom.jpg delete mode 100644 tests/drawcustom/test_images/polygon/polygon_basic.jpg delete mode 100644 tests/drawcustom/test_images/polygon/polygon_filled.jpg delete mode 100644 tests/drawcustom/test_images/progress_bar/progress_bar.jpg delete mode 100644 tests/drawcustom/test_images/progress_bar/progress_bar_full.jpg delete mode 100644 tests/drawcustom/test_images/progress_bar/progress_bar_percentage.jpg delete mode 100644 tests/drawcustom/test_images/progress_bar/progress_bar_zero.jpg delete mode 100644 tests/drawcustom/test_images/qr_code/qr_code.jpg delete mode 100644 tests/drawcustom/test_images/qr_code/qr_code_long.jpg delete mode 100644 tests/drawcustom/test_images/qr_code/qr_code_percentage.jpg delete mode 100644 tests/drawcustom/test_images/rectangle/rectangle_filled.jpg delete mode 100644 tests/drawcustom/test_images/rectangle/rectangle_outline.jpg delete mode 100644 tests/drawcustom/test_images/rectangle/rectangle_rounded_corners.jpg delete mode 100644 tests/drawcustom/test_images/rectangle_pattern/rectangle_pattern.jpg delete mode 100644 tests/drawcustom/test_images/rectangle_pattern/rectangle_pattern_rounded_corners.jpg delete mode 100644 tests/drawcustom/test_images/text/large_font.jpg delete mode 100644 tests/drawcustom/test_images/text/small_font.jpg delete mode 100644 tests/drawcustom/test_images/text/text_anchors.jpg delete mode 100644 tests/drawcustom/test_images/text/text_basic.jpg delete mode 100644 tests/drawcustom/test_images/text/text_color_markup.jpg delete mode 100644 tests/drawcustom/test_images/text/text_mixed_fonts.jpg delete mode 100644 tests/drawcustom/test_images/text/text_percentage.jpg delete mode 100644 tests/drawcustom/test_images/text/text_special_chars.jpg delete mode 100644 tests/drawcustom/test_images/text/text_truncate.jpg delete mode 100644 tests/drawcustom/test_images/text/text_wrapping.jpg delete mode 100644 tests/drawcustom/test_images/text/text_wrapping_anchor.jpg delete mode 100644 tests/drawcustom/test_images/text_multiline/multiline_empty_line.jpg delete mode 100644 tests/drawcustom/test_images/text_multiline/text_multiline.jpg delete mode 100644 tests/drawcustom/test_images/text_multiline/text_multiline_delimiter.jpg delete mode 100644 tests/drawcustom/test_images/text_multiline/text_multiline_delimiter_and_newline.jpg delete mode 100644 tests/drawcustom/text_multiline_test.py delete mode 100644 tests/drawcustom/text_test.py diff --git a/tests/drawcustom/arc_test.py b/tests/drawcustom/arc_test.py deleted file mode 100644 index beb052f..0000000 --- a/tests/drawcustom/arc_test.py +++ /dev/null @@ -1,60 +0,0 @@ -"""Tests for arc rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal -from conftest import generate_test_image - -ARC_IMG_PATH = os.path.join(BASE_IMG_PATH, 'arc') - -@pytest.mark.asyncio -async def test_arc_basic(image_gen, mock_tag_info): - """Test basic arc rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "arc", - "x": 100, - "y": 75, - "radius": 50, - "start_angle": 0, - "end_angle": 180, - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(ARC_IMG_PATH, 'arc_basic.jpg')) - assert images_equal(generated_img, example_img), "Basic arc rendering failed" - -@pytest.mark.asyncio -async def test_pie_slice_basic(image_gen, mock_tag_info): - """Test basic arc rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "arc", - "x": 100, - "y": 75, - "radius": 50, - "start_angle": 0, - "end_angle": 180, - "fill": "red", - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(ARC_IMG_PATH, 'pie_slice_basic.jpg')) - assert images_equal(generated_img, example_img), "Basic pie slice rendering failed" \ No newline at end of file diff --git a/tests/drawcustom/circle_test.py b/tests/drawcustom/circle_test.py deleted file mode 100644 index 0a13080..0000000 --- a/tests/drawcustom/circle_test.py +++ /dev/null @@ -1,84 +0,0 @@ -"""Tests for circle rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -CIRCLE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'circle') - -@pytest.mark.asyncio -async def test_circle_filled(image_gen, mock_tag_info): - """Test basic circle rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "circle", - "x": 100, - "y": 64, - "radius": 50, - "fill": "red", - "outline": "black", - "width": 2 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(CIRCLE_IMG_PATH, 'circle_filled.jpg')) - assert images_equal(generated_img, example_img), "Basic filled circle rendering failed" - -@pytest.mark.asyncio -async def test_circle_outline(image_gen, mock_tag_info): - """Test outline circle rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "circle", - "x": 100, - "y": 64, - "radius": 50, - "outline": "red", - "width": 3 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(CIRCLE_IMG_PATH, 'circle_outline.jpg')) - assert images_equal(generated_img, example_img), "Basic outline circle rendering failed" - -@pytest.mark.asyncio -async def test_circle_percentage(image_gen, mock_tag_info): - """Test basic circle rendering with percentage.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "circle", - "x": '50%', - "y": '50%', - "radius": 50, - "fill": "red", - "outline": "black", - "width": 2 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(CIRCLE_IMG_PATH, 'circle_percentage.jpg')) - assert images_equal(generated_img, example_img), "Basic filled circle rendering failed" diff --git a/tests/drawcustom/common_test.py b/tests/drawcustom/common_test.py deleted file mode 100644 index ec55a69..0000000 --- a/tests/drawcustom/common_test.py +++ /dev/null @@ -1,121 +0,0 @@ -"""Tests for common cases in ImageGen.""" -import os -from io import BytesIO - -import pytest -from unittest.mock import patch - -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -COMMON_IMG_PATH = os.path.join(BASE_IMG_PATH, 'common') - -@pytest.mark.asyncio -async def test_multiple_elements(image_gen, mock_tag_info): - """Test Multiple elements rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - {'type': 'rectangle', 'x_start': 0, 'y_start': 0, 'x_end': 296, 'y_end': 128, 'fill': 'white'}, - {'type': 'text', 'x': 10, 'y': 10, 'value': 'Hello', 'size': 20, 'color': 'black'}, - {'type': 'line', 'x_start': 0, 'y_start': 40, 'x_end': 296, 'y_end': 40, 'fill': 'black', 'width': 1}, - {'type': 'circle', 'x': 148, 'y': 84, 'radius': 30, 'fill': 'red'} - ] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(COMMON_IMG_PATH, 'multiple_elements.jpg')) - assert images_equal(generated_img, example_img), "Multiple elements drawing failed" - -@pytest.mark.asyncio -async def test_rotation(image_gen, mock_tag_info): - """Test Rotated element rendering.""" - service_data = { - "background": "white", - "rotate": 90, - "payload": [ - { - 'type': 'text', - 'x': 10, - 'y': 10, - 'value': 'Rotated', - 'size': 20, - 'color': 'black' - } - ] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(COMMON_IMG_PATH, 'rotated.jpg')) - assert images_equal(generated_img, example_img), "rotated elements drawing failed" - -@pytest.mark.asyncio -async def test_oversize_elements(image_gen, mock_tag_info): - """Test Oversize element rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - {'type': 'rectangle', 'x_start': 10, 'y_start': 0, 'x_end': 1000, 'y_end': 20, 'fill': 'red'}, - {'type': 'circle', 'x': 300, 'y': 100, 'radius': 70, 'fill': 'black'} - ] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(COMMON_IMG_PATH, 'oversize_elements.jpg')) - assert images_equal(generated_img, example_img), "Oversize elements drawing failed" - -@pytest.mark.asyncio -async def test_overlapping_elements(image_gen, mock_tag_info): - """Test Overlapping element rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - {'type': 'rectangle', 'x_start': 0, 'y_start': 0, 'x_end': 100, 'y_end': 100, 'fill': 'red'}, - {'type': 'circle', 'x': 50, 'y': 50, 'radius': 30, 'fill': 'blue'}, - {'type': 'text', 'x': 20, 'y': 20, 'value': 'Overlapping', 'size': 20} - ] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(COMMON_IMG_PATH, 'overlapping_elements.jpg')) - assert images_equal(generated_img, example_img), "Overlapping elements drawing failed" - -@pytest.mark.asyncio -async def test_negative_coordinates(image_gen, mock_tag_info): - """Test negative coordinates rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - {'type': 'rectangle', 'x_start': -10, 'y_start': -10, 'x_end': 50, 'y_end': 50, 'fill': 'red'}, - {'type': 'text', 'x': -20, 'y': -5, 'value': 'Negative', 'size': 20} - ] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(COMMON_IMG_PATH, 'negative_coordinates.jpg')) - assert images_equal(generated_img, example_img), "Negative coordinate elements drawing failed" diff --git a/tests/drawcustom/conftest.py b/tests/drawcustom/conftest.py deleted file mode 100644 index 6de841c..0000000 --- a/tests/drawcustom/conftest.py +++ /dev/null @@ -1,204 +0,0 @@ -"""Shared fixtures for drawcustom tests.""" -import os -import sys -import pytest -from io import BytesIO -from unittest.mock import AsyncMock, MagicMock, patch -from PIL import ImageFont - -from PIL import ImageChops -sys.modules['serial'] = MagicMock() -sys.modules['serial.tools'] = MagicMock() -sys.modules['serial.tools.list_ports'] = MagicMock() -sys.modules['homeassistant.components.bluetooth'] = MagicMock() -from homeassistant.core import HomeAssistant -from custom_components.opendisplay.imagegen import ImageGen -from custom_components.opendisplay.const import DOMAIN - -current_dir = os.path.dirname(os.path.abspath(__file__)) -BASE_IMG_PATH = os.path.join(current_dir, "test_images") - - -@pytest.fixture -def mock_hass(): - """Create a mock Home Assistant instance.""" - hass = MagicMock(spec=HomeAssistant) - - # Mock async_add_executor_job - hass.async_add_executor_job = AsyncMock() - - # Mock async_create_task to properly await coroutines - async def mock_create_task(coro, name=None): - await coro - return None - hass.async_create_task = mock_create_task - - # Mock config.path - mock_config = MagicMock() - def mock_path(*args): - return os.path.join("/mock_path", *args) - mock_config.path = mock_path - hass.config = mock_config - - # Setup data attribute with required domain structure - mock_entry = MagicMock() - mock_entry.entry_id = "test_entry_id" - mock_entry.options = {"custom_font_dirs": ""} - - mock_hub = MagicMock() - mock_hub.entry = mock_entry - - hass.data = {DOMAIN: {"test_entry_id": mock_hub}} - - return hass - -@pytest.fixture -def mock_tag_info(): - """Create a mock tag type info.""" - tag_type = MagicMock() - tag_type.width = 296 - tag_type.height = 128 - tag_type.color_table = { - "white": [255, 255, 255], - "black": [0, 0, 0], - "red": [255, 0, 0], - "accent": [255, 0, 0] - } - return tag_type, "red" - -@pytest.fixture -def image_gen(mock_hass): - """Create an ImageGen instance with mocked Home Assistant.""" - # Find the real font paths in the integration directory - integration_dir = os.path.dirname(os.path.dirname(current_dir)) - component_dir = os.path.join(integration_dir, "custom_components", "opendisplay") - - # Try different paths for finding the font directory - possible_component_dirs = [ - component_dir, - os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(current_dir))), - "custom_components", "opendisplay"), - # Add more possible locations if needed - ] - - # Find the first valid component directory - for dir_path in possible_component_dirs: - if os.path.exists(dir_path): - component_dir = dir_path - break - - assets_dir = os.path.join(component_dir, "imagegen", "assets") - - # Define font paths - font_paths = { - "ppb.ttf": os.path.join(assets_dir, "ppb.ttf"), - "rbm.ttf": os.path.join(assets_dir, "rbm.ttf") - } - - # Check if fonts exist - fonts_exist = all(os.path.exists(path) for path in font_paths.values()) - if not fonts_exist: - print(f"WARNING: Some font files not found in {assets_dir}") - if os.path.exists(assets_dir): - print(f"Available files in directory: {os.listdir(assets_dir)}") - else: - print("Assets directory not found") - - # Create a patch for FontManager to avoid filesystem operations - with patch('custom_components.opendisplay.imagegen.FontManager', autospec=True) as MockFontManager: - # Configure the mock FontManager - font_manager_instance = MockFontManager.return_value - - # Define the get_font method - def mock_get_font(font_name, size): - if font_name in font_paths and os.path.exists(font_paths[font_name]): - # Use the actual font if available - return ImageFont.truetype(font_paths[font_name], size) - elif font_name == "rbm.ttf" and os.path.exists(font_paths["ppb.ttf"]): - # Fallback to ppb.ttf for rbm.ttf if needed - print(f"WARNING: Using ppb.ttf as a fallback for {font_name}") - return ImageFont.truetype(font_paths["ppb.ttf"], size) - else: - # Last resort: create a mock font - mock_font = MagicMock() - mock_font.getbbox.return_value = (0, 0, 10 * len("Mocked Text"), 10) - mock_font.getlength.return_value = 10 * len("Mocked Text") - print(f"WARNING: Creating mock font for {font_name}") - return mock_font - - font_manager_instance.get_font.side_effect = mock_get_font - - # Create the ImageGen instance with our mock setup - instance = ImageGen(mock_hass) - - # Mock the get_tag_info method - async def mock_get_tag_info(entity_id): - tag_type = MagicMock() - tag_type.width = 296 - tag_type.height = 128 - tag_type.color_table = { - "white": [255, 255, 255], - "black": [0, 0, 0], - "red": [255, 0, 0], - "accent": [255, 0, 0] - } - return tag_type, "red" - - instance.get_tag_info = mock_get_tag_info - - return instance - -# Helper functions that might be needed across multiple test files -def get_test_image_path(filename): - """Get the full path to a test image file.""" - return os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_images", filename) - -def mock_service_data(payload): - """Create a standard service data structure with given payload.""" - return { - "background": "white", - "rotate": 0, - "dither": 2, - "payload": payload - } - -def images_equal(img1, img2): - """Compare two images and return True if they are identical.""" - return ImageChops.difference(img1, img2).getbbox() is None - -def save_image(image_bytes): - """Save image for debugging.""" - img_path = os.path.join(BASE_IMG_PATH, 'rename_me.jpg') - with open(img_path, 'wb') as f: - f.write(image_bytes) - -async def generate_test_image(image_gen: ImageGen, service_data, entity_id="opendisplay.test_tag"): - """Helper to generate test images with standard dimensions.""" - image = await image_gen.generate_custom_image( - entity_id=entity_id, - service_data=service_data, - width=296, - height=128, - accent_color="red" - ) - buffer = BytesIO() - image.convert("RGB").save(buffer, format="JPEG", quality="maximum") - return buffer.getvalue() - - -# Setup and cleanup code that runs before and after each test session -def pytest_sessionstart(session): - """ - Called after the Session object has been created and - before performing collection and entering the run test loop. - """ - # Create test_images directory if it doesn't exist - test_images_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_images") - os.makedirs(test_images_dir, exist_ok=True) - -def pytest_sessionfinish(session, exitstatus): - """ - Called after whole test run finished, right before - returning the exit status to the system. - """ - pass # Add any cleanup code if needed diff --git a/tests/drawcustom/debug_grid_test.py b/tests/drawcustom/debug_grid_test.py deleted file mode 100644 index dcbf9bf..0000000 --- a/tests/drawcustom/debug_grid_test.py +++ /dev/null @@ -1,95 +0,0 @@ -"""Tests for debug grid rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -DEBUG_GRID_IMG_PATH = os.path.join(BASE_IMG_PATH, 'debug_grid') - - -@pytest.mark.asyncio -async def test_debug_grid_basic(image_gen, mock_tag_info): - """Test basic debug grid rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "debug_grid" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(DEBUG_GRID_IMG_PATH, 'debug_grid_basic.jpg')) - assert images_equal(generated_img, example_img), "Basic debug grid rendering failed" - -@pytest.mark.asyncio -async def test_debug_grid_custom_spacing(image_gen, mock_tag_info): - """Test debug grid with custom spacing.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "debug_grid", - "spacing": 50, - "line_color": "black" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(DEBUG_GRID_IMG_PATH, 'debug_grid_custom_spacing.jpg')) - assert images_equal(generated_img, example_img), "Custom spacing debug grid rendering failed" - -@pytest.mark.asyncio -async def test_debug_grid_solid(image_gen, mock_tag_info): - """Test debug grid without dashed lines.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "debug_grid", - "spacing": 25, - "dashed": False, - "dash_length": 10, - "space_length": 5, - "line_color": "r" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(DEBUG_GRID_IMG_PATH, 'debug_grid_solid.jpg')) - assert images_equal(generated_img, example_img), "Solid debug grid rendering failed" - -@pytest.mark.asyncio -async def test_debug_grid_without_labels(image_gen, mock_tag_info): - """Test debug grid without coordinate labels.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "debug_grid", - "show_labels": False, - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(DEBUG_GRID_IMG_PATH, 'debug_grid_without_labels.jpg')) - assert images_equal(generated_img, example_img), "Debug grid without labels rendering failed" \ No newline at end of file diff --git a/tests/drawcustom/ellipse_test.py b/tests/drawcustom/ellipse_test.py deleted file mode 100644 index beb2955..0000000 --- a/tests/drawcustom/ellipse_test.py +++ /dev/null @@ -1,62 +0,0 @@ -"""Tests for ellipse rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -ELLIPSE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'ellipse') - -@pytest.mark.asyncio -async def test_circle_ellipse(image_gen, mock_tag_info): - """Test basic ellipse rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "ellipse", - "x_start": 50, - "y_start": 20, - "x_end": 200, - "y_end": 100, - "fill": "red", - "outline": "black", - "width": 2 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(ELLIPSE_IMG_PATH, 'ellipse_drawing.jpg')) - assert images_equal(generated_img, example_img), "Basic ellipse drawing failed" - -@pytest.mark.asyncio -async def test_circle_ellipse_percentage(image_gen, mock_tag_info): - """Test basic ellipse rendering with percentage.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "ellipse", - "x_start": '20%', - "y_start": '20%', - "x_end": '80%', - "y_end": '80%', - "fill": "red", - "outline": "black", - "width": 2 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(ELLIPSE_IMG_PATH, 'ellipse_drawing_percentage.jpg')) - assert images_equal(generated_img, example_img), "Basic ellipse drawing failed" \ No newline at end of file diff --git a/tests/drawcustom/icon_test.py b/tests/drawcustom/icon_test.py deleted file mode 100644 index ee1edec..0000000 --- a/tests/drawcustom/icon_test.py +++ /dev/null @@ -1,34 +0,0 @@ -"""Tests for icon rendering in ImageGen.""" -import os - -from conftest import BASE_IMG_PATH - -ICON_IMG_PATH = os.path.join(BASE_IMG_PATH, 'icon') - -# Icon tests do not work yet -# @pytest.mark.asyncio -# async def test_icon_basic(image_gen, mock_tag_info): -# """Test basic icon rendering with default settings.""" -# service_data = { -# "background": "white", -# "rotate": 0, -# "payload": [{ -# "type": "icon", -# "x": 10, -# "y": 10, -# "size": 20, -# "value": "mdi:home" -# }] -# } -# -# with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', -# return_value=mock_tag_info): -# image_data = await image_gen.generate_custom_image( -# "opendisplay.test_tag", -# service_data -# ) -# -# generated_img = Image.open(BytesIO(image_data)) -# save_image(image_data) -# example_img = Image.open(os.path.join(ICON_IMG_PATH, 'icon_basic.jpg')) -# assert images_equal(generated_img, example_img), "Basic icon rendering failed" \ No newline at end of file diff --git a/tests/drawcustom/line_test.py b/tests/drawcustom/line_test.py deleted file mode 100644 index 02a5a82..0000000 --- a/tests/drawcustom/line_test.py +++ /dev/null @@ -1,162 +0,0 @@ -"""Tests for line rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -LINE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'line') - -@pytest.mark.asyncio -async def test_line_basic(image_gen, mock_tag_info): - """Test basic line rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "line", - "x_start": 10, - "y_start": 10, - "x_end": 100, - "y_end": 100, - "fill": "black", - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(LINE_IMG_PATH, 'line_basic.jpg')) - assert images_equal(generated_img, example_img), "Basic line rendering failed" - -@pytest.mark.asyncio -async def test_line_custom(image_gen, mock_tag_info): - """Test line drawing with custom width and color.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "line", - "x_start": 50, - "y_start": 20, - "x_end": 200, - "y_end": 100, - "fill": "red", - "width": 3 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(LINE_IMG_PATH, 'line_custom.jpg')) - assert images_equal(generated_img, example_img), "Custom line rendering failed" - -@pytest.mark.asyncio -async def test_dashed_line_basic(image_gen, mock_tag_info): - """Test basic dashed line rendering with default dash and space lengths.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "line", - "x_start": 10, - "y_start": 10, - "x_end": 200, - "y_end": 10, - "fill": "black", - "dashed": True, - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(LINE_IMG_PATH, 'dashed_line_basic.jpg')) - assert images_equal(generated_img, example_img), "Basic dashed line rendering failed" - -@pytest.mark.asyncio -async def test_dashed_line_custom_lengths(image_gen, mock_tag_info): - """Test dashed line with custom dash and space lengths.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "line", - "x_start": 20, - "y_start": 20, - "x_end": 200, - "y_end": 20, - "fill": "red", - "dashed": True, - "dash_length": 20, - "space_length": 5 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(LINE_IMG_PATH, 'dashed_line_custom_lengths.jpg')) - assert images_equal(generated_img, example_img), "Custom dashed line rendering failed" - -@pytest.mark.asyncio -async def test_dashed_line_basic_vertical(image_gen, mock_tag_info): - """Test basic dashed line rendering with default dash and space lengths but vertical.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "line", - "x_start": 10, - "y_start": 10, - "x_end": 10, - "y_end": 150, - "fill": "black", - "dashed": True, - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(LINE_IMG_PATH, 'dashed_line_vertical.jpg')) - assert images_equal(generated_img, example_img), "Vertical dashed line rendering failed" - -@pytest.mark.asyncio -async def test_dashed_line_diagonal(image_gen, mock_tag_info): - """Test dashed line on a diagonal.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "line", - "x_start": 10, - "y_start": 10, - "x_end": 100, - "y_end": 100, - "fill": "r", - "dashed": True, - "dash_length": 15, - "space_length": 5 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(LINE_IMG_PATH, 'dashed_line_diagonal.jpg')) - assert images_equal(generated_img, example_img), "Dashed line diagonal rendering failed" \ No newline at end of file diff --git a/tests/drawcustom/polygon_test.py b/tests/drawcustom/polygon_test.py deleted file mode 100644 index 2d7e7f0..0000000 --- a/tests/drawcustom/polygon_test.py +++ /dev/null @@ -1,50 +0,0 @@ -"""Tests for polygon rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -POLYGON_IMG_PATH = os.path.join(BASE_IMG_PATH, 'polygon') - -@pytest.mark.asyncio -async def test_polygon_basic(image_gen, mock_tag_info): - """Test basic polygon rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "polygon", - "points": [[10, 10], [50, 10], [50, 50], [10, 50]], - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(POLYGON_IMG_PATH, 'polygon_basic.jpg')) - assert images_equal(generated_img, example_img), "Basic polygon rendering failed" - -@pytest.mark.asyncio -async def test_polygon_filled(image_gen, mock_tag_info): - """Test filled polygon rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "polygon", - "points": [[10, 10], [50, 10], [50, 50], [10, 70]], - "fill": "hr" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(POLYGON_IMG_PATH, 'polygon_filled.jpg')) - assert images_equal(generated_img, example_img), "Filled polygon rendering failed" \ No newline at end of file diff --git a/tests/drawcustom/progress_bar_test.py b/tests/drawcustom/progress_bar_test.py deleted file mode 100644 index 7443875..0000000 --- a/tests/drawcustom/progress_bar_test.py +++ /dev/null @@ -1,179 +0,0 @@ -"""Tests for progress bar rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -QR_CODE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'progress_bar') - -@pytest.mark.asyncio -async def test_basic_progress_bar(image_gen, mock_tag_info): - """Test basic progress bar rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "progress_bar", - "x_start": 10, - "y_start": 50, - "x_end": 286, - "y_end": 70, - "progress": 75, - "fill": "red", - "outline": "black", - "width": 1, - "show_percentage": True - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'progress_bar.jpg')) - assert images_equal(generated_img, example_img), "Basic progress bar drawing failed" - -@pytest.mark.asyncio -async def test_progress_bar_zero_progress(image_gen, mock_tag_info): - """Test progress bar with zero progress rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "progress_bar", - "x_start": 10, - "y_start": 50, - "x_end": 286, - "y_end": 70, - "progress": 0, - "fill": "red", - "outline": "black", - "width": 1, - "show_percentage": True - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'progress_bar_zero.jpg')) - assert images_equal(generated_img, example_img), "Basic progress bar drawing failed" - -@pytest.mark.asyncio -async def test_progress_bar_full(image_gen, mock_tag_info): - """Test full progress bar rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "progress_bar", - "x_start": 10, - "y_start": 50, - "x_end": 286, - "y_end": 70, - "progress": 100, - "fill": "red", - "outline": "black", - "background": "white", - "width": 1, - "show_percentage": True - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'progress_bar_full.jpg')) - assert images_equal(generated_img, example_img), "Full progress bar drawing failed" - -@pytest.mark.asyncio -async def test_progress_bar_negative_progress(image_gen, mock_tag_info): - """Test progress bar with negative progress rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "progress_bar", - "x_start": 10, - "y_start": 50, - "x_end": 286, - "y_end": 70, - "progress": -50, - "fill": "red", - "outline": "black", - "width": 1, - "show_percentage": True - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'progress_bar_zero.jpg')) - assert images_equal(generated_img, example_img), "Progress bar with negative percentage drawing failed" - -@pytest.mark.asyncio -async def test_progress_bar_over_full(image_gen, mock_tag_info): - """Test over full progress bar rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "progress_bar", - "x_start": 10, - "y_start": 50, - "x_end": 286, - "y_end": 70, - "progress": 150, - "fill": "red", - "outline": "black", - "background": "white", - "width": 1, - "show_percentage": True - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'progress_bar_full.jpg')) - assert images_equal(generated_img, example_img), "Over full progress bar drawing failed" - -@pytest.mark.asyncio -async def test_basic_progress_bar_percentage(image_gen, mock_tag_info): - """Test basic progress bar with percentage rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "progress_bar", - "x_start": '20%', - "y_start": '40%', - "x_end": '80%', - "y_end": '60%', - "progress": 42, - "fill": "red", - "outline": "black", - "width": 1, - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'progress_bar_percentage.jpg')) - assert images_equal(generated_img, example_img), "Basic progress bar with percentage drawing failed" \ No newline at end of file diff --git a/tests/drawcustom/qr_code_test.py b/tests/drawcustom/qr_code_test.py deleted file mode 100644 index 8262b33..0000000 --- a/tests/drawcustom/qr_code_test.py +++ /dev/null @@ -1,89 +0,0 @@ -"""Tests for qr code rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -QR_CODE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'qr_code') - -@pytest.mark.asyncio -async def test_basic_qr_code(image_gen, mock_tag_info): - """Test basic qr code rendering.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "qrcode", - "x": 5, - "y": 10, - "data": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", - "color": "black", - "bgcolor": "white", - "boxsize": 3, - "border": 1 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'qr_code.jpg')) - assert images_equal(generated_img, example_img), "Basic qr code drawing failed" - -@pytest.mark.asyncio -async def test_long_qr_code(image_gen, mock_tag_info): - """Test qr code with long data rendering.""" - long_data = "https://example.com/" + "a" * 1000 - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "qrcode", - "x": 10, - "y": 10, - "data": long_data, - "color": "black", - "bgcolor": "white", - "boxsize": 3, - "border": 4 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'qr_code_long.jpg')) - assert images_equal(generated_img, example_img), "Long qr code drawing failed" - -@pytest.mark.asyncio -async def test_basic_qr_code_percentage(image_gen, mock_tag_info): - """Test basic qr code rendering with percentage.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "qrcode", - "x": '10%', - "y": '10%', - "data": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", - "color": "black", - "bgcolor": "white", - "boxsize": 3, - "border": 1 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(QR_CODE_IMG_PATH, 'qr_code_percentage.jpg')) - assert images_equal(generated_img, example_img), "Basic qr code drawing with percentage failed" \ No newline at end of file diff --git a/tests/drawcustom/rectangle_pattern_test.py b/tests/drawcustom/rectangle_pattern_test.py deleted file mode 100644 index b775823..0000000 --- a/tests/drawcustom/rectangle_pattern_test.py +++ /dev/null @@ -1,102 +0,0 @@ -"""Tests for rectangle pattern rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -RECTANGLE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'rectangle_pattern') - -@pytest.mark.asyncio -async def test_rectangle_pattern(image_gen, mock_tag_info): - """Test rectangle pattern drawing.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "rectangle_pattern", - "x_start": 10, - "y_start": 10, - "x_size": 30, - "y_size": 30, - "x_repeat": 5, - "y_repeat": 3, - "x_offset": 10, - "y_offset": 10, - "fill": "red", - "outline": "black", - "width": 1 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(RECTANGLE_IMG_PATH, 'rectangle_pattern.jpg')) - assert images_equal(generated_img, example_img), "Rectangle pattern rendering failed" - -@pytest.mark.asyncio -async def test_rectangle_pattern_rounded_corners(image_gen, mock_tag_info): - """Test rounded corner rectangle pattern drawing.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "rectangle_pattern", - "x_start": 10, - "y_start": 10, - "x_size": 30, - "y_size": 30, - "x_repeat": 3, - "y_repeat": 2, - "x_offset": 10, - "y_offset": 10, - "fill": "red", - "outline": "black", - "width": 1, - "radius": 5, - "corners": "top_left, bottom_right" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(RECTANGLE_IMG_PATH, 'rectangle_pattern_rounded_corners.jpg')) - assert images_equal(generated_img, example_img), "Rounded corner rectangle pattern rendering failed" - -@pytest.mark.asyncio -async def test_rectangle_pattern(image_gen, mock_tag_info): - """Test rounded corner rectangle pattern drawing.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "rectangle_pattern", - "x_start": 10, - "y_start": 10, - "x_size": 30, - "y_size": 30, - "x_repeat": 0, - "y_repeat": 0, - "x_offset": 10, - "y_offset": 10, - "fill": "red", - "outline": "black", - "width": 1, - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(BASE_IMG_PATH, 'blank.jpg')) - assert images_equal(generated_img, example_img), "Rounded corner rectangle pattern rendering failed" \ No newline at end of file diff --git a/tests/drawcustom/rectangle_test.py b/tests/drawcustom/rectangle_test.py deleted file mode 100644 index 00a35e3..0000000 --- a/tests/drawcustom/rectangle_test.py +++ /dev/null @@ -1,89 +0,0 @@ -"""Tests for rectangle rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -RECTANGLE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'rectangle') - -@pytest.mark.asyncio -async def test_rectangle_filled(image_gen, mock_tag_info): - """Test filled rectangle drawing.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "rectangle", - "x_start": 50, - "y_start": 20, - "x_end": 200, - "y_end": 100, - "fill": "red", - "outline": "black", - "width": 2 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(RECTANGLE_IMG_PATH, 'rectangle_filled.jpg')) - assert images_equal(generated_img, example_img), "Filled rectangle rendering failed" - -@pytest.mark.asyncio -async def test_rectangle_outline(image_gen, mock_tag_info): - """Test outlined rectangle drawing.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "rectangle", - "x_start": 50, - "y_start": 20, - "x_end": 200, - "y_end": 100, - "outline": "red", - "width": 3 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(RECTANGLE_IMG_PATH, 'rectangle_outline.jpg')) - assert images_equal(generated_img, example_img), "Outlined rectangle rendering failed" - -@pytest.mark.asyncio -async def test_rectangle_rounded_corners(image_gen, mock_tag_info): - """Test rounded corner rectangle drawing.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "rectangle", - "x_start": 50, - "y_start": 20, - "x_end": 200, - "y_end": 100, - "fill": "red", - "outline": "black", - "width": 2, - "radius": 15, - "corners": "top_left, bottom_right" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(RECTANGLE_IMG_PATH, 'rectangle_rounded_corners.jpg')) - assert images_equal(generated_img, example_img), "Rounded corner rectangle rendering failed" \ No newline at end of file diff --git a/tests/drawcustom/test_images/arc/arc_basic.jpg b/tests/drawcustom/test_images/arc/arc_basic.jpg deleted file mode 100644 index acfd3f6fc0d12374c63ff4f1e01c6dd218c9b995..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3026 zcmeHHdpMM78-HGNGJ~ekM5!o44z*c_njA_8DW@ed6Y^QB5;_rUy?SfA94^&wF3@^E~hGcR%-iBTtcD zu-M$x%oIQn0Fd|rNEg@%Bt8Kp{z9R}BMOZ{&jW+Sd;k`U!%5mm%N@GQ>q<5Q!fa{x(T}v=;9DWFb|6BniSGbreJb5+n#kf{9_PXMfy~#S^32Bm) z9e1mj+O`T+bieb7z!T);mn~ONU8|<9p{ciV6Lqt`!A_H1rn~o;neVf+r_uL2IJzA? zblClfhvz9@zwiAS0jDE>h>AY*E~r3ti$M zKoV#)3XPlB1xfgeUla+AS)+}W-M$y+>b*o+CtQ-eBO&c>HJ+ktD_r`WPb)!AMUSs4 znwR!L*`E^@@qa1%BU0jPt&r@uq+*JQyc0sy1aUPOjsQsCw=oE!-;pG`#IcMt+*n|@QHt{Bh0LGq@7_5Q4)0rRLjTXma9SR zOEeq1u+vdrp0x1X&n!i#*BDL=X>lneM%^|JxDH2}3+c6i+^m5^?SAKiEo$T!*EbdI zD&sLsn_JD9vaB};4<6yHCWih&!3c@*2oP<25(2?;eJ?mh{vx{BTxaR|bC(goU(!}& zymJ4vw9mN#PsNqRG0qRU;r;epib@VNGX5E%-vwcTkAbT@4`*$q%r1g&gg9?)vM-0d z1zouzjAOocR&7jjXkMu;I9$rCH8>o1IQBuSa_P1H*wtgbVCvoPYn%vLD+Tx7XRsXZ zG>i=@p=ULeB93n0zwa6LuS;}z&6~*Lm@zNB;RVM>>dBhOX;0?1COeR`N^zAfpI_1f zeqUbTW4M6LlaCKtCpdv&WH-$0t5N)#bH~@3G?;ueKRCU{CVV*0b?jS4zm;fD)BWZ9 z-8HvYrxJ}}eZe*Vy)D^7m-8bPZ6YUrPq$Y6s0EqU=9!;a&^1`08qY)TaVzQI7gLYq z%g5j?C;#DQ?O~9L%U_T{zy_BxYbolSU9GtELHl~&O4w}HDJLK)wC1@)gE9AQ(9S%T zY?FIdwH8zB=YeU<(O)0B6^E;qUCmqOLq zNtfYc{zOS}oMU2oQIP<{z5wgy+UD748gFY7Pm8I&TJmtds6=qdiQ0yL! z7M4fae)vL-|8t&#Y1+UoA3fWyW^%`9d3keDa}j&@#_~E=D@(UpM4IkmtTpW7H@8|C-i5ZQ{Dc7v z1Vj{Gqce9R6soKzJddgE5lG1uCsoRL({=3YHTB193BUo6?zC>79 z&<&>uhUDxA9B`F&vs6c4NZ4d(RFNZPdp;_?t$q)`}`}IdNIY%p2GCH2`Z>PD9t-s&| zr&tN&(z~K)(u0iAGulz%3CVlHi12|FQs}F;3QYv`Ht}B~V3QpPW!J*Pc?fuTea0Y^ ztv~59Eg8yg7Jbi5pYB3HI|AGhz}8TT4eEa2)I77BTRdQ_^=r4>&h=GNw!oo3RMq!`bDSt K!=8vkxc>r{d`#E? diff --git a/tests/drawcustom/test_images/arc/pie_slice_basic.jpg b/tests/drawcustom/test_images/arc/pie_slice_basic.jpg deleted file mode 100644 index a32c614c1255ffd43ff0c1184c7d40602cc758d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4682 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 qa#|c{yNYwKzWtbV0 diff --git a/tests/drawcustom/test_images/blank.jpg b/tests/drawcustom/test_images/blank.jpg deleted file mode 100644 index af068613c9d8a07a34e23ebb0cfa39bdcb7e7a0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1663 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 NF5dsozd#rxe*t1lip~H4 diff --git a/tests/drawcustom/test_images/circle/circle_outline.jpg b/tests/drawcustom/test_images/circle/circle_outline.jpg deleted file mode 100644 index 729af519793e2d46f6974018e4818c35aff3b4cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7779 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 PPXPW%i2kL;Kp*}uJbxBa diff --git a/tests/drawcustom/test_images/circle/circle_percentage.jpg b/tests/drawcustom/test_images/circle/circle_percentage.jpg deleted file mode 100644 index 60fcd9c03f8cdcfaa548b167054aab7178f8a5cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6452 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 diff --git a/tests/drawcustom/test_images/common/negative_coordinates.jpg b/tests/drawcustom/test_images/common/negative_coordinates.jpg deleted file mode 100644 index 3c77fc3ee44d073fd82d959847bb9da83d0ba8a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3919 zcmeHJdpwj`A3tN5ajRL$ZME-ID3Mg?BAG44>pJT$m02XW7rC3li0({Y38ge^EfX3O zxkNE#kO(37>$oH?+i1F;J+FhQC+xzxDp?`?&`_0SeL}0j3RyDF6ut7+e7cH2}0Y zPAS+&fZqZ85F7$2Eh8%@HmLXpNQlRlkc3N#BNki7iN6C$1*tU~b{s$`+Iu25hOXUt zHZ50L<6!AiC5KL?rh!*jqKvGvimKYTTAMa&Z_zO{+O>PnUSqREhs`biX=&x?we;&5nOQe(X8)Y`OMU_QZedZ`gYt^X zs)yAz_4J0urf1F1Te`Ym_4M}j4-7IUCa0!f&%BxamBn6MTIRgx^7tQk!2tX>TH^9I zVt?T!o&=bLq$FGt`GFTqB3k^y6(prL>_DtJV2|_+RouAqtn}K0X}P6OWi$*Nm`Yw@ zowCZBh72v%2WlUgeHpRD|BKmYV*lke2;|`~@#4W100sz%+-UM95=(g`qSlqpaB1<2 z4BCCrm^c-7(D4O|lYHZKiWgR2(89oH>Vn@)Qg8lkMHkW`kxr-ytlCcE?cI{d5J3P0xpisL}Ik%!ElqNthcxyGi5 zQYQA&Si|Xy4f6-o8-0J+5{@X0;z%ht!79wmntyC|-Tb37%*lJ-$%@b$&UUKOqPZ*! z)xr_p?6ypQVZqR&*%>ARN5{V{eRyZW5(2IdQ9>-gqbjvec+p5$%o%fo04ctnGsU4jqLo&a z31={ZI=$n5{Gf#=wz@9Wm5Y(9R60a29*)jU$B~^BTG_=?K`lEL;aB_bk}nrxO>*`; zGLL%g9@uI(cf5xbh|h6*oQ_OpR-uT+s{{Ij2|l{d!_FMTY1t~;XBj$pu%kwf{OZh# zD@gKZhSSmgSUDltv5a(t?Q7sATzbDqpT6aNYUge5m(J4_x*fZU=c&J($cqdKwGA6O z99es(>RlMC0HsThIg=pj2#sBS(_Xbzm|wbvZarA&;V^Y4trin$fsH)Ir;n#L?CTgv z=8(9)D;9x+)PXv+7;@ujYCaMS;ETso0`5Ncy9}KS@u%jh`Y_`*~ds8In(xg?Hnt|-DTZ)ffcn`Y zH@;n@%RR$Fa|ldiqxFcZWlyXUfx$D?ib;NkDw$o=xGpNYDY5cfVT#I{F~eYuqpFh+ z(+HjNnGF|!h~@`=l1PvR+Fx9W4n5w_z@lOt)GryXGBR9x6spyVz<<}0qV1cJbARuX zc7!EdbB1+0*b}GPP1zP0RAxPOuhwJ1t{DQ>4+E3fcht$o_(&;BC;!$XRu2A0JRHL^ zG9Q=Hbb@U)r#A^ujlJ%LtWCL_ub3*4Q}QD&xy_wcqm^5F9)DsuvFWzjj`JJtx2E`H zc~VPSi@NxaUC=6TU8+)en%$y#Uc_8vUfuH%bo*o9gl8rbVS4 z*cBDbZFcBQPND449?H(g_-a&h%@{;)^NS7cy%ppFV(7%tyX2(9SB;44&zm(r`eEN% zwcB@z2`7d+JWNV7pLLbYcI9u2v^AU>89J?ZJVT_us7sDRy);o~*wA&z#AlOt@0qYN zG_*TYoV@L1tO7H298S638!xmqkLcNF9cQe_Br{mmciwOV(7Ptv7S~$uNx?tOs63?E ze?vZM-oAXiL|SzM0&by#BGaCMqd(W(IzG4%6gt*e#4VCMK~u*#Wx}npru<=6Hl=_?8VL$%*UUA)}ne z6SwPLJ#rrJ%BN>781@}5t8BF`59kdHpY>zLJ6dcJH4`P7K}K(fu4m+L-o0R1T~IKb zw=LMus$I{Jk_rLYp{Kb1F{ZfX1%ZaVdDR$< zt14&S^Y9^lg59;0z>wZP6D;@q@Lpk#@YXVp6B0OIy+0o}!Co;94vr@z*?9zeRMwH_ zNN*1?6&aX$#T8?LJ=3)bBTK0FWDxZyow7%+-sH>)F|D+udgJfP!|^q7jpby8W6h7O zmG+gHf3LB$`dbL3#bH*?K)}kEjUv+6u9Jj!Dx#YO@wqXmaauhDF3{xWJ6nr>{;_<0o_8`HWtBAfZ~aYur_wYItNlx<8uZ%2k-u zHeD~!<68PN7S!C`u|A$9!vXFk#aj2Gzt?R0S53}zmzhR^_fGSo6}8EcG7A^LuluU( z66Yams+}f}>Dm4%FHr+jt`=3027web$2pj=tje5@r~E-%L@-vB$Vw0*6w~WA?C92c zk8Mf(+EFDEFzLpE?GSLP|Ky4}NgL0ku`NW~2?Ng65P0QH&)`?BA~e^LgtZXJH{c?h z#(26c+Iu+&*mPrTibpUyUn3>Ii;l=T1_t zhm9bxkx$^f7hUfdNB>bzg*&Mcg1cX?VV^AFJOe5nwQTdb&j}RC1VTWQFo_gq93=_O zP4?o7PxT3sXCW{&#&^Ud#0Ej&8ciJnr)W!U21_lq-Rz$}t<;wbDeA=-HWfcb0?&~40yD9TMGzt&Fs*|T+`}+>X-EjXxgYBcfhQz+!s1>Fenl1pI%tAy z+-o#TJ%%PqBCs>iA{R7s4wnRhB{x$Y2#jMdV0gFlgzl~4TfvyfR(}!2B|gSM-~f$h zCC+LtRqh?{c2{qGo|0dq-kQOMqYuV(!&^S@yHC5|i;u#;9lqk;@b_f>b+X{lz<&Uo CMRa2T diff --git a/tests/drawcustom/test_images/common/overlapping_elements.jpg b/tests/drawcustom/test_images/common/overlapping_elements.jpg deleted file mode 100644 index a8eab05fd554ecd0eaa3d32a2516f0ca0128a68f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9224 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 diff --git a/tests/drawcustom/test_images/common/oversize_elements.jpg b/tests/drawcustom/test_images/common/oversize_elements.jpg deleted file mode 100644 index 3e046a96824e309d03d90e0925db0f4e335fa07d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5954 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 b%wJNepLOl9k3LkqS diff --git a/tests/drawcustom/test_images/debug_grid/debug_grid_solid.jpg b/tests/drawcustom/test_images/debug_grid/debug_grid_solid.jpg deleted file mode 100644 index c1731f4dffac3edd59b5893c89c0413540d835c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23762 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 diff --git a/tests/drawcustom/test_images/ellipse/ellipse_drawing.jpg b/tests/drawcustom/test_images/ellipse/ellipse_drawing.jpg deleted file mode 100644 index 9159538d93e51c0bba07b62858343f36c3c48e38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6966 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 IlZ7$yUsZd15&!@I diff --git a/tests/drawcustom/test_images/ellipse/ellipse_drawing_percentage.jpg b/tests/drawcustom/test_images/ellipse/ellipse_drawing_percentage.jpg deleted file mode 100644 index f05ff5aee79b1d561e7cdee4b80d0b3585368038..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7805 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 diff --git a/tests/drawcustom/test_images/line/dashed_line_basic.jpg b/tests/drawcustom/test_images/line/dashed_line_basic.jpg deleted file mode 100644 index cd5cb968f95fe0ae2ffe33e81a14090dee6029cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2962 zcmex=jH%)-h70<3JTV8F)4&d$Nk z&c?~f#l^|Vg9<=~FfubUv$C*qvaxaUa&dC;^78=!KR;L@l;VN#Q1!xj{|_(-axgS7 zYA`bjGB61;G7B>PKf)jnbSEn#7%)HqBgk=V>>Qk2+&~3e1sIrsb~CXsvjSZVR9y>{ zXJ8Rz6;d>GWD^cdWLGK_F>0K+kVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7@QW(9J}x8 zm-)BEAF(%X`MqEJ%|Ee=I(wu|Th~t)a=YjKYM;~RXqLZcPYXcPv6#bPka zKF87`FgP5JL?AIJ6h;|~!78h&$f2tG-thNs*@w~Rb3cxt8lbKS&ce3BVd_9Z9R^p2 zK@DJo+)pIzJ;3jPEjfomD`K!pas#d!P>}DffPf?A9?Pv`ryuTIwPNXgLSju*4@j?S)bVgJD3%b{V>tC7)($*JkLGw){S=9hTE0Q>_j zdHaFbA9%@w08>C9;0W{*FPH*Fe#6xf$W7Z(%lEjTkB~KVOyU$*>`l2=Qj6KV!*zV+ z(XdwRDqYil+{6;K_ssq~V(0!RW*>?Do0kwQgTv(F!PNmCEK08`oW+8z;EQ(f)Cot? zMYeT41QflJOgE@ST?w7Zo9W|5Fy?l34@Kd9f8*lKA`e80b53lpB=;mld3w%}f2!n^PxC1@n2T)Rw~r5Woabr~W|=mPSC}`pFk~sbK_OM!Gq3i9h#F zRjT46y<^R)e?GmM27x-FkF+a-&J|s}*1~y`tW-}|VGIPs^n2k@S z3sb9!xNyI{H;|k#7%BFQDQrFXXv)ZW!Edl=Q6moqf&QQZ2uv9gPXFCUx{xG88_PVS z`ELD^d8G%`enVqfu&OxkB7fQ`1`UCPLKXy`a@V)5hJbZH1md1RAS0=L_O$HWgwL#l z0|atZO2tV7J061nusYlY5iv^ zP}h0IqH=*E-BP`_B?dn<=hL0nMHh6Gi2SHIqF9!Fn-%-sp-Rfwqo!U)558~)bjcXdr=p6AblG2(zLf=jYTE(XhM8t?;(mPPQvW;LgChxRh49CPz0`c85*ow}oaCoAtgERPWeNJ-t5b z#Rg+gENy-n+Omvzs+hQK~i4Rw|{N|iow z{iN(WKaWmgSwex7a8D3&WWxB|eO$i(&wMd2F?-s({I`P-CsWRV7;M=y|75aLs^|d7)Q( zj5Trexd$(){xEhtv*`Mk=8{0|ybF@)*99iD<5Px5T8v$GR**Ea?}B5T)T_6x_NKjz zCyoubEu`b-ifj7s2DJXzFkn!3qx`3>d-FXDJ1&=)=I}}>@xeVrCME4ZwEgr8H~P7@ zq0aKa+fhmD3*>?C9!Yi99yQCXHfsOgkET%Lp!*#@@rCy~FPsbW>xY1M{+E6$w;;Nj z1N%l#dFo5AY2I6tqJ&==PEMHy8v6Nj?#1ncs}1~_I9d)ZbU#kZlxpBRS`3_{?#w1m+2#8Et(HMBoIYgZt&p(k>DAP4y8x2I-Zml|+aA>9WF(`R zEJ!BJO@vw=_924?9W2XN1+58$d)?j@_EoEL$10+Tc6v`Gq>d2@6_=1sXL43WU;f2b zn4Eh@d=lZ7fg%j#4#ef#1SdpZP+GQ}=7bs#VKy>ehj>VHGZurZRJZY1+Nth2=^8PG rcD7Dtt&jB^ZRDwvF3*|Wy*$RoFM4Wz*)#jE-M{cp)Bm{uQ1`z8T*)?c diff --git a/tests/drawcustom/test_images/line/dashed_line_diagonal.jpg b/tests/drawcustom/test_images/line/dashed_line_diagonal.jpg deleted file mode 100644 index 880abd9511139e6bd9c427aa7883be744adb75a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2803 zcmd^BXH*ke6n-I%L=c03h^$#D(qZXfSwvkVQL0j<9I#L#AcUd`#wJ-z(mIA*zzUAKcx!-!w3qarn=Mb_;1Of065J&<7DhEV(oM^-nz*is^ z2ZzD(;_z$W0OmTt1HYRGg+#+6hNFYw`v65i3vN->$E-JV!b*4xsfEO*@JjAxlnR?S zPDrUc`-I}~A{#_Eib-#kk(HCz(A3h_(cQLZ?=J@X3`yjJhb%0utZi(M96fg2#nsK7 z>g(qpaO(7#u=C*;A|fwF#a)X}NKCqZ<7R4FddA&*_cI^lYAqJme#iR*BzaG{qF__hu#m5j80BX&&;wu&#^g+ybu7nObfQl#Qw$$76HM7LLpJu zMP3M=0Qf`_Q0OhH7(snAtdsY83AGSjq1~}5j8dGWy7`2#vri*lL`tJidUBE460?6s zEObT8z7hM2S0~^@BH+nG5`Z4yeo5vzhX=A?6>i70eY>9{+CAU4C*O|+frzB}O{Ogy z2~ra+k(V~!ri#&T+#}`t=HxlF){-PO)6}h}EVAU)e6AI17cQ7+_XuS5s92rS>YEW2 z=NJFuvTI|Eva);uHR@F=;RBa))!XWJN4@$yqV{6dNn+?zYeqMCJpc6pY<9>}6_+ zVX0#qI%oko^V=0FG6X1Ub(up#t+tt5cUFADGm1gO=LAh7D zBRfo2p)5Qx$m)`TI0$rXg+R-G2o&pa^daCtoa`%G7=arlGrbU?LZF#8J3dFVfPgfX z8$la&gg`I^Mjg4~a0;hBfGEFWv6e+X$!hBnpR@0)-)-ZEn;FNBG-tQ5rsWbF_U6V{ z5iYD3I+n}`xkNsYeS~@WF~4xSVJuaePjPcz=zMCSa^vB#bcRJ>`{O8>4 z*FifUHwyb2YV<~MP7s}2m2T1 zVsM->kY#!3=%CCQuYfPNy^4rdMGlW9Jj#ZD(h<}BO|&s>vz?t+?WR12Tps&~Kiiv7 zoPu_3k1`F7mQamWcr}*Io>=AA*`T4c#$v)Ui<0V^SmHHznpW(~-Dxjq!fzPa#QUS5 z8vCa2E&mF^!H;&?-dVP44`Za|&C{esvzh}{2Bz%aa+LaKtis4d{pc#Qy5Sn8n@|5c zPd6LpMWc**1)18&E91I_21N&d?e-?bGaMr9T^d$dn466tAeFRGt-X-y$b}b>CIQX_ z1Y*__Kbvr7A#fK0^LG|*L4ZyxyR*clwIZBFZselRRpk4mq}yCm-49eepC!=vz^ zWlnxsuftW_ofgUT2ccv=eOu-U7E`D4j+U}rjk!6g-OWL%qU#nxfvi+%Y<)u~Fs__T WefU4yGgh;iukv5uU#IIq9e)CD64uTD diff --git a/tests/drawcustom/test_images/line/dashed_line_vertical.jpg b/tests/drawcustom/test_images/line/dashed_line_vertical.jpg deleted file mode 100644 index 30f9a76200772b264adbe4fbb64692b7a6521e23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2512 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 AYybcN diff --git a/tests/drawcustom/test_images/polygon/polygon_basic.jpg b/tests/drawcustom/test_images/polygon/polygon_basic.jpg deleted file mode 100644 index 89711d69c04e472e338050760831d4574ae85291..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2216 zcmex=jH%)-h70<3JTV8F)4&d$Nk z&c?~f#l^|Vg9<=~FfubUv$C*qvaxaUa&dC;^78=!KR;L@l;VN#Q1!xj{|_(-axgS7 zYA`bjGB61;G7B>PKf)jnbSEn#7%)HqBgk=V>>Qk2+&~3e1sIrsb~CXsvjSZVR9y>{ zXJ8Rz6;d>GWD^cdWLGK_F>0K+kVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7F0X)m--6`-i@NT>mpH-uPqne}<;}?eqT}yTJILfh+%! z{$JVtqw#;l{@DCycxKkX-&ob&{hwj$KI;naqx-C{)+yB=+Wn(3e^EvC5v#k~Cg;|F zH2p~{hL)U_y1aN zBkdsfpTU8ZL4+ZIy`e_>Kf|Q%-x2>AZiZg2{~A|eHfj+p)zLBNOo3@*`ybVR)*tg* z_F30B{3!p=z%3lQ?b;vbhi`@M9||{<&);?_$0X52J@Uh|rA4#fZnwgS?B+DO;_>*aJ&*UR}|JVKUKN@R1AH@s( zm{_vo-O^qC-j}~rTvWdJ<*(6IW$#!cQO3lR)-z{Jc92^LNm`7f)MyX{&^HJe|K9`v DUlMl7 diff --git a/tests/drawcustom/test_images/polygon/polygon_filled.jpg b/tests/drawcustom/test_images/polygon/polygon_filled.jpg deleted file mode 100644 index 00f5097d4e8b90314b65f39fdcc14cd17f39a577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3023 zcmeHJX;4#F6uys_g#26W(vSx(1=PwQf`XMG ztGFSX2nfg~ZWK`<5Q?B-Q4t|%AV7Gx4|MFCEf!4VhaXRpjC zQQK0}JIC00-ys@(@|3C5rfX_x>&(?PG5wCUVBw-wtJkbGTW7xB(#o1+V{2!>W2cL& z+b(yH{Rez}{rnFG96oaN=aA5_W2YidM@64G8xxz5n3SB7dNJ)%W>$92joh1g`K4v$ z6?ZD{-n;+!No`%dprKLt?766|y`%HR%U9yQx9=qV1Jc2vQCy==#%G|Jku19 zQX6CT_lO-D7qgGV{^TVD6HtWMJd^?0U_=%#7eog-;0qkv0H4EMCvEZ*=ZbiT<7Hmr zDTlbGt$c=ifLX|`rAh9*DRJ`g{L&%yG(D62ln`v+n*ml|#=N;e`4UiT+aZ=1NK~Dp zt_FHF4_>Q$!PP9ab!<}5txGo5WHEh`uAFwVE%XW8=!L7Wg(!Z~>kb4`tzH%cMv}6T zEQf52`F2?%u5o9pOu~~w(1$=k<98F*j3vTkD*iJdhzVfd@bnEA;oBil7U|;w#awI< zKyakGKL~=vbK+v0c1sb0hlR{0(*iRw1O^a;XO=#M|CGoh#yhm zHM}2!bz%KgetezJ?ukgCwn1pF{@ao@f?@xtPnKkVJst=*j}oZsx=wUkrU6t%(H?LO}?mn>zm zO883t(Un`oM*g|wai(Ha8dz zQ3bQcBH?1m%EkH+9F*33##lY{HY&F=U(d<6*|0j{s_)YWMV&Y6E93r)fBj#SDA2vN zr=hbXEfWIKvUCU(vMf9CxlLUfsnSKvBEEJAw<|gS_aaMv_u}I%`u^qh#je`B2KGvI ztxS&z3hE%ZJ?QXIcA52@>+7CuCuH7Z`YvVJ=Xpdr{>J&qc33IDnm^tHg{{xEYh|8L z|8^vSy~}}3k{K4&It!LqCcfe#>0VZTB+ne9P0Wbd9w>e?b;8u;Yo(<>)lihwW}T;n%ya4EBD( UsXAT_zvg}EedZri5QU9@0Jy(;(f|Me diff --git a/tests/drawcustom/test_images/progress_bar/progress_bar.jpg b/tests/drawcustom/test_images/progress_bar/progress_bar.jpg deleted file mode 100644 index a04ca55d0405baa22ef888525b87e9486a082cc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5890 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 AH~;_u diff --git a/tests/drawcustom/test_images/progress_bar/progress_bar_full.jpg b/tests/drawcustom/test_images/progress_bar/progress_bar_full.jpg deleted file mode 100644 index c502e5b251f4a848e3984e05f81a6f1a91a2f0fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6259 zcmeHL2~-nV7X1MN1d$l_MTxcx2ny05OM|Ax5d=gQL69xt#-@!ZNMtc0vV*iNDxfgP zCbB6QP+8Iv5J5o`G)UMIcA*0aAOuWOQ+D@s&rHvpGiT<^nR8}*RrP=UQ?IJtz4iWk zuRio1VuCf+7FHGjfdBvjZvg58dx6NWA_||0iova@7*g!BAjOeCiMY6ggrtOoI0_{t zg+fXHwS0aELR3@~DTYLei=$Rcp`=!$Wne+0e^UIVlm2=1*Z2N9f_?xPNpKmVDT=@V z5ez~UgMeB97Pb?K_({Mog7|ElxP&B1Y89+NS_4GjcZ-OLB4LYR?MV1K5W^s4H|XsV zmviuz_$o;L>!|Dbk{it*K2va{ayIE7J9h;orKqH=qPlsDhUQi+gPn#(#wOqF{lh*B z%l%f?hn$=bySN^4JAUHiDIZ@y|MS5i7eWaa!=kUo#Ky%ZB&MZjWZt-WD=YhML19sG z$-UD1)isYuwRMl5JZ+}5v_5Zp(cVGpe*2Ez^S+nC8Xg%P8=si`FvXplU--DV#9LnZ zj0*uoe})COKLh(4Trdd;5iv1QF^SK(5F(-QA&L=0ZqO5#-QytP9VGYF*HM!4=GXHd zK0|HPcjPD>J4cmL++@Jo%>4}QCuIK|uq*!(vR{GyhKm8DMG^4F6U6`=5b*yfa#;#! zf-l{Fl>)x8pp@(%$gp{q_vq$xT`|JO5ygC#t|ZUKo?2nBPQ2TK!={rOL{cRgaD@(OX?A<)v1BNRd~lO@AcAHVI>J&BWVyAO?`_S z_8^1{iNj>hH+X&_j#Z5ds9G`h^nm~h0+PhJ*wl{{CH{j?MG$D0;M=64iLd!CLJ1oP zWW@0eE!iOuuv}FR0Tzyh7TQyVkB>p%1~!*&Qw1+!jZk5Nbm} z6t=8muTX8{;!_9|#L$VHJWd=0G<_l9p+|g)ev0RRPi%S2S>i*WmB@rG+fSsNxYUDR zIQ#UqP)@i80%NPO)3LhC-b*m5G&Jv~x;g~%cvXBE*siT;-sx1vwD6kJ5ePIBo3Z@- z0>Rl<2yEL8W7-1&*%8XnJOmUV5CtWf z|A%Z_P43>xV?h8Z!m&sxCd9Rp<0<;@pghsL%k|tOff2Z#H>czu{Z!T`T{9v*2 zDSuysCPwox|u&S2tLAc8j`l(OR* zQE0rXXIM;xT?H@9@VeX~VGCzh^#Q8vTK9^sR5@Ex)SC;@LRp+g`@*Y&W-7a{JWjSJ`%lA*2q~#VjpC;Qb{n z9&Lf(a3{k43?Iu%u*g2Ptx{Kt5WK8ry~C87jI|z3l^d5GCuuf$3VQvfXZ_}PU#W^} zSZC9Fe&l{zpL_2h3CY$C2sfoI&4zsEJ~-JGw^%5soiQ+dE!W5Q;W`ObyJuv(Akd=6 zb7`(Pj%>LsAM1XdHLq$avZE-gHL}##ev6;%JHnCX=DO$s99!H8^8iSGH^3JWvhWr#~{qtN-L8RB++1&-)-U-zjYSq|y6GP`n)iPX-`> zRq5-B=!dggSVm*jViD1gc(T2RMJkw^y zH04o*A4VB9gn?i*Pa~e^Cn$q!iE)Ej-hN`W*-&*(BO|bH-)#CEyNwZg@%Hgf2>3tN z3impIen{52S=+M|7*6c#Th4Qiag|6ICbMSapX|g2kCP zF@EpjYBI8ei$`867<)M;*;{v(UR-LyMXPV&=0z_IMH3}RyD$x_IsU>4Tl#mpx~oZT zNoK(}(D(fBcIl}lsM80I*zfO9*n7G4+cq6tol>_n3X3sX$Oyd|RS>W{ge%P!xC#-l4@ckv z;0g@_@*!wO$;geG0{$jm)bMsWx3>%0DH}bhW}7ShYnAj`S&^y?i`bdx9lrPzZ`#$s zvUK5E3|_7!%R*ZvK6#RorCIdUZJ?)F|QRSLRD zT%$z>S1I}gM~1`-Oi>alX1_nu-;1LNB2VS^uP)wNrL^BY%Q;S3-CX%>uR`}BiCm|m zAB#fQHEDWQ8HJN`%no2NJkRL1ZIMcnbh|9v$@sD4x`w0753MElgA!}rxmGZ7@z~l> zimuE{7EX+yKcb$%`k-oQt1na-Z#?(?qr#e;3s0zHzM*>CBB~qG!qWV_&zjIx*JgA( zunD-Q?7q=}+#tJHlfkXW9@eB--ydA6X=$xL^D1AmwAXJ|qc~@+&(-wBEDkP7$1Idp z6@yni&G$Z6XCAnwKf;uYWOq%!+1HXkvyfH$a{Z}S(dc%H^zC{3_IWpjUF946rYo3( z^)rJ_;knNPhAqLVTbrX=hUFhj-+1H1U6Yc}DKp13IA`7!3@B!Av}|@OVIN_7Y8;`O zX>*2#7c+~eyRFXOgMZ4TmRjVDA7@L{rVXQfXeZK8xhkrLX^NIwXWbQozb+rV>fx=X z(exmU(PLX*az>}TE21Yg;+xKZLlueTCExgIl6~S6#~cqiWE@ATJhR%WX=|-z{lQ~i zmvMymyIvDw@#nXa*DZI6-sCvrcn)-e10Gl45!NYc$g$UJNnRz sMzZsHiS;>bG**Uc^pR|J(+fOYTTOotDwF>CW z*o{i^=xq7XS`&b~ff8`Go9NeZ%b)Pof+h?xty!i|Kmn;nk zT(&$Y^v^5*vg+N{Yd+ZU;l_wfkx}tmw{1^I+_7`-zSOkz{RjSbIOE8tnOR4VWuMOZ zJogKE-kJRK7cLf;lwP`AR$ZgKT6^uAy6fLJH2%=ke5*yRz1z`w?|xTz&jWp5|C0fO zks35Hx>&$|DhnT<3i}UTI0!5&4u{R*GrCw-3HZ+zbGWb0;n^;Jhrcd%++@!^*5lte zbgHOI;NrDHXSY7?rqJHiTkEE0qzx}OqS7|mv3^Vnh_z+ygWwOa`8 z@cZc{34y3y)9PrbrEcmxI+mu_$kOLd5@syPs9Lk?z^rrS%X6a^q&BRLa`@!z#%^gu zL1cGPeq{IS?$>5&=FaA)eik8VDL>KW>tj+km1aENRiMpEll01)NOem3R|c~0M|FJC z+vJbcO`ZJ}rZ7nsq3tA!2{UD$j-WdFJp}hN%ZY&o`Z$74jpd9^jiqj=`Yh(rK_n4Lz{MCWe$GRD2Z0yO4}ty)3%Zl1j=4oJTb1nZfN4c zt6e5371Z8#<(pPxt=Eazy=|F#qB&Na^YHSH!a|=%8}8gLD2>0D*!s0?vHLC}3Z z8Jk=ad5-K)c%5%{krfjb`;b%#wb@5SZ|MdE`{E691gGm5D{Q{FjNscgaMpdosCcs4 z&yLhy#HL?4$)?3BwT%AzRP4gs>@EbpTY(&5?cE|Okcc8pGi5km)X_3?+rL=|th<;T zTAHCy09dnTtDVwMxbZ(+smv|gFJ35p1j*n`fKDPc#8JViN37{!VpyMgA-k4+guYX zH{-yRDhv%Kc{ff?FOQ);2rf(0W@tkmoP2RAlgi+LlQ@@Jiy&5E@su=Qsgd-}#u1Jo zduEyoYBhtda}>r=2tq=MQ`wexY1RlF7J=T`{25WD7;=-?Vjl+EgTQF|6<)J-(X`MX z!PJls5Ns%@k(iS8uO<6BkoB^mBm|p@{9XUh^y4DEAcrxH+no#(Iw0-Q0lAparbRsc=x&|{I zd48qd0}DLCIVmDX7&-g^;X!^BbE~T(@LI@0duMT_lZKkU$d=$nhC7xO>!%dt^%#S< z$sa5z?kICRk&)*TP?z^dPTBE-S}zmzVY=-MJH8WGYMxpMu~Fxf;Pn z1FdO6P_K%pe>jLuTBwm-Z|Y6)!_ONieLr;S=LIk({>4_D?Of%wYnzl_vZ_LAe2zrckFoIUT`AwB2nCw&F91>C6jZEzj8eC7g zxD>NZE1?1^TQSrnRB&-UvG7r* zuRYm|Ks#QxMMEUqo?kofyTI*XHO?!P0j0(F?^PZzsb~o6_p?Yp?TB$g(DdHvlCS}f z4Z3!pLF>TyK(VYt~67;gJD*pB%-G2CV!!Eg&42CE|j)^rcXeOnB- zW%#W}np{Zi#=Tydx%y9-ZvVYHrkl$!eh)J5*qSViUjfFiD~a(dR$%#K|rQZuSdQ}>$f?n-UcYAWWcgLMCvbC1jY^QfKriQo6vsHgio cO*?(bbz$Z#g*#+}$?x}Xz?bVYm_RK*0foBstN;K2 diff --git a/tests/drawcustom/test_images/progress_bar/progress_bar_zero.jpg b/tests/drawcustom/test_images/progress_bar/progress_bar_zero.jpg deleted file mode 100644 index 86a573cd1a56775774542b049b4dcc0f58ddc88b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4002 zcmeHJ2~ZPh7XF(gghY-3xz$7g1$5En(4ZoyC=5C(hansSih=|RP(cX_2_9U6vdE!= z7-3|h9HLy2GZGRN5Hp}C$E*+p0mU&9i~&M=8l7@$c6X|#wzg__XXoqc|Mg$}`tSF> z_x`UN?uG}zSKAz%8~_9X03io}`+z-A_yQDig+e1E3XMU}0i%fd1Vu$GRtbw$#NqIG z98UR{m|Fxwp->n!2B)ZqQ^Di#Dr%|-)YLvX{%n*#&wlyrml=Eys4Iau$OHwc0|j*m zr4GS7Kt$riK%W491~eC(B3229pNBY9eFYSdcPpS#7$joEI~KVQ(CQeCCFYwH=ez8~ z8XVTNIGLWWWVrcGla_0T$jH+F$SE9NTSr$D2TbF9@JM z(?Z72#Qu&Kk_1QrjYgrdbG#shDC9(`qcKa&6*V@wVD}xKZ(wm!Npo|0{+%YAp{1)x z%l}9RUfak@xKunx?Gv-#M(otT#Ow>Pzwzn?$|wja9!ee9fmzu#g*ZGg0e_hPXbPt6 zojU18vTf1~u|$_{D}8=X-#E@Dge47c_SF}?UxpMMQZs2Z3?797qUbxh0Sr32Wn>sMg*OZ2`-1=s;z?p1 z`S}NfW%7A+0%KyqMy$+~lf;=kW~apvd5b1saH$vA33tf0!rQ7|K?tc%# z03SZMYIac?-%qA3vw^{@HF0WEH-O@V>qelZ0G7>=6V z)VXV@|E36`L0cO!C0?#aOIU@c^-ILkv;tZJ`CR`u@`oa`Hg0*G^AD@pCx<LD-Lxv~qkQaHA0w!ID6jqSDzk3AT?DMqK1c)G8vy^SLssq}Q9BOA;R0opEH|U6)?5_Th(HHU3n`?1{6l z`p9K0M*75L`8TnCAuWkFSM6s|gPdm8`^r1peyGZuDh;vR9G>{Xi2eLeGV{YT2W4AM z^J?SkUU<-sZ)YUDiQQ0tATejf{sFOJ!C#IveXTpxRr|f0^N~G*-DSl-ZyV0j0=h2? zhm+5l)|v-fUE#HG-|wf~|MrF?FvNz<98J2;n60)r^x|7% zF^W$VAF@Fe1QQ6)Ci~H`r`|X72xgs;A)|ro81dt`C`YTtbG=MEvTolKpMpNj0!?Uu zs0f3h0{JsL2|2QVmU30)ni}KRby$|xNom6RA=@#Ln9S($6Qz&1z~Ib@8Nb#U=gOWN zvq?SC{cFZ&bHgt_jwzFb2u){J#za-K*Hkx3K9+{Spsy~P*wxKS^9a+Fw~t6{N9>kP zMZeqLdt#@Lnaq2F8pg0-;OPP{5>Kt?xsb#UPomq@h>qn7iAp}6(yME&q^o>=RNK63 zo|d$yJ}Gaw@>X|?r$6ShQmRTx>*ECSLI-@-@rq%W)4R6Jb{Q`Xl!5wj1Mm%`ZfRjag4)n+2(IJ<-9`)vHpO zx{(c`F%jZyZl7yM>G(LmopVNp|2W1Pb9irWpxgOcn04iTiRW33{A7Xqd~=pVG0%Vg zNKuA6W%rn0HtB6tLs_hq4Po)XxNpG8gk70CnO(OnGM5dn^z;|Es+NWamQ3YYFDtk{ zSWt5zWBabooEg;A!(aOls)5-;&QKmLLf%@&Wz2fe37>0ayHWIxcg|SI;1hdyw(%Ra zr6*ya<;YVZd5a|Z1vD(baq;c?+en=Zxzo`(3*IhpYN!rnuW{qGy$W;RtgC7PjS@wj z{i>YNJ#$ifdI z#iKjm#!Brz`{cmhYbFz@Ltxb0H*AFo*Z-iv71!2S{H}sB#iXW7lbJ)8DDh4Hg*!7i zbwMpF-nEYCS^K>CvFcV`-o+I9(ilkm;LL!?IGIk6xz>wfE4(hnYzP;z2gzC0eFiG^ zTg|LYqPFUhc?V7JwO&ziSSoThozsm>!zta?^314_9l! z5%*N4Wy)TmU$(d@Yd z4QW0goGwNQF7L)3S_mR#aqOF0+0!(n=GaK@#>taR`BdEV53sBAJY9kJGgB(Xpf RI71sTf0+O26cFK_p8$}&gTMd) diff --git a/tests/drawcustom/test_images/qr_code/qr_code.jpg b/tests/drawcustom/test_images/qr_code/qr_code.jpg deleted file mode 100644 index 7cbcf220912ab16fc1d52d88d8bfa8ff8dae1971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14349 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 diff --git a/tests/drawcustom/test_images/qr_code/qr_code_long.jpg b/tests/drawcustom/test_images/qr_code/qr_code_long.jpg deleted file mode 100644 index 08e823ef2f26b3b5ae6732b116a3f8a77b443309..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30766 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

    x0Heze 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 diff --git a/tests/drawcustom/test_images/rectangle/rectangle_filled.jpg b/tests/drawcustom/test_images/rectangle/rectangle_filled.jpg deleted file mode 100644 index 717908ab616b230d6e6c9d0ed94aea5fd38f8cb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4621 zcmeHKX;2hL6n?X_2fHY^pahR(N|8%ThyhOwqhKIt6cu$94}z!!H6n(%Mv)Ob07Kj$ zK|G@CMbHp~+(JxN4p}!A8azNivw#u7WMx?t_L!Z{phn9il}e?oia+?KrhB^Q_00Re z?ta~kZlXr$H_b1=4=@Y>V=q7r;0v5*z}Y99%ceM&$L#@+&wC6$Um&m$2>3#wNF)^Y zc@aGy!EhYsad|>MU)Wb96!o>XVqtCl*zjrA=Sk_sw$DoFJcun|E9Qb@V&I4|T#TU# zAXq;_-Mrfu7I>`X{Z+O;S3i?qGz`}Q9=cKk%fSD7bIeVv<^ zUr<#Id}!#$fEJ9?-+X7=xh#s4Q}&xk$eRS$h|jO{#J3?!K8Bb==waDi7L!*%kmI0W%& z8)c0OWn`k7H;FV&q{=D~?2wvMx)iol*%GUid(`T-4fT7dW0x|n6h$5mN?PP49kTX( zQ)SD77{a|U-F=MaxU?WUcT4r7#U7;-6gH;7-|D?<>(+Ogvme$nN z`tLzd-Vp0RRUbmo;**Eq?%V6AZ;C0JMxa{3_}@TKVbhGj$U*R9K4o~H`m;Ilt6K;H zlGH7vKBszZdv$oF$3tjvHzVr2b9>_D_F3o5GWy_j`{id#4l;JUtTnqG-82Q!%VvTz ztjy1-upg8+>$B;_p6TC>`uWqNDw%fMu65%#?K_~K8617wRb`syRvo`SHTPsg?uNqJNzU5ube(RIz3*;<9b!`;M2 zj$)a8_73vv_Oe>7U8+5rQW9oY!c|G>0#}kKfu z5y`G6`SJ_d$y6VDy7uywazad=iB*L)Z?0PDrB~#7ZeH?sw{k`1bejizogHk(N+P^w zPS$-i>G1B*OPV3+qcp2WX*S>XR<;hYZ1xT-Wz_d)Wss4oDoy{4$ndJQO9RSk?@7Nm z2G^@A$)@Bf#kZc7s_$ zUZgATzI;$!sDIP%)IDAA+Ra z&4i(22ZHk>SkD>}Bt$R`#KW;MVzvr_4W;{5_J|bH*GzX1Tuh+fld_GjB)c=11VOrh z_6qE}iQs5nql^*gQxT*^Q>XNSEpj!%OeLGc&L%K1p_EpnpwIqAlH<=68H&L6^$N1{ zjwOPv^Vq#~DFUl&=0dV{jotx495bA)TSDBAwKZgRD-onv>-Rli8_DfMXihc)H*5U{ zxh4mJZ+Iy|TX#4k7}1I#NGq=*e<0~Zs#or;|4r^F|GDhZER?AaF5G{zP2%mQciC$^ z^i56bIVs~{WwYGnLcrBTE?zmsI6r^9#M1A?D!-s}!K*aEZR(Kd&dx}}-%nBO4<{$RalOMe*2iTW-ipEjh?;r9n=>Px# diff --git a/tests/drawcustom/test_images/rectangle/rectangle_outline.jpg b/tests/drawcustom/test_images/rectangle/rectangle_outline.jpg deleted file mode 100644 index 3fc3097d099747bd15695db6d6c1e96ffa731f0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5039 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 N;=!u;pLGsa{sZ}x^F;sv diff --git a/tests/drawcustom/test_images/rectangle/rectangle_rounded_corners.jpg b/tests/drawcustom/test_images/rectangle/rectangle_rounded_corners.jpg deleted file mode 100644 index c20088c4bdc94da286d835b2001e85e56dba82d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4939 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 diff --git a/tests/drawcustom/test_images/rectangle_pattern/rectangle_pattern_rounded_corners.jpg b/tests/drawcustom/test_images/rectangle_pattern/rectangle_pattern_rounded_corners.jpg deleted file mode 100644 index f278925df6668a4c63d4df4fee74a115ddd10839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6647 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 diff --git a/tests/drawcustom/test_images/text/large_font.jpg b/tests/drawcustom/test_images/text/large_font.jpg deleted file mode 100644 index a406daa30e527047d1442a35ac1c9174b2e53682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8113 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 IAZYi00DtC@#sB~S diff --git a/tests/drawcustom/test_images/text/small_font.jpg b/tests/drawcustom/test_images/text/small_font.jpg deleted file mode 100644 index ecebfd40e6a3d130cc7081e1bc35f82a523f704e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1787 zcmex=jH%)-h70<3JTV8F)4&d$Nk z&c?~f#l^|Vg9<=~FfubUv$C*qvaxaUa&dC;^78=!KR;L@l;VN#Q1!xj{|_(-axgS7 zYA`bjGB61;G7B>PKf)jnbSEn#7%)HqBgk=V>>Qk2+&~3e1sIrsb~CXsvjSZVR9y>{ zXJ8Rz6;d>GWD^cdWLGK_F>0K+kVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7hyCa9qBVpKqoA_{>h zAOS*o5tSaKrl2CyCioIZ((d@4^PPLocheE+HueS7?v{Ho(u`AdC=!M-11FhwlTzvLbTZ z4;~hkKYmthN2G$@joioL8dfjc6;BL;n)>Ii+?0@1Qr^5pMQi7--Fx;L7#bP>cF4rq z#@5c>!STq+Q>WeB&vT2}07)|9_7}2$57^EB5wd>(`%hdGz(#}+Jb4IN01fcC zk2WMo0=t3#Q*7jUxeXDewNH*kPahk$9W?NAtX(U<$iL9o0KY!#eLs}t-=5aUHaPKN z(b82yQ^*pPZiEJ1X_M}=E8JbahP>MXARu1b8?prjzz5PuG+O@W*m}*>VC;`=lU-rY z<}-9Cp5h*hm#E8Urtikq#SYvQV&fORIFXPsy9}~t>Tbp)>6i)4>L$6}CU<)|r5LRn z-o0XL_N;Q!cgm=<{(;WLD|NlCQzfNIx9!c^wx&?fle26qsF_*iB7#w#4Zjz|jJNOe z(LFjEW~hT)y5nr-Ht6N)R5jtzW!_o$E<;UL{|NVwWAr)BE)?D`Jyd(zhV1L+@;il`ZYu7V(rL@1@={5 zNrO+66=Vpv?OLa$=xC5fuLjnQ81$7jA>ZwC8ZKZG#rwL|p5+`JRVM1T>OVJ44^o*Og_wIhy{zNjbX=BlU`yJ_1GGgf`r zABMa|ZX{NBZBg4T_6TdwdnNz^X}1Vq^#v%2Wq$p$XL4LrgB~ifL}*Fy`e@&&RC4mA zL%>7R*w0yVU(D}x_Zo;WF1MAuc!Ye9O2mUFP>PrWHiPwJv4`d41U|h%FN#ovO4`Yr zTI|aYo7a3Qe17Mdqv!+mvZ(lH#9d35CwnDR{b^dm9jQ0YBnZt50PwiWWc_Jgu0d_e zx-z8*jf7H|1)0lV$W4O{UuTx7{gw^(Y0JBA_Pf?Mr8{Mm+csWNF_!htOwM!_Bk)K4 zP~@O6Q+62d9?l%nn4P;x4s>!!#i53mEwsEBRCK;P3yrIWQtazT_k|HTn5!tcDO

    ISyQ#WgQfz25GkcQO4# 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 J3L@d*e*?(^_M-p* diff --git a/tests/drawcustom/test_images/text/text_color_markup.jpg b/tests/drawcustom/test_images/text/text_color_markup.jpg deleted file mode 100644 index a1d66635081f6e5cfd99031fd08b4f1b19d5a346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9854 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 diff --git a/tests/drawcustom/test_images/text/text_mixed_fonts.jpg b/tests/drawcustom/test_images/text/text_mixed_fonts.jpg deleted file mode 100644 index 168cbb775f846505ff281d66cb3e989e3c2a35a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7113 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 M{oV0X^B^AkZTlc=#YrXZ}kN1AuU8~NiQ*}=5 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 OClmk2r!oZ9z&`-Rr5z#w diff --git a/tests/drawcustom/test_images/text/text_special_chars.jpg b/tests/drawcustom/test_images/text/text_special_chars.jpg deleted file mode 100644 index 5af0978384423c32f5b3acdac8935634ee22f92d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8738 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 P*TdgA`@hW@NJ9SyKB_@D diff --git a/tests/drawcustom/test_images/text/text_wrapping.jpg b/tests/drawcustom/test_images/text/text_wrapping.jpg deleted file mode 100644 index b76376048cd9ff84946064923e4f84bd916f71bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11112 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 z 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 diff --git a/tests/drawcustom/test_images/text_multiline/multiline_empty_line.jpg b/tests/drawcustom/test_images/text_multiline/multiline_empty_line.jpg deleted file mode 100644 index 35bc3015ca9777b436812130c57b8e31f4d66149..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3434 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 bM4nn6(iQl7zkUC|^}qS&!{0Oj%&~t0XrGp4 diff --git a/tests/drawcustom/test_images/text_multiline/text_multiline_delimiter.jpg b/tests/drawcustom/test_images/text_multiline/text_multiline_delimiter.jpg deleted file mode 100644 index 105a3f6770147d16eabf7b92debe9a285fe1c0fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4627 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 XzZUG@78(D4`d`*y{|~nZE1dW@xF}Q1 diff --git a/tests/drawcustom/text_multiline_test.py b/tests/drawcustom/text_multiline_test.py deleted file mode 100644 index 3b13f6b..0000000 --- a/tests/drawcustom/text_multiline_test.py +++ /dev/null @@ -1,206 +0,0 @@ -"""Tests for text multiline rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, generate_test_image - -TEXT_MULTILINE_IMG_PATH = os.path.join(BASE_IMG_PATH, 'text_multiline') - - -@pytest.mark.asyncio -async def test_text_multiline_basic(image_gen, mock_tag_info): - """Test basic text multiline rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - 'type': 'text', - 'x': 10, - 'y': 10, - 'value': 'Hello,\nWorld!', - 'size': 18, - 'color': 'red', - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - - example_img = Image.open(os.path.join(TEXT_MULTILINE_IMG_PATH, 'text_multiline.jpg')) - assert images_equal(generated_img, example_img), "Basic text rendering failed" - -@pytest.mark.asyncio -async def test_text_multiline_delimiter(image_gen, mock_tag_info): - """Test multiline with delimiter rendering settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - 'type': 'multiline', - 'x': 10, - 'y': 10, - 'value': 'Line 1|Line 2|Line 3', - 'size': 18, - 'color': 'black', - 'delimiter': '|', - 'offset_y': 25 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - - example_img = Image.open(os.path.join(TEXT_MULTILINE_IMG_PATH, 'text_multiline_delimiter.jpg')) - assert images_equal(generated_img, example_img), "Multiline text with delimiter rendering failed" - -@pytest.mark.asyncio -async def test_text_multiline_empty_line(image_gen, mock_tag_info): - """Test multiline with empty line rendering settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - 'type': 'multiline', - 'x': 10, - 'y': 10, - 'value': 'Line 1||Line 3', - 'size': 18, - 'color': 'black', - 'delimiter': '|', - 'offset_y': 25 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_MULTILINE_IMG_PATH, 'multiline_empty_line.jpg')) - assert images_equal(generated_img, example_img), "Multiline text with empty line rendering failed" - -@pytest.mark.asyncio -async def test_text_multiline_delimiter_and_newline(image_gen, mock_tag_info): - """Test multiline with delimiter and newline rendering settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - 'type': 'multiline', - 'x': 10, - 'y': 10, - 'value': 'Line 1\nNewline|Line 2\nNewline|Line 3', - 'size': 18, - 'color': 'black', - 'delimiter': '|', - 'offset_y': 25 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_MULTILINE_IMG_PATH, 'text_multiline_delimiter_and_newline.jpg')) - assert images_equal(generated_img, example_img), "Multiline text with delimiter and newline rendering failed" - -# @pytest.mark.asyncio -# async def test_calendar_format_multiline(image_gen, mock_tag_info): -# """Test calendar format with multiline text and potential blank lines.""" -# service_data = { -# "background": "white", -# "rotate": 0, -# "payload": [{ -# "type": "multiline", -# "value": "#Ganztags: St. Martin\n#11:00-15:00 OGTS\n#11:30-12:30 Abgabe Arbeitsblatt\n#15:00-16:00 J1 Untersuchung", -# "font": "ppb.ttf", # Using default test font instead of Noto -# "x": 6, -# "start_y": 262, -# "offset_y": 36, -# "delimiter": "#", -# "size": 36, -# "color": "black" -# }] -# } -# -# with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', -# return_value=mock_tag_info): -# image_data = await image_gen.generate_custom_image( -# "opendisplay.test_tag", -# service_data -# ) -# -# generated_img = Image.open(BytesIO(image_data)) -# save_image(image_data) -# example_img = Image.open(os.path.join(TEXT_MULTILINE_IMG_PATH, 'calendar_format.jpg')) -# assert images_equal(generated_img, example_img), "Calendar format multiline rendering failed" -# -# @pytest.mark.asyncio -# async def test_multiline_with_blank_lines(image_gen, mock_tag_info): -# """Test handling of blank lines in multiline text.""" -# service_data = { -# "background": "white", -# "rotate": 0, -# "payload": [{ -# "type": "multiline", -# "value": "#Line 1\n#\n#Line 3\n#Line 4", -# "font": "ppb.ttf", -# "x": 10, -# "start_y": 10, -# "offset_y": 25, -# "delimiter": "#", -# "size": 20, -# "color": "black" -# }] -# } -# -# with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', -# return_value=mock_tag_info): -# image_data = await image_gen.generate_custom_image( -# "opendisplay.test_tag", -# service_data -# ) -# -# generated_img = Image.open(BytesIO(image_data)) -# example_img = Image.open(os.path.join(TEXT_MULTILINE_IMG_PATH, 'multiline_blank_lines.jpg')) -# assert images_equal(generated_img, example_img), "Multiline text with blank lines rendering failed" -# -# @pytest.mark.asyncio -# async def test_multiline_whitespace_handling(image_gen, mock_tag_info): -# """Test handling of whitespace in multiline text.""" -# service_data = { -# "background": "white", -# "rotate": 0, -# "payload": [{ -# "type": "multiline", -# "value": "# Line with leading spaces\n#Line without spaces\n#\tLine with tab\n#Line with trailing spaces ", -# "font": "ppb.ttf", -# "x": 10, -# "start_y": 10, -# "offset_y": 25, -# "delimiter": "#", -# "size": 20, -# "color": "black" -# }] -# } -# -# with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', -# return_value=mock_tag_info): -# image_data = await image_gen.generate_custom_image( -# "opendisplay.test_tag", -# service_data -# ) -# -# generated_img = Image.open(BytesIO(image_data)) -# example_img = Image.open(os.path.join(TEXT_MULTILINE_IMG_PATH, 'multiline_whitespace.jpg')) -# assert images_equal(generated_img, example_img), "Multiline text whitespace handling failed" \ No newline at end of file diff --git a/tests/drawcustom/text_test.py b/tests/drawcustom/text_test.py deleted file mode 100644 index d64e6d6..0000000 --- a/tests/drawcustom/text_test.py +++ /dev/null @@ -1,449 +0,0 @@ -"""Tests for text rendering in ImageGen.""" -import os -from io import BytesIO -import pytest -from unittest.mock import patch -from PIL import Image - -from conftest import BASE_IMG_PATH, images_equal, save_image, generate_test_image - -TEXT_IMG_PATH = os.path.join(BASE_IMG_PATH, 'text') - - -@pytest.mark.asyncio -async def test_text_basic(image_gen, mock_tag_info): - """Test basic text rendering with default settings.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": 10, - "y": 10, - "value": "Hello, World!", - "size": 20, - "color": "black" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_basic.jpg')) - assert images_equal(generated_img, example_img), "Basic text rendering failed" - - -async def test_small_font_size(image_gen, mock_tag_info): - """Test rendering text with a small font size.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": 10, - "y": 10, - "value": "Tiny Text", - "size": 3, - "color": "black" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'small_font.jpg')) - assert images_equal(generated_img, example_img), "Small font size rendering failed" - - -async def test_large_font_size(image_gen, mock_tag_info): - """Test rendering text with a large font size.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": 10, - "y": 10, - "value": "Huge", - "size": 150, - "color": "black" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'large_font.jpg')) - assert images_equal(generated_img, example_img), "Large font size rendering failed" - - -async def test_text_wrapping(image_gen, mock_tag_info): - """Test text wrapping.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": 10, - "y": 10, - "value": "This is a long text that should wrap to multiple lines automatically", - "size": 16, - "color": "black", - "max_width": 200 - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_wrapping.jpg')) - assert images_equal(generated_img, example_img), "Text wrapping failed" - -async def test_text_wrapping_with_anchor(image_gen, mock_tag_info): - """Test text wrapping with anchor.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": "50%", - "y": "50%", - "value": "This is a long text that should wrap to multiple lines automatically", - "size": 16, - "color": "black", - "max_width": 200, - "anchor": "mm" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - save_image(image_data) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_wrapping_anchor.jpg')) - assert images_equal(generated_img, example_img), "Text wrapping failed" - - -async def test_text_with_special_characters(image_gen, mock_tag_info): - """Test rendering text with special characters.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - { - "type": "text", - "x": 10, - "y": 10, - "value": "Special chars:", - "size": 20, - }, - { - "type": "text", - "x": 10, - "y": 30, - "value": "áéíóú ñ ¿¡ @#$%^&*", - "size": 20, - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_special_chars.jpg')) - assert images_equal(generated_img, example_img), "Special characters rendering failed" - - -@pytest.mark.asyncio -async def test_text_color_markup(image_gen, mock_tag_info): - """Test text rendering with color markup.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - { - "type": "text", - "x": 10, - "y": 10, - "value": "Normal [red]Red Text[/red]", - "size": 20, - "parse_colors": True - }, - { - "type": "text", - "x": 10, - "y": 30, - "value": "[red]Not Red Text[/red]", - "size": 20, - "parse_colors": False - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_color_markup.jpg')) - assert images_equal(generated_img, example_img), "Color markup rendering failed" - -@pytest.mark.asyncio -async def test_text_percentage(image_gen, mock_tag_info): - """Test basic text rendering with percentage.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": '10%', - "y": '50%', - "value": "Hello, World!", - "size": '20%', - "color": "black", - "anchor": "lm" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_percentage.jpg')) - assert images_equal(generated_img, example_img), "Text with percentage rendering failed" - -# @pytest.mark.asyncio -# async def test_text_alignment(image_gen, mock_tag_info): -# """Test text alignment options.""" -# service_data = { -# "background": "white", -# "rotate": 0, -# "payload": [ -# { -# "type": "text", -# "x": 150, -# "y": 10, -# "value": "Left Aligned", -# "size": 20, -# "align": "left" -# }, -# { -# "type": "text", -# "x": 150, -# "y": 40, -# "value": "Center Aligned", -# "size": 20, -# "align": "center" -# }, -# { -# "type": "text", -# "x": 150, -# "y": 70, -# "value": "Right Aligned", -# "size": 20, -# "align": "right" -# } -# ] -# } -# -# with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', -# return_value=mock_tag_info): -# image_data = await image_gen.generate_custom_image( -# "opendisplay.test_tag", -# service_data -# ) -# -# generated_img = Image.open(BytesIO(image_data)) -# save_image(image_data) -# example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_alignment.jpg')) -# assert images_equal(generated_img, example_img), "Text alignment failed" - -@pytest.mark.asyncio -async def test_text_anchors(image_gen, mock_tag_info): - """Test different text anchor points.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - { - "type": "text", - "x": 150, - "y": 10, - "value": "Center Middle", - "size": 20, - "color": "black", - "anchor": "mm" - }, - { - "type": "text", - "x": 150, - "y": 40, - "value": "Bottom Right", - "size": 20, - "color": "black", - "anchor": "rb" - }, - { - "type": "text", - "x": 150, - "y": 60, - "value": "Top Left", - "size": 20, - "color": "black", - "anchor": "lt" - } - ] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_anchors.jpg')) - assert images_equal(generated_img, example_img), "Text anchor points failed" - -@pytest.mark.asyncio -async def test_text_mixed_fonts(image_gen, mock_tag_info): - """Test rendering text with different fonts in the same image.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [ - { - "type": "text", - "x": 10, - "y": 10, - "value": "Default Font", - "size": 20, - "color": "black" - }, - { - "type": "text", - "x": 10, - "y": 50, - "value": "Alternate Font", - "size": 20, - "color": "black", - "font": "rbm.ttf" - } - ] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_mixed_fonts.jpg')) - assert images_equal(generated_img, example_img), "Mixed fonts rendering failed" - -@pytest.mark.asyncio -async def test_text_empty_string(image_gen, mock_tag_info): - """Test rendering empty text string.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": 10, - "y": 10, - "value": "", - "size": 20, - "color": "black" - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(BASE_IMG_PATH, 'blank.jpg')) - assert images_equal(generated_img, example_img), "Empty text handling failed" - -async def test_text_truncate(image_gen, mock_tag_info): - """Test text truncation.""" - service_data = { - "background": "white", - "rotate": 0, - "payload": [{ - "type": "text", - "x": 10, - "y": 10, - "value": "This is a long text that should be truncated", - "size": 16, - "color": "black", - "max_width": 150, - "truncate": True - }] - } - - with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', - return_value=mock_tag_info): - image_data = await generate_test_image(image_gen, service_data) - - generated_img = Image.open(BytesIO(image_data)) - example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_truncate.jpg')) - assert images_equal(generated_img, example_img), "Text truncation failed" - -# @pytest.mark.asyncio -# async def test_text_missing_x(image_gen, mock_tag_info): -# """Test argument x missing.""" -# service_data = { -# "background": "white", -# "rotate": 0, -# "payload": [{ -# "type": "text", -# "y": 10, -# "value": "Hello, World!", -# "size": 20, -# "color": "black" -# }] -# } -# -# with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', -# return_value=mock_tag_info): -# with pytest.raises(HomeAssistantError) as exc_info: -# await image_gen.generate_custom_image( -# "opendisplay.test_tag", -# service_data -# ) -# assert "Element 1: Element type 'text' missing required fields: x" in str(exc_info.value) -# -# @pytest.mark.asyncio -# async def test_text_missing_value(image_gen, mock_tag_info): -# """Test argument value missing.""" -# service_data = { -# "background": "white", -# "rotate": 0, -# "payload": [{ -# "type": "text", -# "x": 10, -# "y": 10, -# "size": 20, -# "color": "black" -# }] -# } -# -# with patch('custom_components.opendisplay.imagegen.ImageGen.get_tag_info', -# return_value=mock_tag_info): -# image_data = await image_gen.generate_custom_image( -# "opendisplay.test_tag", -# service_data -# ) -# -# generated_img = Image.open(BytesIO(image_data)) -# example_img = Image.open(os.path.join(TEXT_IMG_PATH, 'text_basic.jpg')) -# assert images_equal(generated_img, example_img), "Basic text rendering failed" \ No newline at end of file From cf6f393b373504033123ff555037b3a5edb6321a Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 22:29:11 +0200 Subject: [PATCH 11/65] chore: remove test infrastructure with no remaining tests Delete empty tests/ dir, requirements_test.txt, tests workflow, and pytest config now that all drawcustom tests have been removed. --- .claude/settings.local.json | 170 ++++++++++++++++++++++++++++++++++++ .github/workflows/tests.yml | 36 -------- .run/HA python.run.xml | 28 ++++++ ha_data_provider.md | 97 ++++++++++++++++++++ pyproject.toml | 6 -- requirements_test.txt | 3 - uv.lock | 3 + 7 files changed, 298 insertions(+), 45 deletions(-) create mode 100644 .claude/settings.local.json delete mode 100644 .github/workflows/tests.yml create mode 100644 .run/HA python.run.xml create mode 100644 ha_data_provider.md delete mode 100644 pyproject.toml delete mode 100644 requirements_test.txt create mode 100644 uv.lock diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..3d5a236 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,170 @@ +{ + "permissions": { + "allow": [ + "Skill(feature-dev:feature-dev)", + "Bash(gh repo view:*)", + "WebFetch(domain:github.com)", + "WebSearch", + "WebFetch(domain:raw.githubusercontent.com)", + "WebFetch(domain:developers.home-assistant.io)", + "Bash(gh api:*)", + "Bash(find /Users/gabriel/Developer/OpenDisplay/core/homeassistant/components -type d -name *display* -o -type d -name *open*)", + "Read(//Users/gabriel/Developer/OpenDisplay/py-opendisplay/**)", + "Read(//Users/gabriel/Developer/OpenDisplay/py-opendisplay/src/opendisplay/**)", + "WebFetch(domain:macwright.com)", + "WebFetch(domain:surma.dev)", + "WebFetch(domain:obrhubr.org)", + "WebFetch(domain:blog.johnnovak.net)", + "WebFetch(domain:stackoverflow.com)", + "WebFetch(domain:en.wikipedia.org)", + "WebFetch(domain:mv.in.tum.de)", + "Bash(grep -A 5 \"## Summary\\\\|### Key\\\\|algorithm\\\\|color_space\\\\|_WL\\\\|_WH\\\\|_WC\\\\|threshold\\\\|0\\\\.03928\\\\|0\\\\.04045\\\\|DitherMode\\\\|test\" /Users/gabriel/.claude/projects/-Users-gabriel-Developer-OpenDisplay-Home-Assistant-Integration/c772bc91-19a0-4682-a1e0-1163705c6134/tool-results/bgls60x5y.txt | grep -v \"^--$\" | head -200)", + "WebFetch(domain:www.color.org)", + "WebFetch(domain:www.imaging.org)", + "WebFetch(domain:www.iccmax.org)", + "WebFetch(domain:64.github.io)", + "WebFetch(domain:www.cl.cam.ac.uk)", + "WebFetch(domain:resources.mpi-inf.mpg.de)", + "WebFetch(domain:www.cs.utah.edu)", + "WebFetch(domain:users.cs.utah.edu)", + "WebFetch(domain:cgg.mff.cuni.cz)", + "WebFetch(domain:www.sciencedirect.com)", + "WebFetch(domain:www.youtube.com)", + "WebFetch(domain:colour-science.org)", + "WebFetch(domain:hg2dc.com)", + "WebFetch(domain:www.colour-science.org)", + "WebFetch(domain:docs.acescentral.com)", + "WebFetch(domain:community.acescentral.com)", + "WebFetch(domain:acescentral.com)", + "WebFetch(domain:docs.colour-science.org)", + "WebFetch(domain:www.wikibooks.org)", + "WebFetch(domain:ieeexplore.ieee.org)", + "WebFetch(domain:www.researchgate.net)", + "WebFetch(domain:arxiv.org)", + "WebFetch(domain:www.cairn.info)", + "WebFetch(domain:rawpedia.rawtherapee.com)", + "WebFetch(domain:scholar.harvard.edu)", + "WebFetch(domain:www.anylogic.com)", + "WebFetch(domain:www.itu.int)", + "WebFetch(domain:www.littlecms.com)", + "WebFetch(domain:www.nccr-cs.ch)", + "WebFetch(domain:www.jedsoft.org)", + "WebFetch(domain:helios2.mi.parisdescartes.fr)", + "WebFetch(domain:www.ece.ucsb.edu)", + "WebFetch(domain:web.ece.ucsb.edu)", + "WebFetch(domain:www.vis.uni-stuttgart.de)", + "WebFetch(domain:brucelindbloom.com)", + "WebFetch(domain:openimageio.readthedocs.io)", + "WebFetch(domain:www.fxphd.com)", + "WebFetch(domain:ninedegreesbelow.com)", + "WebFetch(domain:photosophia.net)", + "WebFetch(domain:imagemagick.org)", + "WebFetch(domain:www.farbgebung.de)", + "WebFetch(domain:www.cs.utexas.edu)", + "WebFetch(domain:www.cs.cmu.edu)", + "WebFetch(domain:graphics.cs.yale.edu)", + "WebFetch(domain:diglib.eg.org)", + "WebFetch(domain:bottosson.github.io)", + "WebFetch(domain:cs.uwaterloo.ca)", + "WebFetch(domain:www.doi.org)", + "WebFetch(domain:dl.acm.org)", + "WebFetch(domain:www.ipol.im)", + "WebFetch(domain:jcgt.org)", + "WebFetch(domain:renderwonk.com)", + "WebFetch(domain:www.imageprocessingplace.com)", + "WebFetch(domain:www.s3.amazonaws.com)", + "WebFetch(domain:www.photonstophotos.net)", + "WebFetch(domain:colour-science.readthedocs.io)", + "WebFetch(domain:colour.readthedocs.io)", + "WebFetch(domain:legacy.imagemagick.org)", + "WebFetch(domain:hdrplusplus.github.io)", + "WebFetch(domain:www.hdrsoft.com)", + "WebFetch(domain:onlinelibrary.wiley.com)", + "Bash(pip show:*)", + "WebFetch(domain:epapercentral.com)", + "WebFetch(domain:colour-science.github.io)", + "WebFetch(domain:www.pyimagesearch.com)", + "WebFetch(domain:lcs.ios.ac.cn)", + "WebFetch(domain:www.cambridgeincolour.com)", + "WebFetch(domain:luminance-hdr.readthedocs.io)", + "WebFetch(domain:www.graphics.cornell.edu)", + "WebFetch(domain:efele.net)", + "WebFetch(domain:colorcommunity.icc.org)", + "WebFetch(domain:www.strollswithmydog.com)", + "WebFetch(domain:photographylife.com)", + "WebFetch(domain:www.ctan.org)", + "WebFetch(domain:alexfry.github.io)", + "WebFetch(domain:www.acescentral.com)", + "WebFetch(domain:scholar.google.com)", + "WebFetch(domain:tannerhelland.com)", + "WebFetch(domain:www.jstor.org)", + "WebFetch(domain:www.psychopy.org)", + "WebFetch(domain:www.gartlgroup.com)", + "Bash(pip3 show:*)", + "WebFetch(domain:www.xrite.com)", + "WebFetch(domain:sensing.konicaminolta.com)", + "WebFetch(domain:www.khanacademy.org)", + "WebFetch(domain:mattlockyer.github.io)", + "WebFetch(domain:en.m.wikipedia.org)", + "WebFetch(domain:www.dpreview.com)", + "WebFetch(domain:discuss.pixls.us)", + "WebFetch(domain:openphotographicsolutions.org)", + "WebFetch(domain:www.cg.tuwien.ac.at)", + "WebFetch(domain:docs.opencv.org)", + "WebFetch(domain:learnopencv.com)", + "WebFetch(domain:www.cs.columbia.edu)", + "WebFetch(domain:mikael.pajamosimulations.se)", + "WebFetch(domain:pfstools.sourceforge.net)", + "WebFetch(domain:www.farbwerk360.de)", + "WebFetch(domain:catlikecoding.com)", + "WebFetch(domain:bartwronski.com)", + "WebFetch(domain:dcraw.sourceforge.net)", + "WebFetch(domain:www.cfa.harvard.edu)", + "WebFetch(domain:www.argyllcms.com)", + "WebFetch(domain:www.ingentaconnect.com)", + "WebFetch(domain:colorusers.com)", + "WebFetch(domain:www.psc.edu)", + "WebFetch(domain:hg.sr.ht)", + "WebFetch(domain:opencolorio.readthedocs.io)", + "Bash(pip3 install:*)", + "WebFetch(domain:twitter.com)", + "WebFetch(domain:perso.liris.cnrs.fr)", + "WebFetch(domain:www.cs.huji.ac.il)", + "WebFetch(domain:www.cs.drexel.edu)", + "WebFetch(domain:www.semanticscholar.org)", + "WebFetch(domain:citeseerx.ist.psu.edu)", + "WebFetch(domain:developer.nvidia.com)", + "WebFetch(domain:www.opengl.org)", + "WebFetch(domain:www.cim.mcgill.ca)", + "WebFetch(domain:www.graphics.stanford.edu)", + "WebFetch(domain:courses.cs.washington.edu)", + "WebFetch(domain:web.cs.wpi.edu)", + "WebFetch(domain:pyssim.readthedocs.io)", + "WebFetch(domain:compvis.github.io)", + "WebFetch(domain:www.imatest.com)", + "WebFetch(domain:leimao.github.io)", + "WebFetch(domain:towardsdatascience.com)", + "WebFetch(domain:medium.com)", + "WebFetch(domain:www.live.ece.utexas.edu)", + "WebFetch(domain:piq.readthedocs.io)", + "WebFetch(domain:lenscraft.co.uk)", + "WebFetch(domain:s3-eu-west-1.amazonaws.com)", + "WebFetch(domain:affinity.help)", + "WebFetch(domain:forum.affinity.serif.com)", + "WebFetch(domain:affinity.serif.com)", + "WebFetch(domain:www.canva.com)", + "WebFetch(domain:www.affinity.studio)", + "WebFetch(domain:petapixel.com)", + "WebFetch(domain:digital-photography-school.com)", + "WebFetch(domain:www.digitalcameraworld.com)", + "WebFetch(domain:allfreemockups.com)", + "WebFetch(domain:peterbredahldam.com)", + "WebFetch(domain:creofora.com)", + "Bash(uv run:*)", + "Bash(gh pr:*)", + "WebFetch(domain:api.github.com)", + "Read(//Users/gabriel/Developer/OEPL/py-oepl/**)", + "Skill(code-review:code-review)" + ] + } +} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml deleted file mode 100644 index 17cd8d6..0000000 --- a/.github/workflows/tests.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Tests - -on: - pull_request: - push: - branches: - - main - workflow_dispatch: - -jobs: - tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set up Python 3.12.0 - uses: actions/setup-python@v5 - with: - python-version: 3.12.0 - cache: 'pip' - - - name: Create virtual environment - run: | - python -m venv venv - . venv/bin/activate - echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV - echo "$VIRTUAL_ENV/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: | - pip install -r requirements.txt - pip install -r requirements_test.txt - - - name: Run tests - run: | - PYTHONPATH=${{ github.workspace }} pytest tests -v diff --git a/.run/HA python.run.xml b/.run/HA python.run.xml new file mode 100644 index 0000000..db8cd05 --- /dev/null +++ b/.run/HA python.run.xml @@ -0,0 +1,28 @@ + + + + diff --git a/ha_data_provider.md b/ha_data_provider.md new file mode 100644 index 0000000..3af681e --- /dev/null +++ b/ha_data_provider.md @@ -0,0 +1,97 @@ +# HADataProvider — wiring drawcustom `plot` into services.py + +## What this is + +`HADataProvider` is the HA-side implementation of drawcustom's `DataProvider` protocol. +It wraps the HA recorder and normalizes its output so `draw_plot` in drawcustom never imports anything from `homeassistant`. + +Add it to `services.py` — it's small enough to live there. + +--- + +## Imports to add at the top of `services.py` + +```python +from datetime import datetime +``` + +--- + +## Class to add after `_LOGGER` + +```python +class HADataProvider: + def __init__(self, hass: HomeAssistant) -> None: + self._hass = hass + + async def get_history( + self, entity_ids: list[str], start: datetime, end: datetime + ) -> dict[str, list[dict]]: + from functools import partial + from homeassistant.components.recorder import get_instance + from homeassistant.components.recorder.history import get_significant_states + + raw = await get_instance(self._hass).async_add_executor_job( + partial( + get_significant_states, + self._hass, start, end, entity_ids, + significant_changes_only=False, + minimal_response=True, + no_attributes=False, + ) + ) + # minimal_response=True: first item per entity is a LazyState object, + # subsequent items are already {"state", "last_changed"} dicts. + # Normalize the first item so callers get a uniform list of dicts. + result = {} + for entity_id, states in raw.items(): + if not states: + result[entity_id] = [] + continue + first = states[0] + result[entity_id] = [ + {"state": first.state, "last_changed": str(first.last_changed)}, + *states[1:], + ] + return result +``` + +> **Why lazy imports?** The recorder component may not be initialized when `services.py` +> is first imported. Deferring imports to call time guarantees the recorder is ready. + +--- + +## How to pass it into drawcustom + +When you eventually replace `imagegen/` with a direct drawcustom call: + +```python +from drawcustom import generate_image + +image = await generate_image( + payload, + width, + height, + data_provider=HADataProvider(hass), + session=session, +) +``` + +--- + +## DataProvider contract (from drawcustom) + +`get_history` must return: +```python +dict[str, list[dict]] +# { +# "sensor.temperature": [ +# {"state": "21.5", "last_changed": "2024-01-01T06:00:00+00:00"}, +# ... +# ] +# } +``` + +- Items ordered **oldest-first** +- Each dict has `"state"` (str) and `"last_changed"` (ISO 8601 str) +- Missing entities can be absent or map to `[]` diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 3a58d86..0000000 --- a/pyproject.toml +++ /dev/null @@ -1,6 +0,0 @@ -[tool.pytest.ini_options] -asyncio_mode = "auto" -testpaths = [ - "tests" -] -asyncio_default_fixture_loop_scope = "function" diff --git a/requirements_test.txt b/requirements_test.txt deleted file mode 100644 index d4a3446..0000000 --- a/requirements_test.txt +++ /dev/null @@ -1,3 +0,0 @@ -pytest -pytest-asyncio -pytest-homeassistant-custom-component diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..a5bc514 --- /dev/null +++ b/uv.lock @@ -0,0 +1,3 @@ +version = 1 +revision = 3 +requires-python = ">=3.14" From 055b91e9135185a24b2feeef01b4acede4345ab0 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 22:29:58 +0200 Subject: [PATCH 12/65] chore: untrack editor/tooling files and update .gitignore Remove .claude/, .run/, ha_data_provider.md, and uv.lock from version control; add them to .gitignore. --- .claude/settings.local.json | 170 ------------------------------------ .gitignore | 8 +- .run/HA python.run.xml | 28 ------ ha_data_provider.md | 97 -------------------- uv.lock | 3 - 5 files changed, 6 insertions(+), 300 deletions(-) delete mode 100644 .claude/settings.local.json delete mode 100644 .run/HA python.run.xml delete mode 100644 ha_data_provider.md delete mode 100644 uv.lock diff --git a/.claude/settings.local.json b/.claude/settings.local.json deleted file mode 100644 index 3d5a236..0000000 --- a/.claude/settings.local.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "permissions": { - "allow": [ - "Skill(feature-dev:feature-dev)", - "Bash(gh repo view:*)", - "WebFetch(domain:github.com)", - "WebSearch", - "WebFetch(domain:raw.githubusercontent.com)", - "WebFetch(domain:developers.home-assistant.io)", - "Bash(gh api:*)", - "Bash(find /Users/gabriel/Developer/OpenDisplay/core/homeassistant/components -type d -name *display* -o -type d -name *open*)", - "Read(//Users/gabriel/Developer/OpenDisplay/py-opendisplay/**)", - "Read(//Users/gabriel/Developer/OpenDisplay/py-opendisplay/src/opendisplay/**)", - "WebFetch(domain:macwright.com)", - "WebFetch(domain:surma.dev)", - "WebFetch(domain:obrhubr.org)", - "WebFetch(domain:blog.johnnovak.net)", - "WebFetch(domain:stackoverflow.com)", - "WebFetch(domain:en.wikipedia.org)", - "WebFetch(domain:mv.in.tum.de)", - "Bash(grep -A 5 \"## Summary\\\\|### Key\\\\|algorithm\\\\|color_space\\\\|_WL\\\\|_WH\\\\|_WC\\\\|threshold\\\\|0\\\\.03928\\\\|0\\\\.04045\\\\|DitherMode\\\\|test\" /Users/gabriel/.claude/projects/-Users-gabriel-Developer-OpenDisplay-Home-Assistant-Integration/c772bc91-19a0-4682-a1e0-1163705c6134/tool-results/bgls60x5y.txt | grep -v \"^--$\" | head -200)", - "WebFetch(domain:www.color.org)", - "WebFetch(domain:www.imaging.org)", - "WebFetch(domain:www.iccmax.org)", - "WebFetch(domain:64.github.io)", - "WebFetch(domain:www.cl.cam.ac.uk)", - "WebFetch(domain:resources.mpi-inf.mpg.de)", - "WebFetch(domain:www.cs.utah.edu)", - "WebFetch(domain:users.cs.utah.edu)", - "WebFetch(domain:cgg.mff.cuni.cz)", - "WebFetch(domain:www.sciencedirect.com)", - "WebFetch(domain:www.youtube.com)", - "WebFetch(domain:colour-science.org)", - "WebFetch(domain:hg2dc.com)", - "WebFetch(domain:www.colour-science.org)", - "WebFetch(domain:docs.acescentral.com)", - "WebFetch(domain:community.acescentral.com)", - "WebFetch(domain:acescentral.com)", - "WebFetch(domain:docs.colour-science.org)", - "WebFetch(domain:www.wikibooks.org)", - "WebFetch(domain:ieeexplore.ieee.org)", - "WebFetch(domain:www.researchgate.net)", - "WebFetch(domain:arxiv.org)", - "WebFetch(domain:www.cairn.info)", - "WebFetch(domain:rawpedia.rawtherapee.com)", - "WebFetch(domain:scholar.harvard.edu)", - "WebFetch(domain:www.anylogic.com)", - "WebFetch(domain:www.itu.int)", - "WebFetch(domain:www.littlecms.com)", - "WebFetch(domain:www.nccr-cs.ch)", - "WebFetch(domain:www.jedsoft.org)", - "WebFetch(domain:helios2.mi.parisdescartes.fr)", - "WebFetch(domain:www.ece.ucsb.edu)", - "WebFetch(domain:web.ece.ucsb.edu)", - "WebFetch(domain:www.vis.uni-stuttgart.de)", - "WebFetch(domain:brucelindbloom.com)", - "WebFetch(domain:openimageio.readthedocs.io)", - "WebFetch(domain:www.fxphd.com)", - "WebFetch(domain:ninedegreesbelow.com)", - "WebFetch(domain:photosophia.net)", - "WebFetch(domain:imagemagick.org)", - "WebFetch(domain:www.farbgebung.de)", - "WebFetch(domain:www.cs.utexas.edu)", - "WebFetch(domain:www.cs.cmu.edu)", - "WebFetch(domain:graphics.cs.yale.edu)", - "WebFetch(domain:diglib.eg.org)", - "WebFetch(domain:bottosson.github.io)", - "WebFetch(domain:cs.uwaterloo.ca)", - "WebFetch(domain:www.doi.org)", - "WebFetch(domain:dl.acm.org)", - "WebFetch(domain:www.ipol.im)", - "WebFetch(domain:jcgt.org)", - "WebFetch(domain:renderwonk.com)", - "WebFetch(domain:www.imageprocessingplace.com)", - "WebFetch(domain:www.s3.amazonaws.com)", - "WebFetch(domain:www.photonstophotos.net)", - "WebFetch(domain:colour-science.readthedocs.io)", - "WebFetch(domain:colour.readthedocs.io)", - "WebFetch(domain:legacy.imagemagick.org)", - "WebFetch(domain:hdrplusplus.github.io)", - "WebFetch(domain:www.hdrsoft.com)", - "WebFetch(domain:onlinelibrary.wiley.com)", - "Bash(pip show:*)", - "WebFetch(domain:epapercentral.com)", - "WebFetch(domain:colour-science.github.io)", - "WebFetch(domain:www.pyimagesearch.com)", - "WebFetch(domain:lcs.ios.ac.cn)", - "WebFetch(domain:www.cambridgeincolour.com)", - "WebFetch(domain:luminance-hdr.readthedocs.io)", - "WebFetch(domain:www.graphics.cornell.edu)", - "WebFetch(domain:efele.net)", - "WebFetch(domain:colorcommunity.icc.org)", - "WebFetch(domain:www.strollswithmydog.com)", - "WebFetch(domain:photographylife.com)", - "WebFetch(domain:www.ctan.org)", - "WebFetch(domain:alexfry.github.io)", - "WebFetch(domain:www.acescentral.com)", - "WebFetch(domain:scholar.google.com)", - "WebFetch(domain:tannerhelland.com)", - "WebFetch(domain:www.jstor.org)", - "WebFetch(domain:www.psychopy.org)", - "WebFetch(domain:www.gartlgroup.com)", - "Bash(pip3 show:*)", - "WebFetch(domain:www.xrite.com)", - "WebFetch(domain:sensing.konicaminolta.com)", - "WebFetch(domain:www.khanacademy.org)", - "WebFetch(domain:mattlockyer.github.io)", - "WebFetch(domain:en.m.wikipedia.org)", - "WebFetch(domain:www.dpreview.com)", - "WebFetch(domain:discuss.pixls.us)", - "WebFetch(domain:openphotographicsolutions.org)", - "WebFetch(domain:www.cg.tuwien.ac.at)", - "WebFetch(domain:docs.opencv.org)", - "WebFetch(domain:learnopencv.com)", - "WebFetch(domain:www.cs.columbia.edu)", - "WebFetch(domain:mikael.pajamosimulations.se)", - "WebFetch(domain:pfstools.sourceforge.net)", - "WebFetch(domain:www.farbwerk360.de)", - "WebFetch(domain:catlikecoding.com)", - "WebFetch(domain:bartwronski.com)", - "WebFetch(domain:dcraw.sourceforge.net)", - "WebFetch(domain:www.cfa.harvard.edu)", - "WebFetch(domain:www.argyllcms.com)", - "WebFetch(domain:www.ingentaconnect.com)", - "WebFetch(domain:colorusers.com)", - "WebFetch(domain:www.psc.edu)", - "WebFetch(domain:hg.sr.ht)", - "WebFetch(domain:opencolorio.readthedocs.io)", - "Bash(pip3 install:*)", - "WebFetch(domain:twitter.com)", - "WebFetch(domain:perso.liris.cnrs.fr)", - "WebFetch(domain:www.cs.huji.ac.il)", - "WebFetch(domain:www.cs.drexel.edu)", - "WebFetch(domain:www.semanticscholar.org)", - "WebFetch(domain:citeseerx.ist.psu.edu)", - "WebFetch(domain:developer.nvidia.com)", - "WebFetch(domain:www.opengl.org)", - "WebFetch(domain:www.cim.mcgill.ca)", - "WebFetch(domain:www.graphics.stanford.edu)", - "WebFetch(domain:courses.cs.washington.edu)", - "WebFetch(domain:web.cs.wpi.edu)", - "WebFetch(domain:pyssim.readthedocs.io)", - "WebFetch(domain:compvis.github.io)", - "WebFetch(domain:www.imatest.com)", - "WebFetch(domain:leimao.github.io)", - "WebFetch(domain:towardsdatascience.com)", - "WebFetch(domain:medium.com)", - "WebFetch(domain:www.live.ece.utexas.edu)", - "WebFetch(domain:piq.readthedocs.io)", - "WebFetch(domain:lenscraft.co.uk)", - "WebFetch(domain:s3-eu-west-1.amazonaws.com)", - "WebFetch(domain:affinity.help)", - "WebFetch(domain:forum.affinity.serif.com)", - "WebFetch(domain:affinity.serif.com)", - "WebFetch(domain:www.canva.com)", - "WebFetch(domain:www.affinity.studio)", - "WebFetch(domain:petapixel.com)", - "WebFetch(domain:digital-photography-school.com)", - "WebFetch(domain:www.digitalcameraworld.com)", - "WebFetch(domain:allfreemockups.com)", - "WebFetch(domain:peterbredahldam.com)", - "WebFetch(domain:creofora.com)", - "Bash(uv run:*)", - "Bash(gh pr:*)", - "WebFetch(domain:api.github.com)", - "Read(//Users/gabriel/Developer/OEPL/py-oepl/**)", - "Skill(code-review:code-review)" - ] - } -} diff --git a/.gitignore b/.gitignore index 2d635fd..0c6adc1 100644 --- a/.gitignore +++ b/.gitignore @@ -164,7 +164,11 @@ lib64 # Home Assistant configuration config/ +# Editor / tooling +.claude/ +.run/ +uv.lock +ha_data_provider.md + custom_components/opendisplay/*.jpg custom_components/opendisplay/lastapinteraction.txt - -tests/drawcustom/test_images/rename_me.png diff --git a/.run/HA python.run.xml b/.run/HA python.run.xml deleted file mode 100644 index db8cd05..0000000 --- a/.run/HA python.run.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - diff --git a/ha_data_provider.md b/ha_data_provider.md deleted file mode 100644 index 3af681e..0000000 --- a/ha_data_provider.md +++ /dev/null @@ -1,97 +0,0 @@ -# HADataProvider — wiring drawcustom `plot` into services.py - -## What this is - -`HADataProvider` is the HA-side implementation of drawcustom's `DataProvider` protocol. -It wraps the HA recorder and normalizes its output so `draw_plot` in drawcustom never imports anything from `homeassistant`. - -Add it to `services.py` — it's small enough to live there. - ---- - -## Imports to add at the top of `services.py` - -```python -from datetime import datetime -``` - ---- - -## Class to add after `_LOGGER` - -```python -class HADataProvider: - def __init__(self, hass: HomeAssistant) -> None: - self._hass = hass - - async def get_history( - self, entity_ids: list[str], start: datetime, end: datetime - ) -> dict[str, list[dict]]: - from functools import partial - from homeassistant.components.recorder import get_instance - from homeassistant.components.recorder.history import get_significant_states - - raw = await get_instance(self._hass).async_add_executor_job( - partial( - get_significant_states, - self._hass, start, end, entity_ids, - significant_changes_only=False, - minimal_response=True, - no_attributes=False, - ) - ) - # minimal_response=True: first item per entity is a LazyState object, - # subsequent items are already {"state", "last_changed"} dicts. - # Normalize the first item so callers get a uniform list of dicts. - result = {} - for entity_id, states in raw.items(): - if not states: - result[entity_id] = [] - continue - first = states[0] - result[entity_id] = [ - {"state": first.state, "last_changed": str(first.last_changed)}, - *states[1:], - ] - return result -``` - -> **Why lazy imports?** The recorder component may not be initialized when `services.py` -> is first imported. Deferring imports to call time guarantees the recorder is ready. - ---- - -## How to pass it into drawcustom - -When you eventually replace `imagegen/` with a direct drawcustom call: - -```python -from drawcustom import generate_image - -image = await generate_image( - payload, - width, - height, - data_provider=HADataProvider(hass), - session=session, -) -``` - ---- - -## DataProvider contract (from drawcustom) - -`get_history` must return: -```python -dict[str, list[dict]] -# { -# "sensor.temperature": [ -# {"state": "21.5", "last_changed": "2024-01-01T06:00:00+00:00"}, -# ... -# ] -# } -``` - -- Items ordered **oldest-first** -- Each dict has `"state"` (str) and `"last_changed"` (ISO 8601 str) -- Missing entities can be absent or map to `[]` diff --git a/uv.lock b/uv.lock deleted file mode 100644 index a5bc514..0000000 --- a/uv.lock +++ /dev/null @@ -1,3 +0,0 @@ -version = 1 -revision = 3 -requires-python = ">=3.14" From c5f1261cfbf1957963992a1a73ccf256ac4e4d17 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 23:08:00 +0200 Subject: [PATCH 13/65] chore: bump version to 3.0.0-beta.1, require HA 2026.4.0 --- custom_components/opendisplay/manifest.json | 2 +- hacs.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index cf8db16..ce41940 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,5 +15,5 @@ "iot_class": "local_push", "loggers": ["opendisplay"], "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.8"], - "version": "2.0.2" + "version": "3.0.0-beta.1" } diff --git a/hacs.json b/hacs.json index abdbb4d..73fde3d 100644 --- a/hacs.json +++ b/hacs.json @@ -1,5 +1,5 @@ { "name": "OpenDisplay", "render_readme": true, - "homeassistant": "2023.3.0" + "homeassistant": "2026.4.0" } From 5b9ffbabba43b1f320bf11c2bf6a1b048a749977 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 23:25:09 +0200 Subject: [PATCH 14/65] fix: fix manifest for custom integration (documentation URL, issue_tracker, recorder dependency) --- custom_components/opendisplay/manifest.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index ce41940..f5bc687 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -9,10 +9,11 @@ ], "codeowners": ["@g4bri3lDev"], "config_flow": true, - "dependencies": ["bluetooth_adapters", "http"], - "documentation": "https://www.home-assistant.io/integrations/opendisplay", + "dependencies": ["bluetooth_adapters", "http", "recorder"], + "documentation": "https://github.com/OpenDisplay/Home_Assistant_Integration", "integration_type": "device", "iot_class": "local_push", + "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.8"], "version": "3.0.0-beta.1" From 2e29b34cce3224054b37a1dacc100cef87bde425 Mon Sep 17 00:00:00 2001 From: gabriel Date: Sun, 24 May 2026 23:27:30 +0200 Subject: [PATCH 15/65] chore: add brand assets for HACS --- .../opendisplay/brand/dark_icon.png | Bin 0 -> 10658 bytes .../opendisplay/brand/dark_icon@2x.png | Bin 0 -> 24915 bytes .../opendisplay/brand/dark_logo.png | Bin 0 -> 26750 bytes .../opendisplay/brand/dark_logo@2x.png | Bin 0 -> 62010 bytes custom_components/opendisplay/brand/icon.png | Bin 0 -> 10233 bytes custom_components/opendisplay/brand/icon@2x.png | Bin 0 -> 23980 bytes custom_components/opendisplay/brand/logo.png | Bin 0 -> 25547 bytes custom_components/opendisplay/brand/logo@2x.png | Bin 0 -> 59813 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 custom_components/opendisplay/brand/dark_icon.png create mode 100644 custom_components/opendisplay/brand/dark_icon@2x.png create mode 100644 custom_components/opendisplay/brand/dark_logo.png create mode 100644 custom_components/opendisplay/brand/dark_logo@2x.png create mode 100644 custom_components/opendisplay/brand/icon.png create mode 100644 custom_components/opendisplay/brand/icon@2x.png create mode 100644 custom_components/opendisplay/brand/logo.png create mode 100644 custom_components/opendisplay/brand/logo@2x.png diff --git a/custom_components/opendisplay/brand/dark_icon.png b/custom_components/opendisplay/brand/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e1b5c3c7ba31368bfffdeaf5d25be2a31faa8b20 GIT binary patch literal 10658 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 literal 0 HcmV?d00001 diff --git a/custom_components/opendisplay/brand/dark_icon@2x.png b/custom_components/opendisplay/brand/dark_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..92fb6dcb3fd1550dea375a152b4674b7ccf02957 GIT binary patch literal 24915 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%0A$ptA$|HCp@vFJ-0u4*2!IhE&_ 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 literal 0 HcmV?d00001 diff --git a/custom_components/opendisplay/brand/dark_logo.png b/custom_components/opendisplay/brand/dark_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7a640ce5a897dd7006264c9591121c7673e82fa2 GIT binary patch literal 26750 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 G2~7YojB1qt literal 0 HcmV?d00001 diff --git a/custom_components/opendisplay/brand/icon.png b/custom_components/opendisplay/brand/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..21dde7e09c7c77610022da83e9398d8ee4a5c342 GIT binary patch literal 10233 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

    v(FM?qq_@-go^-35gochfrSl$ntW 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 RlMViYu-lKZF0&$B`9EHjI643T literal 0 HcmV?d00001 diff --git a/custom_components/opendisplay/brand/logo.png b/custom_components/opendisplay/brand/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fbef506a1e6c8863b7fd96d007a8e84329978993 GIT binary patch literal 25547 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 Ji#~h#{{Zrq#f$&| literal 0 HcmV?d00001 From 245da55526903de4a3890f0afb38b50df28b899f Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 11:19:58 +0200 Subject: [PATCH 16/65] refactor: extract _async_connect_and_run, bump py-opendisplay to 7.3.0 --- custom_components/opendisplay/manifest.json | 2 +- custom_components/opendisplay/services.py | 49 +++++++++++++-------- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index f5bc687..f31c777 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.2.5", "odl-renderer==0.5.8"], + "requirements": ["py-opendisplay==7.3.0", "odl-renderer==0.5.8"], "version": "3.0.0-beta.1" } diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 4f0d6e1..5bb66c7 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -1,7 +1,7 @@ """Service registration for the OpenDisplay integration.""" import asyncio -from collections.abc import Callable +from collections.abc import Awaitable, Callable import contextlib from datetime import timedelta from enum import IntEnum @@ -22,6 +22,8 @@ OpenDisplayError, RefreshMode, Rotation, + LedFlashConfig, + BuzzerActivateConfig, ) from PIL import Image as PILImage, ImageOps import voluptuous as vol @@ -169,18 +171,12 @@ async def _async_download_image(hass: HomeAssistant, url: str) -> PILImage.Image return await hass.async_add_executor_job(_load_image_from_bytes, data) -async def _async_send_image( +async def _async_connect_and_run( hass: HomeAssistant, entry: "OpenDisplayConfigEntry", - img: PILImage.Image, - *, - dither_mode: DitherMode, - refresh_mode: RefreshMode, - fit: FitMode = FitMode.CONTAIN, - tone: float | str = "auto", - rotate: Rotation = Rotation.ROTATE_0, + action: Callable[[OpenDisplayDevice], Awaitable[None]], ) -> None: - """Resolve BLE device, parse encryption key, and upload a PIL image.""" + """Resolve BLE device, open a connection, run action, handle auth errors.""" address = entry.unique_id assert address is not None ble_device = async_ble_device_from_address(hass, address, connectable=True) @@ -212,14 +208,7 @@ async def _async_send_image( config=entry.runtime_data.device_config, encryption_key=encryption_key, ) as device: - await device.upload_image( - img, - refresh_mode=refresh_mode, - dither_mode=dither_mode, - tone=tone, - fit=fit, - rotate=rotate, - ) + await action(device) except (AuthenticationFailedError, AuthenticationRequiredError) as err: entry.async_start_reauth(hass) raise HomeAssistantError( @@ -231,6 +220,30 @@ async def _async_send_image( ) from err +async def _async_send_image( + hass: HomeAssistant, + entry: "OpenDisplayConfigEntry", + img: PILImage.Image, + *, + dither_mode: DitherMode, + refresh_mode: RefreshMode, + fit: FitMode = FitMode.CONTAIN, + tone: float | str = "auto", + rotate: Rotation = Rotation.ROTATE_0, +) -> None: + """Upload a PIL image to the device.""" + async def _upload(device: OpenDisplayDevice) -> None: + await device.upload_image( + img, + refresh_mode=refresh_mode, + dither_mode=dither_mode, + tone=tone, + fit=fit, + rotate=rotate, + ) + await _async_connect_and_run(hass, entry, _upload) + + async def _async_upload_image(call: ServiceCall) -> None: """Handle the upload_image service call.""" entry = _get_entry_for_device(call) From c66b93dae2add473a70a4850db8568343b91a888 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 11:22:52 +0200 Subject: [PATCH 17/65] feat: add activate_led and activate_buzzer services --- custom_components/opendisplay/icons.json | 6 ++ custom_components/opendisplay/services.py | 76 +++++++++++++- custom_components/opendisplay/services.yaml | 106 ++++++++++++++++++++ custom_components/opendisplay/strings.json | 70 +++++++++++++ 4 files changed, 257 insertions(+), 1 deletion(-) diff --git a/custom_components/opendisplay/icons.json b/custom_components/opendisplay/icons.json index 801f909..67bbfcb 100644 --- a/custom_components/opendisplay/icons.json +++ b/custom_components/opendisplay/icons.json @@ -5,6 +5,12 @@ }, "drawcustom": { "service": "mdi:draw" + }, + "activate_led": { + "service": "mdi:led-on" + }, + "activate_buzzer": { + "service": "mdi:bell-ring" } } } diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 5bb66c7..2490bdd 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -100,6 +100,30 @@ def validate(value: str) -> IntEnum: ) +SCHEMA_ACTIVATE_LED = vol.Schema( + { + vol.Required(ATTR_DEVICE_ID): cv.string, + vol.Optional("instance", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), + vol.Optional("color", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), + vol.Optional("brightness", default=8): vol.All(vol.Coerce(int), vol.Range(min=1, max=16)), + vol.Optional("flash_count", default=1): vol.All(vol.Coerce(int), vol.Range(min=0, max=15)), + vol.Optional("loop_delay", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=15)), + vol.Optional("inter_delay", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), + vol.Optional("repeats", default=1): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), + } +) + +SCHEMA_ACTIVATE_BUZZER = vol.Schema( + { + vol.Required(ATTR_DEVICE_ID): cv.string, + vol.Optional("instance", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=3)), + vol.Optional("frequency_hz", default=1000): vol.All(vol.Coerce(int), vol.Range(min=0, max=12000)), + vol.Optional("duration_ms", default=100): vol.All(vol.Coerce(int), vol.Range(min=5, max=1275)), + vol.Optional("repeats", default=1): vol.All(vol.Coerce(int), vol.Range(min=1, max=255)), + } +) + + def _get_entry_for_device(call: ServiceCall) -> OpenDisplayConfigEntry: """Return the config entry for the device targeted by a service call.""" device_id: str = call.data[ATTR_DEVICE_ID] @@ -472,6 +496,54 @@ async def _drawcustom_for_device( ) +async def _async_activate_led(call: ServiceCall) -> None: + """Handle the activate_led service call.""" + entry = _get_entry_for_device(call) + if not entry.runtime_data.device_config.leds: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="no_leds", + translation_placeholders={"device_id": call.data[ATTR_DEVICE_ID]}, + ) + repeats: int = call.data["repeats"] + flash_config = LedFlashConfig.single( + color=call.data["color"], + brightness=call.data["brightness"], + flash_count=call.data["flash_count"], + loop_delay_units=call.data["loop_delay"], + inter_delay_units=call.data["inter_delay"], + group_repeats=None if repeats == 0 else repeats, + ) + instance: int = call.data["instance"] + + async def _led(device: OpenDisplayDevice) -> None: + await device.activate_led(instance, flash_config) + + await _async_connect_and_run(call.hass, entry, _led) + + +async def _async_activate_buzzer(call: ServiceCall) -> None: + """Handle the activate_buzzer service call.""" + entry = _get_entry_for_device(call) + if not entry.runtime_data.device_config.buzzers: + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="no_buzzers", + translation_placeholders={"device_id": call.data[ATTR_DEVICE_ID]}, + ) + buzz_config = BuzzerActivateConfig.single_tone( + frequency_hz=call.data["frequency_hz"], + duration_ms=call.data["duration_ms"], + repeats=call.data["repeats"], + ) + instance: int = call.data["instance"] + + async def _buzz(device: OpenDisplayDevice) -> None: + await device.activate_buzzer(instance, buzz_config) + + await _async_connect_and_run(call.hass, entry, _buzz) + + @callback def async_setup_services(hass: HomeAssistant) -> None: """Register OpenDisplay services.""" @@ -481,4 +553,6 @@ def async_setup_services(hass: HomeAssistant) -> None: _async_upload_image, schema=SCHEMA_UPLOAD_IMAGE, ) - hass.services.async_register(DOMAIN, "drawcustom", _async_drawcustom, schema=SCHEMA_DRAWCUSTOM) \ No newline at end of file + hass.services.async_register(DOMAIN, "drawcustom", _async_drawcustom, schema=SCHEMA_DRAWCUSTOM) + hass.services.async_register(DOMAIN, "activate_led", _async_activate_led, schema=SCHEMA_ACTIVATE_LED) + hass.services.async_register(DOMAIN, "activate_buzzer", _async_activate_buzzer, schema=SCHEMA_ACTIVATE_BUZZER) \ No newline at end of file diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index db79ee4..35340e7 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -69,6 +69,112 @@ upload_image: mode: slider unit_of_measurement: "%" +activate_led: + fields: + device_id: + required: true + selector: + device: + integration: opendisplay + instance: + required: false + default: 0 + selector: + number: + min: 0 + max: 255 + mode: box + color: + required: false + default: 0 + selector: + number: + min: 0 + max: 255 + mode: box + brightness: + required: false + default: 8 + selector: + number: + min: 1 + max: 16 + mode: slider + flash_count: + required: false + default: 1 + selector: + number: + min: 0 + max: 15 + mode: box + loop_delay: + required: false + default: 0 + selector: + number: + min: 0 + max: 15 + mode: box + inter_delay: + required: false + default: 0 + selector: + number: + min: 0 + max: 255 + mode: box + repeats: + required: false + default: 1 + selector: + number: + min: 0 + max: 255 + mode: box + +activate_buzzer: + fields: + device_id: + required: true + selector: + device: + integration: opendisplay + instance: + required: false + default: 0 + selector: + number: + min: 0 + max: 3 + mode: box + frequency_hz: + required: false + default: 1000 + selector: + number: + min: 0 + max: 12000 + mode: box + unit_of_measurement: Hz + duration_ms: + required: false + default: 100 + selector: + number: + min: 5 + max: 1275 + mode: box + unit_of_measurement: ms + repeats: + required: false + default: 1 + selector: + number: + min: 1 + max: 255 + mode: box + drawcustom: name: Draw Custom Image description: Draws a custom image on one or more OpenDisplay devices diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index a44ef78..1c010ca 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -98,6 +98,12 @@ "multiple_errors": { "message": "Errors occurred for one or more devices:\n{errors}" }, + "no_buzzers": { + "message": "Device `{device_id}` has no buzzer configured." + }, + "no_leds": { + "message": "Device `{device_id}` has no LEDs configured." + }, "no_targets_specified": { "message": "No target devices specified." }, @@ -174,6 +180,70 @@ } } }, + "activate_led": { + "name": "Activate LED", + "description": "Triggers an LED flash pattern on an OpenDisplay device.", + "fields": { + "device_id": { + "name": "Device", + "description": "The OpenDisplay device." + }, + "instance": { + "name": "LED instance", + "description": "LED instance index (0-based)." + }, + "color": { + "name": "Color", + "description": "Color index (device-specific, 0-255)." + }, + "brightness": { + "name": "Brightness", + "description": "LED brightness (1-16)." + }, + "flash_count": { + "name": "Flash count", + "description": "Number of flashes per cycle (0-15)." + }, + "loop_delay": { + "name": "Loop delay", + "description": "Delay between flashes within a cycle (0-15 units)." + }, + "inter_delay": { + "name": "Inter delay", + "description": "Delay between cycles (0-255 units)." + }, + "repeats": { + "name": "Repeats", + "description": "Number of times to repeat the pattern (0 = infinite)." + } + } + }, + "activate_buzzer": { + "name": "Activate buzzer", + "description": "Triggers a buzzer tone on an OpenDisplay device.", + "fields": { + "device_id": { + "name": "Device", + "description": "The OpenDisplay device." + }, + "instance": { + "name": "Buzzer instance", + "description": "Buzzer instance index (0-based)." + }, + "frequency_hz": { + "name": "Frequency", + "description": "Tone frequency in Hz (0 = silence, 400-12000)." + }, + "duration_ms": { + "name": "Duration", + "description": "Tone duration in milliseconds (5-1275)." + }, + "repeats": { + "name": "Repeats", + "description": "Number of times to repeat the tone (1-255)." + } + } + }, "drawcustom": { "description": "Draws a custom image on one or more OpenDisplay devices.", "fields": { From c83721ebbc2f6ce9fc2977b8ce0169761fa50478 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 11:24:50 +0200 Subject: [PATCH 18/65] feat: add firmware update entity --- custom_components/opendisplay/__init__.py | 2 +- custom_components/opendisplay/icons.json | 7 ++ custom_components/opendisplay/strings.json | 5 ++ custom_components/opendisplay/update.py | 88 ++++++++++++++++++++++ 4 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 custom_components/opendisplay/update.py diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index e517c00..5f92ad9 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -34,7 +34,7 @@ CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN) _BASE_PLATFORMS: list[Platform] = [] -_FLEX_PLATFORMS = [Platform.EVENT, Platform.SENSOR] +_FLEX_PLATFORMS = [Platform.EVENT, Platform.SENSOR, Platform.UPDATE] @dataclass diff --git a/custom_components/opendisplay/icons.json b/custom_components/opendisplay/icons.json index 67bbfcb..6150e04 100644 --- a/custom_components/opendisplay/icons.json +++ b/custom_components/opendisplay/icons.json @@ -1,4 +1,11 @@ { + "entity": { + "update": { + "firmware": { + "default": "mdi:chip" + } + } + }, "services": { "upload_image": { "service": "mdi:image-move" diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 1c010ca..4375278 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -80,6 +80,11 @@ "battery_voltage": { "name": "Battery voltage" } + }, + "update": { + "firmware": { + "name": "Firmware" + } } }, "exceptions": { diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py new file mode 100644 index 0000000..006e4df --- /dev/null +++ b/custom_components/opendisplay/update.py @@ -0,0 +1,88 @@ +"""Firmware update entity for OpenDisplay devices.""" + +from __future__ import annotations + +import logging + +import aiohttp +from opendisplay.models.firmware import firmware_release_repo + +from homeassistant.components.update import UpdateDeviceClass, UpdateEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.aiohttp_client import async_get_clientsession +from homeassistant.helpers.entity import EntityDescription +from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback + +from . import OpenDisplayConfigEntry +from .entity import OpenDisplayEntity + +_LOGGER = logging.getLogger(__name__) + +PARALLEL_UPDATES = 1 + +_GITHUB_LATEST = "https://api.github.com/repos/{repo}/releases/latest" + +_FIRMWARE_DESCRIPTION = EntityDescription( + key="firmware", + translation_key="firmware", +) + + +async def async_setup_entry( + hass: HomeAssistant, + entry: OpenDisplayConfigEntry, + async_add_entities: AddConfigEntryEntitiesCallback, +) -> None: + """Set up OpenDisplay firmware update entity.""" + async_add_entities( + [OpenDisplayFirmwareUpdateEntity(entry.runtime_data.coordinator, entry)] + ) + + +class OpenDisplayFirmwareUpdateEntity(OpenDisplayEntity, UpdateEntity): + """Firmware update entity for an OpenDisplay device.""" + + _attr_device_class = UpdateDeviceClass.FIRMWARE + _attr_latest_version: str | None = None + + def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: + """Initialize the entity.""" + super().__init__(coordinator, _FIRMWARE_DESCRIPTION) + fw = entry.runtime_data.firmware + self._attr_installed_version = f"{fw['major']}.{fw['minor']}" + self._firmware_repo = firmware_release_repo( + entry.runtime_data.device_config.system.ic_type + ) + + @property + def installed_version(self) -> str | None: + """Return the installed firmware version.""" + return self._attr_installed_version + + @property + def latest_version(self) -> str | None: + """Return the latest available firmware version.""" + return self._attr_latest_version + + @property + def release_url(self) -> str | None: + """Return URL to the GitHub release page.""" + if self._firmware_repo and self._attr_latest_version: + return f"https://github.com/{self._firmware_repo}/releases/tag/{self._attr_latest_version}" + return None + + async def async_update(self) -> None: + """Fetch latest firmware version from GitHub.""" + if self._firmware_repo is None: + return + try: + session = async_get_clientsession(self.hass) + async with session.get( + _GITHUB_LATEST.format(repo=self._firmware_repo), + headers={"Accept": "application/vnd.github+json"}, + ) as resp: + resp.raise_for_status() + data = await resp.json() + self._attr_latest_version = data.get("tag_name") + except aiohttp.ClientError as err: + _LOGGER.debug("Failed to fetch latest firmware version: %s", err) From 2bed475a97344eec42fc87a1380eded8b2a65062 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 11:28:05 +0200 Subject: [PATCH 19/65] fix: use UpdateEntityDescription to avoid display_precision AttributeError --- custom_components/opendisplay/update.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index 006e4df..dccf398 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -7,10 +7,9 @@ import aiohttp from opendisplay.models.firmware import firmware_release_repo -from homeassistant.components.update import UpdateDeviceClass, UpdateEntity +from homeassistant.components.update import UpdateDeviceClass, UpdateEntity, UpdateEntityDescription from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_get_clientsession -from homeassistant.helpers.entity import EntityDescription from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from . import OpenDisplayConfigEntry @@ -22,9 +21,10 @@ _GITHUB_LATEST = "https://api.github.com/repos/{repo}/releases/latest" -_FIRMWARE_DESCRIPTION = EntityDescription( +_FIRMWARE_DESCRIPTION = UpdateEntityDescription( key="firmware", translation_key="firmware", + device_class=UpdateDeviceClass.FIRMWARE, ) @@ -39,10 +39,9 @@ async def async_setup_entry( ) -class OpenDisplayFirmwareUpdateEntity(OpenDisplayEntity, UpdateEntity): +class OpenDisplayFirmwareUpdateEntity(OpenDisplayEntity[UpdateEntityDescription], UpdateEntity): """Firmware update entity for an OpenDisplay device.""" - _attr_device_class = UpdateDeviceClass.FIRMWARE _attr_latest_version: str | None = None def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: From 388dc721c40a96cbf8c6335973f2f86b4d856cf7 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 11:31:11 +0200 Subject: [PATCH 20/65] fix: poll latest firmware version on load and override should_poll --- custom_components/opendisplay/update.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index dccf398..bab0568 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -43,6 +43,7 @@ class OpenDisplayFirmwareUpdateEntity(OpenDisplayEntity[UpdateEntityDescription] """Firmware update entity for an OpenDisplay device.""" _attr_latest_version: str | None = None + should_poll = True # override coordinator's should_poll=False; GitHub needs regular polling def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: """Initialize the entity.""" @@ -70,6 +71,12 @@ def release_url(self) -> str | None: return f"https://github.com/{self._firmware_repo}/releases/tag/{self._attr_latest_version}" return None + async def async_added_to_hass(self) -> None: + """Fetch the latest version immediately on entity load.""" + await super().async_added_to_hass() + await self.async_update() + self.async_write_ha_state() + async def async_update(self) -> None: """Fetch latest firmware version from GitHub.""" if self._firmware_repo is None: From 013cd03390d62ba89eaeedb484240c7a4af066fe Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 11:49:41 +0200 Subject: [PATCH 21/65] fix: include error details in upload failure message The upload_error exception swallowed the original OpenDisplayError message, making it hard to diagnose failures. Pass str(err) as a translation placeholder so the underlying cause is shown in the HA notification. --- custom_components/opendisplay/services.py | 4 +++- custom_components/opendisplay/strings.json | 2 +- custom_components/opendisplay/translations/en.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 2490bdd..f451f74 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -240,7 +240,9 @@ async def _async_connect_and_run( ) from err except OpenDisplayError as err: raise HomeAssistantError( - translation_domain=DOMAIN, translation_key="upload_error" + translation_domain=DOMAIN, + translation_key="upload_error", + translation_placeholders={"error": str(err)}, ) from err diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 4375278..8b248a0 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -113,7 +113,7 @@ "message": "No target devices specified." }, "upload_error": { - "message": "Failed to upload image to the display." + "message": "Failed to upload to the display: {error}" } }, "selector": { diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index 11905ea..93d5cdd 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -102,7 +102,7 @@ "message": "No target devices specified." }, "upload_error": { - "message": "Failed to upload image to the display." + "message": "Failed to upload to the display: {error}" } }, "selector": { From 9001078c3cf5bbd9e3dfd1bdcafb2bd49c413dba Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 11:50:12 +0200 Subject: [PATCH 22/65] feat: add RSSI and last-seen sensors to all devices Both sensors are diagnostic and disabled by default. All devices now load the sensor platform (moved Platform.SENSOR to _BASE_PLATFORMS), so non-flex devices get temperature, RSSI, and last-seen; battery sensors remain gated on power mode as before. The sensor value_fn signature is widened from AdvertisementData to OpenDisplayUpdate to give access to coordinator-level fields (RSSI, last_seen) alongside advertisement payload fields. Also syncs en.json with strings.json (adds translations for the new sensors, update entity, no_leds/no_buzzers exceptions, and the activate_led/activate_buzzer/drawcustom services that were missing). --- custom_components/opendisplay/__init__.py | 2 +- custom_components/opendisplay/coordinator.py | 5 + custom_components/opendisplay/sensor.py | 48 ++++++-- custom_components/opendisplay/strings.json | 6 + .../opendisplay/translations/en.json | 113 +++++++++++++++++- 5 files changed, 163 insertions(+), 11 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 5f92ad9..301ef38 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -33,7 +33,7 @@ CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN) -_BASE_PLATFORMS: list[Platform] = [] +_BASE_PLATFORMS: list[Platform] = [Platform.SENSOR] _FLEX_PLATFORMS = [Platform.EVENT, Platform.SENSOR, Platform.UPDATE] diff --git a/custom_components/opendisplay/coordinator.py b/custom_components/opendisplay/coordinator.py index b79eaa6..cf3e465 100644 --- a/custom_components/opendisplay/coordinator.py +++ b/custom_components/opendisplay/coordinator.py @@ -2,6 +2,7 @@ from dataclasses import dataclass, field import logging +import time from opendisplay import MANUFACTURER_ID, AdvertisementTracker, parse_advertisement from opendisplay.models.advertisement import ( @@ -30,6 +31,8 @@ class OpenDisplayUpdate: address: str advertisement: AdvertisementData + rssi: int | None = None + last_seen: float | None = None button_events: list[ButtonChangeEvent] = field(default_factory=list) touch_events: list[TouchChangeEvent] = field(default_factory=list) @@ -94,6 +97,8 @@ def _async_handle_bluetooth_event( self.data = OpenDisplayUpdate( address=service_info.address, advertisement=advertisement, + rssi=service_info.rssi, + last_seen=time.time(), button_events=button_events, touch_events=touch_events, ) diff --git a/custom_components/opendisplay/sensor.py b/custom_components/opendisplay/sensor.py index c1aa02c..335f0a0 100644 --- a/custom_components/opendisplay/sensor.py +++ b/custom_components/opendisplay/sensor.py @@ -2,9 +2,9 @@ from collections.abc import Callable from dataclasses import dataclass +from datetime import datetime, timezone from opendisplay import voltage_to_percent -from opendisplay.models.advertisement import AdvertisementData from opendisplay.models.enums import CapacityEstimator, PowerMode from homeassistant.components.sensor import ( @@ -15,6 +15,7 @@ ) from homeassistant.const import ( PERCENTAGE, + SIGNAL_STRENGTH_DECIBELS_MILLIWATT, EntityCategory, UnitOfElectricPotential, UnitOfTemperature, @@ -23,6 +24,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from . import OpenDisplayConfigEntry +from .coordinator import OpenDisplayUpdate from .entity import OpenDisplayEntity PARALLEL_UPDATES = 0 @@ -32,7 +34,7 @@ class OpenDisplaySensorEntityDescription(SensorEntityDescription): """Describes an OpenDisplay sensor entity.""" - value_fn: Callable[[AdvertisementData], float | int | None] + value_fn: Callable[[OpenDisplayUpdate], float | int | str | datetime | None] _TEMPERATURE_DESCRIPTION = OpenDisplaySensorEntityDescription( @@ -42,7 +44,7 @@ class OpenDisplaySensorEntityDescription(SensorEntityDescription): state_class=SensorStateClass.MEASUREMENT, entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, - value_fn=lambda adv: adv.temperature_c, + value_fn=lambda upd: upd.advertisement.temperature_c, ) _BATTERY_POWER_MODES = {PowerMode.BATTERY, PowerMode.SOLAR} @@ -55,7 +57,31 @@ class OpenDisplaySensorEntityDescription(SensorEntityDescription): state_class=SensorStateClass.MEASUREMENT, entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, - value_fn=lambda adv: adv.battery_mv, + value_fn=lambda upd: upd.advertisement.battery_mv, +) + +_RSSI_DESCRIPTION = OpenDisplaySensorEntityDescription( + key="rssi", + translation_key="rssi", + device_class=SensorDeviceClass.SIGNAL_STRENGTH, + native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS_MILLIWATT, + state_class=SensorStateClass.MEASUREMENT, + entity_category=EntityCategory.DIAGNOSTIC, + entity_registry_enabled_default=False, + value_fn=lambda upd: upd.rssi, +) + +_LAST_SEEN_DESCRIPTION = OpenDisplaySensorEntityDescription( + key="last_seen", + translation_key="last_seen", + device_class=SensorDeviceClass.TIMESTAMP, + entity_category=EntityCategory.DIAGNOSTIC, + entity_registry_enabled_default=False, + value_fn=lambda upd: ( + datetime.fromtimestamp(upd.last_seen, tz=timezone.utc) + if upd.last_seen is not None + else None + ), ) @@ -67,7 +93,11 @@ async def async_setup_entry( """Set up OpenDisplay sensor entities.""" coordinator = entry.runtime_data.coordinator power_config = entry.runtime_data.device_config.power - descriptions: list[OpenDisplaySensorEntityDescription] = [_TEMPERATURE_DESCRIPTION] + descriptions: list[OpenDisplaySensorEntityDescription] = [ + _TEMPERATURE_DESCRIPTION, + _RSSI_DESCRIPTION, + _LAST_SEEN_DESCRIPTION, + ] if power_config.power_mode_enum in _BATTERY_POWER_MODES: capacity_estimator = power_config.capacity_estimator or CapacityEstimator.LI_ION @@ -79,8 +109,8 @@ async def async_setup_entry( native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, entity_category=EntityCategory.DIAGNOSTIC, - value_fn=lambda adv: voltage_to_percent( - adv.battery_mv, capacity_estimator + value_fn=lambda upd: voltage_to_percent( + upd.advertisement.battery_mv, capacity_estimator ), ), ] @@ -97,8 +127,8 @@ class OpenDisplaySensorEntity(OpenDisplayEntity, SensorEntity): entity_description: OpenDisplaySensorEntityDescription @property - def native_value(self) -> float | int | None: + def native_value(self) -> float | int | str | datetime | None: """Return the sensor value.""" if self.coordinator.data is None: return None - return self.entity_description.value_fn(self.coordinator.data.advertisement) + return self.entity_description.value_fn(self.coordinator.data) diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 8b248a0..d07051b 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -79,6 +79,12 @@ "sensor": { "battery_voltage": { "name": "Battery voltage" + }, + "rssi": { + "name": "Signal strength (RSSI)" + }, + "last_seen": { + "name": "Last seen" } }, "update": { diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index 93d5cdd..65bec47 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -79,6 +79,17 @@ "sensor": { "battery_voltage": { "name": "Battery voltage" + }, + "rssi": { + "name": "Signal strength (RSSI)" + }, + "last_seen": { + "name": "Last seen" + } + }, + "update": { + "firmware": { + "name": "Firmware" } } }, @@ -98,6 +109,12 @@ "multiple_errors": { "message": "Errors occurred for one or more devices:\n{errors}" }, + "no_buzzers": { + "message": "Device `{device_id}` has no buzzer configured." + }, + "no_leds": { + "message": "Device `{device_id}` has no LEDs configured." + }, "no_targets_specified": { "message": "No target devices specified." }, @@ -173,6 +190,100 @@ "name": "Additional options" } } + }, + "activate_led": { + "name": "Activate LED", + "description": "Triggers an LED flash pattern on an OpenDisplay device.", + "fields": { + "device_id": { + "name": "Device", + "description": "The OpenDisplay device." + }, + "instance": { + "name": "LED instance", + "description": "LED instance index (0-based)." + }, + "color": { + "name": "Color", + "description": "Color index (device-specific, 0-255)." + }, + "brightness": { + "name": "Brightness", + "description": "LED brightness (1-16)." + }, + "flash_count": { + "name": "Flash count", + "description": "Number of flashes per cycle (0-15)." + }, + "loop_delay": { + "name": "Loop delay", + "description": "Delay between flashes within a cycle (0-15 units)." + }, + "inter_delay": { + "name": "Inter delay", + "description": "Delay between cycles (0-255 units)." + }, + "repeats": { + "name": "Repeats", + "description": "Number of times to repeat the pattern (0 = infinite)." + } + } + }, + "activate_buzzer": { + "name": "Activate buzzer", + "description": "Triggers a buzzer tone on an OpenDisplay device.", + "fields": { + "device_id": { + "name": "Device", + "description": "The OpenDisplay device." + }, + "instance": { + "name": "Buzzer instance", + "description": "Buzzer instance index (0-based)." + }, + "frequency_hz": { + "name": "Frequency", + "description": "Tone frequency in Hz (0 = silence, 400-12000)." + }, + "duration_ms": { + "name": "Duration", + "description": "Tone duration in milliseconds (5-1275)." + }, + "repeats": { + "name": "Repeats", + "description": "Number of times to repeat the tone (1-255)." + } + } + }, + "drawcustom": { + "description": "Draws a custom image on one or more OpenDisplay devices.", + "fields": { + "payload": { + "description": "Array of drawing elements.", + "name": "Payload" + }, + "background": { + "description": "Background fill color.", + "name": "Background color" + }, + "rotate": { + "description": "Clockwise rotation in degrees.", + "name": "Rotation" + }, + "dither": { + "description": "Dithering algorithm for color palette conversion.", + "name": "Dither mode" + }, + "refresh_type": { + "description": "Display refresh mode.", + "name": "Refresh type" + }, + "dry-run": { + "description": "Generate image without uploading to the device.", + "name": "Dry run" + } + }, + "name": "Draw custom image" } } -} \ No newline at end of file +} From 3b6f180470c7c728e044fa00e6f22b472ec678b2 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 12:31:30 +0200 Subject: [PATCH 23/65] fix: bump py-opendisplay to 7.3.1 (90s uncompressed END ACK timeout) --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index f31c777..49aeef9 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.3.0", "odl-renderer==0.5.8"], + "requirements": ["py-opendisplay==7.3.1", "odl-renderer==0.5.8"], "version": "3.0.0-beta.1" } From a26affa7a55e630819b310e9df504af44082276e Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 12:32:39 +0200 Subject: [PATCH 24/65] chore: bump version to 3.0.0-beta.2 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 49aeef9..c2b9e60 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -16,5 +16,5 @@ "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], "requirements": ["py-opendisplay==7.3.1", "odl-renderer==0.5.8"], - "version": "3.0.0-beta.1" + "version": "3.0.0-beta.2" } From 7bf7026173f54558756812cf6ae2843592486fff Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 16:52:15 +0200 Subject: [PATCH 25/65] feat: redesign activate_led service with 3 RGB color steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace single flat color/flash_count/loop_delay/inter_delay fields with three step groups (color1-3, flash_count1-3, loop_delay1-3, inter_delay1-3); steps 2 and 3 are skipped when flash_count is 0 - Use RGB color picker selector; voluptuous converts [R,G,B] to the firmware's packed 3R-3G-2B byte at validation time - Expose loop_delay and inter_delay in milliseconds (×100ms units) with slider selectors; voluptuous converts to firmware units - Brightness and repeats now use sliders --- custom_components/opendisplay/services.py | 65 +++++++++-- custom_components/opendisplay/services.yaml | 105 ++++++++++++++---- custom_components/opendisplay/strings.json | 64 ++++++++--- .../opendisplay/translations/en.json | 64 ++++++++--- 4 files changed, 236 insertions(+), 62 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index f451f74..98acfc8 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -18,12 +18,13 @@ AuthenticationRequiredError, DitherMode, FitMode, + LedFlashConfig, + LedFlashStep, + BuzzerActivateConfig, OpenDisplayDevice, OpenDisplayError, RefreshMode, Rotation, - LedFlashConfig, - BuzzerActivateConfig, ) from PIL import Image as PILImage, ImageOps import voluptuous as vol @@ -100,16 +101,43 @@ def validate(value: str) -> IntEnum: ) +def _rgb_to_led_color(value: list[int]) -> int: + """Convert [R, G, B] (0-255 each) to packed 8-bit LED color byte (3R 3G 2B).""" + r, g, b = value + return ((round(r * 7 / 255)) << 5) | ((round(g * 7 / 255)) << 2) | (round(b * 3 / 255)) + + +def _ms_to_loop_delay(value: int) -> int: + """Convert milliseconds to 4-bit loop delay units (×100 ms each, 0–1500 ms).""" + return max(0, min(15, round(value / 100))) + + +def _ms_to_inter_delay(value: int) -> int: + """Convert milliseconds to 8-bit inter-delay units (×100 ms each, 0–25500 ms).""" + return max(0, min(255, round(value / 100))) + + +def _led_step_fields(n: int, *, color_default: list[int], flash_count_default: int) -> dict: + """Return the voluptuous field definitions for one LED step.""" + return { + vol.Optional(f"color{n}", default=color_default): _rgb_to_led_color, + vol.Optional(f"flash_count{n}", default=flash_count_default): vol.All( + vol.Coerce(int), vol.Range(min=0, max=15) + ), + vol.Optional(f"loop_delay{n}", default=0): vol.All(vol.Coerce(int), _ms_to_loop_delay), + vol.Optional(f"inter_delay{n}", default=0): vol.All(vol.Coerce(int), _ms_to_inter_delay), + } + + SCHEMA_ACTIVATE_LED = vol.Schema( { vol.Required(ATTR_DEVICE_ID): cv.string, vol.Optional("instance", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), - vol.Optional("color", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), vol.Optional("brightness", default=8): vol.All(vol.Coerce(int), vol.Range(min=1, max=16)), - vol.Optional("flash_count", default=1): vol.All(vol.Coerce(int), vol.Range(min=0, max=15)), - vol.Optional("loop_delay", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=15)), - vol.Optional("inter_delay", default=0): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), vol.Optional("repeats", default=1): vol.All(vol.Coerce(int), vol.Range(min=0, max=255)), + **_led_step_fields(1, color_default=[255, 0, 0], flash_count_default=1), + **_led_step_fields(2, color_default=[0, 255, 0], flash_count_default=0), + **_led_step_fields(3, color_default=[0, 0, 255], flash_count_default=0), } ) @@ -508,12 +536,27 @@ async def _async_activate_led(call: ServiceCall) -> None: translation_placeholders={"device_id": call.data[ATTR_DEVICE_ID]}, ) repeats: int = call.data["repeats"] - flash_config = LedFlashConfig.single( - color=call.data["color"], + flash_config = LedFlashConfig( + mode=1, brightness=call.data["brightness"], - flash_count=call.data["flash_count"], - loop_delay_units=call.data["loop_delay"], - inter_delay_units=call.data["inter_delay"], + step1=LedFlashStep( + color=call.data["color1"], + flash_count=call.data["flash_count1"], + loop_delay_units=call.data["loop_delay1"], + inter_delay_units=call.data["inter_delay1"], + ), + step2=LedFlashStep( + color=call.data["color2"], + flash_count=call.data["flash_count2"], + loop_delay_units=call.data["loop_delay2"], + inter_delay_units=call.data["inter_delay2"], + ), + step3=LedFlashStep( + color=call.data["color3"], + flash_count=call.data["flash_count3"], + loop_delay_units=call.data["loop_delay3"], + inter_delay_units=call.data["inter_delay3"], + ), group_repeats=None if repeats == 0 else repeats, ) instance: int = call.data["instance"] diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index 35340e7..0e3fd05 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -84,14 +84,6 @@ activate_led: min: 0 max: 255 mode: box - color: - required: false - default: 0 - selector: - number: - min: 0 - max: 255 - mode: box brightness: required: false default: 8 @@ -100,38 +92,113 @@ activate_led: min: 1 max: 16 mode: slider - flash_count: + repeats: + required: false + default: 1 + selector: + number: + min: 0 + max: 255 + mode: slider + color1: + required: false + default: [255, 0, 0] + selector: + color_rgb: + flash_count1: required: false default: 1 selector: number: min: 0 max: 15 - mode: box - loop_delay: + mode: slider + loop_delay1: + required: false + default: 0 + selector: + number: + min: 0 + max: 1500 + step: 100 + unit_of_measurement: ms + mode: slider + inter_delay1: + required: false + default: 0 + selector: + number: + min: 0 + max: 25500 + step: 100 + unit_of_measurement: ms + mode: slider + color2: + required: false + default: [0, 255, 0] + selector: + color_rgb: + flash_count2: required: false default: 0 selector: number: min: 0 max: 15 - mode: box - inter_delay: + mode: slider + loop_delay2: required: false default: 0 selector: number: min: 0 - max: 255 - mode: box - repeats: + max: 1500 + step: 100 + unit_of_measurement: ms + mode: slider + inter_delay2: required: false - default: 1 + default: 0 selector: number: min: 0 - max: 255 - mode: box + max: 25500 + step: 100 + unit_of_measurement: ms + mode: slider + color3: + required: false + default: [0, 0, 255] + selector: + color_rgb: + flash_count3: + required: false + default: 0 + selector: + number: + min: 0 + max: 15 + mode: slider + loop_delay3: + required: false + default: 0 + selector: + number: + min: 0 + max: 1500 + step: 100 + unit_of_measurement: ms + mode: slider + inter_delay3: + required: false + default: 0 + selector: + number: + min: 0 + max: 25500 + step: 100 + unit_of_measurement: ms + mode: slider activate_buzzer: fields: diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index d07051b..96f67f8 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -203,29 +203,61 @@ "name": "LED instance", "description": "LED instance index (0-based)." }, - "color": { - "name": "Color", - "description": "Color index (device-specific, 0-255)." - }, "brightness": { "name": "Brightness", "description": "LED brightness (1-16)." }, - "flash_count": { - "name": "Flash count", - "description": "Number of flashes per cycle (0-15)." + "repeats": { + "name": "Repeats", + "description": "Number of times to repeat the full pattern (0 = infinite)." }, - "loop_delay": { - "name": "Loop delay", - "description": "Delay between flashes within a cycle (0-15 units)." + "color1": { + "name": "Color 1", + "description": "First step color." }, - "inter_delay": { - "name": "Inter delay", - "description": "Delay between cycles (0-255 units)." + "flash_count1": { + "name": "Flash count 1", + "description": "Number of flashes for the first step (0 skips this step)." }, - "repeats": { - "name": "Repeats", - "description": "Number of times to repeat the pattern (0 = infinite)." + "loop_delay1": { + "name": "Flash delay 1", + "description": "Delay between flashes in the first step." + }, + "inter_delay1": { + "name": "Step delay 1", + "description": "Delay after the first step before moving to the next." + }, + "color2": { + "name": "Color 2", + "description": "Second step color (omit or set flash count to 0 to skip)." + }, + "flash_count2": { + "name": "Flash count 2", + "description": "Number of flashes for the second step (0 skips this step)." + }, + "loop_delay2": { + "name": "Flash delay 2", + "description": "Delay between flashes in the second step." + }, + "inter_delay2": { + "name": "Step delay 2", + "description": "Delay after the second step before moving to the next." + }, + "color3": { + "name": "Color 3", + "description": "Third step color (omit or set flash count to 0 to skip)." + }, + "flash_count3": { + "name": "Flash count 3", + "description": "Number of flashes for the third step (0 skips this step)." + }, + "loop_delay3": { + "name": "Flash delay 3", + "description": "Delay between flashes in the third step." + }, + "inter_delay3": { + "name": "Step delay 3", + "description": "Delay after the third step before repeating." } } }, diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index 65bec47..37dc6cb 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -203,29 +203,61 @@ "name": "LED instance", "description": "LED instance index (0-based)." }, - "color": { - "name": "Color", - "description": "Color index (device-specific, 0-255)." - }, "brightness": { "name": "Brightness", "description": "LED brightness (1-16)." }, - "flash_count": { - "name": "Flash count", - "description": "Number of flashes per cycle (0-15)." + "repeats": { + "name": "Repeats", + "description": "Number of times to repeat the full pattern (0 = infinite)." }, - "loop_delay": { - "name": "Loop delay", - "description": "Delay between flashes within a cycle (0-15 units)." + "color1": { + "name": "Color 1", + "description": "First step color." }, - "inter_delay": { - "name": "Inter delay", - "description": "Delay between cycles (0-255 units)." + "flash_count1": { + "name": "Flash count 1", + "description": "Number of flashes for the first step (0 skips this step)." }, - "repeats": { - "name": "Repeats", - "description": "Number of times to repeat the pattern (0 = infinite)." + "loop_delay1": { + "name": "Flash delay 1", + "description": "Delay between flashes in the first step." + }, + "inter_delay1": { + "name": "Step delay 1", + "description": "Delay after the first step before moving to the next." + }, + "color2": { + "name": "Color 2", + "description": "Second step color (omit or set flash count to 0 to skip)." + }, + "flash_count2": { + "name": "Flash count 2", + "description": "Number of flashes for the second step (0 skips this step)." + }, + "loop_delay2": { + "name": "Flash delay 2", + "description": "Delay between flashes in the second step." + }, + "inter_delay2": { + "name": "Step delay 2", + "description": "Delay after the second step before moving to the next." + }, + "color3": { + "name": "Color 3", + "description": "Third step color (omit or set flash count to 0 to skip)." + }, + "flash_count3": { + "name": "Flash count 3", + "description": "Number of flashes for the third step (0 skips this step)." + }, + "loop_delay3": { + "name": "Flash delay 3", + "description": "Delay between flashes in the third step." + }, + "inter_delay3": { + "name": "Step delay 3", + "description": "Delay after the third step before repeating." } } }, From 975ddcb71396066146b805cf6cce94e29459a1be Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 17:14:55 +0200 Subject: [PATCH 26/65] chore: bump py-opendisplay to 7.3.2 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index c2b9e60..4b78ca7 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.3.1", "odl-renderer==0.5.8"], + "requirements": ["py-opendisplay==7.3.2", "odl-renderer==0.5.8"], "version": "3.0.0-beta.2" } From c55ceb4b9b1fedac740d8c73e5feaabd9db64532 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 25 May 2026 17:46:41 +0200 Subject: [PATCH 27/65] chore: bump odl-renderer to 0.5.9 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 4b78ca7..0be0854 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.3.2", "odl-renderer==0.5.8"], + "requirements": ["py-opendisplay==7.3.2", "odl-renderer==0.5.9"], "version": "3.0.0-beta.2" } From e1b5c9ec097e025d8bb01af8e0e548d1205ec497 Mon Sep 17 00:00:00 2001 From: gabriel Date: Tue, 26 May 2026 13:20:10 +0200 Subject: [PATCH 28/65] feat: add image entity showing last rendered display content Adds a Display content image entity that updates via dispatcher signal after every successful upload_image or drawcustom call (including dry-run). --- custom_components/opendisplay/__init__.py | 4 +- custom_components/opendisplay/const.py | 1 + custom_components/opendisplay/image.py | 63 +++++++++++++++++++ custom_components/opendisplay/services.py | 14 ++++- custom_components/opendisplay/strings.json | 5 ++ .../opendisplay/translations/en.json | 5 ++ 6 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 custom_components/opendisplay/image.py diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 301ef38..7b6a6d5 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -33,8 +33,8 @@ CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN) -_BASE_PLATFORMS: list[Platform] = [Platform.SENSOR] -_FLEX_PLATFORMS = [Platform.EVENT, Platform.SENSOR, Platform.UPDATE] +_BASE_PLATFORMS: list[Platform] = [Platform.IMAGE, Platform.SENSOR] +_FLEX_PLATFORMS = [Platform.EVENT, Platform.IMAGE, Platform.SENSOR, Platform.UPDATE] @dataclass diff --git a/custom_components/opendisplay/const.py b/custom_components/opendisplay/const.py index 664f7e8..779b74c 100644 --- a/custom_components/opendisplay/const.py +++ b/custom_components/opendisplay/const.py @@ -2,3 +2,4 @@ DOMAIN = "opendisplay" CONF_ENCRYPTION_KEY = "encryption_key" +SIGNAL_IMAGE_UPDATED = f"{DOMAIN}_image_updated" diff --git a/custom_components/opendisplay/image.py b/custom_components/opendisplay/image.py new file mode 100644 index 0000000..3d32703 --- /dev/null +++ b/custom_components/opendisplay/image.py @@ -0,0 +1,63 @@ +"""Image entity for OpenDisplay devices.""" + +from homeassistant.components.image import ImageEntity +from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH, DeviceInfo +from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback +import homeassistant.util.dt as dt_util + +from . import OpenDisplayConfigEntry +from .const import SIGNAL_IMAGE_UPDATED +from .coordinator import OpenDisplayCoordinator + +PARALLEL_UPDATES = 0 + + +async def async_setup_entry( + hass: HomeAssistant, + entry: OpenDisplayConfigEntry, + async_add_entities: AddConfigEntryEntitiesCallback, +) -> None: + """Set up the OpenDisplay image entity.""" + async_add_entities([OpenDisplayImageEntity(hass, entry.runtime_data.coordinator)]) + + +class OpenDisplayImageEntity(ImageEntity): + """Shows the last image sent to an OpenDisplay device.""" + + _attr_has_entity_name = True + _attr_translation_key = "content" + _attr_content_type = "image/jpeg" + + def __init__(self, hass: HomeAssistant, coordinator: OpenDisplayCoordinator) -> None: + """Initialize the image entity.""" + super().__init__(hass) + self._coordinator = coordinator + self._attr_unique_id = f"{coordinator.address}-display_content" + self._attr_device_info = DeviceInfo( + connections={(CONNECTION_BLUETOOTH, coordinator.address)}, + ) + self._image_bytes: bytes | None = None + + async def async_image(self) -> bytes | None: + """Return the last uploaded image bytes.""" + return self._image_bytes + + async def async_added_to_hass(self) -> None: + """Subscribe to image update signals.""" + await super().async_added_to_hass() + self.async_on_remove( + async_dispatcher_connect( + self.hass, + f"{SIGNAL_IMAGE_UPDATED}_{self._coordinator.address}", + self._handle_image_update, + ) + ) + + @callback + def _handle_image_update(self, image_bytes: bytes) -> None: + """Handle a new image from a completed upload.""" + self._image_bytes = image_bytes + self._attr_image_last_updated = dt_util.utcnow() + self.async_write_ha_state() diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 98acfc8..665dc3e 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -39,13 +39,14 @@ from homeassistant.helpers import config_validation as cv, device_registry as dr from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH +from homeassistant.helpers.dispatcher import async_dispatcher_send from homeassistant.helpers.network import get_url from homeassistant.helpers.selector import MediaSelector, MediaSelectorConfig if TYPE_CHECKING: from . import OpenDisplayConfigEntry -from .const import CONF_ENCRYPTION_KEY, DOMAIN +from .const import CONF_ENCRYPTION_KEY, DOMAIN, SIGNAL_IMAGE_UPDATED ATTR_IMAGE = "image" ATTR_ROTATION = "rotation" @@ -188,6 +189,13 @@ def _get_entry_for_device(call: ServiceCall) -> OpenDisplayConfigEntry: return entry +def _pil_to_jpeg(img: PILImage.Image) -> bytes: + """Encode a PIL image as JPEG bytes.""" + buf = io.BytesIO() + img.convert("RGB").save(buf, format="JPEG", quality=90) + return buf.getvalue() + + def _load_image(path: str) -> PILImage.Image: """Load an image from disk and apply EXIF orientation.""" image = PILImage.open(path) @@ -296,6 +304,8 @@ async def _upload(device: OpenDisplayDevice) -> None: rotate=rotate, ) await _async_connect_and_run(hass, entry, _upload) + jpeg = await hass.async_add_executor_job(_pil_to_jpeg, img) + async_dispatcher_send(hass, f"{SIGNAL_IMAGE_UPDATED}_{entry.unique_id}", jpeg) async def _async_upload_image(call: ServiceCall) -> None: @@ -512,6 +522,8 @@ async def _drawcustom_for_device( if call.data["dry-run"]: _LOGGER.info("Drawcustom dry run for device %s", device_id) + jpeg = await hass.async_add_executor_job(_pil_to_jpeg, img) + async_dispatcher_send(hass, f"{SIGNAL_IMAGE_UPDATED}_{entry.unique_id}", jpeg) return dither_mode: DitherMode = call.data["dither"] diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 96f67f8..0fc5e1e 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -51,6 +51,11 @@ } }, "entity": { + "image": { + "content": { + "name": "Display content" + } + }, "event": { "button": { "name": "Button {number}", diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index 37dc6cb..2f4e853 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -51,6 +51,11 @@ } }, "entity": { + "image": { + "content": { + "name": "Display content" + } + }, "event": { "button": { "name": "Button {number}", From 5b318a9cd38662e9f13a1ea0734f4a7de0103780 Mon Sep 17 00:00:00 2001 From: gabriel Date: Tue, 26 May 2026 13:25:23 +0200 Subject: [PATCH 29/65] chore: bump version to 3.0.0-beta.3 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 0be0854..da8131d 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -16,5 +16,5 @@ "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], "requirements": ["py-opendisplay==7.3.2", "odl-renderer==0.5.9"], - "version": "3.0.0-beta.2" + "version": "3.0.0-beta.3" } From 1176aed0416f16510e95302ed7aadf8a343cf524 Mon Sep 17 00:00:00 2001 From: David Bishop Date: Sat, 30 May 2026 20:00:02 -0700 Subject: [PATCH 30/65] chore: bump py-opendisplay to 7.4.1 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index da8131d..1985a89 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.3.2", "odl-renderer==0.5.9"], + "requirements": ["py-opendisplay==7.4.1", "odl-renderer==0.5.9"], "version": "3.0.0-beta.3" } From 6527ba73f0778a4e58ec45c6ff2712ecf3826b4e Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 28 May 2026 22:47:28 +0200 Subject: [PATCH 31/65] chore: bump py-opendisplay --- custom_components/opendisplay/manifest.json | 2 +- custom_components/opendisplay/update.py | 184 ++++++++++++++++++-- 2 files changed, 166 insertions(+), 20 deletions(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 1985a89..181206a 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay==7.4.1", "odl-renderer==0.5.9"], + "requirements": ["py-opendisplay[nrf-ota]==7.6.0", "odl-renderer==0.5.9"], "version": "3.0.0-beta.3" } diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index bab0568..68c06e7 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -3,23 +3,56 @@ from __future__ import annotations import logging +from datetime import timedelta +from typing import Any import aiohttp -from opendisplay.models.firmware import firmware_release_repo - -from homeassistant.components.update import UpdateDeviceClass, UpdateEntity, UpdateEntityDescription +from opendisplay.device import OpenDisplayDevice +from opendisplay.exceptions import OTAError +from opendisplay.models.enums import ICType +from opendisplay.models.firmware import firmware_ota_asset, firmware_release_repo +from opendisplay.ota import find_nrf_dfu_device, perform_nrf_dfu + +from homeassistant.components.bluetooth import async_ble_device_from_address +from homeassistant.components.update import ( + UpdateDeviceClass, + UpdateEntity, + UpdateEntityDescription, + UpdateEntityFeature, +) from homeassistant.core import HomeAssistant +from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback -from . import OpenDisplayConfigEntry +from . import OpenDisplayConfigEntry, _get_encryption_key from .entity import OpenDisplayEntity _LOGGER = logging.getLogger(__name__) PARALLEL_UPDATES = 1 +# GitHub unauthenticated API allows 60 requests/hour; 6h interval = 4 req/day per device +SCAN_INTERVAL = timedelta(hours=6) _GITHUB_LATEST = "https://api.github.com/repos/{repo}/releases/latest" +_GITHUB_RELEASE = "https://api.github.com/repos/{repo}/releases/tags/{tag}" +_GITHUB_HEADERS = {"Accept": "application/vnd.github+json"} + +_NRF_IC_TYPES = {ICType.NRF52840, ICType.NRF52811} + + +def _format_firmware_version(major: int, minor: int) -> str: + """Format firmware version to match GitHub tag convention. + + The 1.x firmware era uses single-digit minor tags (1.0–1.9 on GitHub), + but the firmware byte may store minor*10 (e.g. minor=60 → "1.6"). + Dividing by 10 aligns the installed string with GitHub tag_names so + AwesomeVersion comparisons work correctly. + """ + if major >= 1 and minor >= 10: + minor = minor // 10 + return f"{major}.{minor}" + _FIRMWARE_DESCRIPTION = UpdateEntityDescription( key="firmware", @@ -49,20 +82,21 @@ def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: """Initialize the entity.""" super().__init__(coordinator, _FIRMWARE_DESCRIPTION) fw = entry.runtime_data.firmware - self._attr_installed_version = f"{fw['major']}.{fw['minor']}" - self._firmware_repo = firmware_release_repo( - entry.runtime_data.device_config.system.ic_type - ) - - @property - def installed_version(self) -> str | None: - """Return the installed firmware version.""" - return self._attr_installed_version - - @property - def latest_version(self) -> str | None: - """Return the latest available firmware version.""" - return self._attr_latest_version + self._attr_installed_version = _format_firmware_version(fw["major"], fw["minor"]) + ic_type = entry.runtime_data.device_config.system.ic_type + self._ic_type = ic_type + self._firmware_repo = firmware_release_repo(ic_type) + self._ble_address: str = entry.unique_id or "" + self._entry = entry + + if ic_type in _NRF_IC_TYPES: + self._attr_supported_features = ( + UpdateEntityFeature.INSTALL + | UpdateEntityFeature.PROGRESS + | UpdateEntityFeature.RELEASE_NOTES + ) + else: + self._attr_supported_features = UpdateEntityFeature.RELEASE_NOTES @property def release_url(self) -> str | None: @@ -71,6 +105,10 @@ def release_url(self) -> str | None: return f"https://github.com/{self._firmware_repo}/releases/tag/{self._attr_latest_version}" return None + async def async_release_notes(self) -> str | None: + """Return the GitHub release body for the latest version.""" + return self._attr_release_notes + async def async_added_to_hass(self) -> None: """Fetch the latest version immediately on entity load.""" await super().async_added_to_hass() @@ -85,10 +123,118 @@ async def async_update(self) -> None: session = async_get_clientsession(self.hass) async with session.get( _GITHUB_LATEST.format(repo=self._firmware_repo), - headers={"Accept": "application/vnd.github+json"}, + headers=_GITHUB_HEADERS, ) as resp: resp.raise_for_status() data = await resp.json() self._attr_latest_version = data.get("tag_name") + self._attr_release_notes = data.get("body") or None + except aiohttp.ClientResponseError as err: + if err.status in (403, 429): + _LOGGER.warning("GitHub API rate limited; latest firmware version unchanged") + else: + _LOGGER.debug("Failed to fetch latest firmware version: %s", err) except aiohttp.ClientError as err: _LOGGER.debug("Failed to fetch latest firmware version: %s", err) + + async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: + """Download and install a firmware update over BLE.""" + tag = version or self._attr_latest_version + if not tag: + raise HomeAssistantError("No firmware version available to install") + + asset_name = firmware_ota_asset(self._ic_type, tag) + if asset_name is None: + raise HomeAssistantError( + f"No BLE OTA asset available for IC type {self._ic_type}" + ) + + self._attr_in_progress = True + self.async_write_ha_state() + + last_pct: list[int] = [-1] + + def _on_progress(pct: float) -> None: + new_pct = int(pct) + if new_pct != last_pct[0]: + last_pct[0] = new_pct + self._attr_in_progress = new_pct + self.async_write_ha_state() + + def _on_log(msg: str) -> None: + _LOGGER.debug("OTA: %s", msg) + + try: + firmware_bytes = await self._download_asset(tag, asset_name) + + ble_device = async_ble_device_from_address( + self.hass, self._ble_address, connectable=True + ) + if ble_device is None: + raise HomeAssistantError( + "Device not reachable over Bluetooth; bring it within range and retry" + ) + + _on_log("Connecting to trigger DFU bootloader…") + async with OpenDisplayDevice( + mac_address=self._ble_address, + ble_device=ble_device, + encryption_key=_get_encryption_key(self._entry), + ) as device: + await device.trigger_dfu_bootloader() + + _on_log("Trigger sent — waiting for DFU device to appear (up to 30 s)…") + dfu_device = await find_nrf_dfu_device(self._ble_address) + if dfu_device is None: + raise HomeAssistantError( + "DFU device not found within 30 s after bootloader trigger. " + "Ensure the device is within BLE range and try again." + ) + _on_log(f"Found DFU device at {dfu_device.address}") + + await perform_nrf_dfu( + firmware_bytes, + dfu_device, + on_progress=_on_progress, + on_log=_on_log, + ) + + self._attr_installed_version = tag + _LOGGER.info("Firmware updated to %s", tag) + + except OTAError as err: + raise HomeAssistantError(f"Firmware update failed: {err}") from err + finally: + self._attr_in_progress = False + self.async_write_ha_state() + + async def _download_asset(self, tag: str, asset_name: str) -> bytes: + """Fetch the named asset from a GitHub release.""" + session = async_get_clientsession(self.hass) + try: + async with session.get( + _GITHUB_RELEASE.format(repo=self._firmware_repo, tag=tag), + headers=_GITHUB_HEADERS, + ) as resp: + resp.raise_for_status() + release = await resp.json() + except aiohttp.ClientError as err: + raise HomeAssistantError(f"Could not fetch release metadata: {err}") from err + + for asset in release.get("assets", []): + if asset["name"] == asset_name: + download_url = asset["browser_download_url"] + break + else: + raise HomeAssistantError( + f"Asset '{asset_name}' not found in release {tag}; " + f"available: {[a['name'] for a in release.get('assets', [])]}" + ) + + _LOGGER.debug("Downloading %s from %s", asset_name, download_url) + try: + async with session.get(download_url) as resp: + resp.raise_for_status() + return await resp.read() + except aiohttp.ClientError as err: + raise HomeAssistantError(f"Firmware download failed: {err}") from err From 51f6fbd3f6e624944c7122071f8e29a2539b5c67 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 1 Jun 2026 20:05:53 +0200 Subject: [PATCH 32/65] fix: correct except-tuple syntax for auth errors in config flow `except AuthenticationFailedError, AuthenticationRequiredError:` is invalid Python 3 syntax; use `except (..., ...):` so a wrong/missing encryption key surfaces as invalid_auth instead of erroring out. --- custom_components/opendisplay/config_flow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/config_flow.py b/custom_components/opendisplay/config_flow.py index bcd93e4..8715107 100644 --- a/custom_components/opendisplay/config_flow.py +++ b/custom_components/opendisplay/config_flow.py @@ -151,7 +151,7 @@ async def _async_try_connection( """Test connection, populate errors, and return True on success.""" try: await self._async_test_connection(address, encryption_key) - except AuthenticationFailedError, AuthenticationRequiredError: + except (AuthenticationFailedError, AuthenticationRequiredError): errors[CONF_ENCRYPTION_KEY] = "invalid_auth" except OpenDisplayError: errors["base"] = "cannot_connect" From 49c44082affc62ec38d9ae67eb9198b563e29032 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 1 Jun 2026 20:06:05 +0200 Subject: [PATCH 33/65] feat: implement BLE OTA firmware install (nRF + Silabs, proxy-safe) async_install downloads the firmware asset and flashes over BLE: - nRF52: trigger DFU, find the MAC+1 DFU device, perform_nrf_dfu. - EFR32BG22: clear the proxy GATT cache, trigger the AppLoader, then perform_silabs_ota; tolerate the device already being in the AppLoader (flash directly) so an interrupted OTA can be retried/recovered from HA. - Wrap OTAError/BLEConnectionError as HomeAssistantError for clean UI errors. Note: depends on OpenDisplayDevice.clear_gatt_cache + BLEConnectionError from the in-progress py-opendisplay; the manifest requirement pin is intentionally left for the py-opendisplay release (kept as a local git-pin for testing). --- custom_components/opendisplay/update.py | 98 ++++++++++++++++++------- 1 file changed, 72 insertions(+), 26 deletions(-) diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index 68c06e7..af31652 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -8,10 +8,10 @@ import aiohttp from opendisplay.device import OpenDisplayDevice -from opendisplay.exceptions import OTAError +from opendisplay.exceptions import BLEConnectionError, OTAError from opendisplay.models.enums import ICType from opendisplay.models.firmware import firmware_ota_asset, firmware_release_repo -from opendisplay.ota import find_nrf_dfu_device, perform_nrf_dfu +from opendisplay.ota import find_nrf_dfu_device, perform_nrf_dfu, perform_silabs_ota from homeassistant.components.bluetooth import async_ble_device_from_address from homeassistant.components.update import ( @@ -39,6 +39,7 @@ _GITHUB_HEADERS = {"Accept": "application/vnd.github+json"} _NRF_IC_TYPES = {ICType.NRF52840, ICType.NRF52811} +_OTA_SUPPORTED_IC_TYPES = {ICType.NRF52840, ICType.NRF52811, ICType.EFR32BG22} def _format_firmware_version(major: int, minor: int) -> str: @@ -89,7 +90,7 @@ def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: self._ble_address: str = entry.unique_id or "" self._entry = entry - if ic_type in _NRF_IC_TYPES: + if ic_type in _OTA_SUPPORTED_IC_TYPES: self._attr_supported_features = ( UpdateEntityFeature.INSTALL | UpdateEntityFeature.PROGRESS @@ -175,34 +176,79 @@ def _on_log(msg: str) -> None: "Device not reachable over Bluetooth; bring it within range and retry" ) - _on_log("Connecting to trigger DFU bootloader…") - async with OpenDisplayDevice( - mac_address=self._ble_address, - ble_device=ble_device, - encryption_key=_get_encryption_key(self._entry), - ) as device: - await device.trigger_dfu_bootloader() - - _on_log("Trigger sent — waiting for DFU device to appear (up to 30 s)…") - dfu_device = await find_nrf_dfu_device(self._ble_address) - if dfu_device is None: - raise HomeAssistantError( - "DFU device not found within 30 s after bootloader trigger. " - "Ensure the device is within BLE range and try again." + if self._ic_type in _NRF_IC_TYPES: + _on_log("Connecting to trigger DFU bootloader…") + async with OpenDisplayDevice( + mac_address=self._ble_address, + ble_device=ble_device, + encryption_key=_get_encryption_key(self._entry), + ) as device: + await device.trigger_dfu_bootloader() + + _on_log("Trigger sent — waiting for DFU device to appear (up to 30 s)…") + dfu_device = await find_nrf_dfu_device(self._ble_address) + if dfu_device is None: + raise HomeAssistantError( + "DFU device not found within 30 s after bootloader trigger. " + "Ensure the device is within BLE range and try again." + ) + _on_log(f"Found DFU device at {dfu_device.address}") + await perform_nrf_dfu( + firmware_bytes, + dfu_device, + on_progress=_on_progress, + on_log=_on_log, + ) + else: + # EFR32BG22: the device is either in app mode (and needs the DFU + # trigger) or already in the AppLoader at the same address (e.g. a + # previous OTA was interrupted, or the device browned out before it + # could commit). Try to trigger from app mode, but tolerate the + # connect failing — in that case the device is already in the + # AppLoader and we flash it directly. This lets HA recover a device + # that's stuck in the bootloader instead of failing hard. A stale + # proxy GATT cache (from a prior interrupted OTA) is handled at the + # connection layer: BLEConnection.connect() clears the proxy cache + # and retries once when the expected service is missing. + try: + _on_log("Connecting to trigger DFU bootloader…") + async with OpenDisplayDevice( + mac_address=self._ble_address, + ble_device=ble_device, + encryption_key=_get_encryption_key(self._entry), + ) as device: + # Clear the (now fresh) app-mode GATT from the proxy cache so + # the post-reboot AppLoader connection re-discovers the OTA + # service instead of these app-firmware handles. + cleared = await device.clear_gatt_cache() + _on_log(f"Proxy GATT cache clear requested: {cleared}") + await device.trigger_dfu_bootloader() + except BLEConnectionError as err: + _on_log( + f"App-mode connect failed ({err}); device is likely already " + "in the AppLoader — attempting OTA directly." + ) + + # AppLoader advertises at the same address; perform_silabs_ota + # retries the connection internally until it is ready. + ota_device = async_ble_device_from_address( + self.hass, self._ble_address, connectable=True + ) + if ota_device is None: + raise HomeAssistantError( + "Device not reachable in OTA mode; bring it within range and retry" + ) + await perform_silabs_ota( + firmware_bytes, + ota_device, + on_progress=_on_progress, + on_log=_on_log, ) - _on_log(f"Found DFU device at {dfu_device.address}") - - await perform_nrf_dfu( - firmware_bytes, - dfu_device, - on_progress=_on_progress, - on_log=_on_log, - ) self._attr_installed_version = tag _LOGGER.info("Firmware updated to %s", tag) - except OTAError as err: + except (OTAError, BLEConnectionError) as err: raise HomeAssistantError(f"Firmware update failed: {err}") from err finally: self._attr_in_progress = False From 1fc6e42d5c7308602f5e8e76a788c4d4671c052c Mon Sep 17 00:00:00 2001 From: gabriel Date: Tue, 2 Jun 2026 02:28:08 +0200 Subject: [PATCH 34/65] feat: make nRF firmware updates robust over a Bluetooth proxy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two changes, both validated end-to-end through ESPHome proxies: - Resume from DFU: if the device is already in the bootloader (a prior update was interrupted — it then advertises at MAC+1, so its app address resolves to None, or the app-mode connect fails), skip the trigger and flash the DFU device directly instead of failing hard. Mirrors the EFR32 AppLoader recovery. - Stay available during install: the device leaves app mode (nRF re-advertises at a different address) during the update, so the passive-BLE tracker would mark the entity unavailable mid-flash and hide the progress, making a working ~5-minute update look like a silent failure. Keep the entity available until the install finishes; the transfer runs on its own connection regardless. --- custom_components/opendisplay/update.py | 62 ++++++++++++++++++++----- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index af31652..2d61249 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -89,6 +89,7 @@ def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: self._firmware_repo = firmware_release_repo(ic_type) self._ble_address: str = entry.unique_id or "" self._entry = entry + self._installing = False if ic_type in _OTA_SUPPORTED_IC_TYPES: self._attr_supported_features = ( @@ -99,6 +100,20 @@ def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: else: self._attr_supported_features = UpdateEntityFeature.RELEASE_NOTES + @property + def available(self) -> bool: + """Stay available while a firmware update is installing. + + During an update the device leaves app mode — an nRF device even + re-advertises at a different address while in the bootloader — so the + passive-BLE availability tracker would otherwise mark this entity + unavailable mid-install and hide the progress, making a working update + look like a silent failure. The install runs on its own BLE connection + and is unaffected by the app-mode advertisement stopping, so keep the + entity available until it finishes. + """ + return self._installing or super().available + @property def release_url(self) -> str | None: """Return URL to the GitHub release page.""" @@ -150,6 +165,7 @@ async def async_install(self, version: str | None, backup: bool, **kwargs: Any) f"No BLE OTA asset available for IC type {self._ic_type}" ) + self._installing = True self._attr_in_progress = True self.async_write_ha_state() @@ -171,26 +187,47 @@ def _on_log(msg: str) -> None: ble_device = async_ble_device_from_address( self.hass, self._ble_address, connectable=True ) - if ble_device is None: + # An nRF device already in DFU advertises at MAC+1, so its app-mode + # address resolves to None — that's expected and the nRF branch below + # resumes straight to the DFU flash. For other ICs a missing device + # genuinely means unreachable. + if ble_device is None and self._ic_type not in _NRF_IC_TYPES: raise HomeAssistantError( "Device not reachable over Bluetooth; bring it within range and retry" ) if self._ic_type in _NRF_IC_TYPES: - _on_log("Connecting to trigger DFU bootloader…") - async with OpenDisplayDevice( - mac_address=self._ble_address, - ble_device=ble_device, - encryption_key=_get_encryption_key(self._entry), - ) as device: - await device.trigger_dfu_bootloader() - - _on_log("Trigger sent — waiting for DFU device to appear (up to 30 s)…") + # Trigger from app mode when the device is reachable there. If it's + # already in DFU (ble_device is None, or the app-mode connect fails + # because a prior update was interrupted), skip the trigger and + # resume directly to the DFU flash — so a failed update can simply + # be retried without manual recovery (mirrors the EFR32 path below). + if ble_device is not None: + try: + _on_log("Connecting to trigger DFU bootloader…") + async with OpenDisplayDevice( + mac_address=self._ble_address, + ble_device=ble_device, + encryption_key=_get_encryption_key(self._entry), + ) as device: + await device.trigger_dfu_bootloader() + _on_log("Trigger sent — waiting for DFU device to appear (up to 30 s)…") + except BLEConnectionError as err: + _on_log( + f"App-mode connect failed ({err}); device is likely already " + "in DFU — looking for the DFU device directly." + ) + else: + _on_log( + "Device not advertising in app mode — assuming it is already in " + "DFU; looking for the DFU device directly." + ) + dfu_device = await find_nrf_dfu_device(self._ble_address) if dfu_device is None: raise HomeAssistantError( - "DFU device not found within 30 s after bootloader trigger. " - "Ensure the device is within BLE range and try again." + "DFU device not found within 30 s. Ensure the device is within " + "BLE range and try again." ) _on_log(f"Found DFU device at {dfu_device.address}") await perform_nrf_dfu( @@ -251,6 +288,7 @@ def _on_log(msg: str) -> None: except (OTAError, BLEConnectionError) as err: raise HomeAssistantError(f"Firmware update failed: {err}") from err finally: + self._installing = False self._attr_in_progress = False self.async_write_ha_state() From b633a711220d7b2e0e745bccb59333d64aa2f129 Mon Sep 17 00:00:00 2001 From: gabriel Date: Tue, 2 Jun 2026 18:45:51 +0200 Subject: [PATCH 35/65] feat: don't offer nRF firmware OTA install (proxy-unreliable) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nRF Legacy DFU over an ESPHome Bluetooth proxy is verifiably unreliable: the device receives the complete, CRC-valid image (validate succeeds) but the final activate/commit write fails over the proxy and strands it in the bootloader. The exact same flow commits + boots reliably over a direct connection (confirmed on a direct adapter, including a 10-minute transfer), so it's the proxy path — not the device, library, or firmware. HA OS is almost always proxy-only, so offering the install just bricks the tag into DFU and demands manual recovery. So only EFR32BG22 (Silabs AppLoader, which works over a proxy) offers OTA install now; nRF (and ESP) expose release-note visibility only. nRF firmware must be flashed over a direct connection / USB-UF2. Drops the now-unused nRF branch, resume-from-DFU, and imports from async_install. --- custom_components/opendisplay/update.py | 147 +++++++++--------------- 1 file changed, 53 insertions(+), 94 deletions(-) diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index 2d61249..2937aa1 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -11,7 +11,7 @@ from opendisplay.exceptions import BLEConnectionError, OTAError from opendisplay.models.enums import ICType from opendisplay.models.firmware import firmware_ota_asset, firmware_release_repo -from opendisplay.ota import find_nrf_dfu_device, perform_nrf_dfu, perform_silabs_ota +from opendisplay.ota import perform_silabs_ota from homeassistant.components.bluetooth import async_ble_device_from_address from homeassistant.components.update import ( @@ -38,8 +38,14 @@ _GITHUB_RELEASE = "https://api.github.com/repos/{repo}/releases/tags/{tag}" _GITHUB_HEADERS = {"Accept": "application/vnd.github+json"} -_NRF_IC_TYPES = {ICType.NRF52840, ICType.NRF52811} -_OTA_SUPPORTED_IC_TYPES = {ICType.NRF52840, ICType.NRF52811, ICType.EFR32BG22} +# BLE OTA install is only offered for ICs where it completes reliably over an +# ESPHome Bluetooth proxy — the usual HA OS path. EFR32BG22 (Silabs AppLoader) +# does. nRF Legacy DFU does NOT: verified end-to-end, the device receives the +# full, CRC-valid image but the final activate/commit write is unreliable over a +# proxy and strands the device in the bootloader (it works over a *direct* +# connection). So nRF firmware must be flashed directly / via USB-UF2, and OTA +# install is not offered for it here — only release-note visibility. +_OTA_INSTALL_IC_TYPES = {ICType.EFR32BG22} def _format_firmware_version(major: int, minor: int) -> str: @@ -91,7 +97,7 @@ def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: self._entry = entry self._installing = False - if ic_type in _OTA_SUPPORTED_IC_TYPES: + if ic_type in _OTA_INSTALL_IC_TYPES: self._attr_supported_features = ( UpdateEntityFeature.INSTALL | UpdateEntityFeature.PROGRESS @@ -104,8 +110,7 @@ def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: def available(self) -> bool: """Stay available while a firmware update is installing. - During an update the device leaves app mode — an nRF device even - re-advertises at a different address while in the bootloader — so the + During an update the device leaves app mode for the AppLoader, so the passive-BLE availability tracker would otherwise mark this entity unavailable mid-install and hide the progress, making a working update look like a silent failure. The install runs on its own BLE connection @@ -187,100 +192,54 @@ def _on_log(msg: str) -> None: ble_device = async_ble_device_from_address( self.hass, self._ble_address, connectable=True ) - # An nRF device already in DFU advertises at MAC+1, so its app-mode - # address resolves to None — that's expected and the nRF branch below - # resumes straight to the DFU flash. For other ICs a missing device - # genuinely means unreachable. - if ble_device is None and self._ic_type not in _NRF_IC_TYPES: + if ble_device is None: raise HomeAssistantError( "Device not reachable over Bluetooth; bring it within range and retry" ) - if self._ic_type in _NRF_IC_TYPES: - # Trigger from app mode when the device is reachable there. If it's - # already in DFU (ble_device is None, or the app-mode connect fails - # because a prior update was interrupted), skip the trigger and - # resume directly to the DFU flash — so a failed update can simply - # be retried without manual recovery (mirrors the EFR32 path below). - if ble_device is not None: - try: - _on_log("Connecting to trigger DFU bootloader…") - async with OpenDisplayDevice( - mac_address=self._ble_address, - ble_device=ble_device, - encryption_key=_get_encryption_key(self._entry), - ) as device: - await device.trigger_dfu_bootloader() - _on_log("Trigger sent — waiting for DFU device to appear (up to 30 s)…") - except BLEConnectionError as err: - _on_log( - f"App-mode connect failed ({err}); device is likely already " - "in DFU — looking for the DFU device directly." - ) - else: - _on_log( - "Device not advertising in app mode — assuming it is already in " - "DFU; looking for the DFU device directly." - ) - - dfu_device = await find_nrf_dfu_device(self._ble_address) - if dfu_device is None: - raise HomeAssistantError( - "DFU device not found within 30 s. Ensure the device is within " - "BLE range and try again." - ) - _on_log(f"Found DFU device at {dfu_device.address}") - await perform_nrf_dfu( - firmware_bytes, - dfu_device, - on_progress=_on_progress, - on_log=_on_log, + # Only EFR32BG22 (Silabs AppLoader) is flashed over BLE here — see + # _OTA_INSTALL_IC_TYPES. The device is either in app mode (and needs the + # DFU trigger) or already in the AppLoader at the same address (a + # previous OTA was interrupted, or it browned out before committing). + # Try to trigger from app mode, but tolerate the connect failing — then + # the device is already in the AppLoader and we flash it directly, so HA + # can recover a stuck device instead of failing hard. A stale proxy GATT + # cache from a prior interrupted OTA is handled at the connection layer: + # BLEConnection.connect() clears it and retries once. + try: + _on_log("Connecting to trigger DFU bootloader…") + async with OpenDisplayDevice( + mac_address=self._ble_address, + ble_device=ble_device, + encryption_key=_get_encryption_key(self._entry), + ) as device: + # Clear the (now fresh) app-mode GATT from the proxy cache so the + # post-reboot AppLoader connection re-discovers the OTA service + # instead of these app-firmware handles. + cleared = await device.clear_gatt_cache() + _on_log(f"Proxy GATT cache clear requested: {cleared}") + await device.trigger_dfu_bootloader() + except BLEConnectionError as err: + _on_log( + f"App-mode connect failed ({err}); device is likely already " + "in the AppLoader — attempting OTA directly." ) - else: - # EFR32BG22: the device is either in app mode (and needs the DFU - # trigger) or already in the AppLoader at the same address (e.g. a - # previous OTA was interrupted, or the device browned out before it - # could commit). Try to trigger from app mode, but tolerate the - # connect failing — in that case the device is already in the - # AppLoader and we flash it directly. This lets HA recover a device - # that's stuck in the bootloader instead of failing hard. A stale - # proxy GATT cache (from a prior interrupted OTA) is handled at the - # connection layer: BLEConnection.connect() clears the proxy cache - # and retries once when the expected service is missing. - try: - _on_log("Connecting to trigger DFU bootloader…") - async with OpenDisplayDevice( - mac_address=self._ble_address, - ble_device=ble_device, - encryption_key=_get_encryption_key(self._entry), - ) as device: - # Clear the (now fresh) app-mode GATT from the proxy cache so - # the post-reboot AppLoader connection re-discovers the OTA - # service instead of these app-firmware handles. - cleared = await device.clear_gatt_cache() - _on_log(f"Proxy GATT cache clear requested: {cleared}") - await device.trigger_dfu_bootloader() - except BLEConnectionError as err: - _on_log( - f"App-mode connect failed ({err}); device is likely already " - "in the AppLoader — attempting OTA directly." - ) - - # AppLoader advertises at the same address; perform_silabs_ota - # retries the connection internally until it is ready. - ota_device = async_ble_device_from_address( - self.hass, self._ble_address, connectable=True - ) - if ota_device is None: - raise HomeAssistantError( - "Device not reachable in OTA mode; bring it within range and retry" - ) - await perform_silabs_ota( - firmware_bytes, - ota_device, - on_progress=_on_progress, - on_log=_on_log, + + # AppLoader advertises at the same address; perform_silabs_ota retries + # the connection internally until it is ready. + ota_device = async_ble_device_from_address( + self.hass, self._ble_address, connectable=True + ) + if ota_device is None: + raise HomeAssistantError( + "Device not reachable in OTA mode; bring it within range and retry" ) + await perform_silabs_ota( + firmware_bytes, + ota_device, + on_progress=_on_progress, + on_log=_on_log, + ) self._attr_installed_version = tag _LOGGER.info("Firmware updated to %s", tag) From f9b61be08a65901b38e41da325fce17c7abcccf1 Mon Sep 17 00:00:00 2001 From: gabriel Date: Tue, 2 Jun 2026 20:38:21 +0200 Subject: [PATCH 36/65] chore: bump py-opendisplay --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 181206a..0cfcc2b 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay[nrf-ota]==7.6.0", "odl-renderer==0.5.9"], + "requirements": ["py-opendisplay[silabs-ota]==7.6.0", "odl-renderer==0.5.9"], "version": "3.0.0-beta.3" } From a30cd212fced02c4b5983246c69218d091fb3db4 Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 01:53:51 +0200 Subject: [PATCH 37/65] fix: accept legacy drawcustom field values from pre-3.0 configs The drawcustom service is now registered with a strict voluptuous schema, which rejected service calls written for the main-branch version: numeric dither/refresh_type values and removed keys (ttl, preload_type, preload_lut) all caused validation errors. - dither: accept legacy numeric values (0/1/2) alongside the new names; values map cleanly since DitherMode ints match the old scheme - refresh_type: switch to named values (full/fast) like upload_image, while still accepting legacy ints; legacy partial modes (2/3) fall back to fast since partial is not implemented yet - drop unknown legacy keys via extra=vol.REMOVE_EXTRA instead of erroring - give background and refresh_type a UI default of white/full so they show preselected (payload element formats were already unchanged) --- custom_components/opendisplay/services.py | 44 +++++++++++++++++++-- custom_components/opendisplay/services.yaml | 14 +++---- 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 665dc3e..127ff65 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -68,6 +68,41 @@ def validate(value: str) -> IntEnum: return validate +def _dither_value(value: Any) -> DitherMode: + """Accept new dither names ("ordered") and legacy numeric values (0/1/2...).""" + if isinstance(value, (int, float)) or ( + isinstance(value, str) and value.lstrip("-").isdigit() + ): + try: + return DitherMode(int(value)) + except ValueError as err: + raise vol.Invalid(f"Invalid dither value: {value}") from err + return _str_to_int_enum(DitherMode)(value) + + +def _refresh_type_value(value: Any) -> RefreshMode: + """Accept names ("full"/"fast") and legacy numeric values. + + `partial` is not implemented yet, so it is not offered and any partial-ish + input (legacy 2/3, or an explicit "partial") falls back to fast. + """ + if isinstance(value, (int, float)) or ( + isinstance(value, str) and value.lstrip("-").isdigit() + ): + n = int(value) + if n in (2, 3): # legacy partial / partial2 -> fast (partial not implemented) + return RefreshMode.FAST + try: + mode = RefreshMode(n) + except ValueError as err: + raise vol.Invalid(f"Invalid refresh_type: {value}") from err + else: + mode = _str_to_int_enum(RefreshMode)(value) + if mode is RefreshMode.PARTIAL: # reserved for the future, not implemented yet + return RefreshMode.FAST + return mode + + SCHEMA_UPLOAD_IMAGE = vol.Schema( { vol.Required(ATTR_DEVICE_ID): cv.string, @@ -95,10 +130,11 @@ def validate(value: str) -> IntEnum: vol.Required("payload"): list, vol.Optional("background", default="white"): cv.string, vol.Optional("rotate", default=0): vol.All(vol.Coerce(int), vol.In([0, 90, 180, 270])), - vol.Optional("dither", default="ordered"): _str_to_int_enum(DitherMode), - vol.Optional("refresh_type", default=0): vol.All(vol.Coerce(int), vol.In([0, 1])), + vol.Optional("dither", default="ordered"): _dither_value, + vol.Optional("refresh_type", default="full"): _refresh_type_value, vol.Optional("dry-run", default=False): cv.boolean, - } + }, + extra=vol.REMOVE_EXTRA, # silently drop legacy keys (ttl, preload_type, preload_lut, ...) ) @@ -527,7 +563,7 @@ async def _drawcustom_for_device( return dither_mode: DitherMode = call.data["dither"] - refresh_mode = RefreshMode.FAST if call.data["refresh_type"] == 1 else RefreshMode.FULL + refresh_mode: RefreshMode = call.data["refresh_type"] await _async_send_image( hass, diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index 0e3fd05..9db3771 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -259,6 +259,7 @@ drawcustom: name: Background color description: Background color required: true + default: "white" example: white selector: select: @@ -298,16 +299,15 @@ drawcustom: - "jarvis_judice_ninke" refresh_type: name: Refresh type - description: E-paper refresh mode (0=full, 1=fast) - required: false - default: "0" + description: E-paper refresh mode + required: true + default: "full" selector: select: + translation_key: refresh_mode options: - - label: "Full (best quality)" - value: "0" - - label: "Fast" - value: "1" + - "full" + - "fast" dry-run: name: Dry run description: Generate image without sending to device From ef918955c89a4a7bc2d77e3ecfc70c301584e038 Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 02:31:01 +0200 Subject: [PATCH 38/65] feat: accept a direct image URL in the upload_image service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The upload_image `image` field now accepts a plain http(s) URL alongside the existing media-source picker. This lets an automation push an already-rendered image by URL — e.g. a dashboard snapshot from the puppet add-on (http://homeassistant.local:10000/...) — without first routing it through a media source. --- custom_components/opendisplay/services.py | 37 +++++++++++++------ custom_components/opendisplay/strings.json | 5 ++- .../opendisplay/translations/en.json | 5 ++- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 127ff65..70c4d66 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -106,8 +106,8 @@ def _refresh_type_value(value: Any) -> RefreshMode: SCHEMA_UPLOAD_IMAGE = vol.Schema( { vol.Required(ATTR_DEVICE_ID): cv.string, - vol.Required(ATTR_IMAGE): MediaSelector( - MediaSelectorConfig(accept=["image/*"]) + vol.Required(ATTR_IMAGE): vol.Any( + cv.url, MediaSelector(MediaSelectorConfig(accept=["image/*"])) ), vol.Optional(ATTR_ROTATION, default=Rotation.ROTATE_0): vol.All( vol.Coerce(int), vol.Coerce(Rotation) @@ -348,7 +348,7 @@ async def _async_upload_image(call: ServiceCall) -> None: """Handle the upload_image service call.""" entry = _get_entry_for_device(call) - image_data: dict[str, Any] = call.data[ATTR_IMAGE] + image_data: dict[str, Any] | str = call.data[ATTR_IMAGE] rotation: Rotation = call.data[ATTR_ROTATION] dither_mode: DitherMode = call.data[ATTR_DITHER_MODE] refresh_mode: RefreshMode = call.data[ATTR_REFRESH_MODE] @@ -358,6 +358,17 @@ async def _async_upload_image(call: ServiceCall) -> None: tone_compression_pct / 100.0 if tone_compression_pct is not None else "auto" ) + # A plain URL (e.g. an automation pushing a rendered snapshot) must be + # explicitly allowlisted; media-source items are already trusted. + if isinstance(image_data, str) and not call.hass.config.is_allowed_external_url( + image_data + ): + raise ServiceValidationError( + translation_domain=DOMAIN, + translation_key="url_not_allowed", + translation_placeholders={"url": image_data}, + ) + current = asyncio.current_task() if (prev := entry.runtime_data.upload_task) is not None and not prev.done(): prev.cancel() @@ -367,16 +378,18 @@ async def _async_upload_image(call: ServiceCall) -> None: entry.runtime_data.upload_task = current try: - media = await async_resolve_media( - call.hass, image_data["media_content_id"], None - ) - - if media.path is not None: - pil_image = await call.hass.async_add_executor_job( - _load_image, str(media.path) - ) + if isinstance(image_data, str): + pil_image = await _async_download_image(call.hass, image_data) else: - pil_image = await _async_download_image(call.hass, media.url) + media = await async_resolve_media( + call.hass, image_data["media_content_id"], None + ) + if media.path is not None: + pil_image = await call.hass.async_add_executor_job( + _load_image, str(media.path) + ) + else: + pil_image = await _async_download_image(call.hass, media.url) await _async_send_image( call.hass, diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 0fc5e1e..66b5b10 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -125,6 +125,9 @@ }, "upload_error": { "message": "Failed to upload to the display: {error}" + }, + "url_not_allowed": { + "message": "URL `{url}` is not allowed. Add it to `allowlist_external_urls` in your configuration.yaml." } }, "selector": { @@ -173,7 +176,7 @@ "name": "Fit mode" }, "image": { - "description": "The image to upload to the display.", + "description": "The image to upload to the display. Pick a media item, or provide a direct image URL (the URL must be added to allowlist_external_urls).", "name": "Image" }, "refresh_mode": { diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index 2f4e853..ca55005 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -125,6 +125,9 @@ }, "upload_error": { "message": "Failed to upload to the display: {error}" + }, + "url_not_allowed": { + "message": "URL `{url}` is not allowed. Add it to `allowlist_external_urls` in your configuration.yaml." } }, "selector": { @@ -173,7 +176,7 @@ "name": "Fit mode" }, "image": { - "description": "The image to upload to the display.", + "description": "The image to upload to the display. Pick a media item, or provide a direct image URL (the URL must be added to allowlist_external_urls).", "name": "Image" }, "refresh_mode": { From cb32083745e4ef585bf3cefb87e76a4b5c5b2925 Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 03:11:46 +0200 Subject: [PATCH 39/65] chore: bump py-opendisplay --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 0cfcc2b..04e4440 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay[silabs-ota]==7.6.0", "odl-renderer==0.5.9"], + "requirements": ["py-opendisplay[silabs-ota]==7.7.0", "odl-renderer==0.5.9"], "version": "3.0.0-beta.3" } From 43bc0447f80e4d15e614922e4fd989747eb2e41e Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 14:34:55 +0200 Subject: [PATCH 40/65] feat: defer BLE connect until discovery is confirmed Don't interrogate newly discovered devices automatically; only connect when the user confirms, so flashing displays no longer requires powering down BLE proxies. --- custom_components/opendisplay/config_flow.py | 41 +++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/custom_components/opendisplay/config_flow.py b/custom_components/opendisplay/config_flow.py index 8715107..622723e 100644 --- a/custom_components/opendisplay/config_flow.py +++ b/custom_components/opendisplay/config_flow.py @@ -59,33 +59,36 @@ async def async_step_bluetooth( self._abort_if_unique_id_configured() self._discovery_info = discovery_info self.context["title_placeholders"] = {"name": discovery_info.name} - - try: - await self._async_test_connection(discovery_info.address) - except AuthenticationRequiredError: - return await self.async_step_encryption_key() - except OpenDisplayError: - return self.async_abort(reason="cannot_connect") - except Exception: - _LOGGER.exception("Unexpected error") - return self.async_abort(reason="unknown") - return await self.async_step_bluetooth_confirm() async def async_step_bluetooth_confirm( self, user_input: dict[str, Any] | None = None ) -> ConfigFlowResult: - """Confirm discovery.""" + """Confirm discovery and connect to the device.""" assert self._discovery_info is not None + errors: dict[str, str] = {} - if user_input is None: - self._set_confirm_only() - return self.async_show_form( - step_id="bluetooth_confirm", - description_placeholders=self.context["title_placeholders"], - ) + if user_input is not None: + try: + await self._async_test_connection(self._discovery_info.address) + except AuthenticationRequiredError: + return await self.async_step_encryption_key() + except OpenDisplayError: + errors["base"] = "cannot_connect" + except Exception: + _LOGGER.exception("Unexpected error") + errors["base"] = "unknown" + else: + return self.async_create_entry( + title=self._discovery_info.name, data={} + ) - return self.async_create_entry(title=self._discovery_info.name, data={}) + self._set_confirm_only() + return self.async_show_form( + step_id="bluetooth_confirm", + description_placeholders=self.context["title_placeholders"], + errors=errors, + ) async def async_step_user( self, user_input: dict[str, Any] | None = None From 2fad89dd80642566d485f78742bf6f8a89629669 Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 14:36:34 +0200 Subject: [PATCH 41/65] feat: drop board revision from hardware version --- custom_components/opendisplay/__init__.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 7b6a6d5..9485266 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -127,10 +127,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) manufacturer=manufacturer.manufacturer_name, model=f"{size} {color_scheme}", sw_version=f"{fw['major']}.{fw['minor']}", - hw_version=( - f"{manufacturer.board_type_name or manufacturer.board_type}" - f" rev. {manufacturer.board_revision}" - ) + hw_version=f"{manufacturer.board_type_name or manufacturer.board_type}" if is_flex else None, configuration_url="https://opendisplay.org/firmware/config/" From aa2db6072342ced5e31532878cc06b712eb83309 Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 15:59:51 +0200 Subject: [PATCH 42/65] chore: bump py-opendisplay to 7.8.0 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 04e4440..ee4a2da 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay[silabs-ota]==7.7.0", "odl-renderer==0.5.9"], + "requirements": ["py-opendisplay[silabs-ota]==7.8.0", "odl-renderer==0.5.9"], "version": "3.0.0-beta.3" } From e0bc08f24f3beb5a0618a122d15921440d99450a Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 15:59:51 +0200 Subject: [PATCH 43/65] feat: use per-device landing link for the Visit device button Set configuration_url to device.landing_url() (opendisplay.org/l/?...), the per-device deep link the firmware also renders as an on-screen QR code, instead of the generic config page. Closes #40. --- custom_components/opendisplay/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 9485266..4ec2f17 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -94,6 +94,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) ) as device: fw = await device.read_firmware_version() is_flex = device.is_flex + # Capture while connected: landing_url() reads the advertised name. + landing_url = device.landing_url() except (AuthenticationFailedError, AuthenticationRequiredError) as err: raise ConfigEntryAuthFailed( f"Encryption key rejected by OpenDisplay device: {err}" @@ -130,9 +132,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) hw_version=f"{manufacturer.board_type_name or manufacturer.board_type}" if is_flex else None, - configuration_url="https://opendisplay.org/firmware/config/" - if is_flex - else None, + configuration_url=landing_url, ) entry.runtime_data = OpenDisplayRuntimeData( From 7dfe66c2a58673a5f3999cf11627d1c404a45f43 Mon Sep 17 00:00:00 2001 From: gabriel Date: Wed, 3 Jun 2026 17:56:10 +0200 Subject: [PATCH 44/65] chore: bump version to 3.0.0-beta.4 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index ee4a2da..bba8e08 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -16,5 +16,5 @@ "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], "requirements": ["py-opendisplay[silabs-ota]==7.8.0", "odl-renderer==0.5.9"], - "version": "3.0.0-beta.3" + "version": "3.0.0-beta.4" } From 2b785d7a181bd73b228c72c59fafdd7cf8b2b54c Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 4 Jun 2026 17:19:51 +0200 Subject: [PATCH 45/65] feat: re-sync firmware/config when the device reboots Devices advertise a reboot flag (status byte bit 1) that is set on boot and cleared on the first BLE connection. The coordinator now detects the False -> True edge and reloads the config entry, which reconnects (clearing the flag), re-reads firmware + config, and rebuilds device info/platforms. The reload defers to any in-progress image upload so an unrelated reboot does not abort it. Reaction is wired via an async_subscribe_reboot() callback (mirroring homekit_controller's c# config-change subscription) to keep the coordinator free of ConfigEntry/runtime_data coupling. --- custom_components/opendisplay/__init__.py | 27 +++++++++++- custom_components/opendisplay/coordinator.py | 46 +++++++++++++++++++- 2 files changed, 71 insertions(+), 2 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 4ec2f17..2a0f998 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -18,7 +18,7 @@ from homeassistant.components.bluetooth import async_ble_device_from_address from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform -from homeassistant.core import HomeAssistant +from homeassistant.core import HomeAssistant, callback from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.helpers import config_validation as cv, device_registry as dr from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH @@ -147,6 +147,13 @@ async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) ) entry.async_on_unload(coordinator.async_start()) + @callback + def _schedule_reboot_reload() -> None: + """Re-read firmware/config after the device signals a reboot.""" + hass.async_create_task(_async_reload_after_reboot(hass, entry)) + + entry.async_on_unload(coordinator.async_subscribe_reboot(_schedule_reboot_reload)) + return True @@ -158,6 +165,24 @@ def _get_platforms(runtime_data: OpenDisplayRuntimeData) -> list[Platform]: return platforms +async def _async_reload_after_reboot( + hass: HomeAssistant, entry: OpenDisplayConfigEntry +) -> None: + """Re-read firmware/config after a device reboot by reloading the entry. + + Triggered by the coordinator when the advertised reboot flag goes + False -> True. Reloading re-runs async_setup_entry, which reconnects (clearing + the device's reboot flag), re-reads firmware + config, and rebuilds device + info and platforms. Defers until any in-progress image upload finishes so an + unrelated reboot detection does not abort the user's upload. + """ + runtime = entry.runtime_data + upload_task = runtime.upload_task if runtime is not None else None + if upload_task is not None and not upload_task.done(): + await asyncio.gather(upload_task, return_exceptions=True) + await hass.config_entries.async_reload(entry.entry_id) + + async def async_unload_entry( hass: HomeAssistant, entry: OpenDisplayConfigEntry ) -> bool: diff --git a/custom_components/opendisplay/coordinator.py b/custom_components/opendisplay/coordinator.py index cf3e465..ec743a0 100644 --- a/custom_components/opendisplay/coordinator.py +++ b/custom_components/opendisplay/coordinator.py @@ -20,7 +20,7 @@ from homeassistant.components.bluetooth.passive_update_coordinator import ( PassiveBluetoothDataUpdateCoordinator, ) -from homeassistant.core import HomeAssistant, callback +from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback _LOGGER: logging.Logger = logging.getLogger(__package__) @@ -52,6 +52,26 @@ def __init__(self, hass: HomeAssistant, address: str) -> None: self.data: OpenDisplayUpdate | None = None self._tracker: AdvertisementTracker = AdvertisementTracker() self.touch_trackers: list[TouchTracker] = [] + # Subscribers notified once when the advertised reboot flag goes + # False -> True (the device rebooted since we last talked to it). + self._reboot_callbacks: set[CALLBACK_TYPE] = set() + # Reboot-flag edge detection: the device sets the advertised reboot flag + # on boot and clears it on first connect. None until the first v1 advert. + self._last_reboot_flag: bool | None = None + + @callback + def async_subscribe_reboot(self, callback_: CALLBACK_TYPE) -> CALLBACK_TYPE: + """Subscribe to device reboots (advertised reboot flag False -> True). + + Returns an unsubscribe callback. + """ + self._reboot_callbacks.add(callback_) + + @callback + def _unsubscribe() -> None: + self._reboot_callbacks.discard(callback_) + + return _unsubscribe @callback def _async_handle_unavailable( @@ -88,6 +108,7 @@ def _async_handle_bluetooth_event( exc_info=True, ) else: + self._check_reboot_flag(advertisement) button_events = self._tracker.update(service_info.address, advertisement) touch_events: list[TouchChangeEvent] = [] for touch_tracker in self.touch_trackers: @@ -104,3 +125,26 @@ def _async_handle_bluetooth_event( ) super()._async_handle_bluetooth_event(service_info, change) + + @callback + def _check_reboot_flag(self, advertisement: AdvertisementData) -> None: + """Notify on a reboot, detected as a reboot-flag False -> True edge. + + The device sets the advertised reboot flag on boot and clears it on the + first BLE connection. We react only to a False -> True transition: the + initial observation (None -> True) is ignored because setup already + synced this boot, and a flag that stays True (True -> True, e.g. a device + that never clears it) is self-guarding and won't fire again. + """ + reboot_flag = advertisement.reboot_flag + if reboot_flag is None: + # Legacy advertisement: no reboot flag, leave previous state intact. + return + + previous = self._last_reboot_flag + self._last_reboot_flag = reboot_flag + + if reboot_flag and previous is False and self._reboot_callbacks: + _LOGGER.info("%s: Device rebooted since last connection", self.address) + for reboot_callback in list(self._reboot_callbacks): + reboot_callback() From e30e959f439d050aa28b187d1939593a4ced040f Mon Sep 17 00:00:00 2001 From: gabriel Date: Fri, 5 Jun 2026 00:14:37 +0200 Subject: [PATCH 46/65] feat: add reachability reason to device-not-found errors --- custom_components/opendisplay/__init__.py | 18 +++++++++++++++--- custom_components/opendisplay/services.py | 19 +++++++++++++++---- custom_components/opendisplay/strings.json | 5 ++++- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 2a0f998..3bfb97d 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -15,7 +15,11 @@ OpenDisplayError, ) -from homeassistant.components.bluetooth import async_ble_device_from_address +from homeassistant.components.bluetooth import ( + BluetoothReachabilityIntent, + async_address_reachability_diagnostics, + async_ble_device_from_address, +) from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform from homeassistant.core import HomeAssistant, callback @@ -83,9 +87,17 @@ async def async_setup_entry(hass: HomeAssistant, entry: OpenDisplayConfigEntry) ble_device = async_ble_device_from_address(hass, address, connectable=True) if ble_device is None: raise ConfigEntryNotReady( - f"Could not find OpenDisplay device with address {address}" + translation_domain=DOMAIN, + translation_key="device_not_found", + translation_placeholders={ + "address": address, + "reason": async_address_reachability_diagnostics( + hass, + address.upper(), + BluetoothReachabilityIntent.CONNECTION, + ), + }, ) - encryption_key = _get_encryption_key(entry) try: diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 70c4d66..80f1b03 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -29,7 +29,11 @@ from PIL import Image as PILImage, ImageOps import voluptuous as vol -from homeassistant.components.bluetooth import async_ble_device_from_address +from homeassistant.components.bluetooth import ( + BluetoothReachabilityIntent, + async_address_reachability_diagnostics, + async_ble_device_from_address, +) from homeassistant.components.http.auth import async_sign_path from homeassistant.components.media_source import async_resolve_media from homeassistant.config_entries import ConfigEntryState @@ -218,7 +222,7 @@ def _get_entry_for_device(call: ServiceCall) -> OpenDisplayConfigEntry: if entry is None or entry.state is not ConfigEntryState.LOADED: raise ServiceValidationError( translation_domain=DOMAIN, - translation_key="device_not_found", + translation_key="config_entry_not_found", translation_placeholders={"address": mac_address}, ) @@ -280,7 +284,14 @@ async def _async_connect_and_run( raise HomeAssistantError( translation_domain=DOMAIN, translation_key="device_not_found", - translation_placeholders={"address": address}, + translation_placeholders={ + "address": address, + "reason": async_address_reachability_diagnostics( + hass, + address.upper(), + BluetoothReachabilityIntent.CONNECTION, + ), + }, ) raw_key = entry.data.get(CONF_ENCRYPTION_KEY) @@ -478,7 +489,7 @@ def _get_entry_for_device_id( if entry is None or entry.state is not ConfigEntryState.LOADED: raise ServiceValidationError( translation_domain=DOMAIN, - translation_key="device_not_found", + translation_key="config_entry_not_found", translation_placeholders={"address": mac_address}, ) return entry diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 66b5b10..350d82b 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -102,8 +102,11 @@ "authentication_error": { "message": "Authentication failed. Please update the encryption key." }, + "config_entry_not_found": { + "message": "Config entry not found: `{address}`" + }, "device_not_found": { - "message": "Could not find Bluetooth device with address `{address}`." + "message": "Could not find Bluetooth device with address `{address}`. Reason: {reason}" }, "invalid_device_id": { "message": "Device `{device_id}` is not a valid OpenDisplay device." From 27f9afa32d0c90311c73cd2ffef56d68d63e1c96 Mon Sep 17 00:00:00 2001 From: gabriel Date: Fri, 5 Jun 2026 00:59:51 +0200 Subject: [PATCH 47/65] fix: correct drawcustom 90/270 rotation transposition Fixes #43 --- custom_components/opendisplay/services.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 80f1b03..daa1d74 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -565,9 +565,23 @@ async def _drawcustom_for_device( cs = display.color_scheme_enum color_scheme = cs if isinstance(cs, ColorScheme) else ColorScheme.from_value(cs) + rotate: int = call.data["rotate"] + # The payload is authored against the final on-screen orientation. The device + # applies (base + rotate) and fits the result to its native pixel grid, so when + # the effective rotation transposes the axes (90/270) we render the canvas + # transposed too. That keeps the device-side fit a 1:1 no-op instead of + # scaling/centering a mismatched-aspect image. Rotation itself is left to the + # device (consistent with the upload_image path) rather than rotating here. + base = display.rotation_enum + base_deg = base.value if isinstance(base, Rotation) else 0 + if (base_deg + rotate) % 360 in (90, 270): + gen_width, gen_height = display.pixel_height, display.pixel_width + else: + gen_width, gen_height = display.pixel_width, display.pixel_height + img = await generate_image( - width=display.pixel_width, - height=display.pixel_height, + width=gen_width, + height=gen_height, elements=call.data["payload"], background=call.data["background"], accent_color=color_scheme.accent_color, @@ -576,10 +590,6 @@ async def _drawcustom_for_device( font_dirs=_font_search_dirs(hass), ) - rotate: int = call.data["rotate"] - if rotate: - img = img.rotate(rotate, expand=True) - if call.data["dry-run"]: _LOGGER.info("Drawcustom dry run for device %s", device_id) jpeg = await hass.async_add_executor_job(_pil_to_jpeg, img) @@ -595,6 +605,7 @@ async def _drawcustom_for_device( img, dither_mode=dither_mode, refresh_mode=refresh_mode, + rotate=Rotation(rotate), ) From ec3a3d10583866170beac30b28fc6d9404ea63ab Mon Sep 17 00:00:00 2001 From: gabriel Date: Fri, 5 Jun 2026 17:17:50 +0200 Subject: [PATCH 48/65] chore: bump version to 3.0.0-beta.5 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index bba8e08..7c22cd8 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -16,5 +16,5 @@ "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], "requirements": ["py-opendisplay[silabs-ota]==7.8.0", "odl-renderer==0.5.9"], - "version": "3.0.0-beta.4" + "version": "3.0.0-beta.5" } From 3db87a5a8ebfe1e63ef22682b83cf40bd53d0431 Mon Sep 17 00:00:00 2001 From: David Lee Date: Sun, 14 Jun 2026 11:55:10 -0400 Subject: [PATCH 49/65] added tone_compression to services.yaml and services.py, mirroring image_upload. Tested. --- custom_components/opendisplay/services.py | 8 ++++++++ custom_components/opendisplay/services.yaml | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index daa1d74..6ca5651 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -136,6 +136,9 @@ def _refresh_type_value(value: Any) -> RefreshMode: vol.Optional("rotate", default=0): vol.All(vol.Coerce(int), vol.In([0, 90, 180, 270])), vol.Optional("dither", default="ordered"): _dither_value, vol.Optional("refresh_type", default="full"): _refresh_type_value, + vol.Optional(ATTR_TONE_COMPRESSION): vol.All( + vol.Coerce(float), vol.Range(min=0.0, max=100.0) + ), vol.Optional("dry-run", default=False): cv.boolean, }, extra=vol.REMOVE_EXTRA, # silently drop legacy keys (ttl, preload_type, preload_lut, ...) @@ -598,6 +601,10 @@ async def _drawcustom_for_device( dither_mode: DitherMode = call.data["dither"] refresh_mode: RefreshMode = call.data["refresh_type"] + tone_compression_pct: float | None = call.data.get(ATTR_TONE_COMPRESSION) + tone_compression: float | str = ( + tone_compression_pct / 100.0 if tone_compression_pct is not None else "auto" + ) await _async_send_image( hass, @@ -605,6 +612,7 @@ async def _drawcustom_for_device( img, dither_mode=dither_mode, refresh_mode=refresh_mode, + tone=tone_compression, rotate=Rotation(rotate), ) diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index 9db3771..de88a43 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -308,6 +308,17 @@ drawcustom: options: - "full" - "fast" + tone_compression: + name: Tone compression + description: Tone compression strength (0–100%). Omit to use automatic tone mapping. + required: false + selector: + number: + min: 0 + max: 100 + step: 1 + mode: slider + unit_of_measurement: "%" dry-run: name: Dry run description: Generate image without sending to device From 5bb2776ee3339bf43b825063210bb16650dec6bb Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 18 Jun 2026 23:07:01 +0200 Subject: [PATCH 50/65] feat: bump py-opendisplay to 7.9.0 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 7c22cd8..e1180d4 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay[silabs-ota]==7.8.0", "odl-renderer==0.5.9"], + "requirements": ["py-opendisplay[silabs-ota]==7.9.0", "odl-renderer==0.5.9"], "version": "3.0.0-beta.5" } From 33b68cc90666b1b8809f6baf59ee6420e7640567 Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 18 Jun 2026 23:08:38 +0200 Subject: [PATCH 51/65] chore: bump version to 3.0.0-beta.6 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index e1180d4..74cd12f 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -16,5 +16,5 @@ "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], "requirements": ["py-opendisplay[silabs-ota]==7.9.0", "odl-renderer==0.5.9"], - "version": "3.0.0-beta.5" + "version": "3.0.0-beta.6" } From 6aee85bf1f8861888e28b3f39617893c07262818 Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 25 Jun 2026 14:11:04 +0200 Subject: [PATCH 52/65] feat: support element rotation/mirror via odl-renderer 0.5.10 Bump odl-renderer to 0.5.10, which adds generic rotation, mirror and pivot fields on every element, plus lenient string coercion for `visible` (a templated "false" or empty string now hides an element). Restructure docs/drawcustom/supported_types.md to link the element/field reference to the odl-renderer README as the single source of truth instead of duplicating it (the stale tables predated the icon-anchor rewrite, font dirs, and the new transforms). Only integration-specific content remains: the service call, colors, fonts, entity-backed plots, and templating examples. --- custom_components/opendisplay/manifest.json | 2 +- docs/drawcustom/supported_types.md | 554 +++----------------- 2 files changed, 64 insertions(+), 492 deletions(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index 74cd12f..c527111 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay[silabs-ota]==7.9.0", "odl-renderer==0.5.9"], + "requirements": ["py-opendisplay[silabs-ota]==7.9.0", "odl-renderer==0.5.10"], "version": "3.0.0-beta.6" } diff --git a/docs/drawcustom/supported_types.md b/docs/drawcustom/supported_types.md index 926bd16..09462f3 100644 --- a/docs/drawcustom/supported_types.md +++ b/docs/drawcustom/supported_types.md @@ -2,23 +2,21 @@ With `drawcustom`, you can create an image in Home Assistant and send the rendered image to an OEPL AP. -## List of draw types -- [Debug Grid](#debug_grid) -- [Text](#text) -- [Multiline Text](#multiline-text) -- [Line](#line) -- [Rectangle](#rectangle) -- [Rectangle Pattern](#rectangle-pattern) -- [Polygon](#polygon) -- [Circle](#circle) -- [Ellipse](#ellipse) -- [Arc/ Pie Slice](#arc-pie-slice) -- [Icon](#icon) -- [Icon Sequence](#icon-sequence) -- [Download Image](#download-image) -- [QR Code](#qr-code) -- [Plot](#plot) -- [Progress Bar](#progress-bar) +> **Element reference lives in [odl-renderer](https://github.com/OpenDisplay/odl-renderer).** +> drawcustom renders the payload with the odl-renderer library, which owns every element +> type and shared field (`visible`, `rotation`, `mirror`, `pivot`, anchors, colors, +> coordinates). For the full, authoritative field reference see the +> [odl-renderer README](https://github.com/OpenDisplay/odl-renderer/blob/odl-renderer-v0.5.10/README.md). +> This page documents only what the Home Assistant integration adds on top: the service +> call, fonts, templating, and entity-backed plots. + +## Contents +- [Basic Usage](#basic-usage) +- [Service Options](#service-options) +- [Color Support](#color-support) +- [Font support](#font-support) +- [Element types](#element-types) +- [Plot (entity-backed)](#plot-entity-backed) - [Template Examples](#template-examples) ## Basic Usage @@ -187,446 +185,54 @@ Place fonts in /config/www/fonts/ or /media/fonts/ or provide absolute path. Falling back to default font. ``` -## Types - -### debug_grid -The `debug_grid` draw type overlays a grid on the image canvas to help with layout debugging. - -```yaml -- type: debug_grid -``` -| Parameter | Description | Required | Default | Notes | -|-------------------|--------------------------------------------|----------|--------------------|---------------------| -| `spacing` | Distance between grid lines | No | `20` | Pixels | -| `line_color` | Color of the grid lines | No | `black` | Any supported color | -| `dashed` | Whether to use dashed lines for the grid | No | `True` | `True`, `False` | -| `dash_length` | Length of dash segments (if dashed) | No | `2` | Pixels | -| `space_length` | Space between the dashes (if dashed) | No | `4` | Pixels | -| `show_labels` | Whether to label coordinates at grid lines | No | `True` | `True`, `False` | -| `label_step` | Frequency of labels (every Nth) grid line | No | `40` (2*`spacing`) | Pixels | -| `label_color` | Color of the coordinate labels | No | `black` | Any supported color | -| `label_font_size` | Font size for coordinate labels | No | `12` | Pixels | -| `font` | Font for labels | No | `ppb.ttf` | - | - -### text -Draws text. - -```yaml -- type: text - value: "Hello World!" - font: "/media/custom.ttf" - x: 0 - y: 0 - size: 40 - color: red -``` - -| Parameter | Description | Required | Default | Notes | -|----------------|--------------------------------------|----------|--------------------------------|-------------------------------------------------------------------------------------------| -| `value` | Text to display | Yes | - | String | -| `x` | X position | Yes | - | Pixels or percentage | -| `y` | Y position | No | Last text position + y_padding | Pixels or percentage | -| `size` | Font size | No | `20` | Pixels | -| `font` | Font file name | No | `ppb.ttf` | Available fonts: `ppb.ttf`, `rbm.ttf`, or custom | -| `color` | Text color | No | `black` | `black`, `white`, `red`,`yellow` | -| `anchor` | Text anchor point | No | `lt` (left-top) | [Pillow text anchors](https://pillow.readthedocs.io/en/stable/handbook/text-anchors.html) | -| `max_width` | Maximum text width before wrapping | No | - | Pixels or percentage | -| `spacing` | Line spacing for wrapped text | No | `5` | Pixels | -| `stroke_width` | Outline width | No | `0` | Pixels | -| `stroke_fill` | Outline color | No | `white` | `white`, `black`, `accent`, `red`, `yellow` | -| `y_padding` | Vertical offset when y not specified | No | `10` | Pixels | -| `visible` | Show/hide element | No | `true` | `true`, `false` | -| `parse_colors` | Enable color markup in text | No | false | Enables `[color]text[/color]` syntax | -| `truncate` | Truncate text if exceeds max_width | No | false | Adds ellipsis (...) when truncating | -### Inline Color Markup - -Text elements support inline color markup when `parse_colors` is enabled. This allows different parts of the text to be rendered in different colors without needing to create multiple text elements. - -| Parameter | Description | Required | Default | Notes | -|----------------|-----------------------------|----------|---------|-------------------------------------------------| -| `parse_colors` | Enable color markup parsing | No | `false` | Set to `true` to enable color markup processing | - -Color markup syntax: -``` -[color]text[/color] -``` - -Available colors: -- `black` - Black text -- `white` - White text -- `red` - Red text (for red displays) -- `yellow` - Yellow text (for yellow displays) -- `accent` - Uses the display's accent color (red or yellow depending on hardware) - -Examples: -```yaml -# Simple colored text -- type: text - value: "Temperature: [red]25°C[/red]" - x: 10 - y: 10 - parse_colors: true - -# Multiple colors -- type: text - value: "[black]Current[/black] temp: [accent]25°C[/accent]" - x: 10 - y: 40 - parse_colors: true - -# With Home Assistant templates -- type: text - value: "Status: [{{ 'accent' if is_state('binary_sensor.door', 'on') else 'black' }}]{{ states('binary_sensor.door') }}[/{{ 'accent' if is_state('binary_sensor.door', 'on') else 'black' }}]" - x: 10 - y: 70 - parse_colors: true -``` - -Notes: -- Color markup only works when `parse_colors: true` is set -- Without `parse_colors: true`, markup characters are treated as literal text -- Works with Home Assistant templates -- The `accent` color automatically adapts to the display type (red or yellow) - -#### Multiline Text with parse_colors - -When `parse_colors` is enabled, text elements support newline characters (`\n`) for creating multi-line colored text: - -```yaml -- type: text - value: "Line 1\n[red]Red Line 2[/red]\n[yellow]Yellow Line 3[/yellow]" - x: "50%" - y: "50%" - font: "ppb.ttf" - size: 24 - parse_colors: true - anchor: "mm" -``` -Anchor Behavior with Multiline Colored Text: - - Anchors apply to the entire text block (all lines together) - - For example, anchor: "mm" centers the entire block at the specified coordinates - - Line spacing is controlled by the spacing parameter - - Each line respects the align parameter (left, center, right) - -### Multiline Text -Splits text into multiple lines based on a delimiter. - -```yaml -- type: multiline - value: "Line 1|Line 2|Line 3" - delimiter: "|" - font: "ppb.ttf" - x: 0 - offset_y: 50 - size: 40 - color: black -``` - -| Parameter | Description | Required | Default | Notes | -|-------------|--------------------------------|----------|---------------------------|---------------------------------------------| -| `value` | Text with delimiters | Yes | - | String | -| `delimiter` | Character to split text | Yes | - | Single character | -| `x` | X position | Yes | - | Pixels or percentage | -| `offset_y` | Vertical spacing between lines | Yes | - | Pixels | -| `y` | Starting Y position | No | Last position + y_padding | Pixels or percentage | -| `size` | Font size | No | `20` | Pixels | -| `font` | Font file name | No | `ppb.ttf` | Available fonts: `ppb.ttf`, `rbm.ttf` | -| `color` | Text color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `spacing` | Additional line spacing | No | `0` | Pixels | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -### Inline Color Markup - -Multiline elements support inline color markup when `parse_colors` is enabled. This allows different parts of the text to be rendered in different colors without needing to create multiple text elements. - -**Important Limitation:** Color tags must be complete within each delimiter-separated segment. Color tags **cannot span across delimiters**. - -### Line -Draws a straight line. - -```yaml -- type: line - x_start: 20 - x_end: 380 - y_start: 15 - y_end: 15 - width: 1 - fill: red -``` - -| Parameter | Description | Required | Default | Notes | -|----------------|--------------------------------------|----------|-----------------|---------------------------------------------| -| `x_start` | Starting X position | Yes | - | Pixels or percentage | -| `x_end` | Ending X position | Yes | - | Pixels or percentage | -| `y_start` | Starting Y position | No | Auto-positioned | Pixels or percentage | -| `y_end` | Ending Y position | No | `y_start` | Pixels or percentage | -| `fill` | Line color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `width` | Line thickness | No | `1` | Pixels | -| `y_padding` | Vertical offset when auto-positioned | No | `0` | Pixels | -| `dashed` | Enable dashed line behaviour | No | `False` | `False`, `True` | -| `dash_length` | Length of dashes | No | 5 | Pixels | -| `space_length` | Length of spaces between dashes | No | 3 | Pixels | -| `visible` | Show/hide element | No | `True` | `True`, `False` | - -### Rectangle -Draws a rectangle with optional rounded corners. - -```yaml -- type: rectangle - x_start: 20 - x_end: 80 - y_start: 15 - y_end: 30 - width: 2 - fill: red - outline: black -``` - -| Parameter | Description | Required | Default | Notes | -|-----------|------------------------|----------|---------|------------------------------------------------------------------------------------------| -| `x_start` | Left position | Yes | - | Pixels or percentage | -| `x_end` | Right position | Yes | - | Pixels or percentage | -| `y_start` | Top position | Yes | - | Pixels or percentage | -| `y_end` | Bottom position | Yes | - | Pixels or percentage | -| `fill` | Fill color | No | `null` | `white`, `black`, `accent`, `red`, `yellow` `null` | -| `outline` | Border color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `width` | Border thickness | No | `1` | Pixels | -| `radius` | Corner radius | No | `0` | Pixels | -| `corners` | Which corners to round | No | `all` | `all` or comma-separated list of: `top_left`, `top_right`, `bottom_left`, `bottom_right` | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -### Rectangle Pattern -Draws repeated rectangles in a grid pattern. - -```yaml - - type: rectangle_pattern - x_start: 5 - x_size: 35 - x_offset: 10 - y_start: 28 - y_size: 18 - y_offset: 2 - fill: white - outline: red - width: 1 - x_repeat: 1 - y_repeat: 4 -``` - -| Parameter | Description | Required | Default | Notes | -|------------|------------------------------|----------|---------|------------------------------------------------------| -| `x_start` | Starting X position | Yes | - | Pixels or percentage | -| `x_size` | Width of each rectangle | Yes | - | Pixels | -| `x_offset` | Horizontal spacing | Yes | - | Pixels | -| `y_start` | Starting Y position | Yes | - | Pixels or percentage | -| `y_size` | Height of each rectangle | Yes | - | Pixels | -| `y_offset` | Vertical spacing | Yes | - | Pixels | -| `x_repeat` | Number of horizontal repeats | Yes | - | Integer | -| `y_repeat` | Number of vertical repeats | Yes | - | Integer | -| `fill` | Fill color | No | `null` | `white`, `black`, `accent`, `red`, `yellow`, `null` | -| `outline` | Border color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `width` | Border thickness | No | `1` | Pixels | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -### Polygon - -Draws a filled or outlined polygon based on the provided points. - -```yaml -- type: polygon - points: [[10, 10], [50, 10], [50, 50], [10, 50]] - fill: "red" - outline: "black" -``` - -| Parameter | Description | Required | Default | Notes | -|-----------|------------------------------------------|----------|---------|--------------------------| -| `points` | List of coordinate pairs for the polygon | Yes | - | Example: [[x1, y1], ...] | -| `fill` | Fill color for the polygon | No | `none` | Any supported color | -| `outline` | Outline color for the polygon | No | `black` | Any supported color | -| `width` | Width of the outline | No | `1` | Pixels | - - -### Circle -Draws a circle around a center point. - -```yaml -- type: circle - x: 50 - y: 50 - radius: 20 -``` - -| Parameter | Description | Required | Default | Notes | -|-----------|-------------------|----------|---------|------------------------------------------------------| -| `x` | Center X position | Yes | - | Pixels or percentage | -| `y` | Center Y position | Yes | - | Pixels or percentage | -| `radius` | Circle radius | Yes | - | Pixels | -| `fill` | Fill color | No | `null` | `white`, `black`, `accent`, `red`, `yellow` , `null` | -| `outline` | Border color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `width` | Border thickness | No | `1` | Pixels | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -### Ellipse -Draws an ellipse inside the bounding box. - -```yaml -- type: ellipse - x_start: 50 - x_end: 100 - y_start: 50 - y_end: 100 -``` - -| Parameter | Description | Required | Default | Notes | -|-----------|-------------------|----------|---------|-----------------------------------------------------| -| `x_start` | Left position | Yes | - | Pixels or percentage | -| `x_end` | Right position | Yes | - | Pixels or percentage | -| `y_start` | Top position | Yes | - | Pixels or percentage | -| `y_end` | Bottom position | Yes | - | Pixels or percentage | -| `fill` | Fill color | No | `null` | `white`, `black`, `accent`, `red`, `yellow` `null` | -| `outline` | Border color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `width` | Border thickness | No | `1` | Pixels | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -### Arc/ Pie Slice -Draws an arc (outline-only) or a pie slice (filled) based on the specified center, radius, and angles. -```yaml -- type: arc - x: 100 - y: 75 - radius: 50 - start_angle: 0 - end_angle: 90 - fill: red -- type: arc - x: 100 - y: 75 - radius: 50 - start_angle: 90 - end_angle: 0 -``` -| Parameter | Description | Required | Default | Notes | -|---------------|--------------------------------------|----------|---------|-----------------------------| -| `x` | X coordinate of the center | Yes | - | Pixels or percentage | -| `y` | Y coordinate of the center | Yes | - | Pixels or percentage | -| `radius` | Radius of the arc or pie slice | Yes | - | Pixels | -| `start_angle` | Starting angle of the arc | Yes | - | 0 degrees = right | -| `end_angle` | Ending angle af the arc | Yes | - | Clockwise direction | -| `fill` | Foll color for the pie slices | No | `none` | Use to make a pie slice | -| `outline` | Outline color for arcs or pie slices | No | `black` | | -| `width` | Width of the outline | No | `1` | Ignored if fill is provided | - - -### Icon -Draws Material Design Icons. - -```yaml -- type: icon - value: "account-cowboy-hat" - x: 60 - y: 120 - size: 120 - color: red -``` - -| Parameter | Description | Required | Default | Notes | -|-----------|-------------------|----------|---------|----------------------------------------------------------------------| -| `value` | Icon name | Yes | - | From [Material Design Icons](https://pictogrammers.com/library/mdi/) | -| `x` | X position | Yes | - | Pixels or percentage | -| `y` | Y position | Yes | - | Pixels or percentage | -| `size` | Icon size | Yes | - | Pixels | -| `fill` | Icon color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `anchor` | Icon anchor point | No | `la` | See text anchors | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -Note: Icon name can be prefixed with `mdi:` (e.g., `mdi:account-cowboy-hat`) - -### Icon Sequence -Draws multiple Material Design Icons in a sequence with specified direction and spacing. - -```yaml -- type: icon_sequence - x: 10 - y: 10 - icons: - - mdi:home - - mdi:arrow-right - - mdi:office-building - size: 24 - direction: right -``` - -| Parameter | Description | Required | Default | Notes | -|----------------|-----------------------|----------|---------|----------------------------------------------------------------------| -| `x` | X position | Yes | - | Pixels or percentage | -| `y` | Y position | Yes | - | Pixels or percentage | -| `icons` | List of icon names | Yes | - | From [Material Design Icons](https://pictogrammers.com/library/mdi/) | -| `size` | Size of each icon | Yes | - | Pixels | -| `direction` | Direction of sequence | No | `right` | `right`, `left`, `up`, `down` | -| `spacing` | Space between icons | No | size/4 | Pixels | -| `fill` | Icon color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `anchor` | Icon anchor point | No | `la` | See text anchors | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - - -### Download Image -Downloads and displays an image from a URL. - -```yaml -- type: dlimg - url: "https://upload.wikimedia.org/wikipedia/en/9/9a/Trollface_non-free.png" - x: 10 - y: 10 - xsize: 120 - ysize: 120 - rotate: 0 -``` - -| Parameter | Description | Required | Default | Notes | -|-----------------|-------------------|----------|-----------|-------------------------------------------------------------| -| `url` | Image URL or path | Yes | - | HTTP/HTTPS URL, Data URI, local path or camera/image entity | -| `x` | X position | Yes | - | Pixels | -| `y` | Y position | Yes | - | Pixels | -| `xsize` | Target width | Yes | - | Pixels | -| `ysize` | Target height | Yes | - | Pixels | -| `resize_method` | Resizing method | No | `stretch` | `stretch`, `crop`, `cover`, `contain` | -| `rotate` | Rotation angle | No | `0` | Degrees | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -Notes: -- Local images must be in `/config/media/` -- Data URIs supported (e.g., `data:image/gif;base64,...`) -- External images must be publicly accessible -- Camera entities (e.g. `camera.p1s_camera`) must have a `entity_picture` attribute - -### QR Code -Generates and displays a QR code. - -```yaml -- type: qrcode - data: "https://www.youtube.com/watch?v=dQw4w9WgXcQ" - x: 140 - y: 50 - boxsize: 2 - border: 2 - color: "black" - bgcolor: "white" -``` - -| Parameter | Description | Required | Default | Notes | -|-----------|----------------------|----------|---------|---------------------------------------------| -| `data` | Content to encode | Yes | - | String | -| `x` | X position | Yes | - | Pixels or percentage | -| `y` | Y position | Yes | - | Pixels or percentage | -| `boxsize` | Size of each QR box | No | `2` | Pixels | -| `border` | QR code border width | No | `1` | Units | -| `color` | QR code color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `bgcolor` | Background color | No | `white` | `white`, `black`, `accent`, `red`, `yellow` | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - -### Plot -Renders historical data from Home Assistant entities as a line plot. +## Element types + +The payload is a list of drawing elements rendered by +[odl-renderer](https://github.com/OpenDisplay/odl-renderer). The integration passes +your elements through unchanged and additionally expands Home Assistant templates in +field values, resolves entity-backed data for [plots](#plot-entity-backed), and maps +colors / applies dithering for the target display. + +For the **complete field reference of every element type and the shared fields**, see +the **[odl-renderer README](https://github.com/OpenDisplay/odl-renderer/blob/odl-renderer-v0.5.10/README.md)**. +This integration pins the odl-renderer version in `manifest.json`; the link above points +at the matching tag. + + + +| Type | Purpose | +|------|---------| +| `text` | Single-line text with wrapping, truncation, stroke, inline color markup | +| `multiline` | Fixed-line text split by a delimiter | +| `line` | Straight line | +| `rectangle` | Rectangle (filled / outlined) | +| `rectangle_pattern` | Repeated grid of rectangles | +| `polygon` | Arbitrary polygon | +| `circle` | Circle | +| `ellipse` | Ellipse | +| `arc` | Arc / pie slice | +| `icon` | Material Design Icon | +| `icon_sequence` | Row of icons | +| `dlimg` | Downloaded / embedded image | +| `qrcode` | QR code | +| `plot` | Line plot of Home Assistant history (see [Plot](#plot-entity-backed)) | +| `progress_bar` | Progress bar with optional percentage text | +| `debug_grid` | Coordinate grid overlay for layout debugging | + +Shared fields available on **every** element include `visible` (a templated `"false"` +or empty string hides it), `rotation` (degrees, positive = clockwise) and `mirror` +(`h` / `v` / `hv`) with an optional `pivot`, plus +[anchors](https://github.com/OpenDisplay/odl-renderer/blob/odl-renderer-v0.5.10/README.md#anchors), +colors and percentage coordinates — all documented in the odl-renderer README. + +> **Plots are different here.** odl-renderer's `plot` takes raw data points; this +> integration instead lets you reference Home Assistant entities and a time range and +> fetches the history for you. Those entity-backed options are documented below. + +## Plot (entity-backed) +Renders historical data from Home Assistant entities as a line plot. This is the one +element whose configuration is integration-specific: you reference entities and a time +range, and the integration fetches the history and feeds raw points to odl-renderer. ```yaml - type: plot @@ -855,40 +461,6 @@ xaxis: value_scale: 1.0 ``` -### Progress Bar -Displays a progress bar with optional percentage text. - -```yaml -- type: progress_bar - x_start: 10 - y_start: 10 - x_end: 280 - y_end: 30 - fill: red - outline: black - width: 1 - progress: 42 - direction: right - show_percentage: true - font: "ppb.ttf" -``` - -| Parameter | Description | Required | Default | Notes | -|-------------------|---------------------------|----------|-----------|---------------------------------------------| -| `x_start` | Left position | Yes | - | Pixels or percentage | -| `y_start` | Top position | Yes | - | Pixels or percentage | -| `x_end` | Right position | Yes | - | Pixels or percentage | -| `y_end` | Bottom position | Yes | - | Pixels or percentage | -| `progress` | Progress value | Yes | - | 0-100 (clamped) | -| `direction` | Fill direction | No | `right` | `right`, `left`, `up`, `down` | -| `background` | Background color | No | `white` | `white`, `black`, `accent`, `red`, `yellow` | -| `fill` | Progress bar color | No | `red` | `white`, `black`, `accent`, `red`, `yellow` | -| `outline` | Border color | No | `black` | `white`, `black`, `accent`, `red`, `yellow` | -| `width` | Border thickness | No | `1` | Pixels | -| `show_percentage` | Show percentage text | No | `false` | `true`, `false` | -| `font` | Percentage text font | No | `ppb.ttf` | Font name | -| `visible` | Show/hide element | No | `true` | `true`, `false` | - ## Template Examples Basic state display: From 34576e806edb3683d3e2b7b40a23c809ef554787 Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 25 Jun 2026 14:25:17 +0200 Subject: [PATCH 53/65] docs: use OpenDisplay device terminology in drawcustom docs Replace leftover OpenEPaperLink-era wording (OEPL AP, ESL, tag) with OpenDisplay device terminology, matching the 3.0 rewrite which targets OpenDisplay BLE devices directly. --- docs/drawcustom/supported_types.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/drawcustom/supported_types.md b/docs/drawcustom/supported_types.md index 09462f3..97e21df 100644 --- a/docs/drawcustom/supported_types.md +++ b/docs/drawcustom/supported_types.md @@ -1,6 +1,6 @@ # drawcustom -With `drawcustom`, you can create an image in Home Assistant and send the rendered image to an OEPL AP. +With `drawcustom`, you can create an image in Home Assistant and send the rendered image to an OpenDisplay device. > **Element reference lives in [odl-renderer](https://github.com/OpenDisplay/odl-renderer).** > drawcustom renders the payload with the odl-renderer library, which owns every element @@ -21,7 +21,7 @@ With `drawcustom`, you can create an image in Home Assistant and send the render ## Basic Usage -ESLs come in multiple variants - red and yellow are the most common accent colors. The following options are available: +OpenDisplay devices come in multiple variants - red and yellow are the most common accent colors. The following options are available: The payload is a list of drawing elements that define what to display. Each element must specify its type and required properties. The elements are drawn in order from first to last. @@ -62,16 +62,16 @@ Example payload: # Color Support -ESLs predominantly come in two variants: red and yellow accent colors (tags with more also exist). You can specify colors in several ways: +OpenDisplay devices predominantly come in two variants: red and yellow accent colors (devices with more also exist). You can specify colors in several ways: - Using explicit colors: `"black"`, `"white"`, `"red"`, `"yellow"` - Using halftone colors (set `dither=2`): `"half_black"` (or `"gray"`, `"grey"`, `"half_white"`), `"half_red"`, `"half_yellow"` - Using single letter shortcuts: `"b"` (black), `"w"` (white), `"r"` (red), `"y"` (yellow) - Using halftone shortcuts: `"hb"`, `"hw"` (50% black/gray), `"hr"` (50% red), `"hy"` (50% yellow) -- Using `"accent"`, `"a"`, `"half_accent"`, or `"ha"` to automatically use the tag's accent color (red or yellow depending on the hardware) +- Using `"accent"`, `"a"`, `"half_accent"`, or `"ha"` to automatically use the display's accent color (red or yellow depending on the hardware) - Using hex colors: `"#RGB"` or `"#RRGGBB"` (e.g., `"#F00"` or `"#FF0000"` for red) -Example payload adapting to tag color: +Example payload adapting to display color: ```yaml - type: text value: Hello World! @@ -79,7 +79,7 @@ Example payload adapting to tag color: x: 0 y: 0 size: 40 - color: accent # Will be red or yellow depending on the tag + color: accent # Will be red or yellow depending on the display ``` ## Color Support by Element Type @@ -93,7 +93,7 @@ All elements that support colors (text, shapes, icons, etc.) accept the followin | `outline` | Outline/border color | `white`, `black`, `accent`, `red`, `yellow`, `#RRGGBB` | | `background` | Background color (when applicable) | `white`, `black`, `accent`, `red`, `yellow`, `#RRGGBB` | -Using `"accent"` is recommended for portable scripts that should work with both red and yellow tags. +Using `"accent"` is recommended for portable scripts that should work with both red and yellow devices. # Font support From dfbe62405455b10029522d70c4491f354c4e907a Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 25 Jun 2026 14:29:26 +0200 Subject: [PATCH 54/65] docs: update drawcustom service options to match the 3.0 schema Sync the Service Options table with SCHEMA_DRAWCUSTOM / services.yaml: add refresh_type, tone_compression and the target selector; correct dither to the named modes (default "ordered"); document rotate's allowed values; drop the removed ttl option (legacy keys are still accepted but ignored). --- docs/drawcustom/supported_types.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/docs/drawcustom/supported_types.md b/docs/drawcustom/supported_types.md index 97e21df..1124fa0 100644 --- a/docs/drawcustom/supported_types.md +++ b/docs/drawcustom/supported_types.md @@ -44,20 +44,21 @@ Example payload: ### Service Options -| Option | Description | Default | -|--------------|---------------------------------|---------| -| `payload` | List of drawing elements (YAML) | - | -| `background` | Background color | white | -| `rotate` | Rotation of image | 0 | -| `dither` | Dithering (see table below) | 2 | -| `ttl` | Cache time in seconds | 60 | -| `dry-run` | Generate without sending | false | - -| Dither | Description | -|--------|-------------------------------------------------------| -| `0` | No dithering | -| `1` | Floyd-Steinberg dithering (best for photos) | -| `2` | Ordered dithering (default, best for halftone colors) | +The service targets one or more OpenDisplay devices via the standard Home Assistant +**target** selector (devices, areas, or labels). The following data fields are available: + +| Option | Description | Default | Values | +|--------------------|------------------------------------------|-----------|-----------------------------------------------------------------------------------------------------------| +| `payload` | List of drawing elements (required) | — | See [Element types](#element-types) | +| `background` | Background color | `white` | `white`, `black`, `accent`, `red`, `yellow` | +| `rotate` | Rotation of the whole image, in degrees | `0` | `0`, `90`, `180`, `270` | +| `dither` | Dithering algorithm | `ordered` | `none`, `burkes`, `ordered`, `floyd_steinberg`, `atkinson`, `stucki`, `sierra`, `sierra_lite`, `jarvis_judice_ninke` | +| `refresh_type` | E-paper refresh mode | `full` | `full`, `fast` | +| `tone_compression` | Tone compression strength (%) | automatic | `0`–`100`; omit for automatic tone mapping | +| `dry-run` | Generate the image without sending it | `false` | `true`, `false` | + +> Legacy numeric `dither` values (`0`/`1`/`2`, …) and other pre-3.0 keys (e.g. `ttl`) +> are still accepted for backward compatibility — unknown keys are ignored. # Color Support From 74fbb782bbec32ddd2c03470637341efc083f85d Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 25 Jun 2026 14:33:45 +0200 Subject: [PATCH 55/65] docs: fix font handling and dither references for 3.0 Rewrite the Font support section to match 3.0: the search dirs are /config/www/fonts, /config/media/fonts and /media/fonts (per _font_search_dirs); default fonts are bundled with odl-renderer. Remove the 'configure custom font directories' section and the imagegen assets path, both dropped in the rewrite. Also correct the halftone-color note to use the named dither modes instead of the legacy dither=2. --- docs/drawcustom/supported_types.md | 51 +++++++++++------------------- 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/docs/drawcustom/supported_types.md b/docs/drawcustom/supported_types.md index 1124fa0..9077158 100644 --- a/docs/drawcustom/supported_types.md +++ b/docs/drawcustom/supported_types.md @@ -66,7 +66,7 @@ The service targets one or more OpenDisplay devices via the standard Home Assist OpenDisplay devices predominantly come in two variants: red and yellow accent colors (devices with more also exist). You can specify colors in several ways: - Using explicit colors: `"black"`, `"white"`, `"red"`, `"yellow"` -- Using halftone colors (set `dither=2`): `"half_black"` (or `"gray"`, `"grey"`, `"half_white"`), `"half_red"`, `"half_yellow"` +- Using halftone colors (requires a dithering mode, e.g. the default `dither: ordered`): `"half_black"` (or `"gray"`, `"grey"`, `"half_white"`), `"half_red"`, `"half_yellow"` - Using single letter shortcuts: `"b"` (black), `"w"` (white), `"r"` (red), `"y"` (yellow) - Using halftone shortcuts: `"hb"`, `"hw"` (50% black/gray), `"hr"` (50% red), `"hy"` (50% yellow) - Using `"accent"`, `"a"`, `"half_accent"`, or `"ha"` to automatically use the display's accent color (red or yellow depending on the hardware) @@ -127,24 +127,29 @@ Custom fonts are supported for text elements. The integration provides several w ### Font locations -The integration searches for fonts in these locations in order: +A font referenced by filename (e.g. `font: "CustomFont.ttf"`) is searched for in these +directories, in order: -1. **Custom font directories** (configured in the integration options) -2. **Integration assets directory** (`custom_components/opendisplay/imagegen/assets`) - contains default fonts (`ppb.ttf`, `rbm.ttf`) -3. **Web directory** - (`/config/www/fonts/`) -4. **Media directory** - (`/media/fonts/`) +1. `/config/www/fonts/` +2. `/config/media/fonts/` +3. `/media/fonts/` -> **Note:** The `/config/www/fonts/` and `/media/fonts/` directories do not exist by default. You'll need to create them if you want to use them. +The built-in fonts `ppb.ttf` and `rbm.ttf` are bundled with odl-renderer and always +available, and absolute paths (e.g. `font: "/media/GothamBold-Rnd.ttf"`) are used +directly — neither needs any of the directories above. + +> **Note:** none of these directories exist by default. Create the one you want to use. #### Setting Up Font Directories To create the standard font directories: ```bash -# Create the www/fonts directory +# Under your Home Assistant config directory mkdir -p /config/www/fonts +mkdir -p /config/media/fonts -# Create the media/fonts directory +# Or the top-level media directory mkdir -p /media/fonts ``` @@ -155,36 +160,16 @@ You can access these directories: ### Default fonts -The integration provides two default fonts: +Two default fonts are bundled with odl-renderer and always available: - `ppb.ttf` - `rbm.ttf` -These are always available and will be used as fallbacks if specified fonts cannot be found. - -### Configuring custom font directories - -You can add custom font directories in the integrations configuration: - -1. Go to **Settings** → **Devices & Services** -2. Find the OpenDisplay integration and click **Configure** -3. Enter custom font directories, separated by semicolons (must be absolute paths) - ``` - /config/custom/fonts;/usr/share/fonts;/home/homeassistant/fonts - ``` -4. Click **Submit** +They are used as the fallback when a specified font cannot be found. ### Font not found -If a font can't be found, the integration: -1. Logs a warning message -2. Falls back to the default `ppb.ttf` font - -Check the Home Assistant logs for messages like: -``` -Font 'myfont.ttf' not found in any of the standard locations. -Place fonts in /config/www/fonts/ or /media/fonts/ or provide absolute path. -Falling back to default font. -``` +If a referenced font can't be found in any of the search directories, a warning is +logged and rendering falls back to the default `ppb.ttf`. ## Element types From cfe681e3cf82f54b751277aa3db80d64a5788160 Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 25 Jun 2026 14:39:25 +0200 Subject: [PATCH 56/65] docs: tidy remaining drawcustom doc inaccuracies Remove the misplaced color-variants sentence from Basic Usage, normalize the icon example to the mdi: prefix, and fix two section headings that were H1 instead of H2. --- docs/drawcustom/supported_types.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/drawcustom/supported_types.md b/docs/drawcustom/supported_types.md index 9077158..b8ce480 100644 --- a/docs/drawcustom/supported_types.md +++ b/docs/drawcustom/supported_types.md @@ -21,8 +21,6 @@ With `drawcustom`, you can create an image in Home Assistant and send the render ## Basic Usage -OpenDisplay devices come in multiple variants - red and yellow are the most common accent colors. The following options are available: - The payload is a list of drawing elements that define what to display. Each element must specify its type and required properties. The elements are drawn in order from first to last. Example payload: @@ -35,7 +33,7 @@ Example payload: size: 40 color: red - type: icon - value: account-cowboy-hat + value: mdi:account-cowboy-hat x: 60 y: 120 size: 120 @@ -61,7 +59,7 @@ The service targets one or more OpenDisplay devices via the standard Home Assist > are still accepted for backward compatibility — unknown keys are ignored. -# Color Support +## Color Support OpenDisplay devices predominantly come in two variants: red and yellow accent colors (devices with more also exist). You can specify colors in several ways: @@ -83,7 +81,7 @@ Example payload adapting to display color: color: accent # Will be red or yellow depending on the display ``` -## Color Support by Element Type +### Color Support by Element Type All elements that support colors (text, shapes, icons, etc.) accept the following color properties: @@ -96,7 +94,7 @@ All elements that support colors (text, shapes, icons, etc.) accept the followin Using `"accent"` is recommended for portable scripts that should work with both red and yellow devices. -# Font support +## Font support Custom fonts are supported for text elements. The integration provides several ways to specify fonts: From 2c049e0904628a9d8524387e16fd13e26cdd482d Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 25 Jun 2026 14:39:25 +0200 Subject: [PATCH 57/65] chore: bump version to 3.0.0-beta.7 --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index c527111..d4dd05a 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -16,5 +16,5 @@ "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], "requirements": ["py-opendisplay[silabs-ota]==7.9.0", "odl-renderer==0.5.10"], - "version": "3.0.0-beta.6" + "version": "3.0.0-beta.7" } From d8f5ccf19b005952082a352a7368e8bfb5781edb Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 29 Jun 2026 12:02:11 +0200 Subject: [PATCH 58/65] docs(drawcustom): document gray levels and YAML hex quoting Add dkgray/ltgray gray levels and the corrected half_white/hw (light gray) to the color list and the per-element values table. Document the #RGBA and #RRGGBBAA hex forms as accepted, while noting the alpha component is not blended during rendering and has no visible effect. Add an IMPORTANT note that hex colors must be quoted in YAML: an unquoted '#' starts a comment, so 'fill: #FF0000' parses as null and the color is silently dropped. --- docs/drawcustom/supported_types.md | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/docs/drawcustom/supported_types.md b/docs/drawcustom/supported_types.md index b8ce480..c91f128 100644 --- a/docs/drawcustom/supported_types.md +++ b/docs/drawcustom/supported_types.md @@ -64,11 +64,18 @@ The service targets one or more OpenDisplay devices via the standard Home Assist OpenDisplay devices predominantly come in two variants: red and yellow accent colors (devices with more also exist). You can specify colors in several ways: - Using explicit colors: `"black"`, `"white"`, `"red"`, `"yellow"` -- Using halftone colors (requires a dithering mode, e.g. the default `dither: ordered`): `"half_black"` (or `"gray"`, `"grey"`, `"half_white"`), `"half_red"`, `"half_yellow"` +- Using gray levels (for multi-gray displays): `"dkgray"` (dark), `"gray"`/`"grey"` (mid), `"ltgray"` (light) — long forms `"darkgray"`/`"dark_gray"` and `"lightgray"`/`"light_gray"` also work +- Using halftone colors (requires a dithering mode, e.g. the default `dither: ordered`): `"half_black"` (mid gray, same as `"gray"`), `"half_white"` (light gray, same as `"ltgray"`), `"half_red"`, `"half_yellow"` - Using single letter shortcuts: `"b"` (black), `"w"` (white), `"r"` (red), `"y"` (yellow) -- Using halftone shortcuts: `"hb"`, `"hw"` (50% black/gray), `"hr"` (50% red), `"hy"` (50% yellow) +- Using halftone shortcuts: `"hb"` (mid gray), `"hw"` (light gray), `"hr"` (50% red), `"hy"` (50% yellow) - Using `"accent"`, `"a"`, `"half_accent"`, or `"ha"` to automatically use the display's accent color (red or yellow depending on the hardware) -- Using hex colors: `"#RGB"` or `"#RRGGBB"` (e.g., `"#F00"` or `"#FF0000"` for red) +- Using hex colors: `"#RGB"`, `"#RGBA"`, `"#RRGGBB"`, or `"#RRGGBBAA"` (e.g., `"#F00"` or `"#FF0000"` for red). The 4-/8-digit forms are accepted for convenience, but the alpha component is **not** blended during rendering and has no visible effect — colors render fully opaque. For multi-gray displays, equal-channel hex such as `"#808080"` selects a gray level. + +> [!IMPORTANT] +> Always quote hex colors in YAML: write `fill: "#FF0000"`, not `fill: #FF0000`. +> In YAML an unquoted `#` starts a comment, so `fill: #FF0000` parses as an empty +> value (`null`) and the color is silently dropped. Named colors like `red` do not +> need quotes. Example payload adapting to display color: ```yaml @@ -85,12 +92,12 @@ Example payload adapting to display color: All elements that support colors (text, shapes, icons, etc.) accept the following color properties: -| Property | Description | Values | -|--------------|------------------------------------|-------------------------------------------------------------| -| `color` | Primary color | `white`, `black`, `accent`, `red`, `yellow`, `#RRGGBB` | -| `fill` | Fill color | `white`, `black`, `accent`, `red`, `yellow`, `#RRGGBB` | -| `outline` | Outline/border color | `white`, `black`, `accent`, `red`, `yellow`, `#RRGGBB` | -| `background` | Background color (when applicable) | `white`, `black`, `accent`, `red`, `yellow`, `#RRGGBB` | +| Property | Description | Values | +|--------------|------------------------------------|------------------------------------------------------------------------------| +| `color` | Primary color | `white`, `black`, `dkgray`, `gray`, `ltgray`, `accent`, `red`, `yellow`, `#RRGGBB` | +| `fill` | Fill color | `white`, `black`, `dkgray`, `gray`, `ltgray`, `accent`, `red`, `yellow`, `#RRGGBB` | +| `outline` | Outline/border color | `white`, `black`, `dkgray`, `gray`, `ltgray`, `accent`, `red`, `yellow`, `#RRGGBB` | +| `background` | Background color (when applicable) | `white`, `black`, `dkgray`, `gray`, `ltgray`, `accent`, `red`, `yellow`, `#RRGGBB` | Using `"accent"` is recommended for portable scripts that should work with both red and yellow devices. From 9bfefe48e50c810b5352cf3582158178f963937a Mon Sep 17 00:00:00 2001 From: David Lee <247393336+davelee98@users.noreply.github.com> Date: Fri, 3 Jul 2026 19:27:48 -0400 Subject: [PATCH 59/65] expose use_measured_palette to home assistant. changed default dithering for draw_Custom to burkes Co-Authored-By: Claude Opus 4.8 --- custom_components/opendisplay/services.py | 16 ++++++++++++++-- custom_components/opendisplay/services.yaml | 14 +++++++++++++- custom_components/opendisplay/strings.json | 8 ++++++++ .../opendisplay/translations/en.json | 8 ++++++++ 4 files changed, 43 insertions(+), 3 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 6ca5651..3821e4f 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -58,6 +58,7 @@ ATTR_REFRESH_MODE = "refresh_mode" ATTR_FIT_MODE = "fit_mode" ATTR_TONE_COMPRESSION = "tone_compression" +ATTR_USE_MEASURED_PALETTES = "use_measured_palettes" def _str_to_int_enum(enum_class: type[IntEnum]) -> Callable[[str], Any]: @@ -122,6 +123,7 @@ def _refresh_type_value(value: Any) -> RefreshMode: vol.Optional(ATTR_TONE_COMPRESSION): vol.All( vol.Coerce(float), vol.Range(min=0.0, max=100.0) ), + vol.Optional(ATTR_USE_MEASURED_PALETTES, default=True): cv.boolean, } ) @@ -134,11 +136,12 @@ def _refresh_type_value(value: Any) -> RefreshMode: vol.Required("payload"): list, vol.Optional("background", default="white"): cv.string, vol.Optional("rotate", default=0): vol.All(vol.Coerce(int), vol.In([0, 90, 180, 270])), - vol.Optional("dither", default="ordered"): _dither_value, + vol.Optional("dither", default="burkes"): _dither_value, vol.Optional("refresh_type", default="full"): _refresh_type_value, vol.Optional(ATTR_TONE_COMPRESSION): vol.All( vol.Coerce(float), vol.Range(min=0.0, max=100.0) ), + vol.Optional(ATTR_USE_MEASURED_PALETTES, default=False): cv.boolean, vol.Optional("dry-run", default=False): cv.boolean, }, extra=vol.REMOVE_EXTRA, # silently drop legacy keys (ttl, preload_type, preload_lut, ...) @@ -278,6 +281,7 @@ async def _async_connect_and_run( hass: HomeAssistant, entry: "OpenDisplayConfigEntry", action: Callable[[OpenDisplayDevice], Awaitable[None]], + use_measured_palettes: bool = True, ) -> None: """Resolve BLE device, open a connection, run action, handle auth errors.""" address = entry.unique_id @@ -316,6 +320,7 @@ async def _async_connect_and_run( mac_address=address, ble_device=ble_device, config=entry.runtime_data.device_config, + use_measured_palettes=use_measured_palettes, encryption_key=encryption_key, ) as device: await action(device) @@ -342,6 +347,7 @@ async def _async_send_image( fit: FitMode = FitMode.CONTAIN, tone: float | str = "auto", rotate: Rotation = Rotation.ROTATE_0, + use_measured_palettes: bool = True, ) -> None: """Upload a PIL image to the device.""" async def _upload(device: OpenDisplayDevice) -> None: @@ -353,7 +359,9 @@ async def _upload(device: OpenDisplayDevice) -> None: fit=fit, rotate=rotate, ) - await _async_connect_and_run(hass, entry, _upload) + await _async_connect_and_run( + hass, entry, _upload, use_measured_palettes=use_measured_palettes + ) jpeg = await hass.async_add_executor_job(_pil_to_jpeg, img) async_dispatcher_send(hass, f"{SIGNAL_IMAGE_UPDATED}_{entry.unique_id}", jpeg) @@ -371,6 +379,7 @@ async def _async_upload_image(call: ServiceCall) -> None: tone_compression: float | str = ( tone_compression_pct / 100.0 if tone_compression_pct is not None else "auto" ) + use_measured_palettes: bool = call.data[ATTR_USE_MEASURED_PALETTES] # A plain URL (e.g. an automation pushing a rendered snapshot) must be # explicitly allowlisted; media-source items are already trusted. @@ -414,6 +423,7 @@ async def _async_upload_image(call: ServiceCall) -> None: fit=fit_mode, tone=tone_compression, rotate=rotation, + use_measured_palettes=use_measured_palettes, ) except asyncio.CancelledError: return @@ -605,6 +615,7 @@ async def _drawcustom_for_device( tone_compression: float | str = ( tone_compression_pct / 100.0 if tone_compression_pct is not None else "auto" ) + use_measured_palettes: bool = call.data[ATTR_USE_MEASURED_PALETTES] await _async_send_image( hass, @@ -614,6 +625,7 @@ async def _drawcustom_for_device( refresh_mode=refresh_mode, tone=tone_compression, rotate=Rotation(rotate), + use_measured_palettes=use_measured_palettes, ) diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index de88a43..df1cc0c 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -68,6 +68,11 @@ upload_image: step: 1 mode: slider unit_of_measurement: "%" + use_measured_palettes: + required: false + default: true + selector: + boolean: activate_led: fields: @@ -283,7 +288,7 @@ drawcustom: name: Dither mode description: Dithering algorithm required: true - default: "ordered" + default: "burkes" selector: select: translation_key: dither_mode @@ -319,6 +324,13 @@ drawcustom: step: 1 mode: slider unit_of_measurement: "%" + use_measured_palettes: + name: Use measured palettes + description: Use measured, per-panel color palettes when available. Turn off to dither against the theoretical color scheme. No effect on panels without measured data. + required: false + default: false + selector: + boolean: dry-run: name: Dry run description: Generate image without sending to device diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 350d82b..2a864ba 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -193,6 +193,10 @@ "tone_compression": { "description": "Dynamic range compression strength. Leave empty for automatic.", "name": "Tone compression" + }, + "use_measured_palettes": { + "description": "Use measured, per-panel color palettes when available. Turn off to dither against the theoretical color scheme. No effect on panels without measured data.", + "name": "Use measured palettes" } }, "name": "Upload image", @@ -321,6 +325,10 @@ "description": "Display refresh mode.", "name": "Refresh type" }, + "use_measured_palettes": { + "description": "Use measured, per-panel color palettes when available. Turn off to dither against the theoretical color scheme. No effect on panels without measured data.", + "name": "Use measured palettes" + }, "dry-run": { "description": "Generate image without uploading to the device.", "name": "Dry run" diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index ca55005..f91f499 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -190,6 +190,10 @@ "tone_compression": { "description": "Dynamic range compression strength. Leave empty for automatic.", "name": "Tone compression" + }, + "use_measured_palettes": { + "description": "Use measured, per-panel color palettes when available. Turn off to dither against the theoretical color scheme. No effect on panels without measured data.", + "name": "Use measured palettes" } }, "name": "Upload image", @@ -318,6 +322,10 @@ "description": "Display refresh mode.", "name": "Refresh type" }, + "use_measured_palettes": { + "description": "Use measured, per-panel color palettes when available. Turn off to dither against the theoretical color scheme. No effect on panels without measured data.", + "name": "Use measured palettes" + }, "dry-run": { "description": "Generate image without uploading to the device.", "name": "Dry run" From c02068624e6a3e80c330de6bcff8fc1f36dbd2b3 Mon Sep 17 00:00:00 2001 From: David Lee <247393336+davelee98@users.noreply.github.com> Date: Fri, 3 Jul 2026 21:09:52 -0400 Subject: [PATCH 60/65] Default use_measured_palettes to False for service calls Aligns the send_image action defaults with the UI-facing services.yaml default. --- custom_components/opendisplay/services.py | 4 ++-- custom_components/opendisplay/services.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 3821e4f..d9b9aa8 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -281,7 +281,7 @@ async def _async_connect_and_run( hass: HomeAssistant, entry: "OpenDisplayConfigEntry", action: Callable[[OpenDisplayDevice], Awaitable[None]], - use_measured_palettes: bool = True, + use_measured_palettes: bool = False, ) -> None: """Resolve BLE device, open a connection, run action, handle auth errors.""" address = entry.unique_id @@ -347,7 +347,7 @@ async def _async_send_image( fit: FitMode = FitMode.CONTAIN, tone: float | str = "auto", rotate: Rotation = Rotation.ROTATE_0, - use_measured_palettes: bool = True, + use_measured_palettes: bool = False, ) -> None: """Upload a PIL image to the device.""" async def _upload(device: OpenDisplayDevice) -> None: diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index df1cc0c..8d98dad 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -70,7 +70,7 @@ upload_image: unit_of_measurement: "%" use_measured_palettes: required: false - default: true + default: false selector: boolean: From a4d139032aa5e4f4ca0c1c5d6aa816c19cb14f90 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 5 Jul 2026 17:24:29 -0400 Subject: [PATCH 61/65] Serialize BLE access per tag with a per-MAC lock BLE access to a tag was not serialized across operations. Only _async_upload_image self-serialized (cancelling a prior upload_task); drawcustom/send_image, LED, buzzer and the OTA flow each opened their own OpenDisplayDevice connection with no coordination, and the library has no per-address lock. Two automations hitting the same tag raced for the single BLE link and surfaced a confusing HomeAssistantError("upload_error"). The reboot-reload path also waited only on upload_task, so it could tear the connection out from under an in-flight drawcustom/LED/buzzer/OTA. Add an asyncio.Lock to OpenDisplayRuntimeData (one config entry == one MAC, so this is a per-MAC lock) and hold it for the full connection lifetime of every BLE operation: _async_connect_and_run (drawcustom/send_image, upload, LED, buzzer) and the OTA install flow. Different MACs are not serialized against each other. The upload_image latest-wins cancel is kept but its cancel happens before the lock is taken, so it composes without deadlock. _async_reload_after_reboot and async_unload_entry now drain the same lock (acquire/release without holding across the reload) to wait for in-flight BLE ops, replacing the upload_task-only wait. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012g2e8mr132vcizx92WsgiR --- custom_components/opendisplay/__init__.py | 32 ++++++-- custom_components/opendisplay/services.py | 14 +++- custom_components/opendisplay/update.py | 93 ++++++++++++----------- 3 files changed, 87 insertions(+), 52 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 3bfb97d..2a0b18d 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -2,7 +2,7 @@ import asyncio import contextlib -from dataclasses import dataclass +from dataclasses import dataclass, field from typing import TYPE_CHECKING from opendisplay import ( @@ -50,6 +50,11 @@ class OpenDisplayRuntimeData: device_config: GlobalConfig is_flex: bool upload_task: asyncio.Task | None = None + # Serializes every BLE connection to this tag (one config entry == one MAC). + # The device exposes a single BLE link with no per-address lock in the + # library, so drawcustom/upload_image, LED, buzzer and OTA must not open + # overlapping connections or they race and surface a confusing upload_error. + ble_lock: asyncio.Lock = field(default_factory=asyncio.Lock) type OpenDisplayConfigEntry = ConfigEntry[OpenDisplayRuntimeData] @@ -185,13 +190,18 @@ async def _async_reload_after_reboot( Triggered by the coordinator when the advertised reboot flag goes False -> True. Reloading re-runs async_setup_entry, which reconnects (clearing the device's reboot flag), re-reads firmware + config, and rebuilds device - info and platforms. Defers until any in-progress image upload finishes so an - unrelated reboot detection does not abort the user's upload. + info and platforms. Defers until any in-flight BLE operation on this tag + (upload, drawcustom, LED, buzzer, OTA) finishes so an unrelated reboot + detection does not tear the connection out from under it. """ runtime = entry.runtime_data - upload_task = runtime.upload_task if runtime is not None else None - if upload_task is not None and not upload_task.done(): - await asyncio.gather(upload_task, return_exceptions=True) + if runtime is not None: + # Wait for any in-flight BLE op to release the link, then reload. We only + # drain (acquire/release) rather than hold the lock across the reload: + # async_reload unloads the entry, and async_unload_entry acquires the + # same lock, so holding it here would deadlock the reload. + async with runtime.ble_lock: + pass await hass.config_entries.async_reload(entry.entry_id) @@ -199,11 +209,17 @@ async def async_unload_entry( hass: HomeAssistant, entry: OpenDisplayConfigEntry ) -> bool: """Unload a config entry.""" - if (task := entry.runtime_data.upload_task) and not task.done(): + runtime = entry.runtime_data + # Abort an in-flight image upload quickly so unload is not blocked on a long + # BLE transfer, then wait for any other in-flight BLE op (LED, buzzer, OTA, + # drawcustom) to release the link before tearing the entry down. + if (task := runtime.upload_task) and not task.done(): task.cancel() with contextlib.suppress(asyncio.CancelledError): await task + async with runtime.ble_lock: + pass return await hass.config_entries.async_unload_platforms( - entry, _get_platforms(entry.runtime_data) + entry, _get_platforms(runtime) ) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 6ca5651..8c0564b 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -312,7 +312,13 @@ async def _async_connect_and_run( ) from err try: - async with OpenDisplayDevice( + # Serialize all BLE access to this tag: the device has a single BLE link + # and the library has no per-address lock, so overlapping connections + # (two automations, or a drawcustom racing an LED/buzzer/upload on the + # same MAC) fail with a confusing upload_error. The lock is held for the + # full connection lifetime and released on error. Held per config entry, + # i.e. per MAC, so different tags are not serialized against each other. + async with entry.runtime_data.ble_lock, OpenDisplayDevice( mac_address=address, ble_device=ble_device, config=entry.runtime_data.device_config, @@ -383,6 +389,12 @@ async def _async_upload_image(call: ServiceCall) -> None: translation_placeholders={"url": image_data}, ) + # Latest-wins for upload_image specifically: a newer upload cancels an + # older still-running one instead of queuing behind it (an automation + # pushing a fresh snapshot supersedes the stale one). This composes with the + # per-MAC ble_lock without deadlocking: the cancel + await below happens + # before _async_send_image acquires the lock, so the cancelled task releases + # the lock (its `async with ble_lock` unwinds) before this one takes it. current = asyncio.current_task() if (prev := entry.runtime_data.upload_task) is not None and not prev.done(): prev.cancel() diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index 2937aa1..74eb411 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -197,52 +197,59 @@ def _on_log(msg: str) -> None: "Device not reachable over Bluetooth; bring it within range and retry" ) - # Only EFR32BG22 (Silabs AppLoader) is flashed over BLE here — see - # _OTA_INSTALL_IC_TYPES. The device is either in app mode (and needs the - # DFU trigger) or already in the AppLoader at the same address (a - # previous OTA was interrupted, or it browned out before committing). - # Try to trigger from app mode, but tolerate the connect failing — then - # the device is already in the AppLoader and we flash it directly, so HA - # can recover a stuck device instead of failing hard. A stale proxy GATT - # cache from a prior interrupted OTA is handled at the connection layer: - # BLEConnection.connect() clears it and retries once. - try: - _on_log("Connecting to trigger DFU bootloader…") - async with OpenDisplayDevice( - mac_address=self._ble_address, - ble_device=ble_device, - encryption_key=_get_encryption_key(self._entry), - ) as device: - # Clear the (now fresh) app-mode GATT from the proxy cache so the - # post-reboot AppLoader connection re-discovers the OTA service - # instead of these app-firmware handles. - cleared = await device.clear_gatt_cache() - _on_log(f"Proxy GATT cache clear requested: {cleared}") - await device.trigger_dfu_bootloader() - except BLEConnectionError as err: - _on_log( - f"App-mode connect failed ({err}); device is likely already " - "in the AppLoader — attempting OTA directly." + # Hold the per-MAC BLE lock across the whole OTA (DFU trigger + + # AppLoader flash) so a drawcustom/upload/LED/buzzer service call on + # this tag can't open an overlapping connection mid-flash. This op + # only takes the lock here — it never calls back into a locked + # service op — so there is no re-entrant deadlock. The download above + # runs outside the lock so it doesn't block other BLE ops needlessly. + async with self._entry.runtime_data.ble_lock: + # Only EFR32BG22 (Silabs AppLoader) is flashed over BLE here — see + # _OTA_INSTALL_IC_TYPES. The device is either in app mode (and needs + # the DFU trigger) or already in the AppLoader at the same address (a + # previous OTA was interrupted, or it browned out before committing). + # Try to trigger from app mode, but tolerate the connect failing — + # then the device is already in the AppLoader and we flash it + # directly, so HA can recover a stuck device instead of failing hard. + # A stale proxy GATT cache from a prior interrupted OTA is handled at + # the connection layer: BLEConnection.connect() clears it and retries. + try: + _on_log("Connecting to trigger DFU bootloader…") + async with OpenDisplayDevice( + mac_address=self._ble_address, + ble_device=ble_device, + encryption_key=_get_encryption_key(self._entry), + ) as device: + # Clear the (now fresh) app-mode GATT from the proxy cache so + # the post-reboot AppLoader connection re-discovers the OTA + # service instead of these app-firmware handles. + cleared = await device.clear_gatt_cache() + _on_log(f"Proxy GATT cache clear requested: {cleared}") + await device.trigger_dfu_bootloader() + except BLEConnectionError as err: + _on_log( + f"App-mode connect failed ({err}); device is likely already " + "in the AppLoader — attempting OTA directly." + ) + + # AppLoader advertises at the same address; perform_silabs_ota + # retries the connection internally until it is ready. + ota_device = async_ble_device_from_address( + self.hass, self._ble_address, connectable=True ) - - # AppLoader advertises at the same address; perform_silabs_ota retries - # the connection internally until it is ready. - ota_device = async_ble_device_from_address( - self.hass, self._ble_address, connectable=True - ) - if ota_device is None: - raise HomeAssistantError( - "Device not reachable in OTA mode; bring it within range and retry" + if ota_device is None: + raise HomeAssistantError( + "Device not reachable in OTA mode; bring it within range and retry" + ) + await perform_silabs_ota( + firmware_bytes, + ota_device, + on_progress=_on_progress, + on_log=_on_log, ) - await perform_silabs_ota( - firmware_bytes, - ota_device, - on_progress=_on_progress, - on_log=_on_log, - ) - self._attr_installed_version = tag - _LOGGER.info("Firmware updated to %s", tag) + self._attr_installed_version = tag + _LOGGER.info("Firmware updated to %s", tag) except (OTAError, BLEConnectionError) as err: raise HomeAssistantError(f"Firmware update failed: {err}") from err From 3d0af3737da2e388ab5b4741100a5a7ba2c6162c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 5 Jul 2026 17:32:04 -0400 Subject: [PATCH 62/65] Offload image prepare to executor, keep BLE transfer on the loop _async_send_image awaited device.upload_image(), which runs the library's _prepare_image synchronously on the event loop: rotate + fit + dither + encode + zlib on a full frame. Every upload_image/drawcustom call blocked the HA event loop for the whole CPU stage before any BLE I/O started. py-opendisplay 7.9.0 exposes the split deliberately: prepare_image() is the heavy CPU work and needs only the device config (no BLE), and device.upload_prepared_image() does the BLE transfer. Run prepare_image() in the executor via async_add_executor_job and pass the same dither/tone/fit/rotate options; then upload_prepared_image() on the loop. compress is gated on display.supports_zip to mirror upload_image() (which passes `compress and supports_compression` into _prepare_image); when the panel has no zip support prepare_image() returns compressed_data=None and upload_prepared_image() falls back to the uncompressed protocol, unchanged. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012g2e8mr132vcizx92WsgiR --- custom_components/opendisplay/services.py | 26 ++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 6ca5651..b4d36d9 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -5,6 +5,7 @@ import contextlib from datetime import timedelta from enum import IntEnum +import functools import io import logging import os @@ -25,6 +26,7 @@ OpenDisplayError, RefreshMode, Rotation, + prepare_image, ) from PIL import Image as PILImage, ImageOps import voluptuous as vol @@ -344,15 +346,33 @@ async def _async_send_image( rotate: Rotation = Rotation.ROTATE_0, ) -> None: """Upload a PIL image to the device.""" - async def _upload(device: OpenDisplayDevice) -> None: - await device.upload_image( + # Split the upload into its heavy CPU half and its BLE-I/O half. The CPU + # work (rotate + fit + dither + encode + zlib on a full frame) is offloaded + # to an executor thread so it never blocks the event loop; only the BLE + # transfer runs on the loop. This mirrors what device.upload_image() does + # internally, but that call ran _prepare_image synchronously on the loop. + config = entry.runtime_data.device_config + display_cfg = config.displays[0] if config and config.displays else None + # Match upload_image(): only ask prepare_image() to build compressed data + # when the panel actually supports zip. upload_prepared_image() then falls + # back to the uncompressed protocol when compressed_data is None. + supports_compression = display_cfg.supports_zip if display_cfg else True + prepared = await hass.async_add_executor_job( + functools.partial( + prepare_image, img, - refresh_mode=refresh_mode, + config=config, dither_mode=dither_mode, + compress=supports_compression, tone=tone, fit=fit, rotate=rotate, ) + ) + + async def _upload(device: OpenDisplayDevice) -> None: + await device.upload_prepared_image(prepared, refresh_mode=refresh_mode) + await _async_connect_and_run(hass, entry, _upload) jpeg = await hass.async_add_executor_job(_pil_to_jpeg, img) async_dispatcher_send(hass, f"{SIGNAL_IMAGE_UPDATED}_{entry.unique_id}", jpeg) From 34c6ca52c83889cbf4ed9ff2484b270cb42cba0e Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 6 Jul 2026 02:03:18 -0400 Subject: [PATCH 63/65] Fix minor issues in update and services (NEW-3..NEW-6) - NEW-3: default _attr_release_notes at class level so async_release_notes() can't raise AttributeError before/without a successful GitHub fetch. - NEW-4: import ColorScheme from opendisplay (re-exported) instead of the undeclared direct epaper_dithering dependency. - NEW-5: add explicit aiohttp.ClientTimeout to all external HTTP calls (GitHub metadata 30s, firmware download 120s, media download 30s). - NEW-6: run blocking os.path.isdir font-dir checks in the executor. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012g2e8mr132vcizx92WsgiR --- custom_components/opendisplay/services.py | 8 +++++--- custom_components/opendisplay/update.py | 7 ++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index 6ca5651..0765668 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -11,11 +11,11 @@ from typing import TYPE_CHECKING, Any import aiohttp -from epaper_dithering import ColorScheme from odl_renderer import generate_image from opendisplay import ( AuthenticationFailedError, AuthenticationRequiredError, + ColorScheme, DitherMode, FitMode, LedFlashConfig, @@ -261,7 +261,9 @@ async def _async_download_image(hass: HomeAssistant, url: str) -> PILImage.Image ) session = async_get_clientsession(hass) try: - async with session.get(url) as resp: + async with session.get( + url, timeout=aiohttp.ClientTimeout(total=30) + ) as resp: resp.raise_for_status() data = await resp.read() except aiohttp.ClientError as err: @@ -590,7 +592,7 @@ async def _drawcustom_for_device( accent_color=color_scheme.accent_color, session=async_get_clientsession(hass), data_provider=HADataProvider(hass), - font_dirs=_font_search_dirs(hass), + font_dirs=await hass.async_add_executor_job(_font_search_dirs, hass), ) if call.data["dry-run"]: diff --git a/custom_components/opendisplay/update.py b/custom_components/opendisplay/update.py index 2937aa1..4e9fef9 100644 --- a/custom_components/opendisplay/update.py +++ b/custom_components/opendisplay/update.py @@ -83,6 +83,7 @@ class OpenDisplayFirmwareUpdateEntity(OpenDisplayEntity[UpdateEntityDescription] """Firmware update entity for an OpenDisplay device.""" _attr_latest_version: str | None = None + _attr_release_notes: str | None = None should_poll = True # override coordinator's should_poll=False; GitHub needs regular polling def __init__(self, coordinator, entry: OpenDisplayConfigEntry) -> None: @@ -145,6 +146,7 @@ async def async_update(self) -> None: async with session.get( _GITHUB_LATEST.format(repo=self._firmware_repo), headers=_GITHUB_HEADERS, + timeout=aiohttp.ClientTimeout(total=30), ) as resp: resp.raise_for_status() data = await resp.json() @@ -258,6 +260,7 @@ async def _download_asset(self, tag: str, asset_name: str) -> bytes: async with session.get( _GITHUB_RELEASE.format(repo=self._firmware_repo, tag=tag), headers=_GITHUB_HEADERS, + timeout=aiohttp.ClientTimeout(total=30), ) as resp: resp.raise_for_status() release = await resp.json() @@ -276,7 +279,9 @@ async def _download_asset(self, tag: str, asset_name: str) -> bytes: _LOGGER.debug("Downloading %s from %s", asset_name, download_url) try: - async with session.get(download_url) as resp: + async with session.get( + download_url, timeout=aiohttp.ClientTimeout(total=120) + ) as resp: resp.raise_for_status() return await resp.read() except aiohttp.ClientError as err: From c01e46e9c487a0a0f27091aaa914c490e38fc751 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 6 Jul 2026 15:42:17 +0200 Subject: [PATCH 64/65] feat: partial refresh support via py-opendisplay 7.11.1 Adds "partial" as a refresh mode for upload_image and drawcustom. A PartialState per config entry tracks the last uploaded frame + etag; partial refreshes diff against it and update flicker-free via the 0x76 protocol, while full/fast refreshes re-baseline the state so the next partial diffs against the frame actually on the panel. All panel handling lives in the library: automatic fallback to a full upload when partial is not possible, automatic full-frame region expansion on panels that require it (partial_update_support=2, OpenDisplay/Firmware#80), and identical frames skip the transfer entirely. Legacy numeric refresh_type 2/3 map to partial. Also fixes the compression gate for streaming-decompression-only configs (bit 0x01 without ZIP): such panels uploaded every frame uncompressed. Requires py-opendisplay 7.11.1 (partial support, compression gates, and the epaper-dithering 5.0.8 tone=auto NaN fix without which bilevel drawcustom frames render all-black). --- custom_components/opendisplay/__init__.py | 5 +++ custom_components/opendisplay/manifest.json | 2 +- custom_components/opendisplay/services.py | 45 ++++++++++++------- custom_components/opendisplay/services.yaml | 2 + custom_components/opendisplay/strings.json | 7 +-- .../opendisplay/translations/en.json | 7 +-- 6 files changed, 46 insertions(+), 22 deletions(-) diff --git a/custom_components/opendisplay/__init__.py b/custom_components/opendisplay/__init__.py index 2a0b18d..e024a8f 100644 --- a/custom_components/opendisplay/__init__.py +++ b/custom_components/opendisplay/__init__.py @@ -13,6 +13,7 @@ GlobalConfig, OpenDisplayDevice, OpenDisplayError, + PartialState, ) from homeassistant.components.bluetooth import ( @@ -55,6 +56,10 @@ class OpenDisplayRuntimeData: # library, so drawcustom/upload_image, LED, buzzer and OTA must not open # overlapping connections or they race and surface a confusing upload_error. ble_lock: asyncio.Lock = field(default_factory=asyncio.Lock) + # Tracks the last uploaded frame + etag for differential partial updates + # (0x76). Replaced with a fresh instance on every full/fast refresh so the + # next partial diffs against the frame actually on the panel. + partial_state: PartialState = field(default_factory=PartialState) type OpenDisplayConfigEntry = ConfigEntry[OpenDisplayRuntimeData] diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index d4dd05a..ade3dee 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay[silabs-ota]==7.9.0", "odl-renderer==0.5.10"], + "requirements": ["py-opendisplay[silabs-ota]==7.11.1", "odl-renderer==0.5.10"], "version": "3.0.0-beta.7" } diff --git a/custom_components/opendisplay/services.py b/custom_components/opendisplay/services.py index e60b7b9..0a6b898 100644 --- a/custom_components/opendisplay/services.py +++ b/custom_components/opendisplay/services.py @@ -24,6 +24,7 @@ BuzzerActivateConfig, OpenDisplayDevice, OpenDisplayError, + PartialState, RefreshMode, Rotation, prepare_image, @@ -87,26 +88,24 @@ def _dither_value(value: Any) -> DitherMode: def _refresh_type_value(value: Any) -> RefreshMode: - """Accept names ("full"/"fast") and legacy numeric values. + """Accept names ("full"/"fast"/"partial") and legacy numeric values. - `partial` is not implemented yet, so it is not offered and any partial-ish - input (legacy 2/3, or an explicit "partial") falls back to fast. + Legacy value 3 ("partial2"/full-frame partial) maps to PARTIAL: the library + reads the panel's partial_update_support config and expands the region to + the full frame automatically where required, so the distinction is obsolete. """ if isinstance(value, (int, float)) or ( isinstance(value, str) and value.lstrip("-").isdigit() ): n = int(value) - if n in (2, 3): # legacy partial / partial2 -> fast (partial not implemented) - return RefreshMode.FAST + if n == 3: # legacy partial2 / full-frame partial + return RefreshMode.PARTIAL try: mode = RefreshMode(n) except ValueError as err: raise vol.Invalid(f"Invalid refresh_type: {value}") from err - else: - mode = _str_to_int_enum(RefreshMode)(value) - if mode is RefreshMode.PARTIAL: # reserved for the future, not implemented yet - return RefreshMode.FAST - return mode + return mode + return _str_to_int_enum(RefreshMode)(value) SCHEMA_UPLOAD_IMAGE = vol.Schema( @@ -119,7 +118,7 @@ def _refresh_type_value(value: Any) -> RefreshMode: vol.Coerce(int), vol.Coerce(Rotation) ), vol.Optional(ATTR_DITHER_MODE, default="burkes"): _str_to_int_enum(DitherMode), - vol.Optional(ATTR_REFRESH_MODE, default="full"): _str_to_int_enum(RefreshMode), + vol.Optional(ATTR_REFRESH_MODE, default="full"): _refresh_type_value, vol.Optional(ATTR_FIT_MODE, default="contain"): _str_to_int_enum(FitMode), vol.Optional(ATTR_TONE_COMPRESSION): vol.All( vol.Coerce(float), vol.Range(min=0.0, max=100.0) @@ -362,9 +361,14 @@ async def _async_send_image( config = entry.runtime_data.device_config display_cfg = config.displays[0] if config and config.displays else None # Match upload_image(): only ask prepare_image() to build compressed data - # when the panel actually supports zip. upload_prepared_image() then falls - # back to the uncompressed protocol when compressed_data is None. - supports_compression = display_cfg.supports_zip if display_cfg else True + # when the panel accepts compressed uploads (plain ZIP bit or the + # streaming-decompression bit). upload_prepared_image() then falls back to + # the uncompressed protocol when compressed_data is None. + supports_compression = ( + (display_cfg.supports_zip or display_cfg.supports_streaming_decompression) + if display_cfg + else True + ) prepared = await hass.async_add_executor_job( functools.partial( prepare_image, @@ -378,8 +382,19 @@ async def _async_send_image( ) ) + # Partial refreshes diff against the entry's tracked frame; full/fast + # refreshes re-baseline the panel, so start a fresh state that this upload + # seeds (etag + frame) for the next partial. The library handles all + # fallbacks (unsupported panel, etag mismatch, firmware NACK) and expands + # the region to the full frame on panels that require it + # (partial_update_support=2, see OpenDisplay/Firmware#80). + runtime = entry.runtime_data + if refresh_mode is not RefreshMode.PARTIAL: + runtime.partial_state = PartialState() + state = runtime.partial_state + async def _upload(device: OpenDisplayDevice) -> None: - await device.upload_prepared_image(prepared, refresh_mode=refresh_mode) + await device.upload_prepared_image(prepared, refresh_mode=refresh_mode, state=state) await _async_connect_and_run(hass, entry, _upload) jpeg = await hass.async_add_executor_job(_pil_to_jpeg, img) diff --git a/custom_components/opendisplay/services.yaml b/custom_components/opendisplay/services.yaml index de88a43..15d38c8 100644 --- a/custom_components/opendisplay/services.yaml +++ b/custom_components/opendisplay/services.yaml @@ -48,6 +48,7 @@ upload_image: options: - "full" - "fast" + - "partial" fit_mode: required: false default: "contain" @@ -308,6 +309,7 @@ drawcustom: options: - "full" - "fast" + - "partial" tone_compression: name: Tone compression description: Tone compression strength (0–100%). Omit to use automatic tone mapping. diff --git a/custom_components/opendisplay/strings.json b/custom_components/opendisplay/strings.json index 350d82b..280b2d6 100644 --- a/custom_components/opendisplay/strings.json +++ b/custom_components/opendisplay/strings.json @@ -158,7 +158,8 @@ "refresh_mode": { "options": { "fast": "Fast", - "full": "Full" + "full": "Full", + "partial": "Partial" } } }, @@ -183,7 +184,7 @@ "name": "Image" }, "refresh_mode": { - "description": "The display refresh mode. Full refresh clears ghosting but is slower. Fast refresh is not supported on all displays.", + "description": "The display refresh mode. Full refresh clears ghosting but is slower. Fast refresh is not supported on all displays. Partial updates only the changed region without flashing (B/W panels with partial support; falls back to a full refresh automatically when not possible).", "name": "Refresh mode" }, "rotation": { @@ -318,7 +319,7 @@ "name": "Dither mode" }, "refresh_type": { - "description": "Display refresh mode.", + "description": "Display refresh mode. Partial updates only the changed region without flashing; falls back to a full refresh automatically when not possible.", "name": "Refresh type" }, "dry-run": { diff --git a/custom_components/opendisplay/translations/en.json b/custom_components/opendisplay/translations/en.json index ca55005..f9c2181 100644 --- a/custom_components/opendisplay/translations/en.json +++ b/custom_components/opendisplay/translations/en.json @@ -155,7 +155,8 @@ "refresh_mode": { "options": { "fast": "Fast", - "full": "Full" + "full": "Full", + "partial": "Partial" } } }, @@ -180,7 +181,7 @@ "name": "Image" }, "refresh_mode": { - "description": "The display refresh mode. Full refresh clears ghosting but is slower. Fast refresh is not supported on all displays.", + "description": "The display refresh mode. Full refresh clears ghosting but is slower. Fast refresh is not supported on all displays. Partial updates only the changed region without flashing (B/W panels with partial support; falls back to a full refresh automatically when not possible).", "name": "Refresh mode" }, "rotation": { @@ -315,7 +316,7 @@ "name": "Dither mode" }, "refresh_type": { - "description": "Display refresh mode.", + "description": "Display refresh mode. Partial updates only the changed region without flashing; falls back to a full refresh automatically when not possible.", "name": "Refresh type" }, "dry-run": { From accf4645143a5243ae7c7ec5950948b9e413b881 Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 6 Jul 2026 20:30:43 +0200 Subject: [PATCH 65/65] chore: bump py-opendisplay to 7.11.2 and odl-renderer to 0.5.12 py-opendisplay 7.11.2: epaper-dithering 5.0.9 (FFI validation, tone-map NaN fix line), partial support, compression gate fixes. odl-renderer 0.5.12: plot crash/hang fixes, text color/anchor + O(n) fitting, color coercion tolerance, transform/font/QR perf. --- custom_components/opendisplay/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/opendisplay/manifest.json b/custom_components/opendisplay/manifest.json index ade3dee..ccc2761 100644 --- a/custom_components/opendisplay/manifest.json +++ b/custom_components/opendisplay/manifest.json @@ -15,6 +15,6 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/OpenDisplay/Home_Assistant_Integration/issues", "loggers": ["opendisplay"], - "requirements": ["py-opendisplay[silabs-ota]==7.11.1", "odl-renderer==0.5.10"], + "requirements": ["py-opendisplay[silabs-ota]==7.11.2", "odl-renderer==0.5.12"], "version": "3.0.0-beta.7" }

  • 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