[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-115.3.0esr-13.0-1] 3 commits: fixup! Bug 7494: Create local home page for TBB.



Title: GitLab

richard pushed to branch tor-browser-115.3.0esr-13.0-1 at The Tor Project / Applications / Tor Browser

Commits:

  • 68e353d0
    by Henry Wilkes at 2023-09-28T20:10:07+00:00
    fixup! Bug 7494: Create local home page for TBB.
    
    Bug 41898: Change the dark background text rules to apply to all body
    children that are not #search-form.
    
    Extend the focus outline color rule changes.
    
  • efe5fb38
    by Henry Wilkes at 2023-09-28T20:10:07+00:00
    fixup! Bug 7494: Create local home page for TBB.
    
    Bug 42072: Pass whether the browser is the stable version to the
    about:tor window. This is to be used by the year end campaign, but we
    also use it outside of the campaign as well.
    
    Moreover, we can avoid the preprocessor, and this makes it easier to
    test what the about:tor page would look like in the release, alpha or
    nightly build using just the dev build.
    
  • 1b121028
    by Henry Wilkes at 2023-09-28T20:10:07+00:00
    fixup! Bug 42072: 2023 year end campaign for about:tor.
    
    Bug 42072: Implement initial page.
    

8 changed files:

Changes:

  • browser/components/abouttor/AboutTorChild.sys.mjs
    ... ... @@ -15,24 +15,12 @@ export class AboutTorChild extends JSWindowActorChild {
    15 15
       handleEvent(event) {
    
    16 16
         switch (event.type) {
    
    17 17
           case "DOMContentLoaded":
    
    18
    -        this.sendQuery("AboutTor:GetSearchOnionize").then(searchOnionize => {
    
    19
    -          const onionizeEvent = new this.contentWindow.CustomEvent(
    
    20
    -            "InitialSearchOnionize",
    
    21
    -            {
    
    22
    -              detail: Cu.cloneInto(searchOnionize, this.contentWindow),
    
    23
    -            }
    
    18
    +        this.sendQuery("AboutTor:GetInitialData").then(data => {
    
    19
    +          const initialDataEvent = new this.contentWindow.CustomEvent(
    
    20
    +            "InitialData",
    
    21
    +            { detail: Cu.cloneInto(data, this.contentWindow) }
    
    24 22
               );
    
    25
    -          this.contentWindow.dispatchEvent(onionizeEvent);
    
    26
    -        });
    
    27
    -
    
    28
    -        this.sendQuery("AboutTor:GetMessage").then(messageData => {
    
    29
    -          const messageEvent = new this.contentWindow.CustomEvent(
    
    30
    -            "MessageData",
    
    31
    -            {
    
    32
    -              detail: Cu.cloneInto(messageData, this.contentWindow),
    
    33
    -            }
    
    34
    -          );
    
    35
    -          this.contentWindow.dispatchEvent(messageEvent);
    
    23
    +          this.contentWindow.dispatchEvent(initialDataEvent);
    
    36 24
             });
    
    37 25
             break;
    
    38 26
           case "SubmitSearchOnionize":
    

  • browser/components/abouttor/AboutTorParent.sys.mjs
    1
    +import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
    
    2
    +
    
    1 3
     const lazy = {};
    
    2 4
     
    
    3 5
     ChromeUtils.defineESModuleGetters(lazy, {
    
    ... ... @@ -8,10 +10,17 @@ export class AboutTorParent extends JSWindowActorParent {
    8 10
       receiveMessage(message) {
    
    9 11
         const onionizePref = "torbrowser.homepage.search.onionize";
    
    10 12
         switch (message.name) {
    
    11
    -      case "AboutTor:GetMessage":
    
    12
    -        return Promise.resolve(lazy.AboutTorMessage.getNext());
    
    13
    -      case "AboutTor:GetSearchOnionize":
    
    14
    -        return Promise.resolve(Services.prefs.getBoolPref(onionizePref, false));
    
    13
    +      case "AboutTor:GetInitialData":
    
    14
    +        return Promise.resolve({
    
    15
    +          messageData: lazy.AboutTorMessage.getNext(),
    
    16
    +          isStable: AppConstants.MOZ_UPDATE_CHANNEL === "release",
    
    17
    +          searchOnionize: Services.prefs.getBoolPref(onionizePref, false),
    
    18
    +          // Locale for YEC 2023. See tor-browser#42072.
    
    19
    +          appLocale:
    
    20
    +            Services.locale.appLocaleAsBCP47 === "ja-JP-macos"
    
    21
    +              ? "ja"
    
    22
    +              : Services.locale.appLocaleAsBCP47,
    
    23
    +        });
    
    15 24
           case "AboutTor:SetSearchOnionize":
    
    16 25
             Services.prefs.setBoolPref(onionizePref, message.data);
    
    17 26
             break;
    

  • browser/components/abouttor/content/aboutTor.css
    ... ... @@ -144,11 +144,13 @@ h1 {
    144 144
       /* On dark background */
    
    145 145
       :root {
    
    146 146
         background-color: #2C0449;
    
    147
    -    --focus-outline: var(--focus-outline-width) solid var(--purple-30);
    
    147
    +    --focus-outline-color: var(--purple-30);
    
    148
    +    --focus-outline: var(--focus-outline-width) solid var(--focus-outline-color);
    
    149
    +    --in-content-focus-outline-color: var(--focus-outline-color);
    
    148 150
         --in-content-focus-outline: var(--focus-outline);
    
    149 151
       }
    
    150 152
     
    
    151
    -  h1, .home-message {
    
    153
    +  body > :not(#search-form) {
    
    152 154
         /* Same as --in-content-page-color when "prefers-color-scheme: dark" */
    
    153 155
         --in-content-page-color: #fbfbfe;
    
    154 156
         --in-content-text-color: #fbfbfe;
    
    ... ... @@ -177,7 +179,9 @@ h1 {
    177 179
     
    
    178 180
       /* Light background. */
    
    179 181
       #search-form > * {
    
    180
    -    --focus-outline: var(--focus-outline-width) solid var(--purple-60);
    
    182
    +    --focus-outline-color: var(--purple-60);
    
    183
    +    --focus-outline: var(--focus-outline-width) solid var(--focus-outline-color);
    
    184
    +    --in-content-focus-outline-color: var(--focus-outline-color);
    
    181 185
         --in-content-focus-outline: var(--focus-outline);
    
    182 186
         /* Variables used for --toggle- variables. */
    
    183 187
         --color-accent-primary: var(--purple-60);
    
    ... ... @@ -189,3 +193,210 @@ h1 {
    189 193
         color: var(--purple-60);
    
    190 194
       }
    
    191 195
     }
    
    196
    +
    
    197
    +/* YEC 2023.
    
    198
    + * See tor-browser#42072 */
    
    199
    +body:not(.yec-2023-is-shown) #yec-2023-banner {
    
    200
    +  display: none;
    
    201
    +}
    
    202
    +
    
    203
    +body.yec-2023-is-shown h1 {
    
    204
    +  /* Text of heading is still available to screen readers, but it does not
    
    205
    +   * contribute visually to the page or the body grid layout. */
    
    206
    +  position: absolute;
    
    207
    +  clip-path: inset(50%);
    
    208
    +}
    
    209
    +
    
    210
    +#yec-2023-banner {
    
    211
    +  grid-area: heading;
    
    212
    +  border-radius: 8px;
    
    213
    +  border-width: 1px;
    
    214
    +  border-style: solid;
    
    215
    +  display: grid;
    
    216
    +  grid-template:
    
    217
    +    "yec-image yec-matching" auto
    
    218
    +    "yec-image yec-heading" auto
    
    219
    +    "yec-image yec-body" auto
    
    220
    +    "yec-image yec-donate" min-content
    
    221
    +    / min-content 1fr;
    
    222
    +  --yec-image-background: #1f0333;
    
    223
    +  gap: 16px 32px;
    
    224
    +  /* Remove 1px from padding for border. */
    
    225
    +  padding-block: 39px 47px;
    
    226
    +  padding-inline: 31px 55px;
    
    227
    +  box-sizing: border-box;
    
    228
    +  max-width: 860px;
    
    229
    +  margin-block-end: 40px;
    
    230
    +  /* Position for the close button. */
    
    231
    +  position: relative;
    
    232
    +}
    
    233
    +
    
    234
    +#yec-2023-banner > * {
    
    235
    +  margin: 0;
    
    236
    +}
    
    237
    +
    
    238
    +#yec-2023-image {
    
    239
    +  grid-area: yec-image;
    
    240
    +  align-self: center;
    
    241
    +  /* Center horizontally for small width layout. */
    
    242
    +  justify-self: center;
    
    243
    +  /* background color and border radius only stands out when using a high
    
    244
    +   * contrast theme. */
    
    245
    +  background: var(--yec-image-background);
    
    246
    +  border-radius: 8px;
    
    247
    +  border: 1px solid transparent;
    
    248
    +  /* Remove border from layout size. */
    
    249
    +  margin: -1px;
    
    250
    +}
    
    251
    +
    
    252
    +#yec-2023-matching {
    
    253
    +  grid-area: yec-matching;
    
    254
    +  font-weight: 600;
    
    255
    +  line-height: 1.3;
    
    256
    +}
    
    257
    +
    
    258
    +body:not(.yec-2023-is-donation-matching) #yec-2023-matching {
    
    259
    +  display: none;
    
    260
    +}
    
    261
    +
    
    262
    +#yec-2023-heading {
    
    263
    +  grid-area: yec-heading;
    
    264
    +  font-size: 1.7em;
    
    265
    +  font-weight: 700;
    
    266
    +  line-height: 1.3;
    
    267
    +}
    
    268
    +
    
    269
    +#yec-2023-body {
    
    270
    +  grid-area: yec-body;
    
    271
    +  line-height: 1.5;
    
    272
    +  margin-block-end: 8px;
    
    273
    +}
    
    274
    +
    
    275
    +#yec-2023-body .yec-2023-attention {
    
    276
    +  font-weight: 600;
    
    277
    +}
    
    278
    +
    
    279
    +#yec-2023-donate-link {
    
    280
    +  grid-area: yec-donate;
    
    281
    +  justify-self: start;
    
    282
    +  font-weight: 700;
    
    283
    +  /* Style like a button. */
    
    284
    +  color: var(--in-content-button-text-color);
    
    285
    +  border: 1px solid var(--in-content-button-border-color);
    
    286
    +  border-radius: 4px;
    
    287
    +  background-color: var(--in-content-button-background);
    
    288
    +  line-height: 1.2;
    
    289
    +  padding-block: 12px;
    
    290
    +  padding-inline: 16px;
    
    291
    +  text-decoration: none;
    
    292
    +  display: flex;
    
    293
    +  align-items: center;
    
    294
    +  gap: 10px;
    
    295
    +}
    
    296
    +
    
    297
    +#yec-2023-donate-link > * {
    
    298
    +  flex: 0 0 auto;
    
    299
    +}
    
    300
    +
    
    301
    +#yec-2023-donate-link:hover {
    
    302
    +  background-color: var(--in-content-button-background-hover);
    
    303
    +  color: var(--in-content-button-text-color-hover);
    
    304
    +  border-color: var(--in-content-button-border-color-hover);
    
    305
    +}
    
    306
    +
    
    307
    +#yec-2023-donate-link:hover:active {
    
    308
    +  background-color: var(--in-content-button-background-active);
    
    309
    +  color: var(--in-content-button-text-color-active);
    
    310
    +  border-color: var(--in-content-button-border-color-active);
    
    311
    +}
    
    312
    +
    
    313
    +#yec-2023-close {
    
    314
    +  position: absolute;
    
    315
    +  inset-block-start: 12px;
    
    316
    +  inset-inline-end: 12px;
    
    317
    +  padding: 8px;
    
    318
    +  min-width: auto;
    
    319
    +  min-height: auto;
    
    320
    +  width: 16px;
    
    321
    +  height: 16px;
    
    322
    +  box-sizing: content-box;
    
    323
    +  /* Transparent background when neither hover nor active. */
    
    324
    +  background-color: transparent;
    
    325
    +  border-color: transparent;
    
    326
    +}
    
    327
    +
    
    328
    +#yec-2023-close:hover {
    
    329
    +  background-color: var(--in-content-button-background-hover);
    
    330
    +  border-color: var(--in-content-button-border-color-hover);
    
    331
    +}
    
    332
    +
    
    333
    +#yec-2023-close:hover:active {
    
    334
    +  background-color: var(--in-content-button-background-active);
    
    335
    +  border-color: var(--in-content-button-border-color-active);
    
    336
    +}
    
    337
    +
    
    338
    +.yec-2023-icon {
    
    339
    +  -moz-context-properties: fill;
    
    340
    +  fill: currentColor;
    
    341
    +}
    
    342
    +
    
    343
    +@media (max-width: 750px) {
    
    344
    +  /* Small width layout. */
    
    345
    +  #yec-2023-banner {
    
    346
    +    grid-template:
    
    347
    +      "yec-image" min-content
    
    348
    +      "yec-matching" auto
    
    349
    +      "yec-heading" auto
    
    350
    +      "yec-body" auto
    
    351
    +      "yec-donate" min-content
    
    352
    +      / 1fr;
    
    353
    +    padding-inline: 32px;
    
    354
    +    /* Match max-width of the form. */
    
    355
    +    max-width: 600px;
    
    356
    +  }
    
    357
    +
    
    358
    +  #yec-2023-donate-link {
    
    359
    +    justify-self: center;
    
    360
    +  }
    
    361
    +}
    
    362
    +
    
    363
    +@media (prefers-contrast) {
    
    364
    +  #yec-2023-banner {
    
    365
    +    border-color: -moz-DialogText;
    
    366
    +  }
    
    367
    +
    
    368
    +  @media (prefers-color-scheme: dark) {
    
    369
    +    #yec-2023-image {
    
    370
    +      /* Give the dark image a border to separate from background. */
    
    371
    +      border-color: -moz-DialogText;
    
    372
    +    }
    
    373
    +  }
    
    374
    +}
    
    375
    +
    
    376
    +@media not (prefers-contrast) {
    
    377
    +  #yec-2023-banner {
    
    378
    +    background-color: var(--yec-image-background);
    
    379
    +    border-color: transparent;
    
    380
    +    --acorn-yellow-40: #ffbd4f;
    
    381
    +    --acorn-yellow-50: #ffa436;
    
    382
    +    --acorn-yellow-60: #e27f2e;
    
    383
    +    --acorn-dark-grey-80: #1c1b22;
    
    384
    +    /* Rules for #yec-2023-close */
    
    385
    +    --in-content-button-text-color: var(--in-content-text-color);
    
    386
    +    --in-content-button-text-color-hover: var(--in-content-text-color);
    
    387
    +    --in-content-button-text-color-active: var(--in-content-text-color);
    
    388
    +  }
    
    389
    +
    
    390
    +  #yec-2023-matching {
    
    391
    +    color: var(--acorn-yellow-40);
    
    392
    +  }
    
    393
    +
    
    394
    +  #yec-2023-donate-link {
    
    395
    +    --in-content-button-text-color: var(--acorn-dark-grey-80);
    
    396
    +    --in-content-button-text-color-hover: var(--acorn-dark-grey-80);
    
    397
    +    --in-content-button-text-color-active: var(--acorn-dark-grey-80);
    
    398
    +    --in-content-button-background: var(--acorn-yellow-40);
    
    399
    +    --in-content-button-background-hover: var(--acorn-yellow-50);
    
    400
    +    --in-content-button-background-active: var(--acorn-yellow-60);
    
    401
    +  }
    
    402
    +}

  • browser/components/abouttor/content/aboutTor.html
    ... ... @@ -29,17 +29,46 @@
    29 29
         <script src="">"chrome://browser/content/abouttor/aboutTor.js"></script>
    
    30 30
       </head>
    
    31 31
       <body>
    
    32
    +    <!-- YEC 2023. See tor-browser#42072. -->
    
    33
    +    <article id="yec-2023-banner">
    
    34
    +      <img
    
    35
    +        id="yec-2023-image"
    
    36
    +        alt=""
    
    37
    +        src="">"chrome://browser/content/abouttor/yec-2023-image.svg"
    
    38
    +      />
    
    39
    +      <!-- TODO: Set "amount" to final USD matching amount. -->
    
    40
    +      <p
    
    41
    +        id="yec-2023-matching"
    
    42
    +        data-l10n-id="yec-2023-matched-donation"
    
    43
    +        data-l10n-args='{ "amount": 0 }'
    
    44
    +      ></p>
    
    45
    +      <h2 id="yec-2023-heading" data-l10n-id="yec-2023-introduction"></h2>
    
    46
    +      <p id="yec-2023-body" data-l10n-id="yec-2023-please-donate">
    
    47
    +        <span class="yec-2023-attention" data-l10n-name="attention"></span>
    
    48
    +      </p>
    
    49
    +      <a id="yec-2023-donate-link">
    
    50
    +        <span data-l10n-id="yec-2023-donate-button"></span>
    
    51
    +        <img
    
    52
    +          class="yec-2023-icon"
    
    53
    +          alt=""
    
    54
    +          src="">"chrome://browser/content/abouttor/yec-2023-heart.svg"
    
    55
    +        />
    
    56
    +      </a>
    
    57
    +      <button id="yec-2023-close" data-l10n-id="yec-2023-close-button">
    
    58
    +        <img
    
    59
    +          class="yec-2023-icon"
    
    60
    +          alt=""
    
    61
    +          src="">"chrome://global/skin/icons/close.svg"
    
    62
    +        />
    
    63
    +      </button>
    
    64
    +    </article>
    
    32 65
         <h1>
    
    33 66
           <img
    
    34 67
             id="tor-browser-logo"
    
    35 68
             alt=""
    
    36 69
             src="">"chrome://branding/content/tor-browser-logo.svg"
    
    37 70
           />
    
    38
    -      #if MOZ_UPDATE_CHANNEL == release
    
    39
    -      <span data-l10n-id="tor-browser-home-heading-stable"></span>
    
    40
    -      #else
    
    41
    -      <span data-l10n-id="tor-browser-home-heading-testing"></span>
    
    42
    -      #endif
    
    71
    +      <span id="tor-browser-home-heading-text"></span>
    
    43 72
         </h1>
    
    44 73
         <form id="search-form" method="get" rel="noreferrer">
    
    45 74
           <img
    
    ... ... @@ -70,11 +99,10 @@
    70 99
             <a data-l10n-name="update-link" target="_blank"></a>
    
    71 100
           </span>
    
    72 101
         </p>
    
    73
    -    #if MOZ_UPDATE_CHANNEL == release
    
    74
    -    <p class="home-message home-message-rotating">
    
    102
    +    <p class="home-message home-message-rotating-stable">
    
    75 103
           <span data-l10n-id="tor-browser-home-message-introduction"></span>
    
    76 104
         </p>
    
    77
    -    <p class="home-message home-message-rotating">
    
    105
    +    <p class="home-message home-message-rotating-stable">
    
    78 106
           <img
    
    79 107
             class="message-emoji"
    
    80 108
             alt=""
    
    ... ... @@ -88,7 +116,7 @@
    88 116
             ></a>
    
    89 117
           </span>
    
    90 118
         </p>
    
    91
    -    <p class="home-message home-message-rotating">
    
    119
    +    <p class="home-message home-message-rotating-stable">
    
    92 120
           <img
    
    93 121
             class="message-emoji"
    
    94 122
             alt=""
    
    ... ... @@ -102,8 +130,7 @@
    102 130
             ></a>
    
    103 131
           </span>
    
    104 132
         </p>
    
    105
    -    #else
    
    106
    -    <p class="home-message home-message-rotating">
    
    133
    +    <p class="home-message home-message-rotating-testing">
    
    107 134
           <img
    
    108 135
             class="message-emoji"
    
    109 136
             alt=""
    
    ... ... @@ -117,6 +144,5 @@
    117 144
             ></a>
    
    118 145
           </span>
    
    119 146
         </p>
    
    120
    -    #endif
    
    121 147
       </body>
    
    122 148
     </html>

  • browser/components/abouttor/content/aboutTor.js
    ... ... @@ -4,6 +4,9 @@ const SearchWidget = {
    4 4
       _initialized: false,
    
    5 5
       _initialOnionize: false,
    
    6 6
     
    
    7
    +  /**
    
    8
    +   * Initialize the search form elements.
    
    9
    +   */
    
    7 10
       init() {
    
    8 11
         this._initialized = true;
    
    9 12
     
    
    ... ... @@ -74,6 +77,12 @@ const SearchWidget = {
    74 77
         );
    
    75 78
       },
    
    76 79
     
    
    80
    +  /**
    
    81
    +   * Set what the "Onionize" toggle state.
    
    82
    +   *
    
    83
    +   * @param {boolean} state - Whether the "Onionize" toggle should be switched
    
    84
    +   *   on.
    
    85
    +   */
    
    77 86
       setOnionizeState(state) {
    
    78 87
         if (!this._initialized) {
    
    79 88
           this._initialOnionize = state;
    
    ... ... @@ -84,32 +93,201 @@ const SearchWidget = {
    84 93
       },
    
    85 94
     };
    
    86 95
     
    
    96
    +const MessageArea = {
    
    97
    +  _initialized: false,
    
    98
    +  _messageData: null,
    
    99
    +  _isStable: null,
    
    100
    +
    
    101
    +  /**
    
    102
    +   * Initialize the message area and heading once elements are available.
    
    103
    +   */
    
    104
    +  init() {
    
    105
    +    this._initialized = true;
    
    106
    +    this._update();
    
    107
    +  },
    
    108
    +
    
    109
    +  /**
    
    110
    +   * Set the message data and stable release flag.
    
    111
    +   *
    
    112
    +   * @param {MessageData} messageData - The message data, indicating which
    
    113
    +   *   message to show.
    
    114
    +   * @param {boolean} isStable - Whether this is the stable release version.
    
    115
    +   */
    
    116
    +  setMessageData(messageData, isStable) {
    
    117
    +    this._messageData = messageData;
    
    118
    +    this._isStable = isStable;
    
    119
    +    this._update();
    
    120
    +  },
    
    121
    +
    
    122
    +  _update() {
    
    123
    +    if (!this._initialized) {
    
    124
    +      return;
    
    125
    +    }
    
    126
    +
    
    127
    +    document
    
    128
    +      .querySelector(".home-message.shown-message")
    
    129
    +      ?.classList.remove("shown-message");
    
    130
    +
    
    131
    +    if (!this._messageData) {
    
    132
    +      return;
    
    133
    +    }
    
    134
    +
    
    135
    +    // Set heading.
    
    136
    +    document.l10n.setAttributes(
    
    137
    +      document.getElementById("tor-browser-home-heading-text"),
    
    138
    +      this._isStable
    
    139
    +        ? "tor-browser-home-heading-stable"
    
    140
    +        : "tor-browser-home-heading-testing"
    
    141
    +    );
    
    142
    +
    
    143
    +    const { updateVersion, updateURL, number } = this._messageData;
    
    144
    +
    
    145
    +    if (updateVersion) {
    
    146
    +      const updatedElement = document.getElementById("home-message-updated");
    
    147
    +      updatedElement.querySelector("a").href = updateURL;
    
    148
    +      document.l10n.setAttributes(
    
    149
    +        updatedElement.querySelector("span"),
    
    150
    +        "tor-browser-home-message-updated",
    
    151
    +        { version: updateVersion }
    
    152
    +      );
    
    153
    +      updatedElement.classList.add("shown-message");
    
    154
    +    } else {
    
    155
    +      const messageElements = document.querySelectorAll(
    
    156
    +        this._isStable
    
    157
    +          ? ".home-message-rotating-stable"
    
    158
    +          : ".home-message-rotating-testing"
    
    159
    +      );
    
    160
    +      messageElements[number % messageElements.length].classList.add(
    
    161
    +        "shown-message"
    
    162
    +      );
    
    163
    +    }
    
    164
    +  },
    
    165
    +};
    
    166
    +
    
    87 167
     window.addEventListener("DOMContentLoaded", () => {
    
    88 168
       SearchWidget.init();
    
    169
    +  MessageArea.init();
    
    89 170
     });
    
    90 171
     
    
    91
    -window.addEventListener("InitialSearchOnionize", event => {
    
    92
    -  SearchWidget.setOnionizeState(!!event.detail);
    
    172
    +window.addEventListener("InitialData", event => {
    
    173
    +  const { isStable, searchOnionize, messageData } = event.detail;
    
    174
    +  SearchWidget.setOnionizeState(!!searchOnionize);
    
    175
    +  MessageArea.setMessageData(messageData, !!isStable);
    
    93 176
     });
    
    94 177
     
    
    95
    -window.addEventListener("MessageData", event => {
    
    96
    -  const updatedElement = document.getElementById("home-message-updated");
    
    97
    -  const { updateVersion, updateURL, number } = event.detail;
    
    98
    -  document
    
    99
    -    .querySelector(".home-message.shown-message")
    
    100
    -    ?.classList.remove("shown-message");
    
    101
    -  if (updateVersion) {
    
    102
    -    updatedElement.querySelector("a").href = updateURL;
    
    103
    -    document.l10n.setAttributes(
    
    104
    -      updatedElement.querySelector("span"),
    
    105
    -      "tor-browser-home-message-updated",
    
    106
    -      { version: updateVersion }
    
    107
    -    );
    
    108
    -    updatedElement.classList.add("shown-message");
    
    109
    -  } else {
    
    110
    -    const messageElements = document.querySelectorAll(".home-message-rotating");
    
    111
    -    messageElements[number % messageElements.length].classList.add(
    
    112
    -      "shown-message"
    
    178
    +// YEC 2023 (year end campaign).
    
    179
    +// See tor-browser#42072
    
    180
    +const YecWidget = {
    
    181
    +  _initialized: false,
    
    182
    +  _locale: null,
    
    183
    +
    
    184
    +  /**
    
    185
    +   * Initialize the widget.
    
    186
    +   */
    
    187
    +  init() {
    
    188
    +    this._initialized = true;
    
    189
    +
    
    190
    +    const now = Date.now();
    
    191
    +    const yecStart = Date.UTC(2023, 9, 16); // October 16th
    
    192
    +    const yecEnd = Date.UTC(2024); // 2024 January 1st
    
    193
    +
    
    194
    +    this.isActive = now >= yecStart && now < yecEnd;
    
    195
    +    document.getElementById("yec-2023-close").addEventListener("click", () => {
    
    196
    +      this.isOpen = false;
    
    197
    +    });
    
    198
    +
    
    199
    +    // TODO: Uncomment once we have a final donation matching amount.
    
    200
    +    //const donateMatchStart = Date.UTC(2023, 10, 13); // November 13th
    
    201
    +    //document.body.classList.toggle(
    
    202
    +    //  "yec-2023-is-donation-matching",
    
    203
    +    //  now >= donateMatchStart
    
    204
    +    //);
    
    205
    +
    
    206
    +    this._updateDonateLocale();
    
    207
    +  },
    
    208
    +
    
    209
    +  _isStable: false,
    
    210
    +  _isActive: false,
    
    211
    +  _isOpen: true,
    
    212
    +
    
    213
    +  /**
    
    214
    +   * Whether this is a stable release.
    
    215
    +   *
    
    216
    +   * @type {boolean}
    
    217
    +   */
    
    218
    +  get isStable() {
    
    219
    +    return this._isStable;
    
    220
    +  },
    
    221
    +
    
    222
    +  set isStable(isStable) {
    
    223
    +    this._isStable = isStable;
    
    224
    +    this._updateShown();
    
    225
    +  },
    
    226
    +
    
    227
    +  /**
    
    228
    +   * Whether the year end campaign is active.
    
    229
    +   *
    
    230
    +   * @type {boolean}
    
    231
    +   */
    
    232
    +  get isActive() {
    
    233
    +    return this._isActive;
    
    234
    +  },
    
    235
    +
    
    236
    +  set isActive(isActive) {
    
    237
    +    this._isActive = isActive;
    
    238
    +    this._updateShown();
    
    239
    +  },
    
    240
    +
    
    241
    +  /**
    
    242
    +   * Whether the banner is open or has been closed by the user.
    
    243
    +   *
    
    244
    +   * @type {boolean}
    
    245
    +   */
    
    246
    +  get isOpen() {
    
    247
    +    return this._isOpen;
    
    248
    +  },
    
    249
    +
    
    250
    +  set isOpen(isOpen) {
    
    251
    +    this._isOpen = isOpen;
    
    252
    +    this._updateShown();
    
    253
    +  },
    
    254
    +
    
    255
    +  _updateShown() {
    
    256
    +    if (!this._initialized) {
    
    257
    +      return;
    
    258
    +    }
    
    259
    +    document.body.classList.toggle(
    
    260
    +      "yec-2023-is-shown",
    
    261
    +      this.isActive && this.isOpen && this.isStable
    
    113 262
         );
    
    114
    -  }
    
    263
    +  },
    
    264
    +
    
    265
    +  _updateDonateLocale() {
    
    266
    +    if (!this._initialized) {
    
    267
    +      return;
    
    268
    +    }
    
    269
    +    const donateLink = document.getElementById("yec-2023-donate-link");
    
    270
    +    const base = "https://www.torproject.org/donate";
    
    271
    +    donateLink.href = this._locale ? `${base}/2023yec-${this._locale}` : base;
    
    272
    +  },
    
    273
    +
    
    274
    +  /**
    
    275
    +   * Set the locale to use for the donation link.
    
    276
    +   *
    
    277
    +   * @param {string} locale - The new locale, as BCP47.
    
    278
    +   */
    
    279
    +  setDonateLocale(locale) {
    
    280
    +    this._locale = locale;
    
    281
    +    this._updateDonateLocale();
    
    282
    +  },
    
    283
    +};
    
    284
    +
    
    285
    +window.addEventListener("DOMContentLoaded", () => {
    
    286
    +  YecWidget.init();
    
    287
    +});
    
    288
    +
    
    289
    +window.addEventListener("InitialData", event => {
    
    290
    +  const { appLocale, isStable } = event.detail;
    
    291
    +  YecWidget.setDonateLocale(appLocale);
    
    292
    +  YecWidget.isStable = isStable;
    
    115 293
     });

  • browser/components/abouttor/content/yec-2023-heart.svg
    1
    +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
    
    2
    +<path d="M8 6C8 6 8 2 11.5 2C15 2 15 5 15 6C15 10.5 8 15 8 15V6Z" fill="context-fill"/>
    
    3
    +<path d="M8 6C8 6 8 2 4.5 2C1 2 1 5 1 6C1 10.5 8 15 8 15L9 9L8 6Z" fill="context-fill"/>
    
    4
    +</svg>

  • browser/components/abouttor/content/yec-2023-image.svg
    1
    +<svg width="278" height="248" viewBox="0 0 278 248" fill="none" xmlns="http://www.w3.org/2000/svg">
    
    2
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M211.349 154.041L210.689 115.194L217.909 115.071L218.573 154.126H220.261C220.438 148.413 225.126 143.836 230.882 143.836H253.317C259.185 143.836 263.943 148.593 263.943 154.462V166.311C263.943 172.144 259.215 176.872 253.382 176.872C247.55 176.872 242.821 172.144 242.821 166.311V164.752C242.821 162.871 241.297 161.347 239.417 161.347H218.695L218.837 169.651H219.92C225.789 169.651 230.546 174.408 230.546 180.277V188.27C230.546 194.139 225.789 198.896 219.92 198.896H219.334L219.773 224.736C219.875 230.712 214.995 235.542 209.093 235.542C203.261 235.542 198.413 230.822 198.413 224.917V202.301C198.413 196.432 203.17 191.675 209.038 191.675H211.989L211.737 176.872H201.276C195.407 176.872 190.65 172.115 190.65 166.246V146.905C190.65 141.92 194.691 137.879 199.676 137.879C204.661 137.879 208.702 141.92 208.702 146.905V150.721C208.702 152.341 209.834 153.697 211.349 154.041ZM211.473 161.328C205.9 161 201.481 156.377 201.481 150.721V146.905C201.481 145.908 200.673 145.1 199.676 145.1C198.679 145.1 197.871 145.908 197.871 146.905V166.246C197.871 168.127 199.395 169.651 201.276 169.651H211.615L211.473 161.328ZM218.959 176.872L219.211 191.675H219.92C221.801 191.675 223.325 190.151 223.325 188.27V180.277C223.325 178.396 221.801 176.872 219.92 176.872H218.959ZM212.112 198.896H209.038C207.158 198.896 205.633 200.42 205.633 202.301V224.917C205.633 226.76 207.176 228.321 209.093 228.321C211.034 228.321 212.585 226.724 212.553 224.859L212.112 198.896ZM227.493 154.126H239.417C245.285 154.126 250.042 158.883 250.042 164.752V166.311C250.042 168.156 251.538 169.651 253.382 169.651C255.227 169.651 256.722 168.156 256.722 166.311V154.462C256.722 152.581 255.197 151.057 253.317 151.057H230.882C229.115 151.057 227.662 152.403 227.493 154.126Z" fill="#F5F5F5" stroke="#F5F5F5" stroke-width="1.11925"/>
    
    3
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M214.548 153.98L213.887 115.133L221.107 115.01L221.771 154.065H223.46C223.637 148.352 228.324 143.775 234.08 143.775H256.515C262.384 143.775 267.141 148.532 267.141 154.4V166.25C267.141 172.082 262.413 176.811 256.58 176.811C250.748 176.811 246.02 172.082 246.02 166.25V164.69C246.02 162.81 244.495 161.286 242.615 161.286H221.894L222.035 169.59H223.119C228.987 169.59 233.744 174.347 233.744 180.215V188.209C233.744 194.077 228.987 198.835 223.119 198.835H222.532L222.971 224.675C223.073 230.65 218.193 235.481 212.291 235.481C206.46 235.481 201.611 230.76 201.611 224.855V202.239C201.611 196.371 206.368 191.614 212.237 191.614H215.187L214.936 176.811H204.474C198.606 176.811 193.848 172.053 193.848 166.185V146.844C193.848 141.859 197.89 137.817 202.875 137.817C207.86 137.817 211.901 141.859 211.901 146.844V150.66C211.901 152.28 213.032 153.635 214.548 153.98ZM214.671 161.267C209.098 160.939 204.68 156.315 204.68 150.66V146.844C204.68 145.847 203.872 145.038 202.875 145.038C201.878 145.038 201.069 145.847 201.069 146.844V166.185C201.069 168.065 202.594 169.59 204.474 169.59H214.813L214.671 161.267ZM222.158 176.811L222.409 191.614H223.119C224.999 191.614 226.523 190.089 226.523 188.209V180.215C226.523 178.335 224.999 176.811 223.119 176.811H222.158ZM215.31 198.835H212.237C210.356 198.835 208.832 200.359 208.832 202.239V224.855C208.832 226.699 210.374 228.26 212.291 228.26C214.232 228.26 215.783 226.663 215.752 224.797L215.31 198.835ZM230.692 154.065H242.615C248.484 154.065 253.241 158.822 253.241 164.69V166.25C253.241 168.094 254.736 169.59 256.58 169.59C258.425 169.59 259.92 168.094 259.92 166.25V154.4C259.92 152.52 258.396 150.996 256.515 150.996H234.08C232.313 150.996 230.86 152.342 230.692 154.065Z" fill="#1F0333" stroke="#F5F5F5" stroke-width="1.11925"/>
    
    4
    +<path d="M157.343 169.737H156.784V170.297V173.514C156.784 175.682 158.542 177.44 160.71 177.44H167.855C173.434 177.44 177.956 181.962 177.956 187.541V198.489C177.956 204.068 173.434 208.59 167.855 208.59H158.708C157.246 208.59 156.062 209.775 156.062 211.237C156.062 212.698 157.246 213.883 158.708 213.883H167.855C173.434 213.883 177.956 218.405 177.956 223.984V224.825C177.956 230.404 173.434 234.926 167.855 234.926H105.831C100.252 234.926 95.7296 230.404 95.7296 224.825V219.25C95.7296 213.671 100.252 209.149 105.831 209.149H108.592C110.761 209.149 112.518 207.391 112.518 205.223V204.065C112.518 201.897 110.761 200.139 108.592 200.139H105.831C100.252 200.139 95.7296 195.617 95.7296 190.038V186.091C95.7296 180.513 100.252 175.99 105.831 175.99H117.331C119.5 175.99 121.258 174.233 121.258 172.064V170.297V169.737H120.698H115.398C109.82 169.737 105.297 165.215 105.297 159.636V156.445C105.297 150.866 109.82 146.344 115.398 146.344H117.331C122.91 146.344 127.432 150.866 127.432 156.445V163.002V163.562H127.992H150.049H150.609V163.002V153.078V152.519H150.049H145.877C140.298 152.519 135.776 147.996 135.776 142.418V116.5H141.95V142.418C141.95 144.586 143.708 146.344 145.877 146.344H164.064C169.643 146.344 174.165 150.866 174.165 156.445V159.636C174.165 165.215 169.643 169.737 164.064 169.737H157.343ZM156.784 163.002V163.562H157.343H164.064C166.232 163.562 167.99 161.804 167.99 159.636V156.445C167.99 154.276 166.232 152.519 164.064 152.519H157.343H156.784V153.078V163.002ZM127.992 169.737H127.432V170.297V172.064C127.432 177.643 122.91 182.165 117.331 182.165H105.831C103.662 182.165 101.904 183.923 101.904 186.091V190.038C101.904 192.206 103.662 193.964 105.831 193.964H108.592C114.171 193.964 118.693 198.487 118.693 204.065V205.223C118.693 210.801 114.171 215.324 108.592 215.324H105.831C103.662 215.324 101.904 217.081 101.904 219.25V224.825C101.904 226.994 103.662 228.752 105.831 228.752H167.855C170.023 228.752 171.781 226.994 171.781 224.825V223.984C171.781 221.815 170.023 220.058 167.855 220.058H158.708C153.836 220.058 149.887 216.108 149.887 211.237C149.887 206.365 153.836 202.416 158.708 202.416H167.855C170.023 202.416 171.781 200.658 171.781 198.489V187.541C171.781 185.373 170.023 183.615 167.855 183.615H160.71C155.131 183.615 150.609 179.092 150.609 173.514V170.297V169.737H150.049H127.992ZM120.698 163.562H121.258V163.002V156.445C121.258 154.276 119.5 152.519 117.331 152.519H115.398C113.23 152.519 111.472 154.276 111.472 156.445V159.636C111.472 161.804 113.23 163.562 115.398 163.562H120.698Z" fill="#F5F5F5" stroke="#F5F5F5" stroke-width="1.11925"/>
    
    5
    +<path d="M160.542 169.737H159.982V170.297V173.514C159.982 175.682 161.74 177.44 163.908 177.44H171.053C176.632 177.44 181.154 181.962 181.154 187.541V198.489C181.154 204.068 176.632 208.59 171.053 208.59H161.906C160.445 208.59 159.26 209.775 159.26 211.237C159.26 212.698 160.445 213.883 161.906 213.883H171.053C176.632 213.883 181.154 218.405 181.154 223.984V224.825C181.154 230.404 176.632 234.926 171.053 234.926H109.029C103.45 234.926 98.928 230.404 98.928 224.825V219.25C98.928 213.671 103.45 209.149 109.029 209.149H111.791C113.959 209.149 115.717 207.391 115.717 205.223V204.065C115.717 201.897 113.959 200.139 111.791 200.139H109.029C103.45 200.139 98.928 195.617 98.928 190.038V186.091C98.928 180.513 103.45 175.99 109.029 175.99H120.53C122.698 175.99 124.456 174.233 124.456 172.064V170.297V169.737H123.896H118.597C113.018 169.737 108.496 165.215 108.496 159.636V156.445C108.496 150.866 113.018 146.344 118.597 146.344H120.53C126.108 146.344 130.631 150.866 130.631 156.445V163.002V163.562H131.19H153.248H153.807V163.002V153.078V152.519H153.248H149.075C143.496 152.519 138.974 147.996 138.974 142.418V116.5H145.149V142.418C145.149 144.586 146.907 146.344 149.075 146.344H167.262C172.841 146.344 177.363 150.866 177.363 156.445V159.636C177.363 165.215 172.841 169.737 167.262 169.737H160.542ZM159.982 163.002V163.562H160.542H167.262C169.431 163.562 171.189 161.804 171.189 159.636V156.445C171.189 154.276 169.431 152.519 167.262 152.519H160.542H159.982V153.078V163.002ZM131.19 169.737H130.631V170.297V172.064C130.631 177.643 126.108 182.165 120.53 182.165H109.029C106.861 182.165 105.103 183.923 105.103 186.091V190.038C105.103 192.206 106.861 193.964 109.029 193.964H111.791C117.369 193.964 121.892 198.487 121.892 204.065V205.223C121.892 210.801 117.369 215.324 111.791 215.324H109.029C106.861 215.324 105.103 217.081 105.103 219.25V224.825C105.103 226.994 106.861 228.752 109.029 228.752H171.053C173.222 228.752 174.98 226.994 174.98 224.825V223.984C174.98 221.815 173.222 220.058 171.053 220.058H161.906C157.035 220.058 153.085 216.108 153.085 211.237C153.085 206.365 157.035 202.416 161.906 202.416H171.053C173.222 202.416 174.98 200.658 174.98 198.489V187.541C174.98 185.373 173.222 183.615 171.053 183.615H163.908C158.33 183.615 153.807 179.092 153.807 173.514V170.297V169.737H153.248H131.19ZM123.896 163.562H124.456V163.002V156.445C124.456 154.276 122.698 152.519 120.53 152.519H118.597C116.428 152.519 114.671 154.276 114.671 156.445V159.636C114.671 161.804 116.428 163.562 118.597 163.562H123.896Z" fill="#1F0333" stroke="#F5F5F5" stroke-width="1.11925"/>
    
    6
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M57.8858 130.584V118.885H65.1799V130.584C65.1799 136.472 60.407 141.245 54.5193 141.245H26.7806C24.9332 141.245 23.4141 142.758 23.4141 144.629C23.4141 146.5 24.9332 148.013 26.7806 148.013H67.5996V144.612C67.5996 138.724 72.3726 133.951 78.2603 133.951H87.5532C93.4528 133.951 98.2139 138.753 98.2139 144.629C98.2139 150.505 93.4528 155.307 87.5532 155.307H74.8937V173.525C74.8937 176.021 73.2587 178.135 71.0012 178.855V181.538C71.0012 186.903 66.6522 191.252 61.2874 191.252H52.5555V199.984H60.3406C66.2283 199.984 71.0012 204.757 71.0012 210.644V224.707C71.0012 230.594 66.2283 235.367 60.3406 235.367H55.922C50.0343 235.367 45.2614 230.594 45.2614 224.707V207.278H45.1941C39.3064 207.278 34.5334 202.505 34.5334 196.617V194.618C34.5334 188.731 39.3064 183.958 45.1941 183.958H45.2614V171.789C45.2614 165.901 50.0343 161.128 55.922 161.128H67.5996V155.307H26.7806C20.8811 155.307 16.12 150.505 16.12 144.629C16.12 138.753 20.8811 133.951 26.7806 133.951H54.5193C56.3786 133.951 57.8858 132.444 57.8858 130.584ZM67.5996 168.423H55.922C54.0628 168.423 52.5555 169.93 52.5555 171.789V183.958H61.2874C62.6238 183.958 63.7071 182.874 63.7071 181.538V177.417C63.7071 174.921 65.3421 172.807 67.5996 172.087V168.423ZM45.2614 191.252H45.1941C43.3348 191.252 41.8276 192.759 41.8276 194.618V196.617C41.8276 198.476 43.3348 199.984 45.1941 199.984H45.2614V191.252ZM52.5555 207.278V224.707C52.5555 226.566 54.0627 228.073 55.922 228.073H60.3406C62.1999 228.073 63.7071 226.566 63.7071 224.707V210.644C63.7071 208.785 62.1999 207.278 60.3406 207.278H52.5555ZM74.8937 148.013H87.5532C89.4007 148.013 90.9198 146.5 90.9198 144.629C90.9198 142.758 89.4007 141.245 87.5532 141.245H78.2603C76.401 141.245 74.8937 142.752 74.8937 144.612V148.013Z" fill="#F5F5F5" stroke="#F5F5F5" stroke-width="1.11925"/>
    
    7
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M61.0842 130.765V119.195H68.3783V130.765C68.3783 136.653 63.6054 141.426 57.7177 141.426H29.979C28.1316 141.426 26.6125 142.938 26.6125 144.81C26.6125 146.681 28.1316 148.194 29.979 148.194H70.798V144.792C70.798 138.904 75.571 134.131 81.4587 134.131H90.7516C96.6512 134.131 101.412 138.934 101.412 144.81C101.412 150.685 96.6512 155.488 90.7516 155.488H78.0921V173.705C78.0921 176.202 76.4571 178.316 74.1996 179.036V181.718C74.1996 187.083 69.8506 191.432 64.4858 191.432H55.7539V200.164H63.539C69.4267 200.164 74.1996 204.937 74.1996 210.825V224.887C74.1996 230.775 69.4267 235.548 63.539 235.548H59.1204C53.2327 235.548 48.4598 230.775 48.4598 224.887V207.458H48.3925C42.5048 207.458 37.7318 202.685 37.7318 196.798V194.799C37.7318 188.911 42.5048 184.138 48.3925 184.138H48.4598V171.97C48.4598 166.082 53.2327 161.309 59.1204 161.309H70.798V155.488H29.979C24.0795 155.488 19.3184 150.685 19.3184 144.81C19.3184 138.934 24.0795 134.131 29.979 134.131H57.7177C59.577 134.131 61.0842 132.624 61.0842 130.765ZM70.798 168.603H59.1204C57.2611 168.603 55.7539 170.11 55.7539 171.97V184.138H64.4858C65.8222 184.138 66.9055 183.055 66.9055 181.718V177.598C66.9055 175.102 68.5405 172.988 70.798 172.268V168.603ZM48.4598 191.432H48.3925C46.5332 191.432 45.026 192.94 45.026 194.799V196.798C45.026 198.657 46.5332 200.164 48.3925 200.164H48.4598V191.432ZM55.7539 207.458V224.887C55.7539 226.746 57.2611 228.254 59.1204 228.254H63.539C65.3982 228.254 66.9055 226.746 66.9055 224.887V210.825C66.9055 208.966 65.3982 207.458 63.539 207.458H55.7539ZM78.0921 148.194H90.7516C92.5991 148.194 94.1181 146.681 94.1181 144.81C94.1181 142.938 92.5991 141.426 90.7516 141.426H81.4587C79.5994 141.426 78.0921 142.933 78.0921 144.792V148.194Z" fill="#1F0333" stroke="#F5F5F5" stroke-width="1.11925"/>
    
    8
    +<path d="M244.741 32.2523C244.741 32.7217 245.122 33.1021 245.591 33.1021C246.06 33.1021 246.441 32.7217 246.441 32.2523V24.0536L248.877 21.6172C248.935 21.5594 248.985 21.4969 249.028 21.4309H257.262C257.732 21.4309 258.112 21.0504 258.112 20.5811C258.112 20.1117 257.732 19.7312 257.262 19.7312H248.594L246.441 17.5783V8.90984C246.441 8.44049 246.06 8.06 245.591 8.06C245.122 8.06 244.741 8.44049 244.741 8.90984V17.5783L242.588 19.7312H233.92C233.45 19.7312 233.07 20.1117 233.07 20.5811C233.07 21.0504 233.45 21.4309 233.92 21.4309H242.154C242.197 21.4969 242.247 21.5594 242.305 21.6172L244.741 24.0536V32.2523Z" fill="#F9F9F9"/>
    
    9
    +<path d="M244.741 32.2523C244.741 32.7217 245.122 33.1021 245.591 33.1021C246.06 33.1021 246.441 32.7217 246.441 32.2523V24.0536L248.877 21.6172C248.935 21.5594 248.985 21.4969 249.028 21.4309H257.262C257.732 21.4309 258.112 21.0504 258.112 20.5811C258.112 20.1117 257.732 19.7312 257.262 19.7312H248.594L246.441 17.5783V8.90984C246.441 8.44049 246.06 8.06 245.591 8.06C245.122 8.06 244.741 8.44049 244.741 8.90984V17.5783L242.588 19.7312H233.92C233.45 19.7312 233.07 20.1117 233.07 20.5811C233.07 21.0504 233.45 21.4309 233.92 21.4309H242.154C242.197 21.4969 242.247 21.5594 242.305 21.6172L244.741 24.0536V32.2523Z" stroke="#F9F9F9"/>
    
    10
    +<path d="M243.216 9.21374L245.15 8.19577L245.354 9.89239L243.216 9.21374Z" fill="#F9F9F9"/>
    
    11
    +<path d="M256.876 22.8922L256.194 20.8158L258.008 20.9883L256.876 22.8922Z" fill="#F9F9F9"/>
    
    12
    +<path d="M245.203 34.5616L244.521 32.4851L246.335 32.6576L245.203 34.5616Z" fill="#F9F9F9"/>
    
    13
    +<path d="M231.611 20.8525L233.579 19.8006L233.783 21.4973L231.611 20.8525Z" fill="#F9F9F9"/>
    
    14
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M243.462 35.7746C242.655 35.7746 242.001 35.1207 242.001 34.314V26.3683L239.744 24.1108C239.744 24.1108 239.744 24.1108 239.744 24.1108C239.741 24.1083 239.739 24.1059 239.736 24.1034H231.791C230.984 24.1034 230.33 23.4495 230.33 22.6428C230.33 21.8361 230.984 21.1822 231.791 21.1822H240.206L242.001 19.387V10.9716C242.001 10.1649 242.655 9.51093 243.462 9.51093C244.269 9.51093 244.922 10.1649 244.922 10.9716V19.387L246.718 21.1822H255.133C255.94 21.1822 256.594 21.8361 256.594 22.6428C256.594 23.4495 255.94 24.1034 255.133 24.1034H247.187C247.185 24.1059 247.182 24.1083 247.18 24.1108C247.18 24.1108 247.18 24.1108 247.18 24.1108L244.922 26.3683V34.314C244.922 35.1207 244.269 35.7746 243.462 35.7746ZM244.312 26.1153L246.748 23.6789C246.806 23.6211 246.856 23.5586 246.899 23.4926H255.133C255.602 23.4926 255.983 23.1121 255.983 22.6428C255.983 22.1734 255.602 21.7929 255.133 21.7929H246.465L244.312 19.64V10.9716C244.312 10.5022 243.931 10.1217 243.462 10.1217C242.992 10.1217 242.612 10.5022 242.612 10.9716V19.64L240.459 21.7929H231.791C231.321 21.7929 230.941 22.1734 230.941 22.6428C230.941 23.1121 231.321 23.4926 231.791 23.4926H240.025C240.068 23.5586 240.118 23.6211 240.176 23.6789L242.612 26.1153V34.314C242.612 34.7834 242.992 35.1639 243.462 35.1639C243.931 35.1639 244.312 34.7834 244.312 34.314V26.1153Z" fill="#F9F9F9"/>
    
    15
    +<path d="M242.053 34.314C242.053 35.092 242.684 35.7227 243.462 35.7227C244.24 35.7227 244.87 35.092 244.87 34.314V26.3468L247.143 24.0741C247.143 24.0741 247.143 24.0741 247.143 24.074C247.151 24.0666 247.158 24.059 247.165 24.0514H255.133C255.911 24.0514 256.542 23.4208 256.542 22.6428C256.542 21.8649 255.911 21.2342 255.133 21.2342H246.696L244.87 19.4086V10.9716C244.87 10.1936 244.24 9.56297 243.462 9.56297C242.684 9.56297 242.053 10.1936 242.053 10.9716V19.4086L240.227 21.2342H231.79C231.013 21.2342 230.382 21.8649 230.382 22.6428C230.382 23.4208 231.013 24.0514 231.79 24.0514H239.758C239.765 24.059 239.773 24.0666 239.78 24.074C239.78 24.0741 239.78 24.0741 239.78 24.0741L242.053 26.3468V34.314Z" fill="#FBBE22" stroke="#1F0333" stroke-width="1.11753"/>
    
    16
    +<path d="M258.088 50.6007C258.088 51.0097 258.42 51.3413 258.829 51.3413C259.238 51.3413 259.57 51.0097 259.57 50.6007V43.4553L261.693 41.332C261.744 41.2816 261.787 41.2271 261.825 41.1696H269.001C269.41 41.1696 269.741 40.838 269.741 40.4289C269.741 40.0199 269.41 39.6883 269.001 39.6883H261.446L259.57 37.812V30.2572C259.57 29.8482 259.238 29.5166 258.829 29.5166C258.42 29.5166 258.088 29.8482 258.088 30.2572V37.812L256.212 39.6883H248.657C248.248 39.6883 247.917 40.0199 247.917 40.4289C247.917 40.838 248.248 41.1696 248.657 41.1696H255.834C255.871 41.2271 255.915 41.2816 255.965 41.332L258.088 43.4553V50.6007Z" fill="#F9F9F9"/>
    
    17
    +<path d="M258.088 50.6007C258.088 51.0097 258.42 51.3413 258.829 51.3413C259.238 51.3413 259.57 51.0097 259.57 50.6007V43.4553L261.693 41.332C261.744 41.2816 261.787 41.2271 261.825 41.1696H269.001C269.41 41.1696 269.741 40.838 269.741 40.4289C269.741 40.0199 269.41 39.6883 269.001 39.6883H261.446L259.57 37.812V30.2572C259.57 29.8482 259.238 29.5166 258.829 29.5166C258.42 29.5166 258.088 29.8482 258.088 30.2572V37.812L256.212 39.6883H248.657C248.248 39.6883 247.917 40.0199 247.917 40.4289C247.917 40.838 248.248 41.1696 248.657 41.1696H255.834C255.871 41.2271 255.915 41.2816 255.965 41.332L258.088 43.4553V50.6007Z" stroke="#F9F9F9"/>
    
    18
    +<path d="M256.759 30.5221L258.444 29.6349L258.622 31.1136L256.759 30.5221Z" fill="#F9F9F9"/>
    
    19
    +<path d="M268.664 42.4432L268.069 40.6335L269.65 40.7839L268.664 42.4432Z" fill="#F9F9F9"/>
    
    20
    +<path d="M258.491 52.6133L257.897 50.8036L259.477 50.954L258.491 52.6133Z" fill="#F9F9F9"/>
    
    21
    +<path d="M246.645 40.6655L248.36 39.7488L248.537 41.2274L246.645 40.6655Z" fill="#F9F9F9"/>
    
    22
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M256.973 53.6705C256.27 53.6705 255.7 53.1006 255.7 52.3975V45.4727L253.732 43.5053C253.732 43.5053 253.732 43.5052 253.732 43.5052C253.73 43.5031 253.728 43.5009 253.726 43.4988H246.801C246.098 43.4988 245.528 42.9289 245.528 42.2258C245.528 41.5228 246.098 40.9528 246.801 40.9528H254.135L255.7 39.3883V32.0541C255.7 31.3511 256.27 30.7811 256.973 30.7811C257.676 30.7811 258.246 31.3511 258.246 32.0541V39.3883L259.81 40.9528H267.145C267.848 40.9528 268.418 41.5228 268.418 42.2258C268.418 42.9289 267.848 43.4988 267.145 43.4988H260.22C260.218 43.5009 260.215 43.5031 260.213 43.5052C260.213 43.5052 260.213 43.5053 260.213 43.5053L258.246 45.4727V52.3975C258.246 53.1006 257.676 53.6705 256.973 53.6705ZM257.713 45.2522L259.837 43.1288C259.887 43.0784 259.931 43.024 259.968 42.9665H267.145C267.554 42.9665 267.885 42.6349 267.885 42.2258C267.885 41.8168 267.554 41.4852 267.145 41.4852H259.59L257.713 39.6088V32.0541C257.713 31.645 257.382 31.3134 256.973 31.3134C256.564 31.3134 256.232 31.645 256.232 32.0541V39.6088L254.356 41.4852H246.801C246.392 41.4852 246.06 41.8168 246.06 42.2258C246.06 42.6349 246.392 42.9665 246.801 42.9665H253.977C254.015 43.024 254.058 43.0784 254.109 43.1288L256.232 45.2522V52.3975C256.232 52.8066 256.564 53.1382 256.973 53.1382C257.382 53.1382 257.713 52.8066 257.713 52.3975V45.2522Z" fill="#F9F9F9"/>
    
    23
    +<path d="M255.674 52.3975C255.674 53.1152 256.255 53.697 256.973 53.697C257.691 53.697 258.272 53.1152 258.272 52.3975V45.4837L260.231 43.5252H267.145C267.862 43.5252 268.444 42.9435 268.444 42.2258C268.444 41.5082 267.862 40.9264 267.145 40.9264H259.821L258.272 39.3774V32.0541C258.272 31.3365 257.691 30.7547 256.973 30.7547C256.255 30.7547 255.674 31.3365 255.674 32.0541V39.3774L254.125 40.9264H246.801C246.084 40.9264 245.502 41.5082 245.502 42.2258C245.502 42.9435 246.084 43.5252 246.801 43.5252H253.715L255.674 45.4837V52.3975Z" fill="#FBBE22" stroke="#1F0333" stroke-width="1.11753"/>
    
    24
    +<path d="M19.7131 81.8441C19.7131 82.2532 19.3815 82.5848 18.9724 82.5848C18.5634 82.5848 18.2318 82.2532 18.2318 81.8441V74.6988L16.1084 72.5754C16.058 72.525 16.0142 72.4705 15.977 72.413H8.80071C8.39166 72.413 8.06005 72.0814 8.06005 71.6724C8.06005 71.2633 8.39166 70.9317 8.80071 70.9317H16.3554L18.2318 69.0554V61.5007C18.2318 61.0916 18.5634 60.76 18.9724 60.76C19.3815 60.76 19.7131 61.0916 19.7131 61.5007V69.0554L21.5894 70.9317H29.1441C29.5532 70.9317 29.8848 71.2633 29.8848 71.6724C29.8848 72.0814 29.5532 72.413 29.1441 72.413H21.9679C21.9307 72.4705 21.8869 72.525 21.8365 72.5754L19.7131 74.6988V81.8441Z" fill="#F9F9F9"/>
    
    25
    +<path d="M19.7131 81.8441C19.7131 82.2532 19.3815 82.5848 18.9724 82.5848C18.5634 82.5848 18.2318 82.2532 18.2318 81.8441V74.6988L16.1084 72.5754C16.058 72.525 16.0142 72.4705 15.977 72.413H8.80071C8.39166 72.413 8.06005 72.0814 8.06005 71.6724C8.06005 71.2633 8.39166 70.9317 8.80071 70.9317H16.3554L18.2318 69.0554V61.5007C18.2318 61.0916 18.5634 60.76 18.9724 60.76C19.3815 60.76 19.7131 61.0916 19.7131 61.5007V69.0554L21.5894 70.9317H29.1441C29.5532 70.9317 29.8848 71.2633 29.8848 71.6724C29.8848 72.0814 29.5532 72.413 29.1441 72.413H21.9679C21.9307 72.4705 21.8869 72.525 21.8365 72.5754L19.7131 74.6988V81.8441Z" stroke="#F9F9F9"/>
    
    26
    +<path d="M21.0427 61.7656L19.3571 60.8784L19.1796 62.3571L21.0427 61.7656Z" fill="#F9F9F9"/>
    
    27
    +<path d="M9.13752 73.6866L9.7322 71.877L8.15164 72.0273L9.13752 73.6866Z" fill="#F9F9F9"/>
    
    28
    +<path d="M19.3102 83.8567L19.9049 82.0471L18.3244 82.1974L19.3102 83.8567Z" fill="#F9F9F9"/>
    
    29
    +<path d="M31.1567 71.909L29.4415 70.9922L29.264 72.4709L31.1567 71.909Z" fill="#F9F9F9"/>
    
    30
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M20.8287 84.9139C21.5317 84.9139 22.1016 84.344 22.1016 83.641V76.7161L24.0691 74.7487C24.0691 74.7487 24.0691 74.7487 24.0691 74.7487C24.0713 74.7465 24.0734 74.7444 24.0755 74.7422H31.0004C31.7034 74.7422 32.2734 74.1723 32.2734 73.4693C32.2734 72.7662 31.7034 72.1963 31.0004 72.1963H23.6662L22.1016 70.6318V63.2975C22.1016 62.5945 21.5317 62.0246 20.8287 62.0246C20.1256 62.0246 19.5557 62.5945 19.5557 63.2975V70.6318L17.9912 72.1963H10.657C9.95392 72.1963 9.38398 72.7662 9.38398 73.4693C9.38398 74.1723 9.95392 74.7422 10.657 74.7422H17.5818C17.5839 74.7444 17.5861 74.7465 17.5882 74.7487C17.5882 74.7487 17.5882 74.7487 17.5883 74.7487L19.5557 76.7161V83.641C19.5557 84.344 20.1256 84.9139 20.8287 84.9139ZM20.088 76.4957L17.9646 74.3723C17.9142 74.3219 17.8704 74.2674 17.8332 74.2099H10.657C10.2479 74.2099 9.91629 73.8783 9.91629 73.4693C9.91629 73.0602 10.2479 72.7286 10.657 72.7286H18.2117L20.088 70.8523V63.2975C20.088 62.8885 20.4196 62.5569 20.8287 62.5569C21.2377 62.5569 21.5693 62.8885 21.5693 63.2975V70.8523L23.4457 72.7286H31.0004C31.4094 72.7286 31.7411 73.0602 31.7411 73.4693C31.7411 73.8783 31.4094 74.2099 31.0004 74.2099H23.8241C23.7869 74.2674 23.7431 74.3219 23.6927 74.3723L21.5693 76.4957V83.641C21.5693 84.05 21.2377 84.3816 20.8287 84.3816C20.4196 84.3816 20.088 84.05 20.088 83.641V76.4957Z" fill="#F9F9F9"/>
    
    31
    +<path d="M22.1279 83.641C22.1279 84.3586 21.5462 84.9404 20.8285 84.9404C20.1109 84.9404 19.5291 84.3586 19.5291 83.641V76.7271L17.5707 74.7687H10.6568C9.93916 74.7687 9.35738 74.1869 9.35738 73.4693C9.35738 72.7516 9.93916 72.1698 10.6568 72.1698H17.9801L19.5291 70.6208V63.2975C19.5291 62.5799 20.1109 61.9981 20.8285 61.9981C21.5462 61.9981 22.1279 62.5799 22.1279 63.2975V70.6208L23.677 72.1698H31.0002C31.7179 72.1698 32.2997 72.7516 32.2997 73.4693C32.2997 74.1869 31.7179 74.7687 31.0002 74.7687H24.0864L22.1279 76.7271V83.641Z" fill="#FBBE22" stroke="#1F0333" stroke-width="1.11753"/>
    
    32
    +<path d="M138.42 203.984C138.42 204.393 138.752 204.725 139.161 204.725C139.57 204.725 139.902 204.393 139.902 203.984V196.839L142.025 194.715C142.075 194.665 142.119 194.611 142.156 194.553H149.333C149.742 194.553 150.073 194.221 150.073 193.812C150.073 193.403 149.742 193.072 149.333 193.072H141.778L139.902 191.195V183.641C139.902 183.232 139.57 182.9 139.161 182.9C138.752 182.9 138.42 183.232 138.42 183.641V191.195L136.544 193.072H128.989C128.58 193.072 128.249 193.403 128.249 193.812C128.249 194.221 128.58 194.553 128.989 194.553H136.166C136.203 194.611 136.247 194.665 136.297 194.715L138.42 196.839V203.984Z" fill="#F9F9F9"/>
    
    33
    +<path d="M138.42 203.984C138.42 204.393 138.752 204.725 139.161 204.725C139.57 204.725 139.902 204.393 139.902 203.984V196.839L142.025 194.715C142.075 194.665 142.119 194.611 142.156 194.553H149.333C149.742 194.553 150.073 194.221 150.073 193.812C150.073 193.403 149.742 193.072 149.333 193.072H141.778L139.902 191.195V183.641C139.902 183.232 139.57 182.9 139.161 182.9C138.752 182.9 138.42 183.232 138.42 183.641V191.195L136.544 193.072H128.989C128.58 193.072 128.249 193.403 128.249 193.812C128.249 194.221 128.58 194.553 128.989 194.553H136.166C136.203 194.611 136.247 194.665 136.297 194.715L138.42 196.839V203.984Z" stroke="#F9F9F9"/>
    
    34
    +<path d="M137.091 183.906L138.776 183.018L138.954 184.497L137.091 183.906Z" fill="#F9F9F9"/>
    
    35
    +<path d="M148.996 195.827L148.401 194.017L149.982 194.167L148.996 195.827Z" fill="#F9F9F9"/>
    
    36
    +<path d="M138.823 205.997L138.228 204.187L139.809 204.337L138.823 205.997Z" fill="#F9F9F9"/>
    
    37
    +<path d="M126.977 194.049L128.692 193.132L128.869 194.611L126.977 194.049Z" fill="#F9F9F9"/>
    
    38
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M137.305 207.054C136.602 207.054 136.032 206.484 136.032 205.781V198.856L134.064 196.889C134.064 196.889 134.064 196.889 134.064 196.889C134.062 196.887 134.06 196.884 134.058 196.882H127.133C126.43 196.882 125.86 196.312 125.86 195.609C125.86 194.906 126.43 194.336 127.133 194.336H134.467L136.032 192.772V185.438C136.032 184.734 136.602 184.165 137.305 184.165C138.008 184.165 138.578 184.734 138.578 185.438V192.772L140.142 194.336H147.476C148.179 194.336 148.749 194.906 148.749 195.609C148.749 196.312 148.179 196.882 147.476 196.882H140.551C140.549 196.884 140.547 196.887 140.545 196.889C140.545 196.889 140.545 196.889 140.545 196.889L138.578 198.856V205.781C138.578 206.484 138.008 207.054 137.305 207.054ZM138.045 198.636L140.169 196.512C140.219 196.462 140.263 196.407 140.3 196.35H147.476C147.885 196.35 148.217 196.018 148.217 195.609C148.217 195.2 147.885 194.869 147.476 194.869H139.922L138.045 192.992V185.438C138.045 185.028 137.714 184.697 137.305 184.697C136.896 184.697 136.564 185.028 136.564 185.438V192.992L134.688 194.869H127.133C126.724 194.869 126.392 195.2 126.392 195.609C126.392 196.018 126.724 196.35 127.133 196.35H134.309C134.346 196.407 134.39 196.462 134.441 196.512L136.564 198.636V205.781C136.564 206.19 136.896 206.522 137.305 206.522C137.714 206.522 138.045 206.19 138.045 205.781V198.636Z" fill="#F9F9F9"/>
    
    39
    +<path d="M136.005 205.781C136.005 206.499 136.587 207.08 137.305 207.08C138.022 207.08 138.604 206.499 138.604 205.781V198.867L140.563 196.909H147.477C148.194 196.909 148.776 196.327 148.776 195.609C148.776 194.892 148.194 194.31 147.477 194.31H140.153L138.604 192.761V185.438C138.604 184.72 138.022 184.138 137.305 184.138C136.587 184.138 136.005 184.72 136.005 185.438V192.761L134.456 194.31H127.133C126.415 194.31 125.834 194.892 125.834 195.609C125.834 196.327 126.415 196.909 127.133 196.909H134.047L136.005 198.867V205.781Z" fill="#FBBE22" stroke="#1F0333" stroke-width="1.11753"/>
    
    40
    +<path d="M141.61 61.7298L142.165 61.8099C142.197 61.5878 142.093 61.368 141.902 61.2512C141.71 61.1344 141.468 61.143 141.285 61.2731L141.61 61.7298ZM140.384 62.6029L140.059 62.1462L140.059 62.1462L140.384 62.6029ZM140.119 62.5119L139.581 62.6719L139.581 62.6719L140.119 62.5119ZM141.67 38.6989L141.599 39.2549C141.623 39.258 141.647 39.2595 141.67 39.2595L141.67 38.6989ZM142.99 48.2922L142.43 48.2674C142.417 48.5608 142.633 48.8144 142.925 48.8489C143.216 48.8833 143.485 48.6869 143.541 48.3986L142.99 48.2922ZM150.899 34.5569L151.147 34.0539C151.127 34.0442 151.107 34.0357 151.087 34.0285L150.899 34.5569ZM148.373 49.1245L147.855 48.9123C147.758 49.1479 147.833 49.4188 148.036 49.5721C148.239 49.7253 148.52 49.7225 148.72 49.5652L148.373 49.1245ZM153.326 47.3405L153.418 46.7874L153.418 46.7874L153.326 47.3405ZM153.569 48.8728L153.961 49.2745L153.961 49.2745L153.569 48.8728ZM145.677 64.1722L145.116 64.1583L145.116 64.1583L145.677 64.1722ZM141.395 64.1641L141.955 64.1827L141.955 64.1827L141.395 64.1641ZM141.285 61.2731L140.059 62.1462L140.709 63.0596L141.935 62.1865L141.285 61.2731ZM140.059 62.1462C140.275 61.9923 140.58 62.0957 140.656 62.3519L139.581 62.6719C139.725 63.1545 140.3 63.3504 140.709 63.0595L140.059 62.1462ZM140.656 62.3519C138.942 56.5952 138.456 50.5986 138.831 46.1146C139.019 43.867 139.42 42.0388 139.965 40.8193C140.238 40.2085 140.531 39.7873 140.818 39.5364C141.093 39.2965 141.347 39.2225 141.599 39.2549L141.742 38.1429C141.113 38.0619 140.549 38.2831 140.081 38.692C139.625 39.0899 139.25 39.6712 138.941 40.3617C138.323 41.7449 137.906 43.7145 137.714 46.0211C137.327 50.6453 137.827 56.7821 139.581 62.6719L140.656 62.3519ZM141.67 39.2595C141.734 39.2595 141.885 39.2804 142.067 39.7038C142.247 40.1216 142.377 40.7713 142.455 41.6368C142.61 43.3554 142.543 45.7165 142.43 48.2674L143.55 48.3169C143.663 45.7774 143.734 43.3418 143.572 41.5364C143.491 40.6399 143.349 39.8457 143.097 39.2602C142.847 38.6802 142.405 38.1383 141.67 38.1383L141.67 39.2595ZM143.541 48.3986C144.279 44.5804 145.338 40.8848 146.642 38.3183C147.296 37.0308 147.988 36.0766 148.69 35.522C149.37 34.9855 150.026 34.8424 150.712 35.0853L151.087 34.0285C149.96 33.6295 148.907 33.9228 147.996 34.6419C147.108 35.3429 146.327 36.4633 145.642 37.8105C144.269 40.5135 143.186 44.3274 142.44 48.1857L143.541 48.3986ZM150.652 35.0599C151.086 35.2735 151.371 35.7129 151.462 36.5116C151.553 37.3208 151.427 38.3994 151.12 39.6989C150.508 42.2909 149.225 45.5632 147.855 48.9123L148.892 49.3368C150.257 46.0015 151.575 42.6484 152.211 39.9568C152.528 38.6146 152.689 37.3869 152.576 36.3857C152.461 35.3738 152.051 34.4987 151.147 34.0539L150.652 35.0599ZM148.72 49.5652C150.401 48.2431 152.017 47.6915 153.235 47.8935L153.418 46.7874C151.75 46.5108 149.817 47.2759 148.027 48.6839L148.72 49.5652ZM153.235 47.8935C153.303 47.9048 153.325 47.9269 153.331 47.9341C153.341 47.9447 153.358 47.9705 153.364 48.024C153.378 48.141 153.329 48.3248 153.178 48.4712L153.961 49.2745C154.34 48.9046 154.535 48.3827 154.477 47.8928C154.415 47.3674 154.054 46.8929 153.418 46.7874L153.235 47.8935ZM153.178 48.4712C151.087 50.5072 149.104 53.4602 147.632 56.361C146.17 59.2457 145.166 62.1725 145.116 64.1583L146.237 64.1861C146.28 62.4578 147.189 59.7147 148.632 56.8682C150.068 54.0378 151.985 51.1982 153.961 49.2745L153.178 48.4712ZM145.116 64.1583C145.122 63.9464 145.297 63.782 145.501 63.782V64.9031C145.898 64.9031 146.227 64.5897 146.237 64.1861L145.116 64.1583ZM145.501 63.782H141.567V64.9031H145.501V63.782ZM141.567 63.782C141.789 63.782 141.962 63.9659 141.955 64.1827L140.834 64.1454C140.821 64.5563 141.15 64.9031 141.567 64.9031V63.782ZM141.955 64.1827C141.982 63.3719 142.054 62.5801 142.165 61.8099L141.055 61.6498C140.938 62.4601 140.863 63.2929 140.834 64.1454L141.955 64.1827Z" fill="#F5F5F5"/>
    
    41
    +<path d="M137.53 65.352C135.101 67.2507 132.651 68.5654 130.045 70.06C141.644 70.1431 160.246 72.725 157.748 71.2808C154.765 69.5559 150.258 66.5087 148.455 64.5087C146.652 62.5087 140.565 62.9785 137.53 65.352Z" fill="#B27AF4"/>
    
    42
    +<path d="M149.687 65.7538C148.736 64.6705 147.039 62.7289 147.162 60.2617C147.22 59.1134 147.258 58.3946 147.304 57.9239C147.322 57.7362 146.847 57.3694 146.678 57.4528C144.922 58.3199 143.138 58.433 139.702 58.4366C139.605 58.4367 139.527 58.5192 139.531 58.6161C139.62 60.6812 138.514 64.4479 137.031 65.7369C136.426 66.2628 137.646 66.4979 139.607 66.5556C126.647 68.3794 116.634 80.4657 116.634 95.1039C116.634 103.673 120.065 111.368 125.51 116.641C129.48 120.486 133.915 121.596 139.814 123.074C140.304 123.197 140.804 123.322 141.315 123.451C142.433 123.735 143.604 123.77 144.732 123.533C151.764 122.054 156.202 120.821 160.518 116.641C165.963 111.368 169.395 103.673 169.395 95.1039C169.395 79.9975 158.731 67.6089 145.17 66.4123C146.805 66.3102 148.385 66.1694 149.586 66.0237C149.718 66.0078 149.774 65.8532 149.687 65.7538Z" fill="#B27AF4"/>
    
    43
    +<path d="M163.993 95.3515C163.993 107.448 154.588 117.214 143.034 117.214C131.48 117.214 122.075 107.448 122.075 95.3515C122.075 83.2549 131.48 73.4885 143.034 73.4885C154.588 73.4885 163.993 83.2549 163.993 95.3515Z" stroke="#1F0333" stroke-width="1.12118"/>
    
    44
    +<path d="M159.503 95.3515C159.503 104.85 152.109 112.512 143.034 112.512C133.959 112.512 126.565 104.85 126.565 95.3515C126.565 85.8526 133.959 78.1908 143.034 78.1908C152.109 78.1908 159.503 85.8526 159.503 95.3515Z" stroke="#1F0333" stroke-width="1.12118"/>
    
    45
    +<path d="M155.074 95.3515C155.074 102.291 149.664 107.88 143.034 107.88C136.405 107.88 130.994 102.291 130.994 95.3515C130.994 88.4118 136.405 82.8229 143.034 82.8229C149.664 82.8229 155.074 88.4118 155.074 95.3515Z" stroke="#1F0333" stroke-width="1.12118"/>
    
    46
    +<path d="M151.063 95.3515C151.063 100.006 147.447 103.739 143.034 103.739C138.621 103.739 135.005 100.006 135.005 95.3515C135.005 90.6972 138.621 86.9637 143.034 86.9637C147.447 86.9637 151.063 90.6972 151.063 95.3515Z" stroke="#1F0333" stroke-width="1.12118"/>
    
    47
    +<path d="M147.172 95.3515C147.172 97.7557 145.3 99.6687 143.034 99.6687C140.768 99.6687 138.896 97.7557 138.896 95.3515C138.896 92.9473 140.768 91.0344 143.034 91.0344C145.3 91.0344 147.172 92.9473 147.172 95.3515Z" stroke="#1F0333" stroke-width="1.12118"/>
    
    48
    +<path d="M216.903 61.7404L217.458 61.8204C217.49 61.5985 217.386 61.3788 217.195 61.2621C217.004 61.1453 216.761 61.1539 216.578 61.284L216.903 61.7404ZM215.678 62.6131L216.003 63.0695L216.003 63.0695L215.678 62.6131ZM215.413 62.5221L215.95 62.3622L215.95 62.3622L215.413 62.5221ZM216.964 38.7206L216.892 39.2763C216.916 39.2794 216.94 39.2809 216.964 39.2809L216.964 38.7206ZM218.283 48.3091L217.723 48.2844C217.71 48.5776 217.926 48.8311 218.217 48.8656C218.509 48.9 218.777 48.7037 218.833 48.4155L218.283 48.3091ZM226.188 34.5805L226.436 34.0778C226.416 34.0681 226.396 34.0596 226.375 34.0524L226.188 34.5805ZM223.663 49.1412L223.145 48.929C223.049 49.1645 223.123 49.4353 223.326 49.5885C223.529 49.7417 223.81 49.7389 224.01 49.5816L223.663 49.1412ZM228.614 47.358L228.706 46.8052L228.706 46.8052L228.614 47.358ZM228.857 48.8896L228.466 48.4881L228.466 48.4881L228.857 48.8896ZM220.968 64.1817L220.408 64.1678L220.408 64.1678L220.968 64.1817ZM216.688 64.1735L217.248 64.1921L217.248 64.1921L216.688 64.1735ZM216.578 61.284L215.353 62.1566L216.003 63.0695L217.228 62.1969L216.578 61.284ZM215.353 62.1566C215.569 62.0028 215.874 62.1061 215.95 62.3622L214.876 62.6821C215.019 63.1644 215.594 63.3602 216.003 63.0695L215.353 62.1566ZM215.95 62.3622C214.236 56.6083 213.751 50.6146 214.126 46.1327C214.313 43.8862 214.714 42.0588 215.259 40.8399C215.532 40.2294 215.825 39.8085 216.112 39.5577C216.387 39.3178 216.64 39.2439 216.892 39.2763L217.035 38.1648C216.407 38.0839 215.843 38.3049 215.375 38.7136C214.92 39.1113 214.545 39.6924 214.236 40.3826C213.618 41.7651 213.202 43.7338 213.009 46.0393C212.622 50.6613 213.123 56.7951 214.876 62.6821L215.95 62.3622ZM216.964 39.2809C217.027 39.2809 217.178 39.3018 217.36 39.725C217.54 40.1426 217.67 40.792 217.748 41.657C217.903 43.3747 217.836 45.7347 217.723 48.2844L218.843 48.3339C218.955 45.7955 219.027 43.3612 218.864 41.5567C218.784 40.6606 218.642 39.8668 218.39 39.2815C218.14 38.7019 217.698 38.1603 216.964 38.1603L216.964 39.2809ZM218.833 48.4155C219.571 44.5991 220.63 40.9053 221.933 38.3402C222.587 37.0533 223.278 36.0995 223.98 35.5452C224.66 35.0089 225.316 34.8659 226.001 35.1087L226.375 34.0524C225.249 33.6536 224.197 33.9468 223.286 34.6655C222.398 35.3661 221.618 36.486 220.934 37.8326C219.561 40.5343 218.479 44.3463 217.733 48.2027L218.833 48.4155ZM225.941 35.0833C226.375 35.2968 226.66 35.736 226.75 36.5343C226.842 37.3431 226.716 38.4212 226.409 39.7201C225.797 42.3108 224.514 45.5815 223.145 48.929L224.182 49.3533C225.546 46.0196 226.864 42.6681 227.499 39.9778C227.817 38.6362 227.977 37.4092 227.864 36.4084C227.749 35.3971 227.34 34.5224 226.436 34.0778L225.941 35.0833ZM224.01 49.5816C225.69 48.2602 227.305 47.7089 228.523 47.9108L228.706 46.8052C227.038 46.5288 225.106 47.2934 223.317 48.7008L224.01 49.5816ZM228.523 47.9108C228.591 47.9221 228.612 47.9441 228.619 47.9513C228.628 47.9619 228.645 47.9877 228.652 48.0412C228.665 48.1581 228.616 48.3418 228.466 48.4881L229.248 49.2911C229.628 48.9213 229.822 48.3997 229.765 47.9101C229.703 47.3849 229.342 46.9106 228.706 46.8052L228.523 47.9108ZM228.466 48.4881C226.376 50.5232 224.393 53.4748 222.923 56.3742C221.461 59.2575 220.457 62.1829 220.408 64.1678L221.528 64.1956C221.571 62.468 222.479 59.7263 223.922 56.8811C225.357 54.0521 227.273 51.2138 229.248 49.2911L228.466 48.4881ZM220.408 64.1678C220.413 63.9559 220.588 63.7916 220.793 63.7916V64.9122C221.189 64.9122 221.518 64.599 221.528 64.1956L220.408 64.1678ZM220.793 63.7916H216.86V64.9122H220.793V63.7916ZM216.86 63.7916C217.083 63.7916 217.255 63.9755 217.248 64.1921L216.128 64.1549C216.114 64.5656 216.443 64.9122 216.86 64.9122V63.7916ZM217.248 64.1921C217.275 63.3818 217.347 62.5903 217.458 61.8204L216.349 61.6604C216.232 62.4704 216.156 63.3028 216.128 64.1549L217.248 64.1921Z" fill="#F5F5F5"/>
    
    49
    +<path d="M212.511 67.6308C210.1 69.5162 204.317 73.2836 201.729 74.7677C213.247 74.8502 233.43 73.5091 230.95 72.075C225.99 69.2071 225.15 68.7794 223.36 66.7934C221.569 64.8075 215.525 65.274 212.511 67.6308Z" fill="#B27AF4"/>
    
    50
    +<path d="M224.582 68.0298C223.638 66.9541 221.947 65.1533 222.075 62.5763C222.132 61.4361 222.171 60.7223 222.216 60.2549C222.234 60.0686 221.762 59.7043 221.594 59.7872C219.85 60.6482 218.079 60.7604 214.667 60.764C214.571 60.7641 214.494 60.846 214.498 60.9423C214.21 65.565 214.21 66.185 212.016 68.013C211.43 68.5223 212.568 68.7569 214.43 68.8214C199.33 73.625 191.762 81.3103 191.762 94.3727C191.762 102.048 195.169 108.94 200.576 113.663C204.518 117.106 208.922 118.101 214.779 119.425C215.316 119.546 215.865 119.67 216.426 119.799C217.435 120.03 218.484 120.059 219.501 119.867C226.577 118.528 231.019 117.435 235.338 113.663C240.744 108.94 244.152 102.048 244.152 94.3727C244.152 80.8638 233.596 69.7815 220.161 68.6797C221.762 68.5785 223.305 68.4405 224.482 68.2978C224.613 68.282 224.669 68.1285 224.582 68.0298Z" fill="#B27AF4"/>
    
    51
    +<path d="M238.914 93.7192C238.914 104.872 229.553 113.945 217.965 113.945C206.377 113.945 197.016 104.872 197.016 93.7192C197.016 82.5667 206.377 73.4934 217.965 73.4934C229.553 73.4934 238.914 82.5667 238.914 93.7192Z" stroke="#1F0333" stroke-width="1.12064"/>
    
    52
    +<path d="M234.426 93.7192C234.426 102.464 227.075 109.586 217.965 109.586C208.854 109.586 201.503 102.464 201.503 93.7192C201.503 84.9748 208.854 77.8523 217.965 77.8523C227.075 77.8523 234.426 84.9748 234.426 93.7192Z" stroke="#1F0333" stroke-width="1.12064"/>
    
    53
    +<path d="M229.999 93.7192C229.999 100.091 224.631 105.292 217.965 105.292C211.299 105.292 205.931 100.091 205.931 93.7192C205.931 87.3471 211.299 82.1461 217.965 82.1461C224.631 82.1461 229.999 87.3471 229.999 93.7192Z" stroke="#1F0333" stroke-width="1.12064"/>
    
    54
    +<path d="M225.99 93.7192C225.99 97.9728 222.416 101.454 217.965 101.454C213.514 101.454 209.94 97.9728 209.94 93.7192C209.94 89.4655 213.514 85.9846 217.965 85.9846C222.416 85.9846 225.99 89.4655 225.99 93.7192Z" stroke="#1F0333" stroke-width="1.12064"/>
    
    55
    +<path d="M222.101 93.7192C222.101 95.8871 220.27 97.6804 217.965 97.6804C215.66 97.6804 213.828 95.8871 213.828 93.7192C213.828 91.5514 215.66 89.758 217.965 89.758C220.27 89.758 222.101 91.5514 222.101 93.7192Z" stroke="#1F0333" stroke-width="1.12064"/>
    
    56
    +<mask id="path-51-inside-1_156_3203" fill="white">
    
    57
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M224.053 58.9985C223.241 59.9341 222.246 61.3164 222.115 63.55C218.938 71.3619 217.557 81.2255 217.557 91.5184C217.557 101.832 219.432 111.386 222.621 119.206C221.105 119.58 219.541 119.824 217.94 119.928C202.976 119.367 191.034 108.163 191.034 94.4234C191.034 84.7551 196.947 76.3423 205.666 72.0101C209.308 69.9951 213.749 67.5082 213.9 65.1C214.055 62.62 213.368 60.7799 212.721 59.4221C212.457 58.8685 212.806 58.1766 213.402 58.1324L223.402 57.391C224.048 57.343 224.49 58.0834 224.201 58.6826C224.152 58.7856 224.102 58.891 224.053 58.9985Z"/>
    
    58
    +</mask>
    
    59
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M224.053 58.9985C223.241 59.9341 222.246 61.3164 222.115 63.55C218.938 71.3619 217.557 81.2255 217.557 91.5184C217.557 101.832 219.432 111.386 222.621 119.206C221.105 119.58 219.541 119.824 217.94 119.928C202.976 119.367 191.034 108.163 191.034 94.4234C191.034 84.7551 196.947 76.3423 205.666 72.0101C209.308 69.9951 213.749 67.5082 213.9 65.1C214.055 62.62 213.368 60.7799 212.721 59.4221C212.457 58.8685 212.806 58.1766 213.402 58.1324L223.402 57.391C224.048 57.343 224.49 58.0834 224.201 58.6826C224.152 58.7856 224.102 58.891 224.053 58.9985Z" fill="#1F0333"/>
    
    60
    +<path d="M222.115 63.55L223.15 63.9709L223.219 63.7999L223.23 63.6156L222.115 63.55ZM224.053 58.9985L224.897 59.7304L225.001 59.6099L225.068 59.4651L224.053 58.9985ZM222.621 119.206L222.888 120.291L224.143 119.981L223.655 118.784L222.621 119.206ZM217.94 119.928L217.898 121.044L217.955 121.046L218.012 121.042L217.94 119.928ZM205.666 72.0101L206.163 73.0105L206.185 72.9996L206.206 72.9876L205.666 72.0101ZM213.9 65.1L215.015 65.1697L215.015 65.1697L213.9 65.1ZM212.721 59.4221L211.713 59.9028L211.713 59.9028L212.721 59.4221ZM213.402 58.1324L213.485 59.2465L213.485 59.2465L213.402 58.1324ZM223.402 57.391L223.484 58.505L223.484 58.505L223.402 57.391ZM224.201 58.6826L223.195 58.1978L223.195 58.1979L224.201 58.6826ZM223.23 63.6156C223.341 61.7295 224.164 60.575 224.897 59.7304L223.209 58.2666C222.319 59.2931 221.152 60.9033 221 63.4844L223.23 63.6156ZM218.674 91.5184C218.674 81.3075 220.046 71.6015 223.15 63.9709L221.08 63.1291C217.829 71.1223 216.44 81.1435 216.44 91.5184H218.674ZM223.655 118.784C220.526 111.111 218.674 101.702 218.674 91.5184H216.44C216.44 101.962 218.337 111.66 221.586 119.628L223.655 118.784ZM218.012 121.042C219.679 120.935 221.309 120.68 222.888 120.291L222.353 118.122C220.901 118.479 219.402 118.714 217.868 118.813L218.012 121.042ZM189.917 94.4234C189.917 108.859 202.433 120.465 217.898 121.044L217.982 118.811C203.518 118.27 192.151 107.467 192.151 94.4234H189.917ZM205.169 71.0097C196.123 75.5042 189.917 84.2746 189.917 94.4234H192.151C192.151 85.2356 197.771 77.1804 206.163 73.0105L205.169 71.0097ZM212.785 65.0303C212.768 65.3047 212.617 65.6925 212.198 66.2042C211.785 66.7078 211.183 67.2448 210.427 67.8051C208.913 68.9275 206.96 70.0174 205.125 71.0326L206.206 72.9876C208.014 71.9878 210.103 70.8267 211.757 69.5999C212.586 68.9856 213.35 68.3234 213.926 67.6205C214.496 66.9256 214.957 66.0995 215.015 65.1697L212.785 65.0303ZM211.713 59.9028C212.316 61.1686 212.924 62.8117 212.785 65.0303L215.015 65.1697C215.186 62.4283 214.421 60.3912 213.73 58.9415L211.713 59.9028ZM213.32 57.0184C211.82 57.1296 211.165 58.7526 211.713 59.9028L213.73 58.9415C213.76 59.0062 213.75 59.0639 213.731 59.1015C213.708 59.144 213.63 59.2357 213.485 59.2465L213.32 57.0184ZM223.319 56.2769L213.32 57.0184L213.485 59.2465L223.484 58.505L223.319 56.2769ZM225.208 59.1674C225.532 58.4938 225.439 57.7576 225.106 57.2118C224.769 56.6603 224.126 56.2171 223.319 56.2769L223.484 58.505C223.418 58.51 223.348 58.4931 223.292 58.4615C223.24 58.4326 223.213 58.3989 223.199 58.3764C223.176 58.3386 223.159 58.2721 223.195 58.1978L225.208 59.1674ZM225.068 59.4651C225.114 59.3638 225.161 59.2644 225.208 59.1673L223.195 58.1979C223.142 58.3068 223.09 58.4182 223.038 58.5319L225.068 59.4651Z" fill="#B27AF4" mask="url(#path-51-inside-1_156_3203)"/>
    
    61
    +<path d="M211.231 74.8697C211.738 75.3026 211.738 76.0857 211.231 76.5186L211.061 76.6641C211.018 76.7009 210.978 76.741 210.941 76.784L210.796 76.9543C210.363 77.4609 209.58 77.4609 209.147 76.9543L209.001 76.784C208.964 76.741 208.924 76.7009 208.881 76.6641L208.711 76.5186C208.204 76.0857 208.204 75.3026 208.711 74.8697L208.881 74.7242C208.924 74.6874 208.964 74.6473 209.001 74.6043L209.147 74.434C209.58 73.9274 210.363 73.9274 210.796 74.434L210.941 74.6043C210.978 74.6473 211.018 74.6874 211.061 74.7242L211.231 74.8697Z" fill="#F9F9F9" style="mix-blend-mode:hard-light"/>
    
    62
    +<path d="M207.684 79.2688C208.925 80.3286 208.925 82.2458 207.684 83.3057L207.268 83.6619C207.162 83.752 207.064 83.8501 206.974 83.9555L206.618 84.3724C205.558 85.6126 203.641 85.6126 202.581 84.3724L202.225 83.9555C202.135 83.8501 202.036 83.752 201.931 83.6619L201.514 83.3057C200.274 82.2458 200.274 80.3286 201.514 79.2688L201.931 78.9125C202.036 78.8225 202.135 78.7243 202.225 78.6189L202.581 78.2021C203.641 76.9618 205.558 76.9618 206.618 78.2021L206.974 78.6189C207.064 78.7243 207.162 78.8225 207.268 78.9125L207.684 79.2688Z" fill="#F9F9F9" style="mix-blend-mode:hard-light"/>
    
    63
    +<path d="M65.8878 61.7812L66.4409 61.861C66.4729 61.6396 66.3697 61.4205 66.1788 61.3041C65.9878 61.1876 65.7458 61.1962 65.5636 61.3259L65.8878 61.7812ZM64.6653 62.6517L64.9894 63.1069L64.9894 63.1069L64.6653 62.6517ZM64.4011 62.561L63.8655 62.7205L63.8655 62.7205L64.4011 62.561ZM65.9481 38.8208L65.8767 39.3751C65.9004 39.3781 65.9242 39.3796 65.9481 39.3796L65.9481 38.8208ZM67.2641 48.3827L66.7057 48.358C66.6928 48.6505 66.9078 48.9034 67.1985 48.9377C67.4892 48.9721 67.7572 48.7763 67.8128 48.4888L67.2641 48.3827ZM75.1486 34.6914L75.3953 34.1899C75.3757 34.1803 75.3557 34.1718 75.3351 34.1646L75.1486 34.6914ZM72.6301 49.2149L72.1128 49.0033C72.0167 49.2382 72.0909 49.5083 72.2935 49.6611C72.4961 49.8139 72.7762 49.8111 72.9756 49.6542L72.6301 49.2149ZM77.5686 47.4359L77.4772 47.9872L77.4772 47.9872L77.5686 47.4359ZM77.8108 48.9636L77.421 48.5631L77.421 48.5631L77.8108 48.9636ZM69.9423 64.2162L70.501 64.2301L70.501 64.2301L69.9423 64.2162ZM65.6733 64.2081L66.2318 64.2266L66.2318 64.2266L65.6733 64.2081ZM65.5636 61.3259L64.3411 62.1964L64.9894 63.1069L66.2119 62.2365L65.5636 61.3259ZM64.3411 62.1964C64.5566 62.043 64.8607 62.146 64.9367 62.4015L63.8655 62.7205C64.0087 63.2016 64.5821 63.3969 64.9894 63.1069L64.3411 62.1964ZM64.9367 62.4015C63.2276 56.6624 62.7433 50.6841 63.1171 46.2137C63.3045 43.973 63.7045 42.1504 64.2479 40.9346C64.5201 40.3257 64.8121 39.9058 65.0985 39.6557C65.3724 39.4165 65.6253 39.3427 65.8767 39.3751L66.0194 38.2664C65.3924 38.1857 64.83 38.4062 64.3633 38.8138C63.9091 39.2105 63.5352 39.7901 63.2275 40.4785C62.6111 41.8574 62.1956 43.821 62.0033 46.1206C61.6177 50.7307 62.1168 56.8487 63.8655 62.7205L64.9367 62.4015ZM65.9481 39.3796C66.0115 39.3796 66.1618 39.4005 66.3436 39.8225C66.5231 40.2388 66.6529 40.8864 66.7305 41.749C66.8846 43.4619 66.818 45.8153 66.7057 48.358L67.8224 48.4074C67.9342 45.876 68.0057 43.4484 67.8438 41.6488C67.7634 40.7552 67.6216 39.9637 67.3701 39.3801C67.121 38.802 66.6807 38.2619 65.9481 38.2619L65.9481 39.3796ZM67.8128 48.4888C68.549 44.6826 69.6047 40.9988 70.9045 38.4407C71.5566 37.1573 72.246 36.2062 72.9465 35.6534C73.6241 35.1187 74.2783 34.9761 74.962 35.2182L75.3351 34.1646C74.212 33.7669 73.1623 34.0592 72.254 34.776C71.3686 35.4747 70.5903 36.5915 69.908 37.9344C68.539 40.6287 67.4593 44.4304 66.7154 48.2766L67.8128 48.4888ZM74.9019 35.1929C75.3347 35.4058 75.619 35.8439 75.709 36.6401C75.8001 37.4469 75.6747 38.5223 75.3685 39.8179C74.7578 42.402 73.4787 45.6644 72.1128 49.0033L73.1474 49.4265C74.5076 46.1013 75.8221 42.7584 76.4563 40.075C76.7726 38.7368 76.9325 37.5128 76.8197 36.5146C76.7057 35.5059 76.2969 34.6334 75.3953 34.1899L74.9019 35.1929ZM72.9756 49.6542C74.6514 48.3359 76.2625 47.7859 77.4772 47.9872L77.66 46.8846C75.9967 46.6088 74.0693 47.3717 72.2845 48.7757L72.9756 49.6542ZM77.4772 47.9872C77.5452 47.9985 77.5667 48.0206 77.5731 48.0277C77.5827 48.0383 77.5996 48.064 77.6059 48.1174C77.6197 48.234 77.5708 48.4172 77.421 48.5631L78.2007 49.364C78.5795 48.9952 78.7735 48.475 78.716 47.9866C78.6542 47.4627 78.2942 46.9897 77.66 46.8846L77.4772 47.9872ZM77.421 48.5631C75.336 50.593 73.3586 53.5369 71.892 56.4289C70.4335 59.3047 69.4326 62.2226 69.3836 64.2024L70.501 64.2301C70.5437 62.507 71.4497 59.7723 72.8888 56.9345C74.3198 54.1127 76.2308 51.2818 78.2007 49.364L77.421 48.5631ZM69.3836 64.2024C69.3888 63.991 69.5633 63.8271 69.7673 63.8271V64.9449C70.1625 64.9449 70.491 64.6324 70.501 64.2301L69.3836 64.2024ZM69.7673 63.8271H65.8447V64.9449H69.7673V63.8271ZM65.8447 63.8271C66.0667 63.8271 66.239 64.0105 66.2318 64.2266L65.1147 64.1895C65.1011 64.5992 65.4291 64.9449 65.8447 64.9449V63.8271ZM66.2318 64.2266C66.2587 63.4183 66.3301 62.6289 66.4409 61.861L65.3346 61.7014C65.2181 62.5093 65.143 63.3396 65.1147 64.1895L66.2318 64.2266Z" fill="#F5F5F5"/>
    
    64
    +<path d="M61.0953 67.9906C58.6456 69.7632 52.7817 73.0054 50.1559 74.4049C61.8012 74.4114 82.7805 73.2837 80.29 72.23C76.26 70.525 73.5967 69.035 72.075 66.96C70.37 64.635 64.1575 65.7748 61.0953 67.9906Z" fill="#B27AF4"/>
    
    65
    +<path d="M60.696 68.22C61.7544 67.0394 63.8054 64.7517 63.6866 62.3751C63.6103 60.8501 63.4023 59.7828 63.1922 59.0941C63.1373 58.9143 63.4817 58.6186 63.6381 58.7229C65.3801 59.8845 67.0923 61.0125 70.5351 61.0508C70.6318 61.0519 70.8392 61.7484 70.835 61.845C70.7411 64.015 71.7197 67.0446 73.1976 68.3297C73.9519 68.9856 71.8586 69.1877 69.035 69.1576C83.586 70.2238 95.0313 81.3689 95.0313 94.9604C95.0313 109.257 82.3678 120.847 66.7465 120.847C51.1253 120.847 38.4617 109.257 38.4617 94.9604C38.4617 80.7697 50.9384 69.2459 66.4 69.076C64.3237 68.976 62.1991 68.7997 60.6808 68.6156C60.5499 68.5998 60.4937 68.446 60.5816 68.3477C60.6182 68.3067 60.6564 68.2641 60.696 68.22Z" fill="#B27AF4"/>
    
    66
    +<path d="M90.1851 94.579C90.1851 106.177 79.9852 115.654 67.3072 115.654C54.6291 115.654 44.4293 106.177 44.4293 94.579C44.4293 82.9809 54.6291 73.504 67.3072 73.504C79.9852 73.504 90.1851 82.9809 90.1851 94.579Z" stroke="#1F0333" stroke-width="1.11775"/>
    
    67
    +<path d="M85.2957 94.579C85.2957 103.671 77.2857 111.117 67.3072 111.117C57.3288 111.117 49.3188 103.671 49.3188 94.579C49.3188 85.4871 57.3288 78.0407 67.3072 78.0407C77.2857 78.0407 85.2957 85.4871 85.2957 94.579Z" stroke="#1F0333" stroke-width="1.11775"/>
    
    68
    +<path d="M80.4715 94.579C80.4715 101.202 74.6223 106.648 67.3073 106.648C59.9923 106.648 54.1431 101.202 54.1431 94.579C54.1431 87.9561 59.9923 82.5096 67.3073 82.5096C74.6223 82.5096 80.4715 87.9561 80.4715 94.579Z" stroke="#1F0333" stroke-width="1.11775"/>
    
    69
    +<path d="M76.1034 94.579C76.1034 98.9969 72.2083 102.653 67.3071 102.653C62.406 102.653 58.5108 98.9969 58.5108 94.579C58.5108 90.161 62.406 86.5046 67.3071 86.5046C72.2083 86.5046 76.1034 90.161 76.1034 94.579Z" stroke="#1F0333" stroke-width="1.11775"/>
    
    70
    +<path d="M71.8661 94.5791C71.8661 96.8262 69.8701 98.7262 67.3073 98.7262C64.7446 98.7262 62.7486 96.8262 62.7486 94.5791C62.7486 92.3319 64.7446 90.432 67.3073 90.432C69.8701 90.432 71.8661 92.3319 71.8661 94.5791Z" stroke="#1F0333" stroke-width="1.11775"/>
    
    71
    +<mask id="path-63-inside-2_156_3203" fill="white">
    
    72
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M70.9554 63.6708C70.8714 63.6974 70.7867 63.7234 70.7013 63.7488C67.3295 71.7762 65.3485 81.5748 65.3485 92.1517C65.3485 102.75 67.3375 112.558 70.7218 120.595C69.1087 120.98 67.4437 121.236 65.7393 121.344C49.8658 120.762 37.2002 109.251 37.2002 95.1369C37.2002 85.2018 43.4758 76.5568 52.7284 72.1051C56.5938 70.0344 61.9633 66.8915 61.82 64.5986C61.6969 62.6294 60.903 60.565 60.2162 59.1698C59.9362 58.6008 60.3066 57.8898 60.9391 57.8444L71.5512 57.0825C72.2372 57.0333 72.7059 57.794 72.3996 58.4098C71.6279 59.9611 70.8498 62.0394 70.9554 63.6708Z"/>
    
    73
    +</mask>
    
    74
    +<path fill-rule="evenodd" clip-rule="evenodd" d="M70.9554 63.6708C70.8714 63.6974 70.7867 63.7234 70.7013 63.7488C67.3295 71.7762 65.3485 81.5748 65.3485 92.1517C65.3485 102.75 67.3375 112.558 70.7218 120.595C69.1087 120.98 67.4437 121.236 65.7393 121.344C49.8658 120.762 37.2002 109.251 37.2002 95.1369C37.2002 85.2018 43.4758 76.5568 52.7284 72.1051C56.5938 70.0344 61.9633 66.8915 61.82 64.5986C61.6969 62.6294 60.903 60.565 60.2162 59.1698C59.9362 58.6008 60.3066 57.8898 60.9391 57.8444L71.5512 57.0825C72.2372 57.0333 72.7059 57.794 72.3996 58.4098C71.6279 59.9611 70.8498 62.0394 70.9554 63.6708Z" fill="#1F0333"/>
    
    75
    +<path d="M70.7013 63.7488L70.384 62.6807L69.8783 62.8309L69.674 63.3173L70.7013 63.7488ZM70.9554 63.6708L71.2919 64.733L72.1237 64.4694L72.0673 63.5988L70.9554 63.6708ZM70.7218 120.595L70.9805 121.679L72.2588 121.373L71.7487 120.162L70.7218 120.595ZM65.7393 121.344L65.6984 122.458L65.7542 122.46L65.8099 122.456L65.7393 121.344ZM52.7284 72.1051L53.2115 73.1091L53.2333 73.0987L53.2546 73.0873L52.7284 72.1051ZM61.82 64.5986L62.9321 64.5291L62.9321 64.5291L61.82 64.5986ZM60.2162 59.1698L59.2166 59.6618L59.2166 59.6618L60.2162 59.1698ZM60.9391 57.8444L60.8593 56.7331L60.8593 56.7331L60.9391 57.8444ZM71.5512 57.0825L71.631 58.1939L71.631 58.1939L71.5512 57.0825ZM72.3996 58.4098L71.402 57.9135L71.402 57.9136L72.3996 58.4098ZM71.0185 64.8169C71.1103 64.7896 71.2015 64.7616 71.2919 64.733L70.6189 62.6086C70.5413 62.6332 70.463 62.6572 70.384 62.6807L71.0185 64.8169ZM66.4627 92.1517C66.4627 81.7087 68.4194 72.0585 71.7286 64.1803L69.674 63.3173C66.2396 71.4938 64.2343 81.4408 64.2343 92.1517H66.4627ZM71.7487 120.162C68.4273 112.275 66.4627 102.616 66.4627 92.1517H64.2343C64.2343 102.884 66.2477 112.841 69.695 121.027L71.7487 120.162ZM65.8099 122.456C67.5797 122.344 69.3075 122.078 70.9805 121.679L70.4632 119.511C68.9098 119.882 67.3078 120.128 65.6686 120.232L65.8099 122.456ZM36.086 95.1369C36.086 109.975 49.3589 121.858 65.6984 122.458L65.7802 120.231C50.3728 119.665 38.3144 108.527 38.3144 95.1369H36.086ZM52.2454 71.101C42.675 75.7056 36.086 84.703 36.086 95.1369H38.3144C38.3144 85.7006 44.2767 77.408 53.2115 73.1091L52.2454 71.101ZM60.708 64.6681C60.7166 64.806 60.637 65.1496 60.1491 65.7324C59.6875 66.2839 58.9891 66.8956 58.1168 67.538C56.3778 68.8186 54.1294 70.0906 52.2023 71.1229L53.2546 73.0873C55.1929 72.0489 57.5619 70.7141 59.4382 69.3324C60.3735 68.6436 61.2322 67.9102 61.8579 67.1628C62.4573 66.4467 62.9951 65.5376 62.9321 64.5291L60.708 64.6681ZM59.2166 59.6618C59.8758 61.0011 60.5982 62.9116 60.708 64.6681L62.9321 64.5291C62.7957 62.3471 61.9303 60.1289 61.2159 58.6777L59.2166 59.6618ZM60.8593 56.7331C59.3642 56.8404 58.6206 58.4512 59.2166 59.6618L61.2159 58.6777C61.2477 58.7422 61.2363 58.8022 61.2172 58.8378C61.1953 58.8785 61.128 58.948 61.0189 58.9558L60.8593 56.7331ZM71.4714 55.9712L60.8593 56.7331L61.0189 58.9558L71.631 58.1939L71.4714 55.9712ZM73.3972 58.906C74.0505 57.5928 73.0997 55.8543 71.4714 55.9712L71.631 58.1939C71.5824 58.1974 71.5281 58.1855 71.4825 58.1606C71.4411 58.138 71.4176 58.111 71.4051 58.0913C71.3836 58.0571 71.3648 57.9884 71.402 57.9135L73.3972 58.906ZM72.0673 63.5988C71.9822 62.284 72.6361 60.4361 73.3972 58.906L71.402 57.9136C70.6198 59.4861 69.7174 61.7947 69.8435 63.7428L72.0673 63.5988Z" fill="#B27AF4" mask="url(#path-63-inside-2_156_3203)"/>
    
    76
    +<path d="M54.8463 80.9776C54.6754 81.0984 54.5059 81.2212 54.3378 81.346C53.6603 81.8492 53.0068 82.3849 52.3796 82.9514C52.3066 83.0174 52.2303 83.0781 52.1513 83.1335C51.2928 83.7353 50.1108 83.7123 49.3336 82.9793C48.4848 82.1788 48.441 80.8359 49.298 80.0443C49.3807 79.9679 49.4639 79.8919 49.5474 79.8165C50.2508 79.1811 50.9827 78.5791 51.7408 78.0123C51.9872 77.8281 52.2364 77.6476 52.4882 77.4709C53.263 76.9272 54.0631 76.4194 54.8861 75.9491C54.9489 75.9133 55.0119 75.8776 55.0749 75.8421C55.11 75.8224 55.1452 75.8027 55.1803 75.7832C56.1996 75.2155 57.462 75.6758 57.958 76.7318C58.4123 77.6987 58.0657 78.829 57.2263 79.4572C57.1491 79.515 57.0676 79.5686 56.9822 79.6174C56.2484 80.0367 55.5356 80.4907 54.8463 80.9776Z" fill="#F9F9F9" style="mix-blend-mode:hard-light"/>
    
    77
    +<ellipse cx="43.8519" cy="85.0854" rx="2.13252" ry="2.13252" transform="rotate(1.58589 43.8519 85.0854)" fill="#F9F9F9" style="mix-blend-mode:hard-light"/>
    
    78
    +</svg>

  • browser/components/abouttor/jar.mn
    1 1
     browser.jar:
    
    2 2
       content/browser/abouttor/aboutTor.css           (content/aboutTor.css)
    
    3 3
       content/browser/abouttor/aboutTor.js            (content/aboutTor.js)
    
    4
    -* content/browser/abouttor/aboutTor.html          (content/aboutTor.html)
    
    4
    +  content/browser/abouttor/aboutTor.html          (content/aboutTor.html)
    
    5 5
       content/browser/abouttor/dax-logo.svg           (content/dax-logo.svg)
    
    6 6
       content/browser/abouttor/1f4e3-megaphone.svg    (content/1f4e3-megaphone.svg)
    
    7 7
       content/browser/abouttor/26a1-high-voltage.svg  (content/26a1-high-voltage.svg)
    
    8 8
       content/browser/abouttor/2728-sparkles.svg      (content/2728-sparkles.svg)
    
    9 9
       content/browser/abouttor/2764-red-heart.svg     (content/2764-red-heart.svg)
    
    10 10
       content/browser/abouttor/onion-pattern.svg      (content/onion-pattern.svg)
    
    11
    +  content/browser/abouttor/yec-2023-heart.svg     (content/yec-2023-heart.svg)
    
    12
    +  content/browser/abouttor/yec-2023-image.svg     (content/yec-2023-image.svg)

  • _______________________________________________
    tor-commits mailing list
    tor-commits@xxxxxxxxxxxxxxxxxxxx
    https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits