From 3c9c7b5c66481dc07f779f805118118da399457c Mon Sep 17 00:00:00 2001 From: ElVatoEste Date: Thu, 20 Aug 2026 17:49:18 -0600 Subject: [PATCH 1/5] feat(chrome): pin new-tab button outside tab scroll + address bar search history (last 5) --- src/renderer/chrome/Chrome.tsx | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/renderer/chrome/Chrome.tsx b/src/renderer/chrome/Chrome.tsx index 033c338..9a4f71a 100644 --- a/src/renderer/chrome/Chrome.tsx +++ b/src/renderer/chrome/Chrome.tsx @@ -7,6 +7,8 @@ export function Chrome(): JSX.Element { const [draft, setDraft] = useState('') const [tabs, setTabs] = useState({ tabs: [], activeId: '' }) const [marks, setMarks] = useState({ items: [], barVisible: false, currentSaved: false }) + // Histórico de las últimas 5 búsquedas/URLs (sesión; el chrome no se recarga). + const [history, setHistory] = useState([]) useEffect(() => window.overrun.onNavState((s) => { setNav(s) @@ -15,7 +17,12 @@ export function Chrome(): JSX.Element { useEffect(() => window.overrun.onTabsState(setTabs), []) useEffect(() => window.overrun.onBookmarksState(setMarks), []) - const go = (): void => window.overrun.navigate(draft) + const go = (): void => { + const url = draft.trim() + if (!url) return + window.overrun.navigate(url) + setHistory((h) => [url, ...h.filter((u) => u !== url)].slice(0, 5)) + } return (
@@ -51,13 +58,15 @@ export function Chrome(): JSX.Element {
) })} - + + {/* nueva pestaña — fuera del scroll de tabs, siempre visible junto a la última */} + {/* toolbar */} @@ -75,8 +84,12 @@ export function Chrome(): JSX.Element { onKeyDown={(e) => e.key === 'Enter' && go()} spellCheck={false} placeholder="Ingresá una URL" + list="url-history" style={{ flex: 1, height: 34, padding: '0 14px', borderRadius: 9, background: 'var(--surface)', border: '1px solid var(--line)', color: '#cfd3d9', fontFamily: 'var(--font-mono)', fontSize: 12.5, outline: 'none', userSelect: 'text' }} /> + + {history.map((u) => {/* resolución actual del viewport de la página */}
From f80ce38d0be5f65112a45c23214ed726392e6d9b Mon Sep 17 00:00:00 2001 From: ElVatoEste Date: Thu, 20 Aug 2026 17:50:08 -0600 Subject: [PATCH 2/5] fix(chrome): keep new-tab button next to last tab (tabs container sizes to content) --- src/renderer/chrome/Chrome.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/chrome/Chrome.tsx b/src/renderer/chrome/Chrome.tsx index 9a4f71a..7e40ca9 100644 --- a/src/renderer/chrome/Chrome.tsx +++ b/src/renderer/chrome/Chrome.tsx @@ -37,7 +37,7 @@ export function Chrome(): JSX.Element {
{/* pestañas abiertas */} -
+
{tabs.tabs.map((t) => { const active = t.id === tabs.activeId return ( From 60bfae1ecc9b42f9786c6f50aedca1b49fc3f876 Mon Sep 17 00:00:00 2001 From: ElVatoEste Date: Thu, 20 Aug 2026 17:54:22 -0600 Subject: [PATCH 3/5] feat(chrome): styled history dropdown in palette + full-height tabs --- src/renderer/chrome/Chrome.tsx | 62 ++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/src/renderer/chrome/Chrome.tsx b/src/renderer/chrome/Chrome.tsx index 7e40ca9..fdc87ea 100644 --- a/src/renderer/chrome/Chrome.tsx +++ b/src/renderer/chrome/Chrome.tsx @@ -9,6 +9,7 @@ export function Chrome(): JSX.Element { const [marks, setMarks] = useState({ items: [], barVisible: false, currentSaved: false }) // Histórico de las últimas 5 búsquedas/URLs (sesión; el chrome no se recarga). const [history, setHistory] = useState([]) + const [showHist, setShowHist] = useState(false) useEffect(() => window.overrun.onNavState((s) => { setNav(s) @@ -17,12 +18,16 @@ export function Chrome(): JSX.Element { useEffect(() => window.overrun.onTabsState(setTabs), []) useEffect(() => window.overrun.onBookmarksState(setMarks), []) - const go = (): void => { - const url = draft.trim() + const navigateTo = (raw: string): void => { + const url = raw.trim() if (!url) return window.overrun.navigate(url) setHistory((h) => [url, ...h.filter((u) => u !== url)].slice(0, 5)) + setShowHist(false) } + const go = (): void => navigateTo(draft) + + const suggestions = history.filter((u) => draft.trim() === '' || u.toLowerCase().includes(draft.toLowerCase())) return (
@@ -44,7 +49,7 @@ export function Chrome(): JSX.Element {
window.overrun.tabActivate(t.id)} title={t.url || t.title} - style={{ display: 'flex', alignItems: 'center', gap: 7, height: 30, padding: '0 8px 0 11px', borderRadius: '8px 8px 0 0', cursor: 'pointer', maxWidth: 200, minWidth: 96, background: active ? 'var(--surface-2)' : 'transparent', border: '1px solid', borderColor: active ? 'var(--line-soft)' : 'transparent', borderBottom: 'none' }}> + style={{ display: 'flex', alignItems: 'center', gap: 7, height: '100%', padding: '0 8px 0 11px', borderRadius: '8px 8px 0 0', cursor: 'pointer', maxWidth: 200, minWidth: 96, background: active ? 'var(--surface-2)' : 'transparent', border: '1px solid', borderColor: active ? 'var(--line-soft)' : 'transparent', borderBottom: 'none' }}> {t.title || 'nueva pestaña'} @@ -78,18 +83,27 @@ export function Chrome(): JSX.Element { window.overrun.bookmarkToggle()} /> window.overrun.bookmarksBarToggle()} />
- setDraft(e.target.value)} - onKeyDown={(e) => e.key === 'Enter' && go()} - spellCheck={false} - placeholder="Ingresá una URL" - list="url-history" - style={{ flex: 1, height: 34, padding: '0 14px', borderRadius: 9, background: 'var(--surface)', border: '1px solid var(--line)', color: '#cfd3d9', fontFamily: 'var(--font-mono)', fontSize: 12.5, outline: 'none', userSelect: 'text' }} - /> - - {history.map((u) => + {/* barra de direcciones + dropdown de historial (custom, en paleta) */} +
+ setDraft(e.target.value)} + onKeyDown={(e) => e.key === 'Enter' && go()} + onFocus={() => setShowHist(true)} + onBlur={() => setShowHist(false)} + spellCheck={false} + placeholder="Ingresá una URL" + style={{ width: '100%', height: 34, padding: '0 14px', borderRadius: 9, background: 'var(--surface)', border: '1px solid var(--line)', color: '#cfd3d9', fontFamily: 'var(--font-mono)', fontSize: 12.5, outline: 'none', userSelect: 'text' }} + /> + {showHist && suggestions.length > 0 && ( +
+
RECIENTES
+ {suggestions.map((u) => ( + navigateTo(u)} /> + ))} +
+ )} +
{/* resolución actual del viewport de la página */}
@@ -162,6 +176,24 @@ function BarToggle({ active, onClick }: { active: boolean; onClick: () => void } ) } +// Fila del historial: hover en paleta; onMouseDown navega antes del blur del input. +function HistRow({ url, onPick }: { url: string; onPick: () => void }): JSX.Element { + const [hover, setHover] = useState(false) + return ( +
{ e.preventDefault(); onPick() }} + onMouseEnter={() => setHover(true)} + onMouseLeave={() => setHover(false)} + style={{ display: 'flex', alignItems: 'center', gap: 9, padding: '7px 12px', cursor: 'pointer', background: hover ? 'oklch(0.82 0.15 195 / 0.1)' : 'transparent' }}> + + + + + {url} +
+ ) +} + function hostOf(url: string): string { try { return new URL(url).host From 4f4189125725bd52ef1e363dd010fd25308352fe Mon Sep 17 00:00:00 2001 From: ElVatoEste Date: Thu, 20 Aug 2026 18:02:13 -0600 Subject: [PATCH 4/5] feat(chrome): seamless folder-style tabs + history dropdown floats over page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Tab activa y toolbar comparten color (surface-2) y sin linea divisoria: la pestaña se incorpora al contenido como un solo elemento (estilo Brave/Terminal). - chromeView transparente; se expande a toda la ventana mientras el dropdown de historial esta visible, para que flote sobre la pagina sin recortarse por sus bounds. --- src/main/window.ts | 12 +++++++++++- src/preload/index.ts | 3 +++ src/renderer/chrome/Chrome.tsx | 12 +++++++++--- src/shared/events.ts | 3 +++ 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/window.ts b/src/main/window.ts index be72864..52b8ff6 100644 --- a/src/main/window.ts +++ b/src/main/window.ts @@ -69,6 +69,9 @@ let tabs: Tab[] = [] let activeId = '' let tabSeq = 0 let overlayCollapsed = false +// Chrome expandido: cubre toda la ventana (transparente) para que un popup del +// chrome (dropdown de historial) se dibuje sobre la página sin recortarse. +let chromeExpanded = false // Posición del overlay: null = anclado a la esquina (default, responsive); // una vez arrastrado, queda fijo en {x,y} (top-left). let overlayPos: { x: number; y: number } | null = null @@ -103,7 +106,7 @@ function cornerPos(width: number, height: number, o: { w: number; h: number }): function layout(): void { const { width, height } = win.getContentBounds() const ch = chromeHeight() - chromeView.setBounds({ x: 0, y: 0, width, height: ch }) + chromeView.setBounds({ x: 0, y: 0, width, height: chromeExpanded ? height : ch }) const at = activeTab() if (at) at.view.setBounds({ x: 0, y: ch, width, height: height - ch }) @@ -268,6 +271,7 @@ export function createWindow(): void { chromeView = new WebContentsView({ webPreferences: uiPrefs }) overlayView = new WebContentsView({ webPreferences: uiPrefs }) overlayView.setBackgroundColor('#00000000') // transparente donde el panel no pinta + chromeView.setBackgroundColor('#00000000') // transparente bajo el chrome (popups sobre la página) win.contentView.addChildView(chromeView) win.contentView.addChildView(overlayView) @@ -301,6 +305,12 @@ export function createWindow(): void { } function registerIpc(): void { + // Expande/contrae el chrome para popups que deben flotar sobre la página. + ipcMain.on(IPC.chromeExpand, (_e, open: boolean) => { + chromeExpanded = open + layout() + }) + ipcMain.on(IPC.navigate, (_e, url: string) => { activeTab()?.view.webContents.loadURL(normUrl(url)).catch((err) => console.error('[nav]', err)) }) diff --git a/src/preload/index.ts b/src/preload/index.ts index 183b21e..5b571d1 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -84,6 +84,9 @@ const api = { getResponseBody(requestId: string): Promise { return ipcRenderer.invoke(IPC.getResponseBody, requestId) }, + chromeExpand(open: boolean): void { + ipcRenderer.send(IPC.chromeExpand, open) + }, onOverlayState(fn: (collapsed: boolean) => void): () => void { const listener = (_e: unknown, collapsed: boolean): void => fn(collapsed) ipcRenderer.on(IPC.overlayState, listener) diff --git a/src/renderer/chrome/Chrome.tsx b/src/renderer/chrome/Chrome.tsx index fdc87ea..b15cc80 100644 --- a/src/renderer/chrome/Chrome.tsx +++ b/src/renderer/chrome/Chrome.tsx @@ -29,11 +29,17 @@ export function Chrome(): JSX.Element { const suggestions = history.filter((u) => draft.trim() === '' || u.toLowerCase().includes(draft.toLowerCase())) + // El dropdown se recorta por los bounds del chromeView; cuando está visible se + // expande la vista del chrome a toda la ventana (transparente) para que flote. + useEffect(() => { + window.overrun.chromeExpand(showHist && suggestions.length > 0) + }, [showHist, suggestions.length]) + return ( -
+
{/* tab strip — zona de arrastre de la ventana (frameless); el padding derecho reserva el hueco de los controles nativos (overlay). */} -
+
@@ -75,7 +81,7 @@ export function Chrome(): JSX.Element {
{/* toolbar */} -
+
window.overrun.navAction('back')} disabled={!nav.canGoBack} d="M10 3 L5 8 L10 13" /> window.overrun.navAction('forward')} disabled={!nav.canGoForward} d="M6 3 L11 8 L6 13" /> diff --git a/src/shared/events.ts b/src/shared/events.ts index 3c4f7d9..5ba97e4 100644 --- a/src/shared/events.ts +++ b/src/shared/events.ts @@ -179,6 +179,9 @@ export const IPC = { overlayResize: 'overrun:overlay-resize', /** overlay → main (invoke): pide el body de una respuesta on-demand. */ getResponseBody: 'overrun:get-response-body', + /** chrome → main: expandir/contraer la vista del chrome para que un popup + * (dropdown de historial) pueda dibujarse sobre la página sin recortarse. */ + chromeExpand: 'overrun:chrome-expand', // ---- pestañas (multi-tab) ---- /** main → chrome: lista de pestañas + cuál está activa. */ From f841d9bc1d0c8ee7742b162d28e95b1385c1bfc5 Mon Sep 17 00:00:00 2001 From: ElVatoEste Date: Thu, 20 Aug 2026 18:02:14 -0600 Subject: [PATCH 5/5] docs: update annotated screenshot --- docs/assets/image.png | Bin 25600 -> 19726 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/assets/image.png b/docs/assets/image.png index 61bf640a977f3a800fbc22494cb58d484b9073c8..7611621eb7f00eaebeee1ebf4c512cf4ad0e94ba 100644 GIT binary patch literal 19726 zcmbTdby!s07x+tqbhn@&At2q2f^>)|Al)F{F*MR8Ae~Byba%thAR#qF$4Cy{!`$Qh zz4y7#@BVq$^8ja`IqbdH+H0-7_t~F`*3wWUz@^1SK|vuxDxg~zCzogb$y7+ZM&i>P( zEh@_J&%?vRlh4E|!6Wj4U8z4p(SWC4a&z-jQY4k&0EhGai zti|IL&9`+4xIga?@$&vmhe%bB1tNLs})8(zH92{&ht)3 z&vu-W1hr>jDzT>ri=2|e<+M-CqA4osTj5!X@(L!3zrW$E)DdWTlvCH(*mp~)LBjhYw^dan?PcQmH_Rc6EkP{ry*!5WbXF#&%QO~2`k2_ph|nmVtPye? zX=zKV61sYM`GNS+cpaDBm%OI<^rCO^Mc>kiCW`YW$hyR-xU9zAf`=yUz-tHVd$qs_ zdHx$A-b`{W;v|mRPwv2_;3qlx0o7GZinyn)nzrL-%>Lxr&7Jn)mbFJ{cID#G%ae7dZ=tRN^CPwJ_ICS%O^#k}1`dMl`uu;f~} ztBJh)er^p|eWcan9iCu}QtIu^4e8voFL*Ewx_a*Hpx`GdVmL??2svK}Q6dg%TR9b6jd(?Ku=TK**)B)|NYZC>Li`f5LY%WoU&|t7dd^`ipiH?? zL2y9PYq_pep#1MP5V8bx3Z{hk!ju#wWx}h8IxfdKbV0NdCtY1ldxX-(Pm$|ArnDJh zIQYC9CIsbsl;o6Ovz>RejR}`pmo%6uV;l-;Vh;O_a}~L$71^kRXc=RplsXHOfM|I7 z%f2X7j5nhI>p5VDZl+n12Xr;P*K|qldrbce&!n+kv7cJTvc0E^Vk>;Fdx*7ov&X*} z^qpY3aa$#&XRFG|g*bA&NxfZ%!xP1LzZPIo#sptf;BD)lL$N7iVhqu7jze*dXMk+8 z`c6wu{?{8%42p*bblXMt&~ZGQY9-m;UYQrm$Mfl@)2C>0-)zbF&!KojpxX zIGG4!H+lKbvMyo7b@lvJwz8-N&(>7DK4JlRGftn0DZTQu941r^RO6f=A(^3WT}5Qy z*V-Tev|#J+)!6pUGs)e~rbW8qiFL|SF@uxHf5Sz)&1l-UFqIF@Q3Y3UGKs)Qy8<6? zurvOva4EdN-1H=gpfri|dD5{$+@Kw1Cqmb71Ljd3ZX z08w&0A>vKS&$m(Q`f+xCE~pKd*62?dZUpE31eQHnkQA8D7@a z(hBa*?^b=Py05s@2HIAq`KK-5^7a{;z?du$|EfiIda#4~2RP<>nXDyOen{DUc*xIJ zF)2+GLMo^x6 zcXp*nyfpRQrv+`_qJVSEc1_Vznp9~X0bg{JAh;4wWw(7>*eqONZfctQIG>G4TWEu1 zVq{d(S&fpUj9k^0d1f|Hm=*L&^2e=}RCmeTAHQfNgeNcunwXrNeqVeflQB6ddm|UV z$;94(N$O9Jis>DKi7yv!z_3+aEi-A9#4Y8_-yM`b5@vJWsLCNr_1F<06u=Zx)J^I> zCE4to3EFkN4-4`fMb8+bQjDAdfBnRfNd&nti{SH}``neeRP4a}gEz4Oosrl1&Ox|^ zfK;-t9ozbM@i^IY_ywx8|DLinvbud;dG9=-%JEHpDg9pYrMJ4b%VU6@zf_|@VnzMV z`289Cb@S>&I$G*voZn1cA{>Y!$9=8*Rs~SWU+-isYw&Ou}_mZEof}5n_ zK;(CZkK^an)W?+Fv%bFKaf6m`zC06F<6%a2^y{Cvy#5M;C1)bR315P(2fPmSN(^(S zJD58eGbiw2*Oyw1Ow}drx(Y<5i$!*EnS$|2Vav4coO3PLTRbh$)r2j z)j;@oUi;U`K)Z2Z%B15UC=-=n-q8 z%PZ#4W3#5(f><>#o`&@J_SlgFheG^u$2)$%Z?zTW<3ZdUw^H8f%d(%JnD~%Q#>E^N zy{1&}>A0zRQ0{R3RO0vI_dNx!9tNA{KU^fd6^M>j zuampTX*V9(-u$vWctl4dPi<#gfvmEfrEVSZ;e|LRepT#eb)Y>KxbKa7J+*{6Jzm<} zQAHBZ*@lL?{2bfVLnjMauYBT@zVs*IR0+_w=4KD8D& z!HKgCQ5>V)=L?4Z-V|b*>V+-uGWgov@GnpA=9A;cuRL)R&ie5Z>`;&!m2=2t2CT@% zFbu5fW0>vp9-gQ@-7LwI^s7tK8EsCz`U3HXNP_p??&QH*RqfLmaQ%Ix^oY}aTlto`5PO&r#g(oUXu!@ejs_H}a~%R(YbmnTLX1_g>w62e^0z z=fPEmCK-LpuzbtY{58vS@ShIknVPi}l26ee;<6UjNP<&l_YO)qOPm0=9Fa+QZEGM7 zk~VC77QR(RV_6c|-@L<9qFtZ0Hd;ABMd|MI}des2>3J-@lh!m)M3{@$IFxRYiF-dr7n_S-*oE)1K!f|SvTy`?+OzWjt> zaMU75aCCFbCKMqu8(CG$diYGLT0*P3z}%hHe{C*2tg-&PLy_ zsxVc*vjKOmi`BSZ4D)eY+qk*Fy)5QGREdc+*~=})qthUioIfpgcQ*ay%bP|xzu@A< z2*RY02S#}mo8q(FD*AOwtJzauW=28lKV~N9`R|()lSIV9{12hruNOBZnUk^I993@yQEgX(I=@@6`%O z?dX>BaZ%MRKL5qFcolO9u8iL(-Ok;HtM9VWl7hxk=_CE4CW8Eu^@Hv}n0O8IHFFbO zK}XC9hPXfUr=rzp14W3`@|2o~pH0Gj!;0;RlC1nSq)ZbIHMPe3!P}&Ad_*SmQJ95u z>hEv=nz9NyzOk{`6@n9US|2^55J(aM9eXTzo?d&GG@3AAuLWeJzO3?%q@1)FQpRch zF41pPuW}e*M}7KKg72YN3S3bRoqFi*?wX{EbbsQo8WuSuGi-FNxwUaT@kDK{A2cSz z+A95+L_*T4GB;9yChHo8wJj-@6dM$j_>lL39`94R%EAX;#isuGKOOlQ)+oO82wlvB zmne?M%A1jJqh8wW-~ebaroB?jt(2nElJxH6KXREB(=;$hJ1_ZQp*J67C#TBwc89fQv9s$7i1V z{js<`U2*Z9J2Q93gXdg1^8W0^0f_-YFW*P{ws9c^V0FP!w&p7p*I)B<)ipi}Cy1&H z4W;wLGfA96*&O$faR>0$z(qrYrGkVDWZ^l;KXr&vutPC&v|;F}6piq~AKcY^^(~W? zzRR3Vh$D^5hI!IqrN&99wfrZOB zsL1VfLj1+g4}+*$&Z9ajVO+?41493s3O;n7w8X2RF~$10J&hk&C*%7@^f%XuFP_#p zVt0KSY~V*0zvX`@PF$*OZZMqb4RG+^lN&|K&((c1tcWNYUVF7&=yqMv0yyNQtX8S5suOS_?C|Z9mG;GLcCoJAu!IPs~m>v>`x! zP(OC^yc+47su|dVvvG9e+5XnWi>f@$X`O8=`Z*I*OesNrKpj#rtsDcD9TI!qaeW|QPPHkXb|+@Z#*lmzJ1_ch<_@)9p6v~%deH&g_KoSfC% z#vpElNee=PtgWKwk80LxMsY(U1cAL6nAqtF9H=c;_){9~>7sH>zt>@$$ zr_tjXGo_YNSP*wQ(rn)JcOpin@KWcxo80dD+b_{AAZvcRsLKBATLhtSKxeAD34Ei} zVIBJX{_$f|0Nk$eFMdW=rs9NI6V6LxqYIDY5DD#Pb!--;6V{ti)EaQTkvOKr*_njhE7_P7l;3QVATDm8pR|Uk!yyq_ms_u%>xDFew{e@=f8#^!r;&*c<1L zHnff{-N4m8;rpct(d`n$@9K2bAepWWDEyNQXwTd(IHa?Lf}48n4)r=S>@+)vW8x!+ zqiA~s%0*5$t5x#t2?+u69M;Kp7F|Aq7n+WSv66Z zh-Vqu(Eg~gS5-!0rV9~o?4}<&Y;6jsc?#*FHuzZHTeVjYOX%P0Mkh()ESbcnKzZmE z3-+D3zX@_iGImwD8S8EsM?HAbLGJL%6s4f6(;xOrHTivi9SB#44nFM-ypBvZkhiS6 zFUGi&{BQ+Mw_1chu77Q{VYo(mMPwUTe@sW7ECjKles4JV@HmHd`tgk)bT$)AbyZ`& zn!nU|O$^f}N^0=pu9p`55|j<1-adXE&EBG{e(QuSuV5 zKb&B;3kQx@#e+oOqgb*)u4Sx|L_2EjH;?MZIrYgCHfqpiM~oEf&e6?c&I~?B{9K;v zV~pMj9C6Y7@E}A+5mI#niaatq&(Aj-T*VJvUOAW>sd51IWUjdTy7p!}RQ*MSUv4(- zy6i?i&8cV0h1@gS*n%CUa>5keT`put9pMi+*N#a+ z5AgB(^Pv}rwZJY=5VtduGpt~kHRsk=814*xv)@};VRFH@wu4OuQdL+;KTkJ#_RnU+`-aarq!WyMyZCLS-)RcA^D4}cl zuI}mecKskOUq9;ZfHPI?2}kOaMbZB9JgcD!4SXLTwAuW?q*P>ZA`opCrKS9cJxhL6 z`(=jvN1Zf({NH(z5>37SXR0LxIioQIKrhV1X0fX_Oug7$r9M~PA3g<1^m4VWOO2TUII@ZrZR>XXFO@!ICz)dtCD zVTD(SJ)R0n9$v2tsfJy4MyVs)`}m3sp*SZV2be?Qmz8Dr{hMxYWeyCS9ja!(=BwtTW1;}PTuTU1d`Bl( zmq0UMNEnmpV!mq;9qyTY36--*Hdsw77c+{E{W8aR<#Kw*POB*HIPx;*MaH66)zjb1 z_cCBF9rd(akdk&NYTioA~MjIe&vs$-PPN+|m5S{veh!U6G?5VMe zY`NvPUaWLvj{H*)Dyv#fb_~(Mq!o>wbIqhZkEAL|A-|k>+OqV?!fK>E3c{b zC0C#K$$);;{zUR0cWQ~6c1Mo>Au{UUTgD|4X!8gN>4-j|e@EST8@+__N!} z-CIWxegU#a#VJ5S*N0HJb)w7>3z2s9N-YO^&)^;*HqS&YYe=56(%m$^jNy?D?Jd-q_3Q4L@q`x2bD_E#SF1(H#{JPlbEmz;+EoBYnNxzv ze)n#DKZ_Mnq=waN+b=LXDsIv}dV5y*4eHew>IBDLK5c>LXIMON+U>@-1Brggy+^Ny z5x#WgXqWls?; zzI`gcDwH=Acgui?Tr#1rQHMlz#10M7osaQjd-JjS!Ur6@7_maPqE5Vz&gNK_M(pF1 zoqP=@Hw@o4@r@{KttJXs&)}HH)8sWcYKRiw9w1_euOu}`u%?pHo0`q~1*{$`x zqh(B>`B+7!dGR)SN8{W3vHU!Z?2r~M0m@q@;Mgmx5Aqs=-7bOA2KbJ zo4>U(yf%n;Xb@K3(;W(bkH3n94;EycHmQ^Onhqpp2M+D`)xtaMcA3HXFssW*O{3w^ zbk0^OnS@m^6~E|J?R!W=XEY(O7h2z-(%-t#lOk8f`05*2xRHrcMz1=CA)`XY-G!f2 zsC%;W$awpg0Ct_Ebbn^U-{N^?zV}zw`>y*$nogtxtY;CycI9O|b5vG$^l;|vIJD&Q zP!SG3d1ux5oQZr~gr(&+_sZ*3KpN(j3;Vl~Vkp`X()`$#nWE4%mjX#Un=k1%6!rYt zUm8CJyz5=ozO7yu9OO<6sDV>ar8}kfUhKiX5OyW@h@`#Qu!2VPXfZP4d!Fk|F=t+t zgOZ?+1G4v2)uPtW8$5$RYuc;eS_8UAJG$4(@>Ff|>j*#GKkM;C-YHnb(2(!3oYSW! zcc|^NDB~V2*B_uV=h*y5e8Iy8iu}JBT%xl*>pSE5Z{cR8n>!iJY$L)L0&Tc!!=II} zq6sV!dV##`2SeS-0eveXu2cN(XCbDclK6ideC-uCnZ``Kdlk;6iqI7wy}42t=ytq7 zr%xddTUiux<#fw4+{@}K=bE(#rntYq4C6+Y3NklbBnOrK#u14XZ+rLth{Ti*RnCle zLGkVEsGU9iS0Z_mYkQDRuW@9ssfZ&gMrJv!ep!Fa@>b8fimA`s4`$%i@v#u$Z1)UeOozZ%& z$Sk~atGHC}Ox~MmDrh9VofJf%*Cmf7yM_r{3Lrv5I^}ct>iL}i;88%#hN0yiT&GJWymk_5a zP_qqm>!8m;<`+hiyIv%NE93Y4Bho*<6U7Qc;2Nh|IY$8{0sRrp@l&U!$1;cSh4!1` z!h$v*j+M8Ij|y9co9+x=*qJdBNrHfzN1S+wnSVMiQvjQ1L+z#!M@oGvx;R&l7Cq#=HW?=EG3T3$syaa_UX0G!V{M z7(&~A7RbA*ga)A!RAL2~w3Wo(cf@f4%WaON6A}5G4#;Cq2@>qzb#KchP?F%ilJ_71 zES-K|rByZ6-71Qu?0tWQCO*ptMr7e?i&zD82agA7uptk-*}3bq4J}!KtKkQjM_reR zDVOoY$7H{GN}cwpukI#DuW#MkyY#|=wK15QFBZL!ow@4HUBfLQV~g2#C7vLNUdUX4 zqL}InM>r3NEo?aRwBa&rjwO&gx%i z5{`0vXkk{lejWwtnM6K=^A88qzVb7^YUWEXpLJ)wiJb4*vy|rF_1(0MlqgAejAU@v zJ2zXBFf;6$phwWWcG}x&ST8l2dyy8@5^9GS>yQ9m&BT15*Ks*neI4wtJxEadF?de;Y|AI8Ed9{ajv)qRLk=FVub+Gfd*=UA>J@$to!Dk4iEh)LGp8^~@+lp5#R&kvdrQocO7h1nz? zt=H!Qkt8%U3R}ahPVjlt`h3mi#eF_tLksl_t8|dvYJ%SVc6i%J#0vXO*kn|bs|%_2*W^Pq;DBbnXlB8bPlq*TwN zh*a{U=Jj)K^2t0=Q_ibXl_tg!<~lfzTSlIl^M?SvQ z`4~rdK$?(yJ6SR|h9WOCR)|T3%U~SL?E7Uv(>&gyGB&$?HfWq)+D|NGJ}~nTv7X6) zVBqsnLtK|Ocl6;ut$ZK7@dW2k24<&cM zm^s=NmbV5W34!zK$MYvn#GA|ISEn!U7jH{l&o7G?A7^VDKhNakBQ5fEL70O7-=j+N zQah3a0-{2yAL6sHE1Yr5{wLuQiQFM#7fmrGbU=*3{Xfh5OQ0&g1%+8p88S0NggyUl-MI&6(8VuF11f z@tv>?;vC+AnAAuQM}Gs)8W?!4;W;Tixa<9>@jEQV7Gx_oB8aKDGS4j`2aEJucAov5 za(=F{8fe9$Xh_M^@o?qxC({gX==bgTklLs9=j*dJtg+Za7E_QdU!=*mCIw`ZAor6M z>y*38>Zb=GissNH=4jIcKj=wr@GN%dXLFtq7t z*;72WuZzSqR!5I|aT@X~a>C%Ug@Ne#BIDTNtAYor-PlA`X-<+GsyGtHf+G&0NN3@_~TJZLY z{ak<0D{8|Od~tCX(NvDaq{)#mnmoeqBvt!qAt*PgKbc!zjEOo1q$E3mPy}k-h?~v5clALgvjtt*@0a6FFV!d5a8fLYhh`dtWrO_sOpE$=@KW!Ymhmo`(vD+AU)0}%}hj^}M6Cf!tglb$~@{|^F8?UKo%kLNE za{@Qz5BNZ(hPt%f(~=k?xr7{ za7}!7d!Eq>e^&FG4^I~VHaDb%iusShD3b#SK()pTsYQd5o@W)lpM><}f2H386h{sk z&SbVln_Qkyq5#$8jOeBxt)4@<#={?PC-db zJ=c@rsepkcQ~(f$q5kE3s`A@)I>wlxt=?-}w*Uda77sar5r3()ELjR4_T;8E7)srT{ z0hu1l@n0VvQCUM@5sY-{c$b(*4gcu}Rz`#rm6hu^dmSN&k11M*@BPL`{$DH#4s#Bg z{>918^-N@Kw74TD*)&vD_WRG_kH1&gF*Rl40bZzRbvo-G5ykDTj*0DV$}30kdU#Ya zNa5`h0P*=3qOci-Gq?KqrGNC$nH(l;Xfgyt^B>iLZ6UU$=^d9FWKqyVqSYg;-RCIV z>$`T_I11tdh`$8DApy{e^JlPB&F^O~;tnhD-Q2lp>h0A`wa@`2T0Kqy#*#_fq9gxt zy{g{vut)+S@L#I;)PjiLMsBbs2%Sp~cbv%%YRh0d)Y# zDH2ouS>6Zn(9kyk7PRqxRiTjsaOi(z72q%g{ngApmaJR;S^wH89AzvE&L+V)eoINM z$Ux0_f76oi$tAGsv{Yg;1hs!EdHTr?CP^GB=GFoA>_5BAC}EP65&jX=?#=vv7(6n7 zhWtaT$Ii`N^1F+=P>2T>qt;BEWUmPjNXHCx=onzZ`z>?t9S(CGjGGobYHCKh*__$< z#FeA}(6a)7evHh*>_i(}#YZ7C#h^(NI>g zaB|K$_P5*Lue$%rg1uA+SjI|#s?$4niyzU2N~SO--n4slp|suIlI|V!r@cl5y|^6v z6R43rF1KxIBKVKHlpD0?5OrTb74cdIFxF8{ueOOI_fNjQ;00dks|M$7ZlKbltXs6O z2T5eQ1ORR(BcI0_>Wh~G@agxnAoz;sz>4Sk%Kw*ujhYK>_aCDfv4N@6B(?Qrpa03` z2Z9&*LHegGi}?QWC`}k@dVMR%$RaDL-R)ms1EOvB0gnR!8gtqY8bG)hqSRrS$HLx{ zJMF6OML<{Q>Z&{S2-bj#Ji|p`>QV(p+J)kzB z3LHI?zrI2bm*EONlN4nj4-KG_Fip!by7KB~qtzA09AEtk!`1muy%<1(VveBL5oqO| zVsT8$&%6#mH=L2*$IG2%V%oHLLZDl105q27adOVm!|-K_hkI96Oc$iEkN)q01>t`u z>iv$$@X5h0v2f}T0urDV0e^pj#1Ntg8;sI@%YVqn*2{c&$ zXO-a(YH~ohe+2p|h>yo6aqt7k8UI9A>|Y-~g@1_vaK_4)ME~7fK>2rb`R4A96#DE- zPL6{`+J7cA3@6tiPWntnJr~^3VYni!{jbe!+JD;W(7BsF19bcc2m@kR{J$rOO-l+2 zdNTf}k?za?ReO8;PDjTUVD11(D*sPQM}L2R4?5-l?$}5DAHz2+RA^N`51s#B$fy6G zj`F{The&CwYDeAv;NjU1d>NTV^>Li`=Qb2|=F%>0aQL&Fp;Ltin_7szo|CL&*|V9V zPAP8EkKnfm=s*zjFD)BZCYIxEdBV! zSO$;@wWsFB3i=A3KVgvzr?Q^lwO)9+;`c}yOg5D0wt4f;!Yg+dhg?*A>n#;`4h(|6 zRucfxWf>~s_FBwUd}-L?l2=pn*3++{uYzh9^7S7%sX^U4=9G z%lt$uV-~;O4H2(rqi#vx5F1g&?;nXEY{AurBLzR-JLEn-JBJP$ zDRNuQ_Pgp`cZ0v~}Sp3KW656^6Y{rUFAY|sVT^n!tEZ=Rh$I&uL=<=WkI?Lrhe=(ynW9nU1@ zuf!|A2&OBSsp}6aAmSdDecO8s=(vj#2P>cpbD$vDV4_cihbKVUzDW-oyK*$Rx#|(& zw)0$C`}jCmev~!M6q7+`5&hY0oP73Y0K7O)rJ?i_RFF`G25 z($W~n2`T?c>5x1u+JmsFJU$prR#d(4N3@#*U+n;NG2y3+MXPwlA5qHjY}xLF+G02} zN7hfAQk?$ApIbQhw_d>nxa>YwYgL^^mU<&9%I4Mo;?IrZr!FvA$(kYB8o^AS3FkQB zccgkPm2VWW2$b2E*18<=0DqantG7PstDxyTr0S`0mSTL=l#AAOgq(o17`FO)Wg}+WZf9x;lp8tg_w?TX+ zkQ*+)=8w<|LNfHI{tN|&zKICP2+%8Z>7!lZo)DYa&q}NOblwAh8yawf0BjuIFT-Zr6xo!@t8w_V>5EQX1#{&cv_A}6JN zt8v9*;dXhmBlRF%#kZ#nujw@9jedgucNIbC)VVsk!Ki8B$+7&>4DF2{c(&}lWTkUU zbP0ifO@#0cSfi;yBX@aP^ay2y>e(+i``fD{l~RpUD7ib?yZ8roE_}9qO2s9gAB(Cp z$`E_VsCR+uGO9*1SEXY4?^$}yNtd$7FqVBM(zjQI?TAZp`QFo_lx=D}aXoR~lWCHR z?jvzGLgcWWH_!e@9)|42NXjl{|HpAQdXMvtpON6xd%Aw5CH`zHkU-qhZ#(v_$cws8 z8+)FJ#J0rM75Mu6?(sgoX5Y>IUmDDNdIAhtLBv}b`85cg`&|!7TzBz@skP}#Di^l} zWKCnJzVt?J#M%Ax&cEi)?HMjpM{4r;h+{grHK$XLeR9>U*&(G#msfTYfwe9jFIO15 z6IUHWMIVf4MF?qzPC(+sNeJf16`>ZygG7MK^Xx~fagQC*)y{VB;;o~~mHEQYeS6Mu&y}l)x5nD5yMw=DRm-Q85ORINciU-SZrdo+LMk9dBHsVhPxt842$2 z(v=4ET}K!~V7#MAdD%ymmgu32gT z4U$&zag}bL6WbBTl9v4TDAhi5x_eOL_W*g<>QyyoqXn>e%9rNq;dk^}F1wQ2->a%> z*E6O}ru%~OD9JiVhuDCGjvo2qo5ZI+UxIKTM?M73F+%4VLA+M|ZH>AP6PQDMCtmSi zM$@X5h1yE`3ON^Zh*i&ybH8}+#hefO9&8Y0TrHj@x6{WN)uw)-E=9Altc4ecj6)A4 zyO-*>8>M_bGLLF2B@ZE4ukZ6*Gjc|Y;l{&%ZKOT*eO?_;Q*bFodA`J!UDlwKI-}2T zZMBtgdBn>5Yg<0MSNWb=Y++379^J%jWq>e)kh>K5jVP{FR&uISCQ*WUG!uDj3p+BX zfiA_C1QzShZxdw*H#Ov%(T_FZv#{Qx`z0C~fBI@Xj__g4T^#EG*?eoIHJFLGvRKax z4|M;?*Q&ZCMhe~{AinP5loV-0-_W?k^&zrTN(zG-TMe}&yty= z!=u)Be$sHu@?uV@Y;h`?zU2`M{S9>q1I=2`5xw1jW1ZO5bG>U1N$wy!e!yvdYUf_p zaY{0zTThDhE!!E-FTIh_-4y^{0xVRC%OEyBKVjD*DtRqh<%90PUYaZA2}b2MY%x{) zMUjw%wK$dHOmt{--}I`&q`7JQN8G;|*V!2|&s*~nRY^*Ut+u*E&(ct-G8oizd@`<^J6S!d`KmDE<&BD2Ft#$F5G-WJRu07^&yn|x z+qn4k5`XVc%JXQvTdu*Fm*B=+d!3`b9wE*EWWxCT_!9PSd#txQ-hMe?~ z`8V0(6Mds6BU1+@Y_*0=^5Fl@xTt(`0T)RRpdq#r>l;T6psBmU$=LiW4mIX7qs80p zHiz83MJN8V(B-_go8T%Q(P_h993)tBfnL$T2tPa6sI&!Z&??;HaK6mvvAlS8?|X6k zq#{i;LNkB84#&E5glunNRQ|5F*;m@twABigD^TX7V+&#MW8|)*!7;0;J6nQa$C2yB z@>KJ-krg^_@eeyj_b&^PmkrHBY%dJd2VSUI_?ORUH;MP}8C9Rk0t0d^^mSVGI{CP2 zGS$vzs5L2NAnRo@Z2Hb}G|kg?IwWJ(Szw|ySG^YB-{G68Rsn2wR%O|Dw+8sf)SmGV z*h(Tog|NaYV4K;VE>OSiJX*S=Nl|uji{D_YsB>n|0s|l1&piL>kjwdJGW8ZeCTduy zQUjZ!ssxxwjR?7*^BZ0@&7QvA3@#p{CI*6QRv@$aI8HYh_K*=fy<7+$6?aYG%BOT8 z@;G3rJEb|4SPQJ@0Dns(lX=SXB<;a*#{?>^xQ}(PaVgo|yE?4_>FXenF&&iGQL}?_ zBTi5WkDDFSD^NaiFI_tt?5#Yl(@s{IdHN>2(r(g<=xff$vl%be8Sg3U>5m3dGuM^7 zx0Q;)F6Mq-E*v(!mUXYpn?3S7C-vEG4vX0`L<4Zo9|H%<9LfUR^Vg>p#`I4OnaI*} zc&*!QXcYY8p3D%Qe2;9mz^9)HajAF#2eofo*{zY(ui3Z@Cn&IIs z$8U0R(e-LeY)}o9l+oSll+fyuXC03=Tf{rOFfy1J>*-pt*$dvsKN7UkWE>Y93oP554V1n5$r7t25`$$;ddVH)lE6&4reUKgVl)x%d_`uqIGO|upE@b(+2 zAbXMepgzJ8v@cscW#izPcd9(nT5ATzrXNRrAFC&x`mM}RLU;ea4Avk{r}KApOGMWQ z_+B2hUQ3t0yG0Ub-*nmIUMViO*|NkA_(-J=lh`37{8-AbHLmUF@V{+Etk@&qRHFnx zhf~u7-6HK@M>Ib0{1sw~{q|yEva9gT=O=Cq9R67qT+e=S;(?*+_jFHv_g=tddV2fw z-aao%>DWV`KNf%I3R|1xpP467*1Y=`09HeZm=T&p)0e5)F|sh$FHH>E&#Jk_C`C;v zORLgg&1ZUA1LglV@&ura>X61DScS)^oE`Bq&LQGp*SRHaubU>_nPk;4RsE*=@vI$M z7q_a&kts_&J!-a*>fF~zV=3SD)-l65KDIHJ@OzBdz_pasPH^3i7ZYDbh-y9&G;2+4 zDt)3Pe!b;Zisj4p*+bW0==xq$GRK+F3SwchECvZn{*K5y@Mr4(R5F?R*+vrvc7ojQ zTtP(xLZ^&K4^b)Kqg;*f?#$85YwW4Qjh{$%uYBEjrRm8H_vd~ObJrVtFuTyPxjr&1 zn<@Zy!n6AhTD?oDwAv;qXy{>3=`QWj>=`W+hqbE@BcE_qu_$vC``HV$Wc2V3hN+fb zTZBsF*SHyx>IY8PB71ZwJ8IJ=44Ufp`coxEI>HVf_Qyyk`g6@g$PWD%5D(sC{VP#; zp%rkM;!wOXEvn_)8%V{9A8t8IT418|RB|fa;=>NC0_6O13)Hr!qx>p{^}B_jOK7Kk zhatRwsjl|o_(Pk9a&*M$_+nk^goc5_L9P!cYwx9}h%-&h(4xxsKL@79x$iQ?L6FHi zAZJCT1L~Ol+jD%ZzitZCGl4E%?E>!>Z8Q*uFiMAta_^Fph;yb`iWOmgu8JfyT5T{{wp*BBZ z&5YGiN}YXyPO9s&%1G02{~fcgKs7`^Uyg+2R3n#w!zC4qG7dGoKN8qZx+#cinnXG2 zH-_T|<=%oj%}Jr1uxG7`-dUTXVYDa7M}axctcLN zBE=`Nug4GF*g}3CEUh&OE6yDMSv7fj9g{lCZJ+Fr=k9zvb#>W+Fy&u&C^mz z{&`P&`W1SC`DYl-K8L2&wf4s>X~3!YKd+Cor2fQZsT@h zFg|anP9%+g)kR3~;6edHOB=X5Gav}*^H#TrXlp2C*}%#|)3-aO8mMsE6Qe@Kd)GYB zTBJzOk-zZNLO zun6`PK;DrMIw3D<-Kt#9OB!Sai=@cbAnRnxmaJnLB1_#GgmIf0LncF(8Db1G2!oz8^juf{0nhXK@tp5D-|zSO ze$Mr|&inPb-jKKXS6${`*8_jgqe@#*MwdjTG(k~Omqfn>M9gN}NIMvUBYt3`Jz+!j zAroFOupp=y#S5;LYp$-HJFMXX+rP(9!l7J|HNUYJv?TXwC`%=?UthM&WT?KYBtJdv zQHd=$I4KqfYpxdVYh3ZM;*Px+a&4{ zRmN;}PgE0mfDqL^$Lk~7L}jrcqK1uyDi+ktu7#~&jqqU=aM-Z}Vh$kRK-ac=N^Z{_y43z$HLeGqb>9Gk)3b3LzPsW4Hp2hpZ^`# zPvx26khPC+#L7kj`BZwRzZ1-9keZB53j2%nZU+vT{h}!q?*tU98pE3e$Q#(&?J$(( zJy03q(c)eg@6m{p6ZFbsm^)y#=TBwz92^_18Gjj^|IpNT`*Y91rP-mV$P;&}{~ER$ z9v#{TY1CGnk(dwnXbD<++&5V^GSF6w@JYphH;7Zi; z0)$GrwT@(T^uX712(Se?*MSaiu3m>|LN#5-p;IsaI1QkX)6e_1Xq6ka<|k*#>CX zH8I6&#bL>#h=_y=&%>_vZR>x}*gLk1!t*_z;zq8trzr^AV>o=|1+U`j>zW!8eAZgw z#-Tk>9OS5pai2Z-(TuEfU5q#$-jjUx4y_thFlql}Mmy8!l7NO+=SVH=?(t2|Ku^wW zu{$%!zVmpfsM?{wA zkUNLFvp0ckLMW%oVIy2?kOouf8G5xfMD1brAHoig4cw?pQ)hP9ExZnb&_gsRf_$m$ zwb7*4$kbLEo^DvH{F-atK| zN6_hU(momFu9ec&`(d23Q`9qrHN-~1hSYthHA#n&djINzT2Rd8HA zNF6=|_k%Ic@2Du_W7REJ*)#&{r*7j&`L?kwZzE0C-9*^s7BON(H5m(6ovt4%TQ@VQ zRRg;hXmzLi+ef4hc#GG%?1#(3O6`^fm5MxU%EYm1g$(C7_Q_A4*3jhKE57W(Pxv6K_J2&^#+`ACfBT)3U4y)wZ+h`DTE&|8-bc z84%^|NbTwG&Z%Y-or+ccD{|bvB%vQJ@2V8Z9v>(NB?7GIaYGjqQ*d9yS_`Be8u$46 z$>nVMZGPrjl3~O@XGg*W3(Tt1y+xMenjoc%pIR@uNWUB#6IAA|fKu~s11 z(dH+91KB{-0+W-cVb#s%KmL%-O#!Rmuw{PqaykXB-DRLf{<)_mPX>WS(W+djY^Y zV;L>N4Z&Yl>7lNHPYqN{O^Hnu^n>=h$ZxZ?3iXT6|5 zyQ%>Dd~+H29Co5a6d;&8QDFWvYk+fC<{r&X{C@@`e~8?k&KeWHnU}Z=2(v4Y%N54Z G=>Gs4<{lFO literal 25600 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 I`n_lW1xFK9-2eap