@moxa/graph 2.7.2 → 2.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icon-sprite.svg +1 -1
- package/assets/{worker-D2tlLpGE.js → worker-sR5p8qyi.js} +1 -1
- package/index.cjs +88 -88
- package/index.js +15054 -14825
- package/lib/behavior/brush-select.d.ts.map +1 -1
- package/lib/behavior/click-select.d.ts +4 -3
- package/lib/behavior/click-select.d.ts.map +1 -1
- package/lib/behavior/drag-element.d.ts.map +1 -1
- package/lib/edge/custom/polyline-edge.d.ts.map +1 -1
- package/lib/edge/custom/quadratic-edge.d.ts.map +1 -1
- package/lib/edge/helper/custom-edge.helper.d.ts.map +1 -1
- package/lib/edge/helper/edge.theme.d.ts +2 -2
- package/lib/edge/helper/edge.theme.d.ts.map +1 -1
- package/lib/graph/graph.d.ts +31 -11
- package/lib/graph/graph.d.ts.map +1 -1
- package/lib/graph/graph.mapper.d.ts.map +1 -1
- package/lib/group/custom/device-group.d.ts.map +1 -1
- package/lib/layout/grid.d.ts +1 -0
- package/lib/layout/grid.d.ts.map +1 -1
- package/lib/model/graph.model.d.ts +2 -0
- package/lib/model/graph.model.d.ts.map +1 -1
- package/lib/node/custom/device-node.d.ts.map +1 -1
- package/lib/plugin/element-toolbar.d.ts +2 -1
- package/lib/plugin/element-toolbar.d.ts.map +1 -1
- package/lib/plugin/fixed-toolbar.d.ts +2 -1
- package/lib/plugin/fixed-toolbar.d.ts.map +1 -1
- package/lib/plugin/tooltip.d.ts +2 -2
- package/lib/plugin/tooltip.d.ts.map +1 -1
- package/lib/utils/graph.helper.d.ts +3 -2
- package/lib/utils/graph.helper.d.ts.map +1 -1
- package/package.json +1 -1
package/assets/icon-sprite.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><style>:root>svg{display:none}:root>svg:target{display:block}</style><svg fill="none" viewBox="0 0 24 24" id="add" xmlns="http://www.w3.org/2000/svg"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z" fill="#000"/></svg><svg viewBox="0 -960 960 960" id="arrow-back" xmlns="http://www.w3.org/2000/svg"><path d="m313-440 224 224-57 56-320-320 320-320 57 56-224 224h487v80H313Z"/></svg><svg viewBox="0 0 24 24" id="arrow-forward" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg><svg viewBox="0 0 16 16" id="cancel" xmlns="http://www.w3.org/2000/svg"><path d="M8 1.333A6.66 6.66 0 0 0 1.333 8 6.66 6.66 0 0 0 8 14.667 6.66 6.66 0 0 0 14.667 8 6.66 6.66 0 0 0 8 1.333Zm3.333 9.06-.94.94L8 8.94l-2.393 2.393-.94-.94L7.06 8 4.667 5.607l.94-.94L8 7.06l2.393-2.393.94.94L8.94 8l2.393 2.393Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="center_focus_weak" xmlns="http://www.w3.org/2000/svg"><path d="M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4ZM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5Zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2Zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4ZM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4Zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Z" fill="#000"/></svg><svg viewBox="0 0 16 16" id="check_circle" xmlns="http://www.w3.org/2000/svg"><path d="M8 1.333A6.67 6.67 0 0 0 1.333 8 6.67 6.67 0 0 0 8 14.667 6.67 6.67 0 0 0 14.667 8 6.67 6.67 0 0 0 8 1.333Zm-1.333 10L3.333 8l.94-.94 2.394 2.387 5.06-5.06.94.946-6 6Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="draw" xmlns="http://www.w3.org/2000/svg"><path d="M4 21v-4.25L17.175 3.6c.2-.2.425-.35.675-.45a1.975 1.975 0 0 1 1.512 0c.242.1.455.25.638.45L21.4 5c.2.183.35.396.45.638a1.975 1.975 0 0 1 0 1.512c-.1.25-.25.475-.45.675L8.25 21H4ZM18.65 7.775 20 6.425 18.575 5l-1.35 1.35 1.425 1.425ZM14 21a6.644 6.644 0 0 0 3.425-.925C18.475 19.458 19 18.6 19 17.5c0-.6-.158-1.117-.475-1.55-.317-.433-.742-.808-1.275-1.125L15.775 16.3c.383.167.683.35.9.55.217.2.325.417.325.65 0 .383-.304.73-.913 1.038-.608.308-1.304.462-2.087.462a.968.968 0 0 0-.713.288A.968.968 0 0 0 13 20c0 .283.096.52.287.712.192.192.43.288.713.288Zm-9.425-7.65 1.5-1.5a3.576 3.576 0 0 1-.788-.412C5.096 11.296 5 11.15 5 11c0-.2.15-.4.45-.6.3-.2.933-.508 1.9-.925 1.467-.633 2.442-1.208 2.925-1.725.483-.517.725-1.1.725-1.75 0-.917-.367-1.646-1.1-2.188C9.167 3.272 8.2 3 7 3c-.75 0-1.42.133-2.013.4-.591.267-1.045.592-1.362.975A.908.908 0 0 0 3.4 5.1a.938.938 0 0 0 .375.65.908.908 0 0 0 .725.225c.267-.033.492-.142.675-.325.233-.233.492-.4.775-.5C6.233 5.05 6.583 5 7 5c.683 0 1.188.1 1.512.3.325.2.488.433.488.7 0 .233-.146.446-.438.638-.291.191-.962.529-2.012 1.012-1.333.583-2.258 1.112-2.775 1.588A2.298 2.298 0 0 0 3 11c0 .533.142.988.425 1.363.283.375.667.704 1.15.987Z" fill="#000"/></svg><svg viewBox="0 0 13 10" id="edge-end-arrow" xmlns="http://www.w3.org/2000/svg"><path d="m.5 5 12 5V0L.5 5Z"/></svg><svg viewBox="0 0 13 10" id="edge-start-arrow" xmlns="http://www.w3.org/2000/svg"><path d="m12.5 5-12 5V0l12 5Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="eye_tracking" xmlns="http://www.w3.org/2000/svg"><path d="M6 23H3c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 1 21v-3h2v3h3v2Zm12 0v-2h3v-3h2v3c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 21 23h-3Zm-6-4.5c-2 0-3.813-.592-5.438-1.775C4.938 15.542 3.75 13.967 3 12c.75-1.967 1.938-3.542 3.563-4.725C8.188 6.092 10 5.5 12 5.5c2 0 3.813.592 5.438 1.775C19.063 8.458 20.25 10.033 21 12c-.75 1.967-1.938 3.542-3.563 4.725C15.813 17.908 14 18.5 12 18.5Zm0-3c.967 0 1.792-.342 2.475-1.025A3.372 3.372 0 0 0 15.5 12c0-.967-.342-1.792-1.025-2.475A3.372 3.372 0 0 0 12 8.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 8.5 12c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 12 15.5Zm0-2c-.417 0-.77-.146-1.063-.438A1.446 1.446 0 0 1 10.5 12c0-.417.146-.77.438-1.063A1.446 1.446 0 0 1 12 10.5c.417 0 .77.146 1.063.438.291.291.437.645.437 1.062 0 .417-.146.77-.438 1.063A1.446 1.446 0 0 1 12 13.5ZM1 6V3c0-.55.196-1.02.587-1.413A1.926 1.926 0 0 1 3 1h3v2H3v3H1Zm20 0V3h-3V1h3c.55 0 1.02.196 1.413.587C22.803 1.98 23 2.45 23 3v3h-2Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="group_work" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2ZM8 17.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5ZM9.5 8a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1-5 0Zm6.5 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 48 48" id="icon-device" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m25.2 21.868-.722-.214c.055-1.481-1.49-2.61-2.882-2.116a2.19 2.19 0 0 0-1.438 1.586l-.913 4.256h1.253l.438-2.044c.45.37 1.052.504 1.621.434.602-.075 1.182-.38 1.52-.893l.692.205a2.19 2.19 0 0 0 2.185 2.278h.001c2.873-.049 2.875-4.324 0-4.373h-.001c-.719 0-1.356.347-1.754.88Zm-2.91-1.22c1.265.024 1.263 1.903 0 1.926-1.267-.033-1.271-1.888 0-1.926Zm4.664 1.563c1.264.023 1.264 1.902 0 1.926-1.266-.024-1.262-1.904 0-1.926Z" fill="#191C1C"/><path d="M15.023 19.428h-.13l-.017.08-1.234 5.75-.025.122h1.378l.65-3.032 2.786 3.12.041-.193.948-4.418.306-1.429h-1.378l-.644 3.002-2.68-3.002Z" fill="#191C1C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M33.925 20.765h-1.252l-.145.678c-.434.012-1.006.09-1.433.305a1.635 1.635 0 0 0-.487-.515l-.026-.018h-1.346l-.046.189c.25.13.445.38.556.686.112.306.137.661.058.992l-.212.988-.255 1.188-.028.122h1.254l.4-1.87c.067-.262.282-.458.56-.592.234-.112.5-.174.73-.194l.253-1.18-.366 1.706c-.16.61-.082 1.115.234 1.474.313.355.839.543 1.524.569l.084.003.26-1.217-.127.003-.081.002a4.49 4.49 0 0 1-.387.001c-.125-.008-.2-.03-.244-.065-.04-.03-.073-.085-.081-.201-.009-.119.01-.289.062-.531l.008-.034.114-.536h1.028l.274-1.277H33.78l.145-.676Z" fill="#191C1C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M11.9 4.8a2 2 0 0 0-2 2v31.84a2 2 0 0 0 2 2h4.4v1.56a1 1 0 0 0 1 1h1.84a1 1 0 0 0 1-1v-1.56h1.28v1.56a1 1 0 0 0 1 1h3.12a1 1 0 0 0 1-1v-1.56h1.28v1.56a1 1 0 0 0 1 1h1.84a1 1 0 0 0 1-1v-1.56h4.4a2 2 0 0 0 2-2V6.8a2 2 0 0 0-2-2H11.9Zm24.16 2H11.9v31.84h24.16V6.8Z" fill="#191C1C"/></svg><svg fill="none" viewBox="0 0 48 48" id="icon-field" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M33.34 9.389a.562.562 0 0 0-.562.562v11.597h-7.556v-5.184l-8.889 6.08v-6.008L10 21.056V39.05c0 .31.252.562.563.562h26.874c.311 0 .563-.252.563-.562V9.95a.562.562 0 0 0-.563-.562H33.34Zm-2.562.562A2.562 2.562 0 0 1 33.34 7.39h4.097A2.563 2.563 0 0 1 40 9.95V39.05a2.562 2.562 0 0 1-2.563 2.562H10.564A2.562 2.562 0 0 1 8 39.05V20.04l10.333-7.539v6.152l8.89-6.08v6.975h3.555V9.951Z" fill="#191C1C"/><path d="M18.14 26.61h-3.905v3.906h3.906v-3.907ZM18.14 32.86h-3.905v3.906h3.906v-3.907ZM25.953 26.61h-3.906v3.906h3.906v-3.907ZM25.953 32.86h-3.906v3.906h3.906v-3.907ZM33.766 26.61H29.86v3.906h3.906v-3.907ZM33.766 32.86H29.86v3.906h3.906v-3.907Z" fill="#191C1C"/></svg><svg viewBox="0 0 48 48" id="icon-group" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M24 3.79a9.21 9.21 0 0 0-5.694 16.45l-3.62 5.948A9.21 9.21 0 1 0 20.97 37.1h6.06c.95 4.075 4.606 7.11 8.97 7.11a9.21 9.21 0 1 0 0-18.42 9.21 9.21 0 0 0-2.685.398l-3.62-5.949A9.21 9.21 0 0 0 24 3.79Zm3.816 17.595A9.176 9.176 0 0 1 24 22.21a9.176 9.176 0 0 1-3.816-.825l-3.47 5.701a9.206 9.206 0 0 1 4.495 7.814h5.582a9.205 9.205 0 0 1 4.495-7.814l-3.47-5.701ZM17.21 13a6.79 6.79 0 1 1 13.58 0 6.79 6.79 0 0 1-13.58 0Zm-12 22a6.79 6.79 0 1 1 13.58 0 6.79 6.79 0 0 1-13.58 0ZM36 28.21a6.79 6.79 0 1 0 0 13.58 6.79 6.79 0 0 0 0-13.58Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="image-outline" xmlns="http://www.w3.org/2000/svg"><path d="M19 5v14H5V5h14Zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor" xmlns="http://www.w3.org/2000/svg"><path d="M13.64 21.97a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 11.49 9.64a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor-add" xmlns="http://www.w3.org/2000/svg"><path d="m18 11 .113-.001 1.027.861a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 5.407 4.536A5.001 5.001 0 0 0 18 11ZM21 7h-2v2h-2V7h-2V5h2V3h2v2h2v2Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor-add-outline" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m18 11 .113-.001 1.027.861a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 5.407 4.536A5.001 5.001 0 0 0 18 11Zm-7.93 3.27a.997.997 0 0 1 1.33.48l2.3 4.99 1.8-.85-2.31-4.98c-.24-.5-.02-1.1.48-1.33l.28-.08 2.3-.45L8 5.12V15.9l1.82-1.47.25-.16Z" fill="#000"/><path d="M21 7h-2v2h-2V7h-2V5h2V3h2v2h2v2Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor-outline" xmlns="http://www.w3.org/2000/svg"><path d="M10.07 14.27a.997.997 0 0 1 1.33.48l2.3 4.99 1.8-.85-2.31-4.98c-.24-.5-.02-1.1.48-1.33l.28-.08 2.3-.45L8 5.12V15.9l1.82-1.47.25-.16Zm3.57 7.7a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 11.49 9.64a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-disband_group_outline" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c.488 0 .968-.035 1.438-.103A5.976 5.976 0 0 1 12 18c0-1.75.749-3.324 1.943-4.42.356-.515.9-.89 1.533-1.025A5.978 5.978 0 0 1 18 12c1.488 0 2.849.541 3.897 1.438.068-.47.103-.95.103-1.438 0-5.52-4.48-10-10-10ZM8 17.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5ZM9.5 8a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1-5 0Z" fill="#000"/><path d="m20.12 14.47 1.42 1.41L19.41 18l2.13 2.12-1.42 1.42L18 19.41l-2.12 2.13-1.41-1.42L16.59 18l-2.12-2.12 1.41-1.41L18 16.59l2.12-2.12Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-form-textbox" xmlns="http://www.w3.org/2000/svg"><path d="M17 7h5v10h-5v2a1 1 0 0 0 1 1h2v2h-2.5c-.55 0-1.5-.45-1.5-1 0 .55-.95 1-1.5 1H12v-2h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-2V2h2.5c.55 0 1.5.45 1.5 1 0-.55.95-1 1.5-1H20v2h-2a1 1 0 0 0-1 1v2ZM2 7h11v2H4v6h9v2H2V7Zm18 8V9h-3v6h3Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-horizontal-line" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.875 14.125A2.893 2.893 0 0 0 5 15c.833 0 1.542-.292 2.125-.875.4-.4.662-.858.788-1.375h1.174c.126.517.388.975.788 1.375A2.893 2.893 0 0 0 12 15c.833 0 1.542-.292 2.125-.875.4-.4.662-.858.788-1.375h1.174c.126.517.388.975.788 1.375A2.893 2.893 0 0 0 19 15c.833 0 1.542-.292 2.125-.875A2.893 2.893 0 0 0 22 12c0-.833-.292-1.542-.875-2.125A2.893 2.893 0 0 0 19 9c-.833 0-1.542.292-2.125.875-.4.4-.662.858-.788 1.375h-1.174a2.885 2.885 0 0 0-.788-1.375A2.893 2.893 0 0 0 12 9c-.833 0-1.542.292-2.125.875-.4.4-.662.858-.788 1.375H7.913a2.884 2.884 0 0 0-.788-1.375A2.893 2.893 0 0 0 5 9c-.833 0-1.542.292-2.125.875A2.893 2.893 0 0 0 2 12c0 .833.292 1.542.875 2.125Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-ring" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.375 18.625A2.893 2.893 0 0 0 4.5 19.5c.669 0 1.257-.188 1.765-.564a8.986 8.986 0 0 0 2.772 1.565c.096.62.375 1.161.838 1.624A2.893 2.893 0 0 0 12 23c.833 0 1.542-.292 2.125-.875a2.869 2.869 0 0 0 .838-1.624 8.987 8.987 0 0 0 2.772-1.565c.508.376 1.096.564 1.765.564.833 0 1.542-.292 2.125-.875A2.893 2.893 0 0 0 22.5 16.5c0-.833-.292-1.542-.875-2.125a3.008 3.008 0 0 0-.804-.582 9.045 9.045 0 0 0 0-3.586c.29-.142.558-.336.804-.582A2.893 2.893 0 0 0 22.5 7.5c0-.833-.292-1.542-.875-2.125A2.893 2.893 0 0 0 19.5 4.5c-.669 0-1.257.188-1.765.564a8.986 8.986 0 0 0-2.772-1.565 2.869 2.869 0 0 0-.838-1.624A2.893 2.893 0 0 0 12 1c-.833 0-1.542.292-2.125.875a2.869 2.869 0 0 0-.838 1.624 8.995 8.995 0 0 0-3.103 1.852A2.935 2.935 0 0 0 4.5 5c-.833 0-1.542.292-2.125.875A2.893 2.893 0 0 0 1.5 8c0 .833.292 1.542.875 2.125.223.223.464.403.723.54a9.074 9.074 0 0 0 .08 3.128c-.29.142-.557.336-.803.582A2.893 2.893 0 0 0 1.5 16.5c0 .833.292 1.542.875 2.125ZM9.192 5.09c-.787.32-1.507.77-2.133 1.324.294.466.441.995.441 1.586 0 .833-.292 1.542-.875 2.125a2.882 2.882 0 0 1-2.015.873 7.524 7.524 0 0 0 .085 2.507c.75.043 1.393.333 1.93.87.583.583.875 1.292.875 2.125 0 .451-.085.866-.256 1.244a7.453 7.453 0 0 0 1.948 1.166c.146-.38.373-.725.683-1.035A2.893 2.893 0 0 1 12 17c.833 0 1.542.292 2.125.875.31.31.537.655.683 1.035a7.454 7.454 0 0 0 1.948-1.166A2.98 2.98 0 0 1 16.5 16.5c0-.833.292-1.542.875-2.125a2.876 2.876 0 0 1 1.93-.87 7.488 7.488 0 0 0 0-3.01 2.876 2.876 0 0 1-1.93-.87A2.893 2.893 0 0 1 16.5 7.5c0-.451.085-.866.256-1.244a7.455 7.455 0 0 0-1.948-1.167 2.94 2.94 0 0 1-.683 1.036A2.893 2.893 0 0 1 12 7a2.893 2.893 0 0 1-2.125-.875 2.941 2.941 0 0 1-.683-1.035Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-vertical-line" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.875 2.875A2.893 2.893 0 0 0 9 5c0 .833.292 1.542.875 2.125.4.4.858.662 1.375.788v1.174a2.885 2.885 0 0 0-1.375.788A2.893 2.893 0 0 0 9 12c0 .833.292 1.542.875 2.125.4.4.858.662 1.375.788v1.174a2.884 2.884 0 0 0-1.375.788A2.893 2.893 0 0 0 9 19c0 .833.292 1.542.875 2.125A2.893 2.893 0 0 0 12 22c.833 0 1.542-.292 2.125-.875A2.893 2.893 0 0 0 15 19c0-.833-.292-1.542-.875-2.125-.4-.4-.858-.662-1.375-.788v-1.174a2.884 2.884 0 0 0 1.375-.788A2.893 2.893 0 0 0 15 12c0-.833-.292-1.542-.875-2.125-.4-.4-.858-.662-1.375-.788V7.913a2.885 2.885 0 0 0 1.375-.788A2.893 2.893 0 0 0 15 5c0-.833-.292-1.542-.875-2.125A2.893 2.893 0 0 0 12 2c-.833 0-1.542.292-2.125.875Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="pan_tool" xmlns="http://www.w3.org/2000/svg"><path d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="pan_tool-outline" xmlns="http://www.w3.org/2000/svg"><path d="M18 24h-6.55c-1.08 0-2.14-.45-2.89-1.23l-7.3-7.61 2.07-1.83c.62-.55 1.53-.66 2.26-.27L8 14.34V4.79a2.5 2.5 0 0 1 3.01-2.45C11.1 1.04 12.18.01 13.5.01c.86 0 1.61.43 2.06 1.09.29-.12.61-.18.94-.18a2.5 2.5 0 0 1 2.5 2.5v.28a2.5 2.5 0 0 1 3 2.45V20c0 2.21-1.79 4-4 4ZM4.14 15.28l5.86 6.1c.38.39.9.62 1.44.62H18c1.1 0 2-.9 2-2V6.15c0-.28-.22-.5-.5-.5s-.5.22-.5.5V12h-2V3.42c0-.28-.22-.5-.5-.5s-.5.22-.5.5V12h-2V2.51c0-.28-.22-.5-.5-.5s-.5.22-.5.5V12h-2V4.79c0-.28-.22-.5-.5-.5s-.5.23-.5.5v12.87l-5.35-2.83-.51.45Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="redo" xmlns="http://www.w3.org/2000/svg"><path d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="remove" xmlns="http://www.w3.org/2000/svg"><path d="M19 13H5v-2h14v2Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="shape_line_outline" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 11c2.76 0 5-2.24 5-5S8.76 1 6 1 1 3.24 1 6s2.24 5 5 5Zm0-8c1.65 0 3 1.35 3 3S7.65 9 6 9 3 7.65 3 6s1.35-3 3-3ZM21 14h-5c-1.1 0-2 .9-2 2v5c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2v-5c0-1.1-.9-2-2-2Zm0 7h-5v-5h5v5Z" fill="#000"/><path d="M19 8c-.46 0-.89-.11-1.29-.3L7.7 17.71c.19.4.3.83.3 1.29 0 1.65-1.35 3-3 3s-3-1.35-3-3 1.35-3 3-3c.46 0 .89.11 1.29.3L16.3 6.29c-.19-.4-.3-.83-.3-1.29 0-1.65 1.35-3 3-3s3 1.35 3 3-1.35 3-3 3Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="undo" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="unfold-less" xmlns="http://www.w3.org/2000/svg"><path d="M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59Zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="unfold-more" xmlns="http://www.w3.org/2000/svg"><path d="M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83Zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="wallpaper" xmlns="http://www.w3.org/2000/svg"><path d="M4 4h7V2H4c-1.1 0-2 .9-2 2v7h2V4Zm6 9-4 5h12l-3-4-2.03 2.71L10 13Zm7-4.5c0-.83-.67-1.5-1.5-1.5S14 7.67 14 8.5s.67 1.5 1.5 1.5S17 9.33 17 8.5ZM20 2h-7v2h7v7h2V4c0-1.1-.9-2-2-2Zm0 18h-7v2h7c1.1 0 2-.9 2-2v-7h-2v7ZM4 13H2v7c0 1.1.9 2 2 2h7v-2H4v-7Z" fill="#000"/></svg><svg viewBox="0 0 16 16" id="warning" xmlns="http://www.w3.org/2000/svg"><path d="M.667 14h14.666L8 1.333.667 14Zm8-2H7.333v-1.333h1.334V12Zm0-2.667H7.333V6.667h1.334v2.666Z"/></svg></svg>
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 160 160" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><style>:root>svg{display:none}:root>svg:target{display:block}</style><svg viewBox="0 0 24 24" id="account_box" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 5v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5a2 2 0 0 0-2 2zm12 4c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zm-9 8c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1H6v-1z"/></svg><svg viewBox="0 0 24 24" id="account_tree" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"/></svg><svg fill="none" viewBox="0 0 24 24" id="add" xmlns="http://www.w3.org/2000/svg"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="add_box" xmlns="http://www.w3.org/2000/svg"><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2Z"/></svg><svg viewBox="0 0 24 24" id="add_circle" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"/></svg><svg viewBox="0 -960 960 960" fill="#000000de" id="add_link" xmlns="http://www.w3.org/2000/svg"><path d="M440-280H280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h160v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h320v80H320Zm200 160v-80h160q50 0 85-35t35-85q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H520Z"/></svg><svg viewBox="0 0 24 24" id="apartment" xmlns="http://www.w3.org/2000/svg"><path d="M17 11V3H7v4H3v14h8v-4h2v4h8V11h-4ZM7 19H5v-2h2v2Zm0-4H5v-2h2v2Zm0-4H5V9h2v2Zm4 4H9v-2h2v2Zm0-4H9V9h2v2Zm0-4H9V5h2v2Zm4 8h-2v-2h2v2Zm0-4h-2V9h2v2Zm0-4h-2V5h2v2Zm4 12h-2v-2h2v2Zm0-4h-2v-2h2v2Z"/></svg><svg viewBox="0 0 24 24" id="api" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="m14 12-2 2-2-2 2-2 2 2zm-2-6 2.12 2.12 2.5-2.5L12 1 7.38 5.62l2.5 2.5L12 6zm-6 6 2.12-2.12-2.5-2.5L1 12l4.62 4.62 2.5-2.5L6 12zm12 0-2.12 2.12 2.5 2.5L23 12l-4.62-4.62-2.5 2.5L18 12zm-6 6-2.12-2.12-2.5 2.5L12 23l4.62-4.62-2.5-2.5L12 18z"/></svg><svg viewBox="0 0 24 24" id="apollo_project" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path style="fill:none" d="M0 0h24v24H0V0z"/><path d="M12 17a4 4 0 1 0-4-4 4 4 0 0 0 4 4Zm-1.6-4.8h.06A1.58 1.58 0 0 1 12 11a1.6 1.6 0 0 1 1.6 1.6h.2a1 1 0 0 1 0 2h-3.4a1.2 1.2 0 0 1 0-2.4Z"/><path d="M20 6h-8l-2-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2Zm0 12H4V8h16Z"/></g></g></svg><svg viewBox="0 0 24 24" id="apps" xmlns="http://www.w3.org/2000/svg"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="archive" xmlns="http://www.w3.org/2000/svg"><path d="m20.54 5.23-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5 6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="arrow_back" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg><svg viewBox="0 0 24 24" id="arrow_circle_down" xmlns="http://www.w3.org/2000/svg"><path d="M12 4c4.41 0 8 3.59 8 8s-3.59 8-8 8-8-3.59-8-8 3.59-8 8-8Zm0-2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm1 10V8h-2v4H8l4 4 4-4h-3Z"/></svg><svg viewBox="0 0 24 24" id="arrow_circle_up" xmlns="http://www.w3.org/2000/svg"><path d="M12 20c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8Zm0 2c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10Zm-1-10v4h2v-4h3l-4-4-4 4h3Z"/></svg><svg viewBox="0 0 24 24" id="arrow_downward" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"/><path d="m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"/></svg><svg viewBox="0 0 24 24" id="arrow_drop_down" xmlns="http://www.w3.org/2000/svg"><path d="m7 10 5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="arrow_drop_up" xmlns="http://www.w3.org/2000/svg"><path d="m7 14 5-5 5 5z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="arrow_forward" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg><svg viewBox="0 0 24 24" id="arrow_left" xmlns="http://www.w3.org/2000/svg"><path d="m14 7-5 5 5 5V7z"/><path fill="none" d="M24 0v24H0V0h24z"/></svg><svg viewBox="0 0 24 24" id="arrow_right" xmlns="http://www.w3.org/2000/svg"><path d="m10 17 5-5-5-5v10z"/><path fill="none" d="M0 24V0h24v24H0z"/></svg><svg viewBox="0 0 24 24" id="arrow_upward" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"/><path d="m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"/></svg><svg viewBox="0 0 24 24" id="article" xmlns="http://www.w3.org/2000/svg"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-5 14H7v-2h7v2Zm3-4H7v-2h10v2Zm0-4H7V7h10v2Z"/></svg><svg viewBox="0 0 24 24" id="assignment" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg><svg viewBox="0 0 24 24" id="attach_file" xmlns="http://www.w3.org/2000/svg"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5a2.5 2.5 0 0 1 5 0v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5a2.5 2.5 0 0 0 5 0V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="build" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" fill="none" d="M0 0h24v24H0z"/><path d="m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z"/></svg><svg viewBox="0 0 24 24" id="cable" xmlns="http://www.w3.org/2000/svg"><path d="M20 5V4c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v1h-1v4c0 .55.45 1 1 1h1v7c0 1.1-.9 2-2 2s-2-.9-2-2V7c0-2.21-1.79-4-4-4S5 4.79 5 7v7H4c-.55 0-1 .45-1 1v4h1v1c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-1h1v-4c0-.55-.45-1-1-1H7V7c0-1.1.9-2 2-2s2 .9 2 2v10c0 2.21 1.79 4 4 4s4-1.79 4-4v-7h1c.55 0 1-.45 1-1V5h-1Z"/></svg><svg viewBox="0 0 24 24" id="calculate" xmlns="http://www.w3.org/2000/svg"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-5.97 4.06L14.09 6l1.41 1.41L16.91 6l1.06 1.06-1.41 1.41 1.41 1.41-1.06 1.06-1.41-1.4-1.41 1.41-1.06-1.06 1.41-1.41-1.41-1.42Zm-6.78.66h5v1.5h-5v-1.5ZM11.5 16h-2v2H8v-2H6v-1.5h2v-2h1.5v2h2V16Zm6.5 1.25h-5v-1.5h5v1.5Zm0-2.5h-5v-1.5h5v1.5Z"/></svg><svg viewBox="0 0 24 24" id="camera" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="m9.4 10.5 4.77-8.26a9.984 9.984 0 0 0-8.49 2.01l3.66 6.35.06-.1zM21.54 9c-.92-2.92-3.15-5.26-6-6.34L11.88 9h9.66zm.26 1h-7.49l.29.5 4.76 8.25A9.91 9.91 0 0 0 22 12c0-.69-.07-1.35-.2-2zM8.54 12l-3.9-6.75A9.958 9.958 0 0 0 2.2 14h7.49l-1.15-2zm-6.08 3c.92 2.92 3.15 5.26 6 6.34L12.12 15H2.46zm11.27 0-3.9 6.76a9.984 9.984 0 0 0 8.49-2.01l-3.66-6.35-.93 1.6z"/></svg><svg viewBox="0 0 16 16" id="cancel" xmlns="http://www.w3.org/2000/svg"><path d="M8 1.333A6.66 6.66 0 0 0 1.333 8 6.66 6.66 0 0 0 8 14.667 6.66 6.66 0 0 0 14.667 8 6.66 6.66 0 0 0 8 1.333Zm3.333 9.06-.94.94L8 8.94l-2.393 2.393-.94-.94L7.06 8 4.667 5.607l.94-.94L8 7.06l2.393-2.393.94.94L8.94 8l2.393 2.393Z"/></svg><svg viewBox="0 0 24 24" id="card_membership" xmlns="http://www.w3.org/2000/svg"><path d="M20 2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h4v5l4-2 4 2v-5h4c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2Zm0 13H4v-2h16v2Zm0-5H4V4h16v6Z"/></svg><svg viewBox="0 0 24 24" id="category" xmlns="http://www.w3.org/2000/svg"><path d="m12 2-5.5 9h11L12 2ZM17.5 22a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM3 13.5h8v8H3v-8Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="center_focus_weak" xmlns="http://www.w3.org/2000/svg"><path d="M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4ZM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5Zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2Zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4ZM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4Zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Z" fill="#000"/></svg><svg viewBox="0 0 16 16" id="check_circle" xmlns="http://www.w3.org/2000/svg"><path d="M8 1.333A6.67 6.67 0 0 0 1.333 8 6.67 6.67 0 0 0 8 14.667 6.67 6.67 0 0 0 14.667 8 6.67 6.67 0 0 0 8 1.333Zm-1.333 10L3.333 8l.94-.94 2.394 2.387 5.06-5.06.94.946-6 6Z"/></svg><svg viewBox="0 0 24 24" id="circle" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"/></svg><svg viewBox="0 0 24 24" id="cleaning_services" xmlns="http://www.w3.org/2000/svg"><path d="M16 11h-1V3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8H8c-2.76 0-5 2.24-5 5v7h18v-7c0-2.76-2.24-5-5-5Zm3 10h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H9v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H5v-5c0-1.65 1.35-3 3-3h8c1.65 0 3 1.35 3 3v5Z"/></svg><svg viewBox="0 0 24 24" id="clear" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="cloud_off" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M19.35 10.04A7.49 7.49 0 0 0 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46a5.497 5.497 0 0 1 8.05 4.87v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z"/></svg><svg viewBox="0 0 24 24" id="cloud_queue" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M19.35 10.04A7.49 7.49 0 0 0 12 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 0 0 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3z"/></svg><svg viewBox="0 0 20 20" id="cloud_upload_outline" xmlns="http://www.w3.org/2000/svg"><path d="M5.417 16.667c-1.264 0-2.344-.438-3.24-1.313C1.281 14.48.833 13.41.833 12.146c0-1.084.327-2.049.98-2.896a4.331 4.331 0 0 1 2.562-1.625 5.656 5.656 0 0 1 2.083-3.104A5.702 5.702 0 0 1 10 3.333c1.625 0 3.003.566 4.135 1.698 1.132 1.132 1.698 2.51 1.698 4.136a3.64 3.64 0 0 1 2.386 1.239c.632.715.948 1.552.948 2.51 0 1.042-.365 1.928-1.094 2.657-.73.73-1.615 1.094-2.656 1.094h-4.584c-.458 0-.85-.163-1.176-.49A1.606 1.606 0 0 1 9.167 15v-4.292L7.833 12l-1.166-1.167L10 7.5l3.333 3.333L12.167 12l-1.334-1.292V15h4.584c.583 0 1.076-.201 1.479-.604.403-.403.604-.896.604-1.48 0-.583-.201-1.076-.604-1.479a2.012 2.012 0 0 0-1.48-.604h-1.25V9.167c0-1.153-.405-2.136-1.218-2.949C12.135 5.406 11.153 5 10 5s-2.135.406-2.948 1.218c-.812.813-1.219 1.796-1.219 2.949h-.416a2.81 2.81 0 0 0-2.063.854 2.81 2.81 0 0 0-.854 2.062c0 .806.285 1.493.854 2.063A2.81 2.81 0 0 0 5.417 15H7.5v1.667H5.417Z"/></svg><svg viewBox="0 0 18 18" id="create_new_folder" xmlns="http://www.w3.org/2000/svg"><path d="M15 4.5H9L7.5 3H3c-.833 0-1.492.667-1.492 1.5l-.008 9c0 .832.667 1.5 1.5 1.5h12c.832 0 1.5-.668 1.5-1.5V6c0-.832-.668-1.5-1.5-1.5Zm-.75 6H12v2.25h-1.5V10.5H8.25V9h2.25V6.75H12V9h2.25v1.5Z"/></svg><svg viewBox="0 0 24 24" id="dashboard" xmlns="http://www.w3.org/2000/svg"><path d="M3 13h8V3H3v10Zm0 8h8v-6H3v6Zm10 0h8V11h-8v10Zm0-18v6h8V3h-8Z"/></svg><svg viewBox="0 0 24 24" id="delete_forever" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"/><path fill="none" d="M0 0h24v24H0z"/></svg><svg viewBox="0 0 24 24" id="description" xmlns="http://www.w3.org/2000/svg"><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6Zm2 16H8v-2h8v2Zm0-4H8v-2h8v2Zm-3-5V3.5L18.5 9H13Z"/></svg><svg viewBox="0 0 24 24" id="done" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg><svg viewBox="0 0 24 24" id="download" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"/></svg><svg viewBox="0 0 24 24" id="drag_indicator" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/></svg><svg fill="none" viewBox="0 0 24 24" id="draw" xmlns="http://www.w3.org/2000/svg"><path d="M4 21v-4.25L17.175 3.6c.2-.2.425-.35.675-.45a1.975 1.975 0 0 1 1.512 0c.242.1.455.25.638.45L21.4 5c.2.183.35.396.45.638a1.975 1.975 0 0 1 0 1.512c-.1.25-.25.475-.45.675L8.25 21H4ZM18.65 7.775 20 6.425 18.575 5l-1.35 1.35 1.425 1.425ZM14 21a6.644 6.644 0 0 0 3.425-.925C18.475 19.458 19 18.6 19 17.5c0-.6-.158-1.117-.475-1.55-.317-.433-.742-.808-1.275-1.125L15.775 16.3c.383.167.683.35.9.55.217.2.325.417.325.65 0 .383-.304.73-.913 1.038-.608.308-1.304.462-2.087.462a.968.968 0 0 0-.713.288A.968.968 0 0 0 13 20c0 .283.096.52.287.712.192.192.43.288.713.288Zm-9.425-7.65 1.5-1.5a3.576 3.576 0 0 1-.788-.412C5.096 11.296 5 11.15 5 11c0-.2.15-.4.45-.6.3-.2.933-.508 1.9-.925 1.467-.633 2.442-1.208 2.925-1.725.483-.517.725-1.1.725-1.75 0-.917-.367-1.646-1.1-2.188C9.167 3.272 8.2 3 7 3c-.75 0-1.42.133-2.013.4-.591.267-1.045.592-1.362.975A.908.908 0 0 0 3.4 5.1a.938.938 0 0 0 .375.65.908.908 0 0 0 .725.225c.267-.033.492-.142.675-.325.233-.233.492-.4.775-.5C6.233 5.05 6.583 5 7 5c.683 0 1.188.1 1.512.3.325.2.488.433.488.7 0 .233-.146.446-.438.638-.291.191-.962.529-2.012 1.012-1.333.583-2.258 1.112-2.775 1.588A2.298 2.298 0 0 0 3 11c0 .533.142.988.425 1.363.283.375.667.704 1.15.987Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="dynamic_form" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M17 20v-9h-2V4h7l-2 5h2l-5 11zm-2-7v7H4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h11zm-8.75 2.75h-1.5v1.5h1.5v-1.5zM13 4v7H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h9zM6.25 6.75h-1.5v1.5h1.5v-1.5z"/></svg><svg viewBox="0 0 13 10" id="edge_end_arrow" xmlns="http://www.w3.org/2000/svg"><path d="m.5 5 12 5V0L.5 5Z"/></svg><svg viewBox="0 0 13 10" id="edge_start_arrow" xmlns="http://www.w3.org/2000/svg"><path d="m12.5 5-12 5V0l12 5Z"/></svg><svg viewBox="0 0 24 24" id="edit" xmlns="http://www.w3.org/2000/svg"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="edit_attributes" xmlns="http://www.w3.org/2000/svg"><path d="M17.63 7H6.37C3.96 7 2 9.24 2 12s1.96 5 4.37 5h11.26c2.41 0 4.37-2.24 4.37-5s-1.96-5-4.37-5zM7.24 14.46l-2.57-2.57.7-.7 1.87 1.87 3.52-3.52.7.7-4.22 4.22z"/><path class="bzst0" d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="edit_notifications" xmlns="http://www.w3.org/2000/svg"><path d="m17.58 6.25 1.77 1.77L14.37 13H12.6v-1.77l4.98-4.98Zm3.27-.44-1.06-1.06c-.2-.2-.51-.2-.71 0l-.85.85L20 7.37l.85-.85c.2-.2.2-.52 0-.71ZM18 12.2V17h2v2H4v-2h2v-7c0-2.79 1.91-5.14 4.5-5.8v-.7c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v.7c.82.21 1.57.59 2.21 1.09L10.6 10.4V15h4.6l2.8-2.8ZM10 20h4c0 1.1-.9 2-2 2s-2-.9-2-2Z"/></svg><svg viewBox="0 0 24 24" id="edit_off" xmlns="http://www.w3.org/2000/svg"><path d="m12.126 8.125 1.937-1.937 3.747 3.747-1.937 1.938-3.747-3.748ZM20.71 5.63l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75L20.71 7a1 1 0 0 0 0-1.37ZM2 5l6.63 6.63L3 17.25V21h3.75l5.63-5.62L18 21l2-2L4 3 2 5Z"/></svg><svg viewBox="0 0 24 24" id="email" xmlns="http://www.w3.org/2000/svg"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z"/></svg><svg viewBox="0 0 24 24" id="engineering_maintenance" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="M22.1 6.84V6.5a1.87 1.87 0 0 0 0-.34l.74-.58a.17.17 0 0 0 0-.22l-.7-1.21a.18.18 0 0 0-.14-.08l-.86.35a2.66 2.66 0 0 0-.59-.34l-.13-.93A.18.18 0 0 0 20.2 3h-1.4a.16.16 0 0 0-.17.15l-.13.93a3.12 3.12 0 0 0-.59.34L17 4.07a.17.17 0 0 0-.21.08l-.7 1.21a.17.17 0 0 0 0 .22l.74.58a1.94 1.94 0 0 0 0 .68l-.74.58a.17.17 0 0 0 0 .22l.7 1.21a.18.18 0 0 0 .21.08l.87-.35a2.66 2.66 0 0 0 .59.34l.13.93a.16.16 0 0 0 .17.15h1.4a.16.16 0 0 0 .17-.15l.13-.93a3.12 3.12 0 0 0 .59-.34l.87.35a.17.17 0 0 0 .21-.08l.7-1.21a.17.17 0 0 0 0-.22Zm-2.6.91a1.25 1.25 0 1 1 1.25-1.25 1.25 1.25 0 0 1-1.25 1.25ZM9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4Zm10.42-4.19.5.87a.15.15 0 0 1 0 .17l-.53.41a1.79 1.79 0 0 1 0 .24 1.94 1.94 0 0 1 0 .24l.52.41a.12.12 0 0 1 0 .16l-.5.87a.12.12 0 0 1-.15.06l-.63-.24a2.18 2.18 0 0 1-.42.24l-.09.66a.11.11 0 0 1-.12.1h-1a.12.12 0 0 1-.12-.11l-.09-.66a1.76 1.76 0 0 1-.42-.24l-.62.25a.12.12 0 0 1-.15-.06l-.5-.87a.12.12 0 0 1 0-.16l.53-.41a1.79 1.79 0 0 1 0-.24 1.94 1.94 0 0 1 0-.24l-.53-.41a.12.12 0 0 1 0-.16l.5-.87a.12.12 0 0 1 .15-.06l.62.25a2.18 2.18 0 0 1 .42-.24l.09-.66A.12.12 0 0 1 17 10h1a.15.15 0 0 1 .14.1l.09.66a1.76 1.76 0 0 1 .42.24l.62-.25a.12.12 0 0 1 .15.06Zm-2.75 1.69a.83.83 0 1 0 .83-.83.83.83 0 0 0-.83.83ZM4.74 9h8.53a.49.49 0 0 0 .49-.49.49.49 0 0 0-.49-.51H13a4 4 0 0 0-2-3.45v1a.5.5 0 0 1-1 0V4.14A4.09 4.09 0 0 0 9 4a4.09 4.09 0 0 0-1 .14V5.5a.5.5 0 0 1-1 0v-1A4 4 0 0 0 5 8h-.26a.49.49 0 0 0-.49.49.49.49 0 0 0 .49.51Zm8.12 1a4 4 0 0 1-7.72 0Z" style="fill-rule:evenodd"/></g></g></svg><svg viewBox="0 0 24 24" id="error" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg><svg viewBox="0 0 24 24" id="event_busy" xmlns="http://www.w3.org/2000/svg"><path d="m9.31 17 2.44-2.44L14.19 17l1.06-1.06-2.44-2.44 2.44-2.44L14.19 10l-2.44 2.44L9.31 10l-1.06 1.06 2.44 2.44-2.44 2.44L9.31 17ZM19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm0 16H5V8h14v11Z"/></svg><svg viewBox="0 0 24 24" id="event_note" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M17 10H7v2h10v-2zm2-7h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zm-5-5H7v2h7v-2z"/></svg><svg viewBox="0 0 24 24" id="extension" xmlns="http://www.w3.org/2000/svg"><path d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5a2.5 2.5 0 0 0-5 0V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7 0 1.49-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5a2.5 2.5 0 0 0 0-5Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="eye_tracking" xmlns="http://www.w3.org/2000/svg"><path d="M6 23H3c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 1 21v-3h2v3h3v2Zm12 0v-2h3v-3h2v3c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 21 23h-3Zm-6-4.5c-2 0-3.813-.592-5.438-1.775C4.938 15.542 3.75 13.967 3 12c.75-1.967 1.938-3.542 3.563-4.725C8.188 6.092 10 5.5 12 5.5c2 0 3.813.592 5.438 1.775C19.063 8.458 20.25 10.033 21 12c-.75 1.967-1.938 3.542-3.563 4.725C15.813 17.908 14 18.5 12 18.5Zm0-3c.967 0 1.792-.342 2.475-1.025A3.372 3.372 0 0 0 15.5 12c0-.967-.342-1.792-1.025-2.475A3.372 3.372 0 0 0 12 8.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 8.5 12c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 12 15.5Zm0-2c-.417 0-.77-.146-1.063-.438A1.446 1.446 0 0 1 10.5 12c0-.417.146-.77.438-1.063A1.446 1.446 0 0 1 12 10.5c.417 0 .77.146 1.063.438.291.291.437.645.437 1.062 0 .417-.146.77-.438 1.063A1.446 1.446 0 0 1 12 13.5ZM1 6V3c0-.55.196-1.02.587-1.413A1.926 1.926 0 0 1 3 1h3v2H3v3H1Zm20 0V3h-3V1h3c.55 0 1.02.196 1.413.587C22.803 1.98 23 2.45 23 3v3h-2Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 48 48" id="factory" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M33.34 9.389a.562.562 0 0 0-.562.562v11.597h-7.556v-5.184l-8.889 6.08v-6.008L10 21.056V39.05c0 .31.252.562.563.562h26.874c.311 0 .563-.252.563-.562V9.95a.562.562 0 0 0-.563-.562H33.34Zm-2.562.562A2.562 2.562 0 0 1 33.34 7.39h4.097A2.563 2.563 0 0 1 40 9.95V39.05a2.562 2.562 0 0 1-2.563 2.562H10.564A2.562 2.562 0 0 1 8 39.05V20.04l10.333-7.539v6.152l8.89-6.08v6.975h3.555V9.951Z" fill="#191C1C"/><path d="M18.14 26.61h-3.905v3.906h3.906v-3.907ZM18.14 32.86h-3.905v3.906h3.906v-3.907ZM25.953 26.61h-3.906v3.906h3.906v-3.907ZM25.953 32.86h-3.906v3.906h3.906v-3.907ZM33.766 26.61H29.86v3.906h3.906v-3.907ZM33.766 32.86H29.86v3.906h3.906v-3.907Z" fill="#191C1C"/></svg><svg viewBox="0 0 24 24" id="favorite" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="m12 21.35-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg><svg viewBox="0 0 24 24" id="favorite_border" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z"/></svg><svg viewBox="0 0 24 24" id="file_copy" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"/></svg><svg viewBox="0 0 24 24" id="filter_alt" xmlns="http://www.w3.org/2000/svg"><path d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61Z"/></svg><svg viewBox="0 0 24 24" id="first_page" xmlns="http://www.w3.org/2000/svg"><path d="M18.41 16.59 13.82 12l4.59-4.59L17 6l-6 6 6 6 1.41-1.41ZM6 6h2v12H6V6Z"/></svg><svg viewBox="0 0 24 24" id="folder" xmlns="http://www.w3.org/2000/svg"><path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2Z"/></svg><svg viewBox="0 0 24 24" id="folder_off" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="m1.89 4.44 1.33 1.33A1.79 1.79 0 0 0 3 6.6v10.8a1.81 1.81 0 0 0 1.8 1.8h11.86l2.91 2.91 1.27-1.27L3.17 3.16ZM19.2 6.6H12l-1.8-1.8H7.34l13.44 13.44a1.72 1.72 0 0 0 .22-.84v-9a1.81 1.81 0 0 0-1.8-1.8Z"/></g></svg><svg viewBox="0 0 24 24" id="folder_open" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z"/></svg><svg viewBox="0 0 24 24" id="forward" xmlns="http://www.w3.org/2000/svg"><path d="M12 8V4l8 8-8 8v-4H4V8h8Z"/></svg><svg viewBox="0 0 24 24" id="fullscreen" xmlns="http://www.w3.org/2000/svg"><path d="M7 14H5v5h5v-2H7v-3Zm-2-4h2V7h3V5H5v5Zm12 7h-3v2h5v-5h-2v3ZM14 5v2h3v3h2V5h-5Z"/></svg><svg viewBox="0 0 24 24" id="fullscreen_exit" xmlns="http://www.w3.org/2000/svg"><path d="M5 16h3v3h2v-5H5v2Zm3-8H5v2h5V5H8v3Zm6 11h2v-3h3v-2h-5v5Zm2-11V5h-2v5h5V8h-3Z"/></svg><svg viewBox="0 0 24 24" id="functions" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z"/></svg><svg viewBox="0 0 24 24" id="gps_fixed" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/></svg><svg viewBox="0 0 48 48" id="group" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M24 3.79a9.21 9.21 0 0 0-5.694 16.45l-3.62 5.948A9.21 9.21 0 1 0 20.97 37.1h6.06c.95 4.075 4.606 7.11 8.97 7.11a9.21 9.21 0 1 0 0-18.42 9.21 9.21 0 0 0-2.685.398l-3.62-5.949A9.21 9.21 0 0 0 24 3.79Zm3.816 17.595A9.176 9.176 0 0 1 24 22.21a9.176 9.176 0 0 1-3.816-.825l-3.47 5.701a9.206 9.206 0 0 1 4.495 7.814h5.582a9.205 9.205 0 0 1 4.495-7.814l-3.47-5.701ZM17.21 13a6.79 6.79 0 1 1 13.58 0 6.79 6.79 0 0 1-13.58 0Zm-12 22a6.79 6.79 0 1 1 13.58 0 6.79 6.79 0 0 1-13.58 0ZM36 28.21a6.79 6.79 0 1 0 0 13.58 6.79 6.79 0 0 0 0-13.58Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="group_work" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2ZM8 17.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5ZM9.5 8a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1-5 0Zm6.5 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="help" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"/></svg><svg viewBox="0 0 24 24" id="help_outline" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z"/></svg><svg viewBox="0 0 24 24" id="hide_source" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M2.81 2.81 1.39 4.22l2.27 2.27A9.91 9.91 0 0 0 2 12c0 5.52 4.48 10 10 10 2.04 0 3.93-.61 5.51-1.66l2.27 2.27 1.41-1.41L2.81 2.81zM12 20c-4.41 0-8-3.59-8-8 0-1.48.41-2.86 1.12-4.06l10.94 10.94C14.86 19.59 13.48 20 12 20zM7.94 5.12 6.49 3.66A9.91 9.91 0 0 1 12 2c5.52 0 10 4.48 10 10 0 2.04-.61 3.93-1.66 5.51l-1.46-1.46A7.869 7.869 0 0 0 20 12c0-4.41-3.59-8-8-8-1.48 0-2.86.41-4.06 1.12z"/></svg><svg viewBox="0 0 24 24" id="highlight_off" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M14.59 8 12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg><svg viewBox="0 0 24 24" id="history" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M13 3a9 9 0 0 0-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42A8.954 8.954 0 0 0 13 21a9 9 0 0 0 0-18zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"/></svg><svg viewBox="0 0 24 24" id="home" xmlns="http://www.w3.org/2000/svg"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg fill="none" viewBox="0 0 24 24" id="image" xmlns="http://www.w3.org/2000/svg"><path d="M19 5v14H5V5h14Zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="info_outline" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg><svg viewBox="0 0 24 24" id="inventory" xmlns="http://www.w3.org/2000/svg"><path d="M20 2H4c-1 0-2 .9-2 2v3.01c0 .72.43 1.34 1 1.69V20c0 1.1 1.1 2 2 2h14c.9 0 2-.9 2-2V8.7c.57-.35 1-.97 1-1.69V4c0-1.1-1-2-2-2Zm-5 12H9v-2h6v2Zm5-7H4V4l16-.02V7Z"/></svg><svg viewBox="0 0 24 24" id="keyboard_arrow_down" xmlns="http://www.w3.org/2000/svg"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/><path fill="none" d="M0 0h24v24H0V0z"/></svg><svg viewBox="0 0 24 24" id="keyboard_arrow_up" xmlns="http://www.w3.org/2000/svg"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="label" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16z"/></svg><svg viewBox="0 0 24 24" id="lan" xmlns="http://www.w3.org/2000/svg"><path d="M13 22h8v-7h-3v-4h-5V9h3V2H8v7h3v2H6v4H3v7h8v-7H8v-2h8v2h-3v7Z"/></svg><svg viewBox="0 0 24 24" id="language" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95a15.65 15.65 0 0 0-1.38-3.56A8.03 8.03 0 0 1 18.92 8zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56A7.987 7.987 0 0 1 5.08 16zm2.95-8H5.08a7.987 7.987 0 0 1 4.33-3.56A15.65 15.65 0 0 0 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z"/></svg><svg viewBox="0 0 24 24" id="last_page" xmlns="http://www.w3.org/2000/svg"><path d="M5.59 7.41 10.18 12l-4.59 4.59L7 18l6-6-6-6-1.41 1.41ZM16 6h2v12h-2V6Z"/></svg><svg viewBox="0 0 24 24" id="launch" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg><svg fill="none" viewBox="0 0 30 30" id="left_circle" xmlns="http://www.w3.org/2000/svg"><circle cx="15" cy="15" r="14" transform="rotate(-180 15 15)" stroke="#AFB3BA" stroke-width="2"/><path d="M18.41 10.41 13.83 15l4.58 4.59L17 21l-6-6 6-6 1.41 1.41Z" fill="#AFB3BA"/></svg><svg viewBox="0 0 24 24" id="link" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg><svg viewBox="0 0 24 24" id="link_off" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5zm-1 4h-2.19l2 2H16zM2 4.27l3.11 3.11A4.991 4.991 0 0 0 2 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3 2 4.27z"/><path fill="none" d="M0 24V0"/></svg><svg viewBox="0 0 24 24" id="local_activity" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 12c0-1.1.9-2 2-2V6c0-1.1-.9-2-2-2H4c-1.1 0-1.99.9-1.99 2v4c1.1 0 1.99.9 1.99 2s-.89 2-2 2v4c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-4c-1.1 0-2-.9-2-2zm-4.42 4.8L12 14.5l-3.58 2.3 1.08-4.12-3.29-2.69 4.24-.25L12 5.8l1.54 3.95 4.24.25-3.29 2.69 1.09 4.11z"/></svg><svg viewBox="0 0 24 24" id="local_offer" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/></svg><svg viewBox="0 0 24 24" id="location" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7Zm0 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5Z"/></svg><svg viewBox="0 0 24 24" id="lock" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/></svg><svg viewBox="0 0 24 24" id="lock_open" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"/></svg><svg viewBox="0 0 24 24" id="loop" xmlns="http://www.w3.org/2000/svg"><path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0 0 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 0 0 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="low_priority" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M14 5h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2h-.5C6.02 16 4 13.98 4 11.5S6.02 7 8.5 7H12V5H8.5C4.92 5 2 7.92 2 11.5z"/></svg><svg viewBox="0 0 24 24" id="mark_email_unread" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M22 8.98V18c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h10.1c-.06.32-.1.66-.1 1 0 1.48.65 2.79 1.67 3.71L12 11 4 6v2l8 5 5.3-3.32c.54.2 1.1.32 1.7.32 1.13 0 2.16-.39 3-1.02zM16 5c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z"/></svg><svg viewBox="0 0 24 24" id="medical_information" xmlns="http://www.w3.org/2000/svg"><path d="M20 7h-5V4c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v3H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2Zm-9-3h2v5h-2V4Zm0 12H9v2H7v-2H5v-2h2v-2h2v2h2v2Zm2-1.5V13h6v1.5h-6Zm0 3V16h4v1.5h-4Z"/></svg><svg viewBox="0 0 24 24" id="menu" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg><svg viewBox="0 0 24 24" id="more_vert" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/></svg><svg viewBox="0 0 24 24" id="multiple_stop" xmlns="http://www.w3.org/2000/svg"><path d="m17 4 4 4-4 4V9h-4V7h4V4Zm-7 3c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1ZM6 7c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1Zm1 10h4v-2H7v-3l-4 4 4 4v-3Zm7 0c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm4 0c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Z"/></svg><svg viewBox="0 0 24 24" id="mx-509_certificate" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="M4 10h7v1.5H4zM4 12.5h6V14H4zM4 7.5h8V9H4z"/><path d="M21 3.5H3a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2v-13a2 2 0 0 0-2-2Zm0 15H3v-13h18Z"/><path d="M13.91 13.48h1v3l1.5-.64 1.5.64v-3h1V12l1-1-1-1V8.52h-1.5l-1-1-1 1h-1.5V10l-1 1 1 1Zm2.48-3.72A1.24 1.24 0 1 1 15.15 11a1.24 1.24 0 0 1 1.24-1.24Z"/></g></g></svg><svg viewBox="0 0 24 24" id="mx-application_cog_outline" xmlns="http://www.w3.org/2000/svg"><path d="M21.7 18.6v-1l1.1-.8c.1-.1.2-.2.1-.3l-1-1.7c0-.1-.2-.1-.3-.1l-1.2.5c-.3-.2-.6-.4-.9-.5l-.2-1.3c0-.1-.1-.2-.2-.2h-2c-.2 0-.3.1-.3.2l-.2 1.3c-.3.2-.5.3-.8.5l-1.2-.5c-.1 0-.2 0-.3.1l-1 1.7c0 .1 0 .2.1.3l1.1.8v1l-1.1.8c-.1.1-.2.2-.1.3l1 1.7c.1.1.2.1.3.1l1.2-.5c.2.2.5.4.8.5l.2 1.3c.1.1.2.2.3.2h2c.1 0 .2-.1.2-.2l.2-1.3c.3-.2.5-.3.8-.5l1.2.4c.1 0 .2 0 .3-.1l1-1.7c.1-.1.1-.2 0-.2l-1.1-.8Zm-3.7.9c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5ZM12.3 22H3c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v9.1c-.6-.6-1.3-1.1-2-1.4V6H3v14h8.3c.2.7.5 1.4 1 2Z"/></svg><svg viewBox="0 0 24 24" id="mx-application_empty" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="M4 16h4v4H4zM16 4h4v4h-4zM14 8V4h-4v3.46l.54.54H14zM20 14v-4h-4v3.46l.54.54H20zM14 10h-1.46L14 11.46V10zM20 16h-1.46L20 17.46V16z"/><path d="m20.84 20.83-.01.01L3.16 3.17 1.89 4.44 4 6.54V8h1.46l2 2H4v4h4v-3.46l2 2V14h1.46l2 2H10v4h4v-3.46l2 2V20h1.46l2.11 2.11 1.27-1.27v-.01zM8 4H6.54L8 5.46V4z"/></g></svg><svg viewBox="0 0 24 24" id="mx-calendar_clock" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path style="fill:none" d="M0 0h24v24H0z"/><path d="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69V13m4-5H5v11h4.67A7 7 0 0 1 19 9.67V8M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1a7 7 0 0 1-9.9 9.9H5m11-9.85A4.85 4.85 0 0 0 11.15 16a4.85 4.85 0 0 0 9.7 0A4.85 4.85 0 0 0 16 11.15Z"/></g></g></svg><svg viewBox="0 0 24 24" id="mx-circle_dash" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m21.814 13.956-1.966-.39a8.051 8.051 0 0 0 0-3.125l1.966-.389a10.055 10.055 0 0 1 0 3.904ZM20.32 6.448l-1.665 1.115a8.05 8.05 0 0 0-2.21-2.21l1.115-1.665c1.09.73 2.03 1.67 2.76 2.76Zm-6.364-4.254-.39 1.966a8.045 8.045 0 0 0-3.125 0l-.389-1.966a10.05 10.05 0 0 1 3.904 0ZM6.448 3.688l1.114 1.665a8.051 8.051 0 0 0-2.209 2.21L3.688 6.448c.73-1.09 1.67-2.03 2.76-2.76Zm-4.254 6.365a10.05 10.05 0 0 0 0 3.903l1.966-.39a8.046 8.046 0 0 1 0-3.125l-1.966-.389Zm1.494 7.507 1.665-1.114a8.052 8.052 0 0 0 2.21 2.209L6.447 20.32a10.055 10.055 0 0 1-2.76-2.76Zm6.364 4.254.39-1.966a8.044 8.044 0 0 0 3.125 0l.389 1.966a10.046 10.046 0 0 1-3.904 0Zm7.508-1.494-1.115-1.665a8.05 8.05 0 0 0 2.21-2.21l1.665 1.115a10.056 10.056 0 0 1-2.76 2.76Z"/></svg><svg version="1.1" id="mx-cog-off" x="0" y="0" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><style>.st1{display:none;opacity:.76;fill:none;stroke:#b1d135;stroke-width:1.8;stroke-miterlimit:10;enable-background:new}</style><path d="M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z" style="fill:none"/><path d="m2 4.3 2.1 2.1-1.4 2.5c-.1.2 0 .4.2.6l2 1.6c0 .3-.1.6-.1.9s0 .6.1.9l-2 1.6c-.2.1-.2.4-.1.6l1.9 3.3c.1.2.4.3.6.2l2.4-1c.5.4 1 .7 1.6.9l.4 2.5c0 .2.2.4.5.4H14c.2 0 .4-.2.5-.4l.4-2.5c.4-.2.7-.3 1.1-.6l3.9 3.9 1.3-1.3L3.3 3 2 4.3zm10 11.3c-2 0-3.6-1.6-3.6-3.6 0-.4.1-.8.2-1.1l4.5 4.5c-.3.1-.7.2-1.1.2zM19.1 12.9c0-.3.1-.6.1-.9s0-.6-.1-.9l2-1.6c.2-.1.2-.4.1-.6l-1.9-3.3c-.1-.2-.4-.3-.6-.2l-2.4 1c-.5-.4-1-.7-1.6-.9L14.3 3c0-.2-.2-.4-.5-.4H10c-.2 0-.4.2-.5.4l-.2 2.4c-.3.1-.5.2-.8.3l2.8 2.8c.2 0 .5-.1.7-.1 2 0 3.6 1.6 3.6 3.6 0 .2 0 .5-.1.7l4.5 4.5 1.2-2.1c.1-.2.1-.5-.1-.6l-2-1.6z"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor" xmlns="http://www.w3.org/2000/svg"><path d="M13.64 21.97a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 11.49 9.64a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor_add" xmlns="http://www.w3.org/2000/svg"><path d="m18 11 .113-.001 1.027.861a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 5.407 4.536A5.001 5.001 0 0 0 18 11ZM21 7h-2v2h-2V7h-2V5h2V3h2v2h2v2Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor_add_outline" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m18 11 .113-.001 1.027.861a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 5.407 4.536A5.001 5.001 0 0 0 18 11Zm-7.93 3.27a.997.997 0 0 1 1.33.48l2.3 4.99 1.8-.85-2.31-4.98c-.24-.5-.02-1.1.48-1.33l.28-.08 2.3-.45L8 5.12V15.9l1.82-1.47.25-.16Z" fill="#000"/><path d="M21 7h-2v2h-2V7h-2V5h2V3h2v2h2v2Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-cursor_outline" xmlns="http://www.w3.org/2000/svg"><path d="M10.07 14.27a.997.997 0 0 1 1.33.48l2.3 4.99 1.8-.85-2.31-4.98c-.24-.5-.02-1.1.48-1.33l.28-.08 2.3-.45L8 5.12V15.9l1.82-1.47.25-.16Zm3.57 7.7a.99.99 0 0 1-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 0 1-1-1V3a1 1 0 0 1 1.64-.77l.01-.01 11.49 9.64a1.001 1.001 0 0 1-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69Z" fill="#000"/></svg><svg viewBox="0 0 24 24" style="enable-background:new 0 0 24 24" xml:space="preserve" id="mx-default_route" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" style="fill:none"/><path d="M22 12c0-5.5-4.5-10-10-10S2 6.5 2 12s4.5 10 10 10 10-4.5 10-10zM7.1 8.9l3.1 3.1-3.1 3.1v-2.2H4.4v-1.8h2.7V8.9zm1.8-1.8L12 4l3.1 3.1h-2.2v2.7h-1.8V7.1H8.9zm8 8L13.8 12l3.1-3.1v2.2h2.7v1.8h-2.7v2.2zm-1.8 1.8L12 20l-3.1-3.1h2.2v-2.7h1.8v2.7h2.2z"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-disband_group_outline" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c.488 0 .968-.035 1.438-.103A5.976 5.976 0 0 1 12 18c0-1.75.749-3.324 1.943-4.42.356-.515.9-.89 1.533-1.025A5.978 5.978 0 0 1 18 12c1.488 0 2.849.541 3.897 1.438.068-.47.103-.95.103-1.438 0-5.52-4.48-10-10-10ZM8 17.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5ZM9.5 8a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1-5 0Z" fill="#000"/><path d="m20.12 14.47 1.42 1.41L19.41 18l2.13 2.12-1.42 1.42L18 19.41l-2.12 2.13-1.41-1.42L16.59 18l-2.12-2.12 1.41-1.41L18 16.59l2.12-2.12Z" fill="#000"/></svg><svg viewBox="0 0 160 160" id="mx-empty_state_404" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M113.061 97c-11.08 0-20.06 8.981-20.06 20.061 0 11.079 8.98 20.06 20.06 20.06 4.523 0 8.716-1.51 12.083-4.06v2.378l19.011 18.975 6.259-6.26-18.974-19.01h-2.378a19.964 19.964 0 0 0 4.06-12.083c0-11.08-8.982-20.061-20.061-20.061Zm-10.802 20.061a10.785 10.785 0 0 1 10.802-10.802 10.785 10.785 0 0 1 10.802 10.802 10.785 10.785 0 0 1-10.802 10.802 10.785 10.785 0 0 1-10.802-10.802Z"/><path d="m80.164 83.71.002-.008c.456-1.677.702-4.01.702-7.046 0-4.06-.534-6.98-1.487-8.89l-.006-.01c-.91-1.869-2.052-2.62-3.45-2.62-1.012 0-1.847.322-2.557.952l-.003.002c-.648.571-1.253 1.621-1.72 3.335-.43 1.65-.663 3.984-.663 7.051 0 4.059.52 6.982 1.45 8.896.936 1.87 2.094 2.624 3.493 2.624 1.022 0 1.841-.313 2.517-.908.677-.601 1.282-1.666 1.72-3.37l.002-.008Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M40 20c-6.6 0-11.94 5.137-11.94 11.416l-.055 100.58a8 8 0 0 0 8 8.004H99.34c1.163 0 1.653-2.375.68-3.013-6.487-4.254-10.771-11.589-10.771-19.926 0-13.151 10.66-23.811 23.811-23.811 3.359 0 6.556.696 9.454 1.95.688.299 1.485-.189 1.485-.938V48.379L98.24 20H40Zm12.196 73.46v-6.698H39.8v-4.635L48.971 59l5.199 2.385-7.622 19.373h5.648v-8.947h5.867v8.947h3.441v6.004h-3.44v6.698h-5.868Zm15.41-4.264-.003-.004c-1.837-3.136-2.696-7.4-2.696-12.67 0-5.3.872-9.56 2.747-12.643l.005-.007c1.945-3.148 4.756-4.74 8.308-4.74 3.581 0 6.387 1.61 8.278 4.804 1.84 3.109 2.698 7.377 2.698 12.675 0 5.3-.886 9.561-2.79 12.646C82.234 92.408 79.434 94 75.883 94c-3.58 0-6.387-1.61-8.277-4.804Zm35.136-2.434v6.698h5.867v-6.698h3.441v-6.004h-3.441v-8.947h-5.867v8.947h-5.648l7.621-19.373L99.517 59l-9.171 23.127v4.635h12.396Z"/></svg><svg viewBox="0 0 160 160" id="mx-empty_state_500" xmlns="http://www.w3.org/2000/svg"><path d="M111.211 89.517c-1.093.27-1.464 1.64-.667 2.436l9.004 9.004-1.369 8.22-8.22 1.37-9.005-9.005c-.801-.801-2.167-.415-2.44.686-1.422 5.737.11 12.055 4.592 16.539 4.8 4.8 11.759 6.121 17.825 4.123l20.184 20.183a7.75 7.75 0 0 0 10.959-10.959l-20.162-20.161c2.024-6.069.688-13.014-4.144-17.846-4.489-4.489-10.816-6.018-16.557-4.59Zm38.288 48.075a2.906 2.906 0 1 1-5.812.002 2.906 2.906 0 0 1 5.812-.002Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M31.88 30h87.281c2.133 0 3.879 1.741 3.879 3.87v23.22c0 2.13-1.746 3.87-3.879 3.87H31.879c-2.133 0-3.879-1.74-3.879-3.87V33.87c0-2.128 1.746-3.87 3.88-3.87Zm3.878 15.48c0 4.258 3.492 7.74 7.759 7.74s7.758-3.483 7.758-7.74-3.491-7.74-7.758-7.74c-4.267 0-7.759 3.483-7.759 7.74ZM123.04 131.07a.996.996 0 0 0-.293-.707l-2.64-2.641a1.03 1.03 0 0 0-.909-.279c-6.629 1.187-13.762-.69-18.92-5.848a21.368 21.368 0 0 1-6.27-14.556H31.88c-2.133 0-3.879 1.742-3.879 3.87v23.221c0 2.128 1.746 3.87 3.88 3.87h87.281c2.133 0 3.879-1.742 3.879-3.87v-3.06Zm-87.282-8.55c0 4.257 3.492 7.74 7.759 7.74s7.758-3.483 7.758-7.74c0-4.258-3.491-7.741-7.758-7.741-4.267 0-7.759 3.483-7.759 7.741ZM95.558 99.299H31.879c-2.133 0-3.879-1.742-3.879-3.87v-23.22c0-2.13 1.746-3.87 3.88-3.87h87.281c2.133 0 3.879 1.74 3.879 3.87V84.94c0 .7-.701 1.184-1.37.982a21.542 21.542 0 0 0-11.422-.288c-4.165 1.034-5.493 6.187-2.533 9.147l4.518 4.518h-7.865l-.585-.585c-2.477-2.477-6.343-1.93-8.225.585Zm-59.8-15.48c0 4.257 3.492 7.74 7.759 7.74s7.758-3.483 7.758-7.74c0-4.258-3.491-7.74-7.758-7.74-4.267 0-7.759 3.483-7.759 7.74Z"/></svg><svg viewBox="0 0 160 160" id="mx-empty_state_box" xmlns="http://www.w3.org/2000/svg"><path d="M119.547 36H38.6c-6.413 0-11.44 5.142-11.44 11.556l-.058 80.889C27.102 134.8 32.187 140 38.6 140h80.947c6.355 0 11.555-5.2 11.555-11.555v-80.89c0-6.413-5.2-11.555-11.555-11.555Zm0 69.333H96.436c0 9.592-7.8 17.334-17.334 17.334-9.533 0-17.333-7.742-17.333-17.334H38.6V47.556h80.947v57.777ZM118.255 9.578l4.149 17.313-6.801 1.63-4.149-17.313 6.801-1.63ZM142.853 16.614l-9.657 14.898-5.606-3.634 9.657-14.898 5.606 3.634ZM154.207 39.48l-16.694 4-1.63-6.801 16.694-4.001 1.63 6.801Z"/></svg><svg viewBox="0 0 160 160" id="mx-empty_state_module_not_found" xmlns="http://www.w3.org/2000/svg"><path d="M38.85 73.099c-.954 3.56 1.183 7.253 4.748 8.209 3.566.955 7.263-1.176 8.217-4.735.954-3.56-1.183-7.254-4.748-8.209-3.566-.955-7.264 1.175-8.217 4.735ZM79.784 90.835c0 4.493 3.682 8.17 8.183 8.17 4.5 0 8.183-3.677 8.183-8.17s-3.682-8.17-8.183-8.17c-4.5 0-8.183 3.677-8.183 8.17Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M60 32H24c-6.6 0-11.94 5.4-11.94 12L12 116c0 6.6 5.4 12 12 12h76.63a1 1 0 0 0 .864-.496l21.261-36.448c1.602-2.746 4.783-3.66 7.435-2.742.791.274 1.81-.243 1.81-1.08V56c0-6.6-5.4-12-12-12H72L60 32Zm-1.702 46.31c-.16.593-.344 1.14-.56 1.66l2.858 3.811c.274.343.244.817-.078 1.155l-5.057 5.041a.89.89 0 0 1-1.168.111L50.45 87.21a12.79 12.79 0 0 1-3.37.909L45.21 92.51a.869.869 0 0 1-1.043.51l-6.915-1.853c-.432-.115-.693-.513-.667-.968l.575-4.74c-.947-.716-1.747-1.547-2.464-2.472l-4.767.573c-.43.02-.846-.227-.956-.68l-1.858-6.895c-.102-.413.118-.874.51-1.039l4.416-1.86c.055-.564.178-1.167.327-1.724.15-.558.38-1.131.615-1.647l-2.895-3.82c-.292-.348-.24-.834.078-1.154l5.039-5.047a.89.89 0 0 1 1.168-.11l3.842 2.878c1.06-.428 2.192-.761 3.37-.908l1.871-4.392c.188-.413.612-.626 1.044-.51l6.915 1.852c.432.116.71.518.667.969l-.575 4.74c.947.716 1.747 1.547 2.464 2.471l4.767-.572c.43-.02.846.227.956.68l1.858 6.895c.102.412-.118.874-.51 1.038l-4.416 1.861a10.729 10.729 0 0 1-.327 1.724Zm46.036 12.525c0 .749-.046 1.452-.137 2.133l4.569 3.585c.432.318.546.886.273 1.385l-4.364 7.534a1.086 1.086 0 0 1-1.342.499l-5.432-2.178a15.62 15.62 0 0 1-3.683 2.133l-.818 5.764a1.06 1.06 0 0 1-1.069.93h-8.728c-.546 0-.978-.386-1.091-.93l-.819-5.764c-1.341-.545-2.546-1.271-3.682-2.133l-5.433 2.178c-.5.159-1.069 0-1.341-.499l-4.365-7.534c-.25-.454-.136-1.067.273-1.385l4.615-3.585c-.114-.68-.16-1.43-.16-2.133 0-.704.091-1.452.205-2.133l-4.615-3.586c-.454-.317-.545-.907-.272-1.384l4.341-7.534c.273-.5.841-.68 1.342-.5l5.432 2.18c1.114-.84 2.342-1.59 3.683-2.134l.818-5.764c.091-.544.523-.93 1.069-.93h8.728c.546 0 1 .386 1.092.93l.818 5.764c1.341.545 2.546 1.27 3.682 2.133l5.433-2.178c.5-.16 1.069 0 1.341.499l4.365 7.534c.25.454.136 1.067-.273 1.384l-4.614 3.586c.113.68.159 1.407.159 2.133Z"/><path d="M100.755 136.992c-.778 1.334.183 3.008 1.727 3.008h51.369c1.544 0 2.506-1.674 1.728-3.008l-25.685-44.03c-.772-1.324-2.683-1.324-3.455 0l-25.684 44.03Zm30.063-4.105h-5.303v-5.264h5.303v5.264Zm0-10.527h-5.303v-15.214h5.303v15.214Z"/></svg><svg viewBox="0 0 24 24" id="mx-file-eye-outline" xmlns="http://www.w3.org/2000/svg"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg><svg viewBox="0 0 24 24" id="mx-file_cog_outline" xmlns="http://www.w3.org/2000/svg"><path d="M6 2a2 2 0 0 0-2 2v16c0 1.11.89 2 2 2h6v-2H6V4h7v5h5v3h2V8l-6-6m4 12a.26.26 0 0 0-.26.21l-.19 1.32c-.3.13-.59.29-.85.47l-1.24-.5c-.11 0-.24 0-.31.13l-1 1.73c-.06.11-.04.24.06.32l1.06.82a4.193 4.193 0 0 0 0 1l-1.06.82a.26.26 0 0 0-.06.32l1 1.73c.06.13.19.13.31.13l1.24-.5c.26.18.54.35.85.47l.19 1.32c.02.12.12.21.26.21h2c.11 0 .22-.09.24-.21l.19-1.32c.3-.13.57-.29.84-.47l1.23.5c.13 0 .26 0 .33-.13l1-1.73a.26.26 0 0 0-.06-.32l-1.07-.82c.02-.17.04-.33.04-.5 0-.17-.01-.33-.04-.5l1.06-.82a.26.26 0 0 0 .06-.32l-1-1.73c-.06-.13-.19-.13-.32-.13l-1.23.5c-.27-.18-.54-.35-.85-.47l-.19-1.32A.236.236 0 0 0 20 14m-1 3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5c-.84 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5Z"/></svg><svg viewBox="0 0 24 24" id="mx-folder-cog" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8.08a6.74 6.74 0 0 1-.08-1 7 7 0 0 1 10-6.31V8a2 2 0 0 0-2-2h-8l-2-2H4m14 10a.26.26 0 0 0-.26.21l-.19 1.32a5 5 0 0 0-.85.47l-1.24-.5c-.11 0-.24 0-.31.13l-1 1.73a.25.25 0 0 0 .06.32l1.06.82a4.18 4.18 0 0 0 0 1l-1.06.82a.26.26 0 0 0-.06.32l1 1.73c.06.13.19.13.31.13l1.24-.5a4.11 4.11 0 0 0 .85.47l.19 1.32A.25.25 0 0 0 18 24h2a.25.25 0 0 0 .24-.21l.19-1.32a5.31 5.31 0 0 0 .84-.47l1.23.5c.13 0 .26 0 .33-.13l1-1.73a.26.26 0 0 0-.06-.32l-1.07-.82a4.21 4.21 0 0 0 0-.5 2.81 2.81 0 0 0 0-.5l1.06-.82a.26.26 0 0 0 .06-.32l-1-1.73c-.06-.13-.19-.13-.32-.13l-1.23.5a4.39 4.39 0 0 0-.85-.47l-.19-1.32A.24.24 0 0 0 20 14h-2m1 3.5a1.5 1.5 0 1 1-1.5 1.5 1.5 1.5 0 0 1 1.5-1.5Z"/><path d="M0 0h24v24H0Z" style="fill:none"/></g></g></svg><svg fill="none" viewBox="0 0 24 24" id="mx-form-textbox" xmlns="http://www.w3.org/2000/svg"><path d="M17 7h5v10h-5v2a1 1 0 0 0 1 1h2v2h-2.5c-.55 0-1.5-.45-1.5-1 0 .55-.95 1-1.5 1H12v-2h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-2V2h2.5c.55 0 1.5.45 1.5 1 0-.55.95-1 1.5-1H20v2h-2a1 1 0 0 0-1 1v2ZM2 7h11v2H4v6h9v2H2V7Zm18 8V9h-3v6h3Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="mx-forward" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0Zm0 23C5.936 23 1 18.064 1 12S5.936 1 12 1s11 4.936 11 11-4.936 11-11 11Z"/><path d="M12.565 9.783V7l5.565 5.565-5.565 5.565v-2.782H7V9.783z"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-grid" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.25 7.913a2.884 2.884 0 0 1-1.375-.788A2.893 2.893 0 0 1 2 5c0-.833.292-1.542.875-2.125A2.893 2.893 0 0 1 5 2c.833 0 1.542.292 2.125.875.4.4.662.858.788 1.375h1.174c.126-.517.388-.975.788-1.375A2.893 2.893 0 0 1 12 2c.833 0 1.542.292 2.125.875.4.4.662.858.788 1.375h1.174c.126-.517.388-.975.788-1.375A2.893 2.893 0 0 1 19 2c.833 0 1.542.292 2.125.875S22 4.167 22 5s-.292 1.542-.875 2.125c-.4.4-.858.662-1.375.788v1.174c.517.126.975.388 1.375.788.583.583.875 1.292.875 2.125s-.292 1.542-.875 2.125c-.4.4-.858.662-1.375.788v1.174c.517.126.975.388 1.375.788.583.583.875 1.292.875 2.125s-.292 1.542-.875 2.125A2.893 2.893 0 0 1 19 22a2.893 2.893 0 0 1-2.125-.875c-.4-.4-.662-.858-.788-1.375h-1.174a2.884 2.884 0 0 1-.788 1.375A2.893 2.893 0 0 1 12 22a2.893 2.893 0 0 1-2.125-.875c-.4-.4-.662-.858-.788-1.375H7.913a2.884 2.884 0 0 1-.788 1.375A2.893 2.893 0 0 1 5 22a2.893 2.893 0 0 1-2.125-.875A2.893 2.893 0 0 1 2 19c0-.833.292-1.542.875-2.125.4-.4.858-.662 1.375-.788v-1.174a2.884 2.884 0 0 1-1.375-.788A2.893 2.893 0 0 1 2 12c0-.833.292-1.542.875-2.125.4-.4.858-.662 1.375-.788V7.913Zm12.625-.788c.4.4.858.662 1.375.788v1.174a2.885 2.885 0 0 0-1.375.788c-.4.4-.662.858-.788 1.375h-1.174a2.885 2.885 0 0 0-.788-1.375c-.4-.4-.858-.662-1.375-.788V7.913a2.885 2.885 0 0 0 1.375-.788c.4-.4.662-.858.788-1.375h1.174c.126.517.388.975.788 1.375Zm-5.625.788a2.885 2.885 0 0 1-1.375-.788c-.4-.4-.662-.858-.788-1.375H7.913a2.884 2.884 0 0 1-.788 1.375c-.4.4-.858.662-1.375.788v1.174c.517.126.975.388 1.375.788s.662.858.788 1.375h1.174c.126-.517.388-.975.788-1.375s.858-.662 1.375-.788V7.913Zm0 7a2.884 2.884 0 0 1-1.375-.788c-.4-.4-.662-.858-.788-1.375H7.913a2.884 2.884 0 0 1-.788 1.375c-.4.4-.858.662-1.375.788v1.174c.517.126.975.388 1.375.788s.662.858.788 1.375h1.174c.126-.517.388-.975.788-1.375s.858-.662 1.375-.788v-1.174Zm1.5 1.174c.517.126.975.388 1.375.788s.662.858.788 1.375h1.174c.126-.517.388-.975.788-1.375s.858-.662 1.375-.788v-1.174a2.884 2.884 0 0 1-1.375-.788c-.4-.4-.662-.858-.788-1.375h-1.174a2.884 2.884 0 0 1-.788 1.375c-.4.4-.858.662-1.375.788v1.174Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-horizontal-line" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.875 14.125A2.893 2.893 0 0 0 5 15c.833 0 1.542-.292 2.125-.875.4-.4.662-.858.788-1.375h1.174c.126.517.388.975.788 1.375A2.893 2.893 0 0 0 12 15c.833 0 1.542-.292 2.125-.875.4-.4.662-.858.788-1.375h1.174c.126.517.388.975.788 1.375A2.893 2.893 0 0 0 19 15c.833 0 1.542-.292 2.125-.875A2.893 2.893 0 0 0 22 12c0-.833-.292-1.542-.875-2.125A2.893 2.893 0 0 0 19 9c-.833 0-1.542.292-2.125.875-.4.4-.662.858-.788 1.375h-1.174a2.885 2.885 0 0 0-.788-1.375A2.893 2.893 0 0 0 12 9c-.833 0-1.542.292-2.125.875-.4.4-.662.858-.788 1.375H7.913a2.884 2.884 0 0 0-.788-1.375A2.893 2.893 0 0 0 5 9c-.833 0-1.542.292-2.125.875A2.893 2.893 0 0 0 2 12c0 .833.292 1.542.875 2.125Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-horizontal_align_center" xmlns="http://www.w3.org/2000/svg"><path d="M22 13h-4.2l1.6 1.6L18 16l-4-4 4-4 1.4 1.4-1.6 1.6H22v2Zm-9 7h-2V4h2v16Zm-3-8-4 4-1.4-1.4L6.2 13H2v-2h4.2L4.6 9.4 6 8l4 4Z" fill="#000"/></svg><svg viewBox="0 0 20 20" id="mx-https" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.75 10c0-.567-.05-1.117-.117-1.667h2.817c.133.534.217 1.092.217 1.667 0 .308-.025.608-.067.9a4.772 4.772 0 0 1 1.6.533c.083-.466.133-.941.133-1.433 0-4.583-3.75-8.333-8.333-8.333-4.608 0-8.333 3.75-8.333 8.333s3.75 8.333 8.333 8.333c.492 0 .967-.05 1.433-.133-.383-.7-.6-1.508-.6-2.367 0-.241.025-.475.059-.708A12.367 12.367 0 0 1 10 16.633c-.692-1-1.25-2.108-1.592-3.3h3.1a4.959 4.959 0 0 1 2.159-2c.05-.441.083-.883.083-1.333ZM10 3.358c.692 1 1.25 2.117 1.592 3.309H8.408A11.35 11.35 0 0 1 10 3.358Zm-6.45 8.309A6.868 6.868 0 0 1 3.333 10c0-.575.084-1.133.217-1.667h2.817c-.067.55-.117 1.1-.117 1.667s.05 1.117.117 1.667H3.55Zm.683 1.666h2.434c.291 1.042.666 2.042 1.166 2.967a6.673 6.673 0 0 1-3.6-2.967Zm2.434-6.666H4.233a6.603 6.603 0 0 1 3.6-2.967c-.5.925-.875 1.925-1.166 2.967Zm5.283 5h-3.9c-.083-.55-.133-1.1-.133-1.667s.05-1.125.133-1.667h3.9c.075.542.133 1.1.133 1.667s-.058 1.117-.133 1.667Zm.208-7.967a6.656 6.656 0 0 1 3.609 2.967h-2.459a13.042 13.042 0 0 0-1.15-2.967Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M17.396 14.722h.312c.344 0 .625.286.625.635v3.175c0 .349-.28.635-.625.635h-3.75a.632.632 0 0 1-.625-.635v-3.175c0-.349.282-.635.625-.635h.313v-.635c0-.876.7-1.587 1.562-1.587.863 0 1.563.711 1.563 1.587v.635Zm-2.188 2.223c0 .349.282.634.625.634a.632.632 0 0 0 .625-.634.632.632 0 0 0-.625-.636.632.632 0 0 0-.625.636Zm-.343-2.858v.635h1.937v-.635a.977.977 0 0 0-.969-.984.977.977 0 0 0-.968.984Z"/></svg><svg viewBox="0 0 24 24" id="mx-ip_network_outline" xmlns="http://www.w3.org/2000/svg"><path d="M15 19a1 1 0 0 0-1-1h-1v-2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4v2h-1a1 1 0 0 0-1 1H2v2h7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1h7v-2h-7m-8-5V4h10v10H7m3-9H8v8h2V5m4 0h-3v8h2v-2h1a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m0 4h-1V7h1v2Z" fill-rule="nonzero"/></svg><svg viewBox="0 0 24 24" id="mx-lan" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="M10 2a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h1v2H2v2h4v2H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H8v-2h8v2h-1a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2h-1v-2h4v-2h-9V9h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2Zm0 2h4v3h-4ZM5 17h4v3H5Zm10 0h4v3h-4Z"/></g></g></svg><svg viewBox="0 0 20 20" id="mx-moxa_device_extension" xmlns="http://www.w3.org/2000/svg"><path d="M16.389 12.917V15h2.083v1.389H16.39v2.083H15V16.39h-2.083V15H15v-2.083h1.389Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M16.667 2.583 16 3.25c-1-.917-2.25-1.417-3.5-1.417S10 2.333 9 3.25l-.667-.667A5.874 5.874 0 0 1 12.5.833c1.5 0 3 .584 4.167 1.75ZM12.5 2.75c1 0 2 .417 2.75 1.167l-.667.666C14 4 13.25 3.75 12.5 3.75c-.75 0-1.5.25-2.083.833l-.667-.666c.75-.75 1.75-1.167 2.75-1.167Zm.833 6.417H15a1.667 1.667 0 0 1 1.667 1.666v.917a4.167 4.167 0 0 0-5 4.083H3.333a1.667 1.667 0 0 1-1.666-1.666v-3.334a1.667 1.667 0 0 1 1.666-1.666h8.334V5.833h1.666v3.334Zm-9.166 4.166h1.666v-1.666H4.167v1.666Zm2.916 0H8.75v-1.666H7.083v1.666Zm2.917 0h1.667v-1.666H10v1.666Z"/></svg><svg viewBox="0 0 14 14" id="mx-moxa_m" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M2.63 10.55V5.72l3.44 4.83h1.84l3.47-4.86v4.86H14V3.44h-3.18l-3.83 5.4-3.84-5.4H0v7.11h2.63z"/><path style="fill:none" d="M0 0h14v14H0V0z"/></g></g></svg><svg viewBox="0 0 24 24" id="mx-package_update" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path style="fill:none" d="M0 0h24v24H0z"/><path d="M15.06 12.4a2.61 2.61 0 0 0 0-.4 1.75 1.75 0 0 0 0-.4l.87-.68a.22.22 0 0 0 .06-.26l-.83-1.42a.2.2 0 0 0-.25-.1l-1 .41a3.25 3.25 0 0 0-.7-.4L13 8.06a.21.21 0 0 0-.21-.17h-1.61a.19.19 0 0 0-.2.17l-.16 1.09a3.36 3.36 0 0 0-.69.4l-1-.41a.2.2 0 0 0-.25.1L8 10.66a.2.2 0 0 0 .05.26l.95.68a2.69 2.69 0 0 0 0 .4 1.8 1.8 0 0 0 0 .4l-.87.68a.22.22 0 0 0-.06.26l.83 1.42a.2.2 0 0 0 .25.1l1-.41a3.25 3.25 0 0 0 .7.4l.15 1.09a.21.21 0 0 0 .21.17h1.64a.19.19 0 0 0 .2-.17l.16-1.09a3 3 0 0 0 .69-.4l1 .41a.2.2 0 0 0 .25-.1l.85-1.42a.2.2 0 0 0-.05-.26ZM12 13.54A1.54 1.54 0 1 1 13.54 12 1.54 1.54 0 0 1 12 13.54Z"/><path d="M4 12a8 8 0 0 1 2.62-5.88L9 8.5v-6H3l2.2 2.2A10 10 0 0 0 11 22v-2a8 8 0 0 1-7-8Zm18 0a10 10 0 0 0-9-9.95v2a8 8 0 0 1 4.38 13.81L15 15.5v6h6l-2.2-2.2A9.93 9.93 0 0 0 22 12Z"/></g></g></svg><svg viewBox="0 0 24 24" style="enable-background:new 0 0 24 24" xml:space="preserve" id="mx-remote_vpn" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" style="fill:none"/><path d="M21.3 2.8H2.7c-.3 0-.6.3-.6.6v9.1c0 3.2 1.7 6.2 4.6 7.7l5.1 2.8c.1 0 .2.1.3.1s.2 0 .3-.1l5.1-2.8c2.8-1.6 4.6-4.5 4.6-7.7V3.4c-.2-.3-.4-.6-.8-.6zM9.4 9.6l-1.5 3.7c-.1.2-.3.4-.6.4s-.5-.1-.6-.4L5.2 9.6c-.1-.3.1-.6.4-.7.3-.1.7 0 .8.3l1 2.4 1-2.4c.1-.3.5-.4.8-.3.2.1.3.4.2.7zm3.2 2.2h-1.5v1.3c0 .3-.3.6-.6.6s-.6-.3-.6-.6V9.4c0-.3.3-.6.6-.6h2.1c.8 0 1.5.7 1.5 1.5 0 .9-.7 1.5-1.5 1.5zm6.2 1.3c0 .3-.2.5-.4.6h-.2c-.2 0-.3-.1-.5-.2l-2-2.4v2c0 .3-.3.6-.6.6s-.6-.3-.6-.6V9.4c0-.3.2-.5.4-.6.2-.1.5 0 .7.2l2 2.4v-2c0-.3.3-.6.6-.6s.6.3.6.6v3.7z"/><path d="M12.6 10h-1.5v.7h1.5c.2 0 .3-.1.3-.3 0-.3-.1-.4-.3-.4z"/></svg><svg viewBox="0 0 24 24" id="mx-restart" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="M13 3a9 9 0 0 0-9 9H1l3.89 3.89L5 16l4-4H6a7 7 0 1 1 2.06 4.94l-1.42 1.42A9 9 0 1 0 13 3Z"/><path d="M11.5 9v6l5-3-5-3z"/></g></g></svg><svg fill="none" viewBox="0 0 24 24" id="mx-ring" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.375 18.625A2.893 2.893 0 0 0 4.5 19.5c.669 0 1.257-.188 1.765-.564a8.986 8.986 0 0 0 2.772 1.565c.096.62.375 1.161.838 1.624A2.893 2.893 0 0 0 12 23c.833 0 1.542-.292 2.125-.875a2.869 2.869 0 0 0 .838-1.624 8.987 8.987 0 0 0 2.772-1.565c.508.376 1.096.564 1.765.564.833 0 1.542-.292 2.125-.875A2.893 2.893 0 0 0 22.5 16.5c0-.833-.292-1.542-.875-2.125a3.008 3.008 0 0 0-.804-.582 9.045 9.045 0 0 0 0-3.586c.29-.142.558-.336.804-.582A2.893 2.893 0 0 0 22.5 7.5c0-.833-.292-1.542-.875-2.125A2.893 2.893 0 0 0 19.5 4.5c-.669 0-1.257.188-1.765.564a8.986 8.986 0 0 0-2.772-1.565 2.869 2.869 0 0 0-.838-1.624A2.893 2.893 0 0 0 12 1c-.833 0-1.542.292-2.125.875a2.869 2.869 0 0 0-.838 1.624 8.995 8.995 0 0 0-3.103 1.852A2.935 2.935 0 0 0 4.5 5c-.833 0-1.542.292-2.125.875A2.893 2.893 0 0 0 1.5 8c0 .833.292 1.542.875 2.125.223.223.464.403.723.54a9.074 9.074 0 0 0 .08 3.128c-.29.142-.557.336-.803.582A2.893 2.893 0 0 0 1.5 16.5c0 .833.292 1.542.875 2.125ZM9.192 5.09c-.787.32-1.507.77-2.133 1.324.294.466.441.995.441 1.586 0 .833-.292 1.542-.875 2.125a2.882 2.882 0 0 1-2.015.873 7.524 7.524 0 0 0 .085 2.507c.75.043 1.393.333 1.93.87.583.583.875 1.292.875 2.125 0 .451-.085.866-.256 1.244a7.453 7.453 0 0 0 1.948 1.166c.146-.38.373-.725.683-1.035A2.893 2.893 0 0 1 12 17c.833 0 1.542.292 2.125.875.31.31.537.655.683 1.035a7.454 7.454 0 0 0 1.948-1.166A2.98 2.98 0 0 1 16.5 16.5c0-.833.292-1.542.875-2.125a2.876 2.876 0 0 1 1.93-.87 7.488 7.488 0 0 0 0-3.01 2.876 2.876 0 0 1-1.93-.87A2.893 2.893 0 0 1 16.5 7.5c0-.451.085-.866.256-1.244a7.455 7.455 0 0 0-1.948-1.167 2.94 2.94 0 0 1-.683 1.036A2.893 2.893 0 0 1 12 7a2.893 2.893 0 0 1-2.125-.875 2.941 2.941 0 0 1-.683-1.035Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="mx-router_empty" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><path d="M0 0h24v24H0z" fill="none"/><path d="m12.7 6.7.8.8a3.63 3.63 0 0 1 5 0l.8-.8a4.59 4.59 0 0 0-6.6 0zM19 13h-2V9h-2v3.46l6 6V15a2 2 0 0 0-2-2z"/><path d="M16 4.2a6.25 6.25 0 0 1 4.2 1.7l.8-.8a7 7 0 0 0-10 0l.8.8A6.25 6.25 0 0 1 16 4.2zm-14.11.24L10.46 13H5a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h13.46l1.11 1.11 1.27-1.27L3.17 3.16zM8 18H6v-2h2zm5-2h.46L15 17.54V18h-2zm-1.5 2h-2v-2h2z"/></g></svg><svg viewBox="0 0 24 24" id="mx-safety_check" xmlns="http://www.w3.org/2000/svg"><path d="M12 1 3 4.3v6.699C3 16.554 6.836 21.735 12 23c5.164-1.265 9-6.446 9-12.001V4.3L12 1Zm0 16.5c-3.105 0-5.625-2.464-5.625-5.5S8.895 6.5 12 6.5s5.625 2.464 5.625 5.5-2.52 5.5-5.625 5.5Zm1.856-2.915-2.418-2.365V8.7h1.124v3.069l2.082 2.035-.788.781Z"/></svg><svg viewBox="0 0 24 24" id="mx-scan_device" xmlns="http://www.w3.org/2000/svg"><path d="M17 2v2h3v3h2V2h-5ZM18.29 7.14l.62-.62a5.4 5.4 0 0 0-7.69 0l.61.62a4.64 4.64 0 0 1 6.46 0Z"/><path d="M17.6 7.75a3.55 3.55 0 0 0-5.08 0l.62.62a2.79 2.79 0 0 1 3.85 0l.61-.62Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M17.37 12.6h-1.54V9.52h-1.54v3.08H6.6a1.54 1.54 0 0 0-1.54 1.54v3.08a1.55 1.55 0 0 0 1.54 1.54h10.77a1.55 1.55 0 0 0 1.54-1.54v-3.08a1.54 1.54 0 0 0-1.54-1.54Zm-8.46 3.85H7.37v-1.54h1.54v1.54Zm2.69 0h-1.54v-1.54h1.54v1.54Zm2.69 0h-1.54v-1.54h1.54v1.54Z"/><path d="M17 20h3v-3h2v5h-5v-2ZM4 17H2v5h5v-2H4v-3ZM4 7H2V2h5v2H4v3Z"/></svg><svg viewBox="0 0 24 24" id="mx-system-dashboard" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="m2 12 10-9 10 9h-3v8H5v-8Zm13.27 4.77a.75.75 0 0 0 .23-.55v-1.55a.79.79 0 0 0-.78-.78h-.78v-1.56h-.77v1.56H9.28a.79.79 0 0 0-.78.78v1.55a.79.79 0 0 0 .78.78h5.44a.75.75 0 0 0 .55-.23ZM12.86 11a2 2 0 0 0-.59.41l.26.31a1.41 1.41 0 0 1 .46-.3 1.65 1.65 0 0 1 .54-.09 1.26 1.26 0 0 1 .54.09 1.41 1.41 0 0 1 .46.3l.31-.31a2 2 0 0 0-.59-.41 1.8 1.8 0 0 0-1.39 0Zm.7-.56a2.38 2.38 0 0 1 1.63.66l.36-.31a2.62 2.62 0 0 0-.89-.61 2.7 2.7 0 0 0-1.05-.18 2.66 2.66 0 0 0-1.08.2 2.77 2.77 0 0 0-.92.62l.31.31a2.38 2.38 0 0 1 1.64-.66Zm-3.89 4.62h.78v.78h-.78Zm2.72 0h.78v.78h-.78Zm-.58 0H11v.78h.78Z" style="fill-rule:evenodd"/></g></g></svg><svg viewBox="0 0 20 20" id="mx-tag-search" xmlns="http://www.w3.org/2000/svg"><path d="m17.842 9.65-7.5-7.5c-.3-.3-.717-.483-1.175-.483H3.333a1.66 1.66 0 0 0-1.666 1.666v5.834c0 .458.183.875.491 1.175l7.492 7.5c.308.3.725.491 1.183.491.459 0 .875-.191 1.175-.491l.35-.342c-2.691-.083-4.858-2.283-4.858-5 0-2.758 2.242-5 5-5 2.717 0 4.917 2.167 5 4.858l.342-.35c.308-.3.491-.716.491-1.175 0-.466-.191-.883-.491-1.183ZM4.583 5.833c-.691 0-1.25-.558-1.25-1.25 0-.691.559-1.25 1.25-1.25.692 0 1.25.559 1.25 1.25 0 .692-.558 1.25-1.25 1.25Zm8.009 3.009a3.734 3.734 0 0 1 3.75 3.75c0 .741-.209 1.425-.575 1.991l2.566 2.592-1.158 1.158-2.592-2.558a3.755 3.755 0 0 1-1.991.567 3.734 3.734 0 0 1-3.75-3.75 3.734 3.734 0 0 1 3.75-3.75Zm0 1.666a2.084 2.084 0 1 0 2.083 2.084 2.074 2.074 0 0 0-2.083-2.084Z"/></svg><svg viewBox="0 0 14 14" id="mx-verified_error" xmlns="http://www.w3.org/2000/svg"><path d="m7 .583 5.25 2.334v3.5c0 3.237-2.24 6.265-5.25 7-3.01-.735-5.25-3.763-5.25-7v-3.5L7 .583ZM9.01 4 6.918 6.094 4.822 4 4 4.822l2.094 2.095L4 9.01l.822.822L6.918 7.74 9.01 9.833l.822-.822L7.74 6.917l2.094-2.095L9.011 4Z"/></svg><svg viewBox="0 0 14 14" id="mx-verified_unknow" xmlns="http://www.w3.org/2000/svg"><path d="M7 .583 1.75 2.917v3.5c0 3.237 2.24 6.265 5.25 7 3.01-.735 5.25-3.763 5.25-7v-3.5L7 .583Zm.583 10.5H6.417V9.917h1.166v1.166Zm1.208-4.52-.525.536c-.42.426-.683.776-.683 1.651H6.417v-.292c0-.641.262-1.225.682-1.65l.723-.736a1.14 1.14 0 0 0 .345-.822A1.17 1.17 0 0 0 7 4.083 1.17 1.17 0 0 0 5.833 5.25H4.667a2.333 2.333 0 1 1 4.666 0c0 .513-.21.98-.542 1.313Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-vertical-line" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.875 2.875A2.893 2.893 0 0 0 9 5c0 .833.292 1.542.875 2.125.4.4.858.662 1.375.788v1.174a2.885 2.885 0 0 0-1.375.788A2.893 2.893 0 0 0 9 12c0 .833.292 1.542.875 2.125.4.4.858.662 1.375.788v1.174a2.884 2.884 0 0 0-1.375.788A2.893 2.893 0 0 0 9 19c0 .833.292 1.542.875 2.125A2.893 2.893 0 0 0 12 22c.833 0 1.542-.292 2.125-.875A2.893 2.893 0 0 0 15 19c0-.833-.292-1.542-.875-2.125-.4-.4-.858-.662-1.375-.788v-1.174a2.884 2.884 0 0 0 1.375-.788A2.893 2.893 0 0 0 15 12c0-.833-.292-1.542-.875-2.125-.4-.4-.858-.662-1.375-.788V7.913a2.885 2.885 0 0 0 1.375-.788A2.893 2.893 0 0 0 15 5c0-.833-.292-1.542-.875-2.125A2.893 2.893 0 0 0 12 2c-.833 0-1.542.292-2.125.875Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="mx-vertical_align_center" xmlns="http://www.w3.org/2000/svg"><path d="M11 22v-4.2l-1.6 1.6L8 18l4-4 4 4-1.4 1.4-1.6-1.6V22h-2Zm-7-9v-2h16v2H4Zm8-3L8 6l1.4-1.4L11 6.2V2h2v4.2l1.6-1.6L16 6l-4 4Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="mx-wan" xmlns="http://www.w3.org/2000/svg"><path d="M12 2a8 8 0 0 0-8 8c0 4.03 3 7.42 7 7.93V19h-1a1 1 0 0 0-1 1H2v2h7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1h7v-2h-7a1 1 0 0 0-1-1h-1v-1.07c4-.5 7-3.9 7-7.93a8 8 0 0 0-8-8m0 2s.74 1.28 1.26 3h-2.52C11.26 5.28 12 4 12 4m-2.23.43c-.27.5-.68 1.41-1.03 2.57H6.81C7.5 5.84 8.5 4.93 9.77 4.43m4.46.01c1.27.5 2.27 1.4 2.96 2.56h-1.93c-.35-1.16-.76-2.07-1.03-2.56M6.09 9h2.23c-.04.33-.07.66-.07 1 0 .34.03.67.07 1H6.09a5.551 5.551 0 0 1 0-2m4.23 0h3.36c.04.33.07.66.07 1 0 .34-.03.67-.07 1h-3.36c-.04-.33-.07-.66-.07-1 0-.34.03-.67.07-1m5.36 0h2.23a5.551 5.551 0 0 1 0 2h-2.23c.04-.33.07-.66.07-1 0-.34-.03-.67-.07-1m-8.87 4h1.93c.35 1.16.76 2.07 1.03 2.56-1.27-.5-2.27-1.4-2.96-2.56m3.93 0h2.52c-.52 1.72-1.26 3-1.26 3s-.74-1.28-1.26-3m4.52 0h1.93c-.69 1.16-1.69 2.07-2.96 2.57.27-.5.68-1.41 1.03-2.57Z"/></svg><svg viewBox="0 0 24 24" id="my_location" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/></svg><svg viewBox="0 0 24 24" id="navigate_before" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="navigate_next" xmlns="http://www.w3.org/2000/svg"><path d="M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="near_me" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M21 3 3 10.53v.98l6.84 2.65L12.48 21h.98L21 3z"/></svg><svg viewBox="0 0 24 24" id="notifications" xmlns="http://www.w3.org/2000/svg"><path d="M12 22c1.1 0 2-.9 2-2h-4a2 2 0 0 0 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z"/></svg><svg viewBox="0 0 24 24" id="notifications_active" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M7.58 4.08 6.15 2.65C3.75 4.48 2.17 7.3 2.03 10.5h2a8.445 8.445 0 0 1 3.55-6.42zm12.39 6.42h2c-.15-3.2-1.73-6.02-4.12-7.85l-1.42 1.43a8.495 8.495 0 0 1 3.54 6.42zM18 11c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2v-5zm-6 11c.14 0 .27-.01.4-.04.65-.14 1.18-.58 1.44-1.18.1-.24.15-.5.15-.78h-4c.01 1.1.9 2 2.01 2z"/></svg><svg viewBox="0 0 24 24" id="notifications_none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2Zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2Zm-2 1H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6Z"/></svg><svg viewBox="0 0 24 24" id="notifications_off" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 18.69 7.84 6.14 5.27 3.49 4 4.76l2.8 2.8v.01c-.52.99-.8 2.16-.8 3.42v5l-2 2v1h13.73l2 2L21 19.72l-1-1.03zM12 22c1.11 0 2-.89 2-2h-4c0 1.11.89 2 2 2zm6-7.32V11c0-3.08-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68c-.15.03-.29.08-.42.12-.1.03-.2.07-.3.11h-.01c-.01 0-.01 0-.02.01-.23.09-.46.2-.68.31 0 0-.01 0-.01.01L18 14.68z"/></svg><svg fill="none" viewBox="0 0 48 48" id="nport" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m25.2 21.868-.722-.214c.055-1.481-1.49-2.61-2.882-2.116a2.19 2.19 0 0 0-1.438 1.586l-.913 4.256h1.253l.438-2.044c.45.37 1.052.504 1.621.434.602-.075 1.182-.38 1.52-.893l.692.205a2.19 2.19 0 0 0 2.185 2.278h.001c2.873-.049 2.875-4.324 0-4.373h-.001c-.719 0-1.356.347-1.754.88Zm-2.91-1.22c1.265.024 1.263 1.903 0 1.926-1.267-.033-1.271-1.888 0-1.926Zm4.664 1.563c1.264.023 1.264 1.902 0 1.926-1.266-.024-1.262-1.904 0-1.926Z" fill="#191C1C"/><path d="M15.023 19.428h-.13l-.017.08-1.234 5.75-.025.122h1.378l.65-3.032 2.786 3.12.041-.193.948-4.418.306-1.429h-1.378l-.644 3.002-2.68-3.002Z" fill="#191C1C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M33.925 20.765h-1.252l-.145.678c-.434.012-1.006.09-1.433.305a1.635 1.635 0 0 0-.487-.515l-.026-.018h-1.346l-.046.189c.25.13.445.38.556.686.112.306.137.661.058.992l-.212.988-.255 1.188-.028.122h1.254l.4-1.87c.067-.262.282-.458.56-.592.234-.112.5-.174.73-.194l.253-1.18-.366 1.706c-.16.61-.082 1.115.234 1.474.313.355.839.543 1.524.569l.084.003.26-1.217-.127.003-.081.002a4.49 4.49 0 0 1-.387.001c-.125-.008-.2-.03-.244-.065-.04-.03-.073-.085-.081-.201-.009-.119.01-.289.062-.531l.008-.034.114-.536h1.028l.274-1.277H33.78l.145-.676Z" fill="#191C1C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M11.9 4.8a2 2 0 0 0-2 2v31.84a2 2 0 0 0 2 2h4.4v1.56a1 1 0 0 0 1 1h1.84a1 1 0 0 0 1-1v-1.56h1.28v1.56a1 1 0 0 0 1 1h3.12a1 1 0 0 0 1-1v-1.56h1.28v1.56a1 1 0 0 0 1 1h1.84a1 1 0 0 0 1-1v-1.56h4.4a2 2 0 0 0 2-2V6.8a2 2 0 0 0-2-2H11.9Zm24.16 2H11.9v31.84h24.16V6.8Z" fill="#191C1C"/></svg><svg viewBox="0 0 24 24" id="outlined-feedback" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17l-.59.59-.58.58V4h16v12zm-9-4h2v2h-2zm0-6h2v4h-2z"/></svg><svg viewBox="0 0 24 24" id="outlined-near_me" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="m17.27 6.73-4.24 10.13-1.32-3.42-.32-.83-.82-.32-3.43-1.33 10.13-4.23M21 3 3 10.53v.98l6.84 2.65L12.48 21h.98L21 3z"/></svg><svg viewBox="0 0 24 24" id="outlined-push_pin" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M14 4v5c0 1.12.37 2.16 1 3H9c.65-.86 1-1.9 1-3V4h4m3-2H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3V4h1c.55 0 1-.45 1-1s-.45-1-1-1z"/></svg><svg viewBox="0 0 24 24" id="outlined-view_week" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8 18H4V6h4v12zm6 0h-4V6h4v12zm6 0h-4V6h4v12z"/></svg><svg fill="none" viewBox="0 0 24 24" id="pan_tool" xmlns="http://www.w3.org/2000/svg"><path d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="pan_tool-outline" xmlns="http://www.w3.org/2000/svg"><path d="M18 24h-6.55c-1.08 0-2.14-.45-2.89-1.23l-7.3-7.61 2.07-1.83c.62-.55 1.53-.66 2.26-.27L8 14.34V4.79a2.5 2.5 0 0 1 3.01-2.45C11.1 1.04 12.18.01 13.5.01c.86 0 1.61.43 2.06 1.09.29-.12.61-.18.94-.18a2.5 2.5 0 0 1 2.5 2.5v.28a2.5 2.5 0 0 1 3 2.45V20c0 2.21-1.79 4-4 4ZM4.14 15.28l5.86 6.1c.38.39.9.62 1.44.62H18c1.1 0 2-.9 2-2V6.15c0-.28-.22-.5-.5-.5s-.5.22-.5.5V12h-2V3.42c0-.28-.22-.5-.5-.5s-.5.22-.5.5V12h-2V2.51c0-.28-.22-.5-.5-.5s-.5.22-.5.5V12h-2V4.79c0-.28-.22-.5-.5-.5s-.5.23-.5.5v12.87l-5.35-2.83-.51.45Z" fill="#000"/></svg><svg viewBox="0 -960 960 960" id="panorama_fish_eye" xmlns="http://www.w3.org/2000/svg"><path d="M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg><svg viewBox="0 0 24 24" id="pending_actions" xmlns="http://www.w3.org/2000/svg"><path d="M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5Zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71ZM18 3h-3.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11a6.743 6.743 0 0 1-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2Zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Z"/></svg><svg viewBox="0 0 24 24" id="person" xmlns="http://www.w3.org/2000/svg"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="phone" xmlns="http://www.w3.org/2000/svg"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2Z"/></svg><svg viewBox="0 0 24 24" id="policy" xmlns="http://www.w3.org/2000/svg"><path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/><path d="m21 5-9-4-9 4v6c0 5.55 3.84 10.74 9 12 2.3-.56 4.33-1.9 5.88-3.71l-3.12-3.12a4.994 4.994 0 0 1-6.29-.64 5.003 5.003 0 0 1 0-7.07 5.003 5.003 0 0 1 7.07 0 5.006 5.006 0 0 1 .64 6.29l2.9 2.9C20.29 15.69 21 13.38 21 11V5Z"/></svg><svg viewBox="0 0 24 24" id="power_settings_new" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M13 3h-2v10h2V3zm4.83 2.17-1.42 1.42A6.92 6.92 0 0 1 19 12c0 3.87-3.13 7-7 7A6.995 6.995 0 0 1 7.58 6.58L6.17 5.17A8.932 8.932 0 0 0 3 12a9 9 0 0 0 18 0c0-2.74-1.23-5.18-3.17-6.83z"/></svg><svg viewBox="0 0 24 24" id="priority_high" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="19" r="2"/><path d="M10 3h4v12h-4z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="project_type_agt" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Zm-.5 10.74-2.35 2.16-3.45-.39v-1.09h3.14l.53-.63a4.57 4.57 0 0 0 .35-1.79 4.41 4.41 0 0 0-.2-1.33 5.68 5.68 0 0 1-1.32.15 5.87 5.87 0 0 1-4.82-2.5 6 6 0 0 1-3.08 3.17 2.91 2.91 0 0 0 0 .51 4.73 4.73 0 0 0 4.7 4.73 4.65 4.65 0 0 0 1.93-.42c.37.71.54 1.06.53 1.06a8.37 8.37 0 0 1-2.46.53 5.9 5.9 0 0 1-4.18-1.73 5.79 5.79 0 0 1-1.46-2.4H5.5v-2.95h.71a5.9 5.9 0 0 1 10-3 5.82 5.82 0 0 1 1.61 3h.72ZM13 12.59a.74.74 0 0 1 .74-.74.74.74 0 0 1 0 1.48.74.74 0 0 1-.74-.74Zm-2.07 0a.76.76 0 0 1-.21.52.74.74 0 1 1 0-1 .78.78 0 0 1 .28.48Z"/></g></g></svg><svg viewBox="0 0 24 24" id="project_type_tpe" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="M10.02 12.71H8.4v3.65h1.35v-2.48l1.77 2.48h.95l1.78-2.5v2.5h1.35v-3.65h-1.63l-1.98 2.77-1.97-2.77z"/><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Zm-1 9.6-1.1-.83v5.75H7.09v-5.75L6 12.61l-.74-1L12 6.48l6.75 5.15Z"/></g></g></svg><svg viewBox="0 0 24 24" id="push_pin" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3z" fill-rule="evenodd"/></svg><svg fill="none" viewBox="0 0 24 24" id="redo" xmlns="http://www.w3.org/2000/svg"><path d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="redo_copy" xmlns="http://www.w3.org/2000/svg"><path d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6Z"/></svg><svg viewBox="0 0 24 24" id="refresh" xmlns="http://www.w3.org/2000/svg"><path d="M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg fill="none" viewBox="0 0 24 24" id="remove" xmlns="http://www.w3.org/2000/svg"><path d="M19 13H5v-2h14v2Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="remove_circle" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"/></svg><svg viewBox="0 0 24 24" id="remove_copy" xmlns="http://www.w3.org/2000/svg"><path d="M19 13H5v-2h14v2Z"/></svg><svg viewBox="0 0 24 24" id="restart_alt" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zM6 13c0-1.65.67-3.15 1.76-4.24L6.34 7.34A8.014 8.014 0 0 0 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"/></svg><svg viewBox="0 0 24 24" id="room_preferences" xmlns="http://www.w3.org/2000/svg"><path d="M14 11.26V6h3v4h2V4h-5V3H5v16H3v2h9.26A6.963 6.963 0 0 1 11 17c0-2.38 1.19-4.47 3-5.74ZM10 11h2v2h-2v-2Zm11.69 5.37 1.14-1-1-1.73-1.45.49c-.32-.27-.68-.48-1.08-.63L19 12h-2l-.3 1.49c-.4.15-.76.36-1.08.63l-1.45-.49-1 1.73 1.14 1c-.08.5-.08.76 0 1.26l-1.14 1 1 1.73 1.45-.49c.32.27.68.48 1.08.63L17 22h2l.3-1.49c.4-.15.76-.36 1.08-.63l1.45.49 1-1.73-1.14-1c.08-.51.08-.77 0-1.27ZM18 19c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Z"/></svg><svg viewBox="0 0 24 24" id="router" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="m20.2 5.9.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7zm-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1 .9 0 1.8.3 2.5 1l.8-.8zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zM8 18H6v-2h2v2zm3.5 0h-2v-2h2v2zm3.5 0h-2v-2h2v2z"/></svg><svg viewBox="0 0 24 24" id="running_with_errors" xmlns="http://www.w3.org/2000/svg"><path d="M22 10v8h-2v-8h2Zm-2 10v2h2v-2h-2Zm-2-2.71A7.99 7.99 0 0 1 12 20c-4.41 0-8-3.59-8-8s3.59-8 8-8v9l7.55-7.55A9.965 9.965 0 0 0 12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c2.25 0 4.33-.74 6-2v-2.71Z"/></svg><svg viewBox="0 0 24 24" id="save" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"/></svg><svg viewBox="0 0 24 24" id="schedule" xmlns="http://www.w3.org/2000/svg"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M0 0h24v24H0z" fill="none"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg><svg viewBox="0 0 24 24" id="schedule_send" xmlns="http://www.w3.org/2000/svg"><path d="M16.5 12.5H15v4l3 2 .75-1.23-2.25-1.52V12.5ZM16 9 2 3v7l9 2-9 2v7l7.27-3.11C10.09 20.83 12.79 23 16 23c3.86 0 7-3.14 7-7s-3.14-7-7-7Zm0 12c-2.75 0-4.98-2.22-5-4.97v-.07a5.008 5.008 0 0 1 5-4.97c2.76 0 5 2.24 5 5S18.76 21 16 21Z"/></svg><svg viewBox="0 0 24 24" id="search" xmlns="http://www.w3.org/2000/svg"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="security" xmlns="http://www.w3.org/2000/svg"><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="send" xmlns="http://www.w3.org/2000/svg"><path d="M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="settings" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.488.488 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/></svg><svg viewBox="0 0 24 24" id="settings_applications" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm7-7H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42a.353.353 0 0 1 .08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16a.353.353 0 0 1-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69z"/></svg><svg viewBox="0 0 24 24" id="settings_ethernet" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M7.77 6.76 6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z"/></svg><svg viewBox="0 0 24 24" id="settings_input_component" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M5 2c0-.55-.45-1-1-1s-1 .45-1 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 18.4 7 17.3 7 16v-2H1v2zM21 6V2c0-.55-.45-1-1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-.55-.45-1-1-1s-1 .45-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2h-6v2z"/></svg><svg viewBox="0 0 24 24" id="settings_power" xmlns="http://www.w3.org/2000/svg"><path d="M7 24h2v-2H7v2Zm4 0h2v-2h-2v2Zm2-22h-2v10h2V2Zm3.56 2.44-1.45 1.45A5.969 5.969 0 0 1 18 11c0 3.31-2.69 6-6 6s-6-2.69-6-6c0-2.17 1.16-4.06 2.88-5.12L7.44 4.44A7.961 7.961 0 0 0 4 11c0 4.42 3.58 8 8 8s8-3.58 8-8c0-2.72-1.36-5.12-3.44-6.56ZM15 24h2v-2h-2v2Z"/></svg><svg viewBox="0 0 24 24" id="settings_remote" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M15 9H9c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V10c0-.55-.45-1-1-1zm-3 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM7.05 6.05l1.41 1.41a5.022 5.022 0 0 1 7.08 0l1.41-1.41C15.68 4.78 13.93 4 12 4s-3.68.78-4.95 2.05zM12 0C8.96 0 6.21 1.23 4.22 3.22l1.41 1.41C7.26 3.01 9.51 2 12 2s4.74 1.01 6.36 2.64l1.41-1.41C17.79 1.23 15.04 0 12 0z"/></svg><svg viewBox="0 0 24 24" id="settings_suggest" xmlns="http://www.w3.org/2000/svg"><path d="M17.41 6.59 15 5.5l2.41-1.09L18.5 2l1.09 2.41L22 5.5l-2.41 1.09L18.5 9l-1.09-2.41Zm3.87 6.13L20.5 11l-.78 1.72-1.72.78 1.72.78.78 1.72.78-1.72L23 13.5l-1.72-.78Zm-5.04 1.65 1.94 1.47-2.5 4.33-2.24-.94c-.2.13-.42.26-.64.37l-.3 2.4h-5l-.3-2.41c-.22-.11-.43-.23-.64-.37l-2.24.94-2.5-4.33 1.94-1.47c-.01-.11-.01-.24-.01-.36s0-.25.01-.37l-1.94-1.47 2.5-4.33 2.24.94c.2-.13.42-.26.64-.37L7.5 6h5l.3 2.41c.22.11.43.23.64.37l2.24-.94 2.5 4.33-1.94 1.47c.01.12.01.24.01.37s0 .24-.01.36ZM13 14c0-1.66-1.34-3-3-3s-3 1.34-3 3 1.34 3 3 3 3-1.34 3-3Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="shape_line_outline" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 11c2.76 0 5-2.24 5-5S8.76 1 6 1 1 3.24 1 6s2.24 5 5 5Zm0-8c1.65 0 3 1.35 3 3S7.65 9 6 9 3 7.65 3 6s1.35-3 3-3ZM21 14h-5c-1.1 0-2 .9-2 2v5c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2v-5c0-1.1-.9-2-2-2Zm0 7h-5v-5h5v5Z" fill="#000"/><path d="M19 8c-.46 0-.89-.11-1.29-.3L7.7 17.71c.19.4.3.83.3 1.29 0 1.65-1.35 3-3 3s-3-1.35-3-3 1.35-3 3-3c.46 0 .89.11 1.29.3L16.3 6.29c-.19-.4-.3-.83-.3-1.29 0-1.65 1.35-3 3-3s3 1.35 3 3-1.35 3-3 3Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="signal_cellular_alt" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M17 4h3v16h-3zM5 14h3v6H5zm6-5h3v11h-3z"/></svg><svg viewBox="0 0 24 24" id="signal_cellular_alt_1_bar" xmlns="http://www.w3.org/2000/svg"><path d="M5 14h3v6H5v-6Z"/></svg><svg viewBox="0 0 24 24" id="signal_cellular_alt_2_bar" xmlns="http://www.w3.org/2000/svg"><path d="M5 14h3v6H5v-6Zm6-5h3v11h-3V9Z"/></svg><svg viewBox="0 0 24 24" id="sms" xmlns="http://www.w3.org/2000/svg"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM9 11H7V9h2v2zm4 0h-2V9h2v2zm4 0h-2V9h2v2z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="star" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M0 0h24v24H0z" fill="none"/><path d="M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg><svg viewBox="0 0 24 24" id="star_border" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"/></svg><svg viewBox="0 0 24 24" id="storage" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M2 20h20v-4H2v4zm2-3h2v2H4v-2zM2 4v4h20V4H2zm4 3H4V5h2v2zm-4 7h20v-4H2v4zm2-3h2v2H4v-2z"/></svg><svg viewBox="0 0 24 24" id="style" xmlns="http://www.w3.org/2000/svg"><g data-name="圖層 2"><g data-name="圖層 1"><path d="M0 0h24v24H0Z" style="fill:none"/><path d="m17.91 6 4.14 10.14a1.69 1.69 0 0 1 .11.67 1.72 1.72 0 0 1-.15.67 1.76 1.76 0 0 1-.93.93l-7.85 3.29a1.72 1.72 0 0 1-1.31 0 1.73 1.73 0 0 1-.92-.92L6.9 10.65a1.71 1.71 0 0 1 0-1.33l2.31-5.58a1.73 1.73 0 0 1 2.24-.94L17 5.09a1.72 1.72 0 0 1 .91.91ZM12 7.26a1.29 1.29 0 0 0 .69-.69 1.33 1.33 0 0 0 0-1A1.26 1.26 0 0 0 11 4.88a1.28 1.28 0 0 0-.71.7 1.31 1.31 0 0 0 0 1 1.25 1.25 0 0 0 1.71.68ZM2.53 19.65l1.34.56v-9L1.44 17a1.91 1.91 0 0 0-.16.78 1.78 1.78 0 0 0 .15.78 1.92 1.92 0 0 0 .44.65 2 2 0 0 0 .66.44Zm3.35.1a2 2 0 0 0 2 2h1.45l-3.45-8.34Z" style="fill-rule:evenodd"/></g></g></svg><svg viewBox="0 0 24 24" id="sync_alt" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="m22 8-4-4v3H3v2h15v3l4-4zM2 16l4 4v-3h15v-2H6v-3l-4 4z"/></svg><svg viewBox="0 0 24 24" id="sync_disabled" xmlns="http://www.w3.org/2000/svg"><path d="M10 6.35V4.26c-.8.21-1.55.54-2.23.96l1.46 1.46c.25-.12.5-.24.77-.33Zm-7.14-.94 2.36 2.36a7.925 7.925 0 0 0 1.14 9.87L4 20h6v-6l-2.24 2.24A6.003 6.003 0 0 1 6 12c0-1 .25-1.94.68-2.77l8.08 8.08c-.25.13-.5.25-.77.34v2.09c.8-.21 1.55-.54 2.23-.96l2.36 2.36 1.27-1.27L4.14 4.14 2.86 5.41ZM20 4h-6v6l2.24-2.24A6.003 6.003 0 0 1 18 12c0 1-.25 1.94-.68 2.77l1.46 1.46a7.925 7.925 0 0 0-1.14-9.87L20 4Z"/></svg><svg viewBox="0 0 24 24" id="sync_problem" xmlns="http://www.w3.org/2000/svg"><path d="M3 12c0 2.21.91 4.2 2.36 5.64L3 20h6v-6l-2.24 2.24A6.003 6.003 0 0 1 5 12a5.99 5.99 0 0 1 4-5.65V4.26C5.55 5.15 3 8.27 3 12Zm8 5h2v-2h-2v2ZM21 4h-6v6l2.24-2.24A6.003 6.003 0 0 1 19 12a5.99 5.99 0 0 1-4 5.65v2.09c3.45-.89 6-4.01 6-7.74 0-2.21-.91-4.2-2.36-5.64L21 4Zm-10 9h2V7h-2v6Z"/></svg><svg viewBox="0 0 24 24" id="task_alt" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M22 5.18 10.59 16.6l-4.24-4.24 1.41-1.41 2.83 2.83 10-10L22 5.18zm-2.21 5.04c.13.57.21 1.17.21 1.78 0 4.42-3.58 8-8 8s-8-3.58-8-8 3.58-8 8-8c1.58 0 3.04.46 4.28 1.25l1.44-1.44A9.9 9.9 0 0 0 12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10c0-1.19-.22-2.33-.6-3.39l-1.61 1.61z"/></svg><svg viewBox="0 0 24 24" id="terminal" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16c1.1 0 2-.9 2-2V6a2 2 0 0 0-2-2zm0 14H4V8h16v10zm-2-1h-6v-2h6v2zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4-4 4z"/></svg><svg viewBox="0 0 24 24" id="today" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/></svg><svg viewBox="0 0 24 24" id="troubleshoot" xmlns="http://www.w3.org/2000/svg"><path d="m22 20.59-4.69-4.69A7.902 7.902 0 0 0 19 11c0-4.42-3.58-8-8-8-4.08 0-7.44 3.05-7.93 7h2.02C5.57 7.17 8.03 5 11 5c3.31 0 6 2.69 6 6s-2.69 6-6 6c-2.42 0-4.5-1.44-5.45-3.5H3.4C4.45 16.69 7.46 19 11 19c1.85 0 3.55-.63 4.9-1.69L20.59 22 22 20.59Z"/><path d="M8.43 9.69 9.65 15h1.64l1.26-3.78.95 2.28h2V12h-1l-1.25-3h-1.54l-1.12 3.37L9.35 7H7.7l-1.25 4H1v1.5h6.55l.88-2.81Z"/></svg><svg viewBox="0 0 24 24" id="tune" xmlns="http://www.w3.org/2000/svg"><path d="M3 17v2h6v-2H3ZM3 5v2h10V5H3Zm10 16v-2h8v-2h-8v-2h-2v6h2ZM7 9v2H3v2h4v2h2V9H7Zm14 4v-2H11v2h10Zm-6-4h2V7h4V5h-4V3h-2v6Z"/></svg><svg viewBox="0 0 24 24" id="unarchive" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="m20.55 5.22-1.39-1.68A1.51 1.51 0 0 0 18 3H6c-.47 0-.88.21-1.15.55L3.46 5.22C3.17 5.57 3 6.01 3 6.5V19a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6.5c0-.49-.17-.93-.45-1.28zM12 9.5l5.5 5.5H14v2h-4v-2H6.5L12 9.5zM5.12 5l.82-1h12l.93 1H5.12z"/></svg><svg fill="none" viewBox="0 0 24 24" id="undo" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="undo_copy" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8Z"/></svg><svg fill="none" viewBox="0 0 24 24" id="unfold-less" xmlns="http://www.w3.org/2000/svg"><path d="M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59Zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59Z" fill="#000"/></svg><svg fill="none" viewBox="0 0 24 24" id="unfold-more" xmlns="http://www.w3.org/2000/svg"><path d="M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83Zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17Z" fill="#000"/></svg><svg viewBox="0 0 24 24" id="update" xmlns="http://www.w3.org/2000/svg"><defs><path id="ina" d="M0 0h24v24H0V0z"/></defs><clipPath id="inb"><use xlink:href="#ina" overflow="visible"/></clipPath><path clip-path="url(#inb)" d="M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1a6.875 6.875 0 0 0 0 9.79 7.02 7.02 0 0 0 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58a8.987 8.987 0 0 1 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"/></svg><svg viewBox="0 0 24 24" id="upgrade" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="M16 18v2H8v-2h8zM11 7.99V16h2V7.99h3L12 4 8 7.99h3z"/></svg><svg viewBox="0 0 24 24" id="upload" xmlns="http://www.w3.org/2000/svg"><path d="M5 20h14v-2H5v2Zm0-10h4v6h6v-6h4l-7-7-7 7Z"/></svg><svg viewBox="0 0 24 24" id="verified_user" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"/></svg><svg viewBox="0 0 24 24" id="visibility" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg><svg viewBox="0 0 24 24" id="visibility_off" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z" fill="none"/><path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"/></svg><svg viewBox="0 0 24 24" id="vpn_key" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12.65 10A5.99 5.99 0 0 0 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6a5.99 5.99 0 0 0 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/></svg><svg fill="none" viewBox="0 0 24 24" id="wallpaper" xmlns="http://www.w3.org/2000/svg"><path d="M4 4h7V2H4c-1.1 0-2 .9-2 2v7h2V4Zm6 9-4 5h12l-3-4-2.03 2.71L10 13Zm7-4.5c0-.83-.67-1.5-1.5-1.5S14 7.67 14 8.5s.67 1.5 1.5 1.5S17 9.33 17 8.5ZM20 2h-7v2h7v7h2V4c0-1.1-.9-2-2-2Zm0 18h-7v2h7c1.1 0 2-.9 2-2v-7h-2v7ZM4 13H2v7c0 1.1.9 2 2 2h7v-2H4v-7Z" fill="#000"/></svg><svg viewBox="0 0 16 16" id="warning" xmlns="http://www.w3.org/2000/svg"><path d="M.667 14h14.666L8 1.333.667 14Zm8-2H7.333v-1.333h1.334V12Zm0-2.667H7.333V6.667h1.334v2.666Z"/></svg><svg viewBox="0 0 24 24" id="warning_copy" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg><svg viewBox="0 0 24 24" id="widgets" xmlns="http://www.w3.org/2000/svg"><path d="M13 13v8h8v-8h-8zM3 21h8v-8H3v8zM3 3v8h8V3H3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66-5.66-5.65z"/><path d="M0 0h24v24H0z" fill="none"/></svg><svg viewBox="0 0 24 24" id="wifi" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"/><path d="m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8 3 3 3-3a4.237 4.237 0 0 0-6 0zm-4-4 2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 9.14 8.87 9.14 5 13z"/></svg><svg viewBox="0 0 24 24" id="wifi_1_bar" xmlns="http://www.w3.org/2000/svg"><path d="M15.53 17.46 12 21l-3.53-3.54c.9-.9 2.15-1.46 3.53-1.46s2.63.56 3.53 1.46Z"/></svg><svg viewBox="0 0 24 24" id="wifi_2_bar" xmlns="http://www.w3.org/2000/svg"><path d="M12 10c3.03 0 5.78 1.23 7.76 3.22l-2.12 2.12A7.967 7.967 0 0 0 12 13c-2.2 0-4.2.9-5.64 2.35l-2.12-2.12C6.22 11.23 8.97 10 12 10Zm0 6c-1.38 0-2.63.56-3.53 1.46L12 21l3.53-3.54A4.98 4.98 0 0 0 12 16Z"/></svg><svg viewBox="0 0 24 24" id="wifi_medium_darkTheme" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path d="m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9Z" fill-opacity=".3" fill="#FFF" fill-rule="nonzero"/><path d="m9 17 3 3 3-3a4.237 4.237 0 0 0-6 0ZM5 13l2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 9.14 8.87 9.14 5 13Z" fill-opacity=".8" fill="#FFF" fill-rule="nonzero"/></g></svg><svg viewBox="0 0 24 24" id="wifi_medium_lightTheme" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path d="m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9Z" fill-opacity=".1" fill="#000" fill-rule="nonzero"/><path d="m9 17 3 3 3-3a4.237 4.237 0 0 0-6 0ZM5 13l2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 9.14 8.87 9.14 5 13Z" fill-opacity=".6" fill="#000" fill-rule="nonzero"/></g></svg><svg viewBox="0 0 24 24" id="wifi_off" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M24 .01c0-.01 0-.01 0 0L0 0v24h24V.01zM0 0h24v24H0V0zm0 0h24v24H0V0z"/><path d="M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7l2-2zm-4 4a9.793 9.793 0 0 0-4.49-2.56l3.53 3.53.96-.97zM2 3.05 5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24A9.684 9.684 0 0 0 5 13v.01L6.99 15a7.042 7.042 0 0 1 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79 2 3.05zM9 17l3 3 3-3a4.237 4.237 0 0 0-6 0z"/></svg><svg viewBox="0 0 24 24" id="wifi_strength_darkTheme" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path d="m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9ZM9 17l3 3 3-3a4.237 4.237 0 0 0-6 0Z" fill-opacity=".8" fill="#FFF" fill-rule="nonzero"/><path d="m5 13 2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 9.14 8.87 9.14 5 13Z" fill-opacity=".8" fill="#FFF" fill-rule="nonzero"/></g></svg><svg viewBox="0 0 24 24" id="wifi_strength_lightTheme" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path d="m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9ZM9 17l3 3 3-3a4.237 4.237 0 0 0-6 0Z" fill-opacity=".6" fill="#000" fill-rule="nonzero"/><path d="m5 13 2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 9.14 8.87 9.14 5 13Z" fill-opacity=".6" fill="#000" fill-rule="nonzero"/></g></svg><svg viewBox="0 0 24 24" id="wifi_weak_darkTheme" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path d="m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9Z" fill-opacity=".3" fill="#FFF" fill-rule="nonzero"/><path d="m9 17 3 3 3-3a4.237 4.237 0 0 0-6 0Z" fill-opacity=".8" fill="#FFF" fill-rule="nonzero"/><path d="m5 13 2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 9.14 8.87 9.14 5 13Z" fill-opacity=".3" fill="#FFF" fill-rule="nonzero"/></g></svg><svg viewBox="0 0 24 24" id="wifi_weak_lightTheme" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path d="m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9Z" fill-opacity=".1" fill="#000" fill-rule="nonzero"/><path d="m9 17 3 3 3-3a4.237 4.237 0 0 0-6 0Z" fill-opacity=".6" fill="#000" fill-rule="nonzero"/><path d="m5 13 2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 9.14 8.87 9.14 5 13Z" fill-opacity=".1" fill="#000" fill-rule="nonzero"/></g></svg></svg>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var eR=Object.defineProperty;var tR=(ne,L,se)=>L in ne?eR(ne,L,{enumerable:!0,configurable:!0,writable:!0,value:se}):ne[L]=se;var te=(ne,L,se)=>(tR(ne,typeof L!="symbol"?L+"":L,se),se),oc=(ne,L,se)=>{if(!L.has(ne))throw TypeError("Cannot "+se)};var Oe=(ne,L,se)=>(oc(ne,L,"read from private field"),se?se.call(ne):L.get(ne)),ac=(ne,L,se)=>{if(L.has(ne))throw TypeError("Cannot add the same private member more than once");L instanceof WeakSet?L.add(ne):L.set(ne,se)},Hr=(ne,L,se,Ht)=>(oc(ne,L,"write to private field"),Ht?Ht.call(ne,se):L.set(ne,se),se);var uc=(ne,L,se)=>(oc(ne,L,"access private method"),se);(function(){"use strict";var Qt,cc,qt,fe;function ne(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e}function L(n,t,e,r){function i(s){return s instanceof e?s:new e(function(o){o(s)})}return new(e||(e=Promise))(function(s,o){function a(f){try{c(r.next(f))}catch(l){o(l)}}function u(f){try{c(r.throw(f))}catch(l){o(l)}}function c(f){f.done?s(f.value):i(f.value).then(a,u)}c((r=r.apply(n,t||[])).next())})}typeof SuppressedError=="function"&&SuppressedError;var se="*",Ht=function(){function n(){this._events={}}return n.prototype.on=function(t,e,r){return this._events[t]||(this._events[t]=[]),this._events[t].push({callback:e,once:!!r}),this},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.emit=function(t){for(var e=this,r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];var s=this._events[t]||[],o=this._events[se]||[],a=function(u){for(var c=u.length,f=0;f<c;f++)if(u[f]){var l=u[f],h=l.callback,g=l.once;g&&(u.splice(f,1),u.length===0&&delete e._events[t],c--,f--),h.apply(e,r)}};a(s),a(o)},n.prototype.off=function(t,e){if(!t)this._events={};else if(!e)delete this._events[t];else{for(var r=this._events[t]||[],i=r.length,s=0;s<i;s++)r[s].callback===e&&(r.splice(s,1),i--,s--);r.length===0&&delete this._events[t]}return this},n.prototype.getEvents=function(){return this._events},n}();function en(n,t,e,r){for(;n.length;){const i=n.shift();if(e(i))return!0;t.add(i.id),r(i.id).forEach(o=>{t.has(o.id)||(t.add(o.id),n.push(o))})}return!1}function er(n,t,e,r){if(e(n))return!0;t.add(n.id);for(const s of r(n.id))if(!t.has(s.id)&&er(s,t,e,r))return!0;return!1}const fc=()=>!0;class b0{constructor(t){te(this,"graph");te(this,"nodeFilter");te(this,"edgeFilter");te(this,"cacheEnabled");te(this,"inEdgesMap",new Map);te(this,"outEdgesMap",new Map);te(this,"bothEdgesMap",new Map);te(this,"allNodesMap",new Map);te(this,"allEdgesMap",new Map);te(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});te(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(t=>t.id))});te(this,"updateCache",t=>{const e=new Set;t.forEach(r=>{const i=this.bothEdgesMap.get(r);if(i&&i.forEach(s=>e.add(s.id)),!this.hasNode(r))this.inEdgesMap.delete(r),this.outEdgesMap.delete(r),this.bothEdgesMap.delete(r),this.allNodesMap.delete(r);else{const s=this.graph.getRelatedEdges(r,"in").filter(this.edgeFilter),o=this.graph.getRelatedEdges(r,"out").filter(this.edgeFilter),a=Array.from(new Set([...s,...o]));a.forEach(u=>e.add(u.id)),this.inEdgesMap.set(r,s),this.outEdgesMap.set(r,o),this.bothEdgesMap.set(r,a),this.allNodesMap.set(r,this.graph.getNode(r))}}),e.forEach(r=>{this.hasEdge(r)?this.allEdgesMap.set(r,this.graph.getEdge(r)):this.allEdgesMap.delete(r)})});te(this,"handleGraphChanged",t=>{const e=new Set;t.changes.forEach(r=>{switch(r.type){case"NodeAdded":e.add(r.value.id);break;case"NodeDataUpdated":e.add(r.id);break;case"EdgeAdded":e.add(r.value.source),e.add(r.value.target);break;case"EdgeUpdated":(r.propertyName==="source"||r.propertyName==="target")&&(e.add(r.oldValue),e.add(r.newValue));break;case"EdgeDataUpdated":if(t.graph.hasEdge(r.id)){const i=t.graph.getEdge(r.id);e.add(i.source),e.add(i.target)}break;case"EdgeRemoved":e.add(r.value.source),e.add(r.value.target);break;case"NodeRemoved":e.add(r.value.id);break}}),this.updateCache(e)});this.graph=t.graph;const e=t.nodeFilter||fc,r=t.edgeFilter||fc;this.nodeFilter=e,this.edgeFilter=i=>{const{source:s,target:o}=this.graph.getEdgeDetail(i.id);return!e(s)||!e(o)?!1:r(i,s,o)},t.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):t.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(t){this.getNode(t)}hasNode(t){if(!this.graph.hasNode(t))return!1;const e=this.graph.getNode(t);return this.nodeFilter(e)}areNeighbors(t,e){return this.checkNodeExistence(t),this.getNeighbors(e).some(r=>r.id===t)}getNode(t){const e=this.graph.getNode(t);if(!this.nodeFilter(e))throw new Error("Node not found for id: "+t);return e}getRelatedEdges(t,e){return this.checkNodeExistence(t),this.cacheEnabled?e==="in"?this.inEdgesMap.get(t):e==="out"?this.outEdgesMap.get(t):this.bothEdgesMap.get(t):this.graph.getRelatedEdges(t,e).filter(this.edgeFilter)}getDegree(t,e){return this.getRelatedEdges(t,e).length}getSuccessors(t){const r=this.getRelatedEdges(t,"out").map(i=>this.getNode(i.target));return Array.from(new Set(r))}getPredecessors(t){const r=this.getRelatedEdges(t,"in").map(i=>this.getNode(i.source));return Array.from(new Set(r))}getNeighbors(t){const e=this.getPredecessors(t),r=this.getSuccessors(t);return Array.from(new Set([...e,...r]))}hasEdge(t){if(!this.graph.hasEdge(t))return!1;const e=this.graph.getEdge(t);return this.edgeFilter(e)}getEdge(t){const e=this.graph.getEdge(t);if(!this.edgeFilter(e))throw new Error("Edge not found for id: "+t);return e}getEdgeDetail(t){const e=this.getEdge(t);return{edge:e,source:this.getNode(e.source),target:this.getNode(e.target)}}hasTreeStructure(t){return this.graph.hasTreeStructure(t)}getRoots(t){return this.graph.getRoots(t).filter(this.nodeFilter)}getChildren(t,e){return this.checkNodeExistence(t),this.graph.getChildren(t,e).filter(this.nodeFilter)}getParent(t,e){this.checkNodeExistence(t);const r=this.graph.getParent(t,e);return!r||!this.nodeFilter(r)?null:r}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(t,e,r="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[r];en([this.getNode(t)],new Set,e,i)}dfs(t,e,r="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[r];er(this.getNode(t),new Set,e,i)}}let ue=class w0 extends Ht{constructor(e){super();te(this,"nodeMap",new Map);te(this,"edgeMap",new Map);te(this,"inEdgesMap",new Map);te(this,"outEdgesMap",new Map);te(this,"bothEdgesMap",new Map);te(this,"treeIndices",new Map);te(this,"changes",[]);te(this,"batchCount",0);te(this,"onChanged",()=>{});te(this,"batch",e=>{this.batchCount+=1,e(),this.batchCount-=1,this.batchCount||this.commit()});e&&(e.nodes&&this.addNodes(e.nodes),e.edges&&this.addEdges(e.edges),e.tree&&this.addTree(e.tree),e.onChanged&&(this.onChanged=e.onChanged))}commit(){const e=this.changes;this.changes=[];const r={graph:this,changes:e};this.emit("changed",r),this.onChanged(r)}reduceChanges(e){let r=[];return e.forEach(i=>{switch(i.type){case"NodeRemoved":{let s=!1;r=r.filter(o=>{if(o.type==="NodeAdded"){const a=o.value.id===i.value.id;return a&&(s=!0),!a}else{if(o.type==="NodeDataUpdated")return o.id!==i.value.id;if(o.type==="TreeStructureChanged")return o.nodeId!==i.value.id}return!0}),s||r.push(i);break}case"EdgeRemoved":{let s=!1;r=r.filter(o=>{if(o.type==="EdgeAdded"){const a=o.value.id===i.value.id;return a&&(s=!0),!a}else if(o.type==="EdgeDataUpdated"||o.type==="EdgeUpdated")return o.id!==i.value.id;return!0}),s||r.push(i);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const s=r.findIndex(a=>a.type===i.type&&a.id===i.id&&(i.propertyName===void 0||a.propertyName===i.propertyName)),o=r[s];o?i.propertyName!==void 0?o.newValue=i.newValue:(r.splice(s,1),r.push(i)):r.push(i);break}case"TreeStructureDetached":{r=r.filter(s=>s.type==="TreeStructureAttached"||s.type==="TreeStructureChanged"?s.treeKey!==i.treeKey:!0),r.push(i);break}case"TreeStructureChanged":{const s=r.find(o=>o.type==="TreeStructureChanged"&&o.treeKey===i.treeKey&&o.nodeId===i.nodeId);s?s.newParentId=i.newParentId:r.push(i);break}default:r.push(i);break}}),r}checkNodeExistence(e){this.getNode(e)}hasNode(e){return this.nodeMap.has(e)}areNeighbors(e,r){return this.getNeighbors(r).some(i=>i.id===e)}getNode(e){const r=this.nodeMap.get(e);if(!r)throw new Error("Node not found for id: "+e);return r}getRelatedEdges(e,r){if(this.checkNodeExistence(e),r==="in"){const i=this.inEdgesMap.get(e);return Array.from(i)}else if(r==="out"){const i=this.outEdgesMap.get(e);return Array.from(i)}else{const i=this.bothEdgesMap.get(e);return Array.from(i)}}getDegree(e,r){return this.getRelatedEdges(e,r).length}getSuccessors(e){const i=this.getRelatedEdges(e,"out").map(s=>this.getNode(s.target));return Array.from(new Set(i))}getPredecessors(e){const i=this.getRelatedEdges(e,"in").map(s=>this.getNode(s.source));return Array.from(new Set(i))}getNeighbors(e){const r=this.getPredecessors(e),i=this.getSuccessors(e);return Array.from(new Set([...r,...i]))}doAddNode(e){if(this.hasNode(e.id))throw new Error("Node already exists: "+e.id);this.nodeMap.set(e.id,e),this.inEdgesMap.set(e.id,new Set),this.outEdgesMap.set(e.id,new Set),this.bothEdgesMap.set(e.id,new Set),this.treeIndices.forEach(r=>{r.childrenMap.set(e.id,new Set)}),this.changes.push({type:"NodeAdded",value:e})}addNodes(e){this.batch(()=>{for(const r of e)this.doAddNode(r)})}addNode(e){this.addNodes([e])}doRemoveNode(e){const r=this.getNode(e),i=this.bothEdgesMap.get(e);i==null||i.forEach(s=>this.doRemoveEdge(s.id)),this.nodeMap.delete(e),this.treeIndices.forEach(s=>{var a,u;(a=s.childrenMap.get(e))==null||a.forEach(c=>{s.parentMap.delete(c.id)});const o=s.parentMap.get(e);o&&((u=s.childrenMap.get(o.id))==null||u.delete(r)),s.parentMap.delete(e),s.childrenMap.delete(e)}),this.bothEdgesMap.delete(e),this.inEdgesMap.delete(e),this.outEdgesMap.delete(e),this.changes.push({type:"NodeRemoved",value:r})}removeNodes(e){this.batch(()=>{e.forEach(r=>this.doRemoveNode(r))})}removeNode(e){this.removeNodes([e])}updateNodeDataProperty(e,r,i){const s=this.getNode(e);this.batch(()=>{const o=s.data[r],a=i;s.data[r]=a,this.changes.push({type:"NodeDataUpdated",id:e,propertyName:r,oldValue:o,newValue:a})})}mergeNodeData(e,r){this.batch(()=>{Object.entries(r).forEach(([i,s])=>{this.updateNodeDataProperty(e,i,s)})})}updateNodeData(...e){const r=e[0],i=this.getNode(r);if(typeof e[1]=="string"){this.updateNodeDataProperty(r,e[1],e[2]);return}let s;if(typeof e[1]=="function"){const o=e[1];s=o(i.data)}else typeof e[1]=="object"&&(s=e[1]);this.batch(()=>{const o=i.data,a=s;i.data=s,this.changes.push({type:"NodeDataUpdated",id:r,oldValue:o,newValue:a})})}checkEdgeExistence(e){if(!this.hasEdge(e))throw new Error("Edge not found for id: "+e)}hasEdge(e){return this.edgeMap.has(e)}getEdge(e){return this.checkEdgeExistence(e),this.edgeMap.get(e)}getEdgeDetail(e){const r=this.getEdge(e);return{edge:r,source:this.getNode(r.source),target:this.getNode(r.target)}}doAddEdge(e){if(this.hasEdge(e.id))throw new Error("Edge already exists: "+e.id);this.checkNodeExistence(e.source),this.checkNodeExistence(e.target),this.edgeMap.set(e.id,e);const r=this.inEdgesMap.get(e.target),i=this.outEdgesMap.get(e.source),s=this.bothEdgesMap.get(e.source),o=this.bothEdgesMap.get(e.target);r.add(e),i.add(e),s.add(e),o.add(e),this.changes.push({type:"EdgeAdded",value:e})}addEdges(e){this.batch(()=>{for(const r of e)this.doAddEdge(r)})}addEdge(e){this.addEdges([e])}doRemoveEdge(e){const r=this.getEdge(e),i=this.outEdgesMap.get(r.source),s=this.inEdgesMap.get(r.target),o=this.bothEdgesMap.get(r.source),a=this.bothEdgesMap.get(r.target);i.delete(r),s.delete(r),o.delete(r),a.delete(r),this.edgeMap.delete(e),this.changes.push({type:"EdgeRemoved",value:r})}removeEdges(e){this.batch(()=>{e.forEach(r=>this.doRemoveEdge(r))})}removeEdge(e){this.removeEdges([e])}updateEdgeSource(e,r){const i=this.getEdge(e);this.checkNodeExistence(r);const s=i.source,o=r;this.outEdgesMap.get(s).delete(i),this.bothEdgesMap.get(s).delete(i),this.outEdgesMap.get(o).add(i),this.bothEdgesMap.get(o).add(i),i.source=r,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:e,propertyName:"source",oldValue:s,newValue:o})})}updateEdgeTarget(e,r){const i=this.getEdge(e);this.checkNodeExistence(r);const s=i.target,o=r;this.inEdgesMap.get(s).delete(i),this.bothEdgesMap.get(s).delete(i),this.inEdgesMap.get(o).add(i),this.bothEdgesMap.get(o).add(i),i.target=r,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:e,propertyName:"target",oldValue:s,newValue:o})})}updateEdgeDataProperty(e,r,i){const s=this.getEdge(e);this.batch(()=>{const o=s.data[r],a=i;s.data[r]=a,this.changes.push({type:"EdgeDataUpdated",id:e,propertyName:r,oldValue:o,newValue:a})})}updateEdgeData(...e){const r=e[0],i=this.getEdge(r);if(typeof e[1]=="string"){this.updateEdgeDataProperty(r,e[1],e[2]);return}let s;if(typeof e[1]=="function"){const o=e[1];s=o(i.data)}else typeof e[1]=="object"&&(s=e[1]);this.batch(()=>{const o=i.data,a=s;i.data=s,this.changes.push({type:"EdgeDataUpdated",id:r,oldValue:o,newValue:a})})}mergeEdgeData(e,r){this.batch(()=>{Object.entries(r).forEach(([i,s])=>{this.updateEdgeDataProperty(e,i,s)})})}checkTreeExistence(e){if(!this.hasTreeStructure(e))throw new Error("Tree structure not found for treeKey: "+e)}hasTreeStructure(e){return this.treeIndices.has(e)}attachTreeStructure(e){this.treeIndices.has(e)||(this.treeIndices.set(e,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:e})}))}detachTreeStructure(e){this.checkTreeExistence(e),this.treeIndices.delete(e),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:e})})}addTree(e,r){this.batch(()=>{this.attachTreeStructure(r);const i=[],s=Array.isArray(e)?e:[e];for(;s.length;){const o=s.shift();i.push(o),o.children&&s.push(...o.children)}this.addNodes(i),i.forEach(o=>{var a;(a=o.children)==null||a.forEach(u=>{this.setParent(u.id,o.id,r)})})})}getRoots(e){return this.checkTreeExistence(e),this.getAllNodes().filter(r=>!this.getParent(r.id,e))}getChildren(e,r){this.checkNodeExistence(e),this.checkTreeExistence(r);const s=this.treeIndices.get(r).childrenMap.get(e);return Array.from(s||[])}getParent(e,r){return this.checkNodeExistence(e),this.checkTreeExistence(r),this.treeIndices.get(r).parentMap.get(e)||null}getAncestors(e,r){const i=[];let s=this.getNode(e),o;for(;o=this.getParent(s.id,r);)i.push(o),s=o;return i}setParent(e,r,i){var f,l;this.checkTreeExistence(i);const s=this.treeIndices.get(i),o=this.getNode(e),a=s.parentMap.get(e);if((a==null?void 0:a.id)===r)return;if(r===void 0){a&&((f=s.childrenMap.get(a.id))==null||f.delete(o)),s.parentMap.delete(e);return}const u=this.getNode(r);s.parentMap.set(e,u),a&&((l=s.childrenMap.get(a.id))==null||l.delete(o));let c=s.childrenMap.get(u.id);c||(c=new Set,s.childrenMap.set(u.id,c)),c.add(o),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:i,nodeId:e,oldParentId:a==null?void 0:a.id,newParentId:u.id})})}dfsTree(e,r,i){const s=o=>this.getChildren(o,i);return er(this.getNode(e),new Set,r,s)}bfsTree(e,r,i){const s=o=>this.getChildren(o,i);return en([this.getNode(e)],new Set,r,s)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(e,r,i="out"){const s={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return en([this.getNode(e)],new Set,r,s)}dfs(e,r,i="out"){const s={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return er(this.getNode(e),new Set,r,s)}clone(){const e=this.getAllNodes().map(s=>({...s,data:{...s.data}})),r=this.getAllEdges().map(s=>({...s,data:{...s.data}})),i=new w0({nodes:e,edges:r});return this.treeIndices.forEach(({parentMap:s,childrenMap:o},a)=>{const u=new Map;s.forEach((f,l)=>{u.set(l,i.getNode(f.id))});const c=new Map;o.forEach((f,l)=>{c.set(l,new Set(Array.from(f).map(h=>i.getNode(h.id))))}),i.treeIndices.set(a,{parentMap:u,childrenMap:c})}),i}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(e){return new b0({graph:this,...e})}};/**
|
|
1
|
+
var eR=Object.defineProperty;var tR=(ne,L,se)=>L in ne?eR(ne,L,{enumerable:!0,configurable:!0,writable:!0,value:se}):ne[L]=se;var te=(ne,L,se)=>(tR(ne,typeof L!="symbol"?L+"":L,se),se),oc=(ne,L,se)=>{if(!L.has(ne))throw TypeError("Cannot "+se)};var Oe=(ne,L,se)=>(oc(ne,L,"read from private field"),se?se.call(ne):L.get(ne)),ac=(ne,L,se)=>{if(L.has(ne))throw TypeError("Cannot add the same private member more than once");L instanceof WeakSet?L.add(ne):L.set(ne,se)},Hr=(ne,L,se,Ht)=>(oc(ne,L,"write to private field"),Ht?Ht.call(ne,se):L.set(ne,se),se);var uc=(ne,L,se)=>(oc(ne,L,"access private method"),se);(function(){"use strict";var Qt,cc,qt,fe;function ne(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e}function L(n,t,e,r){function i(s){return s instanceof e?s:new e(function(o){o(s)})}return new(e||(e=Promise))(function(s,o){function a(f){try{c(r.next(f))}catch(l){o(l)}}function u(f){try{c(r.throw(f))}catch(l){o(l)}}function c(f){f.done?s(f.value):i(f.value).then(a,u)}c((r=r.apply(n,t||[])).next())})}typeof SuppressedError=="function"&&SuppressedError;var se="*",Ht=function(){function n(){this._events={}}return n.prototype.on=function(t,e,r){return this._events[t]||(this._events[t]=[]),this._events[t].push({callback:e,once:!!r}),this},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.emit=function(t){for(var e=this,r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];var s=this._events[t]||[],o=this._events[se]||[],a=function(u){for(var c=u.length,f=0;f<c;f++)if(u[f]){var l=u[f],h=l.callback,g=l.once;g&&(u.splice(f,1),u.length===0&&delete e._events[t],c--,f--),h.apply(e,r)}};a(s),a(o)},n.prototype.off=function(t,e){if(!t)this._events={};else if(!e)delete this._events[t];else{for(var r=this._events[t]||[],i=r.length,s=0;s<i;s++)r[s].callback===e&&(r.splice(s,1),i--,s--);r.length===0&&delete this._events[t]}return this},n.prototype.getEvents=function(){return this._events},n}();function en(n,t,e,r){for(;n.length;){const i=n.shift();if(e(i))return!0;t.add(i.id),r(i.id).forEach(o=>{t.has(o.id)||(t.add(o.id),n.push(o))})}return!1}function er(n,t,e,r){if(e(n))return!0;t.add(n.id);for(const s of r(n.id))if(!t.has(s.id)&&er(s,t,e,r))return!0;return!1}const fc=()=>!0;class b0{constructor(t){te(this,"graph");te(this,"nodeFilter");te(this,"edgeFilter");te(this,"cacheEnabled");te(this,"inEdgesMap",new Map);te(this,"outEdgesMap",new Map);te(this,"bothEdgesMap",new Map);te(this,"allNodesMap",new Map);te(this,"allEdgesMap",new Map);te(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});te(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(t=>t.id))});te(this,"updateCache",t=>{const e=new Set;t.forEach(r=>{const i=this.bothEdgesMap.get(r);if(i&&i.forEach(s=>e.add(s.id)),!this.hasNode(r))this.inEdgesMap.delete(r),this.outEdgesMap.delete(r),this.bothEdgesMap.delete(r),this.allNodesMap.delete(r);else{const s=this.graph.getRelatedEdges(r,"in").filter(this.edgeFilter),o=this.graph.getRelatedEdges(r,"out").filter(this.edgeFilter),a=Array.from(new Set([...s,...o]));a.forEach(u=>e.add(u.id)),this.inEdgesMap.set(r,s),this.outEdgesMap.set(r,o),this.bothEdgesMap.set(r,a),this.allNodesMap.set(r,this.graph.getNode(r))}}),e.forEach(r=>{this.hasEdge(r)?this.allEdgesMap.set(r,this.graph.getEdge(r)):this.allEdgesMap.delete(r)})});te(this,"handleGraphChanged",t=>{const e=new Set;t.changes.forEach(r=>{switch(r.type){case"NodeAdded":e.add(r.value.id);break;case"NodeDataUpdated":e.add(r.id);break;case"EdgeAdded":e.add(r.value.source),e.add(r.value.target);break;case"EdgeUpdated":(r.propertyName==="source"||r.propertyName==="target")&&(e.add(r.oldValue),e.add(r.newValue));break;case"EdgeDataUpdated":if(t.graph.hasEdge(r.id)){const i=t.graph.getEdge(r.id);e.add(i.source),e.add(i.target)}break;case"EdgeRemoved":e.add(r.value.source),e.add(r.value.target);break;case"NodeRemoved":e.add(r.value.id);break}}),this.updateCache(e)});this.graph=t.graph;const e=t.nodeFilter||fc,r=t.edgeFilter||fc;this.nodeFilter=e,this.edgeFilter=i=>{const{source:s,target:o}=this.graph.getEdgeDetail(i.id);return!e(s)||!e(o)?!1:r(i,s,o)},t.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):t.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(t){this.getNode(t)}hasNode(t){if(!this.graph.hasNode(t))return!1;const e=this.graph.getNode(t);return this.nodeFilter(e)}areNeighbors(t,e){return this.checkNodeExistence(t),this.getNeighbors(e).some(r=>r.id===t)}getNode(t){const e=this.graph.getNode(t);if(!this.nodeFilter(e))throw new Error("Node not found for id: "+t);return e}getRelatedEdges(t,e){return this.checkNodeExistence(t),this.cacheEnabled?e==="in"?this.inEdgesMap.get(t):e==="out"?this.outEdgesMap.get(t):this.bothEdgesMap.get(t):this.graph.getRelatedEdges(t,e).filter(this.edgeFilter)}getDegree(t,e){return this.getRelatedEdges(t,e).length}getSuccessors(t){const r=this.getRelatedEdges(t,"out").map(i=>this.getNode(i.target));return Array.from(new Set(r))}getPredecessors(t){const r=this.getRelatedEdges(t,"in").map(i=>this.getNode(i.source));return Array.from(new Set(r))}getNeighbors(t){const e=this.getPredecessors(t),r=this.getSuccessors(t);return Array.from(new Set([...e,...r]))}hasEdge(t){if(!this.graph.hasEdge(t))return!1;const e=this.graph.getEdge(t);return this.edgeFilter(e)}getEdge(t){const e=this.graph.getEdge(t);if(!this.edgeFilter(e))throw new Error("Edge not found for id: "+t);return e}getEdgeDetail(t){const e=this.getEdge(t);return{edge:e,source:this.getNode(e.source),target:this.getNode(e.target)}}hasTreeStructure(t){return this.graph.hasTreeStructure(t)}getRoots(t){return this.graph.getRoots(t).filter(this.nodeFilter)}getChildren(t,e){return this.checkNodeExistence(t),this.graph.getChildren(t,e).filter(this.nodeFilter)}getParent(t,e){this.checkNodeExistence(t);const r=this.graph.getParent(t,e);return!r||!this.nodeFilter(r)?null:r}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(t,e,r="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[r];en([this.getNode(t)],new Set,e,i)}dfs(t,e,r="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[r];er(this.getNode(t),new Set,e,i)}}let ue=class w0 extends Ht{constructor(e){super();te(this,"nodeMap",new Map);te(this,"edgeMap",new Map);te(this,"inEdgesMap",new Map);te(this,"outEdgesMap",new Map);te(this,"bothEdgesMap",new Map);te(this,"treeIndices",new Map);te(this,"changes",[]);te(this,"batchCount",0);te(this,"onChanged",()=>{});te(this,"batch",e=>{this.batchCount+=1,e(),this.batchCount-=1,this.batchCount||this.commit()});e&&(e.nodes&&this.addNodes(e.nodes),e.edges&&this.addEdges(e.edges),e.tree&&this.addTree(e.tree),e.onChanged&&(this.onChanged=e.onChanged))}commit(){const e=this.changes;this.changes=[];const r={graph:this,changes:e};this.emit("changed",r),this.onChanged(r)}reduceChanges(e){let r=[];return e.forEach(i=>{switch(i.type){case"NodeRemoved":{let s=!1;r=r.filter(o=>{if(o.type==="NodeAdded"){const a=o.value.id===i.value.id;return a&&(s=!0),!a}else{if(o.type==="NodeDataUpdated")return o.id!==i.value.id;if(o.type==="TreeStructureChanged")return o.nodeId!==i.value.id}return!0}),s||r.push(i);break}case"EdgeRemoved":{let s=!1;r=r.filter(o=>{if(o.type==="EdgeAdded"){const a=o.value.id===i.value.id;return a&&(s=!0),!a}else if(o.type==="EdgeDataUpdated"||o.type==="EdgeUpdated")return o.id!==i.value.id;return!0}),s||r.push(i);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const s=r.findIndex(a=>a.type===i.type&&a.id===i.id&&(i.propertyName===void 0||a.propertyName===i.propertyName)),o=r[s];o?i.propertyName!==void 0?o.newValue=i.newValue:(r.splice(s,1),r.push(i)):r.push(i);break}case"TreeStructureDetached":{r=r.filter(s=>s.type==="TreeStructureAttached"||s.type==="TreeStructureChanged"?s.treeKey!==i.treeKey:!0),r.push(i);break}case"TreeStructureChanged":{const s=r.find(o=>o.type==="TreeStructureChanged"&&o.treeKey===i.treeKey&&o.nodeId===i.nodeId);s?s.newParentId=i.newParentId:r.push(i);break}default:r.push(i);break}}),r}checkNodeExistence(e){this.getNode(e)}hasNode(e){return this.nodeMap.has(e)}areNeighbors(e,r){return this.getNeighbors(r).some(i=>i.id===e)}getNode(e){const r=this.nodeMap.get(e);if(!r)throw new Error("Node not found for id: "+e);return r}getRelatedEdges(e,r){if(this.checkNodeExistence(e),r==="in"){const i=this.inEdgesMap.get(e);return Array.from(i)}else if(r==="out"){const i=this.outEdgesMap.get(e);return Array.from(i)}else{const i=this.bothEdgesMap.get(e);return Array.from(i)}}getDegree(e,r){return this.getRelatedEdges(e,r).length}getSuccessors(e){const i=this.getRelatedEdges(e,"out").map(s=>this.getNode(s.target));return Array.from(new Set(i))}getPredecessors(e){const i=this.getRelatedEdges(e,"in").map(s=>this.getNode(s.source));return Array.from(new Set(i))}getNeighbors(e){const r=this.getPredecessors(e),i=this.getSuccessors(e);return Array.from(new Set([...r,...i]))}doAddNode(e){if(this.hasNode(e.id))throw new Error("Node already exists: "+e.id);this.nodeMap.set(e.id,e),this.inEdgesMap.set(e.id,new Set),this.outEdgesMap.set(e.id,new Set),this.bothEdgesMap.set(e.id,new Set),this.treeIndices.forEach(r=>{r.childrenMap.set(e.id,new Set)}),this.changes.push({type:"NodeAdded",value:e})}addNodes(e){this.batch(()=>{for(const r of e)this.doAddNode(r)})}addNode(e){this.addNodes([e])}doRemoveNode(e){const r=this.getNode(e),i=this.bothEdgesMap.get(e);i==null||i.forEach(s=>this.doRemoveEdge(s.id)),this.nodeMap.delete(e),this.treeIndices.forEach(s=>{var a,u;(a=s.childrenMap.get(e))==null||a.forEach(c=>{s.parentMap.delete(c.id)});const o=s.parentMap.get(e);o&&((u=s.childrenMap.get(o.id))==null||u.delete(r)),s.parentMap.delete(e),s.childrenMap.delete(e)}),this.bothEdgesMap.delete(e),this.inEdgesMap.delete(e),this.outEdgesMap.delete(e),this.changes.push({type:"NodeRemoved",value:r})}removeNodes(e){this.batch(()=>{e.forEach(r=>this.doRemoveNode(r))})}removeNode(e){this.removeNodes([e])}updateNodeDataProperty(e,r,i){const s=this.getNode(e);this.batch(()=>{const o=s.data[r],a=i;s.data[r]=a,this.changes.push({type:"NodeDataUpdated",id:e,propertyName:r,oldValue:o,newValue:a})})}mergeNodeData(e,r){this.batch(()=>{Object.entries(r).forEach(([i,s])=>{this.updateNodeDataProperty(e,i,s)})})}updateNodeData(...e){const r=e[0],i=this.getNode(r);if(typeof e[1]=="string"){this.updateNodeDataProperty(r,e[1],e[2]);return}let s;if(typeof e[1]=="function"){const o=e[1];s=o(i.data)}else typeof e[1]=="object"&&(s=e[1]);this.batch(()=>{const o=i.data,a=s;i.data=s,this.changes.push({type:"NodeDataUpdated",id:r,oldValue:o,newValue:a})})}checkEdgeExistence(e){if(!this.hasEdge(e))throw new Error("Edge not found for id: "+e)}hasEdge(e){return this.edgeMap.has(e)}getEdge(e){return this.checkEdgeExistence(e),this.edgeMap.get(e)}getEdgeDetail(e){const r=this.getEdge(e);return{edge:r,source:this.getNode(r.source),target:this.getNode(r.target)}}doAddEdge(e){if(this.hasEdge(e.id))throw new Error("Edge already exists: "+e.id);this.checkNodeExistence(e.source),this.checkNodeExistence(e.target),this.edgeMap.set(e.id,e);const r=this.inEdgesMap.get(e.target),i=this.outEdgesMap.get(e.source),s=this.bothEdgesMap.get(e.source),o=this.bothEdgesMap.get(e.target);r.add(e),i.add(e),s.add(e),o.add(e),this.changes.push({type:"EdgeAdded",value:e})}addEdges(e){this.batch(()=>{for(const r of e)this.doAddEdge(r)})}addEdge(e){this.addEdges([e])}doRemoveEdge(e){const r=this.getEdge(e),i=this.outEdgesMap.get(r.source),s=this.inEdgesMap.get(r.target),o=this.bothEdgesMap.get(r.source),a=this.bothEdgesMap.get(r.target);i.delete(r),s.delete(r),o.delete(r),a.delete(r),this.edgeMap.delete(e),this.changes.push({type:"EdgeRemoved",value:r})}removeEdges(e){this.batch(()=>{e.forEach(r=>this.doRemoveEdge(r))})}removeEdge(e){this.removeEdges([e])}updateEdgeSource(e,r){const i=this.getEdge(e);this.checkNodeExistence(r);const s=i.source,o=r;this.outEdgesMap.get(s).delete(i),this.bothEdgesMap.get(s).delete(i),this.outEdgesMap.get(o).add(i),this.bothEdgesMap.get(o).add(i),i.source=r,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:e,propertyName:"source",oldValue:s,newValue:o})})}updateEdgeTarget(e,r){const i=this.getEdge(e);this.checkNodeExistence(r);const s=i.target,o=r;this.inEdgesMap.get(s).delete(i),this.bothEdgesMap.get(s).delete(i),this.inEdgesMap.get(o).add(i),this.bothEdgesMap.get(o).add(i),i.target=r,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:e,propertyName:"target",oldValue:s,newValue:o})})}updateEdgeDataProperty(e,r,i){const s=this.getEdge(e);this.batch(()=>{const o=s.data[r],a=i;s.data[r]=a,this.changes.push({type:"EdgeDataUpdated",id:e,propertyName:r,oldValue:o,newValue:a})})}updateEdgeData(...e){const r=e[0],i=this.getEdge(r);if(typeof e[1]=="string"){this.updateEdgeDataProperty(r,e[1],e[2]);return}let s;if(typeof e[1]=="function"){const o=e[1];s=o(i.data)}else typeof e[1]=="object"&&(s=e[1]);this.batch(()=>{const o=i.data,a=s;i.data=s,this.changes.push({type:"EdgeDataUpdated",id:r,oldValue:o,newValue:a})})}mergeEdgeData(e,r){this.batch(()=>{Object.entries(r).forEach(([i,s])=>{this.updateEdgeDataProperty(e,i,s)})})}checkTreeExistence(e){if(!this.hasTreeStructure(e))throw new Error("Tree structure not found for treeKey: "+e)}hasTreeStructure(e){return this.treeIndices.has(e)}attachTreeStructure(e){this.treeIndices.has(e)||(this.treeIndices.set(e,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:e})}))}detachTreeStructure(e){this.checkTreeExistence(e),this.treeIndices.delete(e),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:e})})}addTree(e,r){this.batch(()=>{this.attachTreeStructure(r);const i=[],s=Array.isArray(e)?e:[e];for(;s.length;){const o=s.shift();i.push(o),o.children&&s.push(...o.children)}this.addNodes(i),i.forEach(o=>{var a;(a=o.children)==null||a.forEach(u=>{this.setParent(u.id,o.id,r)})})})}getRoots(e){return this.checkTreeExistence(e),this.getAllNodes().filter(r=>!this.getParent(r.id,e))}getChildren(e,r){this.checkNodeExistence(e),this.checkTreeExistence(r);const s=this.treeIndices.get(r).childrenMap.get(e);return Array.from(s||[])}getParent(e,r){return this.checkNodeExistence(e),this.checkTreeExistence(r),this.treeIndices.get(r).parentMap.get(e)||null}getAncestors(e,r){const i=[];let s=this.getNode(e),o;for(;o=this.getParent(s.id,r);)i.push(o),s=o;return i}setParent(e,r,i){var f,l;this.checkTreeExistence(i);const s=this.treeIndices.get(i);if(!s)return;const o=this.getNode(e),a=s.parentMap.get(e);if((a==null?void 0:a.id)===r)return;if(r==null){a&&((f=s.childrenMap.get(a.id))==null||f.delete(o)),s.parentMap.delete(e);return}const u=this.getNode(r);s.parentMap.set(e,u),a&&((l=s.childrenMap.get(a.id))==null||l.delete(o));let c=s.childrenMap.get(u.id);c||(c=new Set,s.childrenMap.set(u.id,c)),c.add(o),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:i,nodeId:e,oldParentId:a==null?void 0:a.id,newParentId:u.id})})}dfsTree(e,r,i){const s=o=>this.getChildren(o,i);return er(this.getNode(e),new Set,r,s)}bfsTree(e,r,i){const s=o=>this.getChildren(o,i);return en([this.getNode(e)],new Set,r,s)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(e,r,i="out"){const s={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return en([this.getNode(e)],new Set,r,s)}dfs(e,r,i="out"){const s={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return er(this.getNode(e),new Set,r,s)}clone(){const e=this.getAllNodes().map(s=>({...s,data:{...s.data}})),r=this.getAllEdges().map(s=>({...s,data:{...s.data}})),i=new w0({nodes:e,edges:r});return this.treeIndices.forEach(({parentMap:s,childrenMap:o},a)=>{const u=new Map;s.forEach((f,l)=>{u.set(l,i.getNode(f.id))});const c=new Map;o.forEach((f,l)=>{c.set(l,new Set(Array.from(f).map(h=>i.getNode(h.id))))}),i.treeIndices.set(a,{parentMap:u,childrenMap:c})}),i}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(e){return new b0({graph:this,...e})}};/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2019 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|