UNPKG

@eaprelsky/nocturna-wheel

Version:

A JavaScript library for rendering astrological natal charts

321 lines (281 loc) 351 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.NocturnaWheel = {})); })(this, (function (exports) { 'use strict'; /** * ServiceRegistry.js * A simple service locator/registry with all dependencies inlined. */ // Self-contained implementation class ServiceRegistry { // Private map to store service instances static #instances = new Map(); /** * Registers a service instance with the registry * @param {string} key - Service identifier * @param {Object} instance - Service instance */ static register(key, instance) { this.#instances.set(key, instance); } /** * Retrieves a service instance from the registry * @param {string} key - Service identifier * @returns {Object|undefined} The service instance, or undefined if not found */ static get(key) { return this.#instances.get(key); } /** * Checks if a service is registered * @param {string} key - Service identifier * @returns {boolean} True if the service is registered */ static has(key) { return this.#instances.has(key); } /** * Clears all registered services * Useful for testing or reinitialization */ static clear() { this.#instances.clear(); } /** * Gets or creates a basic SvgUtils-compatible instance * @returns {Object} An object with SVG utility methods */ static getSvgUtils() { if (!this.has('svgUtils')) { // Create a simple SVG utilities object const svgUtils = { svgNS: "http://www.w3.org/2000/svg", createSVGElement(tagName, attributes = {}) { const element = document.createElementNS(this.svgNS, tagName); for (const [key, value] of Object.entries(attributes)) { element.setAttribute(key, value); } return element; }, addTooltip(element, text) { const title = document.createElementNS(this.svgNS, "title"); title.textContent = text; element.appendChild(title); return element; }, pointOnCircle(centerX, centerY, radius, angle) { const radians = (angle - 90) * (Math.PI / 180); return { x: centerX + radius * Math.cos(radians), y: centerY + radius * Math.sin(radians) }; } }; this.register('svgUtils', svgUtils); } return this.get('svgUtils'); } /** * Gets the IconProvider instance * NOTE: IconProvider should be registered externally before use * This method only retrieves, does not create * @returns {Object|undefined} The IconProvider instance if registered */ static getIconProvider() { if (!this.has('iconProvider')) { console.warn('ServiceRegistry: IconProvider not registered. Icons may not work correctly.'); console.warn('ServiceRegistry: This should be initialized in main.js with inline IconData.'); return null; } return this.get('iconProvider'); } /** * Initializes all core services at once * @param {Object} options - Initialization options */ static initializeServices(options = {}) { // Initialize SvgUtils this.getSvgUtils(); // Note: IconProvider should be registered externally in main.js // with inline IconData before calling this method console.log("ServiceRegistry: Core services initialized"); } } /** * IconProvider.js * Service to handle all SVG icon path management and fallback strategies. * This ensures consistent icon handling across the application. * * Supports two modes: * 1. Inline mode (default): Uses bundled data URLs for icons * 2. External mode: Uses external file paths (for custom icons) */ class IconProvider { /** * Constructor * @param {Object} options - Configuration options * @param {string} options.basePath - Base path for external SVG assets * @param {boolean} options.useInline - Whether to use inline data URLs (default: true) * @param {Object} options.customIcons - Custom icon data URLs (optional) */ constructor(options = {}) { // Support legacy string argument for backwards compatibility if (typeof options === 'string') { options = { basePath: options, useInline: false }; } this.basePath = options.basePath || './assets/svg/zodiac/'; this.useInline = options.useInline !== false; // Default to true this.customIcons = options.customIcons || null; // Lazy-load IconData on first use this.inlineData = null; // Track if warning was already shown (to avoid spam) this._warnedAboutMissingData = false; } /** * Gets inline icon data reference * @private */ _getInlineData() { return this.inlineData; } /** * Sets the inline icon data (for manual initialization) * @param {Object} iconData - Icon data object with planets, signs, aspects */ setInlineData(iconData) { this.inlineData = iconData; console.log('IconProvider.setInlineData(): Data loaded successfully', 'planets:', Object.keys(iconData?.planets || {}).length, 'signs:', Object.keys(iconData?.signs || {}).length, 'aspects:', Object.keys(iconData?.aspects || {}).length ); } /** * Gets the path or data URL for a planet icon * @param {string} planetName - Name of the planet * @returns {string} Data URL or file path to the SVG icon */ getPlanetIconPath(planetName) { const name = planetName.toLowerCase(); // Check custom icons first if (this.customIcons?.planets?.[name]) { return this.customIcons.planets[name]; } // Try inline data URLs if (this.useInline) { const inlineData = this._getInlineData(); if (inlineData?.planets?.[name]) { return inlineData.planets[name]; } else { // Debug: log when inline data is not available (only once) if (!this._warnedAboutMissingData) { this._warnedAboutMissingData = true; if (!inlineData) { console.warn(`IconProvider: Inline data not loaded, falling back to external paths. Call setInlineData() to load inline icons.`); } else if (!inlineData.planets) { console.warn(`IconProvider: Inline data missing 'planets' category`); } } } } // Fallback to external path return `${this.basePath}zodiac-planet-${name}.svg`; } /** * Gets the path or data URL for a zodiac sign icon * @param {string} signName - Name of the zodiac sign * @returns {string} Data URL or file path to the SVG icon */ getZodiacIconPath(signName) { const name = signName.toLowerCase(); // Check custom icons first if (this.customIcons?.signs?.[name]) { return this.customIcons.signs[name]; } // Try inline data URLs if (this.useInline) { const inlineData = this._getInlineData(); if (inlineData?.signs?.[name]) { return inlineData.signs[name]; } } // Fallback to external path return `${this.basePath}zodiac-sign-${name}.svg`; } /** * Gets the path or data URL for an aspect icon * @param {string} aspectType - Type of the aspect * @returns {string} Data URL or file path to the SVG icon */ getAspectIconPath(aspectType) { const name = aspectType.toLowerCase(); // Check custom icons first if (this.customIcons?.aspects?.[name]) { return this.customIcons.aspects[name]; } // Try inline data URLs if (this.useInline) { const inlineData = this._getInlineData(); if (inlineData?.aspects?.[name]) { return inlineData.aspects[name]; } } // Fallback to external path return `${this.basePath}zodiac-aspect-${name}.svg`; } /** * Creates a text element as a fallback when SVG icons fail to load * @param {SvgUtils} svgUtils - The SvgUtils instance * @param {Object} options - Text element options * @param {number} options.x - X coordinate * @param {number} options.y - Y coordinate * @param {string} options.size - Font size (e.g., '16px') * @param {string} options.color - Text color * @param {string} options.className - CSS class name * @param {string} text - The text to display * @returns {Element} The created text element */ createTextFallback(svgUtils, options, text) { const { x, y, size = '16px', color = '#000000', className = 'icon-fallback' } = options; const textElement = svgUtils.createSVGElement("text", { x: x, y: y, 'text-anchor': 'middle', 'dominant-baseline': 'middle', 'font-size': size, 'class': className, 'fill': color }); // Use the provided text textElement.textContent = text; return textElement; } } /** * IconData.js * Auto-generated module containing inline SVG icons as data URLs * Generated at: 2026-01-11T15:58:23.772Z * * This file is automatically generated by the build process. * Do not edit manually - changes will be overwritten. */ /** * Icon data organized by category * All SVG icons are stored as data URLs for inline usage */ const IconData = { planets: {}, signs: {}, aspects: {} }; // Planet icons IconData.planets['jupiter'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%22-0.5%20-0.5%20200%20200%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%22kVkwGe1VFLANDFw4YKh--3%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20120%20169%20L%20120.41%2052%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22kVkwGe1VFLANDFw4YKh--4%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2055.45%20117%20L%20114.55%20117%20L%20150%20117%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22kVkwGe1VFLANDFw4YKh--5%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2049.17%2039.62%20C%2061.72%2037.13%2074.51%2042.25%2082.68%2053.02%20C%2090.85%2063.79%2093.13%2078.55%2088.66%2091.68%20C%2084.18%20104.81%2073.64%20114.29%2061.06%20116.51%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22zDjTfItpbO8d8TAwGvx0-1%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%22200%22%20height%3D%22200%22%20fill%3D%22none%22%20stroke%3D%22none%22%20pointer-events%3D%22all%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'; IconData.planets['ketu'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%22-0.5%20-0.5%20200%20200%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%22nZi6tGyZIidbp-v6qjZQ-1%22%3E%3Cg%2F%3E%3Cg%20data-cell-id%3D%22nZi6tGyZIidbp-v6qjZQ-6%22%3E%3Cg%2F%3E%3Cg%20data-cell-id%3D%22nZi6tGyZIidbp-v6qjZQ-7%22%3E%3Cg%3E%3Cellipse%20cx%3D%2265%22%20cy%3D%2265%22%20rx%3D%2215%22%20ry%3D%2215%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22nZi6tGyZIidbp-v6qjZQ-8%22%3E%3Cg%3E%3Cellipse%20cx%3D%22135%22%20cy%3D%2265%22%20rx%3D%2215%22%20ry%3D%2215%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22nZi6tGyZIidbp-v6qjZQ-9%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20124.39%2054.39%20Q%20120%2060%20120%2065%20Q%20120%2070%20130%2095%20Q%20140%20120%20130%20135%20Q%20120%20150%20100%20150%20Q%2080%20150%2070%20135%20Q%2060%20120%2070%2095%20Q%2080%2070%2080%2065%20Q%2080%2060%2075.61%2054.39%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22fzDwOAeg_iJ89Dt6VeXd-1%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%22200%22%20height%3D%22200%22%20fill%3D%22none%22%20stroke%3D%22none%22%20pointer-events%3D%22all%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'; IconData.planets['lilith'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%22-0.5%20-0.5%20200%20200%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%22iy5LzPKV1b8-u4Rshwn2-1%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20139%20150%20L%2059%20150%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22iy5LzPKV1b8-u4Rshwn2-2%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2098.2%20117.1%20L%2099%20180%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22iy5LzPKV1b8-u4Rshwn2-3%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2073.37%2033.62%20C%2062.66%2050.93%2065.45%2073.12%2080.13%2087.41%20C%2094.81%20101.7%20117.6%20104.42%20135.38%2093.99%20C%20125.69%20109.66%20107.04%20117.86%2088.56%20114.57%20C%2070.07%20111.28%2055.61%2097.2%2052.23%2079.2%20C%2048.85%2061.21%2057.27%2043.05%2073.37%2033.62%20Z%22%20fill%3D%22%23000000%22%20stroke%3D%22%23000000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20transform%3D%22rotate(225%2C92.12%2C75.74)%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22skUIsOvDlGxpmukY0j3V-1%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%22200%22%20height%3D%22200%22%20fill%3D%22none%22%20stroke%3D%22none%22%20pointer-events%3D%22all%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'; IconData.planets['mars'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22201px%22%20height%3D%22201px%22%20viewBox%3D%22-0.5%20-0.5%20201%20201%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%22dfX1GTXx0dsaOR7s5UN7-2%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2210%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22dfX1GTXx0dsaOR7s5UN7-3%22%3E%3Cg%3E%3Cellipse%20cx%3D%22100%22%20cy%3D%22115%22%20rx%3D%2240%22%20ry%3D%2240%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22dfX1GTXx0dsaOR7s5UN7-4%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20130%2085%20L%20155.97%2059.03%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3Cpath%20d%3D%22M%20166.05%2048.95%20L%20159.33%2069.11%20L%20155.97%2059.03%20L%20145.89%2055.67%20Z%22%20fill%3D%22%23000000%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22WfpUhmjnT6FgT6mvTSny-1%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%22200%22%20height%3D%22200%22%20fill%3D%22none%22%20stroke%3D%22none%22%20pointer-events%3D%22all%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'; IconData.planets['mercury'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22201px%22%20viewBox%3D%22-0.5%20-0.5%20200%20201%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%22P34d2Aacb0rAMBlJQ82S-5%22%3E%3Cg%3E%3Cellipse%20cx%3D%22100%22%20cy%3D%2290%22%20rx%3D%2240%22%20ry%3D%2240%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22P34d2Aacb0rAMBlJQ82S-6%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20129.98%2025.18%20C%20130.36%2034.02%20124.63%2042.31%20115.07%2046.75%20C%20105.51%2051.19%2093.67%2051.07%2084.26%2046.43%20C%2074.85%2041.79%2069.39%2033.39%2070.05%2024.56%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22P34d2Aacb0rAMBlJQ82S-7%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20100%20180%20L%20100%20130%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22P34d2Aacb0rAMBlJQ82S-8%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2060%20160%20L%20140%20160%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22YspeTQYn8OWxfiwJ6-K5-1%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%22200%22%20height%3D%22200%22%20fill%3D%22none%22%20stroke%3D%22none%22%20pointer-events%3D%22all%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'; IconData.planets['moon'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%22-0.5%20-0.5%20200%20200%22%3E%3Cdefs%2F%3E%20%3Cpath%20d%3D%22M%20106.38%2031%20C%20133.61%2035.85%20154.8%2057.4%20159.18%2084.71%20C%20163.56%20112.02%20150.17%20139.12%20125.82%20152.23%20C%20101.46%20165.35%2071.47%20161.61%2051.08%20142.92%20Q%2059.25%20148.63%2089.31%20129.94%20Q%20119.38%20111.25%20119.38%2074.69%20Q%20119.38%2038.13%20108.81%2031.63%20Z%22%20fill%3D%22white%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%20%3C%2Fsvg%3E'; IconData.planets['neptune'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%22-0.5%20-0.5%20200%20200%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%22xklInLVkXW5TzGvFd8Wp-13%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20100%20170%20L%20100%2061.18%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3Cpath%20d%3D%22M%20105.67%2072.59%20L%20100%2055.59%20L%2094.33%2072.59%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22xklInLVkXW5TzGvFd8Wp-14%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20140%20140%20L%2060%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22xklInLVkXW5TzGvFd8Wp-15%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2060%2061.18%20Q%2060%20100%2080%20110%20Q%20100%20120%20120%20110%20Q%20140%20100%20140%2061.18%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3Cpath%20d%3D%22M%2063.67%2066.59%20L%2060%2055.59%20L%2056.33%2066.59%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3Cpath%20d%3D%22M%20145.67%2072.59%20L%20140%2055.59%20L%20134.33%2072.59%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22zbcp-zu0BkE59QIL-Zbj-1%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%22200%22%20height%3D%22200%22%20fill%3D%22none%22%20stroke%3D%22none%22%20pointer-events%3D%22all%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'; IconData.planets['pluto'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%22-0.5%20-0.5%20200%20200%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%222_PLy7GvWnqgv2neW7ed-1%22%3E%3Cg%2F%3E%3Cg%20data-cell-id%3D%222_PLy7GvWnqgv2neW7ed-9%22%3E%3Cg%3E%3Cellipse%20cx%3D%22100%22%20cy%3D%22149%22%20rx%3D%2222.5%22%20ry%3D%2220%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%222_PLy7GvWnqgv2neW7ed-10%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20100%20129%20L%20100.5%20110%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%222_PLy7GvWnqgv2neW7ed-11%22%3E%3Cg%3E%3Cpath%20d%3D%22M%20140%2070.4%20C%20139.78%2092.49%20121.69%20110.22%2099.6%20110%20C%2077.51%20109.78%2059.78%2091.69%2060%2069.6%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22all%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%222_PLy7GvWnqgv2neW7ed-12%22%3E%3Cg%3E%3Cellipse%20cx%3D%22100%22%20cy%3D%2270%22%20rx%3D%2222.5%22%20ry%3D%2220%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%227pAuGvqZmXAXuP9MepSf-1%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%22200%22%20height%3D%22200%22%20fill%3D%22none%22%20stroke%3D%22none%22%20pointer-events%3D%22all%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'; IconData.planets['rahu-1'] = 'data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%20%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22background%3A%20transparent%3B%20background-color%3A%20transparent%3B%20color-scheme%3A%20light%20dark%3B%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%22-0.5%20-0.5%20200%20200%22%3E%3Cdefs%2F%3E%3Cg%3E%3Cg%20data-cell-id%3D%220%22%3E%3Cg%20data-cell-id%3D%221%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-1%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-3%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-6%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-7%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-8%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-9%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-10%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-11%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-12%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-13%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-14%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-15%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-16%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-17%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-20%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-21%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-22%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-23%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-24%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-25%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-26%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-27%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-32%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-28%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-29%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-30%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-31%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-33%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-34%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-35%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-36%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-37%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-68%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-69%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-70%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-71%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-73%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-38%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-39%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-40%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-41%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-42%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-48%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-49%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-50%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-51%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-52%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-53%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-54%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-74%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-44%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-45%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-138%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-139%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-140%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-141%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-142%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-143%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-144%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-145%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-146%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-147%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-148%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-149%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-150%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-151%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-152%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-153%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-154%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-155%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-156%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-157%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-158%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-159%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-160%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-161%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-162%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-166%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-167%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-168%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-169%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-170%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-174%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-175%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-176%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-177%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-178%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-208%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-209%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-210%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-211%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-212%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-55%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-56%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-213%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-214%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-215%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-216%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-217%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-4%22%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-1%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-2%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-3%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-218%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-219%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-220%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-221%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-222%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-196%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-197%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-201%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-203%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-204%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-206%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-207%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-223%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-224%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-225%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-226%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-227%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-5%22%3E%3Cg%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-6%22%3E%3Cg%20transform%3D%22translate(0.5%2C0.5)%22%3E%3Cellipse%20cx%3D%22165%22%20cy%3D%22165%22%20rx%3D%2215%22%20ry%3D%2215%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20transform%3D%22rotate(-180%2C165%2C165)%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-7%22%3E%3Cg%20transform%3D%22translate(0.5%2C0.5)%22%3E%3Cellipse%20cx%3D%2235%22%20cy%3D%22165%22%20rx%3D%2215%22%20ry%3D%2215%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20transform%3D%22rotate(-180%2C35%2C165)%22%20pointer-events%3D%22all%22%20style%3D%22fill%3A%20light-dark(%23ffffff%2C%20var(--ge-dark-color%2C%20%23121212))%3B%20stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-8%22%3E%3Cg%20transform%3D%22translate(0.5%2C0.5)%22%3E%3Cpath%20d%3D%22M%2055.61%20185.61%20Q%2065%20175%2065%20165%20Q%2065%20155%2045%20105%20Q%2025%2055%2045%2025%20Q%2065%20-5%20105%20-5%20Q%20145%20-5%20165%2025%20Q%20185%2055%20165%20105%20Q%20145%20155%20145%20165%20Q%20145%20175%20154.39%20185.61%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%225%22%20stroke-miterlimit%3D%2210%22%20pointer-events%3D%22stroke%22%20style%3D%22stroke%3A%20light-dark(rgb(0%2C%200%2C%200)%2C%20rgb(255%2C%20255%2C%20255))%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-228%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-229%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-230%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-231%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-232%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-265%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-266%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-233%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-234%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-235%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-236%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-237%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-238%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-239%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-240%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-241%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-242%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-294%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-295%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-243%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-244%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-245%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-246%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-247%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-298%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-299%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-300%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-58%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-59%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-57%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-63%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-64%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-66%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-248%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-249%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-254%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-256%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-257%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-258%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-259%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-260%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-261%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-262%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-263%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-264%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-292%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-267%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-268%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-269%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-270%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-271%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-272%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-273%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-274%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-277%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-278%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-279%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-281%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-282%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-283%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-284%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-291%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-286%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-287%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-288%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-290%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-302%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-303%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-304%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-305%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-306%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-362%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-307%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-308%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-309%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-310%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-311%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-312%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-313%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-314%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-315%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-316%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-363%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-317%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-318%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-319%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-320%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-321%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-322%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-323%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-324%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-325%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-326%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-364%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-365%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-366%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-327%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-328%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-329%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-330%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-331%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-332%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-333%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-334%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-335%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-336%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-367%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-368%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-337%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-338%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-339%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-340%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-341%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-342%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-343%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-344%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-345%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-346%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-371%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-372%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-373%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-347%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-348%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-349%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-350%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-351%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-357%22%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-358%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-359%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-360%22%2F%3E%3Cg%20data-cell-id%3D%22ApFtk30SPmznxXabnnFi-361%22%2F%3E%3Cg%20data-cell-id%3D%22srBSQh4KOTasGSE8ft9g-6%22%2F%3E%3Cg%20data-cell-id%3D%22srBSQh4KOTasGSE8ft9g-7%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-9%22%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-10%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-11%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-12%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-13%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-22%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-23%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-24%22%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-20%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-21%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-14%22%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-15%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-16%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-17%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-18%22%2F%3E%3Cg%20data-cell-id%3D%22cskn5mqhr9ZncGVoWKjj-2%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-26%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-27%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-28%22%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-29%22%2F%3E%3Cg%20data-cell-id%3D%22KS9pV0ngr4uzh0Otbb3G-30%22%2F%3E%3C%2Fg%3E%3Cg%20data-cell-id%3D%22cskn5mqhr9ZncGVoWKjj-3%22%2F%3E%3Cg%20data-cell-id%3D%22cskn5mqhr9ZncGVoWKjj-4%22%2F%3