From b1820224d5e65f4d629e727282667344d859d562 Mon Sep 17 00:00:00 2001 From: anandamarsh Date: Wed, 27 Sep 2023 15:03:08 -0700 Subject: [PATCH] Pe 107 global changes (#26) * chaged background etc. now making font changes * need to go component by component now --- src/common/common.less | 69 ++--- src/common/terminal/Terminal.tsx | 189 ++++++++++++++ src/{ => common/terminal}/ptydata.ts | 2 +- src/{ => common/terminal}/term.ts | 23 +- .../common/terminal/terminal.less | 52 ++-- src/emain.ts | 4 +- .../MartianMono-VariableFont_wdth,wght.ttf | Bin 0 -> 146732 bytes src/index.less | 246 +++++------------- src/index.ts | 13 +- src/main/Main.tsx | 5 +- src/main/bookmarks/bookmarks.less | 15 +- src/main/bookmarks/bookmarks.tsx | 4 +- src/main/history/history.less | 46 ++-- src/main/line/linecomps.tsx | 171 +----------- src/main/line/lines.less | 59 ++--- src/main/line/linesview.tsx | 2 +- src/main/line/lineutil.ts | 2 +- src/main/line/renderer/simplerenderer.tsx | 4 +- src/main/modals/modals.less | 22 +- src/main/modals/settings.tsx | 2 +- src/main/sessionview/HistoryInfo.tsx | 2 +- src/main/sessionview/InfoMsg.tsx | 2 +- src/main/sessionview/TextareaInput.tsx | 4 +- src/main/sessionview/sessionview.less | 45 +--- src/main/sessionview/tabs.less | 27 +- src/main/sidebar/MainSideBar.tsx | 14 +- src/main/sidebar/sidebar.less | 109 +------- src/model.ts | 6 +- src/plugins/code/index.tsx | 6 +- src/plugins/mustache.tsx | 2 +- src/plugins/openai.tsx | 3 +- src/plugins/plugins.less | 50 ++-- src/plugins/plugins.ts | 2 +- src/remotes/remotes.less | 17 +- src/remotes/remotes.tsx | 4 +- src/themes.ts | 15 ++ src/{ => util}/textmeasure.ts | 0 src/{ => util}/util.ts | 3 +- src/utils.less | 91 ------- src/webshare/webshare-client-view.tsx | 2 +- src/webshare/webshare.less | 15 +- src/webshare/webshare.ts | 1 + static/font-awesome.min.css | 4 - static/fontawesome/css/brands.min.css | 6 - static/fontawesome/css/fontawesome.min.css | 9 - static/fontawesome/css/sharp-regular.min.css | 6 - static/fontawesome/css/sharp-solid.min.css | 6 - static/fontawesome/css/solid.min.css | 6 - .../fontawesome/webfonts/fa-brands-400.woff2 | Bin 109100 -> 0 bytes .../webfonts/fa-sharp-regular-400.woff2 | Bin 324844 -> 0 bytes .../webfonts/fa-sharp-solid-900.woff2 | Bin 253316 -> 0 bytes .../fontawesome/webfonts/fa-solid-900.woff2 | Bin 320532 -> 0 bytes static/fonts/fontawesome-webfont-4.7.woff2 | Bin 77160 -> 0 bytes .../fonts/jetbrains-mono-v13-latin-200.woff | Bin 26636 -> 0 bytes .../fonts/jetbrains-mono-v13-latin-200.woff2 | Bin 21012 -> 0 bytes .../fonts/jetbrains-mono-v13-latin-700.woff | Bin 26760 -> 0 bytes .../fonts/jetbrains-mono-v13-latin-700.woff2 | Bin 21080 -> 0 bytes .../jetbrains-mono-v13-latin-regular.woff | Bin 25940 -> 0 bytes .../jetbrains-mono-v13-latin-regular.woff2 | Bin 20388 -> 0 bytes static/index-dev.html | 29 +-- static/index.html | 29 +-- webshare/static/index-dev.html | 33 +-- webshare/static/index.html | 33 +-- 63 files changed, 545 insertions(+), 966 deletions(-) create mode 100644 src/common/terminal/Terminal.tsx rename src/{ => common/terminal}/ptydata.ts (98%) rename src/{ => common/terminal}/term.ts (95%) rename static/xterm.css => src/common/terminal/terminal.less (84%) create mode 100644 src/fonts/MartianMono-VariableFont_wdth,wght.ttf create mode 100644 src/themes.ts rename src/{ => util}/textmeasure.ts (100%) rename src/{ => util}/util.ts (99%) delete mode 100644 src/utils.less delete mode 100644 static/font-awesome.min.css delete mode 100644 static/fontawesome/css/brands.min.css delete mode 100644 static/fontawesome/css/fontawesome.min.css delete mode 100644 static/fontawesome/css/sharp-regular.min.css delete mode 100644 static/fontawesome/css/sharp-solid.min.css delete mode 100644 static/fontawesome/css/solid.min.css delete mode 100644 static/fontawesome/webfonts/fa-brands-400.woff2 delete mode 100644 static/fontawesome/webfonts/fa-sharp-regular-400.woff2 delete mode 100644 static/fontawesome/webfonts/fa-sharp-solid-900.woff2 delete mode 100644 static/fontawesome/webfonts/fa-solid-900.woff2 delete mode 100644 static/fonts/fontawesome-webfont-4.7.woff2 delete mode 100644 static/fonts/jetbrains-mono-v13-latin-200.woff delete mode 100644 static/fonts/jetbrains-mono-v13-latin-200.woff2 delete mode 100644 static/fonts/jetbrains-mono-v13-latin-700.woff delete mode 100644 static/fonts/jetbrains-mono-v13-latin-700.woff2 delete mode 100644 static/fonts/jetbrains-mono-v13-latin-regular.woff delete mode 100644 static/fonts/jetbrains-mono-v13-latin-regular.woff2 diff --git a/src/common/common.less b/src/common/common.less index 01e28097..3cb37327 100644 --- a/src/common/common.less +++ b/src/common/common.less @@ -3,7 +3,7 @@ .info-message { position: relative; font-weight: normal; - font-size: 12px; + color: @term-white; .message-content { @@ -52,7 +52,6 @@ } .code-div code { - .mono-font(14px); } } @@ -68,7 +67,7 @@ flex-grow: 0; padding: 3px; border-radius: 3px 0 0 3px; - font-size: 12px; + height: 22px; width: 22px; display: flex; @@ -76,7 +75,7 @@ justify-content: center; align-self: flex-start; cursor: pointer; - background-color: black; + background-color: @term-black; &:hover { background-color: #777; @@ -84,7 +83,7 @@ } .code-div { - background-color: black; + background-color: @term-black; display: flex; flex-direction: row; min-width: 100px; @@ -94,11 +93,10 @@ code { flex-shrink: 0; min-width: 100px; - color: white; - .mono-font(12px); + color: @term-white; white-space: pre; padding: 2px 8px 2px 8px; - background-color: black; + background-color: @term-black; } } @@ -112,16 +110,16 @@ position: absolute; bottom: -1px; right: -20px; - font-size: 9px; + padding: 2px; padding-left: 4px; cursor: pointer; width: 20px; - background-color: black; + background-color: @term-black; border: 1px solid #333; color: #777; &:hover { - color: white; + color: @term-white; } } } @@ -130,7 +128,6 @@ visibility: visible !important; } } - .terminal-wrapper { position: relative; @@ -223,7 +220,7 @@ body .xterm .xterm-viewport { width: 18px; left: 3px; bottom: 3px; - background-color: white; + background-color: @term-white; transition: 0.5s; border-radius: 50%; } @@ -277,7 +274,6 @@ body .xterm .xterm-viewport { } .cmd-hints { - .mono-font(10px); display: flex; flex-direction: row; @@ -292,22 +288,22 @@ body .xterm .xterm-viewport { } .hint-item.color-green { - color: black; + color: @term-black; background-color: @tab-green; &:hover { - color: white; + color: @term-white; } } .hint-item.color-nohover-green { - color: black; + color: @term-black; background-color: @tab-green; cursor: default; } .hint-item.color-white { - color: black; + color: @term-black; background-color: @term-white; &:hover { @@ -316,22 +312,22 @@ body .xterm .xterm-viewport { } .hint-item.color-nohover-white { - color: black; + color: @term-black; background-color: @term-white; cursor: default; } .hint-item.color-blue { - color: black; + color: @term-black; background-color: @tab-blue; &:hover { - color: white; + color: @term-white; } } .hint-item.color-nohover-blue { - color: black; + color: @term-black; background-color: @tab-blue; cursor: default; } @@ -342,9 +338,8 @@ body .xterm .xterm-viewport { margin-bottom: 10px; code { - background-color: black; - color: white; - .mono-font(); + background-color: @term-black; + color: @term-white; padding: 5px; } @@ -354,14 +349,13 @@ body .xterm .xterm-viewport { } .title { - color: white; + color: @term-white; margin-top: 16px; - line-height: 1.25; margin-bottom: 8px; } strong { - color: white; + color: @term-white; } a { @@ -370,7 +364,7 @@ body .xterm .xterm-viewport { table { tr th { - color: white; + color: @term-white; } } @@ -399,26 +393,20 @@ body .xterm .xterm-viewport { } .title.is-1 { - font-size: 32px; border-bottom: 1px solid #777; padding-bottom: 6px; } .title.is-2 { - font-size: 24px; border-bottom: 1px solid #777; padding-bottom: 6px; } .title.is-3 { - font-size: 20px; } .title.is-4 { - font-size: 16px; } .title.is-5 { - font-size: 14px; } .title.is-6 { - font-size: 14px; } } @@ -432,14 +420,13 @@ body .xterm .xterm-viewport { left: 0; width: 100%; height: 100%; - background-color: white; + background-color: @term-white; opacity: 0; display: flex; flex-direction: row; align-items: center; justify-content: center; pointer-events: none; - .mono-font(12px); animation-name: fade-in-out; animation-duration: 0.3s; } @@ -483,17 +470,12 @@ body .xterm .xterm-viewport { z-index: -1; top: -5000px; - .mono { - .mono-font(); - } - .pre { white-space: pre; } } .text-button { - .mono-font(12px, 700); color: @term-white; cursor: pointer; background-color: #171717; @@ -584,8 +566,6 @@ body .xterm .xterm-viewport { } #main .term-prompt { - font-size: 14px; - i { margin-right: 3px; } @@ -650,7 +630,6 @@ body .xterm .xterm-viewport { } .remote-status { - font-size: 8px; margin-right: 5px; position: relative; top: -3px; diff --git a/src/common/terminal/Terminal.tsx b/src/common/terminal/Terminal.tsx new file mode 100644 index 00000000..e85cbfc2 --- /dev/null +++ b/src/common/terminal/Terminal.tsx @@ -0,0 +1,189 @@ +import * as React from "react"; +import * as mobxReact from "mobx-react"; +import * as mobx from "mobx"; +import { boundMethod } from "autobind-decorator"; +import dayjs from "dayjs"; +import localizedFormat from "dayjs/plugin/localizedFormat"; +import { If } from "tsx-control-statements/components"; +import { GlobalModel } from "../../model"; +import { termHeightFromRows } from "../../util/textmeasure"; +import type { LineType } from "../../types"; +import cn from "classnames"; +import type { LineContainerModel } from "../../model"; +import * as lineutil from "../../main/line/lineutil"; + +import "./terminal.less"; + +dayjs.extend(localizedFormat); + +type OV = mobx.IObservableValue; +type OArr = mobx.IObservableArray; +type OMap = mobx.ObservableMap; + +@mobxReact.observer +class TerminalRenderer extends React.Component< + { + screen: LineContainerModel; + line: LineType; + width: number; + staticRender: boolean; + visible: OV; + onHeightChange: () => void; + collapsed: boolean; + }, + {} +> { + termLoaded: mobx.IObservableValue = mobx.observable.box(false, { + name: "linecmd-term-loaded", + }); + elemRef: React.RefObject = React.createRef(); + termRef: React.RefObject = React.createRef(); + + constructor(props) { + super(props); + } + + componentDidMount() { + this.componentDidUpdate(null, null, null); + } + + componentWillUnmount() { + if (this.termLoaded.get()) { + this.unloadTerminal(true); + } + } + + getSnapshotBeforeUpdate(prevProps, prevState): { height: number } { + let elem = this.elemRef.current; + if (elem == null) { + return { height: 0 }; + } + return { height: elem.offsetHeight }; + } + + componentDidUpdate(prevProps, prevState, snapshot: { height: number }): void { + if (this.props.onHeightChange == null) { + return; + } + let { line } = this.props; + let curHeight = 0; + let elem = this.elemRef.current; + if (elem != null) { + curHeight = elem.offsetHeight; + } + if (snapshot == null) { + snapshot = { height: 0 }; + } + if (snapshot.height != curHeight) { + this.props.onHeightChange(); + // console.log("term-render height change: ", line.linenum, snapshot.height, "=>", curHeight); + } + this.checkLoad(); + } + + checkLoad(): void { + let { line, staticRender, visible, collapsed } = this.props; + if (staticRender) { + return; + } + let vis = visible && visible.get() && !collapsed; + let curVis = this.termLoaded.get(); + if (vis && !curVis) { + this.loadTerminal(); + } else if (!vis && curVis) { + this.unloadTerminal(false); + } + } + + loadTerminal(): void { + let { screen, line } = this.props; + let model = GlobalModel; + let cmd = screen.getCmd(line); + if (cmd == null) { + return; + } + let termElem = this.termRef.current; + if (termElem == null) { + console.log("cannot load terminal, no term elem found", line); + return; + } + screen.loadTerminalRenderer(termElem, line, cmd, this.props.width); + mobx.action(() => this.termLoaded.set(true))(); + } + + unloadTerminal(unmount: boolean): void { + let { screen, line } = this.props; + screen.unloadRenderer(line.lineid); + if (!unmount) { + mobx.action(() => this.termLoaded.set(false))(); + let termElem = this.termRef.current; + if (termElem != null) { + termElem.replaceChildren(); + } + } + } + + @boundMethod + clickTermBlock(e: any) { + let { screen, line } = this.props; + let model = GlobalModel; + let termWrap = screen.getTermWrap(line.lineid); + if (termWrap != null) { + termWrap.giveFocus(); + } + } + + render() { + let { screen, line, width, staticRender, visible, collapsed } = this.props; + let isVisible = visible.get(); // for reaction + let isPhysicalFocused = mobx + .computed(() => screen.getIsFocused(line.linenum), { + name: "computed-getIsFocused", + }) + .get(); + let isFocused = mobx + .computed( + () => { + let screenFocusType = screen.getFocusType(); + return isPhysicalFocused && screenFocusType == "cmd"; + }, + { name: "computed-isFocused" } + ) + .get(); + let cmd = screen.getCmd(line); // will not be null + let usedRows = screen.getUsedRows(lineutil.getRendererContext(line), line, cmd, width); + let termHeight = termHeightFromRows(usedRows, GlobalModel.termFontSize.get()); + let termLoaded = this.termLoaded.get(); + return ( +
+ +
+
+
+ +
+ ... +
+
+
+ ); + } +} + +export { TerminalRenderer }; diff --git a/src/ptydata.ts b/src/common/terminal/ptydata.ts similarity index 98% rename from src/ptydata.ts rename to src/common/terminal/ptydata.ts index 95acd251..45c8e55e 100644 --- a/src/ptydata.ts +++ b/src/common/terminal/ptydata.ts @@ -1,5 +1,5 @@ import * as mobx from "mobx"; -import { incObs } from "./util"; +import { incObs } from "../../util/util"; type OV = mobx.IObservableValue; type OArr = mobx.IObservableArray; diff --git a/src/term.ts b/src/common/terminal/term.ts similarity index 95% rename from src/term.ts rename to src/common/terminal/term.ts index 6f3dc254..6e3181e3 100644 --- a/src/term.ts +++ b/src/common/terminal/term.ts @@ -2,10 +2,17 @@ import * as mobx from "mobx"; import { Terminal } from "xterm"; import { sprintf } from "sprintf-js"; import { boundMethod } from "autobind-decorator"; -import { v4 as uuidv4 } from "uuid"; -import { termHeightFromRows, windowWidthToCols, windowHeightToRows } from "./textmeasure"; -import { boundInt } from "./util"; -import type { TermContextUnion, TermOptsType, TermWinSize, RendererContext, WindowSize, PtyDataType } from "./types"; +import { windowWidthToCols, windowHeightToRows } from "../../util/textmeasure"; +import { boundInt } from "../../util/util"; +import type { + TermContextUnion, + TermOptsType, + TermWinSize, + RendererContext, + WindowSize, + PtyDataType, +} from "../../types"; +import { getTheme } from "../../themes"; type DataUpdate = { data: Uint8Array; @@ -77,15 +84,13 @@ class TermWrap { let cols = windowWidthToCols(opts.winSize.width, opts.fontSize); this.termSize = { rows: opts.termOpts.rows, cols: cols }; } - let theme = { - foreground: "#d3d7cf", - }; + const { terminal } = getTheme(); this.terminal = new Terminal({ rows: this.termSize.rows, cols: this.termSize.cols, fontSize: opts.fontSize, - fontFamily: "JetBrains Mono", - theme: theme, + theme: { foreground: terminal.foreground, background: terminal.background }, + /*fontFamily: "JetBrains Mono", @check:font */ }); this.terminal._core._inputHandler._parser.setErrorHandler((state) => { this.numParseErrors++; diff --git a/static/xterm.css b/src/common/terminal/terminal.less similarity index 84% rename from static/xterm.css rename to src/common/terminal/terminal.less index 74acc267..9662b5d5 100644 --- a/static/xterm.css +++ b/src/common/terminal/terminal.less @@ -1,4 +1,7 @@ +@import "../../index.less"; + /** + * Adapted from xterm.css * Copyright (c) 2014 The xterm.js authors. All rights reserved. * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) * https://github.com/chjj/term.js @@ -79,7 +82,7 @@ .xterm .composition-view { /* TODO: Composition position got messed up somewhere */ background: #000; - color: #FFF; + color: #fff; display: none; position: absolute; white-space: nowrap; @@ -122,7 +125,6 @@ position: absolute; top: 0; left: -9999em; - line-height: normal; } .xterm.enable-mouse-events { @@ -166,33 +168,53 @@ opacity: 1 !important; } -.xterm-underline-1 { text-decoration: underline; } -.xterm-underline-2 { text-decoration: double underline; } -.xterm-underline-3 { text-decoration: wavy underline; } -.xterm-underline-4 { text-decoration: dotted underline; } -.xterm-underline-5 { text-decoration: dashed underline; } +.xterm-underline-1 { + text-decoration: underline; +} +.xterm-underline-2 { + text-decoration: double underline; +} +.xterm-underline-3 { + text-decoration: wavy underline; +} +.xterm-underline-4 { + text-decoration: dotted underline; +} +.xterm-underline-5 { + text-decoration: dashed underline; +} .xterm-overline { text-decoration: overline; } -.xterm-overline.xterm-underline-1 { text-decoration: overline underline; } -.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; } -.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; } -.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; } -.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; } +.xterm-overline.xterm-underline-1 { + text-decoration: overline underline; +} +.xterm-overline.xterm-underline-2 { + text-decoration: overline double underline; +} +.xterm-overline.xterm-underline-3 { + text-decoration: overline wavy underline; +} +.xterm-overline.xterm-underline-4 { + text-decoration: overline dotted underline; +} +.xterm-overline.xterm-underline-5 { + text-decoration: overline dashed underline; +} .xterm-strikethrough { text-decoration: line-through; } .xterm-screen .xterm-decoration-container .xterm-decoration { - z-index: 6; - position: absolute; + z-index: 6; + position: absolute; } .xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer { - z-index: 7; + z-index: 7; } .xterm-decoration-overview-ruler { diff --git a/src/emain.ts b/src/emain.ts index a99172b6..9e97a34c 100644 --- a/src/emain.ts +++ b/src/emain.ts @@ -4,7 +4,7 @@ import * as fs from "fs"; import fetch from "node-fetch"; import * as child_process from "node:child_process"; import { debounce } from "throttle-debounce"; -import { handleJsonFetchResponse } from "./util"; +import { handleJsonFetchResponse } from "./util/util"; import * as winston from "winston"; import * as util from "util"; import { sprintf } from "sprintf-js"; @@ -201,12 +201,12 @@ function createMainWindow(clientData) { let win = new electron.BrowserWindow({ x: bounds.x, y: bounds.y, + titleBarStyle: "hiddenInset", width: bounds.width, height: bounds.height, webPreferences: { preload: path.join(getAppBasePath(), DistDir, "preload.js"), }, - backgroundColor: "#000", }); let indexHtml = isDev ? "index-dev.html" : "index.html"; win.loadFile(path.join(getAppBasePath(), "static", indexHtml)); diff --git a/src/fonts/MartianMono-VariableFont_wdth,wght.ttf b/src/fonts/MartianMono-VariableFont_wdth,wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..843b2903d7b15ac103ab60101bef6133f04dedb8 GIT binary patch literal 146732 zcmZQzWME(rVPs%nVQ_GFadrD{=KGX^Vc`V^1{Ndt0RP~n<=ngs49i#;7{qMcgF~I} zoCrF~z_7=Gfq`?GN0?*K(dOgR85oYfU|?WM_7B!KO3z!enSr6@2Ll5`LU4#<2y4{q z1q=))d>9xQE+m#E7HP>Sure^5+`_=XV3C}gSn%%LI!*?L)(8d$HmS6-#3H_?d;b|2 zPRcMaFw96#EG}SRU=UznSa^bgfq^4Er!wt?ws1591EUWELzzf=Sz^)kr<=AjFr0kD zz*uaTk(!ty$GSt0fuZ^h0|SFuMn-BPJ1^rp28Na^3=9k^8M!4DoN3=SFfi1pFfeee z%gIkpZ26ydhk>EIfq{V~D>t#CfXRhn9s@&p0s{ksLSABS>I3u7O$-d(H4F@FaRvFs zC7psB`Vd-3JfRU;%snn z9tH-66Aa8S^}fD_nLok(BmpuPB>rCm6mD>FS%zl}2=`gR#l>Li zLE+4T5LZAEN4Q%YB+kIdz|X+Ibc|VnL70I-QBc{`SWuZ+Sy)k2S=1Pe8Eba#RJmI6 zhjI6f4I9oe@~1F5{`Fy2$a$agHRu0-h;DEUfx-b4L!sc9XkuVsTEVQqz|SDTpa@PO zMq;8OZ0w?9AWB)?*vQP(L`_-Q6vk*`13*?>Wsfq_*?&D6xq*hoxFTv<&`S&2dHUSB(_?}n z>YYL13N{t&BLPrqXA)qLWjMjW1hI`pfI*r;8Lxf9(1eE5-V|uE!(u;+0xb1~fMeZ& zNexskFt9Pn$RgY(0TpFu;)A*klpi-SD==^{2!g`e7#!A!Ku-CvcH_pib#Ma;-pCo%nTX~3``)M%nUpXq6`e6{Kzbbu3v*u=L514jL}(H|CS;f1T7Ob zu?T?OAc@TtjL?8VaSfvtG&GP*V~l}?0@QU(Yz$)HG@tUH1LRsJHIQ2w*qQkLzxflw zz{oI-fq`iXvjVte5mXd~!D)>D{*^FB{aeP^gh;Vqwcz-bg2t~pIDVnx4BVicV2or6 ztmHs4%^vP(a6VuW06F;oe~3Gf%ob))2bWh+vzgQwAa?Sih=bx2BF+aAXJCSv!@v#7 zUnp)-RyRg+$1HG30(Jv))ih8F0ow#FMIa_hfJ_9r?7s#mgy1faW!L}?QLuU>7mI_` zGcYpP{QtnTiP?Zbo`Hc;(HxwaK>1aPja}Icl+Q#(*p$I}&Rmfx?VpuwWNb!iMy_+R zT(<1Il0{1w&YLuiiIGWy(N}*;-_%))X8ZfqbzZx8>iqG;k}@m|j0~%wM*~k>2nv%vWTpvUF-%M%@AUClwNsA&}3Q8{^QBeLD zWjMjW2(OPpHLD<~HZ~Si7E}~WDPnXgD*CsNS>fMG#_&H67-Rn}W?*6vVPIgo19xa}YSihE;0aY!W~Xe=ng z#uiX?!p6oow8*&{R6`2nMEWzy{Jj-i?(qLV#FyZ-st2|kR6c`R17N$6#9=ixx;UtY zLZ}CYBE%d%P)!Ij|33$)Rl}sl02lug!oUQx7n&Q9e8;S;ZVdI|!IZWpm@k>DK=nD; zc5qIFmGwFi!Y)tBA4UUEZC%e`XN3 zFfcL%Fff2qAf&DoHU@cH&>YkpRTdWv*pmuHdYq|H=4u+V@~|xV#xs!%nEYKMwGTVE#bs(P4l2RTQ7n`ZF)}hW&qzxG`2g&V4++Lb+9D#V zDd`_jt;FIZNP1;rh(WfE71=gb6x$frL9P2YgRp%JOz;|sn?W3@G!_+MQ-?Gq!EHXq z@;US8&jI1|q@?upq$Gh$=gwUM;T%vS4}?MC1g_n{vEhw~jsO24b|8tvN)mMSu#&_E z+#Uh7(jewQN<(ItISe4TBDYS_Tq~@sZj9mLohfZin674)1C=T0?hpi}BAC0uWevm~ z;If7R>JDZD24)6+P%D|ym{C~~Tx&yGc*r5gWA>h&_Q#kNtg<}ZGp+t@W8CCwW8;cs3Lhvn8VeeWg8Ck! zB5Z8R%AyE!iVmTfGaF*idPZ@uIiMKQ0JpPP83Y+*85meijYY*pRdK`-W2DX3e{Vst z1H#Z4s%_WsEIa{<9}tGe5d$+r4FdzyA+S#c7{D!ZB)=*$8w)eS{96O|uS1c~A;y4L zbszre9I^B9u{*-7V3FbOoMQQJIb-g>$&7nk%`IF&xd&`6IPRkmanHa4v5!T7frkNP zAFS60>hFO<7sWgsBs{voL0iqt_A7l%f@lA45$sRd2rpe&&0lNSk zK5@|S;RUtQ7=sxnFm7j7U|?ZjU=%bKWoHad5n-IbIAO~jP`e1Ki$R;gn1O*5m&3x6 z7#}d+ga#}TUSW2D_G%*jYk)$ONsR&IA2uc#W>6}K_|JwSDh(CoKoSMDP?_QF!#&Ij z3`(Fn)5OeJQIuI7nq`m%0ZfHOL49|@l!>j30uLqRgDV{SYm?%{iYf{++Wq^-RQB&5)0Ui^ zzdoQ^1geG^)K>)cb{Rpy@n`ej7UiMw*smKriVp$!Tfr#@!YZ8b!Xp{&d4yyst#bGsI)PD|;+nCfCAnGACAQJ;rJ%b>qU4!Xr zMrCzlB$qShgFCXQ&Sy#j_h_Le!EJ!md0=sHod>ZQT<87&&kzOg>4L=Bm}JEf;Q$&H z1BtRT!A8r#rXYn6q`qQ=j3k0bD;b1AEktHz<_$-=juk%I^@v&FuLaYIKM$A{7#JBO z7#NtYF)M)MMpzs)tZ8g6Y|IR9Ofon7@^CpXv*+UROUYm1$mO;?pIPDWiV7xgYGh$&!KR6=7(7aU7q(~-nsv4JiQjtvGTm^si;$8e9Tvbr&*n;2Js z10U02QPV)V%9MeDX(z;o#=^|T!s1{L3M(_KE3-4Z-g?!%o{O7nbHl4!t#i4!xfU`u zFfRCaOiz!|>R;x+az;5ly?>7w7(t~m(_wI*lR+3_1f!s`AmhqITwGj7OaHws`uCPu z;onYKSw{DNHvg6|#xNfF{~w|Y?EiXbxIj{`HUk6GVI*-_xS)%}!UZZ0>A@k}4+;@v zH!#ivhXtxbqQL18Yz8>JLEHjMZ(wmGx4=?R9s>hY1H{M1ri`Yb@`zDXQ8bV7#6Jrr zp??;PCyp>a`5~olI&BaB*;n4eBu#F=a4lF)%QSva>-)RLx8w!$558%HZ~!sGu^a z(WVUQnVOiHGYMVO*09hv2{H0_H}o;!%wqGd52J`rmax2(wW)CJchHh}FDexB|Y6lnP`3tHyp=uel zKrKt+T?#9|3A*?Lv|uOfa>h@f3KQW{g!_e&+>a3DMRUI%DIpE&I}mjH)ReX+BHSGV z>RUjPj5FcmRnKtne!qBB(eUlNeO>2c{zM+yf}y)Ig#Ppg93i zhEM>ADFH&WiTi+cp~-dK&?i0MN?yT6Yy|8DD{Eba^}WtY)Eko zO^mQHNkMjHHrTKvlT1=dT#AjK8YAPsD{oZ=lw}pPL_~EIm2|n&xRd|A%hOO*S1_>B z)zvlU%iu0b43Cx2ko30jiHVF8n6q@jbmxvNZc*+eOWznR-8c{LBm+a^#B|1vL&1P8Lz#IX~SxNsjK)z&BV}Q6s23)&CToM2mI7YM%!gKdY59SWNpvol%+me|{u1e*DagVLI~e@8@6Py`5X(8#k9@aaoR>hn=k z1AAIkozW&OFE1@EFOTui3D8U{C~R*r2QV-*NHC}{Fff`biZUWn9l} zl$n-AMg8@{71aO#GdO_jDNr2G2iK2~mL?-Z%Kr~cbHL>XgRmkyk|#lvf6#gfoD)FP zkBU1PC#VMdh9o3JScJ=F@cS3JL^Zp6G=&A0*)uZ!Gi1!NOwB7y$}BN4u!%DAn~)sW z?dR2P8JvoWlJh2d;A*az{tpW{+(q?eo-PU{`*s6d;Gk+61c^<7#P7LM<3P@x2MD=5v18=D#Cd17ks0#68Q}Fv42b*w@uTPQ|k&JhIhGO~LHni^%l!$jJ0` zQ0f59Ft;&-T2mXqshNk1fq|I;BI*Hlof!iIiSC1?ZDQTYm;){K2|1W?JvgbeK;0Jv zcApi4E6FYtHUgywP{-NC%$$u)R1`eaW=^bw_sOfO%FC;&W~!(usfmjcbatkkq@)}O z2S^wQq^T&$+RGrq9+U?mVb8|}O34)r3`|YT0iYf;sD^^I4g{42A*GsNMV_2wfSy~r zRi2-xryp~`zZ-H&HaQ;uIvAt;Lqq-lEd!NDa!^y4L1TW95e{Q`O9Nq+9An16PblVr zOW-JMrvCrWQ1PDw<4*hG1eL{aPqnfspu z$yI7hAXkCLQ>4N3c~J8iI6*Tw2={^df-pBSYNoU`!5n&M8fe{E_EIdQDjWK`$Vk`d zN0ULLNem23tC<5B)EG{kV_;xsT)}XWF$g;T4{`-FI1Pbj9O3DF72}eBc2M^)s%JdQ zV04B!3gmjw+#{%!4oW}9qQ>mt9)P$ylp%`9pYTkt9FXVl$ZVyrZNu)^V8iTaXziJ& zsHmt2A($czGz=^pO%0UvEn|KEIWbPq)6>)YR{*0yc7n?lrVMDgB1))SVTv$7D^@`H zA6%+{a_U8J+<@lZnHaz(GkY+If_fd`SrD*)#E|>}s}fMlE=D_O!H;Pfvj@1S2if_b zjj0LT_k`F9p3P+7`mX^JW#9&_2@y9nHZny_W@7Ohmq?Vkc}h|QN>O(sE?HbeL@+7! z2B!U>Gzaw;lNtlWX3&@p6GH{E&8$c^tAgf#FnzuZV)eg0#M=#9AHkFXnXv=U_?tkD z76DC;ftSre=Q<-=y}Vi@B3rz?S|UOHhOp#hP>&(L&mYo`M)Xvmz3+M8oO%NmgIGj` z!Fd7HyGK^b3l-&Hng@;#kO`pj6f`~!>jQa!T`Z5%`vBFoC|z67s0Cv=7I%ZjAhElh zDGJn1M0b%O)J34RB%rbpc@C2nCW(Gaz7zaOtJgChgj_4`DTmy<$aPLr5L`)1V)^Uu3 ze0Gk|(u#0)3D?pJw^Ps*5z$ltlZ>8@VVW8t4mRG(jEw&tJXGaVkdjju7SWWK)#gg$ zjumj}$;s()fsh$`aUPzrdU~;*9&vgZu6=pgoz8Y0`KUu5CI*S=ppnS`7EJ4yG9aTE z;z(&8(uh@878FLBiqFe~k6(cM)El7P=@ZNfHn0HW{&-6W<6JvoJpm;i^I#P}P~b`of9&OxrYgSzXr6{N#1`P%S5?l)lG=i>X+yMFHvd>k(GWFC-df?v!RVrQz=u zCa2IuFDqO36h9ZI08p%hRz~+TeF61V8NTj zR+OBaJ!ultmpK{#ZkSuz+UAxPrZZ|}%mKv;!YojSK@>Ds3mzjwF%7gH5sQhFn1nD5 z{TC1u^Z!41m3BY4755q3>Jwr#1J@Lwer-R~7bZ0ZkT@HYj4LS2L;kZdA&W{wMLCc} zL1FF+4)dJNjrjG8u$fr$ZPrX7PQXmvVv*QtYt7@z^H zj&3@$ma3X2a|(NONJun0HhZ3_s;a7b`S^IjZG*P^u-m3;ZY-{>j^T@choIR7n-x*u z9Kyg1^$o~;MFw45VT8O&#u%v|hUT+>Z&bClRn@e#9zbbqHm9g5D5xQ0NIY>s<69Az z8<=t1I}zIH!)D!|4WRxW2t(}oz*I&cJt(Uiqxs7o+(Z4l0zHL+W^ExM*bg;R7MJT) z&5hZOF;m*Vy>SgSDK#ClusJVgNiB=vSRv;{+q$DGwq=d~G zF4hJH)*x&lD<&=@BQ7S3nj*Au#vPK?#Pz4Ya0~DT09=v@RI31j4Oi2iNw(JFA!?{&6yX|GR>L z5!CWvItv*+Fa|FU0I7tnfS6uZVkyjJzr>zP$U3uZjy;z>Q^dbTt3c}?Rx!r?UBSfj z_sjqP5HmovIwKpTR@VfT&58^ROlOfqAw3gxQP2!O6U+q2x(7^mfO;L6Zm9-mAawUI zZ33@)@MBUzw`fYUXYc&z`(@d@n3^!1yckAE2zEzg$lbeBQrRrpo6{U!XB0DJrye%J3onq zm<7bKrSK_AOUm;;W{UV{m%^m>H^|mC)L%(XPKl}K|9^;i;P3#g)nQ{20I#HxG4cz*3iQE>|YGyl7CW+Oa8?$MI8Efhb!X{qYBsm{|sOqU|)h(dayA; zMjxP}kd+a_NG8D=Zzv`*E`ZlOaHA3JT!>i#Olph}8~DJjhL-;vAeTZ#K`jALkC&0* zG2;y;CT2s>-V8=?SzvB13ST0DHYqI%uHPAhHB3zO!##NUh4`hFrNkvw*h1O;ogH1n zIJmSJZ!xWss!Nru@Fyq=f=Vk2hh z!&vSW9qk3es#;pAs#;o%*W>;C;z8KYSVzYgghBfWLHh%l6`0t-dn%b2U_14oD_KE% zai9zH*p%Vh^qQDB{$*{0EN0!d3$!S97qddnJ*!N2k1VSk&|232|6wLEv4PgfF)%Vf zSL-vdf@YLN6$O>|F~0iOQN*kOT8hWO1eHI-0A97vXlg8~3Tg%_Gg;;R6N9J}+qR7h zq?n08<9`TfLkfc+Xbro#ps^jRIcPjl*;G+fSW!@!k43|TM?`>^lY@!zKvdp8J1a)5 zN6ehO0wQY|B_xfU;@S^1{q_0xV$B*x2_}#FjTQbDpfUzjkxc=Ig%mix!F=!<9LVk| z@IEaDW(FY!2BtgA3JhG3+D?&KUD*_}3`!BQBuZ47of$M{&lFj~rLV`;R<>cqU$+$- z%G$W}^tmcl7BR}{<-nFibuv!>cT6uw@82WPzKZ|<8AAVmV4BHnz{JK_2p-{#VSw*1 zP*etQOb|2{WH%NzW|~yQ!u9P0m|#-d@>h*n;qR?2Oo;sjY)op5D&Tf6C>MhEx`2EH z+N;6F0NSg;#31tj2Wa;R11o4p9e6FHAZR4ZjtNv|^RXy1N&I`m*!H(eL`p+OkVPm@ zlvz^U#72>6OU|DM963CCX;F-a{{9Hbv6W#5je$URQZTVGID^9v)K3NN4q^k%g@RW< zf_ITIu`z(wr9*nepj|?sIz)rcHnSK(PWE;oS$0m2j}BpuWO3 zQ22oMLV`?%tl?y0V*st5WMXjp|AA=-vjW6V!otSv%FK$!%zR9Uk!L1iUy`$Wvx7}7aYQ&wiQ;|i&Aa;gg9D&h*Q zbaJW;<*MQ0GICc{bzjG2?53*fX3Qm*;Xf%gb&`JujK0FS#W>N;EzuZ4{{PPaU604a z#!v@NEuax)(EcDHP>Bwi-ZuxWZx964HG%;}{^45g+C@crAr`-w6+VXe@Cz~){&~RY zEXdEu1S*YF{)aGKfUZ*m?V16Nwg@VlrW7&i6-DKNHq9_?0cRZs#HvVckX>MfphT}| zkvA)ER^Hzxm|~_ae;zO}GMN1jVR{DM0}R?(1X2mX%BG5Dc^!Ejd0{z!_aO8@EP;-# z!&m4F8w&Dizl0Rt0g z1OdEv09;mrW*-on2bAHf=?xgU+8`z6j~R?yU7*6U3*kJb9e=lgod?}f4Bnjq-eqa3 z2=7fGEm8+J@c5V*U;R79XcmuSD>GwE#y=e_+nJddEdGCBngzGRR8f=}X|@?Wtq5Dl zC&I?a!f19qsM3usi!ahGH6bP2GoC+-&9gRi!NNI=F&P>Era0F}1jT?h(IiL4wz`2V z1m#ymuGa(SS1=!3ib8h2f!b)GH6upF^&Dypa`Vmx3UWi2CP9c6DDX(=sj8R@8GAj``uYoG+BL3MK}AMmX3&l>@EAK2!w$b9JG&x3Myzyl_=mk zmz@c@be;khhtxMbpxw9d5=eka4O#*TGDw2g1A|7vL96lD!0RGmdntn$|cNH z4jT)TsHB6FBr^+3ayH`d=R1_G4Lb8j2fvJNjg7|&@U5skU*?Jnf#<{8c z_8FL%80^~tB6l!Fga>Na@$v9`8U%)?sjI50C#WkctAk1?&@f&XxFrobX+l&{@Dk&W zf7_TMGX4pG+D72BC|D4!2u49rGlEGb@1F-)o!_=?e>cHY8~x8<+QSsVAOKn`4QfZQ zptd8Jjr4@11i0Cm8MlXI{Bv_)RCvO|$tygAkwMhZEn`Z?KY{-YGiER{Fm^=Oh1-E* z9K0%pDT9d(wDtzeDj{A@P&k2RIJGDzmeLibp1oDlP>j zuI|!Z8~!G3*j3uirKG@BH7oCeVuB*Ld%>vAX!uMqLGc2p7stTJPyt>4q6?mRf%Yvx z)C?mlRVN*nDDDilNtOP^_6C}o zdJZK5*|B;iVw%!wS}|HGk{aR;78zywL8j{V0z3lV`sRUp42+N!%1jZUnNW}qKrI!} z)VMNpULFh2y?r2pDdOLZHB2IZS1@L*`TOSoe~2E?>JvskaG#IoE2!TKo$F;lpEc&i zHfs#^zs>(2;4uSX1_sb^D!&ih{&jj@iOx%lmhaDdO+nzbig}2DO(! zd!NB+1vFp92&%!E3Lt%K(5`LJp6xouPkH}df&9k!;hz8~q(CzwU_DR3r7L)?BbX0b z0SRqWLCgScg9q)qW^}m2q;`k#Lk1|hLVJ$j8FU`736Q>;9lWo`1MVFf{kLEO?a+~A zPzH^;v6{lmM6}ioGq`mFnx}#_Zj_Z79Ynkf?ClG@Me;#@9?AMCu z*eQ8Cik#Tt-ya{}>%U`%e{XzzzyA(K1;!PHNlx)5Ch<;5g`k`S?Q=7+F>-@jHlTVW zi75hf9)qGOs5OJw{0wU0Fn&?=F|01nbM@7BR?2(G&6Ah2Ws9{XHxHxW-xZ*8qvC%C z(>_Q)lhqW|TL58WL8h>ON_mW8c_A}qfL3^bgBfg}9RmZ?28eo4I)-7ptXWyJvS3OX zKY+(Q?EYskT>+PS3=p$ns*MGia{gY*YRYQLLb3pA2@}HtP>UH{4uH<50nMR779_!Y zS_|^Fq?MJWZP{XKX=%EJDdJdmTwHdBvA(`BXg?>YEKsgZ#hGzMc1ZC{u|XRKi>w`bGOgn!em(p{}w3KCO_eVx7Y?E?A};(Eco56IdXj1@)TRXCva50Di#ywadj z9kd_!7I>~6bZ!P{z7jTx2zCZ|U4W>vs4A=v0PPeozVpj8HO=$`lm8gW*HhwRNc8-xVJ|Fgk3| z)6&xW|DOT-+G=o{15{Fj+Z=36Jm8i7;93tX3R#QE175cYDOo(=C5s@qWC4W|=qwQe zyP?$?MHv~<_ir~dUiqhkxgGj4qiyxS!_c}1bj}brXq*&M_KLHbnloOw@%PvV*?*t6 zf%+FYIZPeGt1Al`7(qK2nWjO`3^G>*&zC8K&NP9q6lG@x%|(?lTG&{H`?^O87P161 z`i9iHMuh$Qz_{-3hjk~^BF)_c{XP9l9UM#jf;vr?apf>D!us%7)^ws&#b}m^iit5z z^{5GmX!2w(;7ar~@YD=;&B<{OkM{CO;xAzJZHWx3b@Q^ZcE9G5VP#Y3>*A$grDo%m zG~!VZ|2b;^bK$R5^>kNF>a~*jG!_+r%tTG=o_oNBgI!q;o}JV4Y`mwv~gnpRtLT zhPEcC8AkZqz!I|o1m5aN(QZRnDD(4-p7MmEOs&^8}a>+{X$`FUme18UrTTK|33 z3p6te($x(zGYixcaI5yWZ}ejn`uACYnZ>oj*T340QNX}UOUui^&{Ipx6M9YxsISZp znl@GjZ^~jS`**C4G3B2VlMqwN-#JXHxN<=GEBOBhrrFE}4BQNwpdL5!asYK`=>}R) z4mr*WwC4nr@y$)u)P%u>9b}UfV|i#|VrXb$;(5=O@Q7wlFB@x5&!+J3W)Dwm8?TbM zprAMqW<29$W#t6IO)hB`7HKZ_v3vsjX|8UW*4CMBu4()Ne6jy7+PZ`GySjl^2!ZMl zW&;Lr=rKaNpzO@b!s_5U666pwMo6m~D&zcZN5YQ;Dk%)iE1!lVF}p9AJ!V9aJx0rTgA`MVfPn6$v^=YjcG7_*tw!2J1O z{u#z>CM7U`0hs@Rv4lwm%wGuRpJmKpQUsf~h+zuI=ZqyxO3a$n@Hw+4Zl5zSG8i&2 zFzp4O8N0=t==L6|`fJWGznRjQyx{GbtgQ*&lhV^d=cw=nv+xP)C>nmJ1ohxHb3{ECWV z@BaHC^MZka_5Uvh2Bu5Qn&6WXjT!7fJ`E34C4mD4RQ`hcYpl53 z<)G!M?-kD+#;T{Jq^YK;tE;S`rKDoS7RHk7qwk@muArdG=!DJ5>(y+Oylkc96(ptP zyrd<>WkCU^XrU^v&%wcCl#Jwy|Nj{d|LC$T zNdc^84g&*Nz`Eu^MXvnsW>N!-%!i7c`QOc?1QuBU75VUg z3X=?2WFb`K?EfAnMXKq8>j|9=XT5~C+IQa__7p489GaG3ErlQ#2I@LUXN?FxAQ z2hwgvo(oo26=h{C4~vTn17UrAeSJLxgJ4FcfBzV-mt<#`fUuvZhleK!CvOPZ0P3-P zV0^%&!Q2C$8AHk|A0YXF@c|;0gH&H*e88l@JQXzmE{roby}+J%m=dsL69z_x3yjy9 zRG6nSfaaY^NS{nfgwr8YG~Of!Y8UKce88l|+{3^Hnn7YjOY@A+;OV#rDS0w7Tw%P< zq{iF>+FL2CD5?l+yMV@d5o_7Og+9CTBSx!#zm&N6G{jtkV|-m>*~2(=Um&100=$T+GEJHIx+8gh0n*GMr(&&ZNZL15I6!)tlz##_UM#6?K$)-_Q?M ztMIXdY8BshP>lk@jMvqiw2*2QEhn`p^6KjH3TkSgI0dBu8Ri}aPz!}wSs2uSW0F}B zeeOG>4ztj|bBx8JehkbEXBlrWDT33WDyTF@Yn?z6BdFMb1c9lE8K`9sH6h&Ltd?<0ip94lNCZEXtmidrW$6@>5$qC464eeCUz{QkQOImoRN=3lpWa} zlXDb}t&J5`?bRJa_zL)^6nPdpDw$fFDw#lC_e{XV-B?r0OkKf9&egu8#yZ)~!plfq z!(8hdlA9Td{%bKcF(oj_gUcvmQ4u~C@K_Y+v{zUI*p9{29N8z)2)jdhvDwX70<&D+ zSkBeHxYjzw7Tt1C8elYHyv6vA3A7J{fzgVAkzqZI>6TbQ`ch~MJhZ`Gdy8X^@UjG6*JRh^$0FrIaDJIiPw>`;`ZFUQF9?~Appep(Tz z?Pb6KIo%4>_TmP`DyX%g$gC{Pswk?+t|+R=*fKY2E~EL}sJZ{*K?6Z%AOg~M1088{ zBH=;;s2pngAI6je-t7cwBB zz&Rxayk~}i2{e-F#;C)zf^h;98{;eRI3x<6fsp~qXJCf(LEV^={?22Zkix*opuwoa zbc}HVOh$ug-rpp~2`QkN5_B{FXECk#e~yVAWXC@{u!=aQ6^w_#wi==EcQJtY8jNvF z$H4Nt8H^Yh8J_)5V2WU#0S-Ix9Im)1=(I93Gjpbh#^&b6s-?lfORJboH12KMbXPM) zy64{X>Gyi1L8s9EPhjGJ=oB^u&1JE%u|wA6PJ?J_Y;I;Yf$K=oyt`@BJq9L*6aO=q z%9tlGh=Nlz*iKMmSX3FJ8B}}=ih>WYGBr_CH#LTIIz>gqn935vMSSh+LVQH}rcCJ* z@d>H3_Z10eHet86P;t_+isa`q;jy<=wO7i{VE$tg!_}k| z0EcY};{%8qVbHP#V?pIl88jEk$i~JF*$QfAE{;@ksN)c4YE-x9Ha8QL6Nc3q zmFNP@0W!&^TWsxhBK)M_^~f45Vj!0?{$NUBPJptaVX6=_1CXk zxAtASv~8Qojg}i#du;bu&MKLe+v?Z~N;xQc8O24}P0dBs)uA+FBwR032D)ZOhF=UO zj9IUmzuL^Zx&5IKX&{Ne{F`kMUAF0|Oi5rApA?jwRzM z#;wru%a~c2(XvJ)ggM|}6{zgm^524~j5z>&BBCg0loZs^MB2Qm4B6SuRA%GsdE!KF zs)mMvNl#Bx1#>`#os~q!KaK3t3_B~v8yOPWrJzu-`mez>kJ$h+QiQa32XZzJq%t)& z5;q1nK_TM~phc_5n`Ic66fBAeotInNo+Bsg>=P2=<18!Z>s`^*QKRB3E9)x;+CQqN zrFEnB`GN({Yp3=6lTtG3Z*A>2ijKW{^wcdOp*Ue-#<1Y%n4qAT=wOg9LHptlFdHyf zf#(I)Oik=qA)`{D+EScRnGsT|K^9l=v4TWFYgNpR`Is3koHA@QoC5rvG&EIIwFP8F z8N*utU6xW8H3+vf57bq6@bz<0mormwPqY=x+{J~0Kw{Yx+mH7kk}F$*gM3047{nH5xfu{RF*=H1vD22rvec%V`Fi4aOnpc z&{Jpp$LVZtV5gy8;umRW-pk?;5a7Vl&8DGgmh7Ba#rCfUuQXGVp{bUVj3%$DWWKvq zl9U#UyScf$j+m6Ywt28#cJkjTAbD90u)K95Twc;$2P_Ys?Ga(x#LNTUS7*w=pbF`C zfV==27GOi}ZK{G>KB(srfSdc~jOB@aK0bYkNxeQky-9iH<#~DK<&69+!7hOjQ9<58 z%n{5g3aT3F%Cbt#A~CDV%2vfd$gr8cy)!}hn@@ONYFb`&sHV1^m8G4k5(5J(!$ihb zrdVcQ1}^ZLTUGEFDWoZ`tSqW*Zfs;~qO2^gZY<7@>1z0xE-1}0O6O{tm}qJ{IjPIZ zsk<7xnG`u>+S+D1IA++|W;h!7>gxI$==0H5&74(=NZDud1#1ua(+H#RpGR5mqNW>;2M78hNT#VC_Ct5AYd zGS`inQzAfulbLY`ql$~mzdMW>D_8!TF`;Mm>YfQ86Av<;VA5qaU;ypl1FgUWkFrAY z4tQ54s-Mb@gAELVjg5m04TFruRmH?q#la-w34#WBbH>tihX zdkaK@+}ZyB4O2R^33$AT0c?t?q9~(d&c9oX4@8(f{_J4lNdUF?k=1cCfK{r3RDv)> z^*;rujynknj0On_pnB5-d~&!U122OtgC=NX5ADQa%(#XZIqas!q8=xLK<6U|aj`IN z)-aZkFxG&Of;>Eef;>F_`QsBSLK45G`e;w>%Xt-$1e2Fp;(LPc{01#?A3 zGet$S&QQxxM)Oe1&``@z%O03AkYZiSP)j3_8kpjjp_ZZl!olh-LoGq!5b=Kw(<Ss3hs`nnp9SNge|C(A1TLRFd)c`* zA}|`X_AJ07u+)xGEhc773@ERFP9j>zY`~zyV8CDksq573m_W;*FuJ5{Y@k(9&>9$Y zk{HYZO+giojEw3bPB~U4Ds~!58DXiW`G2(+Z}3 za4#AZ7NF&{qROI-uK)k1{Qs{DB2xaN^$<-JMctT^79G1Xc%{g*IkX2Jc%0g~;Qye}~e% zA$piL{f%H;2h+#MP{AO}RK_$P)ax-fRW(&LWfiReC-;A{g{Qer7rt2q@fTc`s;a4~ zD61$dQ`tWz#($uEA^T?48<1KCCI&YKE~XVsn;<7#sv?CUIA$Q>_-`&#(t_(L*RQ8s zpO%sWn!^fU$YPqu6vU*?_?dx$p^_R1;v4AZPlPSP|PtzF|A;n1=n;_{K8ZKUKHkFJ($9veE{ILHuQ25(2{4+=}DjxP*ho%F~layD9YQ-%{woTPde=1`#df# z0h=5TIsfo*f5xc4D~#locQ7mbTQ=+86;OKyv^Eu#i$Eh`(hTb0Gnh>oMd2%Q(N1n> zMCv1oD}kn2A-UIxscW@wNQf^8%PA_#$tf!Sdj;ZvFjSx^k#Tq8-_7w65%D0LpsS^& z3&KnfKwJ=p3xRIi68Zmu=@xheFXY@AV+MQBYI<{1M$n0CkR~6R>mY6c^=w4MP{sn0 z#^aD%k48*g{}wuXc{#gydRj?IOG`;fOMipXDp2u%Ql5UGQ-}OKp%Oo%8NH+bu89f` zjsoEXbv5uY+n}Si!8idV3c`%fKqLsm)qv8T8$&$P3Z{chY>Y3#<1lWFsN*yh3=^5k znEIL67+*u=88VnwFzo>6S0iYC&4A`t(2P_R!zHFEOnyvkjBml}qZn+MrZ7EWVq<&< z=2tNIGnFx2WMX4{4<6@%@SQoB)P7O!Jsppm}C90~_OK zhK-=LeT=e9^O%^KKzt(xHpm?S;1vXrc+&>0&w$s4q9San!p6+1NXHByrzuv@h#gY8 zViNQZ3i1yK4E+0Ze)vqrC-hf(FjT+M}rd8m(;22av z0~4l;WG6Vu0+Wg>>7H=On&BcS^%|Oz%P78VzDIFfz(BZDBkQ9+?95hv4N9V>xW!^A=6$ zxmKX^{XWws#*@q*puP?0=s?DkpuL2frZF%wsxob2;)lwBj-^xu?Q`D**<*Z^X%iD@ z7c*!yn*nraC1|(uQP}R}P2jD_j0`DE9Sr{DLQ!$OdTgc_adEQ+Qg*7>;cN- z!qENbr(nAPH-R^sGcq8lVT9gL#-svO#Owi9^#4CBw3*nzYxkKLzB0{W{K;Gd2}j&J z@<6+PK^V3Jcn)Z*F9;*H`!X`@X4=GL4Bo5FAPlNw!R>cwY=T!??S^jMMcc)@31!PJ zBg0vy3rvd4TA(lnwO7tEhA>@-0-ZR(Xvj2$@i21`12<^b7joW3Is%We67_65W+u?N zbs&s#b{(Vqe-6g;|Ccbqc0)2TYX4_r-249s#B}5mgWb%`6f)<=&RB{tU0GFJbQQ>8 z5QZ6UC(FRd@Z!G);~xeQkSkSv)JvB5Wbf(G%J6s=qgwdS$uD9EeGNO178^GMw=(Np$UnkDb2qGT;6A;SdP zTK@k(!vaPx#xy22(0s`M9>yRBW=3YFBF6vVGz8wAgqn&#r^JYgn1XUdxw);axrL35 zg@J*ALq!}@5olus2pdUANJ!KK1^xfepuuRw@Q(2v*mMy_tN;JuIh~COe0mc+zp{Z^ zx(tjASD9>>B%!&+SXlY$ge@7&0sr3o{}0cR;C;6L|1-dHAsZ9q)FoJsVPgXAl_fC; zF@ST>|NrnD#0EZ#pOIlP(K{r?Zo z1>n=5{{M%kDK;h<(5w?YWw0^Hg8678;-LGj7#Ns#fmT|9_Dq8K|1s~oVrD>$Kd^&V zF@pB5GMgHU5*mdFz%vfPKC*Do&*`%nY}GXtWp&kky#!t5lm#~(mcpPyMQFYixV zULH~1e$c)qCKCof26hI}YAeufy9{u^43cG#VlZKFVDMomVyI*2Vpzqnjo}c(Ifh#d z&lp)51sR(-Ni)OlO&HGCgJb$gIe0 z%AC$z%)F6#5AzA;`^cVX?2`4B|H8?&4wM^Tk(* zZxuf%{#!y(!dD_vB1Ix!qFQ3U#7Rj8Ndw7Z$>ow4rI@62q;jP;NPUuKl~$KFlD3uh zkS>&-B)v=esPqNt+cKOoA~Nza7BbE{Z#jax8K@aw2jva{6-Sa`tlWa`|%Aa{J_t$vu<%BQGqkFCQXbBfnVwssg(L zzk;+vf{Fbncua|1Nl{5h$xSI;satSXi&c`B7EEh-09UaNdlWmM%+6<2jt zjaBVbJ+1muO+hV2tx#>h+8=dRbv|`*bp>@zbt83abr*GC^(OT$^-1cp)EB9*Qs1P$ zOZ|}gDfRyv{2GxOQ#F2QGHP;Z3Tw(}s%q+Knrk{}dTQ2buF*WK`BqCu%U!ENYpvD+ zZ4PZ)I1JXV(r(k9qIEIW@Tn|W?g2J%wC$Cn+KU^o41(HH(zdk z$o#GalZB*(nuUplyG4jannk5Wqs4NI(-t=@{#mkH>R1L^mRQcRTx@yL@{;8(%SV>) zEx%j-w_>-FvQo0rvhuSEvx>7yv&y$Bw`#K5W6cHL$pdO}GFV95kcj8E`O3h|`~p-K z-G2UlDu}-Sq^02hlmBeYb}SB{y=M$eAW;Sergsb}Oz#*hNW}b1?-)S1iRm3f2o?-7 zQv+%?jGo5yj)53#!}N|}71KKgFDw{jt_ajz5IX>g4dUa%Aax)Nvwt7cI|g(N@&`yw z4AVOXB>evg5+CF?Vll|yJxuQyKp3Q_hUpyxGLB$+#}L8vjxiWQgV=Bk@&`x{HXOzD zj)4>midzY$cMRy*l<6IVHXfYE^o{`?gTjXt46_qtP7>2Q26XJe^o{{!o*C0S1`r#B zL4GF&2SLLY6mRIbg6SQD9Md}n5Ivje9RofbjwYYW^o{|B*D$?f0O4g&yFhUX!=N|- zu|e(!*@KL^pmu}AK=Q<5J)|(l78WH;?-)v$-Z6$kXb>BYL1By@4lsTW(>n%Iup84m z21P8`kLewQ2OiwQ^o{`?KW2Kza0yzzfXWLHhUGm_9)aaaA*Oc>Ab-K~9!MON*Fj+i zN)MpC0HQ%*4)Pa>4{|36t1!J|0HtS`T2Pt?r74hFkeC6qi~@;+%m85{rgscFNa7&- zKxTo|gK!tr-5|Gv)PnSYFf3hx!W)D^X#?aIkegufT?dUvP8c?|cQh%7~9m5Bv zcMR8<-Z5NYddIMf=^eurrgscypyFqtY+}_JGQDE}rEe~#cmIDey<;F&AF=8{brKS0 z6k&SD$j0;zMl%>OyTF7O3$H)b73%oo5`5%N2Fuh~6WO~Q2h3OrG71KKgP}u}Z z59QE!od^{_$n=iU1A-aancjghC@w*94oVN8IsxP!P~Hcn1yKBg%4nEdL25v3P}u{* zAU+6##6WQk!XP#%{ei?mW`Ob#NDPEQVjvo%7lc845C(~X^nx%bU4bwtKY{eZXb@Y3 zfq~&50|RK+KchSY1H*j=21Zo|1_sbM=qU^g;8VvzCyayCd}Ux@*v-JeaF&6A(U5@w zq@EFUfA$Lo21Y3c2FAq<44|FCjLZxS3?M%*VU%aM%Bae4l;IS^DTad#Ul|rNoMm{y zD8tYiFf~>{7qrD1NXBajTtb>q|Cs=^p0@?0~_d!1SXIk zZzj-53Ji>K3`UHgJ*3|k+X_{G4$ z0J_zPfhhvC(T70+G|~iaJ%QXU!T{;#i7>FRfzEMT$I!sQ#-PWb&tS<=$H>ko%qY#M z%&5(1%;>@B%NWgA$Joy}iE%FDImYLV|CywjjG4@tBAJSq_Ani1y35SM%)!jVEX1tL ztii&_!otGN!p9=YqRe8-;>_aD637z563!CGGLdC9%SD#!ET83g|XXStsW%nE`EA_`IpatcZcY6=DlRthc(1qzi4oeFCdwkYgX6jM}EoUA0I z9$Gv!e5m>0)Po%i4EJx`Uv<9^ zoL<*~@&#iMlLC_wlMRy_Qvg#GQyo(a6X+xZ(6s?qn65G1V0y#^Zm&bkWqQE$is=*6 zHwX_#GQDA7VEV$qzzoWTU_oXjW))^NW({U7W*ufdW&>s;W)o&R1_ow3W(Q_BW)EgB zW*?A3W-n$x<{%IY8wTkBiGygyWsGYXFEVane9ZWr@hamb#)FK97&kM%WL(L(gK-7p zR>oC~s~JBqzGZyRxSkPo4g^1g0D~xl6oV>*8iO{29)l%=HG?gKGlL6*H$yl>BtsNK z977sI4nqY)B|{xUJwqGgQO0eI#~8md?qyP8=w_J7FpFV6!xDz|3>z4>GVEYD!f>47 z6vG9Eiwrjyo-jOPc+T*e;WNWeMpi~PMs7wPMq$RojCUB1Fn(rS&bW^8A>(t#M~p8R z?}GNKFy3I4U_8tCg>fh2O(q@2+l(I>=P=G?Qf2(cc#Ux*lP=?IMoGqVjD3u~jQxxo z7}yz@7+4v27}yxN7mW2%*en{%E-h}&B(#f$jHag#L&(t!qCYm#?Zki%D}?V$DqLg znwg)yk%h6!T7&*14}O`JIOKTfoca9 zP6h^sHQ?Pbj4YfCj0{E$YoOvx415gtploJ_5QaBUHVcCjqXU%9${@wq1ZA@^*fGw5 zvN;%}7;iz@oD33-U!ZJm1_LG@D4U1Dg~Qf63jQCY(WMM z<_}P|B!d`>1cc4Vz`(iS&ft7m$xy_Q$&k*F!BE1Wz+l8+0LBUoAq*J|sSFAXz6^;BMGPejnGA^x zd0>7%Lmopug91YULlHwhLl#3SLo!&eBSR@e2}1@$K0^^hF@pkw2H4CJh609S1}g@A z27QKfhD@-EQidc3J%(h4e1=>GeTGzqGKNfs9EMyJn~E9q!6gUCE=@eH2xdrS$Ysc6 zaAl}qC;+=Lg&~z8g&~L`l_8y>lpzOfsv(0Og8>*?Gx#z1Gx#yMGFYRT>dOG}nJxoy zX5tPRT>2HzTouNU3J$AGu+0h#2v?$-O{&XWp&^PMd&LYv;4p{8WH3VpLn1ir@-Siw zSDe6N4U}4tW445$92~bLU?0I$>4Q@UC|>gziji!KXGmqp1E;V|a7u9l`yZ74f*JA| z(ilLdfl?hP{XtaZFk~_$gLM^yV^@Kplp&7+6w^fv3g9#aQX977Fz~IkN09LEO zfH2ty#RMG&1qN)P4~hXu+Q(+E0s}-ek)ezs5u9cd8Il-s!1)B?{|p8NhC~LCy^ail zV0HW8JhaE4TPIT6l~$&dmLbxdn%AQO>G1keggP#weYe-48Y zxRnX!AqXZD1_lNdhLem;jLZzj8Il;*GO{qTG9)vyF|1>lzzCYXQ)Bqc@Sh=tk%K{< z;Uyy{BNrn#g9bw?BM-v~hEt5Z45u0S82K3m7zG(L8MGLFFbXjWGm0>1Gm0{bG3YRg zGn`>K%W#h27o!Bjc}7W4ea)cDD8rz~D9fPFC4jLM8EjH(Q2jA{%< z;I>^lqdLQ7Mh!+yhKY5_%Wt2rZf11+ay_x*$j^v0vG}ra~N|O z^BD6PDi{kGf*2|psu^k+3mK{yix`U;7BZGF)G};j2xfT45W*13Sjt$&Sk4f}SixAy z@RZ>XV-;gHLnlKxV+~_1V;y5XBdAqc$Jofwz|hFp#8A)J%-F)%%Gk!(4r+xnb})7_ zb}@D{L^H%NykYEN*u~h(*vHt<5X(4$;W^_(#z_ow8RjugW}Lz}m2n#5bjBHsGZ|+w z&IYxh8Rs$1XI#LzkZ}>?V#XzmOBt6jE@xc9xDwnKSi`uMaUJ7&#tn=c88xR-Gs<9@~i;GV=`#v_bJ8ILg@XFLIJLxEaTXBp2io@czk zc#-iE<7LJxj8_@2F}P(gD`^#gD8U- zgE)f(gCv6#gEWH-<8#Irj4v5qF}`Me!}yl*9pih(4~!ofKQVr0{KEK^@f+iJ#vhD7 z8GkYCVfe!EmEjxXZ^l22e;NNV{%2xfVq{`sVrF7tVuiHjm^hiZn7EmEn0T4^KGqf^HW8h&uyC>8{ zPl$F0$ z<7jT-1fmU$3@t#kp{tn@gtl~L2}w#UVhcgi3XwA~GIWHfF>_`Mg~ybktE&lbD2j_h zAueJMg@gxdC@9|8LcyWJ77lgX<}`W4IDQjsa_C zPfP{VT*+`l*izu$Hgq*`VM_&bxl-W@*i)g#r9zB@*y`j0q795pE!on+I>1~*BV(>~ zxK5S~MCvi+%+$-tPtFMm@&>6ibai%O%FJTVgqocRF`F$D9AY3921dr_ko07RoSw{i zveS!FQ}c2X^HMUC*>b?%Vaq{sg0VA84k&TuL8S7Kq)f~pCYu{Er@|AL3vWJ3ROUmR z#GQ|nxQZZV6(N~rYR*;+76lpUXl?6AiklinK4TVC{dLlX)!Yf$r%_Kf)k>l ztC3ULX0DI{=MOF{9-RtgRxwsNrL+~tUL!&webROR3l#9fJy zWUB-VK^$NVc8H;?n_FoA@Mfr%j`Buxw< zDa^#s6{^n-LK{JyWCV4R5!6XWP$wHe)f++GV+3`N5!8MosC$f{?l1z!n1P8A)LtWS z>=>9BfwR7Wi2=+UsCx{c`VGukB1@AiSt1i*A>atr;R1D`3sj{W)P=@Sabu{KS9GCyb$1QW+fspp*mflE^~p}=w{4Wm0Faqmy(yC%aNa#3SpF#LqxbrGKx|mVw`FDrA1&_ z&a})jh!{t4W(8P?t2nhRH4nl}%}mcI0W&%CGNA@S?8qz4EdtvCW`OJfF`#yUm=HT4 zERY=_7T69D18N7D39$pjgxCRMfs(V4frSB-2K&>qPcJ#K7}9Pra0ExDk%6HhcSdDFMk+*(J2fvQ zu{Z;)jyp9M&IWte(9n#MUx!mAtAUQub30jsI8-Sz1z}Uc?6I^hE%C%E1~(hUxD17kxYo|OEOq|}`Ja)czb zkTixCn#M*JoS?Ryv5|#ds#rm4QD%M$C_GY&Qd7Xyy0c@55U6&7yAbRxY3wS&a$qkQ zIXO#!%r!A|)N=}QboO=)(JMQH4>Bfss**QJaC0QJ2w>fsxUQ(UyUc(Sgy0fsxUj(Sv~z+#6?P z^kejAU}Owo3}s+s3}*~yUXcf<|jcXJAjThvteLh1YIMU#=yW>!@$5e ziGhI;bW1qs2#prd{L=x31EA=HVh0A$;yfsafq?-ci%c>wfYd-lz%FNGU=#uE*JNN| zWMEpoVJia%XigC{B=kn=i^w;wA8fz4SpIN*HTKoi;^dDhij-?qX8JWMH|a@b4MVKk!sIGsqkUmes#mw=gnp z{RT0L1>^vb#J5LtM7Tu2ni(0GL1Xz0Obm^nFyn$)0aMBH>CFR{Z!B9u&SC&N5Tu^v zkr5ZyJ2@^cu;n1NObpBnEML~~{pH#731l8fEhES#29`hbe*9uu&BV#I|JxVP>U7Y) zOHinQblg$+_wUyunTBs%&)(eRV|*sFmYewn&%b}a-uzf8!um#V$zQHdEbI7KKC>?2 z`}^h3bhhtb{w?NX{lc_FfbH9t)jaIq{%m4n`SD`|8^^C7YgjmbvF%`D`SYQbiT%%? zHEdk}KOXtP#>lvp@js)`j(^{nzHIu(#l*LZ?H3E%&c9#TIQISd!SSKz3m3FzviC8C$9gc_Y|3b{jYl@_l@g+*&Cs6uyvs# z3`z`K3@i+440;S!3@!{zE^a;{3_3Z9C3y@w3{1I+McE8yx!Jkd40h0vcY@MxpxbU4 z*cd>k5xIfaje=MnU`K(LP=MCFgJO&sw5tH>DnoGV36k*FAL8Ho@We<3|vgSpphIVK~Rncjm|JhFiC=PAX+|` zWnc%F68zv&LIAWoo97t=1J5M}1~3g`J>HZHu5fsrQ;j+uDQ zF);HSVqoSu!NA18%fQG0Dw8Z3tQdG0Y#E#w_!!a{vKd4eDj8}Sq!@NE>}QZ?ILL5} zL7m|g!+8c>Mo>9y%qYbu#bCjx$Ee3($>_-F$Y2E?bp)L{qssuQCm6u>1RuDbPy*Kz z>fm}pg8@`eXoBkr8*n}02d*bV8PXWa86v^9W`k>s0tV20eHXa4n82`sVGF}tuxl1E z9Ar4bunO#&P2f6X2e{5S1+FtLfa{Da;5y?f*sV{&b;c{Oi@$;EjPKw&<0rVz_|2%r zsKxM)QJ2wx;XkO(U}R==V02+*2h|yjJd9q9-i&;pI)hPwF@!OMQ3zCLFbad}3`P-9 zoxvyusxug+Ks5xT9OGlg$Bgoz8iG*)RPHk>GT8FS@yIbS@W^rNfk+4&o#eJa7lG+Q zh%+#7JAq1UZtzMA?gTJ93`|1U7$gG&4=87%kla}y9WZh3I_^mf4BU0xC14W529X^g zaUKyK5e5br$vp?bMivLLxtD=Rm`Vhjfq{Di$UZ2!3(N-H&cVQa1c?n1IR_KregjI9 z+;6xaF)+Z`V3BVi5)v{XwLDx9HnP2pN?hwWUHB>(7|?0%TM%&=&F2Q;!_;vfL*s9P z@VR011qh#O2d4|jcCJGZnlFk^1I#~zO7lhWrGUiY@~^laFfefaJNh0|(qz5&R6FmW!>`XL5rxCJmUfWrxi z28UMwLY`|Kry3uUJUIN2aNJ}xYD z5_WN@dACq$u63L;AcH~i38F#vgJ>8ZMDyL@;{y8&i3a=Y4#<8^HEi-=e?jD3P~<`W zLlWm&$6W@pkNXxX&9#mjbS@qP{}O(12y=I#()>%fr-1bFFX5gCrB{Gxkb5Ei2l*4? zZe%{hzYurB#JTrC;tfQD^n+-Se?c_JpCB3(Zy*{b4yTWCx`4#t`ZhuMpm2nVBiseC z2gC=N3!*{#kZF*)AU=$Sse|!B;R=?&0P-IsU4i@ok;m#^HIO{tDt<5i5C#VBcMuw# z4-@Bp0+EOFe?a&!^*l@vJ`WF+7K6~7^C0fwY=F@G6Zk4B;ALZA;1$56dG3M4d0y~*VqoC;1CvJ&e^@+l&V%G{xO@&Ie&GChoS^*q45Xg# z4j+OpgNn}s=Wm2~15`W$N~7z~fr#_!@v4CQ!7GJE>+xEE#j|+9H8QUg8lA-puAOL@Zx(L}NImB~-Z};bzGp~u2b4bvO3#7P8+dmyFmN{TLg;x=8pbb!^5^j`Ls18l zkATZV^d~|2IZzsw&S5k(y>phKhAZC({x*=i`D;*V-Xm!Ia}Yl74G0a17f3vS{R1{1 zcl1K;;Igz6RNWjA8W~tiFTQPkeb0Rj_<p5%l7rdTb2R5IJ54w7lPY$9U zCeLTYX9E%e>kD9D0F_IidJJA)=RxXuz9vZh$+rNcnt=gUZa{bl5|(e_`S=7xj_(qL z289DCJ;KTfSa|aNf`k)HoS%gsTrtA(AuM0Q%NYkq`NSUwDF@*30WF_k^$W;fAe;Gj zfJo4KK*sX_8f=Hy_AoFrmj7pC+rhRB%;I2M$F_)pnQ=N(1luaMZ4Ate;Y<;1%h=X{ zWEmLPKw}Tgj8)7*Z1dPwfy9`#*lHkpnTyzp*d~C*JlHbWW`J3WY;kN;z$_285Qr>O z1e+II4+Aq}6;lLT1X~bDmMMbGj1Ang1C6pUFffA5xxm21mH~F_bQS?N8MZqh*RTk% zNw8gFU}mymR$vPN$uh;T2(bCE?PFkOlwuKJ^I+S;z|8QAS%D4I!eM4C_^-h>i}eZv zGvg8#0X8$XX$;Jaeas4Mpp`4kjCm{qY49tuz%nEE;AoCbEF?+D7u|8p7W-Ma% zU{hkf#lXz?fGL7aj&&IWGZO=|2b&b@F$QMFH7pKnVr*^<%#2aY0c=8Gy*j4I4 z#vT>{)*jXp5bHl1YZD7dT@SMYYX#W69tH+hP(EX3Y-Cno1@#%28N2_pvEBf!t7P2# zpN%yJwDOX1GXn!FXuUTxV>bf>E9kaCh&mS*kl$KZ1lUwq1wirtUxQ5ww4Rf(>OUKs z0E-G(jDwAhMFA8BELJQ^tP%{&jL#XkSV8%gnX#Pt6AK?$Z#jzq3kxd`Se*d#FBXvN zOPCc|m$9fZFf*1gd$7)7Q3A8HSSPWtfmubY9iSDaj3q2qtaU6bU@;HY66SZ{6yX7t zZD96bEn`rm>D5^9r}Jy?X8L8)%ie-0K7&{KK%-aS_y93LZed)(1nO-uGj=n3FoRb6Gc)QkFfc>X zS~pV!^F5{=49twW|Jj&tF@gM6&+Nf`jR}KPcAA!)7tzXtOmrV0jT#`^zk%sZHp zKrE&R=5&+V0H7DUozcbx&+F33=B-5el5fls9RVBn2s_20;Nf&2&M;&HlS3; z6v6a@(Fnw1R%E)z=)=Iwn8Osow1iO(#9~%tn#FX4fthJB0~gaYupQ-$It=faK)JSx zDS~Me!#4&{S*^&lf@ux|Gh+f%1XC5mBM^&$fe8|(lb975I~YDOFoQ>jLHAoTGxalY zfp;!3Gxq)0U@Bq&mE2odyO{$q6=xg#qFop#}y9 zF0cqcgG>Vh0|x`hRZLJ>P-w72-NVuV8ixkSa)U*XmF@VBmqO2Zb#^1AhYpgCN)?Y*2A&un5Qvj8GBz2GDIB zAiJ0tK;rxivS2kJ5q<`ce+9uRIl&|gnB->=2fK$COiF;`7c^#A0g8RjGU%xBAJC{V zBLjmjqYk49lN6&3qYdL9Mi)jGMj!An(gM%Fse z_%#C~OAmz43>qB=o!Wj2lv5ZOnX@3`j2EEvIVgPwN}qz#pqV)a21e#0$QV5{=td3( z21b@IPL%Z*#3WG zU}Qc58s}%;2b#ZSz5-_N0L||({{chnYV_;<7z)--z$ozmo2W%@p*q5L=Fqo~J z7%sz9!$pJ|ZX(q15TS;b2sL~}sNp910z!tIES!-W;vM(7#KklWMC0?ut*96BNHg~f#%Evz#Rz)My3R?$)FifM#d=&APmYWpi-ZifsqL` zL*4{VE1-G_Jh98f#=ykH#{^m*01{(ln#I7wq{d{xWX0sd?2$P~uF z$OyVyhJgVzKg|eQ6~OR?fr;S@n8m;#%fQUQ#Mr|KnwY-FzzC)p7~~k3n8X+a7`H=L zjsIl)g|bo`v`(9giJO6mNrXWNrz*&LZqOQTP}~VIXfR4JSTRa6Br{|&N-*qYIL0W+ z@PXkwXe~Wx9X(97YjoYLngy}hHv1RYfFYB zpxIE+zF4q{EDVec-VEIgHy9WhSQu;=)fgW#J_gyrqzEDzL3InLJnshU_GY*NHoJnc z5o|US$Q+P)Oj1lTOtK72O!8n?u`q#Vl^GeggBAtA=R+kKSQ%ItD;S#?Cos-pU}3Ce zY-XIuIGcfmv5K*UaT4Pk1{TI@##YA3jB^=S7;6~Y7^g7KV_;#dWo&1h$~d2ag|UvY zgK-+;0tObwdd5!1>5K~*SQr}^yBKFME@EI|Y-H?aoXNNtWG4e7Ll@{&07iQTQ0`-9 z1cwIWM#hZ{T#VltzcX-yR=6;(V%!1VQ-Hq8{}bb9CUz#!-bx{yYQQ@IK&rsusKLO< zV9DSO4(o1ksN4XBIb#!I*92_G1mh~ktvKvOGL!KE12e-7@W=@x11KjLfO7*V*Mf4~ zE)*W9CTC;-kqiv#42%r6ptu8*3=ANbLFz|v>y<$atWyX~GJIpM2foe{Oo>6kdhX5m104_ZkLH!>F zP&xy(&{P8&1?id&txf#O2{R_~2d^`-G`B-oYW#nZj0E>f+V}go<*vt%|(OX84ZblYH9Zkr7;}gWL-`fFD$^g4_jSvoJ7#-34N^f=5poz~-?rFo4|z5@%;% z0J{mq=3rm|y9vbRgpPQC%muj%)W7Bct?{}VdUMvR)t`+)$x?uUZ=nK%yqE!lem7_h z7y~m%1xNO*`!j!K5n{Q;@|9JPwUPBNTR+=kw!LgW*~Qqq*q5^(VSm73#SzX?#L>@b%~`}{ z&K1IK%^k*F#Jz?4KaUtsAkSu=Q#=oOe(>`0s_+)^cJeOf-Nk3h7sNN2Zw22KzK{Hz z{3`q^{2BZg1hfPk1@;SE7EBea5fTuZA+%oTn9yCJFTy>-i-mWIgotE|G>JBdF^NqQ zHxWN7en(=0#B#~$l3OINNxhI}mX?#Ymi{KAA`>gKU*?v~J6TrQGTC0)C9=C^FUh`? z%aUu9n<2MZ?v&g^c`^BV`8o2Nd^a>2~Z%-`(1d5n3nd5`%)^E>8WEO;zb zEu1W-TE4oe+&I-GUPcC2@t?DX1sii?fQQ`aijiEh4b8SXyrY3>~!y&lUw z4tm`2Jmlr-b;awwH@mmIx0UxEA75V<-<5td{UiKe1hfZA1u+EO3%(G-8B!9`AF?=P zd#FL^oG|$?tFX|pf^f!gnQ-&)y6{O6oDp&nrjcBcosn~+bfX-ja-tSS+eHUO=f^O{ zh{oi{w8hMdRfsi-^@xp$?T(!vyE*oFoNZiayia^W{Fwx<1gC_Fi4uwZNwP^dlcy!G zNR2*4cQX*86 zR?1z*SC&w2Siw=@T3KA>Ruxs1SJhNCt!h=(zN$-A&#Hb^@2Wmm{iym|4Ofj^jZuwT zO;k-@tzNBXol)Jj2FV892FHfbhRlZAhKUVJ8+JCFZR~B5Zc1tT(tNu`z2$Q2gx2G2 zr`o&PC$-ONU(~*;{bxsO$AXTXo#~xNyVSbHdboO&dlGs+_L}sD^p^DY_b%?;-g~R} zPoF@aTAx*)Utdz+>3)L=N)!1f8cqzJm_D&-Qro1Jlg%dkPu?*_aZ1vZ#Z&f8xjQv$ zTF3N*Gq`3>pS5$g;q2{mIOfRCF`pARXTse2c~GNtuAI1X?aG5IudaN#N@tbBs)$uN zt2@`Utl72Z+ghEqX=|(2ZdvmILXTW`KTXnp7U1M4qsu-dS1!`+Sk8)njYo*3zwA+k&=- zfmW)5+9RL|W(NjPxpaV`ft5jmfsX-n#swpTqylJ+j)eiVhL1~5?$IL#`S;Q|2I&a)yBoe_3ax7adCZX?gKNvfrP$sHTQvS zl3-wBkYHd0-G|H|#=ycL!NAPGtz>=lp2mOXI|>RZCf1wm;SG0-@5hV^XJXY3=aRZ8e7;nI6w=q8Jn5^ z{$*xvW`^qe^M~O-Bjf*OZZ`IxzrHXraXow}E8E<{cI+5LH6#Ss6+opjWHf@60W?|w zIx&io;R^##YXifZ<_5-}U|U)n82Fl78yNmJw}SlxTH^_7m4i-|Vgip&Ff+6^Fz|rX zylHL%Ijj`~Ahv)`)CaX3K{cZi0}F!+12cm#vhSZ?(~`XNN=&7>g%27EJU@Q$@Vt7( z(=3b}8YW8j&ioO5&C=Y$2MraDSFboY-o4{MgbqJ6bo!PZxpQIt?pa{>!$YZsk(09p z5>nitkov~+g-eL}@4My}HfV^oF#h}3B8(hrf4*_C{Ql3#iU_?H#$Uf$Abuk)BuG=O zz`(?yz`)1=8cC93U;+13`H{ozk-Wmi<`yn!n1O<;!g36u^|LgvPa27Mjh$aT6MuvZl+<&D0u(2|*e`EN@@QwNZ|9}6Q z82&XfGBI#-F))E0#mvOS#Pvtu&lfJ%*WbQ<`_{n3#Pp?!`5y}l6F6Uk#u-7qcrFD7 z1~vs224)3jP!shV0}sO^hBpiijL#tv!qC7V(%j0>3Mma-8JHMc85kMt6&M(-7+4sr z6qp$lH8j3`|M20%!%LU$zj^cK>$eBrgiK6KguXp^@J-m%)KvJ}gXU&V4z536e*9zl z|LuFD;GR8uuD#<>Qc`;K=+Pe`Ef*J;X2lyfL?ncSge2wUq(nqSq$HHYKAk&v?vt33 zlF;WXSFU^(QfhAIWMN?El?_RUMe*f{~$M>&USzo{V`0?Y1*R0LWod5qaurM<-GP5wZF#Z4k zzm@U-|8`*^P%;2n491Kstc=XeLcdvA`T6;Hd3pKy*;s#b|7PZ7ZesuSkAaDaotd?f z;ZGAI3kx_dY#5jrY#10BJQ)}mEE!lBEE$*?q7QSoJbCi52b*dG&^jj1Y6P^q)Vh48K`eSpI$e@ZsK(BS-ErDB0N9sECO0GXH7j zSaa^jk00k&&2Di1pZh=Of5HDEj;X6I{`m3Z;+pBs|I7ZD{V)1o%+xXuoIDztelxH( z39<2TaS1RnF|jfH`uFeO$8X=h{%Vot;bLcJ=j35$V*LN-A2SadJ3Bi&5A&ZNzyC3@ zH#ai|NZ;N(#ZJ#e+xJ)(bF{>Bwhbv;9>XyPS@YT4sT^> zU|?wmksKfr)JE`OU}ErLU}OkoU|?`%U}11&U}jLp7Yh$Bs0d$sA|ThSj4w9e^_w!j zSkaNXcH|51<3G*H_+kfM2ND-cTrKlj=kC6IeA%XnU{B+YtyWNFsf;hiehK{G6Juxm zgeT@&LG`IJzSv{=C&a_d&dG}>7F$6TE;uG(Id<*Z^_W4%&CRV@@X;eKJ~=r#J}w=u_gAi5dC#TO+|2Zgfvu6l z$;nBP;oiP|`3=>5vdr3z;4shH{RSL2%}neJKN>my{rmTwfs=`esacSV z>-*o|zkmPz4yT)&nOGVAG;%O8G5u#?`uFc&v*5RHpZ~M6vi|@4?elL|R@UF2zcn{A zF*E#aM<}e=qfOR?!jVE1Mk6MW)Kw-dGiK~ADNZ!-c`o%C?7ARjsjPC z%#2LDZ$!X82YLL;6)r~Ur%jB%*cw@!oEYxyWB>N;$Pt2`Zb$btR$sTH`x>ja+tIxZ zX{DG#_a@piFfbT0urL@hFf&ME`WfCXg?L*49>4JHD~TD;@J1>mz6Id%4bP`IguRMNb#trY$&afObxS zM(dH=_$@6hEsdboJ&1wU0*2*C(EML(1A_o4OMYl>VB`Y(q_u(JTXSn`D}PHq(KDgfPq?7Obm})|CjuK1jShmkoFHN z*EbMsfHZno!5ppz7EtSk0b(zXdVqt0hv5sj9{3D#EJFjsKTr+8zy=~g^?()w6L^0Z zXtYZiS`r9rXuNsz-~j}`zh|WQ|sajT<5&N=gu{A$IA& z2hRIHnwtd9oDmhhd)LH-0iHG(A3bvXU-G{Mo#tqqx&8d%MeBOO4s2p%Vrpjm_YYh` z3xm3vF#Lt<6Ndof?>Eg&jQ{>MGcqxO%U@woTONj){s?d}va)kGH?jZw$HKzG0#fwr z7v7qZh!7$_Y(Zr@X6eiUDV@K7N@r-afMcZr6e-{oD#pMBo`KL*U|^6@U}2C`VCLe4 zq#{tuixZNP?n%p>ZQuYmxIarW_xP#IZ2nr=opBt9XSQ(f> z=Q)G2**8#M=_EL1v^Frj1_`l4Yd-R0#f5#_~%ks0nfAr|l+yBCfii!#fLe28(>OY?!IB?+Ae-Q@<2dUq`|NQy$=f{6`P{s4@ z<-?~>o8`Z7>*-1Ue}3i4m6t3c23C(={$k;glau58|Lw_>Cr_SzX_o)=NkG%e%1Vj( z!Leh<9{&E#z{0}vmznL)pFey;e9|f^%?|(bS-*Yzc5VAqX!XfCZTHy^-@bi3y?Z89 zgnjz<^Pn!yH;4cE4WJ^ciQ!KZxM9k`+Q`7s#Kg|=fi(SWV)zeD0Xz&$pfytrVhRil{0b}# zLJG{R;D#;}i_y1N-(EE^yFFB7U^&Mn!6nhayhHFJ11k%tP0NHxl%T}e!~*KfF*Aco zIZ%nm$^z=+F|mO7-x`^i{y}!{5jiwG`@d-^-4p-NK>(yk%gsE9MqR!g7+m}96562%0D%=M~@nr)zpMpniU^B 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 d!R0GxECsZc9(1G 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 { let reactElem = React.createElement(Main, null, null); let elem = document.getElementById("app"); let root = createRoot(elem); - let isFontLoaded = document.fonts.check("12px 'JetBrains Mono'"); - if (isFontLoaded) { + // @check:font + // let isFontLoaded = document.fonts.check("12px 'JetBrains Mono'"); + document.fonts.ready.then(() => { root.render(reactElem); - } else { - document.fonts.ready.then(() => { - root.render(reactElem); - }); - } + }); }); (window as any).mobx = mobx; diff --git a/src/main/Main.tsx b/src/main/Main.tsx index 9fb43c25..641e5bc2 100644 --- a/src/main/Main.tsx +++ b/src/main/Main.tsx @@ -7,17 +7,17 @@ import dayjs from "dayjs"; import type { ContextMenuOpts } from "../types"; import localizedFormat from "dayjs/plugin/localizedFormat"; import { GlobalModel } from "../model"; -import { isBlank } from "../util"; +import { isBlank } from "../util/util"; import { BookmarksView } from "./bookmarks/bookmarks"; import { WebShareView } from "../webshare/webshare-client-view"; import { HistoryView } from "./history/history"; import { ScreenSettingsModal, SessionSettingsModal, LineSettingsModal, ClientSettingsModal } from "./modals/settings"; import { RemotesModal } from "../remotes/remotes"; import { TosModal } from "./modals/Modals"; - import { SessionView } from "./sessionview/SessionView"; import { MainSideBar } from "./sidebar/MainSideBar"; import { DisconnectedModal, ClientStopModal, AlertModal, WelcomeModal } from "./modals/Modals"; +import "../index.less"; dayjs.extend(localizedFormat); @@ -29,6 +29,7 @@ class Main extends React.Component<{}, {}> { constructor(props: any) { super(props); + if (GlobalModel.isDev) document.body.className = "is-dev"; } @boundMethod diff --git a/src/main/bookmarks/bookmarks.less b/src/main/bookmarks/bookmarks.less index a9546ebb..f4ad6e6a 100644 --- a/src/main/bookmarks/bookmarks.less +++ b/src/main/bookmarks/bookmarks.less @@ -2,7 +2,7 @@ .bookmarks-view { .bookmarks-list { - color: white; + color: @term-white; margin: 4px 10px 5px 5px; .no-bookmarks { @@ -42,19 +42,15 @@ } label { - color: white; + color: @term-white; margin-bottom: 4px; } textarea { width: 80%; min-width: 50%; - color: white; - background-color: black; - - &.mono-font { - .mono-font(12px); - } + color: @term-white; + background-color: @term-black; } .bookmark-id-div { @@ -63,7 +59,6 @@ color: #666; right: 5px; bottom: 2px; - .mono-font(8px); } &:hover .bookmark-id-div { @@ -73,7 +68,7 @@ .bookmark-controls { display: flex; flex-direction: row; - font-size: 16px; + visibility: hidden; color: @term-white; diff --git a/src/main/bookmarks/bookmarks.tsx b/src/main/bookmarks/bookmarks.tsx index a8b09780..a5300ebc 100644 --- a/src/main/bookmarks/bookmarks.tsx +++ b/src/main/bookmarks/bookmarks.tsx @@ -99,7 +99,7 @@ class Bookmark extends React.Component<{ bookmark: BookmarkType }, {}> {